diff --git a/neuralnetworks/1.2/types.hal b/neuralnetworks/1.2/types.hal index 45476eec3d..4ab0c24ed8 100644 --- a/neuralnetworks/1.2/types.hal +++ b/neuralnetworks/1.2/types.hal @@ -40,7 +40,7 @@ enum OperandType : @1.0::OperandType { * scale is a 32 bit floating point with value greater then zero. */ TENSOR_QUANT16_SYMM = 7, - /** A tensor of 16 bit floating point values. */ + /** A tensor of IEEE 754 16 bit floating point values. */ TENSOR_FLOAT16 = 8, /** * A tensor of 8 bit boolean values. @@ -49,6 +49,8 @@ enum OperandType : @1.0::OperandType { * represents false; any other value represents true. */ TENSOR_BOOL8 = 9, + /** An IEEE 754 16 bit floating point scalar value. */ + FLOAT16 = 10, /* ADDING A NEW FUNDAMENTAL TYPE REQUIRES UPDATING THE VALUE OF * OperandTypeRange::OPERAND_FUNDAMENTAL_MAX. */ @@ -62,7 +64,7 @@ enum OperandType : @1.0::OperandType { */ enum OperandTypeRange : uint32_t { OPERAND_FUNDAMENTAL_MIN = 0, - OPERAND_FUNDAMENTAL_MAX = 9, + OPERAND_FUNDAMENTAL_MAX = 10, OPERAND_OEM_MIN = 10000, OPERAND_OEM_MAX = 10001, }; diff --git a/neuralnetworks/1.2/vts/functional/ValidateModel.cpp b/neuralnetworks/1.2/vts/functional/ValidateModel.cpp index 294415bc1b..3fadd480f3 100644 --- a/neuralnetworks/1.2/vts/functional/ValidateModel.cpp +++ b/neuralnetworks/1.2/vts/functional/ValidateModel.cpp @@ -152,6 +152,7 @@ static void mutateOperandTypeTest(const sp& device, const Model& model) static uint32_t getInvalidRank(OperandType type) { switch (type) { + case OperandType::FLOAT16: case OperandType::FLOAT32: case OperandType::INT32: case OperandType::UINT32: @@ -183,6 +184,7 @@ static void mutateOperandRankTest(const sp& device, const Model& model) static float getInvalidScale(OperandType type) { switch (type) { + case OperandType::FLOAT16: case OperandType::FLOAT32: case OperandType::INT32: case OperandType::UINT32: @@ -215,6 +217,7 @@ static void mutateOperandScaleTest(const sp& device, const Model& model static std::vector getInvalidZeroPoints(OperandType type) { switch (type) { + case OperandType::FLOAT16: case OperandType::FLOAT32: case OperandType::INT32: case OperandType::UINT32: @@ -258,6 +261,7 @@ static void mutateOperand(Operand* operand, OperandType type) { Operand newOperand = *operand; newOperand.type = type; switch (type) { + case OperandType::FLOAT16: case OperandType::FLOAT32: case OperandType::INT32: case OperandType::UINT32: