Loading neuralnetworks/aidl/utils/include/nnapi/hal/aidl/Utils.h +7 −0 Original line number Diff line number Diff line Loading @@ -26,6 +26,8 @@ #include <nnapi/Types.h> #include <nnapi/Validation.h> #include <type_traits> namespace aidl::android::hardware::neuralnetworks::utils { constexpr auto kDefaultPriority = Priority::MEDIUM; Loading Loading @@ -80,6 +82,11 @@ auto convertFromNonCanonical(const Type& nonCanonicalObject) return convert(NN_TRY(nn::convert(nonCanonicalObject))); } template <typename Type> constexpr std::underlying_type_t<Type> underlyingType(Type value) { return static_cast<std::underlying_type_t<Type>>(value); } nn::GeneralResult<Memory> clone(const Memory& memory); nn::GeneralResult<Request> clone(const Request& request); nn::GeneralResult<RequestMemoryPool> clone(const RequestMemoryPool& requestPool); Loading neuralnetworks/aidl/utils/src/Conversions.cpp +2 −5 Original line number Diff line number Diff line Loading @@ -57,10 +57,6 @@ while (UNLIKELY(value > std::numeric_limits<int32_t>::max())) return NN_ERROR() namespace { template <typename Type> constexpr std::underlying_type_t<Type> underlyingType(Type value) { return static_cast<std::underlying_type_t<Type>>(value); } constexpr int64_t kNoTiming = -1; Loading @@ -70,6 +66,7 @@ namespace android::nn { namespace { using ::aidl::android::hardware::common::NativeHandle; using ::aidl::android::hardware::neuralnetworks::utils::underlyingType; template <typename Input> using UnvalidatedConvertOutput = Loading Loading @@ -404,7 +401,7 @@ GeneralResult<SharedMemory> unvalidatedConvert(const aidl_hal::Memory& memory) { #endif // __ANDROID__ } } return NN_ERROR() << "Unrecognized Memory::Tag: " << memory.getTag(); return NN_ERROR() << "Unrecognized Memory::Tag: " << underlyingType(memory.getTag()); } GeneralResult<Timing> unvalidatedConvert(const aidl_hal::Timing& timing) { Loading neuralnetworks/aidl/utils/src/Utils.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -88,7 +88,7 @@ nn::GeneralResult<Memory> clone(const Memory& memory) { return Memory::make<Memory::Tag::hardwareBuffer>(std::move(handle)); } } return (NN_ERROR() << "Unrecognized Memory::Tag: " << memory.getTag()) return (NN_ERROR() << "Unrecognized Memory::Tag: " << underlyingType(memory.getTag())) . operator nn::GeneralResult<Memory>(); } Loading @@ -103,7 +103,7 @@ nn::GeneralResult<RequestMemoryPool> clone(const RequestMemoryPool& requestPool) } // Using explicit type conversion because std::variant inside the RequestMemoryPool confuses the // compiler. return (NN_ERROR() << "Unrecognized request pool tag: " << requestPool.getTag()) return (NN_ERROR() << "Unrecognized request pool tag: " << underlyingType(requestPool.getTag())) . operator nn::GeneralResult<RequestMemoryPool>(); } Loading Loading
neuralnetworks/aidl/utils/include/nnapi/hal/aidl/Utils.h +7 −0 Original line number Diff line number Diff line Loading @@ -26,6 +26,8 @@ #include <nnapi/Types.h> #include <nnapi/Validation.h> #include <type_traits> namespace aidl::android::hardware::neuralnetworks::utils { constexpr auto kDefaultPriority = Priority::MEDIUM; Loading Loading @@ -80,6 +82,11 @@ auto convertFromNonCanonical(const Type& nonCanonicalObject) return convert(NN_TRY(nn::convert(nonCanonicalObject))); } template <typename Type> constexpr std::underlying_type_t<Type> underlyingType(Type value) { return static_cast<std::underlying_type_t<Type>>(value); } nn::GeneralResult<Memory> clone(const Memory& memory); nn::GeneralResult<Request> clone(const Request& request); nn::GeneralResult<RequestMemoryPool> clone(const RequestMemoryPool& requestPool); Loading
neuralnetworks/aidl/utils/src/Conversions.cpp +2 −5 Original line number Diff line number Diff line Loading @@ -57,10 +57,6 @@ while (UNLIKELY(value > std::numeric_limits<int32_t>::max())) return NN_ERROR() namespace { template <typename Type> constexpr std::underlying_type_t<Type> underlyingType(Type value) { return static_cast<std::underlying_type_t<Type>>(value); } constexpr int64_t kNoTiming = -1; Loading @@ -70,6 +66,7 @@ namespace android::nn { namespace { using ::aidl::android::hardware::common::NativeHandle; using ::aidl::android::hardware::neuralnetworks::utils::underlyingType; template <typename Input> using UnvalidatedConvertOutput = Loading Loading @@ -404,7 +401,7 @@ GeneralResult<SharedMemory> unvalidatedConvert(const aidl_hal::Memory& memory) { #endif // __ANDROID__ } } return NN_ERROR() << "Unrecognized Memory::Tag: " << memory.getTag(); return NN_ERROR() << "Unrecognized Memory::Tag: " << underlyingType(memory.getTag()); } GeneralResult<Timing> unvalidatedConvert(const aidl_hal::Timing& timing) { Loading
neuralnetworks/aidl/utils/src/Utils.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -88,7 +88,7 @@ nn::GeneralResult<Memory> clone(const Memory& memory) { return Memory::make<Memory::Tag::hardwareBuffer>(std::move(handle)); } } return (NN_ERROR() << "Unrecognized Memory::Tag: " << memory.getTag()) return (NN_ERROR() << "Unrecognized Memory::Tag: " << underlyingType(memory.getTag())) . operator nn::GeneralResult<Memory>(); } Loading @@ -103,7 +103,7 @@ nn::GeneralResult<RequestMemoryPool> clone(const RequestMemoryPool& requestPool) } // Using explicit type conversion because std::variant inside the RequestMemoryPool confuses the // compiler. return (NN_ERROR() << "Unrecognized request pool tag: " << requestPool.getTag()) return (NN_ERROR() << "Unrecognized request pool tag: " << underlyingType(requestPool.getTag())) . operator nn::GeneralResult<RequestMemoryPool>(); } Loading