@@ -40,6 +40,22 @@ TEST(MakeNaiveTensorDescriptor, BroadcastDimension)
4040 EXPECT_EQ (desc.GetElementSpaceSize (), 5 );
4141}
4242
43+ TEST (MakeNaiveTensorDescriptor, BroadcastNonAdjacentDims7D)
44+ {
45+ // 7D tensor: 2x3x5x7x11x13x17 with broadcast on dims 2 and 4 (non-adjacent)
46+ // Underlying data is 2x3x7x13x17 = 9282 elements, broadcast over dims 2 and 4
47+ // strides: [4641, 1547, 0, 221, 0, 17, 1]
48+ // element_space_size = 1 + (2-1)*4641 + (3-1)*1547 + (5-1)*0 + (7-1)*221
49+ // + (11-1)*0 + (13-1)*17 + (17-1)*1
50+ // = 1 + 4641 + 3094 + 0 + 1326 + 0 + 204 + 16 = 9282
51+ constexpr auto lengths = make_tuple (Number<2 >{}, Number<3 >{}, Number<5 >{}, Number<7 >{},
52+ Number<11 >{}, Number<13 >{}, Number<17 >{});
53+ constexpr auto strides = make_tuple (Number<4641 >{}, Number<1547 >{}, Number<0 >{}, Number<221 >{},
54+ Number<0 >{}, Number<17 >{}, Number<1 >{});
55+ constexpr auto desc = make_naive_tensor_descriptor (lengths, strides);
56+ EXPECT_EQ (desc.GetElementSpaceSize (), 9282 );
57+ }
58+
4359TEST (MakeNaiveTensorDescriptor, WithPaddingArbitrary)
4460{
4561 // 11x7x3 tensor with arbitrary strides [2, 97, 23] (prime numbers, no common factors)
0 commit comments