for (int i = 0; i < 4096; i += granularity) {
EXPECT_EQ (
- memcmp (src_data + i, dst_data + (granularity / 2) * (i / granularity),
- granularity / 2),
+ memcmp (src_data + i, dst_data + (granularity / 2) * (i / granularity), granularity / 2),
0);
EXPECT_EQ (memcmp (src_data + i + (granularity / 2),
- dst_data + (granularity / 2) * (i / granularity) + 2048,
- granularity / 2),
+ dst_data + (granularity / 2) * (i / granularity) + 2048, granularity / 2),
0);
}
/* check values */
for (int i = 0; i < 4096; i += granularity) {
EXPECT_EQ (
- memcmp (src_data + i, dst_data + (granularity / 2) * (i / granularity),
- granularity / 2),
+ memcmp (src_data + i, dst_data + (granularity / 2) * (i / granularity), granularity / 2),
0);
EXPECT_EQ (memcmp (src_data + i + (granularity / 2),
- dst_data + (granularity / 2) * (i / granularity) + 2048,
- granularity / 2),
+ dst_data + (granularity / 2) * (i / granularity) + 2048, granularity / 2),
0);
}
for (int i = 0; i < 4096; i += granularity) {
EXPECT_EQ (
- memcmp (src_data + i, dst_data + (granularity / 4) * (i / granularity),
- granularity / 4),
+ memcmp (src_data + i, dst_data + (granularity / 4) * (i / granularity), granularity / 4),
0);
EXPECT_EQ (memcmp (src_data + i + (granularity / 4),
- dst_data + (granularity / 4) * (i / granularity) + 1024,
- granularity / 4),
+ dst_data + (granularity / 4) * (i / granularity) + 1024, granularity / 4),
0);
EXPECT_EQ (memcmp (src_data + i + 2 * (granularity / 4),
- dst_data + (granularity / 4) * (i / granularity) + 2048,
- granularity / 4),
+ dst_data + (granularity / 4) * (i / granularity) + 2048, granularity / 4),
0);
EXPECT_EQ (memcmp (src_data + i + 3 * (granularity / 4),
- dst_data + (granularity / 4) * (i / granularity) + 3072,
- granularity / 4),
+ dst_data + (granularity / 4) * (i / granularity) + 3072, granularity / 4),
0);
}
* @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};
+ 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 *src_data = calloc (1, 4096);
ASSERT_NE (src_data, nullptr);
- void *dst_data = malloc (4096);
+ void *dst_data = calloc (1, 4096);
if (dst_data == nullptr) {
free (src_data);
ASSERT_NE (dst_data, nullptr);
for (int w = 0; w < W; w++) {
for (int c = 0; c < C; c++) {
std_offset = c + C * (w + W * (h + n * H));
- npu_offset =
- c % MPA_L + MPA_L * (w + W * (h + (n + c / MPA_L) * H));
+ npu_offset = c % MPA_L + MPA_L * (w + W * (h + (n + c / MPA_L) * H));
EXPECT_EQ (src_data[std_offset], dst_data[npu_offset]);
}
}
for (int w = 0; w < W; w++) {
for (int c = 0; c < C; c++) {
std_offset = c + C * (w + W * (h + n * H));
- npu_offset =
- (c % MPA_L) + MPA_L * (w + W * (h + (n + c / MPA_L) * H));
+ npu_offset = (c % MPA_L) + MPA_L * (w + W * (h + (n + c / MPA_L) * H));
EXPECT_EQ (src_data[npu_offset], dst_data[std_offset]);
}
}
for (int h = 0; h < H; h++) {
for (int w = 0; w < W; w++) {
std_offset = w + W * (h + H * (c + n * C));
- npu_offset =
- (c % MPA_L) + MPA_L * (w + W * (h + (n + c / MPA_L) * H));
+ npu_offset = (c % MPA_L) + MPA_L * (w + W * (h + (n + c / MPA_L) * H));
EXPECT_EQ (src_data[std_offset], dst_data[npu_offset]);
}
}
for (int h = 0; h < H; h++) {
for (int w = 0; w < W; w++) {
std_offset = w + W * (h + H * (c + n * C));
- npu_offset =
- (c % MPA_L) + MPA_L * (w + W * (h + (n + c / MPA_L) * H));
+ npu_offset = (c % MPA_L) + MPA_L * (w + W * (h + (n + c / MPA_L) * H));
EXPECT_EQ (src_data[npu_offset], dst_data[std_offset]);
}
}