9 #ifndef __CLANG_TGMATH_H
10 #define __CLANG_TGMATH_H
20 #if defined(__APPLE__) && __STDC_HOSTED__ && __has_include_next(<tgmath.h>)
21 # include_next <tgmath.h>
28 #define _TG_ATTRSp __attribute__((__overloadable__))
29 #define _TG_ATTRS __attribute__((__overloadable__, __always_inline__))
49 #define __tg_promote1(__x) (__typeof__(__tg_promote(__x)))
50 #define __tg_promote2(__x, __y) (__typeof__(__tg_promote(__x) + \
52 #define __tg_promote3(__x, __y, __z) (__typeof__(__tg_promote(__x) + \
74 static double _Complex
78 static long double _Complex
83 #define acos(__x) __tg_acos(__tg_promote1((__x))(__x))
103 static double _Complex
107 static long double _Complex
112 #define asin(__x) __tg_asin(__tg_promote1((__x))(__x))
128 static float _Complex
132 static double _Complex
136 static long double _Complex
141 #define atan(__x) __tg_atan(__tg_promote1((__x))(__x))
157 static float _Complex
161 static double _Complex
165 static long double _Complex
170 #define acosh(__x) __tg_acosh(__tg_promote1((__x))(__x))
186 static float _Complex
190 static double _Complex
194 static long double _Complex
199 #define asinh(__x) __tg_asinh(__tg_promote1((__x))(__x))
215 static float _Complex
219 static double _Complex
223 static long double _Complex
228 #define atanh(__x) __tg_atanh(__tg_promote1((__x))(__x))
244 static float _Complex
248 static double _Complex
252 static long double _Complex
257 #define cos(__x) __tg_cos(__tg_promote1((__x))(__x))
273 static float _Complex
277 static double _Complex
281 static long double _Complex
286 #define sin(__x) __tg_sin(__tg_promote1((__x))(__x))
302 static float _Complex
306 static double _Complex
310 static long double _Complex
315 #define tan(__x) __tg_tan(__tg_promote1((__x))(__x))
331 static float _Complex
335 static double _Complex
339 static long double _Complex
344 #define cosh(__x) __tg_cosh(__tg_promote1((__x))(__x))
360 static float _Complex
364 static double _Complex
368 static long double _Complex
373 #define sinh(__x) __tg_sinh(__tg_promote1((__x))(__x))
389 static float _Complex
393 static double _Complex
397 static long double _Complex
402 #define tanh(__x) __tg_tanh(__tg_promote1((__x))(__x))
418 static float _Complex
422 static double _Complex
426 static long double _Complex
431 #define exp(__x) __tg_exp(__tg_promote1((__x))(__x))
447 static float _Complex
451 static double _Complex
455 static long double _Complex
460 #define log(__x) __tg_log(__tg_promote1((__x))(__x))
476 static float _Complex
480 static double _Complex
484 static long double _Complex
490 #define pow(__x, __y) __tg_pow(__tg_promote2((__x), (__y))(__x), \
491 __tg_promote2((__x), (__y))(__y))
507 static float _Complex
511 static double _Complex
515 static long double _Complex
520 #define sqrt(__x) __tg_sqrt(__tg_promote1((__x))(__x))
549 #define fabs(__x) __tg_fabs(__tg_promote1((__x))(__x))
566 #define atan2(__x, __y) __tg_atan2(__tg_promote2((__x), (__y))(__x), \
567 __tg_promote2((__x), (__y))(__y))
584 #define cbrt(__x) __tg_cbrt(__tg_promote1((__x))(__x))
601 #define ceil(__x) __tg_ceil(__tg_promote1((__x))(__x))
618 #define copysign(__x, __y) __tg_copysign(__tg_promote2((__x), (__y))(__x), \
619 __tg_promote2((__x), (__y))(__y))
636 #define erf(__x) __tg_erf(__tg_promote1((__x))(__x))
653 #define erfc(__x) __tg_erfc(__tg_promote1((__x))(__x))
670 #define exp2(__x) __tg_exp2(__tg_promote1((__x))(__x))
687 #define expm1(__x) __tg_expm1(__tg_promote1((__x))(__x))
704 #define fdim(__x, __y) __tg_fdim(__tg_promote2((__x), (__y))(__x), \
705 __tg_promote2((__x), (__y))(__y))
722 #define floor(__x) __tg_floor(__tg_promote1((__x))(__x))
739 {
return fmal(
__x,
__y, __z);}
742 #define fma(__x, __y, __z) \
743 __tg_fma(__tg_promote3((__x), (__y), (__z))(__x), \
744 __tg_promote3((__x), (__y), (__z))(__y), \
745 __tg_promote3((__x), (__y), (__z))(__z))
762 #define fmax(__x, __y) __tg_fmax(__tg_promote2((__x), (__y))(__x), \
763 __tg_promote2((__x), (__y))(__y))
780 #define fmin(__x, __y) __tg_fmin(__tg_promote2((__x), (__y))(__x), \
781 __tg_promote2((__x), (__y))(__y))
798 #define fmod(__x, __y) __tg_fmod(__tg_promote2((__x), (__y))(__x), \
799 __tg_promote2((__x), (__y))(__y))
816 #define frexp(__x, __y) __tg_frexp(__tg_promote1((__x))(__x), __y)
833 #define hypot(__x, __y) __tg_hypot(__tg_promote2((__x), (__y))(__x), \
834 __tg_promote2((__x), (__y))(__y))
851 #define ilogb(__x) __tg_ilogb(__tg_promote1((__x))(__x))
868 #define ldexp(__x, __y) __tg_ldexp(__tg_promote1((__x))(__x), __y)
885 #define lgamma(__x) __tg_lgamma(__tg_promote1((__x))(__x))
902 #define llrint(__x) __tg_llrint(__tg_promote1((__x))(__x))
919 #define llround(__x) __tg_llround(__tg_promote1((__x))(__x))
936 #define log10(__x) __tg_log10(__tg_promote1((__x))(__x))
953 #define log1p(__x) __tg_log1p(__tg_promote1((__x))(__x))
970 #define log2(__x) __tg_log2(__tg_promote1((__x))(__x))
987 #define logb(__x) __tg_logb(__tg_promote1((__x))(__x))
1004 #define lrint(__x) __tg_lrint(__tg_promote1((__x))(__x))
1021 #define lround(__x) __tg_lround(__tg_promote1((__x))(__x))
1038 #define nearbyint(__x) __tg_nearbyint(__tg_promote1((__x))(__x))
1055 #define nextafter(__x, __y) __tg_nextafter(__tg_promote2((__x), (__y))(__x), \
1056 __tg_promote2((__x), (__y))(__y))
1073 #define nexttoward(__x, __y) __tg_nexttoward(__tg_promote1((__x))(__x), (__y))
1090 #define remainder(__x, __y) __tg_remainder(__tg_promote2((__x), (__y))(__x), \
1091 __tg_promote2((__x), (__y))(__y))
1108 {
return remquol(
__x,
__y, __z);}
1111 #define remquo(__x, __y, __z) \
1112 __tg_remquo(__tg_promote2((__x), (__y))(__x), \
1113 __tg_promote2((__x), (__y))(__y), \
1131 #define rint(__x) __tg_rint(__tg_promote1((__x))(__x))
1148 #define round(__x) __tg_round(__tg_promote1((__x))(__x))
1165 #define scalbn(__x, __y) __tg_scalbn(__tg_promote1((__x))(__x), __y)
1182 #define scalbln(__x, __y) __tg_scalbln(__tg_promote1((__x))(__x), __y)
1199 #define tgamma(__x) __tg_tgamma(__tg_promote1((__x))(__x))
1216 #define trunc(__x) __tg_trunc(__tg_promote1((__x))(__x))
1245 #define carg(__x) __tg_carg(__tg_promote1((__x))(__x))
1274 #define cimag(__x) __tg_cimag(__tg_promote1((__x))(__x))
1278 static float _Complex
1282 static double _Complex
1286 static long double _Complex
1290 static float _Complex
1294 static double _Complex
1298 static long double _Complex
1303 #define conj(__x) __tg_conj(__tg_promote1((__x))(__x))
1307 static float _Complex
1311 static double _Complex
1315 static long double _Complex
1319 static float _Complex
1323 static double _Complex
1327 static long double _Complex
1332 #define cproj(__x) __tg_cproj(__tg_promote1((__x))(__x))
1361 #define creal(__x) __tg_creal(__tg_promote1((__x))(__x))
__DEVICE__ float fabsf(float __a)
__DEVICE__ float fmodf(float __a, float __b)
__DEVICE__ float remainderf(float __a, float __b)
__DEVICE__ float exp2f(float __a)
__DEVICE__ float acosf(float __a)
__DEVICE__ float fmaf(float __a, float __b, float __c)
__DEVICE__ float cbrtf(float __a)
__DEVICE__ float remquof(float __a, float __b, int *__c)
__DEVICE__ float tanf(float __a)
__DEVICE__ float nextafterf(float __a, float __b)
__DEVICE__ float fmaxf(float __a, float __b)
__DEVICE__ float fminf(float __a, float __b)
__DEVICE__ float log2f(float __a)
__DEVICE__ float copysignf(float __a, float __b)
__DEVICE__ float truncf(float __a)
__DEVICE__ float fdimf(float __a, float __b)
__DEVICE__ long lrintf(float __a)
__DEVICE__ long long llrintf(float __a)
__DEVICE__ float cosf(float __a)
__DEVICE__ float sinf(float __a)
__DEVICE__ float logf(float __a)
__DEVICE__ float erff(float __a)
__DEVICE__ float floorf(float __f)
__DEVICE__ float ceilf(float __a)
__DEVICE__ float nearbyintf(float __a)
__DEVICE__ float atanf(float __a)
__DEVICE__ float atanhf(float __a)
__DEVICE__ float tanhf(float __a)
__DEVICE__ float rintf(float __a)
__DEVICE__ float atan2f(float __a, float __b)
__DEVICE__ float sinhf(float __a)
__DEVICE__ float acoshf(float __a)
__DEVICE__ float log10f(float __a)
__DEVICE__ float ldexpf(float __a, int __b)
__DEVICE__ float logbf(float __a)
__DEVICE__ float coshf(float __a)
__DEVICE__ float asinhf(float __a)
__DEVICE__ float roundf(float __a)
__DEVICE__ long lroundf(float __a)
__DEVICE__ float scalbnf(float __a, int __b)
__DEVICE__ float erfcf(float __a)
__DEVICE__ int ilogbf(float __a)
__DEVICE__ float powf(float __a, float __b)
__DEVICE__ float frexpf(float __a, int *__b)
__DEVICE__ float sqrtf(float __a)
__DEVICE__ float expf(float __a)
__DEVICE__ float expm1f(float __a)
__DEVICE__ float scalblnf(float __a, long __b)
__DEVICE__ float tgammaf(float __a)
__DEVICE__ float log1pf(float __a)
__DEVICE__ float lgammaf(float __a)
__DEVICE__ long long llroundf(float __a)
__DEVICE__ float hypotf(float __a, float __b)
__DEVICE__ float asinf(float __a)
_Float16 __2f16 __attribute__((ext_vector_type(2)))
Zeroes the upper 128 bits (bits 255:128) of all YMM registers.
static __inline unsigned char unsigned int __x
static __inline unsigned char unsigned int unsigned int __y
static float _TG_ATTRS __tg_pow(float __x, float __y)
static float _TG_ATTRS __tg_log1p(float __x)
#define scalbln(__x, __y)
static float _TG_ATTRS __tg_exp2(float __x)
static float _TG_ATTRS __tg_cbrt(float __x)
static float _TG_ATTRS __tg_asinh(float __x)
static float _TG_ATTRS __tg_lgamma(float __x)
static float _TG_ATTRS __tg_tanh(float __x)
static float _TG_ATTRS __tg_remainder(float __x, float __y)
static float _TG_ATTRS __tg_fmax(float __x, float __y)
static float _TG_ATTRS __tg_remquo(float __x, float __y, int *__z)
static float _TG_ATTRS __tg_fmod(float __x, float __y)
#define copysign(__x, __y)
static float _TG_ATTRS __tg_cos(float __x)
static float _TG_ATTRS __tg_creal(float __x)
static float _TG_ATTRS __tg_expm1(float __x)
static float _TG_ATTRS __tg_sin(float __x)
#define remquo(__x, __y, __z)
#define nextafter(__x, __y)
static long long _TG_ATTRS __tg_llround(float __x)
static float _TG_ATTRS __tg_ceil(float __x)
static float _TG_ATTRS __tg_rint(float __x)
static float _TG_ATTRS __tg_log2(float __x)
static float _Complex _TG_ATTRS __tg_cproj(float __x)
static float _TG_ATTRS __tg_cosh(float __x)
#define nexttoward(__x, __y)
static float _TG_ATTRS __tg_atanh(float __x)
static _Argument_type_is_not_arithmetic __tg_promote(...) __attribute__((__unavailable__
static float _TG_ATTRS __tg_nearbyint(float __x)
static long _TG_ATTRS __tg_lrint(float __x)
static int _TG_ATTRS __tg_ilogb(float __x)
static float _TG_ATTRS __tg_acos(float __x)
static float _TG_ATTRS __tg_scalbn(float __x, int __y)
static float _TG_ATTRS __tg_floor(float __x)
static float _Complex _TG_ATTRS __tg_conj(float __x)
static float _TG_ATTRS __tg_logb(float __x)
static float _TG_ATTRS __tg_acosh(float __x)
void _Argument_type_is_not_arithmetic
static float _TG_ATTRS __tg_tan(float __x)
static float _TG_ATTRS __tg_fabs(float __x)
static float _TG_ATTRS __tg_tgamma(float __x)
static long long _TG_ATTRS __tg_llrint(float __x)
static float _TG_ATTRS __tg_erf(float __x)
static float _TG_ATTRS __tg_sqrt(float __x)
static float _TG_ATTRS __tg_sinh(float __x)
static float _TG_ATTRS __tg_copysign(float __x, float __y)
static float _TG_ATTRS __tg_asin(float __x)
static float _TG_ATTRS __tg_erfc(float __x)
static float _TG_ATTRS __tg_hypot(float __x, float __y)
static float _TG_ATTRS __tg_atan(float __x)
static float _TG_ATTRS __tg_fma(float __x, float __y, float __z)
static float _TG_ATTRS __tg_trunc(float __x)
static float _TG_ATTRS __tg_exp(float __x)
static float _TG_ATTRS __tg_nextafter(float __x, float __y)
static float _TG_ATTRS __tg_round(float __x)
static float _TG_ATTRS __tg_log10(float __x)
static float _TG_ATTRS __tg_atan2(float __x, float __y)
#define remainder(__x, __y)
static long _TG_ATTRS __tg_lround(float __x)
static _Argument_type_is_not_arithmetic __overloadable__
static float _TG_ATTRS __tg_fdim(float __x, float __y)
static float _TG_ATTRS __tg_scalbln(float __x, long __y)
static float _TG_ATTRS __tg_fmin(float __x, float __y)
static float _TG_ATTRS __tg_log(float __x)
static float _TG_ATTRS __tg_nexttoward(float __x, long double __y)
static float _TG_ATTRS __tg_cimag(float __x)
static float _TG_ATTRS __tg_carg(float __x)
static float _TG_ATTRS __tg_frexp(float __x, int *__y)
static float _TG_ATTRS __tg_ldexp(float __x, int __y)
#define fma(__x, __y, __z)