1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101
|
/* Copyright (C) 1993 Olaf Flebbe
EXPERIMENTAL IMPLEMENTATION OF proposals of the NCEG
*/
#ifndef _FP_H
#define _FP_H
#define float_t long double
#define double_t long double
#define HUGE_VALL INFINITYL
#define FP_NAN 1
#define FP_INFINITE 2
#define FP_NORMAL 3
#define FP_SUBNORMAL 4
#define FP_ZERO 5
#define fpclassify(x) ((sizeof(x) == sizeof(float)) ? fpclassifyf(x) \
: (sizeof(x) == sizeof(double)) ? fpclassifyd(x) \
: fpclassifyl(x))
#define signbit(x) ( x < 0 ? 1 : 0)
#define isfinite( x) ( int ___x = fpclassify( x); \
!( ___x==FP_NAN || ___x==FP_INFINITE))
#define isnormal(x) (fpclassify( x) == FP_NORMAL)
#define isnanl(x) (fpclassifyl( x) == FP_NAN)
#define isinfl(x) (fpclassifyl( x) == FP_INFINITE)
#define DECIMAL_DIGIT 19
long double acoshl( long double _x);
long double acosl ( long double _x);
long double asinhl ( long double _x);
long double asinl ( long double _x);
long double atanl ( long double _x);
long double atan2l( long double _x, long double _y);
long double atanhl( long double _x);
long double fabsl ( long double _x);
long double floorl( long double _x);
long double fmodl ( long double _x, long double _y);
long double hypotl( long double _x, long double _y);
long double sqrtl ( long double _x);
long double sinl ( long double _x);
long double logl ( long double _x);
long double expl ( long double _x);
int fpclassifyf( float _x);
int fpclassifyd( double _x);
int fpclassifyl( long double _x);
#ifndef M_E
#define M_E 2.7182818284590452354l
#endif
#ifndef M_LOG2E
#define M_LOG2E 1.4426950408889634074l
#endif
#ifndef M_LOG10E
#define M_LOG10E 0.43429448190325182765l
#endif
#ifndef M_LN2
#define M_LN2 0.69314718055994530942l
#endif
#ifndef M_LN10
#define M_LN10 2.30258509299404568402l
#endif
#ifndef M_PI
#define M_PI 3.14159265358979323846l
#endif
#ifndef M_PI_2
#define M_PI_2 1.57079632679489661923l
#endif
#ifndef M_1_PI
#define M_1_PI 0.31830988618379067154l
#endif
#ifndef M_PI_4
#define M_PI_4 0.78539816339744830962l
#endif
#ifndef M_2_PI
#define M_2_PI 0.63661977236758134308l
#endif
#ifndef M_2_SQRTPI
#define M_2_SQRTPI 1.12837916709551257390l
#endif
#ifndef M_SQRT2
#define M_SQRT2 1.41421356237309504880l
#endif
#ifndef M_SQRT1_2
#define M_SQRT1_2 0.70710678118654752440l
#endif
/* private definition */
long double __infnanl( int error);
#endif
|