ASSERT_EQ(tensor_index.at(3), 2); // NTH(MULTIPLIER)
}
+TEST(PermutingEncoderTest, dpethwisefilter_init)
+{
+ Permutation<Domain::DepthwiseFilter> src_perm;
+
+ src_perm.axis(DepthwiseFilterAxis::Multiplier) = 0;
+ src_perm.axis(DepthwiseFilterAxis::Depth) = 3;
+ src_perm.axis(DepthwiseFilterAxis::Height) = 1;
+ src_perm.axis(DepthwiseFilterAxis::Width) = 2;
+
+ PermutingEncoder<Domain::DepthwiseFilter> dst_enc{src_perm};
+ auto dst_perm = dst_enc.perm();
+
+ EXPECT_EQ(dst_perm->axis(DepthwiseFilterAxis::Multiplier),
+ src_perm.axis(DepthwiseFilterAxis::Multiplier));
+ EXPECT_EQ(dst_perm->axis(DepthwiseFilterAxis::Depth), src_perm.axis(DepthwiseFilterAxis::Depth));
+ EXPECT_EQ(dst_perm->axis(DepthwiseFilterAxis::Height),
+ src_perm.axis(DepthwiseFilterAxis::Height));
+ EXPECT_EQ(dst_perm->axis(DepthwiseFilterAxis::Width), src_perm.axis(DepthwiseFilterAxis::Width));
+
+ // Update on dst perm SHOULD NOT affect the src perm
+ dst_perm->axis(DepthwiseFilterAxis::Height) += 1;
+
+ EXPECT_EQ(src_perm.axis(DepthwiseFilterAxis::Height), 1);
+ EXPECT_EQ(dst_perm->axis(DepthwiseFilterAxis::Height), 2);
+}
+
TEST(PermutingDecoderTest, feature)
{
PermutingDecoder<Domain::Feature> dec;