xref: /aosp_15_r20/prebuilts/clang-tools/linux-x86/clang-headers/tgmath.h (revision bed243d3d9cd544cfb038bfa7be843dedc6e6bf7)
1*bed243d3SAndroid Build Coastguard Worker /*===---- tgmath.h - Standard header for type generic math ----------------===*\
2*bed243d3SAndroid Build Coastguard Worker  *
3*bed243d3SAndroid Build Coastguard Worker  * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*bed243d3SAndroid Build Coastguard Worker  * See https://llvm.org/LICENSE.txt for license information.
5*bed243d3SAndroid Build Coastguard Worker  * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*bed243d3SAndroid Build Coastguard Worker  *
7*bed243d3SAndroid Build Coastguard Worker \*===----------------------------------------------------------------------===*/
8*bed243d3SAndroid Build Coastguard Worker 
9*bed243d3SAndroid Build Coastguard Worker #ifndef __CLANG_TGMATH_H
10*bed243d3SAndroid Build Coastguard Worker #define __CLANG_TGMATH_H
11*bed243d3SAndroid Build Coastguard Worker 
12*bed243d3SAndroid Build Coastguard Worker /* C99 7.22 Type-generic math <tgmath.h>. */
13*bed243d3SAndroid Build Coastguard Worker #include <math.h>
14*bed243d3SAndroid Build Coastguard Worker 
15*bed243d3SAndroid Build Coastguard Worker /*
16*bed243d3SAndroid Build Coastguard Worker  * Allow additional definitions and implementation-defined values on Apple
17*bed243d3SAndroid Build Coastguard Worker  * platforms. This is done after #include <math.h> to avoid depcycle conflicts
18*bed243d3SAndroid Build Coastguard Worker  * between libcxx and darwin in C++ modules builds.
19*bed243d3SAndroid Build Coastguard Worker  */
20*bed243d3SAndroid Build Coastguard Worker #if defined(__APPLE__) && __STDC_HOSTED__ && __has_include_next(<tgmath.h>)
21*bed243d3SAndroid Build Coastguard Worker #  include_next <tgmath.h>
22*bed243d3SAndroid Build Coastguard Worker #else
23*bed243d3SAndroid Build Coastguard Worker 
24*bed243d3SAndroid Build Coastguard Worker /* C++ handles type genericity with overloading in math.h. */
25*bed243d3SAndroid Build Coastguard Worker #ifndef __cplusplus
26*bed243d3SAndroid Build Coastguard Worker #include <complex.h>
27*bed243d3SAndroid Build Coastguard Worker 
28*bed243d3SAndroid Build Coastguard Worker #define _TG_ATTRSp __attribute__((__overloadable__))
29*bed243d3SAndroid Build Coastguard Worker #define _TG_ATTRS __attribute__((__overloadable__, __always_inline__))
30*bed243d3SAndroid Build Coastguard Worker 
31*bed243d3SAndroid Build Coastguard Worker // promotion
32*bed243d3SAndroid Build Coastguard Worker 
33*bed243d3SAndroid Build Coastguard Worker typedef void _Argument_type_is_not_arithmetic;
34*bed243d3SAndroid Build Coastguard Worker static _Argument_type_is_not_arithmetic __tg_promote(...)
35*bed243d3SAndroid Build Coastguard Worker   __attribute__((__unavailable__,__overloadable__));
36*bed243d3SAndroid Build Coastguard Worker static double               _TG_ATTRSp __tg_promote(int);
37*bed243d3SAndroid Build Coastguard Worker static double               _TG_ATTRSp __tg_promote(unsigned int);
38*bed243d3SAndroid Build Coastguard Worker static double               _TG_ATTRSp __tg_promote(long);
39*bed243d3SAndroid Build Coastguard Worker static double               _TG_ATTRSp __tg_promote(unsigned long);
40*bed243d3SAndroid Build Coastguard Worker static double               _TG_ATTRSp __tg_promote(long long);
41*bed243d3SAndroid Build Coastguard Worker static double               _TG_ATTRSp __tg_promote(unsigned long long);
42*bed243d3SAndroid Build Coastguard Worker static float                _TG_ATTRSp __tg_promote(float);
43*bed243d3SAndroid Build Coastguard Worker static double               _TG_ATTRSp __tg_promote(double);
44*bed243d3SAndroid Build Coastguard Worker static long double          _TG_ATTRSp __tg_promote(long double);
45*bed243d3SAndroid Build Coastguard Worker static float _Complex       _TG_ATTRSp __tg_promote(float _Complex);
46*bed243d3SAndroid Build Coastguard Worker static double _Complex      _TG_ATTRSp __tg_promote(double _Complex);
47*bed243d3SAndroid Build Coastguard Worker static long double _Complex _TG_ATTRSp __tg_promote(long double _Complex);
48*bed243d3SAndroid Build Coastguard Worker 
49*bed243d3SAndroid Build Coastguard Worker #define __tg_promote1(__x)           (__typeof__(__tg_promote(__x)))
50*bed243d3SAndroid Build Coastguard Worker #define __tg_promote2(__x, __y)      (__typeof__(__tg_promote(__x) + \
51*bed243d3SAndroid Build Coastguard Worker                                                  __tg_promote(__y)))
52*bed243d3SAndroid Build Coastguard Worker #define __tg_promote3(__x, __y, __z) (__typeof__(__tg_promote(__x) + \
53*bed243d3SAndroid Build Coastguard Worker                                                  __tg_promote(__y) + \
54*bed243d3SAndroid Build Coastguard Worker                                                  __tg_promote(__z)))
55*bed243d3SAndroid Build Coastguard Worker 
56*bed243d3SAndroid Build Coastguard Worker // acos
57*bed243d3SAndroid Build Coastguard Worker 
58*bed243d3SAndroid Build Coastguard Worker static float
59*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_acos(float __x)60*bed243d3SAndroid Build Coastguard Worker     __tg_acos(float __x) {return acosf(__x);}
61*bed243d3SAndroid Build Coastguard Worker 
62*bed243d3SAndroid Build Coastguard Worker static double
63*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_acos(double __x)64*bed243d3SAndroid Build Coastguard Worker     __tg_acos(double __x) {return acos(__x);}
65*bed243d3SAndroid Build Coastguard Worker 
66*bed243d3SAndroid Build Coastguard Worker static long double
67*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_acos(long double __x)68*bed243d3SAndroid Build Coastguard Worker     __tg_acos(long double __x) {return acosl(__x);}
69*bed243d3SAndroid Build Coastguard Worker 
70*bed243d3SAndroid Build Coastguard Worker static float _Complex
71*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_acos(float _Complex __x)72*bed243d3SAndroid Build Coastguard Worker     __tg_acos(float _Complex __x) {return cacosf(__x);}
73*bed243d3SAndroid Build Coastguard Worker 
74*bed243d3SAndroid Build Coastguard Worker static double _Complex
75*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_acos(double _Complex __x)76*bed243d3SAndroid Build Coastguard Worker     __tg_acos(double _Complex __x) {return cacos(__x);}
77*bed243d3SAndroid Build Coastguard Worker 
78*bed243d3SAndroid Build Coastguard Worker static long double _Complex
79*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_acos(long double _Complex __x)80*bed243d3SAndroid Build Coastguard Worker     __tg_acos(long double _Complex __x) {return cacosl(__x);}
81*bed243d3SAndroid Build Coastguard Worker 
82*bed243d3SAndroid Build Coastguard Worker #undef acos
83*bed243d3SAndroid Build Coastguard Worker #define acos(__x) __tg_acos(__tg_promote1((__x))(__x))
84*bed243d3SAndroid Build Coastguard Worker 
85*bed243d3SAndroid Build Coastguard Worker // asin
86*bed243d3SAndroid Build Coastguard Worker 
87*bed243d3SAndroid Build Coastguard Worker static float
88*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_asin(float __x)89*bed243d3SAndroid Build Coastguard Worker     __tg_asin(float __x) {return asinf(__x);}
90*bed243d3SAndroid Build Coastguard Worker 
91*bed243d3SAndroid Build Coastguard Worker static double
92*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_asin(double __x)93*bed243d3SAndroid Build Coastguard Worker     __tg_asin(double __x) {return asin(__x);}
94*bed243d3SAndroid Build Coastguard Worker 
95*bed243d3SAndroid Build Coastguard Worker static long double
96*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_asin(long double __x)97*bed243d3SAndroid Build Coastguard Worker     __tg_asin(long double __x) {return asinl(__x);}
98*bed243d3SAndroid Build Coastguard Worker 
99*bed243d3SAndroid Build Coastguard Worker static float _Complex
100*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_asin(float _Complex __x)101*bed243d3SAndroid Build Coastguard Worker     __tg_asin(float _Complex __x) {return casinf(__x);}
102*bed243d3SAndroid Build Coastguard Worker 
103*bed243d3SAndroid Build Coastguard Worker static double _Complex
104*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_asin(double _Complex __x)105*bed243d3SAndroid Build Coastguard Worker     __tg_asin(double _Complex __x) {return casin(__x);}
106*bed243d3SAndroid Build Coastguard Worker 
107*bed243d3SAndroid Build Coastguard Worker static long double _Complex
108*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_asin(long double _Complex __x)109*bed243d3SAndroid Build Coastguard Worker     __tg_asin(long double _Complex __x) {return casinl(__x);}
110*bed243d3SAndroid Build Coastguard Worker 
111*bed243d3SAndroid Build Coastguard Worker #undef asin
112*bed243d3SAndroid Build Coastguard Worker #define asin(__x) __tg_asin(__tg_promote1((__x))(__x))
113*bed243d3SAndroid Build Coastguard Worker 
114*bed243d3SAndroid Build Coastguard Worker // atan
115*bed243d3SAndroid Build Coastguard Worker 
116*bed243d3SAndroid Build Coastguard Worker static float
117*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_atan(float __x)118*bed243d3SAndroid Build Coastguard Worker     __tg_atan(float __x) {return atanf(__x);}
119*bed243d3SAndroid Build Coastguard Worker 
120*bed243d3SAndroid Build Coastguard Worker static double
121*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_atan(double __x)122*bed243d3SAndroid Build Coastguard Worker     __tg_atan(double __x) {return atan(__x);}
123*bed243d3SAndroid Build Coastguard Worker 
124*bed243d3SAndroid Build Coastguard Worker static long double
125*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_atan(long double __x)126*bed243d3SAndroid Build Coastguard Worker     __tg_atan(long double __x) {return atanl(__x);}
127*bed243d3SAndroid Build Coastguard Worker 
128*bed243d3SAndroid Build Coastguard Worker static float _Complex
129*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_atan(float _Complex __x)130*bed243d3SAndroid Build Coastguard Worker     __tg_atan(float _Complex __x) {return catanf(__x);}
131*bed243d3SAndroid Build Coastguard Worker 
132*bed243d3SAndroid Build Coastguard Worker static double _Complex
133*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_atan(double _Complex __x)134*bed243d3SAndroid Build Coastguard Worker     __tg_atan(double _Complex __x) {return catan(__x);}
135*bed243d3SAndroid Build Coastguard Worker 
136*bed243d3SAndroid Build Coastguard Worker static long double _Complex
137*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_atan(long double _Complex __x)138*bed243d3SAndroid Build Coastguard Worker     __tg_atan(long double _Complex __x) {return catanl(__x);}
139*bed243d3SAndroid Build Coastguard Worker 
140*bed243d3SAndroid Build Coastguard Worker #undef atan
141*bed243d3SAndroid Build Coastguard Worker #define atan(__x) __tg_atan(__tg_promote1((__x))(__x))
142*bed243d3SAndroid Build Coastguard Worker 
143*bed243d3SAndroid Build Coastguard Worker // acosh
144*bed243d3SAndroid Build Coastguard Worker 
145*bed243d3SAndroid Build Coastguard Worker static float
146*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_acosh(float __x)147*bed243d3SAndroid Build Coastguard Worker     __tg_acosh(float __x) {return acoshf(__x);}
148*bed243d3SAndroid Build Coastguard Worker 
149*bed243d3SAndroid Build Coastguard Worker static double
150*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_acosh(double __x)151*bed243d3SAndroid Build Coastguard Worker     __tg_acosh(double __x) {return acosh(__x);}
152*bed243d3SAndroid Build Coastguard Worker 
153*bed243d3SAndroid Build Coastguard Worker static long double
154*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_acosh(long double __x)155*bed243d3SAndroid Build Coastguard Worker     __tg_acosh(long double __x) {return acoshl(__x);}
156*bed243d3SAndroid Build Coastguard Worker 
157*bed243d3SAndroid Build Coastguard Worker static float _Complex
158*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_acosh(float _Complex __x)159*bed243d3SAndroid Build Coastguard Worker     __tg_acosh(float _Complex __x) {return cacoshf(__x);}
160*bed243d3SAndroid Build Coastguard Worker 
161*bed243d3SAndroid Build Coastguard Worker static double _Complex
162*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_acosh(double _Complex __x)163*bed243d3SAndroid Build Coastguard Worker     __tg_acosh(double _Complex __x) {return cacosh(__x);}
164*bed243d3SAndroid Build Coastguard Worker 
165*bed243d3SAndroid Build Coastguard Worker static long double _Complex
166*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_acosh(long double _Complex __x)167*bed243d3SAndroid Build Coastguard Worker     __tg_acosh(long double _Complex __x) {return cacoshl(__x);}
168*bed243d3SAndroid Build Coastguard Worker 
169*bed243d3SAndroid Build Coastguard Worker #undef acosh
170*bed243d3SAndroid Build Coastguard Worker #define acosh(__x) __tg_acosh(__tg_promote1((__x))(__x))
171*bed243d3SAndroid Build Coastguard Worker 
172*bed243d3SAndroid Build Coastguard Worker // asinh
173*bed243d3SAndroid Build Coastguard Worker 
174*bed243d3SAndroid Build Coastguard Worker static float
175*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_asinh(float __x)176*bed243d3SAndroid Build Coastguard Worker     __tg_asinh(float __x) {return asinhf(__x);}
177*bed243d3SAndroid Build Coastguard Worker 
178*bed243d3SAndroid Build Coastguard Worker static double
179*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_asinh(double __x)180*bed243d3SAndroid Build Coastguard Worker     __tg_asinh(double __x) {return asinh(__x);}
181*bed243d3SAndroid Build Coastguard Worker 
182*bed243d3SAndroid Build Coastguard Worker static long double
183*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_asinh(long double __x)184*bed243d3SAndroid Build Coastguard Worker     __tg_asinh(long double __x) {return asinhl(__x);}
185*bed243d3SAndroid Build Coastguard Worker 
186*bed243d3SAndroid Build Coastguard Worker static float _Complex
187*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_asinh(float _Complex __x)188*bed243d3SAndroid Build Coastguard Worker     __tg_asinh(float _Complex __x) {return casinhf(__x);}
189*bed243d3SAndroid Build Coastguard Worker 
190*bed243d3SAndroid Build Coastguard Worker static double _Complex
191*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_asinh(double _Complex __x)192*bed243d3SAndroid Build Coastguard Worker     __tg_asinh(double _Complex __x) {return casinh(__x);}
193*bed243d3SAndroid Build Coastguard Worker 
194*bed243d3SAndroid Build Coastguard Worker static long double _Complex
195*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_asinh(long double _Complex __x)196*bed243d3SAndroid Build Coastguard Worker     __tg_asinh(long double _Complex __x) {return casinhl(__x);}
197*bed243d3SAndroid Build Coastguard Worker 
198*bed243d3SAndroid Build Coastguard Worker #undef asinh
199*bed243d3SAndroid Build Coastguard Worker #define asinh(__x) __tg_asinh(__tg_promote1((__x))(__x))
200*bed243d3SAndroid Build Coastguard Worker 
201*bed243d3SAndroid Build Coastguard Worker // atanh
202*bed243d3SAndroid Build Coastguard Worker 
203*bed243d3SAndroid Build Coastguard Worker static float
204*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_atanh(float __x)205*bed243d3SAndroid Build Coastguard Worker     __tg_atanh(float __x) {return atanhf(__x);}
206*bed243d3SAndroid Build Coastguard Worker 
207*bed243d3SAndroid Build Coastguard Worker static double
208*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_atanh(double __x)209*bed243d3SAndroid Build Coastguard Worker     __tg_atanh(double __x) {return atanh(__x);}
210*bed243d3SAndroid Build Coastguard Worker 
211*bed243d3SAndroid Build Coastguard Worker static long double
212*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_atanh(long double __x)213*bed243d3SAndroid Build Coastguard Worker     __tg_atanh(long double __x) {return atanhl(__x);}
214*bed243d3SAndroid Build Coastguard Worker 
215*bed243d3SAndroid Build Coastguard Worker static float _Complex
216*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_atanh(float _Complex __x)217*bed243d3SAndroid Build Coastguard Worker     __tg_atanh(float _Complex __x) {return catanhf(__x);}
218*bed243d3SAndroid Build Coastguard Worker 
219*bed243d3SAndroid Build Coastguard Worker static double _Complex
220*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_atanh(double _Complex __x)221*bed243d3SAndroid Build Coastguard Worker     __tg_atanh(double _Complex __x) {return catanh(__x);}
222*bed243d3SAndroid Build Coastguard Worker 
223*bed243d3SAndroid Build Coastguard Worker static long double _Complex
224*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_atanh(long double _Complex __x)225*bed243d3SAndroid Build Coastguard Worker     __tg_atanh(long double _Complex __x) {return catanhl(__x);}
226*bed243d3SAndroid Build Coastguard Worker 
227*bed243d3SAndroid Build Coastguard Worker #undef atanh
228*bed243d3SAndroid Build Coastguard Worker #define atanh(__x) __tg_atanh(__tg_promote1((__x))(__x))
229*bed243d3SAndroid Build Coastguard Worker 
230*bed243d3SAndroid Build Coastguard Worker // cos
231*bed243d3SAndroid Build Coastguard Worker 
232*bed243d3SAndroid Build Coastguard Worker static float
233*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_cos(float __x)234*bed243d3SAndroid Build Coastguard Worker     __tg_cos(float __x) {return cosf(__x);}
235*bed243d3SAndroid Build Coastguard Worker 
236*bed243d3SAndroid Build Coastguard Worker static double
237*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_cos(double __x)238*bed243d3SAndroid Build Coastguard Worker     __tg_cos(double __x) {return cos(__x);}
239*bed243d3SAndroid Build Coastguard Worker 
240*bed243d3SAndroid Build Coastguard Worker static long double
241*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_cos(long double __x)242*bed243d3SAndroid Build Coastguard Worker     __tg_cos(long double __x) {return cosl(__x);}
243*bed243d3SAndroid Build Coastguard Worker 
244*bed243d3SAndroid Build Coastguard Worker static float _Complex
245*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_cos(float _Complex __x)246*bed243d3SAndroid Build Coastguard Worker     __tg_cos(float _Complex __x) {return ccosf(__x);}
247*bed243d3SAndroid Build Coastguard Worker 
248*bed243d3SAndroid Build Coastguard Worker static double _Complex
249*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_cos(double _Complex __x)250*bed243d3SAndroid Build Coastguard Worker     __tg_cos(double _Complex __x) {return ccos(__x);}
251*bed243d3SAndroid Build Coastguard Worker 
252*bed243d3SAndroid Build Coastguard Worker static long double _Complex
253*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_cos(long double _Complex __x)254*bed243d3SAndroid Build Coastguard Worker     __tg_cos(long double _Complex __x) {return ccosl(__x);}
255*bed243d3SAndroid Build Coastguard Worker 
256*bed243d3SAndroid Build Coastguard Worker #undef cos
257*bed243d3SAndroid Build Coastguard Worker #define cos(__x) __tg_cos(__tg_promote1((__x))(__x))
258*bed243d3SAndroid Build Coastguard Worker 
259*bed243d3SAndroid Build Coastguard Worker // sin
260*bed243d3SAndroid Build Coastguard Worker 
261*bed243d3SAndroid Build Coastguard Worker static float
262*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_sin(float __x)263*bed243d3SAndroid Build Coastguard Worker     __tg_sin(float __x) {return sinf(__x);}
264*bed243d3SAndroid Build Coastguard Worker 
265*bed243d3SAndroid Build Coastguard Worker static double
266*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_sin(double __x)267*bed243d3SAndroid Build Coastguard Worker     __tg_sin(double __x) {return sin(__x);}
268*bed243d3SAndroid Build Coastguard Worker 
269*bed243d3SAndroid Build Coastguard Worker static long double
270*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_sin(long double __x)271*bed243d3SAndroid Build Coastguard Worker     __tg_sin(long double __x) {return sinl(__x);}
272*bed243d3SAndroid Build Coastguard Worker 
273*bed243d3SAndroid Build Coastguard Worker static float _Complex
274*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_sin(float _Complex __x)275*bed243d3SAndroid Build Coastguard Worker     __tg_sin(float _Complex __x) {return csinf(__x);}
276*bed243d3SAndroid Build Coastguard Worker 
277*bed243d3SAndroid Build Coastguard Worker static double _Complex
278*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_sin(double _Complex __x)279*bed243d3SAndroid Build Coastguard Worker     __tg_sin(double _Complex __x) {return csin(__x);}
280*bed243d3SAndroid Build Coastguard Worker 
281*bed243d3SAndroid Build Coastguard Worker static long double _Complex
282*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_sin(long double _Complex __x)283*bed243d3SAndroid Build Coastguard Worker     __tg_sin(long double _Complex __x) {return csinl(__x);}
284*bed243d3SAndroid Build Coastguard Worker 
285*bed243d3SAndroid Build Coastguard Worker #undef sin
286*bed243d3SAndroid Build Coastguard Worker #define sin(__x) __tg_sin(__tg_promote1((__x))(__x))
287*bed243d3SAndroid Build Coastguard Worker 
288*bed243d3SAndroid Build Coastguard Worker // tan
289*bed243d3SAndroid Build Coastguard Worker 
290*bed243d3SAndroid Build Coastguard Worker static float
291*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_tan(float __x)292*bed243d3SAndroid Build Coastguard Worker     __tg_tan(float __x) {return tanf(__x);}
293*bed243d3SAndroid Build Coastguard Worker 
294*bed243d3SAndroid Build Coastguard Worker static double
295*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_tan(double __x)296*bed243d3SAndroid Build Coastguard Worker     __tg_tan(double __x) {return tan(__x);}
297*bed243d3SAndroid Build Coastguard Worker 
298*bed243d3SAndroid Build Coastguard Worker static long double
299*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_tan(long double __x)300*bed243d3SAndroid Build Coastguard Worker     __tg_tan(long double __x) {return tanl(__x);}
301*bed243d3SAndroid Build Coastguard Worker 
302*bed243d3SAndroid Build Coastguard Worker static float _Complex
303*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_tan(float _Complex __x)304*bed243d3SAndroid Build Coastguard Worker     __tg_tan(float _Complex __x) {return ctanf(__x);}
305*bed243d3SAndroid Build Coastguard Worker 
306*bed243d3SAndroid Build Coastguard Worker static double _Complex
307*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_tan(double _Complex __x)308*bed243d3SAndroid Build Coastguard Worker     __tg_tan(double _Complex __x) {return ctan(__x);}
309*bed243d3SAndroid Build Coastguard Worker 
310*bed243d3SAndroid Build Coastguard Worker static long double _Complex
311*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_tan(long double _Complex __x)312*bed243d3SAndroid Build Coastguard Worker     __tg_tan(long double _Complex __x) {return ctanl(__x);}
313*bed243d3SAndroid Build Coastguard Worker 
314*bed243d3SAndroid Build Coastguard Worker #undef tan
315*bed243d3SAndroid Build Coastguard Worker #define tan(__x) __tg_tan(__tg_promote1((__x))(__x))
316*bed243d3SAndroid Build Coastguard Worker 
317*bed243d3SAndroid Build Coastguard Worker // cosh
318*bed243d3SAndroid Build Coastguard Worker 
319*bed243d3SAndroid Build Coastguard Worker static float
320*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_cosh(float __x)321*bed243d3SAndroid Build Coastguard Worker     __tg_cosh(float __x) {return coshf(__x);}
322*bed243d3SAndroid Build Coastguard Worker 
323*bed243d3SAndroid Build Coastguard Worker static double
324*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_cosh(double __x)325*bed243d3SAndroid Build Coastguard Worker     __tg_cosh(double __x) {return cosh(__x);}
326*bed243d3SAndroid Build Coastguard Worker 
327*bed243d3SAndroid Build Coastguard Worker static long double
328*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_cosh(long double __x)329*bed243d3SAndroid Build Coastguard Worker     __tg_cosh(long double __x) {return coshl(__x);}
330*bed243d3SAndroid Build Coastguard Worker 
331*bed243d3SAndroid Build Coastguard Worker static float _Complex
332*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_cosh(float _Complex __x)333*bed243d3SAndroid Build Coastguard Worker     __tg_cosh(float _Complex __x) {return ccoshf(__x);}
334*bed243d3SAndroid Build Coastguard Worker 
335*bed243d3SAndroid Build Coastguard Worker static double _Complex
336*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_cosh(double _Complex __x)337*bed243d3SAndroid Build Coastguard Worker     __tg_cosh(double _Complex __x) {return ccosh(__x);}
338*bed243d3SAndroid Build Coastguard Worker 
339*bed243d3SAndroid Build Coastguard Worker static long double _Complex
340*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_cosh(long double _Complex __x)341*bed243d3SAndroid Build Coastguard Worker     __tg_cosh(long double _Complex __x) {return ccoshl(__x);}
342*bed243d3SAndroid Build Coastguard Worker 
343*bed243d3SAndroid Build Coastguard Worker #undef cosh
344*bed243d3SAndroid Build Coastguard Worker #define cosh(__x) __tg_cosh(__tg_promote1((__x))(__x))
345*bed243d3SAndroid Build Coastguard Worker 
346*bed243d3SAndroid Build Coastguard Worker // sinh
347*bed243d3SAndroid Build Coastguard Worker 
348*bed243d3SAndroid Build Coastguard Worker static float
349*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_sinh(float __x)350*bed243d3SAndroid Build Coastguard Worker     __tg_sinh(float __x) {return sinhf(__x);}
351*bed243d3SAndroid Build Coastguard Worker 
352*bed243d3SAndroid Build Coastguard Worker static double
353*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_sinh(double __x)354*bed243d3SAndroid Build Coastguard Worker     __tg_sinh(double __x) {return sinh(__x);}
355*bed243d3SAndroid Build Coastguard Worker 
356*bed243d3SAndroid Build Coastguard Worker static long double
357*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_sinh(long double __x)358*bed243d3SAndroid Build Coastguard Worker     __tg_sinh(long double __x) {return sinhl(__x);}
359*bed243d3SAndroid Build Coastguard Worker 
360*bed243d3SAndroid Build Coastguard Worker static float _Complex
361*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_sinh(float _Complex __x)362*bed243d3SAndroid Build Coastguard Worker     __tg_sinh(float _Complex __x) {return csinhf(__x);}
363*bed243d3SAndroid Build Coastguard Worker 
364*bed243d3SAndroid Build Coastguard Worker static double _Complex
365*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_sinh(double _Complex __x)366*bed243d3SAndroid Build Coastguard Worker     __tg_sinh(double _Complex __x) {return csinh(__x);}
367*bed243d3SAndroid Build Coastguard Worker 
368*bed243d3SAndroid Build Coastguard Worker static long double _Complex
369*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_sinh(long double _Complex __x)370*bed243d3SAndroid Build Coastguard Worker     __tg_sinh(long double _Complex __x) {return csinhl(__x);}
371*bed243d3SAndroid Build Coastguard Worker 
372*bed243d3SAndroid Build Coastguard Worker #undef sinh
373*bed243d3SAndroid Build Coastguard Worker #define sinh(__x) __tg_sinh(__tg_promote1((__x))(__x))
374*bed243d3SAndroid Build Coastguard Worker 
375*bed243d3SAndroid Build Coastguard Worker // tanh
376*bed243d3SAndroid Build Coastguard Worker 
377*bed243d3SAndroid Build Coastguard Worker static float
378*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_tanh(float __x)379*bed243d3SAndroid Build Coastguard Worker     __tg_tanh(float __x) {return tanhf(__x);}
380*bed243d3SAndroid Build Coastguard Worker 
381*bed243d3SAndroid Build Coastguard Worker static double
382*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_tanh(double __x)383*bed243d3SAndroid Build Coastguard Worker     __tg_tanh(double __x) {return tanh(__x);}
384*bed243d3SAndroid Build Coastguard Worker 
385*bed243d3SAndroid Build Coastguard Worker static long double
386*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_tanh(long double __x)387*bed243d3SAndroid Build Coastguard Worker     __tg_tanh(long double __x) {return tanhl(__x);}
388*bed243d3SAndroid Build Coastguard Worker 
389*bed243d3SAndroid Build Coastguard Worker static float _Complex
390*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_tanh(float _Complex __x)391*bed243d3SAndroid Build Coastguard Worker     __tg_tanh(float _Complex __x) {return ctanhf(__x);}
392*bed243d3SAndroid Build Coastguard Worker 
393*bed243d3SAndroid Build Coastguard Worker static double _Complex
394*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_tanh(double _Complex __x)395*bed243d3SAndroid Build Coastguard Worker     __tg_tanh(double _Complex __x) {return ctanh(__x);}
396*bed243d3SAndroid Build Coastguard Worker 
397*bed243d3SAndroid Build Coastguard Worker static long double _Complex
398*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_tanh(long double _Complex __x)399*bed243d3SAndroid Build Coastguard Worker     __tg_tanh(long double _Complex __x) {return ctanhl(__x);}
400*bed243d3SAndroid Build Coastguard Worker 
401*bed243d3SAndroid Build Coastguard Worker #undef tanh
402*bed243d3SAndroid Build Coastguard Worker #define tanh(__x) __tg_tanh(__tg_promote1((__x))(__x))
403*bed243d3SAndroid Build Coastguard Worker 
404*bed243d3SAndroid Build Coastguard Worker // exp
405*bed243d3SAndroid Build Coastguard Worker 
406*bed243d3SAndroid Build Coastguard Worker static float
407*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_exp(float __x)408*bed243d3SAndroid Build Coastguard Worker     __tg_exp(float __x) {return expf(__x);}
409*bed243d3SAndroid Build Coastguard Worker 
410*bed243d3SAndroid Build Coastguard Worker static double
411*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_exp(double __x)412*bed243d3SAndroid Build Coastguard Worker     __tg_exp(double __x) {return exp(__x);}
413*bed243d3SAndroid Build Coastguard Worker 
414*bed243d3SAndroid Build Coastguard Worker static long double
415*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_exp(long double __x)416*bed243d3SAndroid Build Coastguard Worker     __tg_exp(long double __x) {return expl(__x);}
417*bed243d3SAndroid Build Coastguard Worker 
418*bed243d3SAndroid Build Coastguard Worker static float _Complex
419*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_exp(float _Complex __x)420*bed243d3SAndroid Build Coastguard Worker     __tg_exp(float _Complex __x) {return cexpf(__x);}
421*bed243d3SAndroid Build Coastguard Worker 
422*bed243d3SAndroid Build Coastguard Worker static double _Complex
423*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_exp(double _Complex __x)424*bed243d3SAndroid Build Coastguard Worker     __tg_exp(double _Complex __x) {return cexp(__x);}
425*bed243d3SAndroid Build Coastguard Worker 
426*bed243d3SAndroid Build Coastguard Worker static long double _Complex
427*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_exp(long double _Complex __x)428*bed243d3SAndroid Build Coastguard Worker     __tg_exp(long double _Complex __x) {return cexpl(__x);}
429*bed243d3SAndroid Build Coastguard Worker 
430*bed243d3SAndroid Build Coastguard Worker #undef exp
431*bed243d3SAndroid Build Coastguard Worker #define exp(__x) __tg_exp(__tg_promote1((__x))(__x))
432*bed243d3SAndroid Build Coastguard Worker 
433*bed243d3SAndroid Build Coastguard Worker // log
434*bed243d3SAndroid Build Coastguard Worker 
435*bed243d3SAndroid Build Coastguard Worker static float
436*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_log(float __x)437*bed243d3SAndroid Build Coastguard Worker     __tg_log(float __x) {return logf(__x);}
438*bed243d3SAndroid Build Coastguard Worker 
439*bed243d3SAndroid Build Coastguard Worker static double
440*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_log(double __x)441*bed243d3SAndroid Build Coastguard Worker     __tg_log(double __x) {return log(__x);}
442*bed243d3SAndroid Build Coastguard Worker 
443*bed243d3SAndroid Build Coastguard Worker static long double
444*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_log(long double __x)445*bed243d3SAndroid Build Coastguard Worker     __tg_log(long double __x) {return logl(__x);}
446*bed243d3SAndroid Build Coastguard Worker 
447*bed243d3SAndroid Build Coastguard Worker static float _Complex
448*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_log(float _Complex __x)449*bed243d3SAndroid Build Coastguard Worker     __tg_log(float _Complex __x) {return clogf(__x);}
450*bed243d3SAndroid Build Coastguard Worker 
451*bed243d3SAndroid Build Coastguard Worker static double _Complex
452*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_log(double _Complex __x)453*bed243d3SAndroid Build Coastguard Worker     __tg_log(double _Complex __x) {return clog(__x);}
454*bed243d3SAndroid Build Coastguard Worker 
455*bed243d3SAndroid Build Coastguard Worker static long double _Complex
456*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_log(long double _Complex __x)457*bed243d3SAndroid Build Coastguard Worker     __tg_log(long double _Complex __x) {return clogl(__x);}
458*bed243d3SAndroid Build Coastguard Worker 
459*bed243d3SAndroid Build Coastguard Worker #undef log
460*bed243d3SAndroid Build Coastguard Worker #define log(__x) __tg_log(__tg_promote1((__x))(__x))
461*bed243d3SAndroid Build Coastguard Worker 
462*bed243d3SAndroid Build Coastguard Worker // pow
463*bed243d3SAndroid Build Coastguard Worker 
464*bed243d3SAndroid Build Coastguard Worker static float
465*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_pow(float __x,float __y)466*bed243d3SAndroid Build Coastguard Worker     __tg_pow(float __x, float __y) {return powf(__x, __y);}
467*bed243d3SAndroid Build Coastguard Worker 
468*bed243d3SAndroid Build Coastguard Worker static double
469*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_pow(double __x,double __y)470*bed243d3SAndroid Build Coastguard Worker     __tg_pow(double __x, double __y) {return pow(__x, __y);}
471*bed243d3SAndroid Build Coastguard Worker 
472*bed243d3SAndroid Build Coastguard Worker static long double
473*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_pow(long double __x,long double __y)474*bed243d3SAndroid Build Coastguard Worker     __tg_pow(long double __x, long double __y) {return powl(__x, __y);}
475*bed243d3SAndroid Build Coastguard Worker 
476*bed243d3SAndroid Build Coastguard Worker static float _Complex
477*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_pow(float _Complex __x,float _Complex __y)478*bed243d3SAndroid Build Coastguard Worker     __tg_pow(float _Complex __x, float _Complex __y) {return cpowf(__x, __y);}
479*bed243d3SAndroid Build Coastguard Worker 
480*bed243d3SAndroid Build Coastguard Worker static double _Complex
481*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_pow(double _Complex __x,double _Complex __y)482*bed243d3SAndroid Build Coastguard Worker     __tg_pow(double _Complex __x, double _Complex __y) {return cpow(__x, __y);}
483*bed243d3SAndroid Build Coastguard Worker 
484*bed243d3SAndroid Build Coastguard Worker static long double _Complex
485*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_pow(long double _Complex __x,long double _Complex __y)486*bed243d3SAndroid Build Coastguard Worker     __tg_pow(long double _Complex __x, long double _Complex __y)
487*bed243d3SAndroid Build Coastguard Worker     {return cpowl(__x, __y);}
488*bed243d3SAndroid Build Coastguard Worker 
489*bed243d3SAndroid Build Coastguard Worker #undef pow
490*bed243d3SAndroid Build Coastguard Worker #define pow(__x, __y) __tg_pow(__tg_promote2((__x), (__y))(__x), \
491*bed243d3SAndroid Build Coastguard Worker                                __tg_promote2((__x), (__y))(__y))
492*bed243d3SAndroid Build Coastguard Worker 
493*bed243d3SAndroid Build Coastguard Worker // sqrt
494*bed243d3SAndroid Build Coastguard Worker 
495*bed243d3SAndroid Build Coastguard Worker static float
496*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_sqrt(float __x)497*bed243d3SAndroid Build Coastguard Worker     __tg_sqrt(float __x) {return sqrtf(__x);}
498*bed243d3SAndroid Build Coastguard Worker 
499*bed243d3SAndroid Build Coastguard Worker static double
500*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_sqrt(double __x)501*bed243d3SAndroid Build Coastguard Worker     __tg_sqrt(double __x) {return sqrt(__x);}
502*bed243d3SAndroid Build Coastguard Worker 
503*bed243d3SAndroid Build Coastguard Worker static long double
504*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_sqrt(long double __x)505*bed243d3SAndroid Build Coastguard Worker     __tg_sqrt(long double __x) {return sqrtl(__x);}
506*bed243d3SAndroid Build Coastguard Worker 
507*bed243d3SAndroid Build Coastguard Worker static float _Complex
508*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_sqrt(float _Complex __x)509*bed243d3SAndroid Build Coastguard Worker     __tg_sqrt(float _Complex __x) {return csqrtf(__x);}
510*bed243d3SAndroid Build Coastguard Worker 
511*bed243d3SAndroid Build Coastguard Worker static double _Complex
512*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_sqrt(double _Complex __x)513*bed243d3SAndroid Build Coastguard Worker     __tg_sqrt(double _Complex __x) {return csqrt(__x);}
514*bed243d3SAndroid Build Coastguard Worker 
515*bed243d3SAndroid Build Coastguard Worker static long double _Complex
516*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_sqrt(long double _Complex __x)517*bed243d3SAndroid Build Coastguard Worker     __tg_sqrt(long double _Complex __x) {return csqrtl(__x);}
518*bed243d3SAndroid Build Coastguard Worker 
519*bed243d3SAndroid Build Coastguard Worker #undef sqrt
520*bed243d3SAndroid Build Coastguard Worker #define sqrt(__x) __tg_sqrt(__tg_promote1((__x))(__x))
521*bed243d3SAndroid Build Coastguard Worker 
522*bed243d3SAndroid Build Coastguard Worker // fabs
523*bed243d3SAndroid Build Coastguard Worker 
524*bed243d3SAndroid Build Coastguard Worker static float
525*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_fabs(float __x)526*bed243d3SAndroid Build Coastguard Worker     __tg_fabs(float __x) {return fabsf(__x);}
527*bed243d3SAndroid Build Coastguard Worker 
528*bed243d3SAndroid Build Coastguard Worker static double
529*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_fabs(double __x)530*bed243d3SAndroid Build Coastguard Worker     __tg_fabs(double __x) {return fabs(__x);}
531*bed243d3SAndroid Build Coastguard Worker 
532*bed243d3SAndroid Build Coastguard Worker static long double
533*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_fabs(long double __x)534*bed243d3SAndroid Build Coastguard Worker     __tg_fabs(long double __x) {return fabsl(__x);}
535*bed243d3SAndroid Build Coastguard Worker 
536*bed243d3SAndroid Build Coastguard Worker static float
537*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_fabs(float _Complex __x)538*bed243d3SAndroid Build Coastguard Worker     __tg_fabs(float _Complex __x) {return cabsf(__x);}
539*bed243d3SAndroid Build Coastguard Worker 
540*bed243d3SAndroid Build Coastguard Worker static double
541*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_fabs(double _Complex __x)542*bed243d3SAndroid Build Coastguard Worker     __tg_fabs(double _Complex __x) {return cabs(__x);}
543*bed243d3SAndroid Build Coastguard Worker 
544*bed243d3SAndroid Build Coastguard Worker static long double
545*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_fabs(long double _Complex __x)546*bed243d3SAndroid Build Coastguard Worker     __tg_fabs(long double _Complex __x) {return cabsl(__x);}
547*bed243d3SAndroid Build Coastguard Worker 
548*bed243d3SAndroid Build Coastguard Worker #undef fabs
549*bed243d3SAndroid Build Coastguard Worker #define fabs(__x) __tg_fabs(__tg_promote1((__x))(__x))
550*bed243d3SAndroid Build Coastguard Worker 
551*bed243d3SAndroid Build Coastguard Worker // atan2
552*bed243d3SAndroid Build Coastguard Worker 
553*bed243d3SAndroid Build Coastguard Worker static float
554*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_atan2(float __x,float __y)555*bed243d3SAndroid Build Coastguard Worker     __tg_atan2(float __x, float __y) {return atan2f(__x, __y);}
556*bed243d3SAndroid Build Coastguard Worker 
557*bed243d3SAndroid Build Coastguard Worker static double
558*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_atan2(double __x,double __y)559*bed243d3SAndroid Build Coastguard Worker     __tg_atan2(double __x, double __y) {return atan2(__x, __y);}
560*bed243d3SAndroid Build Coastguard Worker 
561*bed243d3SAndroid Build Coastguard Worker static long double
562*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_atan2(long double __x,long double __y)563*bed243d3SAndroid Build Coastguard Worker     __tg_atan2(long double __x, long double __y) {return atan2l(__x, __y);}
564*bed243d3SAndroid Build Coastguard Worker 
565*bed243d3SAndroid Build Coastguard Worker #undef atan2
566*bed243d3SAndroid Build Coastguard Worker #define atan2(__x, __y) __tg_atan2(__tg_promote2((__x), (__y))(__x), \
567*bed243d3SAndroid Build Coastguard Worker                                    __tg_promote2((__x), (__y))(__y))
568*bed243d3SAndroid Build Coastguard Worker 
569*bed243d3SAndroid Build Coastguard Worker // cbrt
570*bed243d3SAndroid Build Coastguard Worker 
571*bed243d3SAndroid Build Coastguard Worker static float
572*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_cbrt(float __x)573*bed243d3SAndroid Build Coastguard Worker     __tg_cbrt(float __x) {return cbrtf(__x);}
574*bed243d3SAndroid Build Coastguard Worker 
575*bed243d3SAndroid Build Coastguard Worker static double
576*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_cbrt(double __x)577*bed243d3SAndroid Build Coastguard Worker     __tg_cbrt(double __x) {return cbrt(__x);}
578*bed243d3SAndroid Build Coastguard Worker 
579*bed243d3SAndroid Build Coastguard Worker static long double
580*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_cbrt(long double __x)581*bed243d3SAndroid Build Coastguard Worker     __tg_cbrt(long double __x) {return cbrtl(__x);}
582*bed243d3SAndroid Build Coastguard Worker 
583*bed243d3SAndroid Build Coastguard Worker #undef cbrt
584*bed243d3SAndroid Build Coastguard Worker #define cbrt(__x) __tg_cbrt(__tg_promote1((__x))(__x))
585*bed243d3SAndroid Build Coastguard Worker 
586*bed243d3SAndroid Build Coastguard Worker // ceil
587*bed243d3SAndroid Build Coastguard Worker 
588*bed243d3SAndroid Build Coastguard Worker static float
589*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_ceil(float __x)590*bed243d3SAndroid Build Coastguard Worker     __tg_ceil(float __x) {return ceilf(__x);}
591*bed243d3SAndroid Build Coastguard Worker 
592*bed243d3SAndroid Build Coastguard Worker static double
593*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_ceil(double __x)594*bed243d3SAndroid Build Coastguard Worker     __tg_ceil(double __x) {return ceil(__x);}
595*bed243d3SAndroid Build Coastguard Worker 
596*bed243d3SAndroid Build Coastguard Worker static long double
597*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_ceil(long double __x)598*bed243d3SAndroid Build Coastguard Worker     __tg_ceil(long double __x) {return ceill(__x);}
599*bed243d3SAndroid Build Coastguard Worker 
600*bed243d3SAndroid Build Coastguard Worker #undef ceil
601*bed243d3SAndroid Build Coastguard Worker #define ceil(__x) __tg_ceil(__tg_promote1((__x))(__x))
602*bed243d3SAndroid Build Coastguard Worker 
603*bed243d3SAndroid Build Coastguard Worker // copysign
604*bed243d3SAndroid Build Coastguard Worker 
605*bed243d3SAndroid Build Coastguard Worker static float
606*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_copysign(float __x,float __y)607*bed243d3SAndroid Build Coastguard Worker     __tg_copysign(float __x, float __y) {return copysignf(__x, __y);}
608*bed243d3SAndroid Build Coastguard Worker 
609*bed243d3SAndroid Build Coastguard Worker static double
610*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_copysign(double __x,double __y)611*bed243d3SAndroid Build Coastguard Worker     __tg_copysign(double __x, double __y) {return copysign(__x, __y);}
612*bed243d3SAndroid Build Coastguard Worker 
613*bed243d3SAndroid Build Coastguard Worker static long double
614*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_copysign(long double __x,long double __y)615*bed243d3SAndroid Build Coastguard Worker     __tg_copysign(long double __x, long double __y) {return copysignl(__x, __y);}
616*bed243d3SAndroid Build Coastguard Worker 
617*bed243d3SAndroid Build Coastguard Worker #undef copysign
618*bed243d3SAndroid Build Coastguard Worker #define copysign(__x, __y) __tg_copysign(__tg_promote2((__x), (__y))(__x), \
619*bed243d3SAndroid Build Coastguard Worker                                          __tg_promote2((__x), (__y))(__y))
620*bed243d3SAndroid Build Coastguard Worker 
621*bed243d3SAndroid Build Coastguard Worker // erf
622*bed243d3SAndroid Build Coastguard Worker 
623*bed243d3SAndroid Build Coastguard Worker static float
624*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_erf(float __x)625*bed243d3SAndroid Build Coastguard Worker     __tg_erf(float __x) {return erff(__x);}
626*bed243d3SAndroid Build Coastguard Worker 
627*bed243d3SAndroid Build Coastguard Worker static double
628*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_erf(double __x)629*bed243d3SAndroid Build Coastguard Worker     __tg_erf(double __x) {return erf(__x);}
630*bed243d3SAndroid Build Coastguard Worker 
631*bed243d3SAndroid Build Coastguard Worker static long double
632*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_erf(long double __x)633*bed243d3SAndroid Build Coastguard Worker     __tg_erf(long double __x) {return erfl(__x);}
634*bed243d3SAndroid Build Coastguard Worker 
635*bed243d3SAndroid Build Coastguard Worker #undef erf
636*bed243d3SAndroid Build Coastguard Worker #define erf(__x) __tg_erf(__tg_promote1((__x))(__x))
637*bed243d3SAndroid Build Coastguard Worker 
638*bed243d3SAndroid Build Coastguard Worker // erfc
639*bed243d3SAndroid Build Coastguard Worker 
640*bed243d3SAndroid Build Coastguard Worker static float
641*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_erfc(float __x)642*bed243d3SAndroid Build Coastguard Worker     __tg_erfc(float __x) {return erfcf(__x);}
643*bed243d3SAndroid Build Coastguard Worker 
644*bed243d3SAndroid Build Coastguard Worker static double
645*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_erfc(double __x)646*bed243d3SAndroid Build Coastguard Worker     __tg_erfc(double __x) {return erfc(__x);}
647*bed243d3SAndroid Build Coastguard Worker 
648*bed243d3SAndroid Build Coastguard Worker static long double
649*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_erfc(long double __x)650*bed243d3SAndroid Build Coastguard Worker     __tg_erfc(long double __x) {return erfcl(__x);}
651*bed243d3SAndroid Build Coastguard Worker 
652*bed243d3SAndroid Build Coastguard Worker #undef erfc
653*bed243d3SAndroid Build Coastguard Worker #define erfc(__x) __tg_erfc(__tg_promote1((__x))(__x))
654*bed243d3SAndroid Build Coastguard Worker 
655*bed243d3SAndroid Build Coastguard Worker // exp2
656*bed243d3SAndroid Build Coastguard Worker 
657*bed243d3SAndroid Build Coastguard Worker static float
658*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_exp2(float __x)659*bed243d3SAndroid Build Coastguard Worker     __tg_exp2(float __x) {return exp2f(__x);}
660*bed243d3SAndroid Build Coastguard Worker 
661*bed243d3SAndroid Build Coastguard Worker static double
662*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_exp2(double __x)663*bed243d3SAndroid Build Coastguard Worker     __tg_exp2(double __x) {return exp2(__x);}
664*bed243d3SAndroid Build Coastguard Worker 
665*bed243d3SAndroid Build Coastguard Worker static long double
666*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_exp2(long double __x)667*bed243d3SAndroid Build Coastguard Worker     __tg_exp2(long double __x) {return exp2l(__x);}
668*bed243d3SAndroid Build Coastguard Worker 
669*bed243d3SAndroid Build Coastguard Worker #undef exp2
670*bed243d3SAndroid Build Coastguard Worker #define exp2(__x) __tg_exp2(__tg_promote1((__x))(__x))
671*bed243d3SAndroid Build Coastguard Worker 
672*bed243d3SAndroid Build Coastguard Worker // expm1
673*bed243d3SAndroid Build Coastguard Worker 
674*bed243d3SAndroid Build Coastguard Worker static float
675*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_expm1(float __x)676*bed243d3SAndroid Build Coastguard Worker     __tg_expm1(float __x) {return expm1f(__x);}
677*bed243d3SAndroid Build Coastguard Worker 
678*bed243d3SAndroid Build Coastguard Worker static double
679*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_expm1(double __x)680*bed243d3SAndroid Build Coastguard Worker     __tg_expm1(double __x) {return expm1(__x);}
681*bed243d3SAndroid Build Coastguard Worker 
682*bed243d3SAndroid Build Coastguard Worker static long double
683*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_expm1(long double __x)684*bed243d3SAndroid Build Coastguard Worker     __tg_expm1(long double __x) {return expm1l(__x);}
685*bed243d3SAndroid Build Coastguard Worker 
686*bed243d3SAndroid Build Coastguard Worker #undef expm1
687*bed243d3SAndroid Build Coastguard Worker #define expm1(__x) __tg_expm1(__tg_promote1((__x))(__x))
688*bed243d3SAndroid Build Coastguard Worker 
689*bed243d3SAndroid Build Coastguard Worker // fdim
690*bed243d3SAndroid Build Coastguard Worker 
691*bed243d3SAndroid Build Coastguard Worker static float
692*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_fdim(float __x,float __y)693*bed243d3SAndroid Build Coastguard Worker     __tg_fdim(float __x, float __y) {return fdimf(__x, __y);}
694*bed243d3SAndroid Build Coastguard Worker 
695*bed243d3SAndroid Build Coastguard Worker static double
696*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_fdim(double __x,double __y)697*bed243d3SAndroid Build Coastguard Worker     __tg_fdim(double __x, double __y) {return fdim(__x, __y);}
698*bed243d3SAndroid Build Coastguard Worker 
699*bed243d3SAndroid Build Coastguard Worker static long double
700*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_fdim(long double __x,long double __y)701*bed243d3SAndroid Build Coastguard Worker     __tg_fdim(long double __x, long double __y) {return fdiml(__x, __y);}
702*bed243d3SAndroid Build Coastguard Worker 
703*bed243d3SAndroid Build Coastguard Worker #undef fdim
704*bed243d3SAndroid Build Coastguard Worker #define fdim(__x, __y) __tg_fdim(__tg_promote2((__x), (__y))(__x), \
705*bed243d3SAndroid Build Coastguard Worker                                  __tg_promote2((__x), (__y))(__y))
706*bed243d3SAndroid Build Coastguard Worker 
707*bed243d3SAndroid Build Coastguard Worker // floor
708*bed243d3SAndroid Build Coastguard Worker 
709*bed243d3SAndroid Build Coastguard Worker static float
710*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_floor(float __x)711*bed243d3SAndroid Build Coastguard Worker     __tg_floor(float __x) {return floorf(__x);}
712*bed243d3SAndroid Build Coastguard Worker 
713*bed243d3SAndroid Build Coastguard Worker static double
714*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_floor(double __x)715*bed243d3SAndroid Build Coastguard Worker     __tg_floor(double __x) {return floor(__x);}
716*bed243d3SAndroid Build Coastguard Worker 
717*bed243d3SAndroid Build Coastguard Worker static long double
718*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_floor(long double __x)719*bed243d3SAndroid Build Coastguard Worker     __tg_floor(long double __x) {return floorl(__x);}
720*bed243d3SAndroid Build Coastguard Worker 
721*bed243d3SAndroid Build Coastguard Worker #undef floor
722*bed243d3SAndroid Build Coastguard Worker #define floor(__x) __tg_floor(__tg_promote1((__x))(__x))
723*bed243d3SAndroid Build Coastguard Worker 
724*bed243d3SAndroid Build Coastguard Worker // fma
725*bed243d3SAndroid Build Coastguard Worker 
726*bed243d3SAndroid Build Coastguard Worker static float
727*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_fma(float __x,float __y,float __z)728*bed243d3SAndroid Build Coastguard Worker     __tg_fma(float __x, float __y, float __z)
729*bed243d3SAndroid Build Coastguard Worker     {return fmaf(__x, __y, __z);}
730*bed243d3SAndroid Build Coastguard Worker 
731*bed243d3SAndroid Build Coastguard Worker static double
732*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_fma(double __x,double __y,double __z)733*bed243d3SAndroid Build Coastguard Worker     __tg_fma(double __x, double __y, double __z)
734*bed243d3SAndroid Build Coastguard Worker     {return fma(__x, __y, __z);}
735*bed243d3SAndroid Build Coastguard Worker 
736*bed243d3SAndroid Build Coastguard Worker static long double
737*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_fma(long double __x,long double __y,long double __z)738*bed243d3SAndroid Build Coastguard Worker     __tg_fma(long double __x,long double __y, long double __z)
739*bed243d3SAndroid Build Coastguard Worker     {return fmal(__x, __y, __z);}
740*bed243d3SAndroid Build Coastguard Worker 
741*bed243d3SAndroid Build Coastguard Worker #undef fma
742*bed243d3SAndroid Build Coastguard Worker #define fma(__x, __y, __z)                                \
743*bed243d3SAndroid Build Coastguard Worker         __tg_fma(__tg_promote3((__x), (__y), (__z))(__x), \
744*bed243d3SAndroid Build Coastguard Worker                  __tg_promote3((__x), (__y), (__z))(__y), \
745*bed243d3SAndroid Build Coastguard Worker                  __tg_promote3((__x), (__y), (__z))(__z))
746*bed243d3SAndroid Build Coastguard Worker 
747*bed243d3SAndroid Build Coastguard Worker // fmax
748*bed243d3SAndroid Build Coastguard Worker 
749*bed243d3SAndroid Build Coastguard Worker static float
750*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_fmax(float __x,float __y)751*bed243d3SAndroid Build Coastguard Worker     __tg_fmax(float __x, float __y) {return fmaxf(__x, __y);}
752*bed243d3SAndroid Build Coastguard Worker 
753*bed243d3SAndroid Build Coastguard Worker static double
754*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_fmax(double __x,double __y)755*bed243d3SAndroid Build Coastguard Worker     __tg_fmax(double __x, double __y) {return fmax(__x, __y);}
756*bed243d3SAndroid Build Coastguard Worker 
757*bed243d3SAndroid Build Coastguard Worker static long double
758*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_fmax(long double __x,long double __y)759*bed243d3SAndroid Build Coastguard Worker     __tg_fmax(long double __x, long double __y) {return fmaxl(__x, __y);}
760*bed243d3SAndroid Build Coastguard Worker 
761*bed243d3SAndroid Build Coastguard Worker #undef fmax
762*bed243d3SAndroid Build Coastguard Worker #define fmax(__x, __y) __tg_fmax(__tg_promote2((__x), (__y))(__x), \
763*bed243d3SAndroid Build Coastguard Worker                                  __tg_promote2((__x), (__y))(__y))
764*bed243d3SAndroid Build Coastguard Worker 
765*bed243d3SAndroid Build Coastguard Worker // fmin
766*bed243d3SAndroid Build Coastguard Worker 
767*bed243d3SAndroid Build Coastguard Worker static float
768*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_fmin(float __x,float __y)769*bed243d3SAndroid Build Coastguard Worker     __tg_fmin(float __x, float __y) {return fminf(__x, __y);}
770*bed243d3SAndroid Build Coastguard Worker 
771*bed243d3SAndroid Build Coastguard Worker static double
772*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_fmin(double __x,double __y)773*bed243d3SAndroid Build Coastguard Worker     __tg_fmin(double __x, double __y) {return fmin(__x, __y);}
774*bed243d3SAndroid Build Coastguard Worker 
775*bed243d3SAndroid Build Coastguard Worker static long double
776*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_fmin(long double __x,long double __y)777*bed243d3SAndroid Build Coastguard Worker     __tg_fmin(long double __x, long double __y) {return fminl(__x, __y);}
778*bed243d3SAndroid Build Coastguard Worker 
779*bed243d3SAndroid Build Coastguard Worker #undef fmin
780*bed243d3SAndroid Build Coastguard Worker #define fmin(__x, __y) __tg_fmin(__tg_promote2((__x), (__y))(__x), \
781*bed243d3SAndroid Build Coastguard Worker                                  __tg_promote2((__x), (__y))(__y))
782*bed243d3SAndroid Build Coastguard Worker 
783*bed243d3SAndroid Build Coastguard Worker // fmod
784*bed243d3SAndroid Build Coastguard Worker 
785*bed243d3SAndroid Build Coastguard Worker static float
786*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_fmod(float __x,float __y)787*bed243d3SAndroid Build Coastguard Worker     __tg_fmod(float __x, float __y) {return fmodf(__x, __y);}
788*bed243d3SAndroid Build Coastguard Worker 
789*bed243d3SAndroid Build Coastguard Worker static double
790*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_fmod(double __x,double __y)791*bed243d3SAndroid Build Coastguard Worker     __tg_fmod(double __x, double __y) {return fmod(__x, __y);}
792*bed243d3SAndroid Build Coastguard Worker 
793*bed243d3SAndroid Build Coastguard Worker static long double
794*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_fmod(long double __x,long double __y)795*bed243d3SAndroid Build Coastguard Worker     __tg_fmod(long double __x, long double __y) {return fmodl(__x, __y);}
796*bed243d3SAndroid Build Coastguard Worker 
797*bed243d3SAndroid Build Coastguard Worker #undef fmod
798*bed243d3SAndroid Build Coastguard Worker #define fmod(__x, __y) __tg_fmod(__tg_promote2((__x), (__y))(__x), \
799*bed243d3SAndroid Build Coastguard Worker                                  __tg_promote2((__x), (__y))(__y))
800*bed243d3SAndroid Build Coastguard Worker 
801*bed243d3SAndroid Build Coastguard Worker // frexp
802*bed243d3SAndroid Build Coastguard Worker 
803*bed243d3SAndroid Build Coastguard Worker static float
804*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_frexp(float __x,int * __y)805*bed243d3SAndroid Build Coastguard Worker     __tg_frexp(float __x, int* __y) {return frexpf(__x, __y);}
806*bed243d3SAndroid Build Coastguard Worker 
807*bed243d3SAndroid Build Coastguard Worker static double
808*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_frexp(double __x,int * __y)809*bed243d3SAndroid Build Coastguard Worker     __tg_frexp(double __x, int* __y) {return frexp(__x, __y);}
810*bed243d3SAndroid Build Coastguard Worker 
811*bed243d3SAndroid Build Coastguard Worker static long double
812*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_frexp(long double __x,int * __y)813*bed243d3SAndroid Build Coastguard Worker     __tg_frexp(long double __x, int* __y) {return frexpl(__x, __y);}
814*bed243d3SAndroid Build Coastguard Worker 
815*bed243d3SAndroid Build Coastguard Worker #undef frexp
816*bed243d3SAndroid Build Coastguard Worker #define frexp(__x, __y) __tg_frexp(__tg_promote1((__x))(__x), __y)
817*bed243d3SAndroid Build Coastguard Worker 
818*bed243d3SAndroid Build Coastguard Worker // hypot
819*bed243d3SAndroid Build Coastguard Worker 
820*bed243d3SAndroid Build Coastguard Worker static float
821*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_hypot(float __x,float __y)822*bed243d3SAndroid Build Coastguard Worker     __tg_hypot(float __x, float __y) {return hypotf(__x, __y);}
823*bed243d3SAndroid Build Coastguard Worker 
824*bed243d3SAndroid Build Coastguard Worker static double
825*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_hypot(double __x,double __y)826*bed243d3SAndroid Build Coastguard Worker     __tg_hypot(double __x, double __y) {return hypot(__x, __y);}
827*bed243d3SAndroid Build Coastguard Worker 
828*bed243d3SAndroid Build Coastguard Worker static long double
829*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_hypot(long double __x,long double __y)830*bed243d3SAndroid Build Coastguard Worker     __tg_hypot(long double __x, long double __y) {return hypotl(__x, __y);}
831*bed243d3SAndroid Build Coastguard Worker 
832*bed243d3SAndroid Build Coastguard Worker #undef hypot
833*bed243d3SAndroid Build Coastguard Worker #define hypot(__x, __y) __tg_hypot(__tg_promote2((__x), (__y))(__x), \
834*bed243d3SAndroid Build Coastguard Worker                                    __tg_promote2((__x), (__y))(__y))
835*bed243d3SAndroid Build Coastguard Worker 
836*bed243d3SAndroid Build Coastguard Worker // ilogb
837*bed243d3SAndroid Build Coastguard Worker 
838*bed243d3SAndroid Build Coastguard Worker static int
839*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_ilogb(float __x)840*bed243d3SAndroid Build Coastguard Worker     __tg_ilogb(float __x) {return ilogbf(__x);}
841*bed243d3SAndroid Build Coastguard Worker 
842*bed243d3SAndroid Build Coastguard Worker static int
843*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_ilogb(double __x)844*bed243d3SAndroid Build Coastguard Worker     __tg_ilogb(double __x) {return ilogb(__x);}
845*bed243d3SAndroid Build Coastguard Worker 
846*bed243d3SAndroid Build Coastguard Worker static int
847*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_ilogb(long double __x)848*bed243d3SAndroid Build Coastguard Worker     __tg_ilogb(long double __x) {return ilogbl(__x);}
849*bed243d3SAndroid Build Coastguard Worker 
850*bed243d3SAndroid Build Coastguard Worker #undef ilogb
851*bed243d3SAndroid Build Coastguard Worker #define ilogb(__x) __tg_ilogb(__tg_promote1((__x))(__x))
852*bed243d3SAndroid Build Coastguard Worker 
853*bed243d3SAndroid Build Coastguard Worker // ldexp
854*bed243d3SAndroid Build Coastguard Worker 
855*bed243d3SAndroid Build Coastguard Worker static float
856*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_ldexp(float __x,int __y)857*bed243d3SAndroid Build Coastguard Worker     __tg_ldexp(float __x, int __y) {return ldexpf(__x, __y);}
858*bed243d3SAndroid Build Coastguard Worker 
859*bed243d3SAndroid Build Coastguard Worker static double
860*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_ldexp(double __x,int __y)861*bed243d3SAndroid Build Coastguard Worker     __tg_ldexp(double __x, int __y) {return ldexp(__x, __y);}
862*bed243d3SAndroid Build Coastguard Worker 
863*bed243d3SAndroid Build Coastguard Worker static long double
864*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_ldexp(long double __x,int __y)865*bed243d3SAndroid Build Coastguard Worker     __tg_ldexp(long double __x, int __y) {return ldexpl(__x, __y);}
866*bed243d3SAndroid Build Coastguard Worker 
867*bed243d3SAndroid Build Coastguard Worker #undef ldexp
868*bed243d3SAndroid Build Coastguard Worker #define ldexp(__x, __y) __tg_ldexp(__tg_promote1((__x))(__x), __y)
869*bed243d3SAndroid Build Coastguard Worker 
870*bed243d3SAndroid Build Coastguard Worker // lgamma
871*bed243d3SAndroid Build Coastguard Worker 
872*bed243d3SAndroid Build Coastguard Worker static float
873*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_lgamma(float __x)874*bed243d3SAndroid Build Coastguard Worker     __tg_lgamma(float __x) {return lgammaf(__x);}
875*bed243d3SAndroid Build Coastguard Worker 
876*bed243d3SAndroid Build Coastguard Worker static double
877*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_lgamma(double __x)878*bed243d3SAndroid Build Coastguard Worker     __tg_lgamma(double __x) {return lgamma(__x);}
879*bed243d3SAndroid Build Coastguard Worker 
880*bed243d3SAndroid Build Coastguard Worker static long double
881*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_lgamma(long double __x)882*bed243d3SAndroid Build Coastguard Worker     __tg_lgamma(long double __x) {return lgammal(__x);}
883*bed243d3SAndroid Build Coastguard Worker 
884*bed243d3SAndroid Build Coastguard Worker #undef lgamma
885*bed243d3SAndroid Build Coastguard Worker #define lgamma(__x) __tg_lgamma(__tg_promote1((__x))(__x))
886*bed243d3SAndroid Build Coastguard Worker 
887*bed243d3SAndroid Build Coastguard Worker // llrint
888*bed243d3SAndroid Build Coastguard Worker 
889*bed243d3SAndroid Build Coastguard Worker static long long
890*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_llrint(float __x)891*bed243d3SAndroid Build Coastguard Worker     __tg_llrint(float __x) {return llrintf(__x);}
892*bed243d3SAndroid Build Coastguard Worker 
893*bed243d3SAndroid Build Coastguard Worker static long long
894*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_llrint(double __x)895*bed243d3SAndroid Build Coastguard Worker     __tg_llrint(double __x) {return llrint(__x);}
896*bed243d3SAndroid Build Coastguard Worker 
897*bed243d3SAndroid Build Coastguard Worker static long long
898*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_llrint(long double __x)899*bed243d3SAndroid Build Coastguard Worker     __tg_llrint(long double __x) {return llrintl(__x);}
900*bed243d3SAndroid Build Coastguard Worker 
901*bed243d3SAndroid Build Coastguard Worker #undef llrint
902*bed243d3SAndroid Build Coastguard Worker #define llrint(__x) __tg_llrint(__tg_promote1((__x))(__x))
903*bed243d3SAndroid Build Coastguard Worker 
904*bed243d3SAndroid Build Coastguard Worker // llround
905*bed243d3SAndroid Build Coastguard Worker 
906*bed243d3SAndroid Build Coastguard Worker static long long
907*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_llround(float __x)908*bed243d3SAndroid Build Coastguard Worker     __tg_llround(float __x) {return llroundf(__x);}
909*bed243d3SAndroid Build Coastguard Worker 
910*bed243d3SAndroid Build Coastguard Worker static long long
911*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_llround(double __x)912*bed243d3SAndroid Build Coastguard Worker     __tg_llround(double __x) {return llround(__x);}
913*bed243d3SAndroid Build Coastguard Worker 
914*bed243d3SAndroid Build Coastguard Worker static long long
915*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_llround(long double __x)916*bed243d3SAndroid Build Coastguard Worker     __tg_llround(long double __x) {return llroundl(__x);}
917*bed243d3SAndroid Build Coastguard Worker 
918*bed243d3SAndroid Build Coastguard Worker #undef llround
919*bed243d3SAndroid Build Coastguard Worker #define llround(__x) __tg_llround(__tg_promote1((__x))(__x))
920*bed243d3SAndroid Build Coastguard Worker 
921*bed243d3SAndroid Build Coastguard Worker // log10
922*bed243d3SAndroid Build Coastguard Worker 
923*bed243d3SAndroid Build Coastguard Worker static float
924*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_log10(float __x)925*bed243d3SAndroid Build Coastguard Worker     __tg_log10(float __x) {return log10f(__x);}
926*bed243d3SAndroid Build Coastguard Worker 
927*bed243d3SAndroid Build Coastguard Worker static double
928*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_log10(double __x)929*bed243d3SAndroid Build Coastguard Worker     __tg_log10(double __x) {return log10(__x);}
930*bed243d3SAndroid Build Coastguard Worker 
931*bed243d3SAndroid Build Coastguard Worker static long double
932*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_log10(long double __x)933*bed243d3SAndroid Build Coastguard Worker     __tg_log10(long double __x) {return log10l(__x);}
934*bed243d3SAndroid Build Coastguard Worker 
935*bed243d3SAndroid Build Coastguard Worker #undef log10
936*bed243d3SAndroid Build Coastguard Worker #define log10(__x) __tg_log10(__tg_promote1((__x))(__x))
937*bed243d3SAndroid Build Coastguard Worker 
938*bed243d3SAndroid Build Coastguard Worker // log1p
939*bed243d3SAndroid Build Coastguard Worker 
940*bed243d3SAndroid Build Coastguard Worker static float
941*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_log1p(float __x)942*bed243d3SAndroid Build Coastguard Worker     __tg_log1p(float __x) {return log1pf(__x);}
943*bed243d3SAndroid Build Coastguard Worker 
944*bed243d3SAndroid Build Coastguard Worker static double
945*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_log1p(double __x)946*bed243d3SAndroid Build Coastguard Worker     __tg_log1p(double __x) {return log1p(__x);}
947*bed243d3SAndroid Build Coastguard Worker 
948*bed243d3SAndroid Build Coastguard Worker static long double
949*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_log1p(long double __x)950*bed243d3SAndroid Build Coastguard Worker     __tg_log1p(long double __x) {return log1pl(__x);}
951*bed243d3SAndroid Build Coastguard Worker 
952*bed243d3SAndroid Build Coastguard Worker #undef log1p
953*bed243d3SAndroid Build Coastguard Worker #define log1p(__x) __tg_log1p(__tg_promote1((__x))(__x))
954*bed243d3SAndroid Build Coastguard Worker 
955*bed243d3SAndroid Build Coastguard Worker // log2
956*bed243d3SAndroid Build Coastguard Worker 
957*bed243d3SAndroid Build Coastguard Worker static float
958*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_log2(float __x)959*bed243d3SAndroid Build Coastguard Worker     __tg_log2(float __x) {return log2f(__x);}
960*bed243d3SAndroid Build Coastguard Worker 
961*bed243d3SAndroid Build Coastguard Worker static double
962*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_log2(double __x)963*bed243d3SAndroid Build Coastguard Worker     __tg_log2(double __x) {return log2(__x);}
964*bed243d3SAndroid Build Coastguard Worker 
965*bed243d3SAndroid Build Coastguard Worker static long double
966*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_log2(long double __x)967*bed243d3SAndroid Build Coastguard Worker     __tg_log2(long double __x) {return log2l(__x);}
968*bed243d3SAndroid Build Coastguard Worker 
969*bed243d3SAndroid Build Coastguard Worker #undef log2
970*bed243d3SAndroid Build Coastguard Worker #define log2(__x) __tg_log2(__tg_promote1((__x))(__x))
971*bed243d3SAndroid Build Coastguard Worker 
972*bed243d3SAndroid Build Coastguard Worker // logb
973*bed243d3SAndroid Build Coastguard Worker 
974*bed243d3SAndroid Build Coastguard Worker static float
975*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_logb(float __x)976*bed243d3SAndroid Build Coastguard Worker     __tg_logb(float __x) {return logbf(__x);}
977*bed243d3SAndroid Build Coastguard Worker 
978*bed243d3SAndroid Build Coastguard Worker static double
979*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_logb(double __x)980*bed243d3SAndroid Build Coastguard Worker     __tg_logb(double __x) {return logb(__x);}
981*bed243d3SAndroid Build Coastguard Worker 
982*bed243d3SAndroid Build Coastguard Worker static long double
983*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_logb(long double __x)984*bed243d3SAndroid Build Coastguard Worker     __tg_logb(long double __x) {return logbl(__x);}
985*bed243d3SAndroid Build Coastguard Worker 
986*bed243d3SAndroid Build Coastguard Worker #undef logb
987*bed243d3SAndroid Build Coastguard Worker #define logb(__x) __tg_logb(__tg_promote1((__x))(__x))
988*bed243d3SAndroid Build Coastguard Worker 
989*bed243d3SAndroid Build Coastguard Worker // lrint
990*bed243d3SAndroid Build Coastguard Worker 
991*bed243d3SAndroid Build Coastguard Worker static long
992*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_lrint(float __x)993*bed243d3SAndroid Build Coastguard Worker     __tg_lrint(float __x) {return lrintf(__x);}
994*bed243d3SAndroid Build Coastguard Worker 
995*bed243d3SAndroid Build Coastguard Worker static long
996*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_lrint(double __x)997*bed243d3SAndroid Build Coastguard Worker     __tg_lrint(double __x) {return lrint(__x);}
998*bed243d3SAndroid Build Coastguard Worker 
999*bed243d3SAndroid Build Coastguard Worker static long
1000*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_lrint(long double __x)1001*bed243d3SAndroid Build Coastguard Worker     __tg_lrint(long double __x) {return lrintl(__x);}
1002*bed243d3SAndroid Build Coastguard Worker 
1003*bed243d3SAndroid Build Coastguard Worker #undef lrint
1004*bed243d3SAndroid Build Coastguard Worker #define lrint(__x) __tg_lrint(__tg_promote1((__x))(__x))
1005*bed243d3SAndroid Build Coastguard Worker 
1006*bed243d3SAndroid Build Coastguard Worker // lround
1007*bed243d3SAndroid Build Coastguard Worker 
1008*bed243d3SAndroid Build Coastguard Worker static long
1009*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_lround(float __x)1010*bed243d3SAndroid Build Coastguard Worker     __tg_lround(float __x) {return lroundf(__x);}
1011*bed243d3SAndroid Build Coastguard Worker 
1012*bed243d3SAndroid Build Coastguard Worker static long
1013*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_lround(double __x)1014*bed243d3SAndroid Build Coastguard Worker     __tg_lround(double __x) {return lround(__x);}
1015*bed243d3SAndroid Build Coastguard Worker 
1016*bed243d3SAndroid Build Coastguard Worker static long
1017*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_lround(long double __x)1018*bed243d3SAndroid Build Coastguard Worker     __tg_lround(long double __x) {return lroundl(__x);}
1019*bed243d3SAndroid Build Coastguard Worker 
1020*bed243d3SAndroid Build Coastguard Worker #undef lround
1021*bed243d3SAndroid Build Coastguard Worker #define lround(__x) __tg_lround(__tg_promote1((__x))(__x))
1022*bed243d3SAndroid Build Coastguard Worker 
1023*bed243d3SAndroid Build Coastguard Worker // nearbyint
1024*bed243d3SAndroid Build Coastguard Worker 
1025*bed243d3SAndroid Build Coastguard Worker static float
1026*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_nearbyint(float __x)1027*bed243d3SAndroid Build Coastguard Worker     __tg_nearbyint(float __x) {return nearbyintf(__x);}
1028*bed243d3SAndroid Build Coastguard Worker 
1029*bed243d3SAndroid Build Coastguard Worker static double
1030*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_nearbyint(double __x)1031*bed243d3SAndroid Build Coastguard Worker     __tg_nearbyint(double __x) {return nearbyint(__x);}
1032*bed243d3SAndroid Build Coastguard Worker 
1033*bed243d3SAndroid Build Coastguard Worker static long double
1034*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_nearbyint(long double __x)1035*bed243d3SAndroid Build Coastguard Worker     __tg_nearbyint(long double __x) {return nearbyintl(__x);}
1036*bed243d3SAndroid Build Coastguard Worker 
1037*bed243d3SAndroid Build Coastguard Worker #undef nearbyint
1038*bed243d3SAndroid Build Coastguard Worker #define nearbyint(__x) __tg_nearbyint(__tg_promote1((__x))(__x))
1039*bed243d3SAndroid Build Coastguard Worker 
1040*bed243d3SAndroid Build Coastguard Worker // nextafter
1041*bed243d3SAndroid Build Coastguard Worker 
1042*bed243d3SAndroid Build Coastguard Worker static float
1043*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_nextafter(float __x,float __y)1044*bed243d3SAndroid Build Coastguard Worker     __tg_nextafter(float __x, float __y) {return nextafterf(__x, __y);}
1045*bed243d3SAndroid Build Coastguard Worker 
1046*bed243d3SAndroid Build Coastguard Worker static double
1047*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_nextafter(double __x,double __y)1048*bed243d3SAndroid Build Coastguard Worker     __tg_nextafter(double __x, double __y) {return nextafter(__x, __y);}
1049*bed243d3SAndroid Build Coastguard Worker 
1050*bed243d3SAndroid Build Coastguard Worker static long double
1051*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_nextafter(long double __x,long double __y)1052*bed243d3SAndroid Build Coastguard Worker     __tg_nextafter(long double __x, long double __y) {return nextafterl(__x, __y);}
1053*bed243d3SAndroid Build Coastguard Worker 
1054*bed243d3SAndroid Build Coastguard Worker #undef nextafter
1055*bed243d3SAndroid Build Coastguard Worker #define nextafter(__x, __y) __tg_nextafter(__tg_promote2((__x), (__y))(__x), \
1056*bed243d3SAndroid Build Coastguard Worker                                            __tg_promote2((__x), (__y))(__y))
1057*bed243d3SAndroid Build Coastguard Worker 
1058*bed243d3SAndroid Build Coastguard Worker // nexttoward
1059*bed243d3SAndroid Build Coastguard Worker 
1060*bed243d3SAndroid Build Coastguard Worker static float
1061*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_nexttoward(float __x,long double __y)1062*bed243d3SAndroid Build Coastguard Worker     __tg_nexttoward(float __x, long double __y) {return nexttowardf(__x, __y);}
1063*bed243d3SAndroid Build Coastguard Worker 
1064*bed243d3SAndroid Build Coastguard Worker static double
1065*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_nexttoward(double __x,long double __y)1066*bed243d3SAndroid Build Coastguard Worker     __tg_nexttoward(double __x, long double __y) {return nexttoward(__x, __y);}
1067*bed243d3SAndroid Build Coastguard Worker 
1068*bed243d3SAndroid Build Coastguard Worker static long double
1069*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_nexttoward(long double __x,long double __y)1070*bed243d3SAndroid Build Coastguard Worker     __tg_nexttoward(long double __x, long double __y) {return nexttowardl(__x, __y);}
1071*bed243d3SAndroid Build Coastguard Worker 
1072*bed243d3SAndroid Build Coastguard Worker #undef nexttoward
1073*bed243d3SAndroid Build Coastguard Worker #define nexttoward(__x, __y) __tg_nexttoward(__tg_promote1((__x))(__x), (__y))
1074*bed243d3SAndroid Build Coastguard Worker 
1075*bed243d3SAndroid Build Coastguard Worker // remainder
1076*bed243d3SAndroid Build Coastguard Worker 
1077*bed243d3SAndroid Build Coastguard Worker static float
1078*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_remainder(float __x,float __y)1079*bed243d3SAndroid Build Coastguard Worker     __tg_remainder(float __x, float __y) {return remainderf(__x, __y);}
1080*bed243d3SAndroid Build Coastguard Worker 
1081*bed243d3SAndroid Build Coastguard Worker static double
1082*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_remainder(double __x,double __y)1083*bed243d3SAndroid Build Coastguard Worker     __tg_remainder(double __x, double __y) {return remainder(__x, __y);}
1084*bed243d3SAndroid Build Coastguard Worker 
1085*bed243d3SAndroid Build Coastguard Worker static long double
1086*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_remainder(long double __x,long double __y)1087*bed243d3SAndroid Build Coastguard Worker     __tg_remainder(long double __x, long double __y) {return remainderl(__x, __y);}
1088*bed243d3SAndroid Build Coastguard Worker 
1089*bed243d3SAndroid Build Coastguard Worker #undef remainder
1090*bed243d3SAndroid Build Coastguard Worker #define remainder(__x, __y) __tg_remainder(__tg_promote2((__x), (__y))(__x), \
1091*bed243d3SAndroid Build Coastguard Worker                                            __tg_promote2((__x), (__y))(__y))
1092*bed243d3SAndroid Build Coastguard Worker 
1093*bed243d3SAndroid Build Coastguard Worker // remquo
1094*bed243d3SAndroid Build Coastguard Worker 
1095*bed243d3SAndroid Build Coastguard Worker static float
1096*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_remquo(float __x,float __y,int * __z)1097*bed243d3SAndroid Build Coastguard Worker     __tg_remquo(float __x, float __y, int* __z)
1098*bed243d3SAndroid Build Coastguard Worker     {return remquof(__x, __y, __z);}
1099*bed243d3SAndroid Build Coastguard Worker 
1100*bed243d3SAndroid Build Coastguard Worker static double
1101*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_remquo(double __x,double __y,int * __z)1102*bed243d3SAndroid Build Coastguard Worker     __tg_remquo(double __x, double __y, int* __z)
1103*bed243d3SAndroid Build Coastguard Worker     {return remquo(__x, __y, __z);}
1104*bed243d3SAndroid Build Coastguard Worker 
1105*bed243d3SAndroid Build Coastguard Worker static long double
1106*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_remquo(long double __x,long double __y,int * __z)1107*bed243d3SAndroid Build Coastguard Worker     __tg_remquo(long double __x,long double __y, int* __z)
1108*bed243d3SAndroid Build Coastguard Worker     {return remquol(__x, __y, __z);}
1109*bed243d3SAndroid Build Coastguard Worker 
1110*bed243d3SAndroid Build Coastguard Worker #undef remquo
1111*bed243d3SAndroid Build Coastguard Worker #define remquo(__x, __y, __z)                         \
1112*bed243d3SAndroid Build Coastguard Worker         __tg_remquo(__tg_promote2((__x), (__y))(__x), \
1113*bed243d3SAndroid Build Coastguard Worker                     __tg_promote2((__x), (__y))(__y), \
1114*bed243d3SAndroid Build Coastguard Worker                     (__z))
1115*bed243d3SAndroid Build Coastguard Worker 
1116*bed243d3SAndroid Build Coastguard Worker // rint
1117*bed243d3SAndroid Build Coastguard Worker 
1118*bed243d3SAndroid Build Coastguard Worker static float
1119*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_rint(float __x)1120*bed243d3SAndroid Build Coastguard Worker     __tg_rint(float __x) {return rintf(__x);}
1121*bed243d3SAndroid Build Coastguard Worker 
1122*bed243d3SAndroid Build Coastguard Worker static double
1123*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_rint(double __x)1124*bed243d3SAndroid Build Coastguard Worker     __tg_rint(double __x) {return rint(__x);}
1125*bed243d3SAndroid Build Coastguard Worker 
1126*bed243d3SAndroid Build Coastguard Worker static long double
1127*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_rint(long double __x)1128*bed243d3SAndroid Build Coastguard Worker     __tg_rint(long double __x) {return rintl(__x);}
1129*bed243d3SAndroid Build Coastguard Worker 
1130*bed243d3SAndroid Build Coastguard Worker #undef rint
1131*bed243d3SAndroid Build Coastguard Worker #define rint(__x) __tg_rint(__tg_promote1((__x))(__x))
1132*bed243d3SAndroid Build Coastguard Worker 
1133*bed243d3SAndroid Build Coastguard Worker // round
1134*bed243d3SAndroid Build Coastguard Worker 
1135*bed243d3SAndroid Build Coastguard Worker static float
1136*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_round(float __x)1137*bed243d3SAndroid Build Coastguard Worker     __tg_round(float __x) {return roundf(__x);}
1138*bed243d3SAndroid Build Coastguard Worker 
1139*bed243d3SAndroid Build Coastguard Worker static double
1140*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_round(double __x)1141*bed243d3SAndroid Build Coastguard Worker     __tg_round(double __x) {return round(__x);}
1142*bed243d3SAndroid Build Coastguard Worker 
1143*bed243d3SAndroid Build Coastguard Worker static long double
1144*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_round(long double __x)1145*bed243d3SAndroid Build Coastguard Worker     __tg_round(long double __x) {return roundl(__x);}
1146*bed243d3SAndroid Build Coastguard Worker 
1147*bed243d3SAndroid Build Coastguard Worker #undef round
1148*bed243d3SAndroid Build Coastguard Worker #define round(__x) __tg_round(__tg_promote1((__x))(__x))
1149*bed243d3SAndroid Build Coastguard Worker 
1150*bed243d3SAndroid Build Coastguard Worker // scalbn
1151*bed243d3SAndroid Build Coastguard Worker 
1152*bed243d3SAndroid Build Coastguard Worker static float
1153*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_scalbn(float __x,int __y)1154*bed243d3SAndroid Build Coastguard Worker     __tg_scalbn(float __x, int __y) {return scalbnf(__x, __y);}
1155*bed243d3SAndroid Build Coastguard Worker 
1156*bed243d3SAndroid Build Coastguard Worker static double
1157*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_scalbn(double __x,int __y)1158*bed243d3SAndroid Build Coastguard Worker     __tg_scalbn(double __x, int __y) {return scalbn(__x, __y);}
1159*bed243d3SAndroid Build Coastguard Worker 
1160*bed243d3SAndroid Build Coastguard Worker static long double
1161*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_scalbn(long double __x,int __y)1162*bed243d3SAndroid Build Coastguard Worker     __tg_scalbn(long double __x, int __y) {return scalbnl(__x, __y);}
1163*bed243d3SAndroid Build Coastguard Worker 
1164*bed243d3SAndroid Build Coastguard Worker #undef scalbn
1165*bed243d3SAndroid Build Coastguard Worker #define scalbn(__x, __y) __tg_scalbn(__tg_promote1((__x))(__x), __y)
1166*bed243d3SAndroid Build Coastguard Worker 
1167*bed243d3SAndroid Build Coastguard Worker // scalbln
1168*bed243d3SAndroid Build Coastguard Worker 
1169*bed243d3SAndroid Build Coastguard Worker static float
1170*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_scalbln(float __x,long __y)1171*bed243d3SAndroid Build Coastguard Worker     __tg_scalbln(float __x, long __y) {return scalblnf(__x, __y);}
1172*bed243d3SAndroid Build Coastguard Worker 
1173*bed243d3SAndroid Build Coastguard Worker static double
1174*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_scalbln(double __x,long __y)1175*bed243d3SAndroid Build Coastguard Worker     __tg_scalbln(double __x, long __y) {return scalbln(__x, __y);}
1176*bed243d3SAndroid Build Coastguard Worker 
1177*bed243d3SAndroid Build Coastguard Worker static long double
1178*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_scalbln(long double __x,long __y)1179*bed243d3SAndroid Build Coastguard Worker     __tg_scalbln(long double __x, long __y) {return scalblnl(__x, __y);}
1180*bed243d3SAndroid Build Coastguard Worker 
1181*bed243d3SAndroid Build Coastguard Worker #undef scalbln
1182*bed243d3SAndroid Build Coastguard Worker #define scalbln(__x, __y) __tg_scalbln(__tg_promote1((__x))(__x), __y)
1183*bed243d3SAndroid Build Coastguard Worker 
1184*bed243d3SAndroid Build Coastguard Worker // tgamma
1185*bed243d3SAndroid Build Coastguard Worker 
1186*bed243d3SAndroid Build Coastguard Worker static float
1187*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_tgamma(float __x)1188*bed243d3SAndroid Build Coastguard Worker     __tg_tgamma(float __x) {return tgammaf(__x);}
1189*bed243d3SAndroid Build Coastguard Worker 
1190*bed243d3SAndroid Build Coastguard Worker static double
1191*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_tgamma(double __x)1192*bed243d3SAndroid Build Coastguard Worker     __tg_tgamma(double __x) {return tgamma(__x);}
1193*bed243d3SAndroid Build Coastguard Worker 
1194*bed243d3SAndroid Build Coastguard Worker static long double
1195*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_tgamma(long double __x)1196*bed243d3SAndroid Build Coastguard Worker     __tg_tgamma(long double __x) {return tgammal(__x);}
1197*bed243d3SAndroid Build Coastguard Worker 
1198*bed243d3SAndroid Build Coastguard Worker #undef tgamma
1199*bed243d3SAndroid Build Coastguard Worker #define tgamma(__x) __tg_tgamma(__tg_promote1((__x))(__x))
1200*bed243d3SAndroid Build Coastguard Worker 
1201*bed243d3SAndroid Build Coastguard Worker // trunc
1202*bed243d3SAndroid Build Coastguard Worker 
1203*bed243d3SAndroid Build Coastguard Worker static float
1204*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_trunc(float __x)1205*bed243d3SAndroid Build Coastguard Worker     __tg_trunc(float __x) {return truncf(__x);}
1206*bed243d3SAndroid Build Coastguard Worker 
1207*bed243d3SAndroid Build Coastguard Worker static double
1208*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_trunc(double __x)1209*bed243d3SAndroid Build Coastguard Worker     __tg_trunc(double __x) {return trunc(__x);}
1210*bed243d3SAndroid Build Coastguard Worker 
1211*bed243d3SAndroid Build Coastguard Worker static long double
1212*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_trunc(long double __x)1213*bed243d3SAndroid Build Coastguard Worker     __tg_trunc(long double __x) {return truncl(__x);}
1214*bed243d3SAndroid Build Coastguard Worker 
1215*bed243d3SAndroid Build Coastguard Worker #undef trunc
1216*bed243d3SAndroid Build Coastguard Worker #define trunc(__x) __tg_trunc(__tg_promote1((__x))(__x))
1217*bed243d3SAndroid Build Coastguard Worker 
1218*bed243d3SAndroid Build Coastguard Worker // carg
1219*bed243d3SAndroid Build Coastguard Worker 
1220*bed243d3SAndroid Build Coastguard Worker static float
1221*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_carg(float __x)1222*bed243d3SAndroid Build Coastguard Worker     __tg_carg(float __x) {return atan2f(0.F, __x);}
1223*bed243d3SAndroid Build Coastguard Worker 
1224*bed243d3SAndroid Build Coastguard Worker static double
1225*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_carg(double __x)1226*bed243d3SAndroid Build Coastguard Worker     __tg_carg(double __x) {return atan2(0., __x);}
1227*bed243d3SAndroid Build Coastguard Worker 
1228*bed243d3SAndroid Build Coastguard Worker static long double
1229*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_carg(long double __x)1230*bed243d3SAndroid Build Coastguard Worker     __tg_carg(long double __x) {return atan2l(0.L, __x);}
1231*bed243d3SAndroid Build Coastguard Worker 
1232*bed243d3SAndroid Build Coastguard Worker static float
1233*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_carg(float _Complex __x)1234*bed243d3SAndroid Build Coastguard Worker     __tg_carg(float _Complex __x) {return cargf(__x);}
1235*bed243d3SAndroid Build Coastguard Worker 
1236*bed243d3SAndroid Build Coastguard Worker static double
1237*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_carg(double _Complex __x)1238*bed243d3SAndroid Build Coastguard Worker     __tg_carg(double _Complex __x) {return carg(__x);}
1239*bed243d3SAndroid Build Coastguard Worker 
1240*bed243d3SAndroid Build Coastguard Worker static long double
1241*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_carg(long double _Complex __x)1242*bed243d3SAndroid Build Coastguard Worker     __tg_carg(long double _Complex __x) {return cargl(__x);}
1243*bed243d3SAndroid Build Coastguard Worker 
1244*bed243d3SAndroid Build Coastguard Worker #undef carg
1245*bed243d3SAndroid Build Coastguard Worker #define carg(__x) __tg_carg(__tg_promote1((__x))(__x))
1246*bed243d3SAndroid Build Coastguard Worker 
1247*bed243d3SAndroid Build Coastguard Worker // cimag
1248*bed243d3SAndroid Build Coastguard Worker 
1249*bed243d3SAndroid Build Coastguard Worker static float
1250*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_cimag(float __x)1251*bed243d3SAndroid Build Coastguard Worker     __tg_cimag(float __x) {return 0;}
1252*bed243d3SAndroid Build Coastguard Worker 
1253*bed243d3SAndroid Build Coastguard Worker static double
1254*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_cimag(double __x)1255*bed243d3SAndroid Build Coastguard Worker     __tg_cimag(double __x) {return 0;}
1256*bed243d3SAndroid Build Coastguard Worker 
1257*bed243d3SAndroid Build Coastguard Worker static long double
1258*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_cimag(long double __x)1259*bed243d3SAndroid Build Coastguard Worker     __tg_cimag(long double __x) {return 0;}
1260*bed243d3SAndroid Build Coastguard Worker 
1261*bed243d3SAndroid Build Coastguard Worker static float
1262*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_cimag(float _Complex __x)1263*bed243d3SAndroid Build Coastguard Worker     __tg_cimag(float _Complex __x) {return cimagf(__x);}
1264*bed243d3SAndroid Build Coastguard Worker 
1265*bed243d3SAndroid Build Coastguard Worker static double
1266*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_cimag(double _Complex __x)1267*bed243d3SAndroid Build Coastguard Worker     __tg_cimag(double _Complex __x) {return cimag(__x);}
1268*bed243d3SAndroid Build Coastguard Worker 
1269*bed243d3SAndroid Build Coastguard Worker static long double
1270*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_cimag(long double _Complex __x)1271*bed243d3SAndroid Build Coastguard Worker     __tg_cimag(long double _Complex __x) {return cimagl(__x);}
1272*bed243d3SAndroid Build Coastguard Worker 
1273*bed243d3SAndroid Build Coastguard Worker #undef cimag
1274*bed243d3SAndroid Build Coastguard Worker #define cimag(__x) __tg_cimag(__tg_promote1((__x))(__x))
1275*bed243d3SAndroid Build Coastguard Worker 
1276*bed243d3SAndroid Build Coastguard Worker // conj
1277*bed243d3SAndroid Build Coastguard Worker 
1278*bed243d3SAndroid Build Coastguard Worker static float _Complex
1279*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_conj(float __x)1280*bed243d3SAndroid Build Coastguard Worker     __tg_conj(float __x) {return __x;}
1281*bed243d3SAndroid Build Coastguard Worker 
1282*bed243d3SAndroid Build Coastguard Worker static double _Complex
1283*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_conj(double __x)1284*bed243d3SAndroid Build Coastguard Worker     __tg_conj(double __x) {return __x;}
1285*bed243d3SAndroid Build Coastguard Worker 
1286*bed243d3SAndroid Build Coastguard Worker static long double _Complex
1287*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_conj(long double __x)1288*bed243d3SAndroid Build Coastguard Worker     __tg_conj(long double __x) {return __x;}
1289*bed243d3SAndroid Build Coastguard Worker 
1290*bed243d3SAndroid Build Coastguard Worker static float _Complex
1291*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_conj(float _Complex __x)1292*bed243d3SAndroid Build Coastguard Worker     __tg_conj(float _Complex __x) {return conjf(__x);}
1293*bed243d3SAndroid Build Coastguard Worker 
1294*bed243d3SAndroid Build Coastguard Worker static double _Complex
1295*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_conj(double _Complex __x)1296*bed243d3SAndroid Build Coastguard Worker     __tg_conj(double _Complex __x) {return conj(__x);}
1297*bed243d3SAndroid Build Coastguard Worker 
1298*bed243d3SAndroid Build Coastguard Worker static long double _Complex
1299*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_conj(long double _Complex __x)1300*bed243d3SAndroid Build Coastguard Worker     __tg_conj(long double _Complex __x) {return conjl(__x);}
1301*bed243d3SAndroid Build Coastguard Worker 
1302*bed243d3SAndroid Build Coastguard Worker #undef conj
1303*bed243d3SAndroid Build Coastguard Worker #define conj(__x) __tg_conj(__tg_promote1((__x))(__x))
1304*bed243d3SAndroid Build Coastguard Worker 
1305*bed243d3SAndroid Build Coastguard Worker // cproj
1306*bed243d3SAndroid Build Coastguard Worker 
1307*bed243d3SAndroid Build Coastguard Worker static float _Complex
1308*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_cproj(float __x)1309*bed243d3SAndroid Build Coastguard Worker     __tg_cproj(float __x) {return cprojf(__x);}
1310*bed243d3SAndroid Build Coastguard Worker 
1311*bed243d3SAndroid Build Coastguard Worker static double _Complex
1312*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_cproj(double __x)1313*bed243d3SAndroid Build Coastguard Worker     __tg_cproj(double __x) {return cproj(__x);}
1314*bed243d3SAndroid Build Coastguard Worker 
1315*bed243d3SAndroid Build Coastguard Worker static long double _Complex
1316*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_cproj(long double __x)1317*bed243d3SAndroid Build Coastguard Worker     __tg_cproj(long double __x) {return cprojl(__x);}
1318*bed243d3SAndroid Build Coastguard Worker 
1319*bed243d3SAndroid Build Coastguard Worker static float _Complex
1320*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_cproj(float _Complex __x)1321*bed243d3SAndroid Build Coastguard Worker     __tg_cproj(float _Complex __x) {return cprojf(__x);}
1322*bed243d3SAndroid Build Coastguard Worker 
1323*bed243d3SAndroid Build Coastguard Worker static double _Complex
1324*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_cproj(double _Complex __x)1325*bed243d3SAndroid Build Coastguard Worker     __tg_cproj(double _Complex __x) {return cproj(__x);}
1326*bed243d3SAndroid Build Coastguard Worker 
1327*bed243d3SAndroid Build Coastguard Worker static long double _Complex
1328*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_cproj(long double _Complex __x)1329*bed243d3SAndroid Build Coastguard Worker     __tg_cproj(long double _Complex __x) {return cprojl(__x);}
1330*bed243d3SAndroid Build Coastguard Worker 
1331*bed243d3SAndroid Build Coastguard Worker #undef cproj
1332*bed243d3SAndroid Build Coastguard Worker #define cproj(__x) __tg_cproj(__tg_promote1((__x))(__x))
1333*bed243d3SAndroid Build Coastguard Worker 
1334*bed243d3SAndroid Build Coastguard Worker // creal
1335*bed243d3SAndroid Build Coastguard Worker 
1336*bed243d3SAndroid Build Coastguard Worker static float
1337*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_creal(float __x)1338*bed243d3SAndroid Build Coastguard Worker     __tg_creal(float __x) {return __x;}
1339*bed243d3SAndroid Build Coastguard Worker 
1340*bed243d3SAndroid Build Coastguard Worker static double
1341*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_creal(double __x)1342*bed243d3SAndroid Build Coastguard Worker     __tg_creal(double __x) {return __x;}
1343*bed243d3SAndroid Build Coastguard Worker 
1344*bed243d3SAndroid Build Coastguard Worker static long double
1345*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_creal(long double __x)1346*bed243d3SAndroid Build Coastguard Worker     __tg_creal(long double __x) {return __x;}
1347*bed243d3SAndroid Build Coastguard Worker 
1348*bed243d3SAndroid Build Coastguard Worker static float
1349*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_creal(float _Complex __x)1350*bed243d3SAndroid Build Coastguard Worker     __tg_creal(float _Complex __x) {return crealf(__x);}
1351*bed243d3SAndroid Build Coastguard Worker 
1352*bed243d3SAndroid Build Coastguard Worker static double
1353*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_creal(double _Complex __x)1354*bed243d3SAndroid Build Coastguard Worker     __tg_creal(double _Complex __x) {return creal(__x);}
1355*bed243d3SAndroid Build Coastguard Worker 
1356*bed243d3SAndroid Build Coastguard Worker static long double
1357*bed243d3SAndroid Build Coastguard Worker     _TG_ATTRS
__tg_creal(long double _Complex __x)1358*bed243d3SAndroid Build Coastguard Worker     __tg_creal(long double _Complex __x) {return creall(__x);}
1359*bed243d3SAndroid Build Coastguard Worker 
1360*bed243d3SAndroid Build Coastguard Worker #undef creal
1361*bed243d3SAndroid Build Coastguard Worker #define creal(__x) __tg_creal(__tg_promote1((__x))(__x))
1362*bed243d3SAndroid Build Coastguard Worker 
1363*bed243d3SAndroid Build Coastguard Worker #undef _TG_ATTRSp
1364*bed243d3SAndroid Build Coastguard Worker #undef _TG_ATTRS
1365*bed243d3SAndroid Build Coastguard Worker 
1366*bed243d3SAndroid Build Coastguard Worker #endif /* __cplusplus */
1367*bed243d3SAndroid Build Coastguard Worker #endif /* __has_include_next */
1368*bed243d3SAndroid Build Coastguard Worker #endif /* __CLANG_TGMATH_H */
1369