*/
#include <ne-data.h>
+#include <ne-model.h>
#include "ne_unittest_utils.h"
#include <npubinfmt.h>
}
/**
+ * @brief Test quantize() with various types (dummy)
+ */
+TEST (ne_core_data_test, dummy_quantize) {
+ data_type npu_types[] = {DATA_TYPE_SRNPU, DATA_TYPE_QASYMM8,
+ DATA_TYPE_QSYMM16};
+ data_type std_types[] = {
+ DATA_TYPE_INT8, DATA_TYPE_UINT8, DATA_TYPE_INT16, DATA_TYPE_UINT16,
+ DATA_TYPE_INT32, DATA_TYPE_UINT32, DATA_TYPE_INT64, DATA_TYPE_UINT64,
+ DATA_TYPE_FLOAT32, DATA_TYPE_FLOAT64};
+ uint32_t data_dims[] = {1, 1, 1, 1024};
+
+ void *src_data = malloc (4096);
+ void *dst_data = malloc (4096);
+
+ ASSERT_NE (src_data, nullptr);
+ ASSERT_NE (dst_data, nullptr);
+
+ /* std to npu */
+ std::unique_ptr<DataConverter> converter (new DataConverter (true));
+
+ converter->setDataLayout (DATA_LAYOUT_TRIV2, DATA_LAYOUT_TRIV2);
+ converter->setDataDims (data_dims);
+ converter->setTops (2);
+ converter->setQuantZero (127);
+ converter->setQuantScale (1.0);
+
+ for (auto &s : std_types) {
+ converter->setData (src_data, dst_data, get_data_size (s));
+ for (auto &n : npu_types) {
+ converter->setDataType (s, n);
+ converter->perform ();
+ }
+ }
+
+ /* npu to std */
+ converter.reset (new DataConverter (false));
+
+ converter->setDataLayout (DATA_LAYOUT_TRIV2, DATA_LAYOUT_TRIV2);
+ converter->setDataDims (data_dims);
+ converter->setTops (2);
+ converter->setQuantZero (127);
+ converter->setQuantScale (1.0);
+
+ for (auto &n : npu_types) {
+ converter->setData (src_data, dst_data, get_data_size (n));
+ for (auto &s : std_types) {
+ converter->setDataType (n, s);
+ converter->perform ();
+ }
+ }
+
+ free (src_data);
+ free (dst_data);
+}
+
+/**
* @brief main function for unit test
*/
int