@@ -19,58 +19,61 @@ using sw_double_2 = decltype(std::declval<vec<double, 4>>().swizzle<1, 2>());
1919// NOTE: Empty space is for the future markup using NOT_IN_PREVIEW/PREVIEW_ONLY
2020// macros.
2121
22- static_assert ( std::is_assignable_v<vec<half, 1 >, half>);
23- static_assert ( std::is_assignable_v<vec<half, 1 >, float >);
24- static_assert ( std::is_assignable_v<vec<half, 1 >, double >);
25- static_assert ( std::is_assignable_v<vec<half, 1 >, vec<half, 1 >>);
26- static_assert ( std::is_assignable_v<vec<half, 1 >, vec<float , 1 >>);
27- static_assert ( std::is_assignable_v<vec<half, 1 >, vec<double , 1 >>);
28- static_assert ( std::is_assignable_v<vec<half, 1 >, sw_half_1>);
29- static_assert ( std::is_assignable_v<vec<half, 1 >, sw_float_1>);
30- static_assert ( std::is_assignable_v<vec<half, 1 >, sw_double_1>);
31- static_assert ( !std::is_assignable_v<vec<half, 1 >, sw_half_2>);
32- static_assert ( !std::is_assignable_v<vec<half, 1 >, sw_float_2>);
33- static_assert ( !std::is_assignable_v<vec<half, 1 >, sw_double_2>);
22+ // IN_PREVIEW_ONLY condition<>
23+ // EXCEPT_IN_PREVIEW condition<>
3424
35- static_assert ( std::is_assignable_v<vec<half, 2 >, half>);
36- static_assert ( std::is_assignable_v<vec<half, 2 >, float >);
37- static_assert ( std::is_assignable_v<vec<half, 2 >, double >);
38- static_assert ( std::is_assignable_v<vec<half, 2 >, vec<half, 1 >>);
39- static_assert ( ! std::is_assignable_v<vec<half, 2 >, vec<float , 1 >>);
40- static_assert ( ! std::is_assignable_v<vec<half, 2 >, vec<double , 1 >>);
41- static_assert ( std::is_assignable_v<vec<half, 2 >, sw_half_1>);
42- static_assert ( std::is_assignable_v<vec<half, 2 >, sw_float_1>);
43- static_assert ( std::is_assignable_v<vec<half, 2 >, sw_double_1>);
44- static_assert ( std::is_assignable_v<vec<half, 2 >, sw_half_2>);
45- static_assert ( !std::is_assignable_v<vec<half, 2 >, sw_float_2>);
46- static_assert ( !std::is_assignable_v<vec<half, 2 >, sw_double_2>);
25+ static_assert ( std::is_assignable_v<vec<half, 1 >, half>);
26+ static_assert ( std::is_assignable_v<vec<half, 1 >, float >);
27+ static_assert ( std::is_assignable_v<vec<half, 1 >, double >);
28+ static_assert ( std::is_assignable_v<vec<half, 1 >, vec<half, 1 >>);
29+ static_assert ( std::is_assignable_v<vec<half, 1 >, vec<float , 1 >>);
30+ static_assert ( std::is_assignable_v<vec<half, 1 >, vec<double , 1 >>);
31+ static_assert ( std::is_assignable_v<vec<half, 1 >, sw_half_1>);
32+ static_assert ( std::is_assignable_v<vec<half, 1 >, sw_float_1>);
33+ static_assert ( std::is_assignable_v<vec<half, 1 >, sw_double_1>);
34+ static_assert ( ! std::is_assignable_v<vec<half, 1 >, sw_half_2>);
35+ static_assert ( !std::is_assignable_v<vec<half, 1 >, sw_float_2>);
36+ static_assert ( !std::is_assignable_v<vec<half, 1 >, sw_double_2>);
4737
48- static_assert ( std::is_assignable_v<vec<float , 1 >, half>);
49- static_assert ( std::is_assignable_v<vec<float , 1 >, float >);
50- static_assert ( std::is_assignable_v<vec<float , 1 >, double >);
51- static_assert ( std::is_assignable_v<vec<float , 1 >, vec<half, 1 >>);
52- static_assert ( std::is_assignable_v<vec<float , 1 >, vec<float , 1 >>);
53- static_assert ( std::is_assignable_v<vec<float , 1 >, vec<double , 1 >>);
54- static_assert ( std::is_assignable_v<vec<float , 1 >, sw_half_1>);
55- static_assert ( std::is_assignable_v<vec<float , 1 >, sw_float_1>);
56- static_assert ( std::is_assignable_v<vec<float , 1 >, sw_double_1>);
57- static_assert ( ! std::is_assignable_v<vec<float , 1 >, sw_half_2>);
58- static_assert ( !std::is_assignable_v<vec<float , 1 >, sw_float_2>);
59- static_assert ( !std::is_assignable_v<vec<float , 1 >, sw_double_2>);
38+ static_assert ( std::is_assignable_v<vec<half, 2 >, half>);
39+ static_assert ( std::is_assignable_v<vec<half, 2 >, float >);
40+ static_assert ( std::is_assignable_v<vec<half, 2 >, double >);
41+ static_assert ( std::is_assignable_v<vec<half, 2 >, vec<half, 1 >>);
42+ static_assert ( ! std::is_assignable_v<vec<half, 2 >, vec<float , 1 >>);
43+ static_assert ( ! std::is_assignable_v<vec<half, 2 >, vec<double , 1 >>);
44+ static_assert ( std::is_assignable_v<vec<half, 2 >, sw_half_1>);
45+ static_assert ( std::is_assignable_v<vec<half, 2 >, sw_float_1>);
46+ static_assert ( std::is_assignable_v<vec<half, 2 >, sw_double_1>);
47+ static_assert ( std::is_assignable_v<vec<half, 2 >, sw_half_2>);
48+ static_assert ( !std::is_assignable_v<vec<half, 2 >, sw_float_2>);
49+ static_assert ( !std::is_assignable_v<vec<half, 2 >, sw_double_2>);
6050
61- static_assert ( std::is_assignable_v<vec<float , 2 >, half>);
62- static_assert ( std::is_assignable_v<vec<float , 2 >, float >);
63- static_assert ( std::is_assignable_v<vec<float , 2 >, double >);
51+ static_assert ( std::is_assignable_v<vec<float , 1 >, half>);
52+ static_assert ( std::is_assignable_v<vec<float , 1 >, float >);
53+ static_assert ( std::is_assignable_v<vec<float , 1 >, double >);
54+ static_assert ( std::is_assignable_v<vec<float , 1 >, vec<half, 1 >>);
55+ static_assert ( std::is_assignable_v<vec<float , 1 >, vec<float , 1 >>);
56+ static_assert ( std::is_assignable_v<vec<float , 1 >, vec<double , 1 >>);
57+ static_assert ( std::is_assignable_v<vec<float , 1 >, sw_half_1>);
58+ static_assert ( std::is_assignable_v<vec<float , 1 >, sw_float_1>);
59+ static_assert ( std::is_assignable_v<vec<float , 1 >, sw_double_1>);
60+ static_assert ( !std::is_assignable_v<vec<float , 1 >, sw_half_2>);
61+ static_assert ( !std::is_assignable_v<vec<float , 1 >, sw_float_2>);
62+ static_assert ( !std::is_assignable_v<vec<float , 1 >, sw_double_2>);
63+
64+ static_assert ( std::is_assignable_v<vec<float , 2 >, half>);
65+ static_assert ( std::is_assignable_v<vec<float , 2 >, float >);
66+ static_assert ( std::is_assignable_v<vec<float , 2 >, double >);
6467#if __SYCL_DEVICE_ONLY__
65- static_assert ( std::is_assignable_v<vec<float , 2 >, vec<half, 1 >>);
68+ static_assert ( std::is_assignable_v<vec<float , 2 >, vec<half, 1 >>);
6669#else
67- static_assert ( !std::is_assignable_v<vec<float , 2 >, vec<half, 1 >>);
70+ static_assert ( !std::is_assignable_v<vec<float , 2 >, vec<half, 1 >>);
6871#endif
69- static_assert ( std::is_assignable_v<vec<float , 2 >, vec<float , 1 >>);
70- static_assert ( std::is_assignable_v<vec<float , 2 >, vec<double , 1 >>);
71- static_assert ( std::is_assignable_v<vec<float , 2 >, sw_half_1>);
72- static_assert ( std::is_assignable_v<vec<float , 2 >, sw_float_1>);
73- static_assert ( std::is_assignable_v<vec<float , 2 >, sw_double_1>);
74- static_assert ( !std::is_assignable_v<vec<float , 2 >, sw_half_2>);
75- static_assert ( std::is_assignable_v<vec<float , 2 >, sw_float_2>);
76- static_assert ( !std::is_assignable_v<vec<float , 2 >, sw_double_2>);
72+ static_assert ( std::is_assignable_v<vec<float , 2 >, vec<float , 1 >>);
73+ static_assert ( std::is_assignable_v<vec<float , 2 >, vec<double , 1 >>);
74+ static_assert ( std::is_assignable_v<vec<float , 2 >, sw_half_1>);
75+ static_assert ( std::is_assignable_v<vec<float , 2 >, sw_float_1>);
76+ static_assert ( std::is_assignable_v<vec<float , 2 >, sw_double_1>);
77+ static_assert ( !std::is_assignable_v<vec<float , 2 >, sw_half_2>);
78+ static_assert ( std::is_assignable_v<vec<float , 2 >, sw_float_2>);
79+ static_assert ( !std::is_assignable_v<vec<float , 2 >, sw_double_2>);
0 commit comments