xref: /third_party/musl/libc-test/src/api/math.c (revision 570af302)
1#include <math.h>
2#define T(t) (t*)0;
3#define C(n) switch(n){case n:;}
4#define I(t,e) {t x[sizeof(t)==sizeof(e)] = {e};}
5#define D(n) {double d = n;}
6static void f()
7{
8T(float_t)
9T(double_t)
10I(int,fpclassify(.0))
11I(int,isfinite(.0))
12I(int,isgreater(.0,.0))
13I(int,isgreaterequal(.0,.0))
14I(int,isinf(.0))
15I(int,isless(.0,.0))
16I(int,islessequal(.0,.0))
17I(int,islessgreater(.0,.0))
18I(int,isnan(.0))
19I(int,isnormal(.0))
20I(int,isunordered(.0,.0))
21I(int,signbit(.0))
22#ifdef _XOPEN_SOURCE
23I(int,signgam)
24D(M_E)
25D(M_LOG2E)
26D(M_LOG10E)
27D(M_LN2)
28D(M_LN10)
29D(M_PI)
30D(M_PI_2)
31D(M_PI_4)
32D(M_1_PI)
33D(M_2_PI)
34D(M_2_SQRTPI)
35D(M_SQRT2)
36D(M_SQRT1_2)
37D(MAXFLOAT)
38#endif
39D(HUGE_VAL)
40D(HUGE_VALF)
41D(HUGE_VALL)
42D(INFINITY)
43D(NAN)
44C(FP_INFINITE)
45C(FP_NAN)
46C(FP_NORMAL)
47C(FP_SUBNORMAL)
48C(FP_ZERO)
49C(FP_ILOGB0)
50C(FP_ILOGBNAN)
51C(MATH_ERRNO)
52C(MATH_ERREXCEPT)
53C(math_errhandling)
54{double(*p)(double) = acos;}
55{float(*p)(float) = acosf;}
56{double(*p)(double) = acosh;}
57{float(*p)(float) = acoshf;}
58{long double(*p)(long double) = acoshl;}
59{long double(*p)(long double) = acosl;}
60{double(*p)(double) = asin;}
61{float(*p)(float) = asinf;}
62{double(*p)(double) = asinh;}
63{float(*p)(float) = asinhf;}
64{long double(*p)(long double) = asinhl;}
65{long double(*p)(long double) = asinl;}
66{double(*p)(double) = atan;}
67{double(*p)(double,double) = atan2;}
68{float(*p)(float,float) = atan2f;}
69{long double(*p)(long double,long double) = atan2l;}
70{float(*p)(float) = atanf;}
71{double(*p)(double) = atanh;}
72{float(*p)(float) = atanhf;}
73{long double(*p)(long double) = atanhl;}
74{long double(*p)(long double) = atanl;}
75{double(*p)(double) = cbrt;}
76{float(*p)(float) = cbrtf;}
77{long double(*p)(long double) = cbrtl;}
78{double(*p)(double) = ceil;}
79{float(*p)(float) = ceilf;}
80{long double(*p)(long double) = ceill;}
81{double(*p)(double,double) = copysign;}
82{float(*p)(float,float) = copysignf;}
83{long double(*p)(long double,long double) = copysignl;}
84{double(*p)(double) = cos;}
85{float(*p)(float) = cosf;}
86{double(*p)(double) = cosh;}
87{float(*p)(float) = coshf;}
88{long double(*p)(long double) = coshl;}
89{long double(*p)(long double) = cosl;}
90{double(*p)(double) = erf;}
91{double(*p)(double) = erfc;}
92{float(*p)(float) = erfcf;}
93{long double(*p)(long double) = erfcl;}
94{float(*p)(float) = erff;}
95{long double(*p)(long double) = erfl;}
96{double(*p)(double) = exp;}
97{double(*p)(double) = exp2;}
98{float(*p)(float) = exp2f;}
99{long double(*p)(long double) = exp2l;}
100{float(*p)(float) = expf;}
101{long double(*p)(long double) = expl;}
102{double(*p)(double) = expm1;}
103{float(*p)(float) = expm1f;}
104{long double(*p)(long double) = expm1l;}
105{double(*p)(double) = fabs;}
106{float(*p)(float) = fabsf;}
107{long double(*p)(long double) = fabsl;}
108{double(*p)(double,double) = fdim;}
109{float(*p)(float,float) = fdimf;}
110{long double(*p)(long double,long double) = fdiml;}
111{double(*p)(double) = floor;}
112{float(*p)(float) = floorf;}
113{long double(*p)(long double) = floorl;}
114{double(*p)(double,double,double) = fma;}
115{float(*p)(float,float,float) = fmaf;}
116{long double(*p)(long double,long double,long double) = fmal;}
117{double(*p)(double,double) = fmax;}
118{float(*p)(float,float) = fmaxf;}
119{long double(*p)(long double,long double) = fmaxl;}
120{double(*p)(double,double) = fmin;}
121{float(*p)(float,float) = fminf;}
122{long double(*p)(long double,long double) = fminl;}
123{double(*p)(double,double) = fmod;}
124{float(*p)(float,float) = fmodf;}
125{long double(*p)(long double,long double) = fmodl;}
126{double(*p)(double,int*) = frexp;}
127{float(*p)(float,int*) = frexpf;}
128{long double(*p)(long double,int*) = frexpl;}
129{double(*p)(double,double) = hypot;}
130{float(*p)(float,float) = hypotf;}
131{long double(*p)(long double,long double) = hypotl;}
132{int(*p)(double) = ilogb;}
133{int(*p)(float) = ilogbf;}
134{int(*p)(long double) = ilogbl;}
135#ifdef _XOPEN_SOURCE
136{double(*p)(double) = j0;}
137{double(*p)(double) = j1;}
138{double(*p)(int,double) = jn;}
139#endif
140{double(*p)(double,int) = ldexp;}
141{float(*p)(float,int) = ldexpf;}
142{long double(*p)(long double,int) = ldexpl;}
143{double(*p)(double) = lgamma;}
144{float(*p)(float) = lgammaf;}
145{long double(*p)(long double) = lgammal;}
146{long long(*p)(double) = llrint;}
147{long long(*p)(float) = llrintf;}
148{long long(*p)(long double) = llrintl;}
149{long long(*p)(double) = llround;}
150{long long(*p)(float) = llroundf;}
151{long long(*p)(long double) = llroundl;}
152{double(*p)(double) = log;}
153{double(*p)(double) = log10;}
154{float(*p)(float) = log10f;}
155{long double(*p)(long double) = log10l;}
156{double(*p)(double) = log1p;}
157{float(*p)(float) = log1pf;}
158{long double(*p)(long double) = log1pl;}
159{double(*p)(double) = log2;}
160{float(*p)(float) = log2f;}
161{long double(*p)(long double) = log2l;}
162{double(*p)(double) = logb;}
163{float(*p)(float) = logbf;}
164{long double(*p)(long double) = logbl;}
165{float(*p)(float) = logf;}
166{long double(*p)(long double) = logl;}
167{long(*p)(double) = lrint;}
168{long(*p)(float) = lrintf;}
169{long(*p)(long double) = lrintl;}
170{long(*p)(double) = lround;}
171{long(*p)(float) = lroundf;}
172{long(*p)(long double) = lroundl;}
173{double(*p)(double,double*) = modf;}
174{float(*p)(float,float*) = modff;}
175{long double(*p)(long double,long double*) = modfl;}
176{double(*p)(const char*) = nan;}
177{float(*p)(const char*) = nanf;}
178{long double(*p)(const char*) = nanl;}
179{double(*p)(double) = nearbyint;}
180{float(*p)(float) = nearbyintf;}
181{long double(*p)(long double) = nearbyintl;}
182{double(*p)(double,double) = nextafter;}
183{float(*p)(float,float) = nextafterf;}
184{long double(*p)(long double,long double) = nextafterl;}
185{double(*p)(double,long double) = nexttoward;}
186{float(*p)(float,long double) = nexttowardf;}
187{long double(*p)(long double,long double) = nexttowardl;}
188{double(*p)(double,double) = pow;}
189{float(*p)(float,float) = powf;}
190{long double(*p)(long double,long double) = powl;}
191{double(*p)(double,double) = remainder;}
192{float(*p)(float,float) = remainderf;}
193{long double(*p)(long double,long double) = remainderl;}
194{double(*p)(double,double,int*) = remquo;}
195{float(*p)(float,float,int*) = remquof;}
196{long double(*p)(long double,long double,int*) = remquol;}
197{double(*p)(double) = rint;}
198{float(*p)(float) = rintf;}
199{long double(*p)(long double) = rintl;}
200{double(*p)(double) = round;}
201{float(*p)(float) = roundf;}
202{long double(*p)(long double) = roundl;}
203{double(*p)(double,long) = scalbln;}
204{float(*p)(float,long) = scalblnf;}
205{long double(*p)(long double,long) = scalblnl;}
206{double(*p)(double,int) = scalbn;}
207{float(*p)(float,int) = scalbnf;}
208{long double(*p)(long double,int) = scalbnl;}
209{double(*p)(double) = sin;}
210{float(*p)(float) = sinf;}
211{double(*p)(double) = sinh;}
212{float(*p)(float) = sinhf;}
213{long double(*p)(long double) = sinhl;}
214{long double(*p)(long double) = sinl;}
215{double(*p)(double) = sqrt;}
216{float(*p)(float) = sqrtf;}
217{long double(*p)(long double) = sqrtl;}
218{double(*p)(double) = tan;}
219{float(*p)(float) = tanf;}
220{double(*p)(double) = tanh;}
221{float(*p)(float) = tanhf;}
222{long double(*p)(long double) = tanhl;}
223{long double(*p)(long double) = tanl;}
224{double(*p)(double) = tgamma;}
225{float(*p)(float) = tgammaf;}
226{long double(*p)(long double) = tgammal;}
227{double(*p)(double) = trunc;}
228{float(*p)(float) = truncf;}
229{long double(*p)(long double) = truncl;}
230#ifdef _XOPEN_SOURCE
231{double(*p)(double) = y0;}
232{double(*p)(double) = y1;}
233{double(*p)(int,double) = yn;}
234#endif
235}
236