1 /* Author:  B. Gough and G. Jungman */
2 #ifndef __GSL_MACHINE_H__
3 #define __GSL_MACHINE_H__
4 
5 #include <limits.h>
6 #include <float.h>
7 
8 /* magic constants; mostly for the benefit of the implementation */
9 
10 /* -*-MACHINE CONSTANTS-*-
11  *
12  * PLATFORM: Whiz-O-Matic 9000
13  * FP_PLATFORM: IEEE-Virtual
14  * HOSTNAME: nnn.lanl.gov
15  * DATE: Fri Nov 20 17:53:26 MST 1998
16  */
17 #define GSL_DBL_EPSILON 2.2204460492503131e-16
18 #define GSL_SQRT_DBL_EPSILON 1.4901161193847656e-08
19 #define GSL_ROOT3_DBL_EPSILON 6.0554544523933429e-06
20 #define GSL_ROOT4_DBL_EPSILON 1.2207031250000000e-04
21 #define GSL_ROOT5_DBL_EPSILON 7.4009597974140505e-04
22 #define GSL_ROOT6_DBL_EPSILON 2.4607833005759251e-03
23 #define GSL_LOG_DBL_EPSILON (-3.6043653389117154e+01)
24 
25 #define GSL_DBL_MIN 2.2250738585072014e-308
26 #define GSL_SQRT_DBL_MIN 1.4916681462400413e-154
27 #define GSL_ROOT3_DBL_MIN 2.8126442852362996e-103
28 #define GSL_ROOT4_DBL_MIN 1.2213386697554620e-77
29 #define GSL_ROOT5_DBL_MIN 2.9476022969691763e-62
30 #define GSL_ROOT6_DBL_MIN 5.3034368905798218e-52
31 #define GSL_LOG_DBL_MIN (-7.0839641853226408e+02)
32 
33 #define GSL_DBL_MAX 1.7976931348623157e+308
34 #define GSL_SQRT_DBL_MAX 1.3407807929942596e+154
35 #define GSL_ROOT3_DBL_MAX 5.6438030941222897e+102
36 #define GSL_ROOT4_DBL_MAX 1.1579208923731620e+77
37 #define GSL_ROOT5_DBL_MAX 4.4765466227572707e+61
38 #define GSL_ROOT6_DBL_MAX 2.3756689782295612e+51
39 #define GSL_LOG_DBL_MAX 7.0978271289338397e+02
40 
41 #define GSL_FLT_EPSILON 1.1920928955078125e-07
42 #define GSL_SQRT_FLT_EPSILON 3.4526698300124393e-04
43 #define GSL_ROOT3_FLT_EPSILON 4.9215666011518501e-03
44 #define GSL_ROOT4_FLT_EPSILON 1.8581361171917516e-02
45 #define GSL_ROOT5_FLT_EPSILON 4.1234622211652937e-02
46 #define GSL_ROOT6_FLT_EPSILON 7.0153878019335827e-02
47 #define GSL_LOG_FLT_EPSILON (-1.5942385152878742e+01)
48 
49 #define GSL_FLT_MIN 1.1754943508222875e-38
50 #define GSL_SQRT_FLT_MIN 1.0842021724855044e-19
51 #define GSL_ROOT3_FLT_MIN 2.2737367544323241e-13
52 #define GSL_ROOT4_FLT_MIN 3.2927225399135965e-10
53 #define GSL_ROOT5_FLT_MIN 2.5944428542140822e-08
54 #define GSL_ROOT6_FLT_MIN 4.7683715820312542e-07
55 #define GSL_LOG_FLT_MIN (-8.7336544750553102e+01)
56 
57 #define GSL_FLT_MAX 3.4028234663852886e+38
58 #define GSL_SQRT_FLT_MAX 1.8446743523953730e+19
59 #define GSL_ROOT3_FLT_MAX 6.9814635196223242e+12
60 #define GSL_ROOT4_FLT_MAX 4.2949672319999986e+09
61 #define GSL_ROOT5_FLT_MAX 5.0859007855960041e+07
62 #define GSL_ROOT6_FLT_MAX 2.6422459233807749e+06
63 #define GSL_LOG_FLT_MAX 8.8722839052068352e+01
64 
65 #define GSL_SFLT_EPSILON 4.8828125000000000e-04
66 #define GSL_SQRT_SFLT_EPSILON 2.2097086912079612e-02
67 #define GSL_ROOT3_SFLT_EPSILON 7.8745065618429588e-02
68 #define GSL_ROOT4_SFLT_EPSILON 1.4865088937534013e-01
69 #define GSL_ROOT5_SFLT_EPSILON 2.1763764082403100e-01
70 #define GSL_ROOT6_SFLT_EPSILON 2.8061551207734325e-01
71 #define GSL_LOG_SFLT_EPSILON (-7.6246189861593985e+00)
72 
73 /* !MACHINE CONSTANTS! */
74 
75 /* a little internal backwards compatibility */
76 #define GSL_MACH_EPS GSL_DBL_EPSILON
77 
78 /* Here are the constants related to or derived from
79  * machine constants. These are not to be confused with
80  * the constants that define various precision levels
81  * for the precision/error system.
82  *
83  * This information is determined at configure time
84  * and is platform dependent. Edit at your own risk.
85  *
86  * PLATFORM: WHIZ-O-MATIC
87  * CONFIG-DATE: Thu Nov 19 19:27:18 MST 1998
88  * CONFIG-HOST: nnn.lanl.gov
89  */
90 
91 /* machine precision constants */
92 /* #define GSL_MACH_EPS         1.0e-15 */
93 #define GSL_SQRT_MACH_EPS 3.2e-08
94 #define GSL_ROOT3_MACH_EPS 1.0e-05
95 #define GSL_ROOT4_MACH_EPS 0.000178
96 #define GSL_ROOT5_MACH_EPS 0.00100
97 #define GSL_ROOT6_MACH_EPS 0.00316
98 #define GSL_LOG_MACH_EPS (-34.54)
99 
100 #endif /* __GSL_MACHINE_H__ */
101