1 /* 2 * Copyright (C) 2019 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 #include <android/hardware/neuralnetworks/1.3/types.h> 18 #include "TestHarness.h" 19 20 namespace android::hardware::neuralnetworks::V1_3 { 21 22 // Make sure that the HIDL enums are compatible with the values defined in 23 // frameworks/ml/nn/tools/test_generator/test_harness/include/TestHarness.h. 24 using namespace test_helper; 25 #define CHECK_TEST_ENUM(EnumType, enumValue) \ 26 static_assert(static_cast<EnumType>(Test##EnumType::enumValue) == EnumType::enumValue) 27 28 CHECK_TEST_ENUM(OperandType, FLOAT32); 29 CHECK_TEST_ENUM(OperandType, INT32); 30 CHECK_TEST_ENUM(OperandType, UINT32); 31 CHECK_TEST_ENUM(OperandType, TENSOR_FLOAT32); 32 CHECK_TEST_ENUM(OperandType, TENSOR_INT32); 33 CHECK_TEST_ENUM(OperandType, TENSOR_QUANT8_ASYMM); 34 CHECK_TEST_ENUM(OperandType, BOOL); 35 CHECK_TEST_ENUM(OperandType, TENSOR_QUANT16_SYMM); 36 CHECK_TEST_ENUM(OperandType, TENSOR_FLOAT16); 37 CHECK_TEST_ENUM(OperandType, TENSOR_BOOL8); 38 CHECK_TEST_ENUM(OperandType, FLOAT16); 39 CHECK_TEST_ENUM(OperandType, TENSOR_QUANT8_SYMM_PER_CHANNEL); 40 CHECK_TEST_ENUM(OperandType, TENSOR_QUANT16_ASYMM); 41 CHECK_TEST_ENUM(OperandType, TENSOR_QUANT8_SYMM); 42 CHECK_TEST_ENUM(OperandType, TENSOR_QUANT8_ASYMM_SIGNED); 43 44 CHECK_TEST_ENUM(OperationType, ADD); 45 CHECK_TEST_ENUM(OperationType, AVERAGE_POOL_2D); 46 CHECK_TEST_ENUM(OperationType, CONCATENATION); 47 CHECK_TEST_ENUM(OperationType, CONV_2D); 48 CHECK_TEST_ENUM(OperationType, DEPTHWISE_CONV_2D); 49 CHECK_TEST_ENUM(OperationType, DEPTH_TO_SPACE); 50 CHECK_TEST_ENUM(OperationType, DEQUANTIZE); 51 CHECK_TEST_ENUM(OperationType, EMBEDDING_LOOKUP); 52 CHECK_TEST_ENUM(OperationType, FLOOR); 53 CHECK_TEST_ENUM(OperationType, FULLY_CONNECTED); 54 CHECK_TEST_ENUM(OperationType, HASHTABLE_LOOKUP); 55 CHECK_TEST_ENUM(OperationType, L2_NORMALIZATION); 56 CHECK_TEST_ENUM(OperationType, L2_POOL_2D); 57 CHECK_TEST_ENUM(OperationType, LOCAL_RESPONSE_NORMALIZATION); 58 CHECK_TEST_ENUM(OperationType, LOGISTIC); 59 CHECK_TEST_ENUM(OperationType, LSH_PROJECTION); 60 CHECK_TEST_ENUM(OperationType, LSTM); 61 CHECK_TEST_ENUM(OperationType, MAX_POOL_2D); 62 CHECK_TEST_ENUM(OperationType, MUL); 63 CHECK_TEST_ENUM(OperationType, RELU); 64 CHECK_TEST_ENUM(OperationType, RELU1); 65 CHECK_TEST_ENUM(OperationType, RELU6); 66 CHECK_TEST_ENUM(OperationType, RESHAPE); 67 CHECK_TEST_ENUM(OperationType, RESIZE_BILINEAR); 68 CHECK_TEST_ENUM(OperationType, RNN); 69 CHECK_TEST_ENUM(OperationType, SOFTMAX); 70 CHECK_TEST_ENUM(OperationType, SPACE_TO_DEPTH); 71 CHECK_TEST_ENUM(OperationType, SVDF); 72 CHECK_TEST_ENUM(OperationType, TANH); 73 CHECK_TEST_ENUM(OperationType, BATCH_TO_SPACE_ND); 74 CHECK_TEST_ENUM(OperationType, DIV); 75 CHECK_TEST_ENUM(OperationType, MEAN); 76 CHECK_TEST_ENUM(OperationType, PAD); 77 CHECK_TEST_ENUM(OperationType, SPACE_TO_BATCH_ND); 78 CHECK_TEST_ENUM(OperationType, SQUEEZE); 79 CHECK_TEST_ENUM(OperationType, STRIDED_SLICE); 80 CHECK_TEST_ENUM(OperationType, SUB); 81 CHECK_TEST_ENUM(OperationType, TRANSPOSE); 82 CHECK_TEST_ENUM(OperationType, ABS); 83 CHECK_TEST_ENUM(OperationType, ARGMAX); 84 CHECK_TEST_ENUM(OperationType, ARGMIN); 85 CHECK_TEST_ENUM(OperationType, AXIS_ALIGNED_BBOX_TRANSFORM); 86 CHECK_TEST_ENUM(OperationType, BIDIRECTIONAL_SEQUENCE_LSTM); 87 CHECK_TEST_ENUM(OperationType, BIDIRECTIONAL_SEQUENCE_RNN); 88 CHECK_TEST_ENUM(OperationType, BOX_WITH_NMS_LIMIT); 89 CHECK_TEST_ENUM(OperationType, CAST); 90 CHECK_TEST_ENUM(OperationType, CHANNEL_SHUFFLE); 91 CHECK_TEST_ENUM(OperationType, DETECTION_POSTPROCESSING); 92 CHECK_TEST_ENUM(OperationType, EQUAL); 93 CHECK_TEST_ENUM(OperationType, EXP); 94 CHECK_TEST_ENUM(OperationType, EXPAND_DIMS); 95 CHECK_TEST_ENUM(OperationType, GATHER); 96 CHECK_TEST_ENUM(OperationType, GENERATE_PROPOSALS); 97 CHECK_TEST_ENUM(OperationType, GREATER); 98 CHECK_TEST_ENUM(OperationType, GREATER_EQUAL); 99 CHECK_TEST_ENUM(OperationType, GROUPED_CONV_2D); 100 CHECK_TEST_ENUM(OperationType, HEATMAP_MAX_KEYPOINT); 101 CHECK_TEST_ENUM(OperationType, INSTANCE_NORMALIZATION); 102 CHECK_TEST_ENUM(OperationType, LESS); 103 CHECK_TEST_ENUM(OperationType, LESS_EQUAL); 104 CHECK_TEST_ENUM(OperationType, LOG); 105 CHECK_TEST_ENUM(OperationType, LOGICAL_AND); 106 CHECK_TEST_ENUM(OperationType, LOGICAL_NOT); 107 CHECK_TEST_ENUM(OperationType, LOGICAL_OR); 108 CHECK_TEST_ENUM(OperationType, LOG_SOFTMAX); 109 CHECK_TEST_ENUM(OperationType, MAXIMUM); 110 CHECK_TEST_ENUM(OperationType, MINIMUM); 111 CHECK_TEST_ENUM(OperationType, NEG); 112 CHECK_TEST_ENUM(OperationType, NOT_EQUAL); 113 CHECK_TEST_ENUM(OperationType, PAD_V2); 114 CHECK_TEST_ENUM(OperationType, POW); 115 CHECK_TEST_ENUM(OperationType, PRELU); 116 CHECK_TEST_ENUM(OperationType, QUANTIZE); 117 CHECK_TEST_ENUM(OperationType, QUANTIZED_16BIT_LSTM); 118 CHECK_TEST_ENUM(OperationType, RANDOM_MULTINOMIAL); 119 CHECK_TEST_ENUM(OperationType, REDUCE_ALL); 120 CHECK_TEST_ENUM(OperationType, REDUCE_ANY); 121 CHECK_TEST_ENUM(OperationType, REDUCE_MAX); 122 CHECK_TEST_ENUM(OperationType, REDUCE_MIN); 123 CHECK_TEST_ENUM(OperationType, REDUCE_PROD); 124 CHECK_TEST_ENUM(OperationType, REDUCE_SUM); 125 CHECK_TEST_ENUM(OperationType, ROI_ALIGN); 126 CHECK_TEST_ENUM(OperationType, ROI_POOLING); 127 CHECK_TEST_ENUM(OperationType, RSQRT); 128 CHECK_TEST_ENUM(OperationType, SELECT); 129 CHECK_TEST_ENUM(OperationType, SIN); 130 CHECK_TEST_ENUM(OperationType, SLICE); 131 CHECK_TEST_ENUM(OperationType, SPLIT); 132 CHECK_TEST_ENUM(OperationType, SQRT); 133 CHECK_TEST_ENUM(OperationType, TILE); 134 CHECK_TEST_ENUM(OperationType, TOPK_V2); 135 CHECK_TEST_ENUM(OperationType, TRANSPOSE_CONV_2D); 136 CHECK_TEST_ENUM(OperationType, UNIDIRECTIONAL_SEQUENCE_LSTM); 137 CHECK_TEST_ENUM(OperationType, UNIDIRECTIONAL_SEQUENCE_RNN); 138 CHECK_TEST_ENUM(OperationType, RESIZE_NEAREST_NEIGHBOR); 139 140 #undef CHECK_TEST_ENUM 141 142 } // namespace android::hardware::neuralnetworks::V1_3 143