1 /* Some constant values --  */
2 
3 #include "mconf.h"
4 /* Many of these values should ideally come from <float.h> or
5    <values.h>, which should be included in mconf.h if required */
6 
7 #ifdef DBL_EPSILON
8 double MACHEP =  DBL_EPSILON;
9 #else
10 double MACHEP =  1.11022302462515654042E-16;   /* 2**-53 */
11 #endif
12 
13 #if defined DBL_MIN
14 double UFLOWTHRESH = DBL_MIN;
15 #elif defined MINDOUBLE
16 double UFLOWTHRESH = MINDOUBLE;
17 #else
18 double UFLOWTHRESH =  2.22507385850720138309E-308; /* 2**-1022 */
19 #endif
20 
21 #ifdef DBL_MAX_10_EXP
22 double MAXLOG = DBL_MAX_10_EXP;
23 #else
24 double MAXLOG =  7.08396418532264106224E2;     /* log 2**1022 */
25 #endif
26 
27 #ifdef DBL_MIN_10_EXP
28 double MINLOG = DBL_MIN_10_EXP;
29 #else
30 double MINLOG = -7.08396418532264106224E2;     /* log 2**-1022 */
31 #endif
32 
33 #if defined MAXDOUBLE
34 double MAXNUM =  MAXDOUBLE;
35 #elif defined DBL_MAX
36 double MAXNUM =  DBL_MAX;
37 #else
38 double MAXNUM =  1.79769313486231570815E308;    /* 2**1024*(1-MACHEP) */
39 #endif
40 
41 #ifdef M_PI
42 #ifndef PI
43 double PI     =  M_PI;
44 #endif
45 double PIO2   =  M_PI/2;
46 double PIO4   =  M_PI/4;
47 double THPIO4 =  0.75*M_PI;
48 double TWOOPI =  2/M_PI;
49 #else
50 #ifndef PI
51 double PI     =  3.14159265358979323846;       /* pi */
52 #endif
53 double PIO2   =  1.57079632679489661923;       /* pi/2 */
54 double PIO4   =  7.85398163397448309616E-1;    /* pi/4 */
55 double THPIO4 =  2.35619449019234492885;       /* 3*pi/4 */
56 double TWOOPI =  6.36619772367581343075535E-1; /* 2/pi */
57 #endif
58 
59 #ifdef M_SQRT2
60 double SQRT2  =  M_SQRT2;       /* sqrt(2) */
61 double SQRTH  =  M_SQRT2/2;    /* sqrt(2)/2 */
62 #else
63 double SQRT2  =  1.41421356237309504880;       /* sqrt(2) */
64 double SQRTH  =  7.07106781186547524401E-1;    /* sqrt(2)/2 */
65 #endif
66 
67 double SQ2OPI =  7.9788456080286535587989E-1;  /* sqrt( 2/pi ) */
68 
69 #ifdef M_LN2
70 double LOGE2  =  M_LN2;
71 double LOGSQ2 =  M_LN2/2;    /* log(2)/2 */
72 double LOG2E  =  1/M_LN2;     /* 1/log(2) */
73 #else
74 double LOGE2  =  6.93147180559945309417E-1;    /* log(2) */
75 double LOGSQ2 =  3.46573590279972654709E-1;    /* log(2)/2 */
76 double LOG2E  =  1.4426950408889634073599;     /* 1/log(2) */
77 #endif
78 
79 
80 
81