| OLD | NEW |
| 1 /* origin: FreeBSD /usr/src/lib/msun/src/math_private.h */ | 1 /* origin: FreeBSD /usr/src/lib/msun/src/math_private.h */ |
| 2 /* | 2 /* |
| 3 * ==================================================== | 3 * ==================================================== |
| 4 * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. | 4 * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. |
| 5 * | 5 * |
| 6 * Developed at SunPro, a Sun Microsystems, Inc. business. | 6 * Developed at SunPro, a Sun Microsystems, Inc. business. |
| 7 * Permission to use, copy, modify, and distribute this | 7 * Permission to use, copy, modify, and distribute this |
| 8 * software is freely granted, provided that this notice | 8 * software is freely granted, provided that this notice |
| 9 * is preserved. | 9 * is preserved. |
| 10 * ==================================================== | 10 * ==================================================== |
| 11 */ | 11 */ |
| 12 | 12 |
| 13 #ifndef _LIBM_H | 13 #ifndef _LIBM_H |
| 14 #define _LIBM_H | 14 #define _LIBM_H |
| 15 | 15 |
| 16 #include <stdint.h> | 16 #include <stdint.h> |
| 17 #include <float.h> | 17 #include <float.h> |
| 18 #include <math.h> | 18 #include <math.h> |
| 19 #include <complex.h> | 19 #include <complex.h> |
| 20 #include <endian.h> | 20 #include <endian.h> |
| 21 | 21 |
| 22 /* Clang does not support the C99 rounding mode pragma. Support seems |
| 23 * unlikely to be coming soon, but for reference the clang/llvm bug |
| 24 * tracking this fact may be found at: |
| 25 * https://llvm.org/bugs/show_bug.cgi?id=8100 */ |
| 26 #ifdef __clang__ |
| 27 #define PRAGMA_STDC_FENV_ACCESS_ON |
| 28 #else |
| 29 #define PRAGMA_STDC_FENV_ACCESS_ON _Pragma("STDC FENV_ACCESS ON") |
| 30 #endif |
| 31 |
| 22 #if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024 | 32 #if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024 |
| 23 #elif LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384 && __BYTE_ORDER == __LITTLE_E
NDIAN | 33 #elif LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384 && __BYTE_ORDER == __LITTLE_E
NDIAN |
| 24 union ldshape { | 34 union ldshape { |
| 25 long double f; | 35 long double f; |
| 26 struct { | 36 struct { |
| 27 uint64_t m; | 37 uint64_t m; |
| 28 uint16_t se; | 38 uint16_t se; |
| 29 } i; | 39 } i; |
| 30 }; | 40 }; |
| 31 #elif LDBL_MANT_DIG == 113 && LDBL_MAX_EXP == 16384 && __BYTE_ORDER == __LITTLE_
ENDIAN | 41 #elif LDBL_MANT_DIG == 113 && LDBL_MAX_EXP == 16384 && __BYTE_ORDER == __LITTLE_
ENDIAN |
| (...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 175 int __rem_pio2l(long double, long double *); | 185 int __rem_pio2l(long double, long double *); |
| 176 long double __sinl(long double, long double, int); | 186 long double __sinl(long double, long double, int); |
| 177 long double __cosl(long double, long double); | 187 long double __cosl(long double, long double); |
| 178 long double __tanl(long double, long double, int); | 188 long double __tanl(long double, long double, int); |
| 179 | 189 |
| 180 /* polynomial evaluation */ | 190 /* polynomial evaluation */ |
| 181 long double __polevll(long double, const long double *, int); | 191 long double __polevll(long double, const long double *, int); |
| 182 long double __p1evll(long double, const long double *, int); | 192 long double __p1evll(long double, const long double *, int); |
| 183 | 193 |
| 184 #endif | 194 #endif |
| OLD | NEW |