@@ -96,9 +96,10 @@ void compare_not_equal_vec_kernel(Container *a, Container *b, Container *r) {
9696 *r = syclcompat::compare (*a, *b, std::not_equal_to<>());
9797}
9898
99- template <typename ValueT> void test_compare_vec () {
99+ template <template <typename T, int Dim> typename ContainerT,
100+ typename ValueT> void test_compare_vec () {
100101 std::cout << __PRETTY_FUNCTION__ << std::endl;
101- using Container = sycl::vec <ValueT, 2 >;
102+ using Container = ContainerT <ValueT, 2 >;
102103
103104 constexpr syclcompat::dim3 grid{1 };
104105 constexpr syclcompat::dim3 threads{1 };
@@ -177,9 +178,10 @@ void unordered_compare_not_equal_vec_kernel(Container *a, Container *b,
177178 *r = syclcompat::unordered_compare (*a, *b, std::not_equal_to<>());
178179}
179180
180- template <typename ValueT> void test_unordered_compare_vec () {
181+ template <template <typename T, int Dim> typename ContainerT,
182+ typename ValueT> void test_unordered_compare_vec () {
181183 std::cout << __PRETTY_FUNCTION__ << std::endl;
182- using Container = sycl::vec <ValueT, 2 >;
184+ using Container = ContainerT <ValueT, 2 >;
183185
184186 constexpr syclcompat::dim3 grid{1 };
185187 constexpr syclcompat::dim3 threads{1 };
@@ -207,9 +209,10 @@ void compare_both_kernel(Container *a, Container *b, bool *r) {
207209 *r = syclcompat::compare_both (*a, *b, std::equal_to<>());
208210}
209211
210- template <typename ValueT> void test_compare_both () {
212+ template <template <typename T, int Dim> typename ContainerT,
213+ typename ValueT> void test_compare_both () {
211214 std::cout << __PRETTY_FUNCTION__ << std::endl;
212- using Container = sycl::vec <ValueT, 2 >;
215+ using Container = ContainerT <ValueT, 2 >;
213216
214217 constexpr syclcompat::dim3 grid{1 };
215218 constexpr syclcompat::dim3 threads{1 };
@@ -236,9 +239,10 @@ void unordered_compare_both_kernel(Container *a, Container *b, bool *r) {
236239 *r = syclcompat::unordered_compare_both (*a, *b, std::equal_to<>());
237240}
238241
239- template <typename ValueT> void test_unordered_compare_both () {
242+ template <template <typename T, int Dim> typename ContainerT,
243+ typename ValueT> void test_unordered_compare_both () {
240244 std::cout << __PRETTY_FUNCTION__ << std::endl;
241- using Container = sycl::vec <ValueT, 2 >;
245+ using Container = ContainerT <ValueT, 2 >;
242246
243247 constexpr syclcompat::dim3 grid{1 };
244248 constexpr syclcompat::dim3 threads{1 };
@@ -266,9 +270,10 @@ void compare_mask_kernel(Container *a, Container *b, unsigned *r) {
266270 *r = syclcompat::compare_mask (*a, *b, std::equal_to<>());
267271}
268272
269- template <typename ValueT> void test_compare_mask () {
273+ template <template <typename T, int Dim> typename ContainerT,
274+ typename ValueT> void test_compare_mask () {
270275 std::cout << __PRETTY_FUNCTION__ << std::endl;
271- using Container = sycl::vec <ValueT, 2 >;
276+ using Container = ContainerT <ValueT, 2 >;
272277
273278 constexpr syclcompat::dim3 grid{1 };
274279 constexpr syclcompat::dim3 threads{1 };
@@ -314,9 +319,10 @@ void unordered_compare_mask_kernel(Container *a, Container *b, unsigned *r) {
314319 *r = syclcompat::unordered_compare_mask (*a, *b, std::equal_to<>());
315320}
316321
317- template <typename ValueT> void test_unordered_compare_mask () {
322+ template <template <typename T, int Dim> typename ContainerT,
323+ typename ValueT> void test_unordered_compare_mask () {
318324 std::cout << __PRETTY_FUNCTION__ << std::endl;
319- using Container = sycl::vec <ValueT, 2 >;
325+ using Container = ContainerT <ValueT, 2 >;
320326
321327 constexpr syclcompat::dim3 grid{1 };
322328 constexpr syclcompat::dim3 threads{1 };
@@ -360,12 +366,18 @@ template <typename ValueT> void test_unordered_compare_mask() {
360366int main () {
361367 INSTANTIATE_ALL_TYPES (fp_type_list, test_compare);
362368 INSTANTIATE_ALL_TYPES (fp_type_list, test_unordered_compare);
363- INSTANTIATE_ALL_TYPES (fp_type_list, test_compare_vec);
364- INSTANTIATE_ALL_TYPES (fp_type_list, test_unordered_compare_vec);
365- INSTANTIATE_ALL_TYPES (fp_type_list, test_compare_both);
366- INSTANTIATE_ALL_TYPES (fp_type_list, test_unordered_compare_both);
367- INSTANTIATE_ALL_TYPES (fp_type_list, test_compare_mask);
368- INSTANTIATE_ALL_TYPES (fp_type_list, test_unordered_compare_mask);
369+ INSTANTIATE_ALL_CONTAINER_TYPES (fp_type_list, sycl::vec, test_compare_vec);
370+ INSTANTIATE_ALL_CONTAINER_TYPES (fp_type_list, sycl::marray, test_compare_vec);
371+ INSTANTIATE_ALL_CONTAINER_TYPES (fp_type_list, sycl::vec, test_unordered_compare_vec);
372+ INSTANTIATE_ALL_CONTAINER_TYPES (fp_type_list, sycl::marray, test_unordered_compare_vec);
373+ INSTANTIATE_ALL_CONTAINER_TYPES (fp_type_list, sycl::vec, test_compare_both);
374+ INSTANTIATE_ALL_CONTAINER_TYPES (fp_type_list, sycl::marray, test_compare_both);
375+ INSTANTIATE_ALL_CONTAINER_TYPES (fp_type_list, sycl::vec, test_unordered_compare_both);
376+ INSTANTIATE_ALL_CONTAINER_TYPES (fp_type_list, sycl::marray, test_unordered_compare_both);
377+ INSTANTIATE_ALL_CONTAINER_TYPES (fp_type_list, sycl::vec, test_compare_mask);
378+ INSTANTIATE_ALL_CONTAINER_TYPES (fp_type_list, sycl::marray, test_compare_mask);
379+ INSTANTIATE_ALL_CONTAINER_TYPES (fp_type_list, sycl::vec, test_unordered_compare_mask);
380+ INSTANTIATE_ALL_CONTAINER_TYPES (fp_type_list, sycl::marray, test_unordered_compare_mask);
369381
370382 return 0 ;
371383}
0 commit comments