Adds symbolic min/max values for type enums.
am: 9233dbedcc
Change-Id: Ic98ceb3b29f27138e30e9206b0dd9af8c9109dc5
diff --git a/neuralnetworks/1.2/types.hal b/neuralnetworks/1.2/types.hal
index 10aed2a..366e626 100644
--- a/neuralnetworks/1.2/types.hal
+++ b/neuralnetworks/1.2/types.hal
@@ -47,6 +47,18 @@
};
/**
+ * The range of values in the OperandType enum.
+ *
+ * THE MAX VALUES MUST BE UPDATED WHEN ADDING NEW TYPES to the OperandType enum.
+ */
+enum OperandTypeRange : uint32_t {
+ OPERAND_FUNDAMENTAL_MIN = 0,
+ OPERAND_FUNDAMENTAL_MAX = 8,
+ OPERAND_OEM_MIN = 10000,
+ OPERAND_OEM_MAX = 10001,
+};
+
+/**
* Operation types.
*
* The type of an operation in a model.
@@ -108,6 +120,18 @@
};
/**
+ * The range of values in the OperationType enum.
+ *
+ * THE MAX VALUES MUST BE UPDATED WHEN ADDING NEW TYPES to the OperationType enum.
+ */
+enum OperationTypeRange : uint32_t {
+ OPERATION_FUNDAMENTAL_MIN = 0,
+ OPERATION_FUNDAMENTAL_MAX = 87,
+ OPERATION_OEM_MIN = 10000,
+ OPERATION_OEM_MAX = 10000,
+};
+
+/**
* Describes one operation of the model's graph.
*/
struct Operation {
diff --git a/neuralnetworks/1.2/vts/functional/ValidateModel.cpp b/neuralnetworks/1.2/vts/functional/ValidateModel.cpp
index b840199..3096028 100644
--- a/neuralnetworks/1.2/vts/functional/ValidateModel.cpp
+++ b/neuralnetworks/1.2/vts/functional/ValidateModel.cpp
@@ -128,16 +128,16 @@
///////////////////////// VALIDATE MODEL OPERAND TYPE /////////////////////////
-static const int32_t invalidOperandTypes[] = {
- static_cast<int32_t>(OperandType::FLOAT32) - 1, // lower bound fundamental
- static_cast<int32_t>(OperandType::TENSOR_QUANT16_ASYMM) + 1, // upper bound fundamental
- static_cast<int32_t>(OperandType::OEM) - 1, // lower bound OEM
- static_cast<int32_t>(OperandType::TENSOR_OEM_BYTE) + 1, // upper bound OEM
+static const uint32_t invalidOperandTypes[] = {
+ static_cast<uint32_t>(OperandTypeRange::OPERAND_FUNDAMENTAL_MIN) - 1,
+ static_cast<uint32_t>(OperandTypeRange::OPERAND_FUNDAMENTAL_MAX) + 1,
+ static_cast<uint32_t>(OperandTypeRange::OPERAND_OEM_MIN) - 1,
+ static_cast<uint32_t>(OperandTypeRange::OPERAND_OEM_MAX) + 1,
};
static void mutateOperandTypeTest(const sp<IDevice>& device, const Model& model) {
for (size_t operand = 0; operand < model.operands.size(); ++operand) {
- for (int32_t invalidOperandType : invalidOperandTypes) {
+ for (uint32_t invalidOperandType : invalidOperandTypes) {
const std::string message = "mutateOperandTypeTest: operand " +
std::to_string(operand) + " set to value " +
std::to_string(invalidOperandType);
@@ -329,16 +329,16 @@
///////////////////////// VALIDATE MODEL OPERATION TYPE /////////////////////////
-static const int32_t invalidOperationTypes[] = {
- static_cast<int32_t>(OperationType::ADD) - 1, // lower bound fundamental
- static_cast<int32_t>(OperationType::TRANSPOSE) + 1, // upper bound fundamental
- static_cast<int32_t>(OperationType::OEM_OPERATION) - 1, // lower bound OEM
- static_cast<int32_t>(OperationType::OEM_OPERATION) + 1, // upper bound OEM
+static const uint32_t invalidOperationTypes[] = {
+ static_cast<uint32_t>(OperationTypeRange::OPERATION_FUNDAMENTAL_MIN) - 1,
+ static_cast<uint32_t>(OperationTypeRange::OPERATION_FUNDAMENTAL_MAX) + 1,
+ static_cast<uint32_t>(OperationTypeRange::OPERATION_OEM_MIN) - 1,
+ static_cast<uint32_t>(OperationTypeRange::OPERATION_OEM_MAX) + 1,
};
static void mutateOperationTypeTest(const sp<IDevice>& device, const Model& model) {
for (size_t operation = 0; operation < model.operations.size(); ++operation) {
- for (int32_t invalidOperationType : invalidOperationTypes) {
+ for (uint32_t invalidOperationType : invalidOperationTypes) {
const std::string message = "mutateOperationTypeTest: operation " +
std::to_string(operation) + " set to value " +
std::to_string(invalidOperationType);