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