27 #if defined(__cplusplus) 33 __attribute__((
const))
34 float __ocml_acos_f32(
float);
37 float __ocml_acosh_f32(
float);
39 __attribute__((const))
40 float __ocml_asin_f32(
float);
43 float __ocml_asinh_f32(
float);
45 __attribute__((const))
46 float __ocml_atan2_f32(
float,
float);
48 __attribute__((const))
49 float __ocml_atan_f32(
float);
52 float __ocml_atanh_f32(
float);
55 float __ocml_cbrt_f32(
float);
57 __attribute__((const))
58 float __ocml_ceil_f32(
float);
60 __attribute__((const))
62 float __ocml_copysign_f32(
float,
float);
64 float __ocml_cos_f32(
float);
66 float __ocml_native_cos_f32(
float);
70 float __ocml_cosh_f32(
float);
72 float __ocml_cospi_f32(
float);
74 float __ocml_i0_f32(
float);
76 float __ocml_i1_f32(
float);
79 float __ocml_erfc_f32(
float);
82 float __ocml_erfcinv_f32(
float);
85 float __ocml_erfcx_f32(
float);
88 float __ocml_erf_f32(
float);
91 float __ocml_erfinv_f32(
float);
94 float __ocml_exp10_f32(
float);
97 float __ocml_native_exp10_f32(
float);
100 float __ocml_exp2_f32(
float);
102 __attribute__((pure))
103 float __ocml_exp_f32(
float);
105 __attribute__((pure))
106 float __ocml_native_exp_f32(
float);
108 __attribute__((pure))
109 float __ocml_expm1_f32(
float);
111 __attribute__((const))
112 float __ocml_fabs_f32(
float);
114 __attribute__((const))
115 float __ocml_fdim_f32(
float,
float);
117 __attribute__((const))
118 float __ocml_floor_f32(
float);
120 __attribute__((const))
121 float __ocml_fma_f32(
float,
float,
float);
123 __attribute__((const))
124 float __ocml_fmax_f32(
float,
float);
126 __attribute__((const))
127 float __ocml_fmin_f32(
float,
float);
129 __attribute__((const))
131 float __ocml_fmod_f32(
float,
float);
133 float __ocml_frexp_f32(
float, __attribute__((address_space(5)))
int*);
135 __attribute__((const))
136 float __ocml_hypot_f32(
float,
float);
138 __attribute__((const))
139 int __ocml_ilogb_f32(
float);
141 __attribute__((const))
142 int __ocml_isfinite_f32(
float);
144 __attribute__((const))
145 int __ocml_isinf_f32(
float);
147 __attribute__((const))
148 int __ocml_isnan_f32(
float);
150 float __ocml_j0_f32(
float);
152 float __ocml_j1_f32(
float);
154 __attribute__((const))
155 float __ocml_ldexp_f32(
float,
int);
157 float __ocml_lgamma_f32(
float);
159 __attribute__((pure))
160 float __ocml_log10_f32(
float);
162 __attribute__((pure))
163 float __ocml_native_log10_f32(
float);
165 __attribute__((pure))
166 float __ocml_log1p_f32(
float);
168 __attribute__((pure))
169 float __ocml_log2_f32(
float);
171 __attribute__((pure))
172 float __ocml_native_log2_f32(
float);
174 __attribute__((const))
175 float __ocml_logb_f32(
float);
177 __attribute__((pure))
178 float __ocml_log_f32(
float);
180 __attribute__((pure))
181 float __ocml_native_log_f32(
float);
183 float __ocml_modf_f32(
float, __attribute__((address_space(5)))
float*);
185 __attribute__((const))
186 float __ocml_nearbyint_f32(
float);
188 __attribute__((const))
189 float __ocml_nextafter_f32(
float,
float);
191 __attribute__((const))
192 float __ocml_len3_f32(
float,
float,
float);
194 __attribute__((const))
195 float __ocml_len4_f32(
float,
float,
float,
float);
197 __attribute__((pure))
198 float __ocml_ncdf_f32(
float);
200 __attribute__((pure))
201 float __ocml_ncdfinv_f32(
float);
203 __attribute__((pure))
204 float __ocml_pow_f32(
float,
float);
206 __attribute__((pure))
207 float __ocml_rcbrt_f32(
float);
209 __attribute__((const))
210 float __ocml_remainder_f32(
float,
float);
212 float __ocml_remquo_f32(
float,
float, __attribute__((address_space(5)))
int*);
214 __attribute__((const))
215 float __ocml_rhypot_f32(
float,
float);
217 __attribute__((const))
218 float __ocml_rint_f32(
float);
220 __attribute__((const))
221 float __ocml_rlen3_f32(
float,
float,
float);
223 __attribute__((const))
224 float __ocml_rlen4_f32(
float,
float,
float,
float);
226 __attribute__((const))
227 float __ocml_round_f32(
float);
229 __attribute__((pure))
230 float __ocml_rsqrt_f32(
float);
232 __attribute__((const))
233 float __ocml_scalb_f32(
float,
float);
235 __attribute__((const))
236 float __ocml_scalbn_f32(
float,
int);
238 __attribute__((const))
239 int __ocml_signbit_f32(
float);
241 float __ocml_sincos_f32(
float, __attribute__((address_space(5)))
float*);
243 float __ocml_sincospi_f32(
float, __attribute__((address_space(5)))
float*);
245 float __ocml_sin_f32(
float);
247 float __ocml_native_sin_f32(
float);
249 __attribute__((pure))
250 float __ocml_sinh_f32(
float);
252 float __ocml_sinpi_f32(
float);
254 __attribute__((const))
255 float __ocml_sqrt_f32(
float);
257 __attribute__((const))
258 float __ocml_native_sqrt_f32(
float);
260 float __ocml_tan_f32(
float);
262 __attribute__((pure))
263 float __ocml_tanh_f32(
float);
265 float __ocml_tgamma_f32(
float);
267 __attribute__((const))
268 float __ocml_trunc_f32(
float);
270 float __ocml_y0_f32(
float);
272 float __ocml_y1_f32(
float);
276 __attribute__((const))
277 float __ocml_add_rte_f32(
float,
float);
279 __attribute__((const))
280 float __ocml_add_rtn_f32(
float,
float);
282 __attribute__((const))
283 float __ocml_add_rtp_f32(
float,
float);
285 __attribute__((const))
286 float __ocml_add_rtz_f32(
float,
float);
288 __attribute__((const))
289 float __ocml_sub_rte_f32(
float,
float);
291 __attribute__((const))
292 float __ocml_sub_rtn_f32(
float,
float);
294 __attribute__((const))
295 float __ocml_sub_rtp_f32(
float,
float);
297 __attribute__((const))
298 float __ocml_sub_rtz_f32(
float,
float);
300 __attribute__((const))
301 float __ocml_mul_rte_f32(
float,
float);
303 __attribute__((const))
304 float __ocml_mul_rtn_f32(
float,
float);
306 __attribute__((const))
307 float __ocml_mul_rtp_f32(
float,
float);
309 __attribute__((const))
310 float __ocml_mul_rtz_f32(
float,
float);
312 __attribute__((const))
313 float __ocml_div_rte_f32(
float,
float);
315 __attribute__((const))
316 float __ocml_div_rtn_f32(
float,
float);
318 __attribute__((const))
319 float __ocml_div_rtp_f32(
float,
float);
321 __attribute__((const))
322 float __ocml_div_rtz_f32(
float,
float);
324 __attribute__((const))
325 float __ocml_sqrt_rte_f32(
float,
float);
327 __attribute__((const))
328 float __ocml_sqrt_rtn_f32(
float,
float);
330 __attribute__((const))
331 float __ocml_sqrt_rtp_f32(
float,
float);
333 __attribute__((const))
334 float __ocml_sqrt_rtz_f32(
float,
float);
336 __attribute__((const))
337 float __ocml_fma_rte_f32(
float,
float,
float);
339 __attribute__((const))
340 float __ocml_fma_rtn_f32(
float,
float,
float);
342 __attribute__((const))
343 float __ocml_fma_rtp_f32(
float,
float,
float);
345 __attribute__((const))
346 float __ocml_fma_rtz_f32(
float,
float,
float);
349 __attribute__((const))
350 float __llvm_amdgcn_cos_f32(
float) __asm("llvm.amdgcn.cos.f32");
352 __attribute__((const))
353 float __llvm_amdgcn_rcp_f32(
float) __asm("llvm.amdgcn.rcp.f32");
355 __attribute__((const))
356 float __llvm_amdgcn_rsq_f32(
float) __asm("llvm.amdgcn.rsq.f32");
358 __attribute__((const))
359 float __llvm_amdgcn_sin_f32(
float) __asm("llvm.amdgcn.sin.f32");
365 __attribute__((const))
366 double __ocml_acos_f64(
double);
368 __attribute__((pure))
369 double __ocml_acosh_f64(
double);
371 __attribute__((const))
372 double __ocml_asin_f64(
double);
374 __attribute__((pure))
375 double __ocml_asinh_f64(
double);
377 __attribute__((const))
378 double __ocml_atan2_f64(
double,
double);
380 __attribute__((const))
381 double __ocml_atan_f64(
double);
383 __attribute__((pure))
384 double __ocml_atanh_f64(
double);
386 __attribute__((pure))
387 double __ocml_cbrt_f64(
double);
389 __attribute__((const))
390 double __ocml_ceil_f64(
double);
392 __attribute__((const))
393 double __ocml_copysign_f64(
double,
double);
395 double __ocml_cos_f64(
double);
397 __attribute__((pure))
398 double __ocml_cosh_f64(
double);
400 double __ocml_cospi_f64(
double);
402 double __ocml_i0_f64(
double);
404 double __ocml_i1_f64(
double);
406 __attribute__((pure))
407 double __ocml_erfc_f64(
double);
409 __attribute__((pure))
410 double __ocml_erfcinv_f64(
double);
412 __attribute__((pure))
413 double __ocml_erfcx_f64(
double);
415 __attribute__((pure))
416 double __ocml_erf_f64(
double);
418 __attribute__((pure))
419 double __ocml_erfinv_f64(
double);
421 __attribute__((pure))
422 double __ocml_exp10_f64(
double);
424 __attribute__((pure))
425 double __ocml_exp2_f64(
double);
427 __attribute__((pure))
428 double __ocml_exp_f64(
double);
430 __attribute__((pure))
431 double __ocml_expm1_f64(
double);
433 __attribute__((const))
434 double __ocml_fabs_f64(
double);
436 __attribute__((const))
437 double __ocml_fdim_f64(
double,
double);
439 __attribute__((const))
440 double __ocml_floor_f64(
double);
442 __attribute__((const))
443 double __ocml_fma_f64(
double,
double,
double);
445 __attribute__((const))
446 double __ocml_fmax_f64(
double,
double);
448 __attribute__((const))
449 double __ocml_fmin_f64(
double,
double);
451 __attribute__((const))
452 double __ocml_fmod_f64(
double,
double);
454 double __ocml_frexp_f64(
double, __attribute__((address_space(5)))
int*);
456 __attribute__((const))
457 double __ocml_hypot_f64(
double,
double);
459 __attribute__((const))
460 int __ocml_ilogb_f64(
double);
462 __attribute__((const))
463 int __ocml_isfinite_f64(
double);
465 __attribute__((const))
466 int __ocml_isinf_f64(
double);
468 __attribute__((const))
469 int __ocml_isnan_f64(
double);
471 double __ocml_j0_f64(
double);
473 double __ocml_j1_f64(
double);
475 __attribute__((const))
476 double __ocml_ldexp_f64(
double,
int);
478 double __ocml_lgamma_f64(
double);
480 __attribute__((pure))
481 double __ocml_log10_f64(
double);
483 __attribute__((pure))
484 double __ocml_log1p_f64(
double);
486 __attribute__((pure))
487 double __ocml_log2_f64(
double);
489 __attribute__((const))
490 double __ocml_logb_f64(
double);
492 __attribute__((pure))
493 double __ocml_log_f64(
double);
495 double __ocml_modf_f64(
double, __attribute__((address_space(5)))
double*);
497 __attribute__((const))
498 double __ocml_nearbyint_f64(
double);
500 __attribute__((const))
501 double __ocml_nextafter_f64(
double,
double);
503 __attribute__((const))
504 double __ocml_len3_f64(
double,
double,
double);
506 __attribute__((const))
507 double __ocml_len4_f64(
double,
double,
double,
double);
509 __attribute__((pure))
510 double __ocml_ncdf_f64(
double);
512 __attribute__((pure))
513 double __ocml_ncdfinv_f64(
double);
515 __attribute__((pure))
516 double __ocml_pow_f64(
double,
double);
518 __attribute__((pure))
519 double __ocml_rcbrt_f64(
double);
521 __attribute__((const))
522 double __ocml_remainder_f64(
double,
double);
524 double __ocml_remquo_f64(
525 double,
double, __attribute__((address_space(5)))
int*);
527 __attribute__((const))
528 double __ocml_rhypot_f64(
double,
double);
530 __attribute__((const))
531 double __ocml_rint_f64(
double);
533 __attribute__((const))
534 double __ocml_rlen3_f64(
double,
double,
double);
536 __attribute__((const))
537 double __ocml_rlen4_f64(
double,
double,
double,
double);
539 __attribute__((const))
540 double __ocml_round_f64(
double);
542 __attribute__((pure))
543 double __ocml_rsqrt_f64(
double);
545 __attribute__((const))
546 double __ocml_scalb_f64(
double,
double);
548 __attribute__((const))
549 double __ocml_scalbn_f64(
double,
int);
551 __attribute__((const))
552 int __ocml_signbit_f64(
double);
554 double __ocml_sincos_f64(
double, __attribute__((address_space(5)))
double*);
556 double __ocml_sincospi_f64(
double, __attribute__((address_space(5)))
double*);
558 double __ocml_sin_f64(
double);
560 __attribute__((pure))
561 double __ocml_sinh_f64(
double);
563 double __ocml_sinpi_f64(
double);
565 __attribute__((const))
566 double __ocml_sqrt_f64(
double);
568 double __ocml_tan_f64(
double);
570 __attribute__((pure))
571 double __ocml_tanh_f64(
double);
573 double __ocml_tgamma_f64(
double);
575 __attribute__((const))
576 double __ocml_trunc_f64(
double);
578 double __ocml_y0_f64(
double);
580 double __ocml_y1_f64(
double);
584 __attribute__((const))
585 double __ocml_add_rte_f64(
double,
double);
587 __attribute__((const))
588 double __ocml_add_rtn_f64(
double,
double);
590 __attribute__((const))
591 double __ocml_add_rtp_f64(
double,
double);
593 __attribute__((const))
594 double __ocml_add_rtz_f64(
double,
double);
596 __attribute__((const))
597 double __ocml_sub_rte_f64(
double,
double);
599 __attribute__((const))
600 double __ocml_sub_rtn_f64(
double,
double);
602 __attribute__((const))
603 double __ocml_sub_rtp_f64(
double,
double);
605 __attribute__((const))
606 double __ocml_sub_rtz_f64(
double,
double);
608 __attribute__((const))
609 double __ocml_mul_rte_f64(
double,
double);
611 __attribute__((const))
612 double __ocml_mul_rtn_f64(
double,
double);
614 __attribute__((const))
615 double __ocml_mul_rtp_f64(
double,
double);
617 __attribute__((const))
618 double __ocml_mul_rtz_f64(
double,
double);
620 __attribute__((const))
621 double __ocml_div_rte_f64(
double,
double);
623 __attribute__((const))
624 double __ocml_div_rtn_f64(
double,
double);
626 __attribute__((const))
627 double __ocml_div_rtp_f64(
double,
double);
629 __attribute__((const))
630 double __ocml_div_rtz_f64(
double,
double);
632 __attribute__((const))
633 double __ocml_sqrt_rte_f64(
double,
double);
635 __attribute__((const))
636 double __ocml_sqrt_rtn_f64(
double,
double);
638 __attribute__((const))
639 double __ocml_sqrt_rtp_f64(
double,
double);
641 __attribute__((const))
642 double __ocml_sqrt_rtz_f64(
double,
double);
644 __attribute__((const))
645 double __ocml_fma_rte_f64(
double,
double,
double);
647 __attribute__((const))
648 double __ocml_fma_rtn_f64(
double,
double,
double);
650 __attribute__((const))
651 double __ocml_fma_rtp_f64(
double,
double,
double);
653 __attribute__((const))
654 double __ocml_fma_rtz_f64(
double,
double,
double);
657 __attribute__((const))
658 double __llvm_amdgcn_rcp_f64(
double) __asm("llvm.amdgcn.rcp.f64");
660 __attribute__((const))
661 double __llvm_amdgcn_rsq_f64(
double) __asm("llvm.amdgcn.rsq.f64");
665 #if defined(__cplusplus)