| @@ -6897,5 +6897,20 @@ TEST_F(UtestFormatTransferFracZHwcn, fp16_1c_1n_pad_cn) { | |||||
| EXPECT_EQ((reinterpret_cast<uint16_t *>(result.data.get()))[i], ret[i]); | EXPECT_EQ((reinterpret_cast<uint16_t *>(result.data.get()))[i], ret[i]); | ||||
| } | } | ||||
| } | } | ||||
| TEST_F(UtestFormatTransferFracZHwcn, fracz_to_hwcn_fp16_success_with_groups) { | |||||
| uint16_t data_4d[2 * 2 * 2 * 2] = {1}; | |||||
| uint16_t data[1 * 1 * 1 * 2 *2 * 16 *16] = {1024}; | |||||
| int64_t groups = 1; | |||||
| TransArgs args{ | |||||
| reinterpret_cast<uint8_t *>(data_4d), FORMAT_FRACTAL_Z, FORMAT_HWCN, {1, 1, 1, 2, 2, 16, 6}, {2, 2, 2, 2}, DT_FLOAT16 ,groups}; | |||||
| TransResult result; | |||||
| FormatTransferFracZHwcn transfer; | |||||
| EXPECT_EQ(transfer.TransFormat(args, result), SUCCESS); | |||||
| EXPECT_EQ(result.length, sizeof(data)); | |||||
| for (int i = 0; i < sizeof(data) / sizeof(data[0]); ++i) { | |||||
| EXPECT_EQ((reinterpret_cast<uint16_t *>(result.data.get()))[i], data[i]); | |||||
| } | |||||
| } | |||||
| } // namespace formats | } // namespace formats | ||||
| } // namespace ge | } // namespace ge | ||||