1macro-constant HUGE_VAL {double}
2
3#if !defined ISO && !defined POSIX
4# if !defined XPG4 && !defined XPG42 && !defined UNIX98
5macro fpclassify
6macro isfinite
7macro isinf
8macro isnan
9macro isnormal
10macro signbit
11macro isgreater
12macro isgreaterequal
13macro isless
14macro islessequal
15macro islessgreater
16macro isunordered
17type float_t
18type double_t
19# endif
20# if defined XPG4 || defined XPG42 || defined UNIX98
21function int isnan (double)
22# endif
23
24# if !defined ISO99 && !defined ISO11 && !defined POSIX2008
25constant M_E
26constant M_LOG2E
27constant M_LOG10E
28constant M_LN2
29constant M_LN10
30constant M_PI
31constant M_PI_2
32constant M_PI_4
33constant M_1_PI
34constant M_2_PI
35constant M_2_SQRTPI
36constant M_SQRT2
37constant M_SQRT1_2
38
39constant MAXFLOAT
40# endif
41# if !defined XPG4 && !defined XPG42 && !defined UNIX98
42macro-constant HUGE_VALF {float}
43macro-constant HUGE_VALL {long double}
44macro-constant INFINITY {float}
45macro-constant NAN {float}
46
47macro-int-constant FP_INFINITE
48macro-int-constant FP_NAN
49macro-int-constant FP_NORMAL
50macro-int-constant FP_SUBNORMAL
51macro-int-constant FP_ZERO
52
53optional-macro-int-constant FP_FAST_FMA {int} == 1
54optional-macro-int-constant FP_FAST_FMAF {int} == 1
55optional-macro-int-constant FP_FAST_FMAL {int} == 1
56
57macro-int-constant FP_ILOGB0
58macro-int-constant FP_ILOGBNAN
59
60macro-int-constant MATH_ERRNO {int} == 1
61macro-int-constant MATH_ERREXCEPT {int} == 2
62
63macro math_errhandling {int}
64# endif
65#endif
66
67function double acos (double)
68function double asin (double)
69function double atan (double)
70function double atan2 (double, double)
71function double ceil (double)
72#if !defined ISO && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
73function double copysign (double, double)
74#endif
75function double cos (double)
76function double cosh (double)
77function double exp (double)
78#if !defined ISO && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
79function double exp2 (double)
80#endif
81function double fabs (double)
82function double floor (double)
83function double fmod (double, double)
84function double frexp (double, int*)
85function double ldexp (double, int)
86function double log (double)
87function double log10 (double)
88#if !defined ISO && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
89function double log2 (double)
90#endif
91function double modf (double, double*)
92function double pow (double, double)
93function double sin (double)
94function double sinh (double)
95function double sqrt (double)
96function double tan (double)
97function double tanh (double)
98#if !defined ISO && !defined POSIX
99function double erf (double)
100function double erfc (double)
101#endif
102#if defined XPG4 || defined XPG42 || defined UNIX98
103function double gamma (double)
104#endif
105#if !defined ISO && !defined POSIX
106function double hypot (double, double)
107# if !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
108function double j0 (double)
109function double j1 (double)
110function double jn (int, double)
111# endif
112function double lgamma (double)
113# if !defined XPG4 && !defined XPG42 && !defined UNIX98
114function double tgamma (double)
115# endif
116# if !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
117function double y0 (double)
118function double y1 (double)
119function double yn (int, double)
120# endif
121# if !defined XPG4
122function double acosh (double)
123function double asinh (double)
124function double atanh (double)
125function double cbrt (double)
126function double expm1 (double)
127function int ilogb (double)
128function double log1p (double)
129function double logb (double)
130function double nextafter (double, double)
131#  if !defined XPG42 && !defined UNIX98
132function double nexttoward (double, long double)
133function double nearbyint (double)
134#  endif
135function double remainder (double, double)
136function double rint (double)
137#  if !defined XPG42 && !defined UNIX98
138function double round (double)
139function double trunc (double)
140function long lrint (double)
141function {long long} llrint (double)
142function long lround (double)
143function {long long} llround (double)
144function double remquo (double, double, int*)
145#  endif
146#  if defined XPG42 || defined UNIX98 || defined XOPEN2K
147function double scalb (double, double)
148#  endif
149#  if !defined XPG42 && !defined UNIX98
150function double scalbn (double, int)
151function double scalbln (double, long)
152function double fdim (double, double)
153function double fmax (double, double)
154function double fmin (double, double)
155function double fma (double, double, double)
156function double nan (const char*)
157#  endif
158# endif
159
160# if !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
161// variable signgam
162allow signgam
163# endif
164#endif
165
166#if !defined ISO && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
167function float acosf (float)
168function float asinf (float)
169function float atanf (float)
170function float atan2f (float, float)
171function float ceilf (float)
172function float copysignf (float, float)
173function float cosf (float)
174function float coshf (float)
175function float expf (float)
176function float exp2f (float)
177function float fabsf (float)
178function float floorf (float)
179function float fmodf (float, float)
180function float frexpf (float, int*)
181function float ldexpf (float, int)
182function float logf (float)
183function float log10f (float)
184function float log2f (float)
185function float modff (float, float*)
186function float powf (float, float)
187function float sinf (float)
188function float sinhf (float)
189function float sqrtf (float)
190function float tanf (float)
191function float tanhf (float)
192function float erff (float)
193function float erfcf (float)
194function float hypotf (float, float)
195function float lgammaf (float)
196function float tgammaf (float)
197function float acoshf (float)
198function float asinhf (float)
199function float atanhf (float)
200function float cbrtf (float)
201function float expm1f (float)
202function int ilogbf (float)
203function float log1pf (float)
204function float logbf (float)
205function float nextafterf (float, float)
206function float nexttowardf (float, long double)
207function float nearbyintf (float)
208function float remainderf (float, float)
209function float rintf (float)
210function float roundf (float)
211function float truncf (float)
212function long lrintf (float)
213function {long long} llrintf (float)
214function long lroundf (float)
215function {long long} llroundf (float)
216function float remquof (float, float, int*)
217function float scalbnf (float, int)
218function float scalblnf (float, long)
219function float fdimf (float, float)
220function float fmaxf (float, float)
221function float fminf (float, float)
222function float fmaf (float, float, float)
223function float nanf (const char*)
224
225function {long double} acosl (long double)
226function {long double} asinl (long double)
227function {long double} atanl (long double)
228function {long double} atan2l (long double, long double)
229function {long double} ceill (long double)
230function {long double} copysignl (long double, long double)
231function {long double} cosl (long double)
232function {long double} coshl (long double)
233function {long double} expl (long double)
234function {long double} exp2l (long double)
235function {long double} fabsl (long double)
236function {long double} floorl (long double)
237function {long double} fmodl (long double, long double)
238function {long double} frexpl (long double, int*)
239function {long double} ldexpl (long double, int)
240function {long double} logl (long double)
241function {long double} log10l (long double)
242function {long double} log2l (long double)
243function {long double} modfl (long double, long double*)
244function {long double} powl (long double, long double)
245function {long double} sinl (long double)
246function {long double} sinhl (long double)
247function {long double} sqrtl (long double)
248function {long double} tanl (long double)
249function {long double} tanhl (long double)
250function {long double} erfl (long double)
251function {long double} erfcl (long double)
252function {long double} hypotl (long double, long double)
253function {long double} lgammal (long double)
254function {long double} tgammal (long double)
255function {long double} acoshl (long double)
256function {long double} asinhl (long double)
257function {long double} atanhl (long double)
258function {long double} cbrtl (long double)
259function {long double} expm1l (long double)
260function int ilogbl (long double)
261function {long double} log1pl (long double)
262function {long double} logbl (long double)
263function {long double} nextafterl (long double, long double)
264function {long double} nexttowardl (long double, long double)
265function {long double} nearbyintl (long double)
266function {long double} remainderl (long double, long double)
267function {long double} rintl (long double)
268function {long double} roundl (long double)
269function {long double} truncl (long double)
270function long lrintl (long double)
271function {long long} llrintl (long double)
272function long lroundl (long double)
273function {long long} llroundl (long double)
274function {long double} remquol (long double, long double, int*)
275function {long double} scalbnl (long double, int)
276function {long double} scalblnl (long double, long)
277function {long double} fdiml (long double, long double)
278function {long double} fmaxl (long double, long double)
279function {long double} fminl (long double, long double)
280function {long double} fmal (long double, long double, long double)
281function {long double} nanl (const char*)
282#else
283allow acosf
284allow asinf
285allow atanf
286allow atan2f
287allow ceilf
288allow cosf
289allow coshf
290allow expf
291allow fabsf
292allow floorf
293allow fmodf
294allow frexpf
295allow ldexpf
296allow logf
297allow log10f
298allow modff
299allow powf
300allow sinf
301allow sinhf
302allow sqrtf
303allow tanf
304allow tanhf
305
306allow acosl
307allow asinl
308allow atanl
309allow atan2l
310allow ceill
311allow cosl
312allow coshl
313allow expl
314allow fabsl
315allow floorl
316allow fmodl
317allow frexpl
318allow ldexpl
319allow logl
320allow log10l
321allow modfl
322allow powl
323allow sinl
324allow sinhl
325allow sqrtl
326allow tanl
327allow tanhl
328#endif
329
330#if !defined ISO && !defined ISO99 && !defined ISO11
331allow *_t
332#endif
333#if !defined ISO && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
334allow FP_[ABCDEFGHIJKLMNOPQRSTUVWXYZ]*
335#endif
336