diff options
Diffstat (limited to 'compiler/locomotiv/src/Node')
35 files changed, 251 insertions, 234 deletions
diff --git a/compiler/locomotiv/src/Node/AvgPool2D.cpp b/compiler/locomotiv/src/Node/AvgPool2D.cpp index ad603badf..5fdf1e725 100644 --- a/compiler/locomotiv/src/Node/AvgPool2D.cpp +++ b/compiler/locomotiv/src/Node/AvgPool2D.cpp @@ -129,7 +129,8 @@ nncc::core::ADT::tensor::Buffer<T> avgPool2D(const loco::AvgPool2D *avgpool2d, } } - assert(filter_ele_count > 0); + if (filter_ele_count <= 0) + throw std::runtime_error("The number of filter element must be greater than zero."); output_buf.at(Index({batch, out_y, out_x, channel})) = total / filter_ele_count; } } @@ -141,10 +142,12 @@ nncc::core::ADT::tensor::Buffer<T> avgPool2D(const loco::AvgPool2D *avgpool2d, } // namespace -namespace locomotiv +namespace { -void NodeExecution::execute(loco::AvgPool2D *avgpool2d) +using namespace locomotiv; + +void exectute_node(loco::AvgPool2D *avgpool2d) { auto ifm_data = annot_data(avgpool2d->ifm()); @@ -176,4 +179,11 @@ void NodeExecution::execute(loco::AvgPool2D *avgpool2d) annot_domain(avgpool2d, loco::Domain::Feature); } +} // namespace + +namespace locomotiv +{ + +void NodeExecution::execute(loco::AvgPool2D *avgpool2d) { exectute_node(avgpool2d); } + } // namespace locomotiv diff --git a/compiler/locomotiv/src/Node/AvgPool2D.test.cpp b/compiler/locomotiv/src/Node/AvgPool2D.test.cpp index 89e10a35e..f9863b47d 100644 --- a/compiler/locomotiv/src/Node/AvgPool2D.test.cpp +++ b/compiler/locomotiv/src/Node/AvgPool2D.test.cpp @@ -88,10 +88,10 @@ void run_test(const float *ifm, const float *expected_ofm, const Shape &ifm_shap for (nncc::core::ADT::tensor::IndexEnumerator e{ofm_shape}; e.valid(); e.advance()) { const auto &ind = e.current(); - ASSERT_FLOAT_EQ(avgpool2d_data->as_f32_bufptr()->at(ind), ofm_overlay.at(ind)); + ASSERT_FLOAT_EQ(ofm_overlay.at(ind), avgpool2d_data->as_f32_bufptr()->at(ind)); } - ASSERT_EQ(locomotiv::annot_domain(avgpool2d), loco::Domain::Feature); + ASSERT_EQ(loco::Domain::Feature, locomotiv::annot_domain(avgpool2d)); } } // namespace diff --git a/compiler/locomotiv/src/Node/BiasAdd.cpp b/compiler/locomotiv/src/Node/BiasAdd.cpp index 0724fb728..dfe32ca92 100644 --- a/compiler/locomotiv/src/Node/BiasAdd.cpp +++ b/compiler/locomotiv/src/Node/BiasAdd.cpp @@ -46,6 +46,8 @@ namespace locomotiv void NodeExecution::execute(loco::BiasAdd<loco::Domain::Tensor> *bias_add) { + validate(bias_add, "BiasAdd is nullptr"); + auto input_data = locomotiv::annot_data(bias_add->value()); auto bias_data = locomotiv::annot_data(bias_add->bias()); @@ -63,6 +65,8 @@ void NodeExecution::execute(loco::BiasAdd<loco::Domain::Tensor> *bias_add) void NodeExecution::execute(loco::BiasAdd<loco::Domain::Feature> *bias_add) { + validate(bias_add, "BiasAdd is nullptr"); + auto input_data = locomotiv::annot_data(bias_add->value()); auto bias_data = locomotiv::annot_data(bias_add->bias()); diff --git a/compiler/locomotiv/src/Node/BiasAdd.test.cpp b/compiler/locomotiv/src/Node/BiasAdd.test.cpp index 0ca826673..cba2d414a 100644 --- a/compiler/locomotiv/src/Node/BiasAdd.test.cpp +++ b/compiler/locomotiv/src/Node/BiasAdd.test.cpp @@ -107,16 +107,16 @@ TEST(NodeExecution_TensorBiasAdd, f32) // comparing the result ASSERT_NE(bias_add_data, nullptr); - ASSERT_EQ(bias_add_data->dtype(), loco::DataType::FLOAT32); - ASSERT_EQ(*(bias_add_data->shape()), Shape({1, 3, 3, 2})); + ASSERT_EQ(loco::DataType::FLOAT32, bias_add_data->dtype()); + ASSERT_EQ(Shape({1, 3, 3, 2}), *(bias_add_data->shape())); uint32_t n = 0; for (IndexEnumerator e{*(bias_add_data->shape())}; e.valid(); e.advance()) { - ASSERT_FLOAT_EQ(bias_add_data->as_f32_bufptr()->at(e.current()), out_val[n++]); + ASSERT_FLOAT_EQ(out_val[n++], bias_add_data->as_f32_bufptr()->at(e.current())); } - ASSERT_EQ(locomotiv::annot_domain(bias_add), loco::Domain::Tensor); + ASSERT_EQ(loco::Domain::Tensor, locomotiv::annot_domain(bias_add)); } /* @@ -191,14 +191,14 @@ TEST(NodeExecution_FeatureBiasAdd, f32) // comparing the result ASSERT_NE(bias_add_data, nullptr); - ASSERT_EQ(bias_add_data->dtype(), loco::DataType::FLOAT32); - ASSERT_EQ(*(bias_add_data->shape()), Shape({1, 3, 3, 2})); + ASSERT_EQ(loco::DataType::FLOAT32, bias_add_data->dtype()); + ASSERT_EQ(Shape({1, 3, 3, 2}), *(bias_add_data->shape())); uint32_t n = 0; for (IndexEnumerator e{*(bias_add_data->shape())}; e.valid(); e.advance()) { - ASSERT_FLOAT_EQ(bias_add_data->as_f32_bufptr()->at(e.current()), out_val[n++]); + ASSERT_FLOAT_EQ(out_val[n++], bias_add_data->as_f32_bufptr()->at(e.current())); } - ASSERT_EQ(locomotiv::annot_domain(feature_bias_add), loco::Domain::Feature); + ASSERT_EQ(loco::Domain::Feature, locomotiv::annot_domain(feature_bias_add)); } diff --git a/compiler/locomotiv/src/Node/BiasEncode.test.cpp b/compiler/locomotiv/src/Node/BiasEncode.test.cpp index 73e2af8a8..cdb255ccb 100644 --- a/compiler/locomotiv/src/Node/BiasEncode.test.cpp +++ b/compiler/locomotiv/src/Node/BiasEncode.test.cpp @@ -82,11 +82,11 @@ template <typename T> void test() auto bias_enc_data = locomotiv::annot_data(bias_enc); ASSERT_NE(bias_enc_data, nullptr); - ASSERT_EQ(bias_enc_data->dtype(), loco_dtype<T>()); - ASSERT_EQ(*(bias_enc_data->shape()), Shape{1}); - ASSERT_EQ(as_bufptr<T>(bias_enc_data)->at(Index{0}), pull_buf.at(Index{0})); + ASSERT_EQ(loco_dtype<T>(), bias_enc_data->dtype()); + ASSERT_EQ(Shape{1}, *(bias_enc_data->shape())); + ASSERT_EQ(pull_buf.at(Index{0}), as_bufptr<T>(bias_enc_data)->at(Index{0})); - ASSERT_EQ(locomotiv::annot_domain(bias_enc), loco::Domain::Bias); + ASSERT_EQ(loco::Domain::Bias, locomotiv::annot_domain(bias_enc)); } } // namespace diff --git a/compiler/locomotiv/src/Node/ConstGen.test.cpp b/compiler/locomotiv/src/Node/ConstGen.test.cpp index 838f4c11d..382cc77e1 100644 --- a/compiler/locomotiv/src/Node/ConstGen.test.cpp +++ b/compiler/locomotiv/src/Node/ConstGen.test.cpp @@ -53,16 +53,16 @@ TEST(NodeExecution_ConstGen, s32) // test auto data = locomotiv::annot_data(&constgen); ASSERT_NE(data, nullptr); - ASSERT_EQ(data->dtype(), loco::DataType::S32); - ASSERT_EQ(*data->shape(), Shape({2, 3})); - ASSERT_EQ(data->as_s32_bufptr()->at(Index{0, 0}), 0); - ASSERT_EQ(data->as_s32_bufptr()->at(Index{0, 1}), 1); - ASSERT_EQ(data->as_s32_bufptr()->at(Index{0, 2}), 2); - ASSERT_EQ(data->as_s32_bufptr()->at(Index{1, 0}), -3); - ASSERT_EQ(data->as_s32_bufptr()->at(Index{1, 1}), -4); - ASSERT_EQ(data->as_s32_bufptr()->at(Index{1, 2}), -5); - - ASSERT_EQ(locomotiv::annot_domain(&constgen), loco::Domain::Tensor); + ASSERT_EQ(loco::DataType::S32, data->dtype()); + ASSERT_EQ(Shape({2, 3}), *data->shape()); + ASSERT_EQ(0, data->as_s32_bufptr()->at(Index{0, 0})); + ASSERT_EQ(1, data->as_s32_bufptr()->at(Index{0, 1})); + ASSERT_EQ(2, data->as_s32_bufptr()->at(Index{0, 2})); + ASSERT_EQ(-3, data->as_s32_bufptr()->at(Index{1, 0})); + ASSERT_EQ(-4, data->as_s32_bufptr()->at(Index{1, 1})); + ASSERT_EQ(-5, data->as_s32_bufptr()->at(Index{1, 2})); + + ASSERT_EQ(loco::Domain::Tensor, locomotiv::annot_domain(&constgen)); } TEST(NodeExecution_ConstGen, f32) @@ -87,14 +87,14 @@ TEST(NodeExecution_ConstGen, f32) // test auto data = locomotiv::annot_data(&constgen); ASSERT_NE(data, nullptr); - ASSERT_EQ(data->dtype(), loco::DataType::FLOAT32); - ASSERT_EQ(*data->shape(), Shape({2, 3})); - ASSERT_FLOAT_EQ(data->as_f32_bufptr()->at(Index{0, 0}), 0.0f); - ASSERT_FLOAT_EQ(data->as_f32_bufptr()->at(Index{0, 1}), 1.0f); - ASSERT_FLOAT_EQ(data->as_f32_bufptr()->at(Index{0, 2}), 2.0f); - ASSERT_FLOAT_EQ(data->as_f32_bufptr()->at(Index{1, 0}), 3.0f); - ASSERT_FLOAT_EQ(data->as_f32_bufptr()->at(Index{1, 1}), 4.0f); - ASSERT_FLOAT_EQ(data->as_f32_bufptr()->at(Index{1, 2}), 5.0f); - - ASSERT_EQ(locomotiv::annot_domain(&constgen), loco::Domain::Tensor); + ASSERT_EQ(loco::DataType::FLOAT32, data->dtype()); + ASSERT_EQ(Shape({2, 3}), *data->shape()); + ASSERT_FLOAT_EQ(0.0f, data->as_f32_bufptr()->at(Index{0, 0})); + ASSERT_FLOAT_EQ(1.0f, data->as_f32_bufptr()->at(Index{0, 1})); + ASSERT_FLOAT_EQ(2.0f, data->as_f32_bufptr()->at(Index{0, 2})); + ASSERT_FLOAT_EQ(3.0f, data->as_f32_bufptr()->at(Index{1, 0})); + ASSERT_FLOAT_EQ(4.0f, data->as_f32_bufptr()->at(Index{1, 1})); + ASSERT_FLOAT_EQ(5.0f, data->as_f32_bufptr()->at(Index{1, 2})); + + ASSERT_EQ(loco::Domain::Tensor, locomotiv::annot_domain(&constgen)); } diff --git a/compiler/locomotiv/src/Node/Conv2D.test.cpp b/compiler/locomotiv/src/Node/Conv2D.test.cpp index 83d7fc268..66e947acc 100644 --- a/compiler/locomotiv/src/Node/Conv2D.test.cpp +++ b/compiler/locomotiv/src/Node/Conv2D.test.cpp @@ -101,10 +101,10 @@ void run_test(const float *ifm, const float *ker, const float *expected_ofm, con for (nncc::core::ADT::tensor::IndexEnumerator e{ofm_shape}; e.valid(); e.advance()) { const auto &ind = e.current(); - ASSERT_FLOAT_EQ(conv2d_result->as_f32_bufptr()->at(ind), ofm_overlay.at(ind)); + ASSERT_FLOAT_EQ(ofm_overlay.at(ind), conv2d_result->as_f32_bufptr()->at(ind)); } - ASSERT_EQ(locomotiv::annot_domain(conv2d), loco::Domain::Feature); + ASSERT_EQ(loco::Domain::Feature, locomotiv::annot_domain(conv2d)); } } // namespace diff --git a/compiler/locomotiv/src/Node/DepthwiseConv2D.test.cpp b/compiler/locomotiv/src/Node/DepthwiseConv2D.test.cpp index 48824c2e0..1ff333be0 100644 --- a/compiler/locomotiv/src/Node/DepthwiseConv2D.test.cpp +++ b/compiler/locomotiv/src/Node/DepthwiseConv2D.test.cpp @@ -101,10 +101,10 @@ void run_test(const float *ifm, const float *ker, const float *expected_ofm, con for (nncc::core::ADT::tensor::IndexEnumerator e{ofm_shape}; e.valid(); e.advance()) { const auto &ind = e.current(); - ASSERT_FLOAT_EQ(dw_conv2d_result->as_f32_bufptr()->at(ind), ofm_overlay.at(ind)); + ASSERT_FLOAT_EQ(ofm_overlay.at(ind), dw_conv2d_result->as_f32_bufptr()->at(ind)); } - ASSERT_EQ(locomotiv::annot_domain(dw_conv2d), loco::Domain::Feature); + ASSERT_EQ(loco::Domain::Feature, locomotiv::annot_domain(dw_conv2d)); } } // namespace diff --git a/compiler/locomotiv/src/Node/DepthwiseFilterEncode.test.cpp b/compiler/locomotiv/src/Node/DepthwiseFilterEncode.test.cpp index db828c08b..5b2ec9326 100644 --- a/compiler/locomotiv/src/Node/DepthwiseFilterEncode.test.cpp +++ b/compiler/locomotiv/src/Node/DepthwiseFilterEncode.test.cpp @@ -77,14 +77,14 @@ TEST(NodeExecution_DepthwiseFilterEncode, f32) auto enc_data = locomotiv::annot_data(enc); ASSERT_NE(enc_data, nullptr); - ASSERT_EQ(enc_data->dtype(), loco::DataType::FLOAT32); - ASSERT_EQ(*(enc_data->shape()), (Shape{H, W, C, M})); // locomotiv depthwise filter is HWCM + ASSERT_EQ(loco::DataType::FLOAT32, enc_data->dtype()); + ASSERT_EQ((Shape{H, W, C, M}), *(enc_data->shape())); // locomotiv depthwise filter is HWCM auto enc_buf = enc_data->as_f32_bufptr(); for (uint32_t h = 0; h < H; ++h) for (uint32_t w = 0; w < W; ++w) for (uint32_t c = 0; c < C; ++c) for (uint32_t m = 0; m < M; ++m) - ASSERT_FLOAT_EQ(pull_buf.at(Index{m, h, w, c}), enc_buf->at(Index{h, w, c, m})); + ASSERT_FLOAT_EQ(enc_buf->at(Index{h, w, c, m}), pull_buf.at(Index{m, h, w, c})); - ASSERT_EQ(locomotiv::annot_domain(enc), loco::Domain::DepthwiseFilter); + ASSERT_EQ(loco::Domain::DepthwiseFilter, locomotiv::annot_domain(enc)); } diff --git a/compiler/locomotiv/src/Node/EltwiseAdd.test.cpp b/compiler/locomotiv/src/Node/EltwiseAdd.test.cpp index 2899dccdd..2873a6544 100644 --- a/compiler/locomotiv/src/Node/EltwiseAdd.test.cpp +++ b/compiler/locomotiv/src/Node/EltwiseAdd.test.cpp @@ -108,14 +108,14 @@ TEST(NodeExecution_EltwiseAdd, f32) // comparing the result ASSERT_NE(eltwise_add_data, nullptr); - ASSERT_EQ(eltwise_add_data->dtype(), loco::DataType::FLOAT32); - ASSERT_EQ(*(eltwise_add_data->shape()), Shape({1, 3, 3, 2})); + ASSERT_EQ(loco::DataType::FLOAT32, eltwise_add_data->dtype()); + ASSERT_EQ(Shape({1, 3, 3, 2}), *(eltwise_add_data->shape())); uint32_t n = 0; for (IndexEnumerator e{*(eltwise_add_data->shape())}; e.valid(); e.advance()) { - ASSERT_FLOAT_EQ(eltwise_add_data->as_f32_bufptr()->at(e.current()), out_val[n++]); + ASSERT_FLOAT_EQ(out_val[n++], eltwise_add_data->as_f32_bufptr()->at(e.current())); } - ASSERT_EQ(locomotiv::annot_domain(eltwise_add), loco::Domain::Tensor); + ASSERT_EQ(loco::Domain::Tensor, locomotiv::annot_domain(eltwise_add)); } diff --git a/compiler/locomotiv/src/Node/EltwiseDiv.test.cpp b/compiler/locomotiv/src/Node/EltwiseDiv.test.cpp index 60950c15b..cc5045073 100644 --- a/compiler/locomotiv/src/Node/EltwiseDiv.test.cpp +++ b/compiler/locomotiv/src/Node/EltwiseDiv.test.cpp @@ -108,14 +108,14 @@ TEST(NodeExecution_EltwiseDiv, f32) // comparing the result ASSERT_NE(eltwise_div_data, nullptr); - ASSERT_EQ(eltwise_div_data->dtype(), loco::DataType::FLOAT32); - ASSERT_EQ(*(eltwise_div_data->shape()), Shape({1, 3, 3, 2})); + ASSERT_EQ(loco::DataType::FLOAT32, eltwise_div_data->dtype()); + ASSERT_EQ(Shape({1, 3, 3, 2}), *(eltwise_div_data->shape())); uint32_t n = 0; for (IndexEnumerator e{*(eltwise_div_data->shape())}; e.valid(); e.advance()) { - ASSERT_FLOAT_EQ(eltwise_div_data->as_f32_bufptr()->at(e.current()), out_val[n++]); + ASSERT_FLOAT_EQ(out_val[n++], eltwise_div_data->as_f32_bufptr()->at(e.current())); } - ASSERT_EQ(locomotiv::annot_domain(eltwise_div), loco::Domain::Tensor); + ASSERT_EQ(loco::Domain::Tensor, locomotiv::annot_domain(eltwise_div)); } diff --git a/compiler/locomotiv/src/Node/EltwiseMax.test.cpp b/compiler/locomotiv/src/Node/EltwiseMax.test.cpp index c64db8994..94c398212 100644 --- a/compiler/locomotiv/src/Node/EltwiseMax.test.cpp +++ b/compiler/locomotiv/src/Node/EltwiseMax.test.cpp @@ -108,14 +108,14 @@ TEST(NodeExecution_EltwiseMax, f32) // comparing the result ASSERT_NE(eltwise_max_data, nullptr); - ASSERT_EQ(eltwise_max_data->dtype(), loco::DataType::FLOAT32); - ASSERT_EQ(*(eltwise_max_data->shape()), Shape({1, 3, 3, 2})); + ASSERT_EQ(loco::DataType::FLOAT32, eltwise_max_data->dtype()); + ASSERT_EQ(Shape({1, 3, 3, 2}), *(eltwise_max_data->shape())); uint32_t n = 0; for (IndexEnumerator e{*(eltwise_max_data->shape())}; e.valid(); e.advance()) { - ASSERT_FLOAT_EQ(eltwise_max_data->as_f32_bufptr()->at(e.current()), out_val[n++]); + ASSERT_FLOAT_EQ(out_val[n++], eltwise_max_data->as_f32_bufptr()->at(e.current())); } - ASSERT_EQ(locomotiv::annot_domain(eltwise_max), loco::Domain::Tensor); + ASSERT_EQ(loco::Domain::Tensor, locomotiv::annot_domain(eltwise_max)); } diff --git a/compiler/locomotiv/src/Node/EltwiseMul.test.cpp b/compiler/locomotiv/src/Node/EltwiseMul.test.cpp index b76888300..bbe51bce1 100644 --- a/compiler/locomotiv/src/Node/EltwiseMul.test.cpp +++ b/compiler/locomotiv/src/Node/EltwiseMul.test.cpp @@ -111,14 +111,14 @@ TEST(NodeExecution_EltwiseMul, f32) // comparing the result ASSERT_NE(eltwise_mul_data, nullptr); - ASSERT_EQ(eltwise_mul_data->dtype(), loco::DataType::FLOAT32); - ASSERT_EQ(*(eltwise_mul_data->shape()), Shape({1, 3, 3, 2})); + ASSERT_EQ(loco::DataType::FLOAT32, eltwise_mul_data->dtype()); + ASSERT_EQ(Shape({1, 3, 3, 2}), *(eltwise_mul_data->shape())); uint32_t n = 0; for (IndexEnumerator e{*(eltwise_mul_data->shape())}; e.valid(); e.advance()) { - ASSERT_FLOAT_EQ(eltwise_mul_data->as_f32_bufptr()->at(e.current()), out_val[n++]); + ASSERT_FLOAT_EQ(out_val[n++], eltwise_mul_data->as_f32_bufptr()->at(e.current())); } - ASSERT_EQ(locomotiv::annot_domain(eltwise_mul), loco::Domain::Tensor); + ASSERT_EQ(loco::Domain::Tensor, locomotiv::annot_domain(eltwise_mul)); } diff --git a/compiler/locomotiv/src/Node/EltwiseSqrt.test.cpp b/compiler/locomotiv/src/Node/EltwiseSqrt.test.cpp index adb1b853e..44d0ca654 100644 --- a/compiler/locomotiv/src/Node/EltwiseSqrt.test.cpp +++ b/compiler/locomotiv/src/Node/EltwiseSqrt.test.cpp @@ -58,12 +58,12 @@ TEST(NodeExecution_EltwiseSqrt, f32) auto sqrt_data = locomotiv::annot_data(sqrt); ASSERT_NE(sqrt_data, nullptr); - ASSERT_EQ(sqrt_data->dtype(), loco::DataType::FLOAT32); - ASSERT_EQ(*(sqrt_data->shape()), Shape{4}); - ASSERT_FLOAT_EQ(sqrt_data->as_f32_bufptr()->at(Index{0}), 2.0f); - ASSERT_FLOAT_EQ(sqrt_data->as_f32_bufptr()->at(Index{1}), 3.0f); - ASSERT_FLOAT_EQ(sqrt_data->as_f32_bufptr()->at(Index{2}), 0.0f); + ASSERT_EQ(loco::DataType::FLOAT32, sqrt_data->dtype()); + ASSERT_EQ(Shape{4}, *(sqrt_data->shape())); + ASSERT_FLOAT_EQ(2.0f, sqrt_data->as_f32_bufptr()->at(Index{0})); + ASSERT_FLOAT_EQ(3.0f, sqrt_data->as_f32_bufptr()->at(Index{1})); + ASSERT_FLOAT_EQ(0.0f, sqrt_data->as_f32_bufptr()->at(Index{2})); ASSERT_TRUE(std::isnan(sqrt_data->as_f32_bufptr()->at(Index{3}))); - ASSERT_EQ(locomotiv::annot_domain(sqrt), loco::Domain::Tensor); + ASSERT_EQ(loco::Domain::Tensor, locomotiv::annot_domain(sqrt)); } diff --git a/compiler/locomotiv/src/Node/EltwiseSub.test.cpp b/compiler/locomotiv/src/Node/EltwiseSub.test.cpp index 7eff90f9e..94dc9c9ad 100644 --- a/compiler/locomotiv/src/Node/EltwiseSub.test.cpp +++ b/compiler/locomotiv/src/Node/EltwiseSub.test.cpp @@ -108,14 +108,14 @@ TEST(NodeExecution_EltwiseSub, f32) // comparing the result ASSERT_NE(eltwise_sub_data, nullptr); - ASSERT_EQ(eltwise_sub_data->dtype(), loco::DataType::FLOAT32); - ASSERT_EQ(*(eltwise_sub_data->shape()), Shape({1, 3, 3, 2})); + ASSERT_EQ(loco::DataType::FLOAT32, eltwise_sub_data->dtype()); + ASSERT_EQ(Shape({1, 3, 3, 2}), *(eltwise_sub_data->shape())); uint32_t n = 0; for (IndexEnumerator e{*(eltwise_sub_data->shape())}; e.valid(); e.advance()) { - ASSERT_FLOAT_EQ(eltwise_sub_data->as_f32_bufptr()->at(e.current()), out_val[n++]); + ASSERT_FLOAT_EQ(out_val[n++], eltwise_sub_data->as_f32_bufptr()->at(e.current())); } - ASSERT_EQ(locomotiv::annot_domain(eltwise_sub), loco::Domain::Tensor); + ASSERT_EQ(loco::Domain::Tensor, locomotiv::annot_domain(eltwise_sub)); } diff --git a/compiler/locomotiv/src/Node/FeatureCodec.test.cpp b/compiler/locomotiv/src/Node/FeatureCodec.test.cpp index c35f0e69a..1b6b06c13 100644 --- a/compiler/locomotiv/src/Node/FeatureCodec.test.cpp +++ b/compiler/locomotiv/src/Node/FeatureCodec.test.cpp @@ -128,16 +128,16 @@ TEST_F(NodeExecution_FeatureCodec, s32) // Test FeatureEncode auto enc_data = locomotiv::annot_data(enc); ASSERT_NE(enc_data, nullptr); - ASSERT_EQ(enc_data->dtype(), loco::DataType::S32); - ASSERT_EQ(*(enc_data->shape()), (Shape{N, H, W, C})); // locomotiv feature is NHWC + ASSERT_EQ(loco::DataType::S32, enc_data->dtype()); + ASSERT_EQ((Shape{N, H, W, C}), *(enc_data->shape())); // locomotiv feature is NHWC auto enc_buf = enc_data->as_s32_bufptr(); for (uint32_t n = 0; n < N; ++n) for (uint32_t h = 0; h < H; ++h) for (uint32_t w = 0; w < W; ++w) for (uint32_t c = 0; c < C; ++c) - ASSERT_EQ(pull_buf.at(Index{n, c, h, w}), enc_buf->at(Index{n, h, w, c})); + ASSERT_EQ(enc_buf->at(Index{n, h, w, c}), pull_buf.at(Index{n, c, h, w})); - ASSERT_EQ(locomotiv::annot_domain(enc), loco::Domain::Feature); + ASSERT_EQ(loco::Domain::Feature, locomotiv::annot_domain(enc)); // FeatureDecode auto dec = feature_decode_layer(enc, NCHW); @@ -146,16 +146,16 @@ TEST_F(NodeExecution_FeatureCodec, s32) // Test FeatureDecode: Encode -> Decode == identity auto dec_data = locomotiv::annot_data(dec); ASSERT_NE(dec_data, nullptr); - ASSERT_EQ(dec_data->dtype(), loco::DataType::S32); - ASSERT_EQ(*(dec_data->shape()), (Shape{N, C, H, W})); + ASSERT_EQ(loco::DataType::S32, dec_data->dtype()); + ASSERT_EQ((Shape{N, C, H, W}), *(dec_data->shape())); auto dec_buf = dec_data->as_s32_bufptr(); for (uint32_t n = 0; n < N; ++n) for (uint32_t h = 0; h < H; ++h) for (uint32_t w = 0; w < W; ++w) for (uint32_t c = 0; c < C; ++c) - ASSERT_EQ(pull_buf.at(Index{n, c, h, w}), dec_buf->at(Index{n, c, h, w})); + ASSERT_EQ(dec_buf->at(Index{n, c, h, w}), pull_buf.at(Index{n, c, h, w})); - ASSERT_EQ(locomotiv::annot_domain(dec), loco::Domain::Tensor); + ASSERT_EQ(loco::Domain::Tensor, locomotiv::annot_domain(dec)); } TEST_F(NodeExecution_FeatureCodec, f32) @@ -192,16 +192,16 @@ TEST_F(NodeExecution_FeatureCodec, f32) // Test FeatureEncode auto enc_data = locomotiv::annot_data(enc); ASSERT_NE(enc_data, nullptr); - ASSERT_EQ(enc_data->dtype(), loco::DataType::FLOAT32); - ASSERT_EQ(*(enc_data->shape()), (Shape{N, H, W, C})); // locomotiv feature is NHWC + ASSERT_EQ(loco::DataType::FLOAT32, enc_data->dtype()); + ASSERT_EQ((Shape{N, H, W, C}), *(enc_data->shape())); // locomotiv feature is NHWC auto enc_buf = enc_data->as_f32_bufptr(); for (uint32_t n = 0; n < N; ++n) for (uint32_t h = 0; h < H; ++h) for (uint32_t w = 0; w < W; ++w) for (uint32_t c = 0; c < C; ++c) - ASSERT_FLOAT_EQ(pull_buf.at(Index{c, h, n, w}), enc_buf->at(Index{n, h, w, c})); + ASSERT_FLOAT_EQ(enc_buf->at(Index{n, h, w, c}), pull_buf.at(Index{c, h, n, w})); - ASSERT_EQ(locomotiv::annot_domain(enc), loco::Domain::Feature); + ASSERT_EQ(loco::Domain::Feature, locomotiv::annot_domain(enc)); // FeatureDecode auto dec = feature_decode_layer(enc, CHNW); @@ -210,14 +210,14 @@ TEST_F(NodeExecution_FeatureCodec, f32) // Test FeatureDecode: Encode -> Decode == identity auto dec_data = locomotiv::annot_data(dec); ASSERT_NE(dec_data, nullptr); - ASSERT_EQ(dec_data->dtype(), loco::DataType::FLOAT32); - ASSERT_EQ(*(dec_data->shape()), (Shape{C, H, N, W})); + ASSERT_EQ(loco::DataType::FLOAT32, dec_data->dtype()); + ASSERT_EQ((Shape{C, H, N, W}), *(dec_data->shape())); auto dec_buf = dec_data->as_f32_bufptr(); for (uint32_t n = 0; n < N; ++n) for (uint32_t h = 0; h < H; ++h) for (uint32_t w = 0; w < W; ++w) for (uint32_t c = 0; c < C; ++c) - ASSERT_FLOAT_EQ(pull_buf.at(Index{c, h, n, w}), dec_buf->at(Index{c, h, n, w})); + ASSERT_FLOAT_EQ(dec_buf->at(Index{c, h, n, w}), pull_buf.at(Index{c, h, n, w})); - ASSERT_EQ(locomotiv::annot_domain(dec), loco::Domain::Tensor); + ASSERT_EQ(loco::Domain::Tensor, locomotiv::annot_domain(dec)); } diff --git a/compiler/locomotiv/src/Node/FilterEncode.test.cpp b/compiler/locomotiv/src/Node/FilterEncode.test.cpp index 79b8308e2..dcca94993 100644 --- a/compiler/locomotiv/src/Node/FilterEncode.test.cpp +++ b/compiler/locomotiv/src/Node/FilterEncode.test.cpp @@ -77,16 +77,16 @@ TEST(NodeExecution_FilterEncode, s32) auto enc_data = locomotiv::annot_data(enc); ASSERT_NE(enc_data, nullptr); - ASSERT_EQ(enc_data->dtype(), loco::DataType::S32); - ASSERT_EQ(*(enc_data->shape()), (Shape{N, H, W, C})); // locomotiv filter is NHWC + ASSERT_EQ(loco::DataType::S32, enc_data->dtype()); + ASSERT_EQ((Shape{N, H, W, C}), *(enc_data->shape())); // locomotiv filter is NHWC auto enc_buf = enc_data->as_s32_bufptr(); for (uint32_t n = 0; n < N; ++n) for (uint32_t h = 0; h < H; ++h) for (uint32_t w = 0; w < W; ++w) for (uint32_t c = 0; c < C; ++c) - ASSERT_EQ(pull_buf.at(Index{n, c, h, w}), enc_buf->at(Index{n, h, w, c})); + ASSERT_EQ(enc_buf->at(Index{n, h, w, c}), pull_buf.at(Index{n, c, h, w})); - ASSERT_EQ(locomotiv::annot_domain(enc), loco::Domain::Filter); + ASSERT_EQ(loco::Domain::Filter, locomotiv::annot_domain(enc)); } TEST(NodeExecution_FilterEncode, f32) @@ -131,14 +131,14 @@ TEST(NodeExecution_FilterEncode, f32) auto enc_data = locomotiv::annot_data(enc); ASSERT_NE(enc_data, nullptr); - ASSERT_EQ(enc_data->dtype(), loco::DataType::FLOAT32); - ASSERT_EQ(*(enc_data->shape()), (Shape{N, H, W, C})); // locomotiv filter is NHWC + ASSERT_EQ(loco::DataType::FLOAT32, enc_data->dtype()); + ASSERT_EQ((Shape{N, H, W, C}), *(enc_data->shape())); // locomotiv filter is NHWC auto enc_buf = enc_data->as_f32_bufptr(); for (uint32_t n = 0; n < N; ++n) for (uint32_t h = 0; h < H; ++h) for (uint32_t w = 0; w < W; ++w) for (uint32_t c = 0; c < C; ++c) - ASSERT_FLOAT_EQ(pull_buf.at(Index{c, h, n, w}), enc_buf->at(Index{n, h, w, c})); + ASSERT_FLOAT_EQ(enc_buf->at(Index{n, h, w, c}), pull_buf.at(Index{c, h, n, w})); - ASSERT_EQ(locomotiv::annot_domain(enc), loco::Domain::Filter); + ASSERT_EQ(loco::Domain::Filter, locomotiv::annot_domain(enc)); } diff --git a/compiler/locomotiv/src/Node/Forward.test.cpp b/compiler/locomotiv/src/Node/Forward.test.cpp index 73d37139a..5116a9596 100644 --- a/compiler/locomotiv/src/Node/Forward.test.cpp +++ b/compiler/locomotiv/src/Node/Forward.test.cpp @@ -52,11 +52,11 @@ TEST(NodeExecution_Forward, s32) auto forward_data = locomotiv::annot_data(forward); ASSERT_NE(forward_data, nullptr); - ASSERT_EQ(forward_data->dtype(), loco::DataType::S32); - ASSERT_EQ(*(forward_data->shape()), Shape{1}); - ASSERT_EQ(forward_data->as_s32_bufptr()->at(Index{0}), pull_buf.at(Index{0})); + ASSERT_EQ(loco::DataType::S32, forward_data->dtype()); + ASSERT_EQ(Shape{1}, *(forward_data->shape())); + ASSERT_EQ(pull_buf.at(Index{0}), forward_data->as_s32_bufptr()->at(Index{0})); - ASSERT_EQ(locomotiv::annot_domain(forward), loco::Domain::Tensor); + ASSERT_EQ(loco::Domain::Tensor, locomotiv::annot_domain(forward)); } TEST(NodeExecution_Forward, f32) @@ -80,9 +80,9 @@ TEST(NodeExecution_Forward, f32) auto forward_data = locomotiv::annot_data(forward); ASSERT_NE(forward_data, nullptr); - ASSERT_EQ(forward_data->dtype(), loco::DataType::FLOAT32); - ASSERT_EQ(*(forward_data->shape()), Shape{1}); - ASSERT_FLOAT_EQ(forward_data->as_f32_bufptr()->at(Index{0}), pull_buf.at(Index{0})); + ASSERT_EQ(loco::DataType::FLOAT32, forward_data->dtype()); + ASSERT_EQ(Shape{1}, *(forward_data->shape())); + ASSERT_FLOAT_EQ(pull_buf.at(Index{0}), forward_data->as_f32_bufptr()->at(Index{0})); - ASSERT_EQ(locomotiv::annot_domain(forward), loco::Domain::Tensor); + ASSERT_EQ(loco::Domain::Tensor, locomotiv::annot_domain(forward)); } diff --git a/compiler/locomotiv/src/Node/MatMul.test.cpp b/compiler/locomotiv/src/Node/MatMul.test.cpp index bd480f7c7..f1f3a52d3 100644 --- a/compiler/locomotiv/src/Node/MatMul.test.cpp +++ b/compiler/locomotiv/src/Node/MatMul.test.cpp @@ -92,14 +92,14 @@ void run_test(const T *lhs, const T *rhs, const T *expected_output, const Shape { const auto &ind = e.current(); if (expected_datatype == loco::DataType::FLOAT32) - ASSERT_FLOAT_EQ(mat_mul_result->as_f32_bufptr()->at(ind), out_overlay.at(ind)); + ASSERT_FLOAT_EQ(out_overlay.at(ind), mat_mul_result->as_f32_bufptr()->at(ind)); else if (expected_datatype == loco::DataType::S32) - ASSERT_EQ(mat_mul_result->as_s32_bufptr()->at(ind), out_overlay.at(ind)); + ASSERT_EQ(out_overlay.at(ind), mat_mul_result->as_s32_bufptr()->at(ind)); else throw std::runtime_error("NYI for these DataTypes"); } - ASSERT_EQ(locomotiv::annot_domain(mat_mul), loco::Domain::Matrix); + ASSERT_EQ(loco::Domain::Matrix, locomotiv::annot_domain(mat_mul)); } } // namespace diff --git a/compiler/locomotiv/src/Node/MatrixCodec.test.cpp b/compiler/locomotiv/src/Node/MatrixCodec.test.cpp index 8fc5d593b..da4afeded 100644 --- a/compiler/locomotiv/src/Node/MatrixCodec.test.cpp +++ b/compiler/locomotiv/src/Node/MatrixCodec.test.cpp @@ -124,14 +124,14 @@ TEST_F(NodeExecution_MatrixCodec, HW_s32) // Test MatrixEncode auto enc_data = locomotiv::annot_data(enc); ASSERT_NE(enc_data, nullptr); - ASSERT_EQ(enc_data->dtype(), loco::DataType::S32); - ASSERT_EQ(*(enc_data->shape()), (Shape{H, W})); // locomotiv matrix is HW + ASSERT_EQ(loco::DataType::S32, enc_data->dtype()); + ASSERT_EQ((Shape{H, W}), *(enc_data->shape())); // locomotiv matrix is HW auto enc_buf = enc_data->as_s32_bufptr(); for (uint32_t h = 0; h < H; ++h) for (uint32_t w = 0; w < W; ++w) - ASSERT_EQ(pull_buf.at(Index{h, w}), enc_buf->at(Index{h, w})); + ASSERT_EQ(enc_buf->at(Index{h, w}), pull_buf.at(Index{h, w})); - ASSERT_EQ(locomotiv::annot_domain(enc), loco::Domain::Matrix); + ASSERT_EQ(loco::Domain::Matrix, locomotiv::annot_domain(enc)); // MatrixDecode auto dec = matrix_decode_layer(enc, HW); @@ -140,14 +140,14 @@ TEST_F(NodeExecution_MatrixCodec, HW_s32) // Test MatrixDecode: Encode -> Decode == identity auto dec_data = locomotiv::annot_data(dec); ASSERT_NE(dec_data, nullptr); - ASSERT_EQ(dec_data->dtype(), loco::DataType::S32); - ASSERT_EQ(*(dec_data->shape()), (Shape{H, W})); + ASSERT_EQ(loco::DataType::S32, dec_data->dtype()); + ASSERT_EQ((Shape{H, W}), *(dec_data->shape())); auto dec_buf = dec_data->as_s32_bufptr(); for (uint32_t h = 0; h < H; ++h) for (uint32_t w = 0; w < W; ++w) - ASSERT_EQ(pull_buf.at(Index{h, w}), dec_buf->at(Index{h, w})); + ASSERT_EQ(dec_buf->at(Index{h, w}), pull_buf.at(Index{h, w})); - ASSERT_EQ(locomotiv::annot_domain(dec), loco::Domain::Tensor); + ASSERT_EQ(loco::Domain::Tensor, locomotiv::annot_domain(dec)); } TEST_F(NodeExecution_MatrixCodec, WH_f32) @@ -180,14 +180,14 @@ TEST_F(NodeExecution_MatrixCodec, WH_f32) // Test MatrixEncode auto enc_data = locomotiv::annot_data(enc); ASSERT_NE(enc_data, nullptr); - ASSERT_EQ(enc_data->dtype(), loco::DataType::FLOAT32); - ASSERT_EQ(*(enc_data->shape()), (Shape{H, W})); // locomotiv matrix is HW + ASSERT_EQ(loco::DataType::FLOAT32, enc_data->dtype()); + ASSERT_EQ((Shape{H, W}), *(enc_data->shape())); // locomotiv matrix is HW auto enc_buf = enc_data->as_f32_bufptr(); for (uint32_t h = 0; h < H; ++h) for (uint32_t w = 0; w < W; ++w) - ASSERT_FLOAT_EQ(pull_buf.at(Index{w, h}), enc_buf->at(Index{h, w})); + ASSERT_FLOAT_EQ(enc_buf->at(Index{h, w}), pull_buf.at(Index{w, h})); - ASSERT_EQ(locomotiv::annot_domain(enc), loco::Domain::Matrix); + ASSERT_EQ(loco::Domain::Matrix, locomotiv::annot_domain(enc)); // MatrixDecode auto dec = matrix_decode_layer(enc, WH); @@ -196,12 +196,12 @@ TEST_F(NodeExecution_MatrixCodec, WH_f32) // Test MatrixDecode: Encode -> Decode == identity auto dec_data = locomotiv::annot_data(dec); ASSERT_NE(dec_data, nullptr); - ASSERT_EQ(dec_data->dtype(), loco::DataType::FLOAT32); - ASSERT_EQ(*(dec_data->shape()), (Shape{W, H})); + ASSERT_EQ(loco::DataType::FLOAT32, dec_data->dtype()); + ASSERT_EQ((Shape{W, H}), *(dec_data->shape())); auto dec_buf = dec_data->as_f32_bufptr(); for (uint32_t h = 0; h < H; ++h) for (uint32_t w = 0; w < W; ++w) - ASSERT_FLOAT_EQ(pull_buf.at(Index{w, h}), dec_buf->at(Index{w, h})); + ASSERT_FLOAT_EQ(dec_buf->at(Index{w, h}), pull_buf.at(Index{w, h})); - ASSERT_EQ(locomotiv::annot_domain(dec), loco::Domain::Tensor); + ASSERT_EQ(loco::Domain::Tensor, locomotiv::annot_domain(dec)); } diff --git a/compiler/locomotiv/src/Node/MaxPool2D.test.cpp b/compiler/locomotiv/src/Node/MaxPool2D.test.cpp index 9d877a96b..5046d4a6e 100644 --- a/compiler/locomotiv/src/Node/MaxPool2D.test.cpp +++ b/compiler/locomotiv/src/Node/MaxPool2D.test.cpp @@ -86,10 +86,10 @@ void run_test(const float *ifm, const float *expected_ofm, const Shape &ifm_shap for (nncc::core::ADT::tensor::IndexEnumerator e{ofm_shape}; e.valid(); e.advance()) { const auto &ind = e.current(); - ASSERT_FLOAT_EQ(maxpool2d_data->as_f32_bufptr()->at(ind), ofm_overlay.at(ind)); + ASSERT_FLOAT_EQ(ofm_overlay.at(ind), maxpool2d_data->as_f32_bufptr()->at(ind)); } - ASSERT_EQ(locomotiv::annot_domain(maxpool2d), loco::Domain::Feature); + ASSERT_EQ(loco::Domain::Feature, locomotiv::annot_domain(maxpool2d)); } } // namespace diff --git a/compiler/locomotiv/src/Node/Push.test.cpp b/compiler/locomotiv/src/Node/Push.test.cpp index be8f1e4e9..e9f56056a 100644 --- a/compiler/locomotiv/src/Node/Push.test.cpp +++ b/compiler/locomotiv/src/Node/Push.test.cpp @@ -52,11 +52,11 @@ TEST(NodeExecution_Push, s32) auto push_data = locomotiv::annot_data(push); ASSERT_NE(push_data, nullptr); - ASSERT_EQ(push_data->dtype(), loco::DataType::S32); - ASSERT_EQ(*(push_data->shape()), Shape{1}); - ASSERT_EQ(push_data->as_s32_bufptr()->at(Index{0}), pull_buf.at(Index{0})); + ASSERT_EQ(loco::DataType::S32, push_data->dtype()); + ASSERT_EQ(Shape{1}, *(push_data->shape())); + ASSERT_EQ(pull_buf.at(Index{0}), push_data->as_s32_bufptr()->at(Index{0})); - ASSERT_EQ(locomotiv::annot_domain(push), loco::Domain::Tensor); + ASSERT_EQ(loco::Domain::Tensor, locomotiv::annot_domain(push)); } TEST(NodeExecution_Push, f32) @@ -80,9 +80,9 @@ TEST(NodeExecution_Push, f32) auto push_data = locomotiv::annot_data(push); ASSERT_NE(push_data, nullptr); - ASSERT_EQ(push_data->dtype(), loco::DataType::FLOAT32); - ASSERT_EQ(*(push_data->shape()), Shape{1}); - ASSERT_FLOAT_EQ(push_data->as_f32_bufptr()->at(Index{0}), pull_buf.at(Index{0})); + ASSERT_EQ(loco::DataType::FLOAT32, push_data->dtype()); + ASSERT_EQ(Shape{1}, *(push_data->shape())); + ASSERT_FLOAT_EQ(pull_buf.at(Index{0}), push_data->as_f32_bufptr()->at(Index{0})); - ASSERT_EQ(locomotiv::annot_domain(push), loco::Domain::Tensor); + ASSERT_EQ(loco::Domain::Tensor, locomotiv::annot_domain(push)); } diff --git a/compiler/locomotiv/src/Node/ReLU.test.cpp b/compiler/locomotiv/src/Node/ReLU.test.cpp index 0ddd01d0f..d2f928d1d 100644 --- a/compiler/locomotiv/src/Node/ReLU.test.cpp +++ b/compiler/locomotiv/src/Node/ReLU.test.cpp @@ -53,10 +53,10 @@ TEST(NodeExecution_ReLU, f32) auto relu_data = locomotiv::annot_data(relu); ASSERT_NE(relu_data, nullptr); - ASSERT_EQ(relu_data->dtype(), loco::DataType::FLOAT32); - ASSERT_EQ(*(relu_data->shape()), Shape{2}); - ASSERT_FLOAT_EQ(relu_data->as_f32_bufptr()->at(Index{0}), 0.0f); - ASSERT_FLOAT_EQ(relu_data->as_f32_bufptr()->at(Index{1}), 10.0f); + ASSERT_EQ(loco::DataType::FLOAT32, relu_data->dtype()); + ASSERT_EQ(Shape{2}, *(relu_data->shape())); + ASSERT_FLOAT_EQ(0.0f, relu_data->as_f32_bufptr()->at(Index{0})); + ASSERT_FLOAT_EQ(10.0f, relu_data->as_f32_bufptr()->at(Index{1})); - ASSERT_EQ(locomotiv::annot_domain(relu), loco::Domain::Tensor); + ASSERT_EQ(loco::Domain::Tensor, locomotiv::annot_domain(relu)); } diff --git a/compiler/locomotiv/src/Node/ReLU6.test.cpp b/compiler/locomotiv/src/Node/ReLU6.test.cpp index 07f6af23f..b2362b1f4 100644 --- a/compiler/locomotiv/src/Node/ReLU6.test.cpp +++ b/compiler/locomotiv/src/Node/ReLU6.test.cpp @@ -55,12 +55,12 @@ TEST(NodeExecution_ReLU6, f32) auto relu6_data = locomotiv::annot_data(relu6); ASSERT_NE(relu6_data, nullptr); - ASSERT_EQ(relu6_data->dtype(), loco::DataType::FLOAT32); - ASSERT_EQ(*(relu6_data->shape()), Shape({2, 2})); - ASSERT_FLOAT_EQ(relu6_data->as_f32_bufptr()->at(Index{0, 0}), 0.0f); - ASSERT_FLOAT_EQ(relu6_data->as_f32_bufptr()->at(Index{0, 1}), 6.0f); - ASSERT_FLOAT_EQ(relu6_data->as_f32_bufptr()->at(Index{1, 0}), 6.0f); - ASSERT_FLOAT_EQ(relu6_data->as_f32_bufptr()->at(Index{1, 1}), 0.0f); + ASSERT_EQ(loco::DataType::FLOAT32, relu6_data->dtype()); + ASSERT_EQ(Shape({2, 2}), *(relu6_data->shape())); + ASSERT_FLOAT_EQ(0.0f, relu6_data->as_f32_bufptr()->at(Index{0, 0})); + ASSERT_FLOAT_EQ(6.0f, relu6_data->as_f32_bufptr()->at(Index{0, 1})); + ASSERT_FLOAT_EQ(6.0f, relu6_data->as_f32_bufptr()->at(Index{1, 0})); + ASSERT_FLOAT_EQ(0.0f, relu6_data->as_f32_bufptr()->at(Index{1, 1})); - ASSERT_EQ(locomotiv::annot_domain(relu6), loco::Domain::Tensor); + ASSERT_EQ(loco::Domain::Tensor, locomotiv::annot_domain(relu6)); } diff --git a/compiler/locomotiv/src/Node/Reshape.test.cpp b/compiler/locomotiv/src/Node/Reshape.test.cpp index 8e54a16df..8aeb4656f 100644 --- a/compiler/locomotiv/src/Node/Reshape.test.cpp +++ b/compiler/locomotiv/src/Node/Reshape.test.cpp @@ -56,12 +56,12 @@ TEST(NodeExecution_Reshape, f32) auto reshape_data = locomotiv::annot_data(reshape); ASSERT_NE(reshape_data, nullptr); - ASSERT_EQ(reshape_data->dtype(), loco::DataType::FLOAT32); - ASSERT_EQ(*(reshape_data->shape()), (Shape{2, 2})); - ASSERT_FLOAT_EQ(reshape_data->as_f32_bufptr()->at(Index{0, 0}), 0.0f); - ASSERT_FLOAT_EQ(reshape_data->as_f32_bufptr()->at(Index{0, 1}), 1.1f); - ASSERT_FLOAT_EQ(reshape_data->as_f32_bufptr()->at(Index{1, 0}), 2.2f); - ASSERT_FLOAT_EQ(reshape_data->as_f32_bufptr()->at(Index{1, 1}), 3.3f); + ASSERT_EQ(loco::DataType::FLOAT32, reshape_data->dtype()); + ASSERT_EQ((Shape{2, 2}), *(reshape_data->shape())); + ASSERT_FLOAT_EQ(0.0f, reshape_data->as_f32_bufptr()->at(Index{0, 0})); + ASSERT_FLOAT_EQ(1.1f, reshape_data->as_f32_bufptr()->at(Index{0, 1})); + ASSERT_FLOAT_EQ(2.2f, reshape_data->as_f32_bufptr()->at(Index{1, 0})); + ASSERT_FLOAT_EQ(3.3f, reshape_data->as_f32_bufptr()->at(Index{1, 1})); - ASSERT_EQ(locomotiv::annot_domain(reshape), loco::Domain::Tensor); + ASSERT_EQ(loco::Domain::Tensor, locomotiv::annot_domain(reshape)); } diff --git a/compiler/locomotiv/src/Node/Softmax.test.cpp b/compiler/locomotiv/src/Node/Softmax.test.cpp index 21d240275..257279338 100644 --- a/compiler/locomotiv/src/Node/Softmax.test.cpp +++ b/compiler/locomotiv/src/Node/Softmax.test.cpp @@ -57,12 +57,12 @@ TEST(NodeExecution_Softmax, f32) auto kShape = Shape{2, 2}; auto softmax_data = locomotiv::annot_data(softmax); ASSERT_NE(softmax_data, nullptr); - ASSERT_EQ(softmax_data->dtype(), loco::DataType::FLOAT32); - ASSERT_EQ(*(softmax_data->shape()), kShape); - ASSERT_FLOAT_EQ(softmax_data->as_f32_bufptr()->at(Index{0, 0}), 0.5f); - ASSERT_FLOAT_EQ(softmax_data->as_f32_bufptr()->at(Index{0, 1}), 0.5f); - ASSERT_FLOAT_EQ(softmax_data->as_f32_bufptr()->at(Index{1, 0}), 0.5f); - ASSERT_FLOAT_EQ(softmax_data->as_f32_bufptr()->at(Index{1, 1}), 0.5f); + ASSERT_EQ(loco::DataType::FLOAT32, softmax_data->dtype()); + ASSERT_EQ(kShape, *(softmax_data->shape())); + ASSERT_FLOAT_EQ(0.5f, softmax_data->as_f32_bufptr()->at(Index{0, 0})); + ASSERT_FLOAT_EQ(0.5f, softmax_data->as_f32_bufptr()->at(Index{0, 1})); + ASSERT_FLOAT_EQ(0.5f, softmax_data->as_f32_bufptr()->at(Index{1, 0})); + ASSERT_FLOAT_EQ(0.5f, softmax_data->as_f32_bufptr()->at(Index{1, 1})); - ASSERT_EQ(locomotiv::annot_domain(softmax), loco::Domain::Tensor); + ASSERT_EQ(loco::Domain::Tensor, locomotiv::annot_domain(softmax)); } diff --git a/compiler/locomotiv/src/Node/Tanh.test.cpp b/compiler/locomotiv/src/Node/Tanh.test.cpp index 78c3a13ba..96c1e7f1f 100644 --- a/compiler/locomotiv/src/Node/Tanh.test.cpp +++ b/compiler/locomotiv/src/Node/Tanh.test.cpp @@ -54,11 +54,11 @@ TEST(NodeExecution_Tanh, f32) auto tanh_data = locomotiv::annot_data(tanh); ASSERT_NE(tanh_data, nullptr); - ASSERT_EQ(tanh_data->dtype(), loco::DataType::FLOAT32); - ASSERT_EQ(*(tanh_data->shape()), Shape{3}); - ASSERT_FLOAT_EQ(tanh_data->as_f32_bufptr()->at(Index{0}), 0.0f); - ASSERT_FLOAT_EQ(tanh_data->as_f32_bufptr()->at(Index{1}), 0.761594f); - ASSERT_FLOAT_EQ(tanh_data->as_f32_bufptr()->at(Index{2}), -0.761594f); + ASSERT_EQ(loco::DataType::FLOAT32, tanh_data->dtype()); + ASSERT_EQ(Shape{3}, *(tanh_data->shape())); + ASSERT_FLOAT_EQ(0.0f, tanh_data->as_f32_bufptr()->at(Index{0})); + ASSERT_FLOAT_EQ(0.761594f, tanh_data->as_f32_bufptr()->at(Index{1})); + ASSERT_FLOAT_EQ(-0.761594f, tanh_data->as_f32_bufptr()->at(Index{2})); - ASSERT_EQ(locomotiv::annot_domain(tanh), loco::Domain::Tensor); + ASSERT_EQ(loco::Domain::Tensor, locomotiv::annot_domain(tanh)); } diff --git a/compiler/locomotiv/src/Node/TensorBroadcast.test.cpp b/compiler/locomotiv/src/Node/TensorBroadcast.test.cpp index e8347d737..52f7c8517 100644 --- a/compiler/locomotiv/src/Node/TensorBroadcast.test.cpp +++ b/compiler/locomotiv/src/Node/TensorBroadcast.test.cpp @@ -54,10 +54,10 @@ TEST(NodeExecution_TensorBroadcast, f32) auto broadcast_data = locomotiv::annot_data(broadcast); ASSERT_NE(broadcast_data, nullptr); - ASSERT_EQ(broadcast_data->dtype(), loco::DataType::FLOAT32); - ASSERT_EQ((*(broadcast_data->shape())), (Shape{2, 1})); - ASSERT_FLOAT_EQ(broadcast_data->as_f32_bufptr()->at(Index{0, 0}), -1.0f); - ASSERT_FLOAT_EQ(broadcast_data->as_f32_bufptr()->at(Index{1, 0}), -1.0f); + ASSERT_EQ(loco::DataType::FLOAT32, broadcast_data->dtype()); + ASSERT_EQ((Shape{2, 1}), (*(broadcast_data->shape()))); + ASSERT_FLOAT_EQ(-1.0f, broadcast_data->as_f32_bufptr()->at(Index{0, 0})); + ASSERT_FLOAT_EQ(-1.0f, broadcast_data->as_f32_bufptr()->at(Index{1, 0})); - ASSERT_EQ(locomotiv::annot_domain(broadcast), loco::Domain::Tensor); + ASSERT_EQ(loco::Domain::Tensor, locomotiv::annot_domain(broadcast)); } diff --git a/compiler/locomotiv/src/Node/TensorConcat.cpp b/compiler/locomotiv/src/Node/TensorConcat.cpp index 5097e55c6..3187a7f75 100644 --- a/compiler/locomotiv/src/Node/TensorConcat.cpp +++ b/compiler/locomotiv/src/Node/TensorConcat.cpp @@ -40,6 +40,8 @@ namespace locomotiv void NodeExecution::execute(loco::TensorConcat *tensor_concat) { + validate(tensor_concat, "TensorConcat is nullptr"); + auto lhs_data = annot_data(tensor_concat->lhs()); auto rhs_data = annot_data(tensor_concat->rhs()); auto axis = tensor_concat->axis(); diff --git a/compiler/locomotiv/src/Node/TensorConcat.test.cpp b/compiler/locomotiv/src/Node/TensorConcat.test.cpp index d71b51524..e9060e36f 100644 --- a/compiler/locomotiv/src/Node/TensorConcat.test.cpp +++ b/compiler/locomotiv/src/Node/TensorConcat.test.cpp @@ -65,14 +65,14 @@ TEST(NodeExecution_TensorConcat, f32) auto concat_data = locomotiv::annot_data(tconcat); ASSERT_NE(concat_data, nullptr); - ASSERT_EQ(concat_data->dtype(), loco::DataType::FLOAT32); - ASSERT_EQ((*(concat_data->shape())), (Shape{2, 2})); - ASSERT_FLOAT_EQ(concat_data->as_f32_bufptr()->at(Index{0, 0}), -1.0f); - ASSERT_FLOAT_EQ(concat_data->as_f32_bufptr()->at(Index{0, 1}), -2.0f); - ASSERT_FLOAT_EQ(concat_data->as_f32_bufptr()->at(Index{1, 0}), 3.0f); - ASSERT_FLOAT_EQ(concat_data->as_f32_bufptr()->at(Index{1, 1}), 4.0f); - - ASSERT_EQ(locomotiv::annot_domain(tconcat), loco::Domain::Tensor); + ASSERT_EQ(loco::DataType::FLOAT32, concat_data->dtype()); + ASSERT_EQ((Shape{2, 2}), (*(concat_data->shape()))); + ASSERT_FLOAT_EQ(-1.0f, concat_data->as_f32_bufptr()->at(Index{0, 0})); + ASSERT_FLOAT_EQ(-2.0f, concat_data->as_f32_bufptr()->at(Index{0, 1})); + ASSERT_FLOAT_EQ(3.0f, concat_data->as_f32_bufptr()->at(Index{1, 0})); + ASSERT_FLOAT_EQ(4.0f, concat_data->as_f32_bufptr()->at(Index{1, 1})); + + ASSERT_EQ(loco::Domain::Tensor, locomotiv::annot_domain(tconcat)); } TEST(NodeExecution_TensorConcat, f32_2) @@ -113,16 +113,16 @@ TEST(NodeExecution_TensorConcat, f32_2) auto concat_data = locomotiv::annot_data(tconcat); ASSERT_NE(concat_data, nullptr); - ASSERT_EQ(concat_data->dtype(), loco::DataType::FLOAT32); - ASSERT_EQ((*(concat_data->shape())), (Shape{4, 2})); - ASSERT_FLOAT_EQ(concat_data->as_f32_bufptr()->at(Index{0, 0}), -1.0f); - ASSERT_FLOAT_EQ(concat_data->as_f32_bufptr()->at(Index{0, 1}), -2.0f); - ASSERT_FLOAT_EQ(concat_data->as_f32_bufptr()->at(Index{1, 0}), 3.0f); - ASSERT_FLOAT_EQ(concat_data->as_f32_bufptr()->at(Index{1, 1}), 4.0f); - ASSERT_FLOAT_EQ(concat_data->as_f32_bufptr()->at(Index{2, 0}), -3.0f); - ASSERT_FLOAT_EQ(concat_data->as_f32_bufptr()->at(Index{2, 1}), -4.0f); - ASSERT_FLOAT_EQ(concat_data->as_f32_bufptr()->at(Index{3, 0}), 5.0f); - ASSERT_FLOAT_EQ(concat_data->as_f32_bufptr()->at(Index{3, 1}), 6.0f); - - ASSERT_EQ(locomotiv::annot_domain(tconcat), loco::Domain::Tensor); + ASSERT_EQ(loco::DataType::FLOAT32, concat_data->dtype()); + ASSERT_EQ((Shape{4, 2}), (*(concat_data->shape()))); + ASSERT_FLOAT_EQ(-1.0f, concat_data->as_f32_bufptr()->at(Index{0, 0})); + ASSERT_FLOAT_EQ(-2.0f, concat_data->as_f32_bufptr()->at(Index{0, 1})); + ASSERT_FLOAT_EQ(3.0f, concat_data->as_f32_bufptr()->at(Index{1, 0})); + ASSERT_FLOAT_EQ(4.0f, concat_data->as_f32_bufptr()->at(Index{1, 1})); + ASSERT_FLOAT_EQ(-3.0f, concat_data->as_f32_bufptr()->at(Index{2, 0})); + ASSERT_FLOAT_EQ(-4.0f, concat_data->as_f32_bufptr()->at(Index{2, 1})); + ASSERT_FLOAT_EQ(5.0f, concat_data->as_f32_bufptr()->at(Index{3, 0})); + ASSERT_FLOAT_EQ(6.0f, concat_data->as_f32_bufptr()->at(Index{3, 1})); + + ASSERT_EQ(loco::Domain::Tensor, locomotiv::annot_domain(tconcat)); } diff --git a/compiler/locomotiv/src/Node/TensorConstantPad.cpp b/compiler/locomotiv/src/Node/TensorConstantPad.cpp index 989afaf94..cd81a3a4d 100644 --- a/compiler/locomotiv/src/Node/TensorConstantPad.cpp +++ b/compiler/locomotiv/src/Node/TensorConstantPad.cpp @@ -36,6 +36,8 @@ namespace locomotiv void NodeExecution::execute(loco::TensorConstantPad *pad) { + validate(pad, "TensorConstantPad is nullptr"); + auto input_data = annot_data(pad->input()); auto input_domain = annot_domain(pad->input()); validate(input_data, "Input not ready"); diff --git a/compiler/locomotiv/src/Node/TensorConstantPad.test.cpp b/compiler/locomotiv/src/Node/TensorConstantPad.test.cpp index 0f60c5f85..64b913014 100644 --- a/compiler/locomotiv/src/Node/TensorConstantPad.test.cpp +++ b/compiler/locomotiv/src/Node/TensorConstantPad.test.cpp @@ -74,16 +74,16 @@ TEST(NodeExecution_Pad, tensor_constant_pad_4_dim) auto pad_data = locomotiv::annot_data(pad); ASSERT_NE(pad_data, nullptr); - ASSERT_EQ(pad_data->dtype(), loco::DataType::FLOAT32); - ASSERT_EQ(*(pad_data->shape()), Shape({1, 6, 4, 1})); + ASSERT_EQ(loco::DataType::FLOAT32, pad_data->dtype()); + ASSERT_EQ(Shape({1, 6, 4, 1}), *(pad_data->shape())); - ASSERT_FLOAT_EQ(pad_data->as_f32_bufptr()->at(Index{0, 3, 1, 0}), 1.0f); - ASSERT_FLOAT_EQ(pad_data->as_f32_bufptr()->at(Index{0, 3, 2, 0}), 2.0f); - ASSERT_FLOAT_EQ(pad_data->as_f32_bufptr()->at(Index{0, 4, 1, 0}), 3.0f); - ASSERT_FLOAT_EQ(pad_data->as_f32_bufptr()->at(Index{0, 4, 2, 0}), 4.0f); - ASSERT_FLOAT_EQ(pad_data->as_f32_bufptr()->at(Index{0, 0, 0, 0}), 0.0f); + ASSERT_FLOAT_EQ(1.0f, pad_data->as_f32_bufptr()->at(Index{0, 3, 1, 0})); + ASSERT_FLOAT_EQ(2.0f, pad_data->as_f32_bufptr()->at(Index{0, 3, 2, 0})); + ASSERT_FLOAT_EQ(3.0f, pad_data->as_f32_bufptr()->at(Index{0, 4, 1, 0})); + ASSERT_FLOAT_EQ(4.0f, pad_data->as_f32_bufptr()->at(Index{0, 4, 2, 0})); + ASSERT_FLOAT_EQ(0.0f, pad_data->as_f32_bufptr()->at(Index{0, 0, 0, 0})); - ASSERT_EQ(locomotiv::annot_domain(pad), loco::Domain::Tensor); + ASSERT_EQ(loco::Domain::Tensor, locomotiv::annot_domain(pad)); } TEST(NodeExecution_Pad, tensor_constant_pad_1_dim) @@ -122,17 +122,17 @@ TEST(NodeExecution_Pad, tensor_constant_pad_1_dim) auto pad_data = locomotiv::annot_data(pad); ASSERT_NE(pad_data, nullptr); - ASSERT_EQ(pad_data->dtype(), loco::DataType::FLOAT32); - ASSERT_EQ(*(pad_data->shape()), Shape({6})); + ASSERT_EQ(loco::DataType::FLOAT32, pad_data->dtype()); + ASSERT_EQ(Shape({6}), *(pad_data->shape())); - ASSERT_FLOAT_EQ(pad_data->as_f32_bufptr()->at(Index{0}), 0.0f); - ASSERT_FLOAT_EQ(pad_data->as_f32_bufptr()->at(Index{1}), 0.0f); - ASSERT_FLOAT_EQ(pad_data->as_f32_bufptr()->at(Index{2}), 1.0f); - ASSERT_FLOAT_EQ(pad_data->as_f32_bufptr()->at(Index{3}), 5.0f); - ASSERT_FLOAT_EQ(pad_data->as_f32_bufptr()->at(Index{4}), 3.0f); - ASSERT_FLOAT_EQ(pad_data->as_f32_bufptr()->at(Index{5}), 0.0f); + ASSERT_FLOAT_EQ(0.0f, pad_data->as_f32_bufptr()->at(Index{0})); + ASSERT_FLOAT_EQ(0.0f, pad_data->as_f32_bufptr()->at(Index{1})); + ASSERT_FLOAT_EQ(1.0f, pad_data->as_f32_bufptr()->at(Index{2})); + ASSERT_FLOAT_EQ(5.0f, pad_data->as_f32_bufptr()->at(Index{3})); + ASSERT_FLOAT_EQ(3.0f, pad_data->as_f32_bufptr()->at(Index{4})); + ASSERT_FLOAT_EQ(0.0f, pad_data->as_f32_bufptr()->at(Index{5})); - ASSERT_EQ(locomotiv::annot_domain(pad), loco::Domain::Tensor); + ASSERT_EQ(loco::Domain::Tensor, locomotiv::annot_domain(pad)); } TEST(NodeExecution_Pad, tensor_constant_pad_6_dim) @@ -200,19 +200,19 @@ TEST(NodeExecution_Pad, tensor_constant_pad_6_dim) auto pad_data = locomotiv::annot_data(pad); ASSERT_NE(pad_data, nullptr); - ASSERT_EQ(pad_data->dtype(), loco::DataType::FLOAT32); - ASSERT_EQ(*(pad_data->shape()), Shape({4, 1, 6, 5, 1, 5})); - - ASSERT_FLOAT_EQ(pad_data->as_f32_bufptr()->at(Index{1, 0, 1, 2, 0, 1}), 1.0f); - ASSERT_FLOAT_EQ(pad_data->as_f32_bufptr()->at(Index{1, 0, 1, 2, 0, 2}), 2.0f); - ASSERT_FLOAT_EQ(pad_data->as_f32_bufptr()->at(Index{1, 0, 1, 3, 0, 1}), 3.0f); - ASSERT_FLOAT_EQ(pad_data->as_f32_bufptr()->at(Index{1, 0, 1, 3, 0, 2}), 4.0f); - ASSERT_FLOAT_EQ(pad_data->as_f32_bufptr()->at(Index{1, 0, 2, 2, 0, 1}), 5.0f); - ASSERT_FLOAT_EQ(pad_data->as_f32_bufptr()->at(Index{1, 0, 2, 2, 0, 2}), 6.0f); - ASSERT_FLOAT_EQ(pad_data->as_f32_bufptr()->at(Index{1, 0, 2, 3, 0, 1}), 7.0f); - ASSERT_FLOAT_EQ(pad_data->as_f32_bufptr()->at(Index{1, 0, 2, 3, 0, 2}), 8.0f); - ASSERT_FLOAT_EQ(pad_data->as_f32_bufptr()->at(Index{1, 0, 3, 2, 0, 1}), 9.0f); - ASSERT_FLOAT_EQ(pad_data->as_f32_bufptr()->at(Index{1, 0, 3, 2, 0, 2}), 10.0f); - - ASSERT_EQ(locomotiv::annot_domain(pad), loco::Domain::Tensor); + ASSERT_EQ(loco::DataType::FLOAT32, pad_data->dtype()); + ASSERT_EQ(Shape({4, 1, 6, 5, 1, 5}), *(pad_data->shape())); + + ASSERT_FLOAT_EQ(1.0f, pad_data->as_f32_bufptr()->at(Index{1, 0, 1, 2, 0, 1})); + ASSERT_FLOAT_EQ(2.0f, pad_data->as_f32_bufptr()->at(Index{1, 0, 1, 2, 0, 2})); + ASSERT_FLOAT_EQ(3.0f, pad_data->as_f32_bufptr()->at(Index{1, 0, 1, 3, 0, 1})); + ASSERT_FLOAT_EQ(4.0f, pad_data->as_f32_bufptr()->at(Index{1, 0, 1, 3, 0, 2})); + ASSERT_FLOAT_EQ(5.0f, pad_data->as_f32_bufptr()->at(Index{1, 0, 2, 2, 0, 1})); + ASSERT_FLOAT_EQ(6.0f, pad_data->as_f32_bufptr()->at(Index{1, 0, 2, 2, 0, 2})); + ASSERT_FLOAT_EQ(7.0f, pad_data->as_f32_bufptr()->at(Index{1, 0, 2, 3, 0, 1})); + ASSERT_FLOAT_EQ(8.0f, pad_data->as_f32_bufptr()->at(Index{1, 0, 2, 3, 0, 2})); + ASSERT_FLOAT_EQ(9.0f, pad_data->as_f32_bufptr()->at(Index{1, 0, 3, 2, 0, 1})); + ASSERT_FLOAT_EQ(10.0f, pad_data->as_f32_bufptr()->at(Index{1, 0, 3, 2, 0, 2})); + + ASSERT_EQ(loco::Domain::Tensor, locomotiv::annot_domain(pad)); } diff --git a/compiler/locomotiv/src/Node/TensorReduce.cpp b/compiler/locomotiv/src/Node/TensorReduce.cpp index fae7a75c5..a60ebd890 100644 --- a/compiler/locomotiv/src/Node/TensorReduce.cpp +++ b/compiler/locomotiv/src/Node/TensorReduce.cpp @@ -121,9 +121,8 @@ namespace locomotiv void NodeExecution::execute(loco::TensorReduce *node) { auto input_data = annot_data(node->input()); - auto input_shape = input_data->shape(); - validate(input_data, "Input not ready"); + auto input_shape = input_data->shape(); validate(annot_domain(node->input()) == loco::Domain::Tensor, "Input domain of TensorReduce is not Tensor"); diff --git a/compiler/locomotiv/src/Node/TensorReduce.test.cpp b/compiler/locomotiv/src/Node/TensorReduce.test.cpp index 68398cacd..d0e73a248 100644 --- a/compiler/locomotiv/src/Node/TensorReduce.test.cpp +++ b/compiler/locomotiv/src/Node/TensorReduce.test.cpp @@ -60,12 +60,12 @@ TEST(NodeExecution_Fixed_Reduce_Mean, f32_0) auto kShape = Shape{1, 1, 2}; auto reduce_data = locomotiv::annot_data(reduce_node); ASSERT_NE(reduce_data, nullptr); - ASSERT_EQ(reduce_data->dtype(), loco::DataType::FLOAT32); - ASSERT_EQ(*(reduce_data->shape()), kShape); - ASSERT_FLOAT_EQ(reduce_data->as_f32_bufptr()->at(Index{0, 0, 0}), 3.3f); - ASSERT_FLOAT_EQ(reduce_data->as_f32_bufptr()->at(Index{0, 0, 1}), 4.4f); + ASSERT_EQ(loco::DataType::FLOAT32, reduce_data->dtype()); + ASSERT_EQ(kShape, *(reduce_data->shape())); + ASSERT_FLOAT_EQ(3.3f, reduce_data->as_f32_bufptr()->at(Index{0, 0, 0})); + ASSERT_FLOAT_EQ(4.4f, reduce_data->as_f32_bufptr()->at(Index{0, 0, 1})); - ASSERT_EQ(locomotiv::annot_domain(reduce_node), loco::Domain::Tensor); + ASSERT_EQ(loco::Domain::Tensor, locomotiv::annot_domain(reduce_node)); } TEST(NodeExecution_Fixed_Reduce_Mean, f32_1) @@ -96,9 +96,9 @@ TEST(NodeExecution_Fixed_Reduce_Mean, f32_1) auto kShape = Shape{1, 1, 1}; auto reduce_data = locomotiv::annot_data(reduce_node); ASSERT_NE(reduce_data, nullptr); - ASSERT_EQ(reduce_data->dtype(), loco::DataType::FLOAT32); - ASSERT_EQ(*(reduce_data->shape()), kShape); - ASSERT_FLOAT_EQ(reduce_data->as_f32_bufptr()->at(Index{0, 0, 0}), 3.85f); + ASSERT_EQ(loco::DataType::FLOAT32, reduce_data->dtype()); + ASSERT_EQ(kShape, *(reduce_data->shape())); + ASSERT_FLOAT_EQ(3.85f, reduce_data->as_f32_bufptr()->at(Index{0, 0, 0})); - ASSERT_EQ(locomotiv::annot_domain(reduce_node), loco::Domain::Tensor); + ASSERT_EQ(loco::Domain::Tensor, locomotiv::annot_domain(reduce_node)); } diff --git a/compiler/locomotiv/src/Node/TransposedConv2D.test.cpp b/compiler/locomotiv/src/Node/TransposedConv2D.test.cpp index bd955a06b..ef759f51b 100644 --- a/compiler/locomotiv/src/Node/TransposedConv2D.test.cpp +++ b/compiler/locomotiv/src/Node/TransposedConv2D.test.cpp @@ -101,10 +101,10 @@ void run_test(const float *ifm, const float *ker, const float *expected_ofm, con for (nncc::core::ADT::tensor::IndexEnumerator e{ofm_shape}; e.valid(); e.advance()) { const auto &ind = e.current(); - ASSERT_FLOAT_EQ(conv2d_result->as_f32_bufptr()->at(ind), ofm_overlay.at(ind)); + ASSERT_FLOAT_EQ(ofm_overlay.at(ind), conv2d_result->as_f32_bufptr()->at(ind)); } - ASSERT_EQ(locomotiv::annot_domain(tr_conv2d), loco::Domain::Feature); + ASSERT_EQ(loco::Domain::Feature, locomotiv::annot_domain(tr_conv2d)); } } // namespace |