xref: /titanic_41/usr/src/head/iso/math_c99.h (revision 5b2ba9d3d1e04dde804c89e9879f7dfc9bcebf61)
1*5b2ba9d3SPiotr Jasiukajtis /*
2*5b2ba9d3SPiotr Jasiukajtis  * CDDL HEADER START
3*5b2ba9d3SPiotr Jasiukajtis  *
4*5b2ba9d3SPiotr Jasiukajtis  * The contents of this file are subject to the terms of the
5*5b2ba9d3SPiotr Jasiukajtis  * Common Development and Distribution License (the "License").
6*5b2ba9d3SPiotr Jasiukajtis  * You may not use this file except in compliance with the License.
7*5b2ba9d3SPiotr Jasiukajtis  *
8*5b2ba9d3SPiotr Jasiukajtis  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9*5b2ba9d3SPiotr Jasiukajtis  * or http://www.opensolaris.org/os/licensing.
10*5b2ba9d3SPiotr Jasiukajtis  * See the License for the specific language governing permissions
11*5b2ba9d3SPiotr Jasiukajtis  * and limitations under the License.
12*5b2ba9d3SPiotr Jasiukajtis  *
13*5b2ba9d3SPiotr Jasiukajtis  * When distributing Covered Code, include this CDDL HEADER in each
14*5b2ba9d3SPiotr Jasiukajtis  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15*5b2ba9d3SPiotr Jasiukajtis  * If applicable, add the following below this CDDL HEADER, with the
16*5b2ba9d3SPiotr Jasiukajtis  * fields enclosed by brackets "[]" replaced with your own identifying
17*5b2ba9d3SPiotr Jasiukajtis  * information: Portions Copyright [yyyy] [name of copyright owner]
18*5b2ba9d3SPiotr Jasiukajtis  *
19*5b2ba9d3SPiotr Jasiukajtis  * CDDL HEADER END
20*5b2ba9d3SPiotr Jasiukajtis  */
21*5b2ba9d3SPiotr Jasiukajtis /*
22*5b2ba9d3SPiotr Jasiukajtis  * Copyright 2011 Nexenta Systems, Inc.  All rights reserved.
23*5b2ba9d3SPiotr Jasiukajtis  */
24*5b2ba9d3SPiotr Jasiukajtis /*
25*5b2ba9d3SPiotr Jasiukajtis  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
26*5b2ba9d3SPiotr Jasiukajtis  * Use is subject to license terms.
27*5b2ba9d3SPiotr Jasiukajtis  */
28*5b2ba9d3SPiotr Jasiukajtis 
29*5b2ba9d3SPiotr Jasiukajtis #ifndef _ISO_MATH_C99_H
30*5b2ba9d3SPiotr Jasiukajtis #define	_ISO_MATH_C99_H
31*5b2ba9d3SPiotr Jasiukajtis 
32*5b2ba9d3SPiotr Jasiukajtis #include <sys/isa_defs.h>
33*5b2ba9d3SPiotr Jasiukajtis #include <sys/feature_tests.h>
34*5b2ba9d3SPiotr Jasiukajtis 
35*5b2ba9d3SPiotr Jasiukajtis #ifdef __cplusplus
36*5b2ba9d3SPiotr Jasiukajtis extern "C" {
37*5b2ba9d3SPiotr Jasiukajtis #endif
38*5b2ba9d3SPiotr Jasiukajtis 
39*5b2ba9d3SPiotr Jasiukajtis #ifndef __P
40*5b2ba9d3SPiotr Jasiukajtis #ifdef __STDC__
41*5b2ba9d3SPiotr Jasiukajtis #define	__P(p)	p
42*5b2ba9d3SPiotr Jasiukajtis #else
43*5b2ba9d3SPiotr Jasiukajtis #define	__P(p)	()
44*5b2ba9d3SPiotr Jasiukajtis #endif
45*5b2ba9d3SPiotr Jasiukajtis #endif	/* !defined(__P) */
46*5b2ba9d3SPiotr Jasiukajtis 
47*5b2ba9d3SPiotr Jasiukajtis #if defined(_STDC_C99) || _XOPEN_SOURCE - 0 >= 600 || defined(__C99FEATURES__)
48*5b2ba9d3SPiotr Jasiukajtis #if defined(__GNUC__)
49*5b2ba9d3SPiotr Jasiukajtis #undef	HUGE_VAL
50*5b2ba9d3SPiotr Jasiukajtis #define	HUGE_VAL	(__builtin_huge_val())
51*5b2ba9d3SPiotr Jasiukajtis #undef	HUGE_VALF
52*5b2ba9d3SPiotr Jasiukajtis #define	HUGE_VALF	(__builtin_huge_valf())
53*5b2ba9d3SPiotr Jasiukajtis #undef	HUGE_VALL
54*5b2ba9d3SPiotr Jasiukajtis #define	HUGE_VALL	(__builtin_huge_vall())
55*5b2ba9d3SPiotr Jasiukajtis #undef	INFINITY
56*5b2ba9d3SPiotr Jasiukajtis #define	INFINITY	(__builtin_inff())
57*5b2ba9d3SPiotr Jasiukajtis #undef	NAN
58*5b2ba9d3SPiotr Jasiukajtis #define	NAN		(__builtin_nanf(""))
59*5b2ba9d3SPiotr Jasiukajtis 
60*5b2ba9d3SPiotr Jasiukajtis /*
61*5b2ba9d3SPiotr Jasiukajtis  * C99 7.12.3 classification macros
62*5b2ba9d3SPiotr Jasiukajtis  */
63*5b2ba9d3SPiotr Jasiukajtis #undef	isnan
64*5b2ba9d3SPiotr Jasiukajtis #undef	isinf
65*5b2ba9d3SPiotr Jasiukajtis #if __GNUC__ >= 4
66*5b2ba9d3SPiotr Jasiukajtis #define	isnan(x)	__builtin_isnan(x)
67*5b2ba9d3SPiotr Jasiukajtis #define	isinf(x)	__builtin_isinf(x)
68*5b2ba9d3SPiotr Jasiukajtis #else
69*5b2ba9d3SPiotr Jasiukajtis #define	isnan(x)	__extension__( \
70*5b2ba9d3SPiotr Jasiukajtis 			{ __typeof(x) __x_n = (x); \
71*5b2ba9d3SPiotr Jasiukajtis 			__builtin_isunordered(__x_n, __x_n); })
72*5b2ba9d3SPiotr Jasiukajtis #define	isinf(x)	__extension__( \
73*5b2ba9d3SPiotr Jasiukajtis 			{ __typeof(x) __x_i = (x); \
74*5b2ba9d3SPiotr Jasiukajtis 			__x_i == (__typeof(__x_i)) INFINITY || \
75*5b2ba9d3SPiotr Jasiukajtis 			__x_i == (__typeof(__x_i)) (-INFINITY); })
76*5b2ba9d3SPiotr Jasiukajtis #endif
77*5b2ba9d3SPiotr Jasiukajtis #undef	isfinite
78*5b2ba9d3SPiotr Jasiukajtis #define	isfinite(x)	__extension__( \
79*5b2ba9d3SPiotr Jasiukajtis 			{ __typeof(x) __x_f = (x); \
80*5b2ba9d3SPiotr Jasiukajtis 			!isnan(__x_f) && !isinf(__x_f); })
81*5b2ba9d3SPiotr Jasiukajtis #undef	isnormal
82*5b2ba9d3SPiotr Jasiukajtis #define	isnormal(x)	__extension__( \
83*5b2ba9d3SPiotr Jasiukajtis 			{ __typeof(x) __x_r = (x); isfinite(__x_r) && \
84*5b2ba9d3SPiotr Jasiukajtis 			(sizeof (__x_r) == sizeof (float) ? \
85*5b2ba9d3SPiotr Jasiukajtis 			__builtin_fabsf(__x_r) >= __FLT_MIN__ : \
86*5b2ba9d3SPiotr Jasiukajtis 			sizeof (__x_r) == sizeof (double) ? \
87*5b2ba9d3SPiotr Jasiukajtis 			__builtin_fabs(__x_r) >= __DBL_MIN__ : \
88*5b2ba9d3SPiotr Jasiukajtis 			__builtin_fabsl(__x_r) >= __LDBL_MIN__); })
89*5b2ba9d3SPiotr Jasiukajtis #undef	fpclassify
90*5b2ba9d3SPiotr Jasiukajtis #define	fpclassify(x)	__extension__( \
91*5b2ba9d3SPiotr Jasiukajtis 			{ __typeof(x) __x_c = (x); \
92*5b2ba9d3SPiotr Jasiukajtis 			isnan(__x_c) ? FP_NAN : \
93*5b2ba9d3SPiotr Jasiukajtis 			isinf(__x_c) ? FP_INFINITE : \
94*5b2ba9d3SPiotr Jasiukajtis 			isnormal(__x_c) ? FP_NORMAL : \
95*5b2ba9d3SPiotr Jasiukajtis 			__x_c == (__typeof(__x_c)) 0 ? FP_ZERO : \
96*5b2ba9d3SPiotr Jasiukajtis 			FP_SUBNORMAL; })
97*5b2ba9d3SPiotr Jasiukajtis #undef	signbit
98*5b2ba9d3SPiotr Jasiukajtis #if defined(_BIG_ENDIAN)
99*5b2ba9d3SPiotr Jasiukajtis #define	signbit(x)	__extension__( \
100*5b2ba9d3SPiotr Jasiukajtis 			{ __typeof(x) __x_s = (x); \
101*5b2ba9d3SPiotr Jasiukajtis 			(int) (*(unsigned *) &__x_s >> 31); })
102*5b2ba9d3SPiotr Jasiukajtis #elif defined(_LITTLE_ENDIAN)
103*5b2ba9d3SPiotr Jasiukajtis #define	signbit(x)	__extension__( \
104*5b2ba9d3SPiotr Jasiukajtis 			{ __typeof(x) __x_s = (x); \
105*5b2ba9d3SPiotr Jasiukajtis 			(sizeof (__x_s) == sizeof (float) ? \
106*5b2ba9d3SPiotr Jasiukajtis 			(int) (*(unsigned *) &__x_s >> 31) : \
107*5b2ba9d3SPiotr Jasiukajtis 			sizeof (__x_s) == sizeof (double) ? \
108*5b2ba9d3SPiotr Jasiukajtis 			(int) (((unsigned *) &__x_s)[1] >> 31) : \
109*5b2ba9d3SPiotr Jasiukajtis 			(int) (((unsigned short *) &__x_s)[4] >> 15)); })
110*5b2ba9d3SPiotr Jasiukajtis #endif
111*5b2ba9d3SPiotr Jasiukajtis 
112*5b2ba9d3SPiotr Jasiukajtis /*
113*5b2ba9d3SPiotr Jasiukajtis  * C99 7.12.14 comparison macros
114*5b2ba9d3SPiotr Jasiukajtis  */
115*5b2ba9d3SPiotr Jasiukajtis #undef	isgreater
116*5b2ba9d3SPiotr Jasiukajtis #define	isgreater(x, y)		__builtin_isgreater(x, y)
117*5b2ba9d3SPiotr Jasiukajtis #undef	isgreaterequal
118*5b2ba9d3SPiotr Jasiukajtis #define	isgreaterequal(x, y)	__builtin_isgreaterequal(x, y)
119*5b2ba9d3SPiotr Jasiukajtis #undef	isless
120*5b2ba9d3SPiotr Jasiukajtis #define	isless(x, y)		__builtin_isless(x, y)
121*5b2ba9d3SPiotr Jasiukajtis #undef	islessequal
122*5b2ba9d3SPiotr Jasiukajtis #define	islessequal(x, y)	__builtin_islessequal(x, y)
123*5b2ba9d3SPiotr Jasiukajtis #undef	islessgreater
124*5b2ba9d3SPiotr Jasiukajtis #define	islessgreater(x, y)	__builtin_islessgreater(x, y)
125*5b2ba9d3SPiotr Jasiukajtis #undef	isunordered
126*5b2ba9d3SPiotr Jasiukajtis #define	isunordered(x, y)	__builtin_isunordered(x, y)
127*5b2ba9d3SPiotr Jasiukajtis #else	/* defined(__GNUC__) */
128*5b2ba9d3SPiotr Jasiukajtis #undef	HUGE_VAL
129*5b2ba9d3SPiotr Jasiukajtis #define	HUGE_VAL	__builtin_huge_val
130*5b2ba9d3SPiotr Jasiukajtis #undef	HUGE_VALF
131*5b2ba9d3SPiotr Jasiukajtis #define	HUGE_VALF	__builtin_huge_valf
132*5b2ba9d3SPiotr Jasiukajtis #undef	HUGE_VALL
133*5b2ba9d3SPiotr Jasiukajtis #define	HUGE_VALL	__builtin_huge_vall
134*5b2ba9d3SPiotr Jasiukajtis #undef	INFINITY
135*5b2ba9d3SPiotr Jasiukajtis #define	INFINITY	__builtin_infinity
136*5b2ba9d3SPiotr Jasiukajtis #undef	NAN
137*5b2ba9d3SPiotr Jasiukajtis #define	NAN		__builtin_nan
138*5b2ba9d3SPiotr Jasiukajtis 
139*5b2ba9d3SPiotr Jasiukajtis /*
140*5b2ba9d3SPiotr Jasiukajtis  * C99 7.12.3 classification macros
141*5b2ba9d3SPiotr Jasiukajtis  */
142*5b2ba9d3SPiotr Jasiukajtis #undef	fpclassify
143*5b2ba9d3SPiotr Jasiukajtis #define	fpclassify(x)	__builtin_fpclassify(x)
144*5b2ba9d3SPiotr Jasiukajtis #undef	isfinite
145*5b2ba9d3SPiotr Jasiukajtis #define	isfinite(x)	__builtin_isfinite(x)
146*5b2ba9d3SPiotr Jasiukajtis #undef	isinf
147*5b2ba9d3SPiotr Jasiukajtis #define	isinf(x)	__builtin_isinf(x)
148*5b2ba9d3SPiotr Jasiukajtis #undef	isnan
149*5b2ba9d3SPiotr Jasiukajtis #define	isnan(x)	__builtin_isnan(x)
150*5b2ba9d3SPiotr Jasiukajtis #undef	isnormal
151*5b2ba9d3SPiotr Jasiukajtis #define	isnormal(x)	__builtin_isnormal(x)
152*5b2ba9d3SPiotr Jasiukajtis #undef	signbit
153*5b2ba9d3SPiotr Jasiukajtis #define	signbit(x)	__builtin_signbit(x)
154*5b2ba9d3SPiotr Jasiukajtis 
155*5b2ba9d3SPiotr Jasiukajtis /*
156*5b2ba9d3SPiotr Jasiukajtis  * C99 7.12.14 comparison macros
157*5b2ba9d3SPiotr Jasiukajtis  */
158*5b2ba9d3SPiotr Jasiukajtis #undef	isgreater
159*5b2ba9d3SPiotr Jasiukajtis #define	isgreater(x, y)		((x) __builtin_isgreater(y))
160*5b2ba9d3SPiotr Jasiukajtis #undef	isgreaterequal
161*5b2ba9d3SPiotr Jasiukajtis #define	isgreaterequal(x, y)	((x) __builtin_isgreaterequal(y))
162*5b2ba9d3SPiotr Jasiukajtis #undef	isless
163*5b2ba9d3SPiotr Jasiukajtis #define	isless(x, y)		((x) __builtin_isless(y))
164*5b2ba9d3SPiotr Jasiukajtis #undef	islessequal
165*5b2ba9d3SPiotr Jasiukajtis #define	islessequal(x, y)	((x) __builtin_islessequal(y))
166*5b2ba9d3SPiotr Jasiukajtis #undef	islessgreater
167*5b2ba9d3SPiotr Jasiukajtis #define	islessgreater(x, y)	((x) __builtin_islessgreater(y))
168*5b2ba9d3SPiotr Jasiukajtis #undef	isunordered
169*5b2ba9d3SPiotr Jasiukajtis #define	isunordered(x, y)	((x) __builtin_isunordered(y))
170*5b2ba9d3SPiotr Jasiukajtis #endif	/* defined(__GNUC__) */
171*5b2ba9d3SPiotr Jasiukajtis #endif	/* defined(_STDC_C99) || _XOPEN_SOURCE - 0 >= 600 || ... */
172*5b2ba9d3SPiotr Jasiukajtis 
173*5b2ba9d3SPiotr Jasiukajtis #if defined(__EXTENSIONS__) || defined(_STDC_C99) || \
174*5b2ba9d3SPiotr Jasiukajtis 	(!defined(_STRICT_STDC) && !defined(__XOPEN_OR_POSIX)) || \
175*5b2ba9d3SPiotr Jasiukajtis 	defined(__C99FEATURES__)
176*5b2ba9d3SPiotr Jasiukajtis #if defined(__FLT_EVAL_METHOD__) && __FLT_EVAL_METHOD__ - 0 == 0
177*5b2ba9d3SPiotr Jasiukajtis typedef float float_t;
178*5b2ba9d3SPiotr Jasiukajtis typedef double double_t;
179*5b2ba9d3SPiotr Jasiukajtis #elif __FLT_EVAL_METHOD__ - 0 == 1
180*5b2ba9d3SPiotr Jasiukajtis typedef double float_t;
181*5b2ba9d3SPiotr Jasiukajtis typedef double double_t;
182*5b2ba9d3SPiotr Jasiukajtis #elif __FLT_EVAL_METHOD__ - 0 == 2
183*5b2ba9d3SPiotr Jasiukajtis typedef long double float_t;
184*5b2ba9d3SPiotr Jasiukajtis typedef long double double_t;
185*5b2ba9d3SPiotr Jasiukajtis #elif defined(__sparc) || defined(__amd64)
186*5b2ba9d3SPiotr Jasiukajtis typedef float float_t;
187*5b2ba9d3SPiotr Jasiukajtis typedef double double_t;
188*5b2ba9d3SPiotr Jasiukajtis #elif defined(__i386)
189*5b2ba9d3SPiotr Jasiukajtis typedef long double float_t;
190*5b2ba9d3SPiotr Jasiukajtis typedef long double double_t;
191*5b2ba9d3SPiotr Jasiukajtis #endif
192*5b2ba9d3SPiotr Jasiukajtis 
193*5b2ba9d3SPiotr Jasiukajtis #undef	FP_ZERO
194*5b2ba9d3SPiotr Jasiukajtis #define	FP_ZERO		0
195*5b2ba9d3SPiotr Jasiukajtis #undef	FP_SUBNORMAL
196*5b2ba9d3SPiotr Jasiukajtis #define	FP_SUBNORMAL	1
197*5b2ba9d3SPiotr Jasiukajtis #undef	FP_NORMAL
198*5b2ba9d3SPiotr Jasiukajtis #define	FP_NORMAL	2
199*5b2ba9d3SPiotr Jasiukajtis #undef	FP_INFINITE
200*5b2ba9d3SPiotr Jasiukajtis #define	FP_INFINITE	3
201*5b2ba9d3SPiotr Jasiukajtis #undef	FP_NAN
202*5b2ba9d3SPiotr Jasiukajtis #define	FP_NAN		4
203*5b2ba9d3SPiotr Jasiukajtis 
204*5b2ba9d3SPiotr Jasiukajtis #undef	FP_ILOGB0
205*5b2ba9d3SPiotr Jasiukajtis #define	FP_ILOGB0	(-2147483647)
206*5b2ba9d3SPiotr Jasiukajtis #undef	FP_ILOGBNAN
207*5b2ba9d3SPiotr Jasiukajtis #define	FP_ILOGBNAN	2147483647
208*5b2ba9d3SPiotr Jasiukajtis 
209*5b2ba9d3SPiotr Jasiukajtis #undef	MATH_ERRNO
210*5b2ba9d3SPiotr Jasiukajtis #define	MATH_ERRNO	1
211*5b2ba9d3SPiotr Jasiukajtis #undef	MATH_ERREXCEPT
212*5b2ba9d3SPiotr Jasiukajtis #define	MATH_ERREXCEPT	2
213*5b2ba9d3SPiotr Jasiukajtis #undef	math_errhandling
214*5b2ba9d3SPiotr Jasiukajtis #define	math_errhandling	MATH_ERREXCEPT
215*5b2ba9d3SPiotr Jasiukajtis 
216*5b2ba9d3SPiotr Jasiukajtis extern double acosh __P((double));
217*5b2ba9d3SPiotr Jasiukajtis extern double asinh __P((double));
218*5b2ba9d3SPiotr Jasiukajtis extern double atanh __P((double));
219*5b2ba9d3SPiotr Jasiukajtis 
220*5b2ba9d3SPiotr Jasiukajtis extern double exp2 __P((double));
221*5b2ba9d3SPiotr Jasiukajtis extern double expm1 __P((double));
222*5b2ba9d3SPiotr Jasiukajtis extern int ilogb __P((double));
223*5b2ba9d3SPiotr Jasiukajtis extern double log1p __P((double));
224*5b2ba9d3SPiotr Jasiukajtis extern double log2 __P((double));
225*5b2ba9d3SPiotr Jasiukajtis extern double logb __P((double));
226*5b2ba9d3SPiotr Jasiukajtis extern double scalbn __P((double, int));
227*5b2ba9d3SPiotr Jasiukajtis extern double scalbln __P((double, long int));
228*5b2ba9d3SPiotr Jasiukajtis 
229*5b2ba9d3SPiotr Jasiukajtis extern double cbrt __P((double));
230*5b2ba9d3SPiotr Jasiukajtis extern double hypot __P((double, double));
231*5b2ba9d3SPiotr Jasiukajtis 
232*5b2ba9d3SPiotr Jasiukajtis extern double erf __P((double));
233*5b2ba9d3SPiotr Jasiukajtis extern double erfc __P((double));
234*5b2ba9d3SPiotr Jasiukajtis extern double lgamma __P((double));
235*5b2ba9d3SPiotr Jasiukajtis extern double tgamma __P((double));
236*5b2ba9d3SPiotr Jasiukajtis 
237*5b2ba9d3SPiotr Jasiukajtis extern double nearbyint __P((double));
238*5b2ba9d3SPiotr Jasiukajtis extern double rint __P((double));
239*5b2ba9d3SPiotr Jasiukajtis extern long int lrint __P((double));
240*5b2ba9d3SPiotr Jasiukajtis extern double round __P((double));
241*5b2ba9d3SPiotr Jasiukajtis extern long int lround __P((double));
242*5b2ba9d3SPiotr Jasiukajtis extern double trunc __P((double));
243*5b2ba9d3SPiotr Jasiukajtis 
244*5b2ba9d3SPiotr Jasiukajtis extern double remainder __P((double, double));
245*5b2ba9d3SPiotr Jasiukajtis extern double remquo __P((double, double, int *));
246*5b2ba9d3SPiotr Jasiukajtis 
247*5b2ba9d3SPiotr Jasiukajtis extern double copysign __P((double, double));
248*5b2ba9d3SPiotr Jasiukajtis extern double nan __P((const char *));
249*5b2ba9d3SPiotr Jasiukajtis extern double nextafter __P((double, double));
250*5b2ba9d3SPiotr Jasiukajtis extern double nexttoward __P((double, long double));
251*5b2ba9d3SPiotr Jasiukajtis 
252*5b2ba9d3SPiotr Jasiukajtis extern double fdim __P((double, double));
253*5b2ba9d3SPiotr Jasiukajtis extern double fmax __P((double, double));
254*5b2ba9d3SPiotr Jasiukajtis extern double fmin __P((double, double));
255*5b2ba9d3SPiotr Jasiukajtis 
256*5b2ba9d3SPiotr Jasiukajtis extern double fma __P((double, double, double));
257*5b2ba9d3SPiotr Jasiukajtis 
258*5b2ba9d3SPiotr Jasiukajtis extern float acosf __P((float));
259*5b2ba9d3SPiotr Jasiukajtis extern float asinf __P((float));
260*5b2ba9d3SPiotr Jasiukajtis extern float atanf __P((float));
261*5b2ba9d3SPiotr Jasiukajtis extern float atan2f __P((float, float));
262*5b2ba9d3SPiotr Jasiukajtis extern float cosf __P((float));
263*5b2ba9d3SPiotr Jasiukajtis extern float sinf __P((float));
264*5b2ba9d3SPiotr Jasiukajtis extern float tanf __P((float));
265*5b2ba9d3SPiotr Jasiukajtis 
266*5b2ba9d3SPiotr Jasiukajtis extern float acoshf __P((float));
267*5b2ba9d3SPiotr Jasiukajtis extern float asinhf __P((float));
268*5b2ba9d3SPiotr Jasiukajtis extern float atanhf __P((float));
269*5b2ba9d3SPiotr Jasiukajtis extern float coshf __P((float));
270*5b2ba9d3SPiotr Jasiukajtis extern float sinhf __P((float));
271*5b2ba9d3SPiotr Jasiukajtis extern float tanhf __P((float));
272*5b2ba9d3SPiotr Jasiukajtis 
273*5b2ba9d3SPiotr Jasiukajtis extern float expf __P((float));
274*5b2ba9d3SPiotr Jasiukajtis extern float exp2f __P((float));
275*5b2ba9d3SPiotr Jasiukajtis extern float expm1f __P((float));
276*5b2ba9d3SPiotr Jasiukajtis extern float frexpf __P((float, int *));
277*5b2ba9d3SPiotr Jasiukajtis extern int ilogbf __P((float));
278*5b2ba9d3SPiotr Jasiukajtis extern float ldexpf __P((float, int));
279*5b2ba9d3SPiotr Jasiukajtis extern float logf __P((float));
280*5b2ba9d3SPiotr Jasiukajtis extern float log10f __P((float));
281*5b2ba9d3SPiotr Jasiukajtis extern float log1pf __P((float));
282*5b2ba9d3SPiotr Jasiukajtis extern float log2f __P((float));
283*5b2ba9d3SPiotr Jasiukajtis extern float logbf __P((float));
284*5b2ba9d3SPiotr Jasiukajtis extern float modff __P((float, float *));
285*5b2ba9d3SPiotr Jasiukajtis extern float scalbnf __P((float, int));
286*5b2ba9d3SPiotr Jasiukajtis extern float scalblnf __P((float, long int));
287*5b2ba9d3SPiotr Jasiukajtis 
288*5b2ba9d3SPiotr Jasiukajtis extern float cbrtf __P((float));
289*5b2ba9d3SPiotr Jasiukajtis extern float fabsf __P((float));
290*5b2ba9d3SPiotr Jasiukajtis extern float hypotf __P((float, float));
291*5b2ba9d3SPiotr Jasiukajtis extern float powf __P((float, float));
292*5b2ba9d3SPiotr Jasiukajtis extern float sqrtf __P((float));
293*5b2ba9d3SPiotr Jasiukajtis 
294*5b2ba9d3SPiotr Jasiukajtis extern float erff __P((float));
295*5b2ba9d3SPiotr Jasiukajtis extern float erfcf __P((float));
296*5b2ba9d3SPiotr Jasiukajtis extern float lgammaf __P((float));
297*5b2ba9d3SPiotr Jasiukajtis extern float tgammaf __P((float));
298*5b2ba9d3SPiotr Jasiukajtis 
299*5b2ba9d3SPiotr Jasiukajtis extern float ceilf __P((float));
300*5b2ba9d3SPiotr Jasiukajtis extern float floorf __P((float));
301*5b2ba9d3SPiotr Jasiukajtis extern float nearbyintf __P((float));
302*5b2ba9d3SPiotr Jasiukajtis extern float rintf __P((float));
303*5b2ba9d3SPiotr Jasiukajtis extern long int lrintf __P((float));
304*5b2ba9d3SPiotr Jasiukajtis extern float roundf __P((float));
305*5b2ba9d3SPiotr Jasiukajtis extern long int lroundf __P((float));
306*5b2ba9d3SPiotr Jasiukajtis extern float truncf __P((float));
307*5b2ba9d3SPiotr Jasiukajtis 
308*5b2ba9d3SPiotr Jasiukajtis extern float fmodf __P((float, float));
309*5b2ba9d3SPiotr Jasiukajtis extern float remainderf __P((float, float));
310*5b2ba9d3SPiotr Jasiukajtis extern float remquof __P((float, float, int *));
311*5b2ba9d3SPiotr Jasiukajtis 
312*5b2ba9d3SPiotr Jasiukajtis extern float copysignf __P((float, float));
313*5b2ba9d3SPiotr Jasiukajtis extern float nanf __P((const char *));
314*5b2ba9d3SPiotr Jasiukajtis extern float nextafterf __P((float, float));
315*5b2ba9d3SPiotr Jasiukajtis extern float nexttowardf __P((float, long double));
316*5b2ba9d3SPiotr Jasiukajtis 
317*5b2ba9d3SPiotr Jasiukajtis extern float fdimf __P((float, float));
318*5b2ba9d3SPiotr Jasiukajtis extern float fmaxf __P((float, float));
319*5b2ba9d3SPiotr Jasiukajtis extern float fminf __P((float, float));
320*5b2ba9d3SPiotr Jasiukajtis 
321*5b2ba9d3SPiotr Jasiukajtis extern float fmaf __P((float, float, float));
322*5b2ba9d3SPiotr Jasiukajtis 
323*5b2ba9d3SPiotr Jasiukajtis extern long double acosl __P((long double));
324*5b2ba9d3SPiotr Jasiukajtis extern long double asinl __P((long double));
325*5b2ba9d3SPiotr Jasiukajtis extern long double atanl __P((long double));
326*5b2ba9d3SPiotr Jasiukajtis extern long double atan2l __P((long double, long double));
327*5b2ba9d3SPiotr Jasiukajtis extern long double cosl __P((long double));
328*5b2ba9d3SPiotr Jasiukajtis extern long double sinl __P((long double));
329*5b2ba9d3SPiotr Jasiukajtis extern long double tanl __P((long double));
330*5b2ba9d3SPiotr Jasiukajtis 
331*5b2ba9d3SPiotr Jasiukajtis extern long double acoshl __P((long double));
332*5b2ba9d3SPiotr Jasiukajtis extern long double asinhl __P((long double));
333*5b2ba9d3SPiotr Jasiukajtis extern long double atanhl __P((long double));
334*5b2ba9d3SPiotr Jasiukajtis extern long double coshl __P((long double));
335*5b2ba9d3SPiotr Jasiukajtis extern long double sinhl __P((long double));
336*5b2ba9d3SPiotr Jasiukajtis extern long double tanhl __P((long double));
337*5b2ba9d3SPiotr Jasiukajtis 
338*5b2ba9d3SPiotr Jasiukajtis extern long double expl __P((long double));
339*5b2ba9d3SPiotr Jasiukajtis extern long double exp2l __P((long double));
340*5b2ba9d3SPiotr Jasiukajtis extern long double expm1l __P((long double));
341*5b2ba9d3SPiotr Jasiukajtis extern long double frexpl __P((long double, int *));
342*5b2ba9d3SPiotr Jasiukajtis extern int ilogbl __P((long double));
343*5b2ba9d3SPiotr Jasiukajtis extern long double ldexpl __P((long double, int));
344*5b2ba9d3SPiotr Jasiukajtis extern long double logl __P((long double));
345*5b2ba9d3SPiotr Jasiukajtis extern long double log10l __P((long double));
346*5b2ba9d3SPiotr Jasiukajtis extern long double log1pl __P((long double));
347*5b2ba9d3SPiotr Jasiukajtis extern long double log2l __P((long double));
348*5b2ba9d3SPiotr Jasiukajtis extern long double logbl __P((long double));
349*5b2ba9d3SPiotr Jasiukajtis extern long double modfl __P((long double, long double *));
350*5b2ba9d3SPiotr Jasiukajtis extern long double scalbnl __P((long double, int));
351*5b2ba9d3SPiotr Jasiukajtis extern long double scalblnl __P((long double, long int));
352*5b2ba9d3SPiotr Jasiukajtis 
353*5b2ba9d3SPiotr Jasiukajtis extern long double cbrtl __P((long double));
354*5b2ba9d3SPiotr Jasiukajtis extern long double fabsl __P((long double));
355*5b2ba9d3SPiotr Jasiukajtis extern long double hypotl __P((long double, long double));
356*5b2ba9d3SPiotr Jasiukajtis extern long double powl __P((long double, long double));
357*5b2ba9d3SPiotr Jasiukajtis extern long double sqrtl __P((long double));
358*5b2ba9d3SPiotr Jasiukajtis 
359*5b2ba9d3SPiotr Jasiukajtis extern long double erfl __P((long double));
360*5b2ba9d3SPiotr Jasiukajtis extern long double erfcl __P((long double));
361*5b2ba9d3SPiotr Jasiukajtis extern long double lgammal __P((long double));
362*5b2ba9d3SPiotr Jasiukajtis extern long double tgammal __P((long double));
363*5b2ba9d3SPiotr Jasiukajtis 
364*5b2ba9d3SPiotr Jasiukajtis extern long double ceill __P((long double));
365*5b2ba9d3SPiotr Jasiukajtis extern long double floorl __P((long double));
366*5b2ba9d3SPiotr Jasiukajtis extern long double nearbyintl __P((long double));
367*5b2ba9d3SPiotr Jasiukajtis extern long double rintl __P((long double));
368*5b2ba9d3SPiotr Jasiukajtis extern long int lrintl __P((long double));
369*5b2ba9d3SPiotr Jasiukajtis extern long double roundl __P((long double));
370*5b2ba9d3SPiotr Jasiukajtis extern long int lroundl __P((long double));
371*5b2ba9d3SPiotr Jasiukajtis extern long double truncl __P((long double));
372*5b2ba9d3SPiotr Jasiukajtis 
373*5b2ba9d3SPiotr Jasiukajtis extern long double fmodl __P((long double, long double));
374*5b2ba9d3SPiotr Jasiukajtis extern long double remainderl __P((long double, long double));
375*5b2ba9d3SPiotr Jasiukajtis extern long double remquol __P((long double, long double, int *));
376*5b2ba9d3SPiotr Jasiukajtis 
377*5b2ba9d3SPiotr Jasiukajtis extern long double copysignl __P((long double, long double));
378*5b2ba9d3SPiotr Jasiukajtis extern long double nanl __P((const char *));
379*5b2ba9d3SPiotr Jasiukajtis extern long double nextafterl __P((long double, long double));
380*5b2ba9d3SPiotr Jasiukajtis extern long double nexttowardl __P((long double, long double));
381*5b2ba9d3SPiotr Jasiukajtis 
382*5b2ba9d3SPiotr Jasiukajtis extern long double fdiml __P((long double, long double));
383*5b2ba9d3SPiotr Jasiukajtis extern long double fmaxl __P((long double, long double));
384*5b2ba9d3SPiotr Jasiukajtis extern long double fminl __P((long double, long double));
385*5b2ba9d3SPiotr Jasiukajtis 
386*5b2ba9d3SPiotr Jasiukajtis extern long double fmal __P((long double, long double, long double));
387*5b2ba9d3SPiotr Jasiukajtis 
388*5b2ba9d3SPiotr Jasiukajtis #if !defined(_STRICT_STDC) && !defined(_NO_LONGLONG) || defined(_STDC_C99) || \
389*5b2ba9d3SPiotr Jasiukajtis 	defined(__C99FEATURES__)
390*5b2ba9d3SPiotr Jasiukajtis extern long long int llrint __P((double));
391*5b2ba9d3SPiotr Jasiukajtis extern long long int llround __P((double));
392*5b2ba9d3SPiotr Jasiukajtis 
393*5b2ba9d3SPiotr Jasiukajtis extern long long int llrintf __P((float));
394*5b2ba9d3SPiotr Jasiukajtis extern long long int llroundf __P((float));
395*5b2ba9d3SPiotr Jasiukajtis 
396*5b2ba9d3SPiotr Jasiukajtis extern long long int llrintl __P((long double));
397*5b2ba9d3SPiotr Jasiukajtis extern long long int llroundl __P((long double));
398*5b2ba9d3SPiotr Jasiukajtis #endif
399*5b2ba9d3SPiotr Jasiukajtis 
400*5b2ba9d3SPiotr Jasiukajtis #if !defined(__cplusplus)
401*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_read_global_data(asinh, exp2, expm1)
402*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_read_global_data(ilogb, log2)
403*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_read_global_data(scalbn, scalbln, cbrt)
404*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_read_global_data(erf, erfc, tgamma)
405*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_read_global_data(nearbyint, rint, lrint, round, lround, trunc)
406*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_read_global_data(remquo)
407*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_read_global_data(copysign, nan, nexttoward)
408*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_read_global_data(fdim, fmax, fmin, fma)
409*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_write_global_data(asinh, exp2, expm1)
410*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_write_global_data(ilogb, log2)
411*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_write_global_data(scalbn, scalbln, cbrt)
412*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_write_global_data(erf, erfc, tgamma)
413*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_write_global_data(nearbyint, rint, lrint, round, lround, trunc)
414*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_write_global_data(copysign, nan, nexttoward)
415*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_write_global_data(fdim, fmax, fmin, fma)
416*5b2ba9d3SPiotr Jasiukajtis 
417*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_read_global_data(acosf, asinf, atanf, atan2f)
418*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_read_global_data(cosf, sinf, tanf)
419*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_read_global_data(acoshf, asinhf, atanhf, coshf, sinhf, tanhf)
420*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_read_global_data(expf, exp2f, expm1f, frexpf, ilogbf, ldexpf)
421*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_read_global_data(logf, log10f, log1pf, log2f, logbf)
422*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_read_global_data(modff, scalbnf, scalblnf)
423*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_read_global_data(cbrtf, fabsf, hypotf, powf, sqrtf)
424*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_read_global_data(erff, erfcf, lgammaf, tgammaf)
425*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_read_global_data(ceilf, floorf, nearbyintf)
426*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_read_global_data(rintf, lrintf, roundf, lroundf, truncf)
427*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_read_global_data(fmodf, remainderf, remquof)
428*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_read_global_data(copysignf, nanf, nextafterf, nexttowardf)
429*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_read_global_data(fdimf, fmaxf, fminf, fmaf)
430*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_write_global_data(acosf, asinf, atanf, atan2f)
431*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_write_global_data(cosf, sinf, tanf)
432*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_write_global_data(acoshf, asinhf, atanhf, coshf, sinhf, tanhf)
433*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_write_global_data(expf, exp2f, expm1f, ilogbf, ldexpf)
434*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_write_global_data(logf, log10f, log1pf, log2f, logbf)
435*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_write_global_data(cbrtf, fabsf, hypotf, powf, sqrtf)
436*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_write_global_data(erff, erfcf, tgammaf)
437*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_write_global_data(ceilf, floorf, nearbyintf)
438*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_write_global_data(rintf, lrintf, roundf, lroundf, truncf)
439*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_write_global_data(fmodf, remainderf)
440*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_write_global_data(copysignf, nanf, nextafterf, nexttowardf)
441*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_write_global_data(fdimf, fmaxf, fminf, fmaf)
442*5b2ba9d3SPiotr Jasiukajtis 
443*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_read_global_data(acosl, asinl, atanl, atan2l)
444*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_read_global_data(cosl, sinl, tanl)
445*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_read_global_data(acoshl, asinhl, atanhl, coshl, sinhl, tanhl)
446*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_read_global_data(expl, exp2l, expm1l, frexpl, ilogbl, ldexpl)
447*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_read_global_data(logl, log10l, log1pl, log2l, logbl)
448*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_read_global_data(modfl, scalbnl, scalblnl)
449*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_read_global_data(cbrtl, fabsl, hypotl, powl, sqrtl)
450*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_read_global_data(erfl, erfcl, lgammal, tgammal)
451*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_read_global_data(ceill, floorl, nearbyintl)
452*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_read_global_data(rintl, lrintl, roundl, lroundl, truncl)
453*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_read_global_data(fmodl, remainderl, remquol)
454*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_read_global_data(copysignl, nanl, nextafterl, nexttowardl)
455*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_read_global_data(fdiml, fmaxl, fminl, fmal)
456*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_write_global_data(acosl, asinl, atanl, atan2l)
457*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_write_global_data(cosl, sinl, tanl)
458*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_write_global_data(acoshl, asinhl, atanhl, coshl, sinhl, tanhl)
459*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_write_global_data(expl, exp2l, expm1l, ilogbl, ldexpl)
460*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_write_global_data(logl, log10l, log1pl, log2l, logbl)
461*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_write_global_data(cbrtl, fabsl, hypotl, powl, sqrtl)
462*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_write_global_data(erfl, erfcl, tgammal)
463*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_write_global_data(ceill, floorl, nearbyintl)
464*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_write_global_data(rintl, lrintl, roundl, lroundl, truncl)
465*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_write_global_data(fmodl, remainderl)
466*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_write_global_data(copysignl, nanl, nextafterl, nexttowardl)
467*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_write_global_data(fdiml, fmaxl, fminl, fmal)
468*5b2ba9d3SPiotr Jasiukajtis 
469*5b2ba9d3SPiotr Jasiukajtis #if !defined(_STRICT_STDC) && !defined(_NO_LONGLONG) || defined(_STDC_C99) || \
470*5b2ba9d3SPiotr Jasiukajtis 	defined(__C99FEATURES__)
471*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_read_global_data(llrint, llround)
472*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_read_global_data(llrintf, llroundf, llrintl, llroundl)
473*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_write_global_data(llrint, llround)
474*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_write_global_data(llrintf, llroundf, llrintl, llroundl)
475*5b2ba9d3SPiotr Jasiukajtis #endif
476*5b2ba9d3SPiotr Jasiukajtis #endif	/* !defined(__cplusplus) */
477*5b2ba9d3SPiotr Jasiukajtis 
478*5b2ba9d3SPiotr Jasiukajtis #if defined(__MATHERR_ERRNO_DONTCARE)
479*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_read_global_data(acosh, atanh, hypot, lgamma, log1p, logb)
480*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_read_global_data(nextafter, remainder)
481*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_write_global_data(acosh, atanh, hypot, log1p, logb)
482*5b2ba9d3SPiotr Jasiukajtis #pragma does_not_write_global_data(nextafter, remainder)
483*5b2ba9d3SPiotr Jasiukajtis 
484*5b2ba9d3SPiotr Jasiukajtis #pragma no_side_effect(acosh, asinh, atanh, exp2, expm1)
485*5b2ba9d3SPiotr Jasiukajtis #pragma no_side_effect(ilogb, log1p, log2, logb)
486*5b2ba9d3SPiotr Jasiukajtis #pragma no_side_effect(scalbn, scalbln, cbrt, hypot)
487*5b2ba9d3SPiotr Jasiukajtis #pragma no_side_effect(erf, erfc, tgamma)
488*5b2ba9d3SPiotr Jasiukajtis #pragma no_side_effect(nearbyint, rint, lrint, round, lround, trunc)
489*5b2ba9d3SPiotr Jasiukajtis #pragma no_side_effect(remainder)
490*5b2ba9d3SPiotr Jasiukajtis #pragma no_side_effect(copysign, nan, nextafter, nexttoward)
491*5b2ba9d3SPiotr Jasiukajtis #pragma no_side_effect(fdim, fmax, fmin, fma)
492*5b2ba9d3SPiotr Jasiukajtis 
493*5b2ba9d3SPiotr Jasiukajtis #pragma no_side_effect(acosf, asinf, atanf, atan2f)
494*5b2ba9d3SPiotr Jasiukajtis #pragma no_side_effect(cosf, sinf, tanf, coshf, sinhf, tanhf)
495*5b2ba9d3SPiotr Jasiukajtis #pragma no_side_effect(acoshf, asinhf, atanhf, coshf, sinhf, tanhf)
496*5b2ba9d3SPiotr Jasiukajtis #pragma no_side_effect(expf, exp2f, expm1f, ilogbf, ldexpf)
497*5b2ba9d3SPiotr Jasiukajtis #pragma no_side_effect(logf, log10f, log1pf, log2f, logbf)
498*5b2ba9d3SPiotr Jasiukajtis #pragma no_side_effect(cbrtf, fabsf, hypotf, powf, sqrtf)
499*5b2ba9d3SPiotr Jasiukajtis #pragma no_side_effect(erff, erfcf, tgammaf)
500*5b2ba9d3SPiotr Jasiukajtis #pragma no_side_effect(ceilf, floorf, nearbyintf)
501*5b2ba9d3SPiotr Jasiukajtis #pragma no_side_effect(rintf, lrintf, roundf, lroundf, truncf)
502*5b2ba9d3SPiotr Jasiukajtis #pragma no_side_effect(fmodf, remainderf)
503*5b2ba9d3SPiotr Jasiukajtis #pragma no_side_effect(copysignf, nanf, nextafterf, nexttowardf)
504*5b2ba9d3SPiotr Jasiukajtis #pragma no_side_effect(fdimf, fmaxf, fminf, fmaf)
505*5b2ba9d3SPiotr Jasiukajtis 
506*5b2ba9d3SPiotr Jasiukajtis #pragma no_side_effect(acosl, asinl, atanl, atan2l)
507*5b2ba9d3SPiotr Jasiukajtis #pragma no_side_effect(cosl, sinl, tanl, coshl, sinhl, tanhl)
508*5b2ba9d3SPiotr Jasiukajtis #pragma no_side_effect(acoshl, asinhl, atanhl, coshl, sinhl, tanhl)
509*5b2ba9d3SPiotr Jasiukajtis #pragma no_side_effect(expl, exp2l, expm1l, ilogbl, ldexpl)
510*5b2ba9d3SPiotr Jasiukajtis #pragma no_side_effect(logl, log10l, log1pl, log2l, logbl)
511*5b2ba9d3SPiotr Jasiukajtis #pragma no_side_effect(cbrtl, fabsl, hypotl, powl, sqrtl)
512*5b2ba9d3SPiotr Jasiukajtis #pragma no_side_effect(erfl, erfcl, tgammal)
513*5b2ba9d3SPiotr Jasiukajtis #pragma no_side_effect(ceill, floorl, nearbyintl)
514*5b2ba9d3SPiotr Jasiukajtis #pragma no_side_effect(rintl, lrintl, roundl, lroundl, truncl)
515*5b2ba9d3SPiotr Jasiukajtis #pragma no_side_effect(fmodl, remainderl)
516*5b2ba9d3SPiotr Jasiukajtis #pragma no_side_effect(copysignl, nanl, nextafterl, nexttowardl)
517*5b2ba9d3SPiotr Jasiukajtis #pragma no_side_effect(fdiml, fmaxl, fminl, fmal)
518*5b2ba9d3SPiotr Jasiukajtis 
519*5b2ba9d3SPiotr Jasiukajtis #if !defined(_STRICT_STDC) && !defined(_NO_LONGLONG) || defined(_STDC_C99) || \
520*5b2ba9d3SPiotr Jasiukajtis 	defined(__C99FEATURES__)
521*5b2ba9d3SPiotr Jasiukajtis #pragma no_side_effect(llrint, llround, llrintf, llroundf, llrintl, llroundl)
522*5b2ba9d3SPiotr Jasiukajtis #endif
523*5b2ba9d3SPiotr Jasiukajtis #endif	/* defined(__MATHERR_ERRNO_DONTCARE) */
524*5b2ba9d3SPiotr Jasiukajtis #endif	/* defined(__EXTENSIONS__) || defined(_STDC_C99) || ... */
525*5b2ba9d3SPiotr Jasiukajtis 
526*5b2ba9d3SPiotr Jasiukajtis #ifdef __cplusplus
527*5b2ba9d3SPiotr Jasiukajtis }
528*5b2ba9d3SPiotr Jasiukajtis #endif
529*5b2ba9d3SPiotr Jasiukajtis 
530*5b2ba9d3SPiotr Jasiukajtis #endif	/* _ISO_MATH_C99_H */
531