1*8d67ca89SAndroid Build Coastguard Worker /*
2*8d67ca89SAndroid Build Coastguard Worker * Copyright (C) 2017 The Android Open Source Project
3*8d67ca89SAndroid Build Coastguard Worker * All rights reserved.
4*8d67ca89SAndroid Build Coastguard Worker *
5*8d67ca89SAndroid Build Coastguard Worker * Redistribution and use in source and binary forms, with or without
6*8d67ca89SAndroid Build Coastguard Worker * modification, are permitted provided that the following conditions
7*8d67ca89SAndroid Build Coastguard Worker * are met:
8*8d67ca89SAndroid Build Coastguard Worker * * Redistributions of source code must retain the above copyright
9*8d67ca89SAndroid Build Coastguard Worker * notice, this list of conditions and the following disclaimer.
10*8d67ca89SAndroid Build Coastguard Worker * * Redistributions in binary form must reproduce the above copyright
11*8d67ca89SAndroid Build Coastguard Worker * notice, this list of conditions and the following disclaimer in
12*8d67ca89SAndroid Build Coastguard Worker * the documentation and/or other materials provided with the
13*8d67ca89SAndroid Build Coastguard Worker * distribution.
14*8d67ca89SAndroid Build Coastguard Worker *
15*8d67ca89SAndroid Build Coastguard Worker * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
16*8d67ca89SAndroid Build Coastguard Worker * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
17*8d67ca89SAndroid Build Coastguard Worker * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
18*8d67ca89SAndroid Build Coastguard Worker * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
19*8d67ca89SAndroid Build Coastguard Worker * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
20*8d67ca89SAndroid Build Coastguard Worker * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
21*8d67ca89SAndroid Build Coastguard Worker * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
22*8d67ca89SAndroid Build Coastguard Worker * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
23*8d67ca89SAndroid Build Coastguard Worker * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
24*8d67ca89SAndroid Build Coastguard Worker * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
25*8d67ca89SAndroid Build Coastguard Worker * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26*8d67ca89SAndroid Build Coastguard Worker * SUCH DAMAGE.
27*8d67ca89SAndroid Build Coastguard Worker */
28*8d67ca89SAndroid Build Coastguard Worker
29*8d67ca89SAndroid Build Coastguard Worker #include <math.h>
30*8d67ca89SAndroid Build Coastguard Worker
31*8d67ca89SAndroid Build Coastguard Worker #include "header_checks.h"
32*8d67ca89SAndroid Build Coastguard Worker
math_h()33*8d67ca89SAndroid Build Coastguard Worker static void math_h() {
34*8d67ca89SAndroid Build Coastguard Worker TYPE(float_t);
35*8d67ca89SAndroid Build Coastguard Worker TYPE(double_t);
36*8d67ca89SAndroid Build Coastguard Worker
37*8d67ca89SAndroid Build Coastguard Worker #if !defined(fpclassify)
38*8d67ca89SAndroid Build Coastguard Worker #error fpclassify
39*8d67ca89SAndroid Build Coastguard Worker #endif
40*8d67ca89SAndroid Build Coastguard Worker #if !defined(isfinite)
41*8d67ca89SAndroid Build Coastguard Worker #error isfinite
42*8d67ca89SAndroid Build Coastguard Worker #endif
43*8d67ca89SAndroid Build Coastguard Worker #if !defined(isgreater)
44*8d67ca89SAndroid Build Coastguard Worker #error isgreater
45*8d67ca89SAndroid Build Coastguard Worker #endif
46*8d67ca89SAndroid Build Coastguard Worker #if !defined(isgreaterequal)
47*8d67ca89SAndroid Build Coastguard Worker #error isgreaterequal
48*8d67ca89SAndroid Build Coastguard Worker #endif
49*8d67ca89SAndroid Build Coastguard Worker #if !defined(isinf)
50*8d67ca89SAndroid Build Coastguard Worker #error isinf
51*8d67ca89SAndroid Build Coastguard Worker #endif
52*8d67ca89SAndroid Build Coastguard Worker #if !defined(isless)
53*8d67ca89SAndroid Build Coastguard Worker #error isless
54*8d67ca89SAndroid Build Coastguard Worker #endif
55*8d67ca89SAndroid Build Coastguard Worker #if !defined(islessequal)
56*8d67ca89SAndroid Build Coastguard Worker #error islessequal
57*8d67ca89SAndroid Build Coastguard Worker #endif
58*8d67ca89SAndroid Build Coastguard Worker #if !defined(islessgreater)
59*8d67ca89SAndroid Build Coastguard Worker #error islessgreater
60*8d67ca89SAndroid Build Coastguard Worker #endif
61*8d67ca89SAndroid Build Coastguard Worker #if !defined(isnan)
62*8d67ca89SAndroid Build Coastguard Worker #error isnan
63*8d67ca89SAndroid Build Coastguard Worker #endif
64*8d67ca89SAndroid Build Coastguard Worker #if !defined(isnormal)
65*8d67ca89SAndroid Build Coastguard Worker #error isnormal
66*8d67ca89SAndroid Build Coastguard Worker #endif
67*8d67ca89SAndroid Build Coastguard Worker #if !defined(isunordered)
68*8d67ca89SAndroid Build Coastguard Worker #error isunordered
69*8d67ca89SAndroid Build Coastguard Worker #endif
70*8d67ca89SAndroid Build Coastguard Worker #if !defined(signbit)
71*8d67ca89SAndroid Build Coastguard Worker #error signbit
72*8d67ca89SAndroid Build Coastguard Worker #endif
73*8d67ca89SAndroid Build Coastguard Worker
74*8d67ca89SAndroid Build Coastguard Worker MACRO(M_E);
75*8d67ca89SAndroid Build Coastguard Worker MACRO(M_LOG2E);
76*8d67ca89SAndroid Build Coastguard Worker MACRO(M_LOG10E);
77*8d67ca89SAndroid Build Coastguard Worker MACRO(M_LN2);
78*8d67ca89SAndroid Build Coastguard Worker MACRO(M_LN10);
79*8d67ca89SAndroid Build Coastguard Worker MACRO(M_PI);
80*8d67ca89SAndroid Build Coastguard Worker MACRO(M_PI_2);
81*8d67ca89SAndroid Build Coastguard Worker MACRO(M_PI_4);
82*8d67ca89SAndroid Build Coastguard Worker MACRO(M_1_PI);
83*8d67ca89SAndroid Build Coastguard Worker MACRO(M_2_PI);
84*8d67ca89SAndroid Build Coastguard Worker MACRO(M_2_SQRTPI);
85*8d67ca89SAndroid Build Coastguard Worker MACRO(M_SQRT2);
86*8d67ca89SAndroid Build Coastguard Worker MACRO(M_SQRT1_2);
87*8d67ca89SAndroid Build Coastguard Worker
88*8d67ca89SAndroid Build Coastguard Worker MACRO(MAXFLOAT);
89*8d67ca89SAndroid Build Coastguard Worker
90*8d67ca89SAndroid Build Coastguard Worker MACRO(HUGE_VAL);
91*8d67ca89SAndroid Build Coastguard Worker MACRO(HUGE_VALF);
92*8d67ca89SAndroid Build Coastguard Worker MACRO(HUGE_VALL);
93*8d67ca89SAndroid Build Coastguard Worker MACRO(INFINITY);
94*8d67ca89SAndroid Build Coastguard Worker MACRO(NAN);
95*8d67ca89SAndroid Build Coastguard Worker
96*8d67ca89SAndroid Build Coastguard Worker MACRO(FP_INFINITE);
97*8d67ca89SAndroid Build Coastguard Worker MACRO(FP_NAN);
98*8d67ca89SAndroid Build Coastguard Worker MACRO(FP_NORMAL);
99*8d67ca89SAndroid Build Coastguard Worker MACRO(FP_SUBNORMAL);
100*8d67ca89SAndroid Build Coastguard Worker MACRO(FP_ZERO);
101*8d67ca89SAndroid Build Coastguard Worker
102*8d67ca89SAndroid Build Coastguard Worker #if defined(FP_FAST_FMA) && FP_FAST_FMA != 1
103*8d67ca89SAndroid Build Coastguard Worker #error FP_FAST_FMA
104*8d67ca89SAndroid Build Coastguard Worker #endif
105*8d67ca89SAndroid Build Coastguard Worker #if defined(FP_FAST_FMAF) && FP_FAST_FMAF != 1
106*8d67ca89SAndroid Build Coastguard Worker #error FP_FAST_FMAF
107*8d67ca89SAndroid Build Coastguard Worker #endif
108*8d67ca89SAndroid Build Coastguard Worker #if defined(FP_FAST_FMAL) && FP_FAST_FMAL != 1
109*8d67ca89SAndroid Build Coastguard Worker #error FP_FAST_FMAL
110*8d67ca89SAndroid Build Coastguard Worker #endif
111*8d67ca89SAndroid Build Coastguard Worker
112*8d67ca89SAndroid Build Coastguard Worker MACRO(FP_ILOGB0);
113*8d67ca89SAndroid Build Coastguard Worker MACRO(FP_ILOGBNAN);
114*8d67ca89SAndroid Build Coastguard Worker
115*8d67ca89SAndroid Build Coastguard Worker MACRO_VALUE(MATH_ERRNO, 1);
116*8d67ca89SAndroid Build Coastguard Worker MACRO_VALUE(MATH_ERREXCEPT, 2);
117*8d67ca89SAndroid Build Coastguard Worker
118*8d67ca89SAndroid Build Coastguard Worker #if !defined(math_errhandling)
119*8d67ca89SAndroid Build Coastguard Worker #error math_errhandling
120*8d67ca89SAndroid Build Coastguard Worker #endif
121*8d67ca89SAndroid Build Coastguard Worker MACRO_TYPE(int, math_errhandling);
122*8d67ca89SAndroid Build Coastguard Worker
123*8d67ca89SAndroid Build Coastguard Worker FUNCTION(acos, double (*f)(double));
124*8d67ca89SAndroid Build Coastguard Worker FUNCTION(acosf, float (*f)(float));
125*8d67ca89SAndroid Build Coastguard Worker FUNCTION(acosh, double (*f)(double));
126*8d67ca89SAndroid Build Coastguard Worker FUNCTION(acoshf, float (*f)(float));
127*8d67ca89SAndroid Build Coastguard Worker FUNCTION(acoshl, long double (*f)(long double));
128*8d67ca89SAndroid Build Coastguard Worker FUNCTION(acosl, long double (*f)(long double));
129*8d67ca89SAndroid Build Coastguard Worker
130*8d67ca89SAndroid Build Coastguard Worker FUNCTION(asin, double (*f)(double));
131*8d67ca89SAndroid Build Coastguard Worker FUNCTION(asinf, float (*f)(float));
132*8d67ca89SAndroid Build Coastguard Worker FUNCTION(asinh, double (*f)(double));
133*8d67ca89SAndroid Build Coastguard Worker FUNCTION(asinhf, float (*f)(float));
134*8d67ca89SAndroid Build Coastguard Worker FUNCTION(asinhl, long double (*f)(long double));
135*8d67ca89SAndroid Build Coastguard Worker FUNCTION(asinl, long double (*f)(long double));
136*8d67ca89SAndroid Build Coastguard Worker
137*8d67ca89SAndroid Build Coastguard Worker FUNCTION(atan, double (*f)(double));
138*8d67ca89SAndroid Build Coastguard Worker FUNCTION(atan2, double (*f)(double, double));
139*8d67ca89SAndroid Build Coastguard Worker FUNCTION(atan2f, float (*f)(float, float));
140*8d67ca89SAndroid Build Coastguard Worker FUNCTION(atan2l, long double (*f)(long double, long double));
141*8d67ca89SAndroid Build Coastguard Worker FUNCTION(atanf, float (*f)(float));
142*8d67ca89SAndroid Build Coastguard Worker FUNCTION(atanh, double (*f)(double));
143*8d67ca89SAndroid Build Coastguard Worker FUNCTION(atanhf, float (*f)(float));
144*8d67ca89SAndroid Build Coastguard Worker FUNCTION(atanhl, long double (*f)(long double));
145*8d67ca89SAndroid Build Coastguard Worker FUNCTION(atanl, long double (*f)(long double));
146*8d67ca89SAndroid Build Coastguard Worker
147*8d67ca89SAndroid Build Coastguard Worker FUNCTION(cbrt, double (*f)(double));
148*8d67ca89SAndroid Build Coastguard Worker FUNCTION(cbrtf, float (*f)(float));
149*8d67ca89SAndroid Build Coastguard Worker FUNCTION(cbrtl, long double (*f)(long double));
150*8d67ca89SAndroid Build Coastguard Worker
151*8d67ca89SAndroid Build Coastguard Worker FUNCTION(ceil, double (*f)(double));
152*8d67ca89SAndroid Build Coastguard Worker FUNCTION(ceilf, float (*f)(float));
153*8d67ca89SAndroid Build Coastguard Worker FUNCTION(ceill, long double (*f)(long double));
154*8d67ca89SAndroid Build Coastguard Worker
155*8d67ca89SAndroid Build Coastguard Worker FUNCTION(copysign, double (*f)(double, double));
156*8d67ca89SAndroid Build Coastguard Worker FUNCTION(copysignf, float (*f)(float, float));
157*8d67ca89SAndroid Build Coastguard Worker FUNCTION(copysignl, long double (*f)(long double, long double));
158*8d67ca89SAndroid Build Coastguard Worker
159*8d67ca89SAndroid Build Coastguard Worker FUNCTION(cos, double (*f)(double));
160*8d67ca89SAndroid Build Coastguard Worker FUNCTION(cosf, float (*f)(float));
161*8d67ca89SAndroid Build Coastguard Worker FUNCTION(cosh, double (*f)(double));
162*8d67ca89SAndroid Build Coastguard Worker FUNCTION(coshf, float (*f)(float));
163*8d67ca89SAndroid Build Coastguard Worker FUNCTION(coshl, long double (*f)(long double));
164*8d67ca89SAndroid Build Coastguard Worker FUNCTION(cosl, long double (*f)(long double));
165*8d67ca89SAndroid Build Coastguard Worker
166*8d67ca89SAndroid Build Coastguard Worker FUNCTION(erf, double (*f)(double));
167*8d67ca89SAndroid Build Coastguard Worker FUNCTION(erfc, double (*f)(double));
168*8d67ca89SAndroid Build Coastguard Worker FUNCTION(erfcf, float (*f)(float));
169*8d67ca89SAndroid Build Coastguard Worker FUNCTION(erfcl, long double (*f)(long double));
170*8d67ca89SAndroid Build Coastguard Worker FUNCTION(erff, float (*f)(float));
171*8d67ca89SAndroid Build Coastguard Worker FUNCTION(erfl, long double (*f)(long double));
172*8d67ca89SAndroid Build Coastguard Worker
173*8d67ca89SAndroid Build Coastguard Worker FUNCTION(exp, double (*f)(double));
174*8d67ca89SAndroid Build Coastguard Worker FUNCTION(exp2, double (*f)(double));
175*8d67ca89SAndroid Build Coastguard Worker FUNCTION(exp2f, float (*f)(float));
176*8d67ca89SAndroid Build Coastguard Worker FUNCTION(exp2l, long double (*f)(long double));
177*8d67ca89SAndroid Build Coastguard Worker FUNCTION(expf, float (*f)(float));
178*8d67ca89SAndroid Build Coastguard Worker FUNCTION(expl, long double (*f)(long double));
179*8d67ca89SAndroid Build Coastguard Worker FUNCTION(expm1, double (*f)(double));
180*8d67ca89SAndroid Build Coastguard Worker FUNCTION(expm1f, float (*f)(float));
181*8d67ca89SAndroid Build Coastguard Worker FUNCTION(expm1l, long double (*f)(long double));
182*8d67ca89SAndroid Build Coastguard Worker
183*8d67ca89SAndroid Build Coastguard Worker FUNCTION(fabs, double (*f)(double));
184*8d67ca89SAndroid Build Coastguard Worker FUNCTION(fabsf, float (*f)(float));
185*8d67ca89SAndroid Build Coastguard Worker FUNCTION(fabsl, long double (*f)(long double));
186*8d67ca89SAndroid Build Coastguard Worker
187*8d67ca89SAndroid Build Coastguard Worker FUNCTION(fdim, double (*f)(double, double));
188*8d67ca89SAndroid Build Coastguard Worker FUNCTION(fdimf, float (*f)(float, float));
189*8d67ca89SAndroid Build Coastguard Worker FUNCTION(fdiml, long double (*f)(long double, long double));
190*8d67ca89SAndroid Build Coastguard Worker
191*8d67ca89SAndroid Build Coastguard Worker FUNCTION(floor, double (*f)(double));
192*8d67ca89SAndroid Build Coastguard Worker FUNCTION(floorf, float (*f)(float));
193*8d67ca89SAndroid Build Coastguard Worker FUNCTION(floorl, long double (*f)(long double));
194*8d67ca89SAndroid Build Coastguard Worker
195*8d67ca89SAndroid Build Coastguard Worker FUNCTION(fma, double (*f)(double, double, double));
196*8d67ca89SAndroid Build Coastguard Worker FUNCTION(fmaf, float (*f)(float, float, float));
197*8d67ca89SAndroid Build Coastguard Worker FUNCTION(fmal, long double (*f)(long double, long double, long double));
198*8d67ca89SAndroid Build Coastguard Worker
199*8d67ca89SAndroid Build Coastguard Worker FUNCTION(fmax, double (*f)(double, double));
200*8d67ca89SAndroid Build Coastguard Worker FUNCTION(fmaxf, float (*f)(float, float));
201*8d67ca89SAndroid Build Coastguard Worker FUNCTION(fmaxl, long double (*f)(long double, long double));
202*8d67ca89SAndroid Build Coastguard Worker
203*8d67ca89SAndroid Build Coastguard Worker FUNCTION(fmin, double (*f)(double, double));
204*8d67ca89SAndroid Build Coastguard Worker FUNCTION(fminf, float (*f)(float, float));
205*8d67ca89SAndroid Build Coastguard Worker FUNCTION(fminl, long double (*f)(long double, long double));
206*8d67ca89SAndroid Build Coastguard Worker
207*8d67ca89SAndroid Build Coastguard Worker FUNCTION(fmod, double (*f)(double, double));
208*8d67ca89SAndroid Build Coastguard Worker FUNCTION(fmodf, float (*f)(float, float));
209*8d67ca89SAndroid Build Coastguard Worker FUNCTION(fmodl, long double (*f)(long double, long double));
210*8d67ca89SAndroid Build Coastguard Worker
211*8d67ca89SAndroid Build Coastguard Worker FUNCTION(frexp, double (*f)(double, int*));
212*8d67ca89SAndroid Build Coastguard Worker FUNCTION(frexpf, float (*f)(float, int*));
213*8d67ca89SAndroid Build Coastguard Worker FUNCTION(frexpl, long double (*f)(long double, int*));
214*8d67ca89SAndroid Build Coastguard Worker
215*8d67ca89SAndroid Build Coastguard Worker FUNCTION(hypot, double (*f)(double, double));
216*8d67ca89SAndroid Build Coastguard Worker FUNCTION(hypotf, float (*f)(float, float));
217*8d67ca89SAndroid Build Coastguard Worker FUNCTION(hypotl, long double (*f)(long double, long double));
218*8d67ca89SAndroid Build Coastguard Worker
219*8d67ca89SAndroid Build Coastguard Worker FUNCTION(ilogb, int (*f)(double));
220*8d67ca89SAndroid Build Coastguard Worker FUNCTION(ilogbf, int (*f)(float));
221*8d67ca89SAndroid Build Coastguard Worker FUNCTION(ilogbl, int (*f)(long double));
222*8d67ca89SAndroid Build Coastguard Worker
223*8d67ca89SAndroid Build Coastguard Worker FUNCTION(j0, double (*f)(double));
224*8d67ca89SAndroid Build Coastguard Worker FUNCTION(j1, double (*f)(double));
225*8d67ca89SAndroid Build Coastguard Worker FUNCTION(jn, double (*f)(int, double));
226*8d67ca89SAndroid Build Coastguard Worker
227*8d67ca89SAndroid Build Coastguard Worker FUNCTION(ldexp, double (*f)(double, int));
228*8d67ca89SAndroid Build Coastguard Worker FUNCTION(ldexpf, float (*f)(float, int));
229*8d67ca89SAndroid Build Coastguard Worker FUNCTION(ldexpl, long double (*f)(long double, int));
230*8d67ca89SAndroid Build Coastguard Worker
231*8d67ca89SAndroid Build Coastguard Worker FUNCTION(lgamma, double (*f)(double));
232*8d67ca89SAndroid Build Coastguard Worker FUNCTION(lgammaf, float (*f)(float));
233*8d67ca89SAndroid Build Coastguard Worker FUNCTION(lgammal, long double (*f)(long double));
234*8d67ca89SAndroid Build Coastguard Worker
235*8d67ca89SAndroid Build Coastguard Worker FUNCTION(llrint, long long (*f)(double));
236*8d67ca89SAndroid Build Coastguard Worker FUNCTION(llrintf, long long (*f)(float));
237*8d67ca89SAndroid Build Coastguard Worker FUNCTION(llrintl, long long (*f)(long double));
238*8d67ca89SAndroid Build Coastguard Worker
239*8d67ca89SAndroid Build Coastguard Worker FUNCTION(llround, long long (*f)(double));
240*8d67ca89SAndroid Build Coastguard Worker FUNCTION(llroundf, long long (*f)(float));
241*8d67ca89SAndroid Build Coastguard Worker FUNCTION(llroundl, long long (*f)(long double));
242*8d67ca89SAndroid Build Coastguard Worker
243*8d67ca89SAndroid Build Coastguard Worker FUNCTION(log, double (*f)(double));
244*8d67ca89SAndroid Build Coastguard Worker FUNCTION(log10, double (*f)(double));
245*8d67ca89SAndroid Build Coastguard Worker FUNCTION(log10f, float (*f)(float));
246*8d67ca89SAndroid Build Coastguard Worker FUNCTION(log10l, long double (*f)(long double));
247*8d67ca89SAndroid Build Coastguard Worker FUNCTION(log1p, double (*f)(double));
248*8d67ca89SAndroid Build Coastguard Worker FUNCTION(log1pf, float (*f)(float));
249*8d67ca89SAndroid Build Coastguard Worker FUNCTION(log1pl, long double (*f)(long double));
250*8d67ca89SAndroid Build Coastguard Worker FUNCTION(log2, double (*f)(double));
251*8d67ca89SAndroid Build Coastguard Worker FUNCTION(log2f, float (*f)(float));
252*8d67ca89SAndroid Build Coastguard Worker FUNCTION(log2l, long double (*f)(long double));
253*8d67ca89SAndroid Build Coastguard Worker FUNCTION(logb, double (*f)(double));
254*8d67ca89SAndroid Build Coastguard Worker FUNCTION(logbf, float (*f)(float));
255*8d67ca89SAndroid Build Coastguard Worker FUNCTION(logbl, long double (*f)(long double));
256*8d67ca89SAndroid Build Coastguard Worker FUNCTION(logf, float (*f)(float));
257*8d67ca89SAndroid Build Coastguard Worker FUNCTION(logl, long double (*f)(long double));
258*8d67ca89SAndroid Build Coastguard Worker
259*8d67ca89SAndroid Build Coastguard Worker FUNCTION(lrint, long (*f)(double));
260*8d67ca89SAndroid Build Coastguard Worker FUNCTION(lrintf, long (*f)(float));
261*8d67ca89SAndroid Build Coastguard Worker FUNCTION(lrintl, long (*f)(long double));
262*8d67ca89SAndroid Build Coastguard Worker
263*8d67ca89SAndroid Build Coastguard Worker FUNCTION(lround, long (*f)(double));
264*8d67ca89SAndroid Build Coastguard Worker FUNCTION(lroundf, long (*f)(float));
265*8d67ca89SAndroid Build Coastguard Worker FUNCTION(lroundl, long (*f)(long double));
266*8d67ca89SAndroid Build Coastguard Worker
267*8d67ca89SAndroid Build Coastguard Worker FUNCTION(modf, double (*f)(double, double*));
268*8d67ca89SAndroid Build Coastguard Worker FUNCTION(modff, float (*f)(float, float*));
269*8d67ca89SAndroid Build Coastguard Worker FUNCTION(modfl, long double (*f)(long double, long double*));
270*8d67ca89SAndroid Build Coastguard Worker
271*8d67ca89SAndroid Build Coastguard Worker FUNCTION(nan, double (*f)(const char*));
272*8d67ca89SAndroid Build Coastguard Worker FUNCTION(nanf, float (*f)(const char*));
273*8d67ca89SAndroid Build Coastguard Worker FUNCTION(nanl, long double (*f)(const char*));
274*8d67ca89SAndroid Build Coastguard Worker
275*8d67ca89SAndroid Build Coastguard Worker FUNCTION(nearbyint, double (*f)(double));
276*8d67ca89SAndroid Build Coastguard Worker FUNCTION(nearbyintf, float (*f)(float));
277*8d67ca89SAndroid Build Coastguard Worker FUNCTION(nearbyintl, long double (*f)(long double));
278*8d67ca89SAndroid Build Coastguard Worker
279*8d67ca89SAndroid Build Coastguard Worker FUNCTION(nextafter, double (*f)(double, double));
280*8d67ca89SAndroid Build Coastguard Worker FUNCTION(nextafterf, float (*f)(float, float));
281*8d67ca89SAndroid Build Coastguard Worker FUNCTION(nextafterl, long double (*f)(long double, long double));
282*8d67ca89SAndroid Build Coastguard Worker
283*8d67ca89SAndroid Build Coastguard Worker FUNCTION(nexttoward, double (*f)(double, long double));
284*8d67ca89SAndroid Build Coastguard Worker FUNCTION(nexttowardf, float (*f)(float, long double));
285*8d67ca89SAndroid Build Coastguard Worker FUNCTION(nexttowardl, long double (*f)(long double, long double));
286*8d67ca89SAndroid Build Coastguard Worker
287*8d67ca89SAndroid Build Coastguard Worker FUNCTION(pow, double (*f)(double, double));
288*8d67ca89SAndroid Build Coastguard Worker FUNCTION(powf, float (*f)(float, float));
289*8d67ca89SAndroid Build Coastguard Worker FUNCTION(powl, long double (*f)(long double, long double));
290*8d67ca89SAndroid Build Coastguard Worker
291*8d67ca89SAndroid Build Coastguard Worker FUNCTION(remainder, double (*f)(double, double));
292*8d67ca89SAndroid Build Coastguard Worker FUNCTION(remainderf, float (*f)(float, float));
293*8d67ca89SAndroid Build Coastguard Worker FUNCTION(remainderl, long double (*f)(long double, long double));
294*8d67ca89SAndroid Build Coastguard Worker
295*8d67ca89SAndroid Build Coastguard Worker FUNCTION(remquo, double (*f)(double, double, int*));
296*8d67ca89SAndroid Build Coastguard Worker FUNCTION(remquof, float (*f)(float, float, int*));
297*8d67ca89SAndroid Build Coastguard Worker FUNCTION(remquol, long double (*f)(long double, long double, int*));
298*8d67ca89SAndroid Build Coastguard Worker
299*8d67ca89SAndroid Build Coastguard Worker FUNCTION(rint, double (*f)(double));
300*8d67ca89SAndroid Build Coastguard Worker FUNCTION(rintf, float (*f)(float));
301*8d67ca89SAndroid Build Coastguard Worker FUNCTION(rintl, long double (*f)(long double));
302*8d67ca89SAndroid Build Coastguard Worker
303*8d67ca89SAndroid Build Coastguard Worker FUNCTION(round, double (*f)(double));
304*8d67ca89SAndroid Build Coastguard Worker FUNCTION(roundf, float (*f)(float));
305*8d67ca89SAndroid Build Coastguard Worker FUNCTION(roundl, long double (*f)(long double));
306*8d67ca89SAndroid Build Coastguard Worker
307*8d67ca89SAndroid Build Coastguard Worker FUNCTION(scalbln, double (*f)(double, long));
308*8d67ca89SAndroid Build Coastguard Worker FUNCTION(scalblnf, float (*f)(float, long));
309*8d67ca89SAndroid Build Coastguard Worker FUNCTION(scalblnl, long double (*f)(long double, long));
310*8d67ca89SAndroid Build Coastguard Worker
311*8d67ca89SAndroid Build Coastguard Worker FUNCTION(scalbn, double (*f)(double, int));
312*8d67ca89SAndroid Build Coastguard Worker FUNCTION(scalbnf, float (*f)(float, int));
313*8d67ca89SAndroid Build Coastguard Worker FUNCTION(scalbnl, long double (*f)(long double, int));
314*8d67ca89SAndroid Build Coastguard Worker
315*8d67ca89SAndroid Build Coastguard Worker FUNCTION(sin, double (*f)(double));
316*8d67ca89SAndroid Build Coastguard Worker FUNCTION(sinf, float (*f)(float));
317*8d67ca89SAndroid Build Coastguard Worker FUNCTION(sinh, double (*f)(double));
318*8d67ca89SAndroid Build Coastguard Worker FUNCTION(sinhf, float (*f)(float));
319*8d67ca89SAndroid Build Coastguard Worker FUNCTION(sinhl, long double (*f)(long double));
320*8d67ca89SAndroid Build Coastguard Worker FUNCTION(sinl, long double (*f)(long double));
321*8d67ca89SAndroid Build Coastguard Worker
322*8d67ca89SAndroid Build Coastguard Worker FUNCTION(sqrt, double (*f)(double));
323*8d67ca89SAndroid Build Coastguard Worker FUNCTION(sqrtf, float (*f)(float));
324*8d67ca89SAndroid Build Coastguard Worker FUNCTION(sqrtl, long double (*f)(long double));
325*8d67ca89SAndroid Build Coastguard Worker
326*8d67ca89SAndroid Build Coastguard Worker FUNCTION(tan, double (*f)(double));
327*8d67ca89SAndroid Build Coastguard Worker FUNCTION(tanf, float (*f)(float));
328*8d67ca89SAndroid Build Coastguard Worker FUNCTION(tanh, double (*f)(double));
329*8d67ca89SAndroid Build Coastguard Worker FUNCTION(tanhf, float (*f)(float));
330*8d67ca89SAndroid Build Coastguard Worker FUNCTION(tanhl, long double (*f)(long double));
331*8d67ca89SAndroid Build Coastguard Worker FUNCTION(tanl, long double (*f)(long double));
332*8d67ca89SAndroid Build Coastguard Worker
333*8d67ca89SAndroid Build Coastguard Worker FUNCTION(tgamma, double (*f)(double));
334*8d67ca89SAndroid Build Coastguard Worker FUNCTION(tgammaf, float (*f)(float));
335*8d67ca89SAndroid Build Coastguard Worker FUNCTION(tgammal, long double (*f)(long double));
336*8d67ca89SAndroid Build Coastguard Worker
337*8d67ca89SAndroid Build Coastguard Worker FUNCTION(trunc, double (*f)(double));
338*8d67ca89SAndroid Build Coastguard Worker FUNCTION(truncf, float (*f)(float));
339*8d67ca89SAndroid Build Coastguard Worker FUNCTION(truncl, long double (*f)(long double));
340*8d67ca89SAndroid Build Coastguard Worker
341*8d67ca89SAndroid Build Coastguard Worker FUNCTION(y0, double (*f)(double));
342*8d67ca89SAndroid Build Coastguard Worker FUNCTION(y1, double (*f)(double));
343*8d67ca89SAndroid Build Coastguard Worker FUNCTION(yn, double (*f)(int, double));
344*8d67ca89SAndroid Build Coastguard Worker
345*8d67ca89SAndroid Build Coastguard Worker int s = signgam;
346*8d67ca89SAndroid Build Coastguard Worker }
347