44struct basic_tiling_test {
55 template <typename T>
66 __host__ __device__ void operator ()(generator<T> gen) {
7- auto tiling = kf::tiling<
7+ using TestTiling = kf::tiling<
88 kf::tile_size<8 , 8 >,
99 kf::block_size<2 , 4 >,
10- kf::distributions<kf::dist::cyclic, kf::dist::blocked>>(dim3 (1 , 2 , 0 ));
10+ kf::distributions<kf::dist::cyclic, kf::dist::blocked> //
11+ >;
12+ auto tiling = TestTiling (dim3 (1 , 2 , 0 ));
1113
12- ASSERT_EQ (tiling. size (), size_t (8 ));
14+ ASSERT_EQ (TestTiling:: size (), size_t (8 ));
1315
1416 ASSERT_EQ (
1517 tiling.local_points (),
@@ -24,7 +26,6 @@ struct basic_tiling_test {
2426 kf::make_vec (7 , 6 )));
2527
2628 ASSERT_EQ (tiling.local_points (0 ), kf::make_vec (1 , 3 , 5 , 7 , 1 , 3 , 5 , 7 ));
27-
2829 ASSERT_EQ (tiling.local_points (1 ), kf::make_vec (2 , 2 , 2 , 2 , 6 , 6 , 6 , 6 ));
2930
3031 ASSERT_EQ (tiling.at (0 ), kf::make_vec (1 , 2 ));
@@ -44,6 +45,7 @@ struct basic_tiling_test {
4445 ASSERT_EQ (
4546 tiling.local_mask (),
4647 kf::make_vec (true , true , true , true , true , true , true , true ));
48+ ASSERT_EQ (TestTiling::all_present (), true );
4749 ASSERT_EQ (tiling.is_present (0 ), true );
4850 ASSERT_EQ (tiling.is_present (1 ), true );
4951 ASSERT_EQ (tiling.is_present (2 ), true );
@@ -54,19 +56,16 @@ struct basic_tiling_test {
5456 ASSERT_EQ (tiling.thread_index (2 ), 0 );
5557 ASSERT_EQ (tiling.thread_index (), kf::make_vec (1 , 2 ));
5658
57- ASSERT_EQ (tiling.block_size (0 ), 2 );
58- ASSERT_EQ (tiling.block_size (1 ), 4 );
59- ASSERT_EQ (tiling.block_size (2 ), 1 );
60- ASSERT_EQ (tiling.block_size (), kf::make_vec (2 , 4 ));
61-
62- ASSERT_EQ (tiling.tile_size (0 ), 8 );
63- ASSERT_EQ (tiling.tile_size (1 ), 8 );
64- ASSERT_EQ (tiling.tile_size (2 ), 1 );
65- ASSERT_EQ (tiling.tile_size (), kf::make_vec (8 , 8 ));
59+ ASSERT_EQ (TestTiling::block_size (0 ), 2 );
60+ ASSERT_EQ (TestTiling::block_size (1 ), 4 );
61+ ASSERT_EQ (TestTiling::block_size (2 ), 1 );
62+ ASSERT_EQ (TestTiling::block_size (), kf::make_vec (2 , 4 ));
6663
67- ASSERT_EQ (tiling.size (), size_t (8 ));
64+ ASSERT_EQ (TestTiling::tile_size (0 ), 8 );
65+ ASSERT_EQ (TestTiling::tile_size (1 ), 8 );
66+ ASSERT_EQ (TestTiling::tile_size (2 ), 1 );
67+ ASSERT_EQ (TestTiling::tile_size (), kf::make_vec (8 , 8 ));
6868
69- size_t counter = 0 ;
7069 const int points[8 ][2 ] = {
7170 {1 , 2 },
7271 {3 , 2 },
@@ -78,14 +77,26 @@ struct basic_tiling_test {
7877 {7 , 6 },
7978 };
8079
81- KERNEL_FLOAT_TILING_FOR (tiling, i, point) {
82- ASSERT_EQ (counter, i);
80+ size_t counter = 0 ;
81+ KERNEL_FLOAT_TILING_FOR (tiling, auto point) {
82+ ASSERT (counter < 8 );
83+ ASSERT_EQ (point[0 ], points[counter][0 ]);
84+ ASSERT_EQ (point[1 ], points[counter][1 ]);
85+ counter++;
86+ }
87+
88+ ASSERT (counter == 8 );
89+
90+ counter = 0 ;
91+ KERNEL_FLOAT_TILING_FOR (tiling, int i, auto point) {
92+ ASSERT (counter < 8 );
93+ ASSERT_EQ (counter, size_t (i));
8394 ASSERT_EQ (point[0 ], points[i][0 ]);
8495 ASSERT_EQ (point[1 ], points[i][1 ]);
8596 counter++;
8697 }
8798
88- ASSERT_EQ (counter, size_t ( 8 ) );
99+ ASSERT (counter == 8 );
89100 }
90101};
91102
0 commit comments