DPC++ Runtime
Runtime libraries for oneAPI DPC++
imf_fp_conversions.hpp
Go to the documentation of this file.
1 //==--------- imf_fp_conversions.hpp - floating point conversions ----------==//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 // APIs for floating point conversions
9 //===----------------------------------------------------------------------===//
10 
11 #pragma once
12 
13 #include <sycl/bit_cast.hpp>
14 #include <sycl/ext/intel/math.hpp>
16 #include <sycl/half_type.hpp>
17 
18 extern "C" {
19 int __imf_float2int_rd(float);
20 int __imf_float2int_rn(float);
21 int __imf_float2int_ru(float);
22 int __imf_float2int_rz(float);
23 unsigned int __imf_float2uint_rd(float);
24 unsigned int __imf_float2uint_rn(float);
25 unsigned int __imf_float2uint_ru(float);
26 unsigned int __imf_float2uint_rz(float);
27 long long int __imf_float2ll_rd(float);
28 long long int __imf_float2ll_rn(float);
29 long long int __imf_float2ll_ru(float);
30 long long int __imf_float2ll_rz(float);
31 unsigned long long int __imf_float2ull_rd(float);
32 unsigned long long int __imf_float2ull_rn(float);
33 unsigned long long int __imf_float2ull_ru(float);
34 unsigned long long int __imf_float2ull_rz(float);
35 int __imf_float_as_int(float);
36 unsigned int __imf_float_as_uint(float);
37 float __imf_int2float_rd(int);
38 float __imf_int2float_rn(int);
39 float __imf_int2float_ru(int);
40 float __imf_int2float_rz(int);
41 float __imf_int_as_float(int);
42 float __imf_ll2float_rd(long long int);
43 float __imf_ll2float_rn(long long int);
44 float __imf_ll2float_ru(long long int);
45 float __imf_ll2float_rz(long long int);
46 float __imf_uint2float_rd(unsigned int);
47 float __imf_uint2float_rn(unsigned int);
48 float __imf_uint2float_ru(unsigned int);
49 float __imf_uint2float_rz(unsigned int);
50 float __imf_uint_as_float(unsigned int);
51 float __imf_ull2float_rd(unsigned long long int);
52 float __imf_ull2float_rn(unsigned long long int);
53 float __imf_ull2float_ru(unsigned long long int);
54 float __imf_ull2float_rz(unsigned long long int);
55 float __imf_double2float_rd(double);
56 float __imf_double2float_rn(double);
57 float __imf_double2float_ru(double);
58 float __imf_double2float_rz(double);
59 int __imf_double2hiint(double);
60 int __imf_double2loint(double);
61 int __imf_double2int_rd(double);
62 int __imf_double2int_rn(double);
63 int __imf_double2int_ru(double);
64 int __imf_double2int_rz(double);
65 long long __imf_double2ll_rd(double);
66 long long __imf_double2ll_rn(double);
67 long long __imf_double2ll_ru(double);
68 long long __imf_double2ll_rz(double);
69 unsigned int __imf_double2uint_rd(double);
70 unsigned int __imf_double2uint_rn(double);
71 unsigned int __imf_double2uint_ru(double);
72 unsigned int __imf_double2uint_rz(double);
73 unsigned long long __imf_double2ull_rd(double);
74 unsigned long long __imf_double2ull_rn(double);
75 unsigned long long __imf_double2ull_ru(double);
76 unsigned long long __imf_double2ull_rz(double);
77 long long __imf_double_as_longlong(double);
78 double __imf_hiloint2double(int, int);
79 double __imf_int2double_rn(int);
80 double __imf_ll2double_rd(long long);
81 double __imf_ll2double_rn(long long);
82 double __imf_ll2double_ru(long long);
83 double __imf_ll2double_rz(long long);
84 double __imf_longlong_as_double(long long);
85 double __imf_uint2double_rn(unsigned);
86 double __imf_ull2double_rd(unsigned long long);
87 double __imf_ull2double_rn(unsigned long long);
88 double __imf_ull2double_ru(unsigned long long);
89 double __imf_ull2double_rz(unsigned long long);
148 unsigned short __imf_bfloat162ushort_rd(uint16_t);
149 unsigned short __imf_bfloat162ushort_rn(uint16_t);
150 unsigned short __imf_bfloat162ushort_ru(uint16_t);
151 unsigned short __imf_bfloat162ushort_rz(uint16_t);
152 short __imf_bfloat162short_rd(uint16_t);
153 short __imf_bfloat162short_rn(uint16_t);
154 short __imf_bfloat162short_ru(uint16_t);
155 short __imf_bfloat162short_rz(uint16_t);
156 unsigned int __imf_bfloat162uint_rd(uint16_t);
157 unsigned int __imf_bfloat162uint_rn(uint16_t);
158 unsigned int __imf_bfloat162uint_ru(uint16_t);
159 unsigned int __imf_bfloat162uint_rz(uint16_t);
160 int __imf_bfloat162int_rd(uint16_t);
161 int __imf_bfloat162int_rn(uint16_t);
162 int __imf_bfloat162int_ru(uint16_t);
163 int __imf_bfloat162int_rz(uint16_t);
164 unsigned long long __imf_bfloat162ull_rd(uint16_t);
165 unsigned long long __imf_bfloat162ull_rn(uint16_t);
166 unsigned long long __imf_bfloat162ull_ru(uint16_t);
167 unsigned long long __imf_bfloat162ull_rz(uint16_t);
168 long long __imf_bfloat162ll_rd(uint16_t);
169 long long __imf_bfloat162ll_rn(uint16_t);
170 long long __imf_bfloat162ll_ru(uint16_t);
171 long long __imf_bfloat162ll_rz(uint16_t);
172 float __imf_bfloat162float(uint16_t);
173 uint16_t __imf_float2bfloat16(float);
174 uint16_t __imf_float2bfloat16_rd(float);
175 uint16_t __imf_float2bfloat16_rn(float);
176 uint16_t __imf_float2bfloat16_ru(float);
177 uint16_t __imf_float2bfloat16_rz(float);
178 uint16_t __imf_ushort2bfloat16_rd(unsigned short);
179 uint16_t __imf_ushort2bfloat16_rn(unsigned short);
180 uint16_t __imf_ushort2bfloat16_ru(unsigned short);
181 uint16_t __imf_ushort2bfloat16_rz(unsigned short);
182 uint16_t __imf_uint2bfloat16_rd(unsigned int);
183 uint16_t __imf_uint2bfloat16_rn(unsigned int);
184 uint16_t __imf_uint2bfloat16_ru(unsigned int);
185 uint16_t __imf_uint2bfloat16_rz(unsigned int);
186 uint16_t __imf_ull2bfloat16_rd(unsigned long long);
187 uint16_t __imf_ull2bfloat16_rn(unsigned long long);
188 uint16_t __imf_ull2bfloat16_ru(unsigned long long);
189 uint16_t __imf_ull2bfloat16_rz(unsigned long long);
190 uint16_t __imf_short2bfloat16_rd(short);
191 uint16_t __imf_short2bfloat16_rn(short);
192 uint16_t __imf_short2bfloat16_ru(short);
193 uint16_t __imf_short2bfloat16_rz(short);
194 uint16_t __imf_int2bfloat16_rd(int);
195 uint16_t __imf_int2bfloat16_rn(int);
196 uint16_t __imf_int2bfloat16_ru(int);
197 uint16_t __imf_int2bfloat16_rz(int);
198 uint16_t __imf_ll2bfloat16_rd(long long);
199 uint16_t __imf_ll2bfloat16_rn(long long);
200 uint16_t __imf_ll2bfloat16_ru(long long);
201 uint16_t __imf_ll2bfloat16_rz(long long);
202 uint16_t __imf_double2bfloat16(double);
203 short __imf_bfloat16_as_short(uint16_t);
204 unsigned short __imf_bfloat16_as_ushort(uint16_t);
205 uint16_t __imf_short_as_bfloat16(short);
206 uint16_t __imf_ushort_as_bfloat16(unsigned short);
207 };
208 
209 namespace sycl {
210 inline namespace _V1 {
211 namespace ext::intel::math {
212 
213 template <typename To = int, typename From = float> To float2int_rd(From x) {
214  return __imf_float2int_rd(x);
215 }
216 
217 template <typename To = int, typename From = float> To float2int_rn(From x) {
218  return __imf_float2int_rn(x);
219 }
220 
221 template <typename To = int, typename From = float> To float2int_ru(From x) {
222  return __imf_float2int_ru(x);
223 }
224 
225 template <typename To = int, typename From = float> To float2int_rz(From x) {
226  return __imf_float2int_rz(x);
227 }
228 
229 template <typename To = unsigned int, typename From = float>
230 To float2uint_rd(From x) {
231  return __imf_float2uint_rd(x);
232 }
233 
234 template <typename To = unsigned int, typename From = float>
235 To float2uint_rn(From x) {
236  return __imf_float2uint_rn(x);
237 }
238 
239 template <typename To = unsigned int, typename From = float>
240 To float2uint_ru(From x) {
241  return __imf_float2uint_ru(x);
242 }
243 
244 template <typename To = unsigned int, typename From = float>
245 To float2uint_rz(From x) {
246  return __imf_float2uint_rz(x);
247 }
248 
249 template <typename To = long long, typename From = float>
250 To float2ll_rd(From x) {
251  return __imf_float2ll_rd(x);
252 }
253 
254 template <typename To = long long, typename From = float>
255 To float2ll_rn(From x) {
256  return __imf_float2ll_rn(x);
257 }
258 
259 template <typename To = long long, typename From = float>
260 To float2ll_ru(From x) {
261  return __imf_float2ll_ru(x);
262 }
263 
264 template <typename To = long long, typename From = float>
265 To float2ll_rz(From x) {
266  return __imf_float2ll_rz(x);
267 }
268 
269 template <typename To = unsigned long long, typename From = float>
270 To float2ull_rd(From x) {
271  return __imf_float2ull_rd(x);
272 }
273 
274 template <typename To = unsigned long long, typename From = float>
275 To float2ull_rn(From x) {
276  return __imf_float2ull_rn(x);
277 }
278 
279 template <typename To = unsigned long long, typename From = float>
280 To float2ull_ru(From x) {
281  return __imf_float2ull_ru(x);
282 }
283 
284 template <typename To = unsigned long long, typename From = float>
285 To float2ull_rz(From x) {
286  return __imf_float2ull_rz(x);
287 }
288 
289 template <typename To = float, typename From = long long>
290 To ll2float_rd(From x) {
291  return __imf_ll2float_rd(x);
292 }
293 
294 template <typename To = float, typename From = long long>
295 To ll2float_rn(From x) {
296  return __imf_ll2float_rn(x);
297 }
298 
299 template <typename To = float, typename From = long long>
300 To ll2float_ru(From x) {
301  return __imf_ll2float_ru(x);
302 }
303 
304 template <typename To = float, typename From = long long>
305 To ll2float_rz(From x) {
306  return __imf_ll2float_rz(x);
307 }
308 
309 template <typename To = float, typename From = unsigned long long>
310 To ull2float_rd(From x) {
311  return __imf_ull2float_rd(x);
312 }
313 
314 template <typename To = float, typename From = unsigned long long>
315 To ull2float_rn(From x) {
316  return __imf_ull2float_rn(x);
317 }
318 
319 template <typename To = float, typename From = unsigned long long>
320 To ull2float_ru(From x) {
321  return __imf_ull2float_ru(x);
322 }
323 
324 template <typename To = float, typename From = unsigned long long>
325 To ull2float_rz(From x) {
326  return __imf_ull2float_rz(x);
327 }
328 
329 template <typename To = float, typename From = int> To int2float_rd(From x) {
330  return __imf_int2float_rd(x);
331 }
332 
333 template <typename To = float, typename From = int> To int2float_rn(From x) {
334  return __imf_int2float_rn(x);
335 }
336 
337 template <typename To = float, typename From = int> To int2float_ru(From x) {
338  return __imf_int2float_ru(x);
339 }
340 
341 template <typename To = float, typename From = int> To int2float_rz(From x) {
342  return __imf_int2float_rz(x);
343 }
344 
345 template <typename To = float, typename From = unsigned int>
346 To uint2float_rd(From x) {
347  return __imf_uint2float_rd(x);
348 }
349 
350 template <typename To = float, typename From = unsigned int>
351 To uint2float_rn(From x) {
352  return __imf_uint2float_rn(x);
353 }
354 
355 template <typename To = float, typename From = unsigned int>
356 To uint2float_ru(From x) {
357  return __imf_uint2float_ru(x);
358 }
359 
360 template <typename To = float, typename From = unsigned int>
361 To uint2float_rz(From x) {
362  return __imf_uint2float_rz(x);
363 }
364 
365 template <typename To = int, typename From = float> To float_as_int(From x) {
366  return __imf_float_as_int(x);
367 }
368 
369 template <typename To = unsigned int, typename From = float>
370 To float_as_uint(From x) {
371  return __imf_float_as_uint(x);
372 }
373 
374 template <typename To = float, typename From = int> To int_as_float(From x) {
375  return __imf_int_as_float(x);
376 }
377 
378 template <typename To = float, typename From = unsigned int>
379 To uint_as_float(From x) {
380  return __imf_uint_as_float(x);
381 }
382 
383 template <typename To = float, typename From = double>
384 To double2float_rd(From x) {
385  return __imf_double2float_rd(x);
386 }
387 
388 template <typename To = float, typename From = double>
389 To double2float_rn(From x) {
390  return __imf_double2float_rn(x);
391 }
392 
393 template <typename To = float, typename From = double>
394 To double2float_ru(From x) {
395  return __imf_double2float_ru(x);
396 }
397 
398 template <typename To = float, typename From = double>
399 To double2float_rz(From x) {
400  return __imf_double2float_rz(x);
401 }
402 
403 template <typename To = int, typename From = double> To double2hiint(From x) {
404  return __imf_double2hiint(x);
405 }
406 
407 template <typename To = int, typename From = double> To double2loint(From x) {
408  return __imf_double2loint(x);
409 }
410 
411 template <typename To = int, typename From = double> To double2int_rd(From x) {
412  return __imf_double2int_rd(x);
413 }
414 
415 template <typename To = int, typename From = double> To double2int_rn(From x) {
416  return __imf_double2int_rn(x);
417 }
418 
419 template <typename To = int, typename From = double> To double2int_ru(From x) {
420  return __imf_double2int_ru(x);
421 }
422 
423 template <typename To = int, typename From = double> To double2int_rz(From x) {
424  return __imf_double2int_rz(x);
425 }
426 
427 template <typename To = long long, typename From = double>
428 To double2ll_rd(From x) {
429  return __imf_double2ll_rd(x);
430 }
431 
432 template <typename To = long long, typename From = double>
433 To double2ll_rn(From x) {
434  return __imf_double2ll_rn(x);
435 }
436 
437 template <typename To = long long, typename From = double>
438 To double2ll_ru(From x) {
439  return __imf_double2ll_ru(x);
440 }
441 
442 template <typename To = long long, typename From = double>
443 To double2ll_rz(From x) {
444  return __imf_double2ll_rz(x);
445 }
446 
447 template <typename To = unsigned int, typename From = double>
448 To double2uint_rd(From x) {
449  return __imf_double2uint_rd(x);
450 }
451 
452 template <typename To = unsigned int, typename From = double>
453 To double2uint_rn(From x) {
454  return __imf_double2uint_rn(x);
455 }
456 
457 template <typename To = unsigned int, typename From = double>
458 To double2uint_ru(From x) {
459  return __imf_double2uint_ru(x);
460 }
461 
462 template <typename To = unsigned int, typename From = double>
463 To double2uint_rz(From x) {
464  return __imf_double2uint_rz(x);
465 }
466 
467 template <typename To = unsigned long long, typename From = double>
468 To double2ull_rd(From x) {
469  return __imf_double2ull_rd(x);
470 }
471 
472 template <typename To = unsigned long long, typename From = double>
473 To double2ull_rn(From x) {
474  return __imf_double2ull_rn(x);
475 }
476 
477 template <typename To = unsigned long long, typename From = double>
478 To double2ull_ru(From x) {
479  return __imf_double2ull_ru(x);
480 }
481 
482 template <typename To = unsigned long long, typename From = double>
483 To double2ull_rz(From x) {
484  return __imf_double2ull_rz(x);
485 }
486 
487 template <typename To = long long, typename From = double>
488 To double_as_longlong(From x) {
489  return __imf_double_as_longlong(x);
490 }
491 
492 template <typename To = double, typename From = long long>
493 To longlong_as_double(From x) {
494  return __imf_longlong_as_double(x);
495 }
496 
497 template <typename To = double, typename From = int>
498 To hiloint2double(From x, From y) {
499  return __imf_hiloint2double(x, y);
500 }
501 
502 template <typename To = double, typename From = int> To int2double_rn(From x) {
503  return __imf_int2double_rn(x);
504 }
505 
506 template <typename To = double, typename From = unsigned int>
507 To uint2double_rn(From x) {
508  return __imf_uint2double_rn(x);
509 }
510 
511 template <typename To = double, typename From = long long>
512 To ll2double_rd(From x) {
513  return __imf_ll2double_rd(x);
514 }
515 
516 template <typename To = double, typename From = long long>
517 To ll2double_rn(From x) {
518  return __imf_ll2double_rn(x);
519 }
520 
521 template <typename To = double, typename From = long long>
522 To ll2double_ru(From x) {
523  return __imf_ll2double_ru(x);
524 }
525 
526 template <typename To = double, typename From = long long>
527 To ll2double_rz(From x) {
528  return __imf_ll2double_rz(x);
529 }
530 
531 template <typename To = double, typename From = unsigned long long>
532 To ull2double_rd(From x) {
533  return __imf_ull2double_rd(x);
534 }
535 
536 template <typename To = double, typename From = unsigned long long>
537 To ull2double_rn(From x) {
538  return __imf_ull2double_rn(x);
539 }
540 
541 template <typename To = double, typename From = unsigned long long>
542 To ull2double_ru(From x) {
543  return __imf_ull2double_ru(x);
544 }
545 
546 template <typename To = double, typename From = unsigned long long>
547 To ull2double_rz(From x) {
548  return __imf_ull2double_rz(x);
549 }
550 
551 template <typename To = float, typename From = sycl::half>
552 To half2float(From x) {
553  return __imf_half2float(sycl::bit_cast<_iml_half_internal>(x));
554 }
555 
556 template <typename To = sycl::half, typename From = float>
557 To float2half_rn(From x) {
558  return sycl::bit_cast<sycl::half>(__imf_float2half_rn(x));
559 }
560 
561 template <typename To = sycl::half, typename From = float>
562 To float2half_rd(From x) {
563  return sycl::bit_cast<sycl::half>(__imf_float2half_rd(x));
564 }
565 
566 template <typename To = sycl::half, typename From = float>
567 To float2half_ru(From x) {
568  return sycl::bit_cast<sycl::half>(__imf_float2half_ru(x));
569 }
570 
571 template <typename To = sycl::half, typename From = float>
572 To float2half_rz(From x) {
573  return sycl::bit_cast<sycl::half>(__imf_float2half_rz(x));
574 }
575 
576 template <typename To = sycl::half, typename From = double>
577 To double2half(From x) {
578  return sycl::bit_cast<sycl::half>(__imf_double2half(x));
579 }
580 
581 template <typename To = int, typename From = sycl::half>
582 To half2int_rn(From x) {
583  return __imf_half2int_rn(sycl::bit_cast<_iml_half_internal>(x));
584 }
585 
586 template <typename To = int, typename From = sycl::half>
587 To half2int_rd(From x) {
588  return __imf_half2int_rd(sycl::bit_cast<_iml_half_internal>(x));
589 }
590 
591 template <typename To = int, typename From = sycl::half>
592 To half2int_ru(From x) {
593  return __imf_half2int_ru(sycl::bit_cast<_iml_half_internal>(x));
594 }
595 
596 template <typename To = int, typename From = sycl::half>
597 To half2int_rz(From x) {
598  return __imf_half2int_rz(sycl::bit_cast<_iml_half_internal>(x));
599 }
600 
601 template <typename To = long long, typename From = sycl::half>
602 To half2ll_rn(From x) {
603  return __imf_half2ll_rn(sycl::bit_cast<_iml_half_internal>(x));
604 }
605 
606 template <typename To = long long, typename From = sycl::half>
607 To half2ll_rd(From x) {
608  return __imf_half2ll_rd(sycl::bit_cast<_iml_half_internal>(x));
609 }
610 
611 template <typename To = long long, typename From = sycl::half>
612 To half2ll_ru(From x) {
613  return __imf_half2ll_ru(sycl::bit_cast<_iml_half_internal>(x));
614 }
615 
616 template <typename To = long long, typename From = sycl::half>
617 To half2ll_rz(From x) {
618  return __imf_half2ll_rz(sycl::bit_cast<_iml_half_internal>(x));
619 }
620 
621 template <typename To = short, typename From = sycl::half>
622 To half2short_rn(From x) {
623  return __imf_half2short_rn(sycl::bit_cast<_iml_half_internal>(x));
624 }
625 
626 template <typename To = short, typename From = sycl::half>
627 To half2short_rd(From x) {
628  return __imf_half2short_rd(sycl::bit_cast<_iml_half_internal>(x));
629 }
630 
631 template <typename To = short, typename From = sycl::half>
632 To half2short_ru(From x) {
633  return __imf_half2short_ru(sycl::bit_cast<_iml_half_internal>(x));
634 }
635 
636 template <typename To = short, typename From = sycl::half>
637 To half2short_rz(From x) {
638  return __imf_half2short_rz(sycl::bit_cast<_iml_half_internal>(x));
639 }
640 
641 template <typename To = unsigned short, typename From = sycl::half>
642 To half2ushort_rn(From x) {
643  return __imf_half2ushort_rn(sycl::bit_cast<_iml_half_internal>(x));
644 }
645 
646 template <typename To = unsigned short, typename From = sycl::half>
647 To half2ushort_rd(From x) {
648  return __imf_half2ushort_rd(sycl::bit_cast<_iml_half_internal>(x));
649 }
650 
651 template <typename To = unsigned short, typename From = sycl::half>
652 To half2ushort_ru(From x) {
653  return __imf_half2ushort_ru(sycl::bit_cast<_iml_half_internal>(x));
654 }
655 
656 template <typename To = unsigned short, typename From = sycl::half>
657 To half2ushort_rz(From x) {
658  return __imf_half2ushort_rz(sycl::bit_cast<_iml_half_internal>(x));
659 }
660 
661 template <typename To = unsigned int, typename From = sycl::half>
662 To half2uint_rn(From x) {
663  return __imf_half2uint_rn(sycl::bit_cast<_iml_half_internal>(x));
664 }
665 
666 template <typename To = unsigned int, typename From = sycl::half>
667 To half2uint_rd(From x) {
668  return __imf_half2uint_rd(sycl::bit_cast<_iml_half_internal>(x));
669 }
670 
671 template <typename To = unsigned int, typename From = sycl::half>
672 To half2uint_ru(From x) {
673  return __imf_half2uint_ru(sycl::bit_cast<_iml_half_internal>(x));
674 }
675 
676 template <typename To = unsigned int, typename From = sycl::half>
677 To half2uint_rz(From x) {
678  return __imf_half2uint_rz(sycl::bit_cast<_iml_half_internal>(x));
679 }
680 
681 template <typename To = unsigned long long, typename From = sycl::half>
682 To half2ull_rn(From x) {
683  return __imf_half2ull_rn(sycl::bit_cast<_iml_half_internal>(x));
684 }
685 
686 template <typename To = unsigned long long, typename From = sycl::half>
687 To half2ull_rd(From x) {
688  return __imf_half2ull_rd(sycl::bit_cast<_iml_half_internal>(x));
689 }
690 
691 template <typename To = unsigned long long, typename From = sycl::half>
692 To half2ull_ru(From x) {
693  return __imf_half2ull_ru(sycl::bit_cast<_iml_half_internal>(x));
694 }
695 
696 template <typename To = unsigned long long, typename From = sycl::half>
697 To half2ull_rz(From x) {
698  return __imf_half2ull_rz(sycl::bit_cast<_iml_half_internal>(x));
699 }
700 
701 template <typename To = sycl::half, typename From = int>
702 To int2half_rn(From x) {
703  return sycl::bit_cast<sycl::half>(__imf_int2half_rn(x));
704 }
705 
706 template <typename To = sycl::half, typename From = int>
707 To int2half_rd(From x) {
708  return sycl::bit_cast<sycl::half>(__imf_int2half_rd(x));
709 }
710 
711 template <typename To = sycl::half, typename From = int>
712 To int2half_ru(From x) {
713  return sycl::bit_cast<sycl::half>(__imf_int2half_ru(x));
714 }
715 
716 template <typename To = sycl::half, typename From = int>
717 To int2half_rz(From x) {
718  return sycl::bit_cast<sycl::half>(__imf_int2half_rz(x));
719 }
720 
721 template <typename To = sycl::half, typename From = short>
722 To short2half_rn(From x) {
723  return sycl::bit_cast<sycl::half>(__imf_short2half_rn(x));
724 }
725 
726 template <typename To = sycl::half, typename From = short>
727 To short2half_rd(From x) {
728  return sycl::bit_cast<sycl::half>(__imf_short2half_rd(x));
729 }
730 
731 template <typename To = sycl::half, typename From = short>
732 To short2half_ru(From x) {
733  return sycl::bit_cast<sycl::half>(__imf_short2half_ru(x));
734 }
735 
736 template <typename To = sycl::half, typename From = short>
737 To short2half_rz(From x) {
738  return sycl::bit_cast<sycl::half>(__imf_short2half_rz(x));
739 }
740 
741 template <typename To = sycl::half, typename From = long long>
742 To ll2half_rn(From x) {
743  return sycl::bit_cast<sycl::half>(__imf_ll2half_rn(x));
744 }
745 
746 template <typename To = sycl::half, typename From = long long>
747 To ll2half_rd(From x) {
748  return sycl::bit_cast<sycl::half>(__imf_ll2half_rd(x));
749 }
750 
751 template <typename To = sycl::half, typename From = long long>
752 To ll2half_ru(From x) {
753  return sycl::bit_cast<sycl::half>(__imf_ll2half_ru(x));
754 }
755 
756 template <typename To = sycl::half, typename From = long long>
757 To ll2half_rz(From x) {
758  return sycl::bit_cast<sycl::half>(__imf_ll2half_rz(x));
759 }
760 
761 template <typename To = sycl::half, typename From = unsigned short>
762 To ushort2half_rn(From x) {
763  return sycl::bit_cast<sycl::half>(__imf_ushort2half_rn(x));
764 }
765 
766 template <typename To = sycl::half, typename From = unsigned short>
767 To ushort2half_rd(From x) {
768  return sycl::bit_cast<sycl::half>(__imf_ushort2half_rd(x));
769 }
770 
771 template <typename To = sycl::half, typename From = unsigned short>
772 To ushort2half_ru(From x) {
773  return sycl::bit_cast<sycl::half>(__imf_ushort2half_ru(x));
774 }
775 
776 template <typename To = sycl::half, typename From = unsigned short>
777 To ushort2half_rz(From x) {
778  return sycl::bit_cast<sycl::half>(__imf_ushort2half_rz(x));
779 }
780 
781 template <typename To = sycl::half, typename From = unsigned int>
782 To uint2half_rn(From x) {
783  return sycl::bit_cast<sycl::half>(__imf_uint2half_rn(x));
784 }
785 
786 template <typename To = sycl::half, typename From = unsigned int>
787 To uint2half_rd(From x) {
788  return sycl::bit_cast<sycl::half>(__imf_uint2half_rd(x));
789 }
790 
791 template <typename To = sycl::half, typename From = unsigned int>
792 To uint2half_ru(From x) {
793  return sycl::bit_cast<sycl::half>(__imf_uint2half_ru(x));
794 }
795 
796 template <typename To = sycl::half, typename From = unsigned int>
797 To uint2half_rz(From x) {
798  return sycl::bit_cast<sycl::half>(__imf_uint2half_rz(x));
799 }
800 
801 template <typename To = sycl::half, typename From = unsigned long long>
802 To ull2half_rn(From x) {
803  return sycl::bit_cast<sycl::half>(__imf_ull2half_rn(x));
804 }
805 
806 template <typename To = sycl::half, typename From = unsigned long long>
807 To ull2half_rd(From x) {
808  return sycl::bit_cast<sycl::half>(__imf_ull2half_rd(x));
809 }
810 
811 template <typename To = sycl::half, typename From = unsigned long long>
812 To ull2half_ru(From x) {
813  return sycl::bit_cast<sycl::half>(__imf_ull2half_ru(x));
814 }
815 
816 template <typename To = sycl::half, typename From = unsigned long long>
817 To ull2half_rz(From x) {
818  return sycl::bit_cast<sycl::half>(__imf_ull2half_rz(x));
819 }
820 
821 template <typename To = unsigned short,
822  typename From = sycl::ext::oneapi::bfloat16>
823 To bfloat16_as_ushort(From x) {
824  return __imf_bfloat16_as_ushort(sycl::bit_cast<uint16_t>(x));
825 }
826 
827 template <typename To = short, typename From = sycl::ext::oneapi::bfloat16>
828 To bfloat16_as_short(From x) {
829  return __imf_bfloat16_as_short(sycl::bit_cast<uint16_t>(x));
830 }
831 
832 template <typename To = sycl::ext::oneapi::bfloat16,
833  typename From = unsigned short>
834 To ushort_as_bfloat16(From x) {
835  return sycl::bit_cast<sycl::ext::oneapi::bfloat16>(
837 }
838 
839 template <typename To = sycl::ext::oneapi::bfloat16, typename From = short>
840 To short_as_bfloat16(From x) {
841  return sycl::bit_cast<sycl::ext::oneapi::bfloat16>(
843 }
844 
845 template <typename To = float, typename From = sycl::ext::oneapi::bfloat16>
846 To bfloat162float(From x) {
847  return __imf_bfloat162float(sycl::bit_cast<uint16_t>(x));
848 }
849 
850 template <typename To = sycl::ext::oneapi::bfloat16, typename From = float>
851 To float2bfloat16(From x) {
852  return sycl::bit_cast<sycl::ext::oneapi::bfloat16>(
854 }
855 
856 template <typename To = sycl::ext::oneapi::bfloat16, typename From = float>
857 To float2bfloat16_rd(From x) {
858  return sycl::bit_cast<sycl::ext::oneapi::bfloat16>(
860 }
861 
862 template <typename To = sycl::ext::oneapi::bfloat16, typename From = float>
863 To float2bfloat16_rn(From x) {
864  return sycl::bit_cast<sycl::ext::oneapi::bfloat16>(
866 }
867 
868 template <typename To = sycl::ext::oneapi::bfloat16, typename From = float>
869 To float2bfloat16_ru(From x) {
870  return sycl::bit_cast<sycl::ext::oneapi::bfloat16>(
872 }
873 
874 template <typename To = sycl::ext::oneapi::bfloat16, typename From = float>
875 To float2bfloat16_rz(From x) {
876  return sycl::bit_cast<sycl::ext::oneapi::bfloat16>(
878 }
879 
880 template <typename To = sycl::ext::oneapi::bfloat16,
881  typename From = unsigned short>
882 To ushort2bfloat16_rd(From x) {
883  return sycl::bit_cast<sycl::ext::oneapi::bfloat16>(
885 }
886 
887 template <typename To = sycl::ext::oneapi::bfloat16,
888  typename From = unsigned short>
889 To ushort2bfloat16_rn(From x) {
890  return sycl::bit_cast<sycl::ext::oneapi::bfloat16>(
892 }
893 
894 template <typename To = sycl::ext::oneapi::bfloat16,
895  typename From = unsigned short>
896 To ushort2bfloat16_ru(From x) {
897  return sycl::bit_cast<sycl::ext::oneapi::bfloat16>(
899 }
900 
901 template <typename To = sycl::ext::oneapi::bfloat16,
902  typename From = unsigned short>
903 To ushort2bfloat16_rz(From x) {
904  return sycl::bit_cast<sycl::ext::oneapi::bfloat16>(
906 }
907 
908 template <typename To = sycl::ext::oneapi::bfloat16,
909  typename From = unsigned int>
910 To uint2bfloat16_rd(From x) {
911  return sycl::bit_cast<sycl::ext::oneapi::bfloat16>(__imf_uint2bfloat16_rd(x));
912 }
913 
914 template <typename To = sycl::ext::oneapi::bfloat16,
915  typename From = unsigned int>
916 To uint2bfloat16_rn(From x) {
917  return sycl::bit_cast<sycl::ext::oneapi::bfloat16>(__imf_uint2bfloat16_rn(x));
918 }
919 
920 template <typename To = sycl::ext::oneapi::bfloat16,
921  typename From = unsigned int>
922 To uint2bfloat16_ru(From x) {
923  return sycl::bit_cast<sycl::ext::oneapi::bfloat16>(__imf_uint2bfloat16_ru(x));
924 }
925 
926 template <typename To = sycl::ext::oneapi::bfloat16,
927  typename From = unsigned int>
928 To uint2bfloat16_rz(From x) {
929  return sycl::bit_cast<sycl::ext::oneapi::bfloat16>(__imf_uint2bfloat16_rz(x));
930 }
931 
932 template <typename To = sycl::ext::oneapi::bfloat16,
933  typename From = unsigned long long>
934 To ull2bfloat16_rd(From x) {
935  return sycl::bit_cast<sycl::ext::oneapi::bfloat16>(__imf_ull2bfloat16_rd(x));
936 }
937 
938 template <typename To = sycl::ext::oneapi::bfloat16,
939  typename From = unsigned long long>
940 To ull2bfloat16_rn(From x) {
941  return sycl::bit_cast<sycl::ext::oneapi::bfloat16>(__imf_ull2bfloat16_rn(x));
942 }
943 
944 template <typename To = sycl::ext::oneapi::bfloat16,
945  typename From = unsigned long long>
946 To ull2bfloat16_ru(From x) {
947  return sycl::bit_cast<sycl::ext::oneapi::bfloat16>(__imf_ull2bfloat16_ru(x));
948 }
949 
950 template <typename To = sycl::ext::oneapi::bfloat16,
951  typename From = unsigned long long>
952 To ull2bfloat16_rz(From x) {
953  return sycl::bit_cast<sycl::ext::oneapi::bfloat16>(__imf_ull2bfloat16_rz(x));
954 }
955 
956 template <typename To = sycl::ext::oneapi::bfloat16, typename From = short>
957 To short2bfloat16_rd(From x) {
958  return sycl::bit_cast<sycl::ext::oneapi::bfloat16>(
960 }
961 
962 template <typename To = sycl::ext::oneapi::bfloat16, typename From = short>
963 To short2bfloat16_rn(From x) {
964  return sycl::bit_cast<sycl::ext::oneapi::bfloat16>(
966 }
967 
968 template <typename To = sycl::ext::oneapi::bfloat16, typename From = short>
969 To short2bfloat16_ru(From x) {
970  return sycl::bit_cast<sycl::ext::oneapi::bfloat16>(
972 }
973 
974 template <typename To = sycl::ext::oneapi::bfloat16, typename From = short>
975 To short2bfloat16_rz(From x) {
976  return sycl::bit_cast<sycl::ext::oneapi::bfloat16>(
978 }
979 
980 template <typename To = sycl::ext::oneapi::bfloat16, typename From = int>
981 To int2bfloat16_rd(From x) {
982  return sycl::bit_cast<sycl::ext::oneapi::bfloat16>(__imf_int2bfloat16_rd(x));
983 }
984 
985 template <typename To = sycl::ext::oneapi::bfloat16, typename From = int>
986 To int2bfloat16_rn(From x) {
987  return sycl::bit_cast<sycl::ext::oneapi::bfloat16>(__imf_int2bfloat16_rn(x));
988 }
989 
990 template <typename To = sycl::ext::oneapi::bfloat16, typename From = int>
991 To int2bfloat16_ru(From x) {
992  return sycl::bit_cast<sycl::ext::oneapi::bfloat16>(__imf_int2bfloat16_ru(x));
993 }
994 
995 template <typename To = sycl::ext::oneapi::bfloat16, typename From = int>
996 To int2bfloat16_rz(From x) {
997  return sycl::bit_cast<sycl::ext::oneapi::bfloat16>(__imf_int2bfloat16_rz(x));
998 }
999 
1000 template <typename To = sycl::ext::oneapi::bfloat16, typename From = long long>
1001 To ll2bfloat16_rd(From x) {
1002  return sycl::bit_cast<sycl::ext::oneapi::bfloat16>(__imf_ll2bfloat16_rd(x));
1003 }
1004 
1005 template <typename To = sycl::ext::oneapi::bfloat16, typename From = long long>
1006 To ll2bfloat16_rn(From x) {
1007  return sycl::bit_cast<sycl::ext::oneapi::bfloat16>(__imf_ll2bfloat16_rn(x));
1008 }
1009 
1010 template <typename To = sycl::ext::oneapi::bfloat16, typename From = long long>
1011 To ll2bfloat16_ru(From x) {
1012  return sycl::bit_cast<sycl::ext::oneapi::bfloat16>(__imf_ll2bfloat16_ru(x));
1013 }
1014 
1015 template <typename To = sycl::ext::oneapi::bfloat16, typename From = long long>
1016 To ll2bfloat16_rz(From x) {
1017  return sycl::bit_cast<sycl::ext::oneapi::bfloat16>(__imf_ll2bfloat16_rz(x));
1018 }
1019 
1020 template <typename To = sycl::ext::oneapi::bfloat16, typename From = double>
1021 To double2bfloat16(From x) {
1022  return sycl::bit_cast<sycl::ext::oneapi::bfloat16>(__imf_double2bfloat16(x));
1023 }
1024 
1025 template <typename To = unsigned int,
1026  typename From = sycl::ext::oneapi::bfloat16>
1027 To bfloat162uint_rd(From x) {
1028  return __imf_bfloat162uint_rd(sycl::bit_cast<uint16_t>(x));
1029 }
1030 
1031 template <typename To = unsigned int,
1032  typename From = sycl::ext::oneapi::bfloat16>
1033 To bfloat162uint_rn(From x) {
1034  return __imf_bfloat162uint_rn(sycl::bit_cast<uint16_t>(x));
1035 }
1036 
1037 template <typename To = unsigned int,
1038  typename From = sycl::ext::oneapi::bfloat16>
1039 To bfloat162uint_ru(From x) {
1040  return __imf_bfloat162uint_ru(sycl::bit_cast<uint16_t>(x));
1041 }
1042 
1043 template <typename To = unsigned int,
1044  typename From = sycl::ext::oneapi::bfloat16>
1045 To bfloat162uint_rz(From x) {
1046  return __imf_bfloat162uint_rz(sycl::bit_cast<uint16_t>(x));
1047 }
1048 
1049 template <typename To = int, typename From = sycl::ext::oneapi::bfloat16>
1050 To bfloat162int_rd(From x) {
1051  return __imf_bfloat162int_rd(sycl::bit_cast<uint16_t>(x));
1052 }
1053 
1054 template <typename To = int, typename From = sycl::ext::oneapi::bfloat16>
1055 To bfloat162int_rn(From x) {
1056  return __imf_bfloat162int_rn(sycl::bit_cast<uint16_t>(x));
1057 }
1058 
1059 template <typename To = int, typename From = sycl::ext::oneapi::bfloat16>
1060 To bfloat162int_ru(From x) {
1061  return __imf_bfloat162int_ru(sycl::bit_cast<uint16_t>(x));
1062 }
1063 
1064 template <typename To = int, typename From = sycl::ext::oneapi::bfloat16>
1065 To bfloat162int_rz(From x) {
1066  return __imf_bfloat162int_rz(sycl::bit_cast<uint16_t>(x));
1067 }
1068 
1069 template <typename To = unsigned short,
1070  typename From = sycl::ext::oneapi::bfloat16>
1072  return __imf_bfloat162ushort_rd(sycl::bit_cast<uint16_t>(x));
1073 }
1074 
1075 template <typename To = unsigned short,
1076  typename From = sycl::ext::oneapi::bfloat16>
1078  return __imf_bfloat162ushort_rn(sycl::bit_cast<uint16_t>(x));
1079 }
1080 
1081 template <typename To = unsigned short,
1082  typename From = sycl::ext::oneapi::bfloat16>
1084  return __imf_bfloat162ushort_ru(sycl::bit_cast<uint16_t>(x));
1085 }
1086 
1087 template <typename To = unsigned short,
1088  typename From = sycl::ext::oneapi::bfloat16>
1090  return __imf_bfloat162ushort_rz(sycl::bit_cast<uint16_t>(x));
1091 }
1092 
1093 template <typename To = short, typename From = sycl::ext::oneapi::bfloat16>
1094 To bfloat162short_rd(From x) {
1095  return __imf_bfloat162short_rd(sycl::bit_cast<uint16_t>(x));
1096 }
1097 
1098 template <typename To = short, typename From = sycl::ext::oneapi::bfloat16>
1099 To bfloat162short_rn(From x) {
1100  return __imf_bfloat162short_rn(sycl::bit_cast<uint16_t>(x));
1101 }
1102 
1103 template <typename To = short, typename From = sycl::ext::oneapi::bfloat16>
1104 To bfloat162short_ru(From x) {
1105  return __imf_bfloat162short_ru(sycl::bit_cast<uint16_t>(x));
1106 }
1107 
1108 template <typename To = short, typename From = sycl::ext::oneapi::bfloat16>
1109 To bfloat162short_rz(From x) {
1110  return __imf_bfloat162short_rz(sycl::bit_cast<uint16_t>(x));
1111 }
1112 
1113 template <typename To = long long, typename From = sycl::ext::oneapi::bfloat16>
1114 To bfloat162ll_rd(From x) {
1115  return __imf_bfloat162ll_rd(sycl::bit_cast<uint16_t>(x));
1116 }
1117 
1118 template <typename To = long long, typename From = sycl::ext::oneapi::bfloat16>
1119 To bfloat162ll_rn(From x) {
1120  return __imf_bfloat162ll_rn(sycl::bit_cast<uint16_t>(x));
1121 }
1122 
1123 template <typename To = long long, typename From = sycl::ext::oneapi::bfloat16>
1124 To bfloat162ll_ru(From x) {
1125  return __imf_bfloat162ll_ru(sycl::bit_cast<uint16_t>(x));
1126 }
1127 
1128 template <typename To = long long, typename From = sycl::ext::oneapi::bfloat16>
1129 To bfloat162ll_rz(From x) {
1130  return __imf_bfloat162ll_rz(sycl::bit_cast<uint16_t>(x));
1131 }
1132 
1133 template <typename To = unsigned long long,
1134  typename From = sycl::ext::oneapi::bfloat16>
1135 To bfloat162ull_rd(From x) {
1136  return __imf_bfloat162ull_rd(sycl::bit_cast<uint16_t>(x));
1137 }
1138 
1139 template <typename To = unsigned long long,
1140  typename From = sycl::ext::oneapi::bfloat16>
1141 To bfloat162ull_rn(From x) {
1142  return __imf_bfloat162ull_rn(sycl::bit_cast<uint16_t>(x));
1143 }
1144 
1145 template <typename To = unsigned long long,
1146  typename From = sycl::ext::oneapi::bfloat16>
1147 To bfloat162ull_ru(From x) {
1148  return __imf_bfloat162ull_ru(sycl::bit_cast<uint16_t>(x));
1149 }
1150 
1151 template <typename To = unsigned long long,
1152  typename From = sycl::ext::oneapi::bfloat16>
1153 To bfloat162ull_rz(From x) {
1154  return __imf_bfloat162ull_rz(sycl::bit_cast<uint16_t>(x));
1155 }
1156 
1157 } // namespace ext::intel::math
1158 } // namespace _V1
1159 } // namespace sycl
uint16_t _iml_half_internal
Definition: math.hpp:21
_iml_half_internal __imf_int2half_rn(int)
unsigned int __imf_double2uint_rn(double)
_iml_half_internal __imf_double2half(double)
float __imf_uint_as_float(unsigned int)
_iml_half_internal __imf_float2half_rd(float)
uint16_t __imf_short_as_bfloat16(short)
_iml_half_internal __imf_ull2half_ru(unsigned long long)
float __imf_ull2float_rn(unsigned long long int)
unsigned long long __imf_double2ull_rn(double)
unsigned long long __imf_bfloat162ull_rz(uint16_t)
long long __imf_double2ll_rd(double)
float __imf_ll2float_ru(long long int)
unsigned int __imf_half2uint_rz(_iml_half_internal)
int __imf_double2int_rz(double)
float __imf_ull2float_rd(unsigned long long int)
unsigned short __imf_bfloat162ushort_rz(uint16_t)
uint16_t __imf_float2bfloat16_rd(float)
_iml_half_internal __imf_ushort_as_half(unsigned short)
double __imf_hiloint2double(int, int)
long long __imf_double2ll_rn(double)
_iml_half_internal __imf_ushort2half_rn(unsigned short)
unsigned short __imf_half2ushort_rn(_iml_half_internal)
uint16_t __imf_ull2bfloat16_rz(unsigned long long)
uint16_t __imf_ushort2bfloat16_rz(unsigned short)
short __imf_bfloat162short_rn(uint16_t)
uint16_t __imf_int2bfloat16_ru(int)
float __imf_int_as_float(int)
int __imf_float2int_rd(float)
float __imf_double2float_ru(double)
uint16_t __imf_ushort2bfloat16_rn(unsigned short)
_iml_half_internal __imf_ushort2half_ru(unsigned short)
uint16_t __imf_ll2bfloat16_rd(long long)
unsigned int __imf_bfloat162uint_ru(uint16_t)
unsigned long long __imf_double2ull_rz(double)
uint16_t __imf_float2bfloat16(float)
uint16_t __imf_short2bfloat16_rd(short)
unsigned long long __imf_bfloat162ull_rn(uint16_t)
float __imf_int2float_ru(int)
float __imf_double2float_rn(double)
_iml_half_internal __imf_int2half_rz(int)
long long __imf_bfloat162ll_rz(uint16_t)
uint16_t __imf_int2bfloat16_rd(int)
uint16_t __imf_uint2bfloat16_rd(unsigned int)
unsigned int __imf_double2uint_ru(double)
long long __imf_half2ll_ru(_iml_half_internal)
uint16_t __imf_float2bfloat16_ru(float)
unsigned int __imf_half2uint_ru(_iml_half_internal)
int __imf_bfloat162int_ru(uint16_t)
short __imf_half2short_rn(_iml_half_internal)
unsigned long long __imf_double2ull_rd(double)
_iml_half_internal __imf_uint2half_ru(unsigned int)
double __imf_ull2double_ru(unsigned long long)
short __imf_half2short_ru(_iml_half_internal)
long long __imf_double2ll_ru(double)
long long __imf_half2ll_rz(_iml_half_internal)
unsigned long long __imf_half2ull_ru(_iml_half_internal)
unsigned int __imf_bfloat162uint_rn(uint16_t)
_iml_half_internal __imf_ull2half_rn(unsigned long long)
unsigned int __imf_float2uint_rd(float)
unsigned short __imf_half2ushort_rd(_iml_half_internal)
long long __imf_bfloat162ll_rn(uint16_t)
float __imf_int2float_rz(int)
uint16_t __imf_ushort2bfloat16_ru(unsigned short)
int __imf_bfloat162int_rz(uint16_t)
unsigned long long __imf_double2ull_ru(double)
unsigned long long __imf_bfloat162ull_ru(uint16_t)
double __imf_ll2double_rd(long long)
float __imf_ll2float_rd(long long int)
_iml_half_internal __imf_ll2half_ru(long long)
long long __imf_half2ll_rn(_iml_half_internal)
unsigned short __imf_bfloat162ushort_rn(uint16_t)
short __imf_half_as_short(_iml_half_internal)
float __imf_double2float_rz(double)
_iml_half_internal __imf_ushort2half_rd(unsigned short)
long long int __imf_float2ll_rn(float)
_iml_half_internal __imf_ull2half_rd(unsigned long long)
long long __imf_double2ll_rz(double)
double __imf_ull2double_rn(unsigned long long)
uint16_t __imf_float2bfloat16_rn(float)
uint16_t __imf_ll2bfloat16_rn(long long)
int __imf_double2int_ru(double)
unsigned int __imf_float2uint_rn(float)
uint16_t __imf_ll2bfloat16_rz(long long)
int __imf_float2int_rn(float)
int __imf_bfloat162int_rd(uint16_t)
long long int __imf_float2ll_rz(float)
int __imf_double2hiint(double)
float __imf_ull2float_ru(unsigned long long int)
unsigned int __imf_float_as_uint(float)
unsigned short __imf_bfloat162ushort_ru(uint16_t)
unsigned int __imf_bfloat162uint_rd(uint16_t)
uint16_t __imf_int2bfloat16_rn(int)
int __imf_float_as_int(float)
double __imf_uint2double_rn(unsigned)
uint16_t __imf_float2bfloat16_rz(float)
uint16_t __imf_ull2bfloat16_rd(unsigned long long)
_iml_half_internal __imf_float2half_rz(float)
short __imf_bfloat162short_ru(uint16_t)
_iml_half_internal __imf_ll2half_rz(long long)
int __imf_double2loint(double)
uint16_t __imf_short2bfloat16_ru(short)
short __imf_half2short_rd(_iml_half_internal)
uint16_t __imf_int2bfloat16_rz(int)
float __imf_uint2float_ru(unsigned int)
uint16_t __imf_ull2bfloat16_ru(unsigned long long)
_iml_half_internal __imf_short2half_ru(short)
int __imf_float2int_ru(float)
unsigned int __imf_double2uint_rz(double)
_iml_half_internal __imf_int2half_rd(int)
float __imf_int2float_rd(int)
float __imf_bfloat162float(uint16_t)
_iml_half_internal __imf_short2half_rz(short)
float __imf_half2float(_iml_half_internal)
int __imf_bfloat162int_rn(uint16_t)
unsigned int __imf_half2uint_rn(_iml_half_internal)
uint16_t __imf_ull2bfloat16_rn(unsigned long long)
unsigned long long int __imf_float2ull_rd(float)
unsigned long long int __imf_float2ull_ru(float)
float __imf_int2float_rn(int)
float __imf_ll2float_rz(long long int)
_iml_half_internal __imf_uint2half_rd(unsigned int)
int __imf_double2int_rn(double)
_iml_half_internal __imf_ull2half_rz(unsigned long long)
_iml_half_internal __imf_short2half_rd(short)
_iml_half_internal __imf_ll2half_rn(long long)
unsigned long long __imf_half2ull_rn(_iml_half_internal)
double __imf_ll2double_ru(long long)
float __imf_uint2float_rn(unsigned int)
int __imf_float2int_rz(float)
_iml_half_internal __imf_uint2half_rn(unsigned int)
unsigned int __imf_double2uint_rd(double)
_iml_half_internal __imf_float2half_rn(float)
uint16_t __imf_double2bfloat16(double)
uint16_t __imf_ushort_as_bfloat16(unsigned short)
_iml_half_internal __imf_short2half_rn(short)
uint16_t __imf_uint2bfloat16_ru(unsigned int)
uint16_t __imf_short2bfloat16_rn(short)
long long __imf_bfloat162ll_ru(uint16_t)
_iml_half_internal __imf_uint2half_rz(unsigned int)
uint16_t __imf_ll2bfloat16_ru(long long)
float __imf_uint2float_rz(unsigned int)
short __imf_half2short_rz(_iml_half_internal)
float __imf_uint2float_rd(unsigned int)
unsigned int __imf_float2uint_ru(float)
short __imf_bfloat162short_rd(uint16_t)
int __imf_half2int_rd(_iml_half_internal)
unsigned int __imf_bfloat162uint_rz(uint16_t)
float __imf_ull2float_rz(unsigned long long int)
double __imf_ull2double_rd(unsigned long long)
int __imf_double2int_rd(double)
long long int __imf_float2ll_rd(float)
double __imf_ll2double_rz(long long)
short __imf_bfloat16_as_short(uint16_t)
unsigned int __imf_half2uint_rd(_iml_half_internal)
long long __imf_half2ll_rd(_iml_half_internal)
unsigned short __imf_bfloat16_as_ushort(uint16_t)
unsigned long long __imf_half2ull_rz(_iml_half_internal)
unsigned long long __imf_half2ull_rd(_iml_half_internal)
float __imf_ll2float_rn(long long int)
int __imf_half2int_ru(_iml_half_internal)
unsigned long long int __imf_float2ull_rn(float)
unsigned long long int __imf_float2ull_rz(float)
long long __imf_bfloat162ll_rd(uint16_t)
long long __imf_double_as_longlong(double)
double __imf_int2double_rn(int)
uint16_t __imf_uint2bfloat16_rn(unsigned int)
unsigned short __imf_half2ushort_ru(_iml_half_internal)
int __imf_half2int_rz(_iml_half_internal)
_iml_half_internal __imf_int2half_ru(int)
_iml_half_internal __imf_short_as_half(short)
float __imf_double2float_rd(double)
unsigned short __imf_half_as_ushort(_iml_half_internal)
long long int __imf_float2ll_ru(float)
unsigned short __imf_bfloat162ushort_rd(uint16_t)
unsigned short __imf_half2ushort_rz(_iml_half_internal)
double __imf_ull2double_rz(unsigned long long)
double __imf_ll2double_rn(long long)
uint16_t __imf_uint2bfloat16_rz(unsigned int)
double __imf_longlong_as_double(long long)
uint16_t __imf_ushort2bfloat16_rd(unsigned short)
_iml_half_internal __imf_float2half_ru(float)
int __imf_half2int_rn(_iml_half_internal)
_iml_half_internal __imf_ll2half_rd(long long)
uint16_t __imf_short2bfloat16_rz(short)
_iml_half_internal __imf_ushort2half_rz(unsigned short)
unsigned int __imf_float2uint_rz(float)
short __imf_bfloat162short_rz(uint16_t)
unsigned long long __imf_bfloat162ull_rd(uint16_t)
sycl::ext::oneapi::bfloat16 bfloat16
autodecltype(x) x
Definition: access.hpp:18