Unified · Split
| @@ -198,12 +198,6 @@ extern "C" { · 197 unmodified lines | |||
| 198 | #endif | 198 | #endif |
| 199 | 199 | ||
| 200 | #ifndef __cplusplus | 200 | #ifndef __cplusplus |
| 201 | __CRT_INLINE long double __cdecl fabsl (long double x) | ||
| 202 | { | ||
| 203 | long double res; | ||
| 204 | __asm__ ("fabs;" : "=t" (res) : "0" (x)); | ||
| 205 | return res; | ||
| 206 | } | ||
| 207 | #define _hypotl(x,y) ((long double)_hypot((double)(x),(double)(y))) | 201 | #define _hypotl(x,y) ((long double)_hypot((double)(x),(double)(y))) |
| 208 | #define _matherrl _matherr | 202 | #define _matherrl _matherr |
| 209 | __CRT_INLINE long double _chgsignl(long double _Number) { return _chgsign((double)(_Number)); } | 203 | __CRT_INLINE long double _chgsignl(long double _Number) { return _chgsign((double)(_Number)); } |
| @@ -211,14 +205,31 @@ extern "C" { · 1 unmodified line | |||
| 211 | __CRT_INLINE float frexpf(float _X,int *_Y) { return ((float)frexp((double)_X,_Y)); } | 205 | __CRT_INLINE float frexpf(float _X,int *_Y) { return ((float)frexp((double)_X,_Y)); } |
| 212 | 206 | ||
| 213 | #if !defined (__ia64__) | 207 | #if !defined (__ia64__) |
| 214 | __CRT_INLINE float __cdecl fabsf (float x) | 208 | __CRT_INLINE float fabsf(float x) { return (float) fabs(x); } |
| 215 | { | 209 | __CRT_INLINE float ldexpf(float x, int expn) { return (float) ldexp(x, expn); } |
| 216 | float res; | 210 | __CRT_INLINE float acosf(float x) { return (float) acos(x); } |
| 217 | __asm__ ("fabs;" : "=t" (res) : "0" (x)); | 211 | __CRT_INLINE float asinf(float x) { return (float) asin(x); } |
| 218 | return res; | 212 | __CRT_INLINE float atanf(float x) { return (float) atan(x); } |
| 213 | __CRT_INLINE float atan2f(float x, float y) { return (float) atan2(x, y); } | ||
| 214 | __CRT_INLINE float ceilf(float x) { return (float) ceil(x); } | ||
| 215 | __CRT_INLINE float cosf(float x) { return (float) cos(x); } | ||
| 216 | __CRT_INLINE float coshf(float x) { return (float) cosh(x); } | ||
| 217 | __CRT_INLINE float expf(float x) { return (float) exp(x); } | ||
| 218 | __CRT_INLINE float floorf(float x) { return (float) floor(x); } | ||
| 219 | __CRT_INLINE float fmodf(float x, float y) { return (float) fmod(x, y); } | ||
| 220 | __CRT_INLINE float logf(float x) { return (float) log(x); } | ||
| 221 | __CRT_INLINE float logbf(float x) { return (float) logb(x); } | ||
| 222 | __CRT_INLINE float log10f(float x) { return (float) log10(x); } | ||
| 223 | __CRT_INLINE float modff(float x, float *y) { | ||
| 224 | double di, df = modf(x, &di); | ||
| 225 | *y = (float) di; return (float) df; | ||
| 219 | } | 226 | } |
| 220 | 227 | __CRT_INLINE float powf(float x, float y) { return (float) pow(x, y); } | |
| 221 | __CRT_INLINE float __cdecl ldexpf (float x, int expn) { return (float) ldexp (x, expn); } | 228 | __CRT_INLINE float sinf(float x) { return (float) sin(x); } |
| 229 | __CRT_INLINE float sinhf(float x) { return (float) sinh(x); } | ||
| 230 | __CRT_INLINE float sqrtf(float x) { return (float) sqrt(x); } | ||
| 231 | __CRT_INLINE float tanf(float x) { return (float) tan(x); } | ||
| 232 | __CRT_INLINE float tanhf(float x) { return (float) tanh(x); } | ||
| 222 | #endif | 233 | #endif |
| 223 | #else | 234 | #else |
| 224 | // cplusplus | 235 | // cplusplus |
| @@ -366,31 +377,6 @@ extern "C" { · 141 unmodified lines | |||
| 366 | extern double __cdecl logb (double); | 377 | extern double __cdecl logb (double); |
| 367 | extern float __cdecl logbf (float); | 378 | extern float __cdecl logbf (float); |
| 368 | extern long double __cdecl logbl (long double); | 379 | extern long double __cdecl logbl (long double); |
| 369 | |||
| 370 | __CRT_INLINE double __cdecl logb (double x) | ||
| 371 | { | ||
| 372 | double res; | ||
| 373 | __asm__ ("fxtract\n\t" | ||
| 374 | "fstp %%st" : "=t" (res) : "0" (x)); | ||
| 375 | return res; | ||
| 376 | } | ||
| 377 | |||
| 378 | __CRT_INLINE float __cdecl logbf (float x) | ||
| 379 | { | ||
| 380 | float res; | ||
| 381 | __asm__ ("fxtract\n\t" | ||
| 382 | "fstp %%st" : "=t" (res) : "0" (x)); | ||
| 383 | return res; | ||
| 384 | } | ||
| 385 | |||
| 386 | __CRT_INLINE long double __cdecl logbl (long double x) | ||
| 387 | { | ||
| 388 | long double res; | ||
| 389 | __asm__ ("fxtract\n\t" | ||
| 390 | "fstp %%st" : "=t" (res) : "0" (x)); | ||
| 391 | return res; | ||
| 392 | } | ||
| 393 | |||
| 394 | extern long double __cdecl modfl (long double, long double*); | 380 | extern long double __cdecl modfl (long double, long double*); |
| 395 | 381 | ||
| 396 | /* 7.12.6.13 */ | 382 | /* 7.12.6.13 */ |