35 #define _TG_ATTRSp __attribute__((__overloadable__))
36 #define _TG_ATTRS __attribute__((__overloadable__, __always_inline__))
56 #define __tg_promote1(__x) (__typeof__(__tg_promote(__x)))
57 #define __tg_promote2(__x, __y) (__typeof__(__tg_promote(__x) + \
59 #define __tg_promote3(__x, __y, __z) (__typeof__(__tg_promote(__x) + \
81 static double _Complex
85 static long double _Complex
87 __tg_acos(
long double _Complex __x) {
return cacosl(__x);}
90 #define acos(__x) __tg_acos(__tg_promote1((__x))(__x))
106 static float _Complex
110 static double _Complex
114 static long double _Complex
116 __tg_asin(
long double _Complex __x) {
return casinl(__x);}
119 #define asin(__x) __tg_asin(__tg_promote1((__x))(__x))
135 static float _Complex
139 static double _Complex
143 static long double _Complex
145 __tg_atan(
long double _Complex __x) {
return catanl(__x);}
148 #define atan(__x) __tg_atan(__tg_promote1((__x))(__x))
164 static float _Complex
168 static double _Complex
172 static long double _Complex
177 #define acosh(__x) __tg_acosh(__tg_promote1((__x))(__x))
193 static float _Complex
197 static double _Complex
201 static long double _Complex
206 #define asinh(__x) __tg_asinh(__tg_promote1((__x))(__x))
222 static float _Complex
226 static double _Complex
230 static long double _Complex
235 #define atanh(__x) __tg_atanh(__tg_promote1((__x))(__x))
251 static float _Complex
255 static double _Complex
259 static long double _Complex
261 __tg_cos(
long double _Complex __x) {
return ccosl(__x);}
264 #define cos(__x) __tg_cos(__tg_promote1((__x))(__x))
280 static float _Complex
284 static double _Complex
288 static long double _Complex
290 __tg_sin(
long double _Complex __x) {
return csinl(__x);}
293 #define sin(__x) __tg_sin(__tg_promote1((__x))(__x))
309 static float _Complex
313 static double _Complex
317 static long double _Complex
319 __tg_tan(
long double _Complex __x) {
return ctanl(__x);}
322 #define tan(__x) __tg_tan(__tg_promote1((__x))(__x))
338 static float _Complex
342 static double _Complex
346 static long double _Complex
348 __tg_cosh(
long double _Complex __x) {
return ccoshl(__x);}
351 #define cosh(__x) __tg_cosh(__tg_promote1((__x))(__x))
367 static float _Complex
371 static double _Complex
375 static long double _Complex
377 __tg_sinh(
long double _Complex __x) {
return csinhl(__x);}
380 #define sinh(__x) __tg_sinh(__tg_promote1((__x))(__x))
396 static float _Complex
400 static double _Complex
404 static long double _Complex
406 __tg_tanh(
long double _Complex __x) {
return ctanhl(__x);}
409 #define tanh(__x) __tg_tanh(__tg_promote1((__x))(__x))
425 static float _Complex
429 static double _Complex
433 static long double _Complex
435 __tg_exp(
long double _Complex __x) {
return cexpl(__x);}
438 #define exp(__x) __tg_exp(__tg_promote1((__x))(__x))
454 static float _Complex
458 static double _Complex
462 static long double _Complex
464 __tg_log(
long double _Complex __x) {
return clogl(__x);}
467 #define log(__x) __tg_log(__tg_promote1((__x))(__x))
473 __tg_pow(
float __x,
float __y) {
return powf(__x, __y);}
481 __tg_pow(
long double __x,
long double __y) {
return powl(__x, __y);}
483 static float _Complex
485 __tg_pow(
float _Complex __x,
float _Complex __y) {
return cpowf(__x, __y);}
487 static double _Complex
489 __tg_pow(
double _Complex __x,
double _Complex __y) {
return cpow(__x, __y);}
491 static long double _Complex
493 __tg_pow(
long double _Complex __x,
long double _Complex __y)
494 {
return cpowl(__x, __y);}
497 #define pow(__x, __y) __tg_pow(__tg_promote2((__x), (__y))(__x), \
498 __tg_promote2((__x), (__y))(__y))
514 static float _Complex
518 static double _Complex
522 static long double _Complex
524 __tg_sqrt(
long double _Complex __x) {
return csqrtl(__x);}
527 #define sqrt(__x) __tg_sqrt(__tg_promote1((__x))(__x))
553 __tg_fabs(
long double _Complex __x) {
return cabsl(__x);}
556 #define fabs(__x) __tg_fabs(__tg_promote1((__x))(__x))
570 __tg_atan2(
long double __x,
long double __y) {
return atan2l(__x, __y);}
573 #define atan2(__x, __y) __tg_atan2(__tg_promote2((__x), (__y))(__x), \
574 __tg_promote2((__x), (__y))(__y))
591 #define cbrt(__x) __tg_cbrt(__tg_promote1((__x))(__x))
608 #define ceil(__x) __tg_ceil(__tg_promote1((__x))(__x))
622 __tg_copysign(
long double __x,
long double __y) {
return copysignl(__x, __y);}
625 #define copysign(__x, __y) __tg_copysign(__tg_promote2((__x), (__y))(__x), \
626 __tg_promote2((__x), (__y))(__y))
643 #define erf(__x) __tg_erf(__tg_promote1((__x))(__x))
660 #define erfc(__x) __tg_erfc(__tg_promote1((__x))(__x))
677 #define exp2(__x) __tg_exp2(__tg_promote1((__x))(__x))
694 #define expm1(__x) __tg_expm1(__tg_promote1((__x))(__x))
700 __tg_fdim(
float __x,
float __y) {
return fdimf(__x, __y);}
708 __tg_fdim(
long double __x,
long double __y) {
return fdiml(__x, __y);}
711 #define fdim(__x, __y) __tg_fdim(__tg_promote2((__x), (__y))(__x), \
712 __tg_promote2((__x), (__y))(__y))
729 #define floor(__x) __tg_floor(__tg_promote1((__x))(__x))
736 {
return fmaf(__x, __y, __z);}
741 {
return fma(__x, __y, __z);}
745 __tg_fma(
long double __x,
long double __y,
long double __z)
746 {
return fmal(__x, __y, __z);}
749 #define fma(__x, __y, __z) \
750 __tg_fma(__tg_promote3((__x), (__y), (__z))(__x), \
751 __tg_promote3((__x), (__y), (__z))(__y), \
752 __tg_promote3((__x), (__y), (__z))(__z))
758 __tg_fmax(
float __x,
float __y) {
return fmaxf(__x, __y);}
766 __tg_fmax(
long double __x,
long double __y) {
return fmaxl(__x, __y);}
769 #define fmax(__x, __y) __tg_fmax(__tg_promote2((__x), (__y))(__x), \
770 __tg_promote2((__x), (__y))(__y))
776 __tg_fmin(
float __x,
float __y) {
return fminf(__x, __y);}
784 __tg_fmin(
long double __x,
long double __y) {
return fminl(__x, __y);}
787 #define fmin(__x, __y) __tg_fmin(__tg_promote2((__x), (__y))(__x), \
788 __tg_promote2((__x), (__y))(__y))
794 __tg_fmod(
float __x,
float __y) {
return fmodf(__x, __y);}
802 __tg_fmod(
long double __x,
long double __y) {
return fmodl(__x, __y);}
805 #define fmod(__x, __y) __tg_fmod(__tg_promote2((__x), (__y))(__x), \
806 __tg_promote2((__x), (__y))(__y))
820 __tg_frexp(
long double __x,
int* __y) {
return frexpl(__x, __y);}
823 #define frexp(__x, __y) __tg_frexp(__tg_promote1((__x))(__x), __y)
837 __tg_hypot(
long double __x,
long double __y) {
return hypotl(__x, __y);}
840 #define hypot(__x, __y) __tg_hypot(__tg_promote2((__x), (__y))(__x), \
841 __tg_promote2((__x), (__y))(__y))
858 #define ilogb(__x) __tg_ilogb(__tg_promote1((__x))(__x))
872 __tg_ldexp(
long double __x,
int __y) {
return ldexpl(__x, __y);}
875 #define ldexp(__x, __y) __tg_ldexp(__tg_promote1((__x))(__x), __y)
892 #define lgamma(__x) __tg_lgamma(__tg_promote1((__x))(__x))
909 #define llrint(__x) __tg_llrint(__tg_promote1((__x))(__x))
926 #define llround(__x) __tg_llround(__tg_promote1((__x))(__x))
943 #define log10(__x) __tg_log10(__tg_promote1((__x))(__x))
960 #define log1p(__x) __tg_log1p(__tg_promote1((__x))(__x))
977 #define log2(__x) __tg_log2(__tg_promote1((__x))(__x))
994 #define logb(__x) __tg_logb(__tg_promote1((__x))(__x))
1011 #define lrint(__x) __tg_lrint(__tg_promote1((__x))(__x))
1028 #define lround(__x) __tg_lround(__tg_promote1((__x))(__x))
1045 #define nearbyint(__x) __tg_nearbyint(__tg_promote1((__x))(__x))
1062 #define nextafter(__x, __y) __tg_nextafter(__tg_promote2((__x), (__y))(__x), \
1063 __tg_promote2((__x), (__y))(__y))
1080 #define nexttoward(__x, __y) __tg_nexttoward(__tg_promote1((__x))(__x), (__y))
1097 #define remainder(__x, __y) __tg_remainder(__tg_promote2((__x), (__y))(__x), \
1098 __tg_promote2((__x), (__y))(__y))
1105 {
return remquof(__x, __y, __z);}
1110 {
return remquo(__x, __y, __z);}
1115 {
return remquol(__x, __y, __z);}
1118 #define remquo(__x, __y, __z) \
1119 __tg_remquo(__tg_promote2((__x), (__y))(__x), \
1120 __tg_promote2((__x), (__y))(__y), \
1138 #define rint(__x) __tg_rint(__tg_promote1((__x))(__x))
1155 #define round(__x) __tg_round(__tg_promote1((__x))(__x))
1172 #define scalbn(__x, __y) __tg_scalbn(__tg_promote1((__x))(__x), __y)
1189 #define scalbln(__x, __y) __tg_scalbln(__tg_promote1((__x))(__x), __y)
1206 #define tgamma(__x) __tg_tgamma(__tg_promote1((__x))(__x))
1223 #define trunc(__x) __tg_trunc(__tg_promote1((__x))(__x))
1252 #define carg(__x) __tg_carg(__tg_promote1((__x))(__x))
1281 #define cimag(__x) __tg_cimag(__tg_promote1((__x))(__x))
1285 static float _Complex
1289 static double _Complex
1293 static long double _Complex
1297 static float _Complex
1301 static double _Complex
1305 static long double _Complex
1310 #define conj(__x) __tg_conj(__tg_promote1((__x))(__x))
1314 static float _Complex
1318 static double _Complex
1322 static long double _Complex
1326 static float _Complex
1330 static double _Complex
1334 static long double _Complex
1339 #define cproj(__x) __tg_cproj(__tg_promote1((__x))(__x))
1368 #define creal(__x) __tg_creal(__tg_promote1((__x))(__x))
static float _TG_ATTRS __tg_sin(float __x)
static float _TG_ATTRS __tg_fmax(float __x, float __y)
#define fma(__x, __y, __z)
static float _Complex _TG_ATTRS __tg_conj(float __x)
static float _TG_ATTRS __tg_cosh(float __x)
static float _TG_ATTRS __tg_round(float __x)
static float _TG_ATTRS __tg_tgamma(float __x)
static float _TG_ATTRS __tg_expm1(float __x)
static float _TG_ATTRS __tg_nexttoward(float __x, long double __y)
static float _TG_ATTRS __tg_fma(float __x, float __y, float __z)
static float _TG_ATTRS __tg_exp(float __x)
static float _TG_ATTRS __tg_acos(float __x)
static float _TG_ATTRS __tg_carg(float __x)
static float _TG_ATTRS __tg_asinh(float __x)
static float _TG_ATTRS __tg_erf(float __x)
static float _TG_ATTRS __tg_logb(float __x)
static float _TG_ATTRS __tg_erfc(float __x)
static float _TG_ATTRS __tg_atan2(float __x, float __y)
static float _TG_ATTRS __tg_log(float __x)
static float _TG_ATTRS __tg_fdim(float __x, float __y)
static float _TG_ATTRS __tg_creal(float __x)
static float _TG_ATTRS __tg_nextafter(float __x, float __y)
#define remainder(__x, __y)
static long long _TG_ATTRS __tg_llrint(float __x)
static long _TG_ATTRS __tg_lrint(float __x)
static float _TG_ATTRS __tg_lgamma(float __x)
static float _TG_ATTRS __tg_remquo(float __x, float __y, int *__z)
void _Argument_type_is_not_arithmetic
static float _TG_ATTRS __tg_fmin(float __x, float __y)
#define copysign(__x, __y)
#define nexttoward(__x, __y)
static float _TG_ATTRS __tg_hypot(float __x, float __y)
static float _TG_ATTRS __tg_log2(float __x)
static float _TG_ATTRS __tg_frexp(float __x, int *__y)
static float _TG_ATTRS __tg_log10(float __x)
static float _TG_ATTRS __tg_nearbyint(float __x)
char __v64qi __attribute__((__vector_size__(64)))
static float _TG_ATTRS __tg_atan(float __x)
static float _TG_ATTRS __tg_copysign(float __x, float __y)
static long long _TG_ATTRS __tg_llround(float __x)
static float _Complex _TG_ATTRS __tg_cproj(float __x)
static float _TG_ATTRS __tg_sinh(float __x)
static float _TG_ATTRS __tg_ldexp(float __x, int __y)
static float _TG_ATTRS __tg_rint(float __x)
static float _TG_ATTRS __tg_fabs(float __x)
static float _TG_ATTRS __tg_acosh(float __x)
static float _TG_ATTRS __tg_asin(float __x)
static float _TG_ATTRS __tg_tan(float __x)
static float _TG_ATTRS __tg_ceil(float __x)
static float _TG_ATTRS __tg_pow(float __x, float __y)
#define remquo(__x, __y, __z)
static float _TG_ATTRS __tg_scalbln(float __x, long __y)
static long _TG_ATTRS __tg_lround(float __x)
#define nextafter(__x, __y)
static _Argument_type_is_not_arithmetic __overloadable__
static float _TG_ATTRS __tg_cimag(float __x)
static float _TG_ATTRS __tg_remainder(float __x, float __y)
static float _TG_ATTRS __tg_scalbn(float __x, int __y)
static float _TG_ATTRS __tg_exp2(float __x)
static float _TG_ATTRS __tg_trunc(float __x)
static float _TG_ATTRS __tg_fmod(float __x, float __y)
static int _TG_ATTRS __tg_ilogb(float __x)
static float _TG_ATTRS __tg_floor(float __x)
#define scalbln(__x, __y)
static float _TG_ATTRS __tg_log1p(float __x)
static float _TG_ATTRS __tg_cbrt(float __x)
static float _TG_ATTRS __tg_cos(float __x)
static _Argument_type_is_not_arithmetic __tg_promote(...) __attribute__((__unavailable__
static float _TG_ATTRS __tg_sqrt(float __x)
static float _TG_ATTRS __tg_atanh(float __x)
static float _TG_ATTRS __tg_tanh(float __x)