|
1 | 1 | // RUN: %{build} -o %t.out
|
2 | 2 | // RUN: %{run} %t.out
|
3 | 3 |
|
4 |
| -#ifdef _WIN32 |
5 |
| -#define _USE_MATH_DEFINES // To use math constants |
6 |
| -#endif |
7 |
| -#include <cmath> |
8 |
| - |
9 |
| -#include <sycl/detail/core.hpp> |
10 |
| - |
11 |
| -#include <sycl/builtins.hpp> |
12 |
| - |
13 |
| -#define TEST(FUNC, VEC_ELEM_TYPE, DIM, EXPECTED, DELTA, ...) \ |
14 |
| - { \ |
15 |
| - { \ |
16 |
| - VEC_ELEM_TYPE result[DIM]; \ |
17 |
| - { \ |
18 |
| - sycl::buffer<VEC_ELEM_TYPE> b(result, sycl::range{DIM}); \ |
19 |
| - deviceQueue.submit([&](sycl::handler &cgh) { \ |
20 |
| - sycl::accessor res_access{b, cgh}; \ |
21 |
| - cgh.single_task([=]() { \ |
22 |
| - sycl::vec<VEC_ELEM_TYPE, DIM> res = FUNC(__VA_ARGS__); \ |
23 |
| - for (int i = 0; i < DIM; i++) \ |
24 |
| - res_access[i] = res[i]; \ |
25 |
| - }); \ |
26 |
| - }); \ |
27 |
| - } \ |
28 |
| - for (int i = 0; i < DIM; i++) \ |
29 |
| - assert(abs(result[i] - EXPECTED[i]) <= DELTA); \ |
30 |
| - } \ |
31 |
| - } |
32 |
| - |
33 |
| -#define EXPECTED(TYPE, ...) ((TYPE[]){__VA_ARGS__}) |
| 4 | +#include "vec_common.hpp" |
34 | 5 |
|
35 | 6 | int main() {
|
36 |
| - sycl::queue deviceQueue; |
37 |
| - sycl::device dev = deviceQueue.get_device(); |
38 |
| - |
39 |
| - sycl::vec<float, 2> va1{1.0f, 2.0f}; |
40 |
| - sycl::vec<float, 2> va2{1.0f, 2.0f}; |
41 |
| - sycl::vec<float, 2> va3{3.0f, 2.0f}; |
42 |
| - sycl::vec<double, 2> va4{1.0, 2.0}; |
43 |
| - sycl::vec<float, 3> va5{M_PI, M_PI, M_PI}; |
44 |
| - sycl::vec<double, 3> va6{M_PI, M_PI, M_PI}; |
45 |
| - sycl::vec<sycl::half, 3> va7{M_PI, M_PI, M_PI}; |
46 |
| - sycl::vec<float, 2> va8{0.3f, 0.6f}; |
47 |
| - sycl::vec<double, 2> va9{5.0, 8.0}; |
48 |
| - sycl::vec<float, 3> va10{180, 180, 180}; |
49 |
| - sycl::vec<double, 3> va11{180, 180, 180}; |
50 |
| - sycl::vec<sycl::half, 3> va12{180, 180, 180}; |
51 |
| - sycl::vec<sycl::half, 3> va13{181, 179, 181}; |
52 |
| - sycl::vec<float, 2> va14{+0.0f, -0.6f}; |
53 |
| - sycl::vec<double, 2> va15{-0.0, 0.6f}; |
54 |
| - sycl::vec<float, 3> va16{180, 360, 540}; |
55 |
| - sycl::vec<double, 3> va17{180, 360, 540}; |
56 |
| - sycl::vec<float, 3> va18{0.3f, 0.6f, 0.9f}; |
57 |
| - |
58 |
| - // sycl::clamp |
59 |
| - TEST(sycl::clamp, float, 2, EXPECTED(float, 1.0f, 2.0f), 0, va1, va2, va3); |
60 |
| - TEST(sycl::clamp, float, 2, EXPECTED(float, 1.0f, 2.0f), 0, va1, 1.0f, 3.0f); |
61 |
| - if (dev.has(sycl::aspect::fp64)) { |
62 |
| - TEST(sycl::clamp, double, 2, EXPECTED(double, 1.0, 2.0), 0, va4, 1.0, 3.0); |
63 |
| - } |
64 |
| - // sycl::degrees |
65 |
| - TEST(sycl::degrees, float, 3, EXPECTED(float, 180, 180, 180), 0, va5); |
66 |
| - if (dev.has(sycl::aspect::fp64)) { |
67 |
| - TEST(sycl::degrees, double, 3, EXPECTED(double, 180, 180, 180), 0, va6); |
68 |
| - } |
69 |
| - if (dev.has(sycl::aspect::fp16)) { |
70 |
| - TEST(sycl::degrees, sycl::half, 3, EXPECTED(sycl::half, 180, 180, 180), 0.2, |
71 |
| - va7); |
72 |
| - } |
73 |
| - // sycl::max |
74 |
| - TEST(sycl::max, float, 2, EXPECTED(float, 3.0f, 2.0f), 0, va1, va3); |
75 |
| - TEST(sycl::max, float, 2, EXPECTED(float, 1.5f, 2.0f), 0, va1, 1.5f); |
76 |
| - if (dev.has(sycl::aspect::fp64)) { |
77 |
| - TEST(sycl::max, double, 2, EXPECTED(double, 1.5, 2.0), 0, va4, 1.5); |
78 |
| - } |
79 |
| - // sycl::min |
80 |
| - TEST(sycl::min, float, 2, EXPECTED(float, 1.0f, 2.0f), 0, va1, va3); |
81 |
| - TEST(sycl::min, float, 2, EXPECTED(float, 1.0f, 1.5f), 0, va1, 1.5f); |
82 |
| - if (dev.has(sycl::aspect::fp64)) { |
83 |
| - TEST(sycl::min, double, 2, EXPECTED(double, 1.0, 1.5), 0, va4, 1.5); |
84 |
| - } |
85 |
| - // sycl::mix |
86 |
| - TEST(sycl::mix, float, 2, EXPECTED(float, 1.6f, 2.0f), 0, va1, va3, va8); |
87 |
| - TEST(sycl::mix, float, 2, EXPECTED(float, 1.4f, 2.0f), 0, va1, va3, 0.2); |
88 |
| - if (dev.has(sycl::aspect::fp64)) { |
89 |
| - TEST(sycl::mix, double, 2, EXPECTED(double, 3.0, 5.0), 0, va4, va9, 0.5); |
90 |
| - } |
91 |
| - // sycl::radians |
92 |
| - TEST(sycl::radians, float, 3, EXPECTED(float, M_PI, M_PI, M_PI), 0, va10); |
93 |
| - if (dev.has(sycl::aspect::fp64)) { |
94 |
| - TEST(sycl::radians, double, 3, EXPECTED(double, M_PI, M_PI, M_PI), 0, va11); |
95 |
| - } |
96 |
| - if (dev.has(sycl::aspect::fp16)) { |
97 |
| - TEST(sycl::radians, sycl::half, 3, EXPECTED(sycl::half, M_PI, M_PI, M_PI), |
98 |
| - 0.002, va12); |
99 |
| - } |
100 |
| - // sycl::step |
101 |
| - TEST(sycl::step, float, 2, EXPECTED(float, 1.0f, 1.0f), 0, va1, va3); |
102 |
| - if (dev.has(sycl::aspect::fp64)) { |
103 |
| - TEST(sycl::step, double, 2, EXPECTED(double, 1.0, 1.0), 0, va4, va9); |
104 |
| - } |
105 |
| - if (dev.has(sycl::aspect::fp16)) { |
106 |
| - TEST(sycl::step, sycl::half, 3, EXPECTED(sycl::half, 1.0, 0.0, 1.0), 0, |
107 |
| - va12, va13); |
108 |
| - } |
109 |
| - TEST(sycl::step, float, 2, EXPECTED(float, 1.0f, 0.0f), 0, 2.5f, va3); |
110 |
| - if (dev.has(sycl::aspect::fp64)) { |
111 |
| - TEST(sycl::step, double, 2, EXPECTED(double, 0.0f, 1.0f), 0, 6.0f, va9); |
112 |
| - } |
113 |
| - // sycl::smoothstep |
114 |
| - TEST(sycl::smoothstep, float, 2, EXPECTED(float, 1.0f, 1.0f), 0, va8, va1, |
115 |
| - va2); |
116 |
| - if (dev.has(sycl::aspect::fp64)) { |
117 |
| - TEST(sycl::smoothstep, double, 2, EXPECTED(double, 1.0, 1.0f), 0.00000001, |
118 |
| - va4, va9, va9); |
119 |
| - } |
120 |
| - if (dev.has(sycl::aspect::fp16)) { |
121 |
| - TEST(sycl::smoothstep, sycl::half, 3, EXPECTED(sycl::half, 1.0, 1.0, 1.0), |
122 |
| - 0, va7, va12, va13); |
123 |
| - } |
124 |
| - TEST(sycl::smoothstep, float, 2, EXPECTED(float, 0.0553936f, 0.0f), 0.0000001, |
125 |
| - 2.5f, 6.0f, va3); |
126 |
| - if (dev.has(sycl::aspect::fp64)) { |
127 |
| - TEST(sycl::smoothstep, double, 2, EXPECTED(double, 0.0f, 1.0f), 0, 6.0f, |
128 |
| - 8.0f, va9); |
129 |
| - } |
130 |
| - // sign |
131 |
| - TEST(sycl::sign, float, 2, EXPECTED(float, +0.0f, -1.0f), 0, va14); |
132 |
| - if (dev.has(sycl::aspect::fp64)) { |
133 |
| - TEST(sycl::sign, double, 2, EXPECTED(double, -0.0, 1.0), 0, va15); |
134 |
| - } |
135 |
| - if (dev.has(sycl::aspect::fp16)) { |
136 |
| - TEST(sycl::sign, sycl::half, 3, EXPECTED(sycl::half, 1.0, 1.0, 1.0), 0, |
137 |
| - va12); |
138 |
| - } |
139 |
| - |
140 |
| - // sycl::clamp swizzled |
141 |
| - TEST(sycl::clamp, float, 2, EXPECTED(float, 3.0f, 2.0f), 0, |
142 |
| - va16.swizzle<1, 0>(), va2, va3); |
143 |
| - TEST(sycl::clamp, float, 2, EXPECTED(float, 1.0f, 2.0f), 0, va1, va2, |
144 |
| - va16.swizzle<1, 0>()); |
145 |
| - TEST(sycl::clamp, float, 2, EXPECTED(float, 360.0f, 180.0f), 0, |
146 |
| - va16.swizzle<1, 0>(), va2, va16.swizzle<1, 0>()); |
147 |
| - TEST(sycl::clamp, float, 2, EXPECTED(float, 360.0f, 180.0f), 0, va1, |
148 |
| - va16.swizzle<1, 0>(), va16.swizzle<1, 0>()); |
149 |
| - TEST(sycl::clamp, float, 2, EXPECTED(float, 360.0f, 180.0f), 0, |
150 |
| - va16.swizzle<1, 0>(), va16.swizzle<1, 0>(), va16.swizzle<1, 0>()); |
151 |
| - TEST(sycl::clamp, float, 2, EXPECTED(float, 3.0f, 3.0f), 0, |
152 |
| - va16.swizzle<1, 0>(), 1.0f, 3.0f); |
153 |
| - if (dev.has(sycl::aspect::fp64)) { |
154 |
| - TEST(sycl::clamp, double, 2, EXPECTED(double, 3.0, 3.0), 0, |
155 |
| - va11.swizzle<1, 0>(), 1.0, 3.0); |
156 |
| - } |
157 |
| - // sycl::degrees swizzled |
158 |
| - TEST(sycl::degrees, float, 2, EXPECTED(float, 180, 180), 0, |
159 |
| - va5.swizzle<1, 0>()); |
160 |
| - if (dev.has(sycl::aspect::fp64)) { |
161 |
| - TEST(sycl::degrees, double, 2, EXPECTED(double, 180, 180), 0, |
162 |
| - va6.swizzle<1, 0>()); |
163 |
| - } |
164 |
| - if (dev.has(sycl::aspect::fp16)) { |
165 |
| - TEST(sycl::degrees, sycl::half, 2, EXPECTED(sycl::half, 180, 180), 0.2, |
166 |
| - va7.swizzle<1, 0>()); |
167 |
| - } |
168 |
| - // sycl::max swizzled |
169 |
| - TEST(sycl::max, float, 2, EXPECTED(float, 360.0f, 180.0f), 0, |
170 |
| - va16.swizzle<1, 0>(), va3); |
171 |
| - TEST(sycl::max, float, 2, EXPECTED(float, 360.0f, 180.0f), 0, va1, |
172 |
| - va16.swizzle<1, 0>()); |
173 |
| - TEST(sycl::max, float, 2, EXPECTED(float, 360.0f, 190.0f), 0, |
174 |
| - va16.swizzle<1, 0>(), 190.0f); |
175 |
| - if (dev.has(sycl::aspect::fp64)) { |
176 |
| - TEST(sycl::max, double, 2, EXPECTED(double, 360.0, 190.0), 0, |
177 |
| - va17.swizzle<1, 0>(), 190.0); |
178 |
| - } |
179 |
| - // sycl::min swizzled |
180 |
| - TEST(sycl::min, float, 2, EXPECTED(float, 3.0f, 2.0f), 0, |
181 |
| - va16.swizzle<1, 0>(), va3); |
182 |
| - TEST(sycl::min, float, 2, EXPECTED(float, 1.0f, 2.0f), 0, va1, |
183 |
| - va16.swizzle<1, 0>()); |
184 |
| - TEST(sycl::min, float, 2, EXPECTED(float, 190.0f, 180.0f), 0, |
185 |
| - va16.swizzle<1, 0>(), 190.0f); |
186 |
| - if (dev.has(sycl::aspect::fp64)) { |
187 |
| - TEST(sycl::min, double, 2, EXPECTED(double, 190.0f, 180.0f), 0, |
188 |
| - va17.swizzle<1, 0>(), 190.0); |
189 |
| - } |
190 |
| - // sycl::mix swizzled |
191 |
| - TEST(sycl::mix, float, 2, EXPECTED(float, 252.9f, 73.2f), 0, |
192 |
| - va16.swizzle<1, 0>(), va3, va8); |
193 |
| - TEST(sycl::mix, float, 2, EXPECTED(float, 252.9f, 73.2f), 0, |
194 |
| - va16.swizzle<1, 0>(), va3, va18.swizzle<0, 1>()); |
195 |
| - TEST(sycl::mix, float, 2, EXPECTED(float, 108.7f, 108.8f), 0.00001, va1, |
196 |
| - va16.swizzle<1, 0>(), va8); |
197 |
| - TEST(sycl::mix, float, 2, EXPECTED(float, 108.7f, 108.8f), 0.00001, va1, |
198 |
| - va16.swizzle<1, 0>(), va18.swizzle<0, 1>()); |
199 |
| - TEST(sycl::mix, float, 2, EXPECTED(float, 360.0f, 180.0f), 0, |
200 |
| - va16.swizzle<1, 0>(), va16.swizzle<1, 0>(), va8); |
201 |
| - TEST(sycl::mix, float, 2, EXPECTED(float, 360.0f, 180.0f), 0, |
202 |
| - va16.swizzle<1, 0>(), va16.swizzle<1, 0>(), va18.swizzle<0, 1>()); |
203 |
| - TEST(sycl::mix, float, 2, EXPECTED(float, 1.6f, 2.0f), 0, va1, va3, |
204 |
| - va18.swizzle<0, 1>()); |
205 |
| - if (dev.has(sycl::aspect::fp64)) { |
206 |
| - TEST(sycl::mix, double, 2, EXPECTED(double, 182.5, 94.0), 0, |
207 |
| - va17.swizzle<1, 0>(), va9, 0.5); |
208 |
| - TEST(sycl::mix, double, 2, EXPECTED(double, 180.5, 91.0), 0, va4, |
209 |
| - va17.swizzle<1, 0>(), 0.5); |
210 |
| - TEST(sycl::mix, double, 2, EXPECTED(double, 360.0, 180.0), 0, |
211 |
| - va17.swizzle<1, 0>(), va17.swizzle<1, 0>(), 0.5); |
212 |
| - } |
213 |
| - // sycl::radians swizzled |
214 |
| - TEST(sycl::radians, float, 2, EXPECTED(float, M_PI, M_PI), 0, |
215 |
| - va10.swizzle<1, 0>()); |
216 |
| - if (dev.has(sycl::aspect::fp64)) { |
217 |
| - TEST(sycl::radians, double, 2, EXPECTED(double, M_PI, M_PI), 0, |
218 |
| - va11.swizzle<1, 0>()); |
219 |
| - } |
220 |
| - if (dev.has(sycl::aspect::fp16)) { |
221 |
| - TEST(sycl::radians, sycl::half, 2, EXPECTED(sycl::half, M_PI, M_PI), 0.002, |
222 |
| - va12.swizzle<1, 0>()); |
223 |
| - } |
224 |
| - // sycl::step swizzled |
225 |
| - TEST(sycl::step, float, 2, EXPECTED(float, 0.0f, 0.0f), 0, |
226 |
| - va16.swizzle<1, 0>(), va3); |
227 |
| - TEST(sycl::step, float, 2, EXPECTED(float, 1.0f, 1.0f), 0, va1, |
228 |
| - va16.swizzle<1, 0>()); |
229 |
| - TEST(sycl::step, float, 2, EXPECTED(float, 1.0f, 1.0f), 0, |
230 |
| - va16.swizzle<1, 0>(), va16.swizzle<1, 0>()); |
231 |
| - if (dev.has(sycl::aspect::fp64)) { |
232 |
| - TEST(sycl::step, double, 2, EXPECTED(double, 0.0, 0.0), 0, |
233 |
| - va17.swizzle<1, 0>(), va9); |
234 |
| - TEST(sycl::step, double, 2, EXPECTED(double, 1.0, 1.0), 0, va4, |
235 |
| - va17.swizzle<1, 0>()); |
236 |
| - TEST(sycl::step, double, 2, EXPECTED(double, 1.0, 1.0), 0, |
237 |
| - va17.swizzle<1, 0>(), va17.swizzle<1, 0>()); |
238 |
| - } |
239 |
| - if (dev.has(sycl::aspect::fp16)) { |
240 |
| - TEST(sycl::step, sycl::half, 3, EXPECTED(sycl::half, 1.0, 0.0, 1.0), 0, |
241 |
| - va12.swizzle<0, 1, 2>(), va13); |
242 |
| - TEST(sycl::step, sycl::half, 3, EXPECTED(sycl::half, 1.0, 0.0, 1.0), 0, |
243 |
| - va12, va13.swizzle<0, 1, 2>()); |
244 |
| - TEST(sycl::step, sycl::half, 3, EXPECTED(sycl::half, 1.0, 0.0, 1.0), 0, |
245 |
| - va12.swizzle<0, 1, 2>(), va13.swizzle<0, 1, 2>()); |
246 |
| - } |
247 |
| - TEST(sycl::step, float, 2, EXPECTED(float, 0.0f, 1.0f), 0, 2.5f, |
248 |
| - va3.swizzle<1, 0>()); |
249 |
| - if (dev.has(sycl::aspect::fp64)) { |
250 |
| - TEST(sycl::step, double, 2, EXPECTED(double, 1.0f, 0.0f), 0, 6.0f, |
251 |
| - va9.swizzle<1, 0>()); |
252 |
| - } |
253 |
| - // sycl::smoothstep swizzled |
254 |
| - TEST(sycl::smoothstep, float, 2, EXPECTED(float, 1.0f, 1.0f), 0, |
255 |
| - va8.swizzle<0, 1>(), va1, va2); |
256 |
| - TEST(sycl::smoothstep, float, 2, EXPECTED(float, 1.0f, 1.0f), 0, va8, |
257 |
| - va1.swizzle<0, 1>(), va2); |
258 |
| - TEST(sycl::smoothstep, float, 2, EXPECTED(float, 1.0f, 1.0f), 0, va8, va1, |
259 |
| - va2.swizzle<0, 1>()); |
260 |
| - TEST(sycl::smoothstep, float, 2, EXPECTED(float, 1.0f, 1.0f), 0, |
261 |
| - va8.swizzle<0, 1>(), va1.swizzle<0, 1>(), va2); |
262 |
| - TEST(sycl::smoothstep, float, 2, EXPECTED(float, 1.0f, 1.0f), 0, |
263 |
| - va8.swizzle<0, 1>(), va1, va2.swizzle<0, 1>()); |
264 |
| - TEST(sycl::smoothstep, float, 2, EXPECTED(float, 1.0f, 1.0f), 0, va8, |
265 |
| - va1.swizzle<0, 1>(), va2.swizzle<0, 1>()); |
266 |
| - TEST(sycl::smoothstep, float, 2, EXPECTED(float, 1.0f, 1.0f), 0, |
267 |
| - va8.swizzle<0, 1>(), va1.swizzle<0, 1>(), va2.swizzle<0, 1>()); |
268 |
| - if (dev.has(sycl::aspect::fp64)) { |
269 |
| - TEST(sycl::smoothstep, double, 2, EXPECTED(double, 1.0, 1.0f), 0.00000001, |
270 |
| - va4.swizzle<0, 1>(), va9, va9); |
271 |
| - TEST(sycl::smoothstep, double, 2, EXPECTED(double, 1.0, 1.0f), 0.00000001, |
272 |
| - va4, va9.swizzle<0, 1>(), va9); |
273 |
| - TEST(sycl::smoothstep, double, 2, EXPECTED(double, 1.0, 1.0f), 0.00000001, |
274 |
| - va4, va9, va9.swizzle<0, 1>()); |
275 |
| - TEST(sycl::smoothstep, double, 2, EXPECTED(double, 1.0, 1.0f), 0.00000001, |
276 |
| - va4.swizzle<0, 1>(), va9.swizzle<0, 1>(), va9); |
277 |
| - TEST(sycl::smoothstep, double, 2, EXPECTED(double, 1.0, 1.0f), 0.00000001, |
278 |
| - va4.swizzle<0, 1>(), va9, va9.swizzle<0, 1>()); |
279 |
| - TEST(sycl::smoothstep, double, 2, EXPECTED(double, 1.0, 1.0f), 0.00000001, |
280 |
| - va4, va9.swizzle<0, 1>(), va9.swizzle<0, 1>()); |
281 |
| - TEST(sycl::smoothstep, double, 2, EXPECTED(double, 1.0, 1.0f), 0.00000001, |
282 |
| - va4.swizzle<0, 1>(), va9.swizzle<0, 1>(), va9.swizzle<0, 1>()); |
283 |
| - } |
284 |
| - if (dev.has(sycl::aspect::fp16)) { |
285 |
| - TEST(sycl::smoothstep, sycl::half, 3, EXPECTED(sycl::half, 1.0, 1.0, 1.0), |
286 |
| - 0, va7.swizzle<0, 1, 2>(), va12, va13); |
287 |
| - TEST(sycl::smoothstep, sycl::half, 3, EXPECTED(sycl::half, 1.0, 1.0, 1.0), |
288 |
| - 0, va7, va12.swizzle<0, 1, 2>(), va13); |
289 |
| - TEST(sycl::smoothstep, sycl::half, 3, EXPECTED(sycl::half, 1.0, 1.0, 1.0), |
290 |
| - 0, va7, va12, va13.swizzle<0, 1, 2>()); |
291 |
| - TEST(sycl::smoothstep, sycl::half, 3, EXPECTED(sycl::half, 1.0, 1.0, 1.0), |
292 |
| - 0, va7.swizzle<0, 1, 2>(), va12.swizzle<0, 1, 2>(), va13); |
293 |
| - TEST(sycl::smoothstep, sycl::half, 3, EXPECTED(sycl::half, 1.0, 1.0, 1.0), |
294 |
| - 0, va7.swizzle<0, 1, 2>(), va12, va13.swizzle<0, 1, 2>()); |
295 |
| - TEST(sycl::smoothstep, sycl::half, 3, EXPECTED(sycl::half, 1.0, 1.0, 1.0), |
296 |
| - 0, va7, va12.swizzle<0, 1, 2>(), va13.swizzle<0, 1, 2>()); |
297 |
| - TEST(sycl::smoothstep, sycl::half, 3, EXPECTED(sycl::half, 1.0, 1.0, 1.0), |
298 |
| - 0, va7.swizzle<0, 1, 2>(), va12.swizzle<0, 1, 2>(), |
299 |
| - va13.swizzle<0, 1, 2>()); |
300 |
| - } |
301 |
| - TEST(sycl::smoothstep, float, 2, EXPECTED(float, 0.0f, 0.0553936f), 0.0000001, |
302 |
| - 2.5f, 6.0f, va3.swizzle<1, 0>()); |
303 |
| - if (dev.has(sycl::aspect::fp64)) { |
304 |
| - TEST(sycl::smoothstep, double, 2, EXPECTED(double, 0.0f, 1.0f), 0, 6.0f, |
305 |
| - 8.0f, va9); |
306 |
| - TEST(sycl::smoothstep, double, 2, EXPECTED(double, 1.0f, 0.0f), 0, 6.0f, |
307 |
| - 8.0f, va9.swizzle<1, 0>()); |
308 |
| - } |
309 |
| - // sign swizzled |
310 |
| - TEST(sycl::sign, float, 2, EXPECTED(float, -1.0f, +0.0f), 0, |
311 |
| - va14.swizzle<1, 0>()); |
312 |
| - if (dev.has(sycl::aspect::fp64)) { |
313 |
| - TEST(sycl::sign, double, 2, EXPECTED(double, 1.0, -0.0), 0, |
314 |
| - va15.swizzle<1, 0>()); |
315 |
| - } |
316 |
| - if (dev.has(sycl::aspect::fp16)) { |
317 |
| - TEST(sycl::sign, sycl::half, 3, EXPECTED(sycl::half, 1.0, 1.0, 1.0), 0, |
318 |
| - va12.swizzle<2, 1, 0>()); |
319 |
| - } |
320 |
| - |
| 7 | + run_test<sycl::vec>(); |
321 | 8 | return 0;
|
322 | 9 | }
|
0 commit comments