| 125 | } |
| 126 | |
| 127 | size_t GetBytesNumFromOperandType(const OperandType &operand_type) { |
| 128 | size_t element_size; |
| 129 | switch (operand_type.type) { |
| 130 | case Type::TENSOR_BOOL8: |
| 131 | element_size = 1; |
| 132 | break; |
| 133 | case Type::TENSOR_FLOAT16: |
| 134 | element_size = 2; |
| 135 | break; |
| 136 | case Type::TENSOR_FLOAT32: |
| 137 | element_size = 4; |
| 138 | break; |
| 139 | case Type::TENSOR_INT32: |
| 140 | element_size = 4; |
| 141 | break; |
| 142 | case Type::TENSOR_QUANT8_SYMM_PER_CHANNEL: |
| 143 | element_size = 1; |
| 144 | break; |
| 145 | case Type::TENSOR_QUANT8_ASYMM: |
| 146 | element_size = 1; |
| 147 | break; |
| 148 | case Type::TENSOR_QUANT16_SYMM: |
| 149 | element_size = 2; |
| 150 | break; |
| 151 | case Type::TENSOR_QUANT16_ASYMM: |
| 152 | element_size = 2; |
| 153 | break; |
| 154 | default: |
| 155 | throw std::invalid_argument("Wrong type: " + |
| 156 | typeToStr(operand_type.type)); |
| 157 | } |
| 158 | return Product(operand_type.dimensions) * element_size; |
| 159 | } |
| 160 | |
| 161 | /** |
| 162 | * @brief Add NNAPI operand from `buffer`, the memory pointed |
no test coverage detected