|
14 | 14 | * This test also runs with all types of VISA link time optimizations enabled. |
15 | 15 | */ |
16 | 16 |
|
17 | | -#include <sycl/detail/boost/mp11.hpp> |
18 | 17 | #include <sycl/detail/core.hpp> |
19 | 18 | #include <sycl/ext/intel/esimd.hpp> |
20 | 19 | #include <sycl/ext/oneapi/experimental/invoke_simd.hpp> |
@@ -141,18 +140,22 @@ int main() { |
141 | 140 | << "\n"; |
142 | 141 | bool passed = true; |
143 | 142 | const bool SupportsDouble = dev.has(aspect::fp64); |
144 | | - using namespace sycl::detail::boost::mp11; |
145 | 143 | using MaskTypes = |
146 | 144 | std::tuple<char, char16_t, char32_t, wchar_t, signed char, signed short, |
147 | 145 | signed int, signed long, signed long long, unsigned char, |
148 | 146 | unsigned short, unsigned int, unsigned long, |
149 | 147 | unsigned long long, float, double>; |
150 | | - tuple_for_each(MaskTypes{}, [&](auto &&x) { |
151 | | - using T = std::remove_reference_t<decltype(x)>; |
152 | | - if (std::is_same_v<T, double> && !SupportsDouble) |
153 | | - return; |
154 | | - passed &= !test<T>(q); |
155 | | - }); |
| 148 | + std::apply( |
| 149 | + [&](auto &&...xs) { |
| 150 | + auto f = [&](auto &&x) { |
| 151 | + using T = std::remove_reference_t<decltype(x)>; |
| 152 | + if (std::is_same_v<T, double> && !SupportsDouble) |
| 153 | + return; |
| 154 | + passed &= !test<T>(q); |
| 155 | + }; |
| 156 | + ((f(std::forward<decltype(xs)>(xs)), ...)); |
| 157 | + }, |
| 158 | + MaskTypes{}); |
156 | 159 | std::cout << (passed ? "Test passed\n" : "TEST FAILED\n"); |
157 | 160 | return passed ? 0 : 1; |
158 | 161 | } |
0 commit comments