// // Copyright © 2017 Arm Ltd. All rights reserved. // SPDX-License-Identifier: MIT // #include "VerificationHelpers.hpp" #include #include using namespace armnn; namespace armnnUtils { void CheckValidSize(std::initializer_list validInputCounts, size_t actualValue, const char* validExpr, const char* actualExpr, const CheckLocation& location) { bool isValid = std::any_of(validInputCounts.begin(), validInputCounts.end(), [&actualValue](size_t x) { return x == actualValue; } ); if (!isValid) { throw ParseException(fmt::format("{} = {} is not valid, not in {{}}. {}", actualExpr, actualValue, validExpr, location.AsString())); } } uint32_t NonNegative(const char* expr, int32_t value, const CheckLocation& location) { if (value < 0) { throw ParseException(fmt::format("'{}' must be non-negative, received: {} at {}", expr, value, location.AsString())); } else { return static_cast(value); } } int32_t VerifyInt32(const char* expr, int64_t value, const armnn::CheckLocation& location) { if (value < std::numeric_limits::min() || value > std::numeric_limits::max()) { throw ParseException(fmt::format("'{}' must should fit into a int32 (ArmNN don't support int64)," " received: {} at {}", expr, value, location.AsString())); } else { return static_cast(value); } } }// armnnUtils