1 #include <flens/lapack/interface/include/config.h>
2 #include <flens/flens.cxx>
3
4 namespace flens { namespace lapack {
5
6 extern "C" {
7
8 MachineParameter
9 _getMachineParameter(const char c)
10 {
11 MachineParameter machineParameter;
12
13 switch (c) {
14 case 'E':
15 case 'e': machineParameter = Eps;
16 break;
17 case 'S':
18 case 's': machineParameter = SafeMin;
19 break;
20 case 'B':
21 case 'b': machineParameter = Base;
22 break;
23 case 'P':
24 case 'p': machineParameter = Precision;
25 break;
26 case 'N':
27 case 'n': machineParameter = Mantissa;
28 break;
29 case 'R':
30 case 'r': machineParameter = Rounding;
31 break;
32 case 'M':
33 case 'm': machineParameter = UnderflowExp;
34 break;
35 case 'U':
36 case 'u': machineParameter = UnderflowThreshold;
37 break;
38 case 'L':
39 case 'l': machineParameter = OverflowExp;
40 break;
41 case 'O':
42 case 'o': machineParameter = OverflowThreshold;
43 break;
44 default: ASSERT(0);
45 }
46 return machineParameter;
47 }
48
49 //-- dlamch --------------------------------------------------------------------
50 DOUBLE
51 LAPACK_DECL(dlamch)(const char *c)
52 {
53 DEBUG_FLENS_LAPACK("dlamch");
54 return lamch<DOUBLE>(_getMachineParameter(*c));
55 }
56
57 } // extern "C"
58
59 } } // namespace lapack, flens
2 #include <flens/flens.cxx>
3
4 namespace flens { namespace lapack {
5
6 extern "C" {
7
8 MachineParameter
9 _getMachineParameter(const char c)
10 {
11 MachineParameter machineParameter;
12
13 switch (c) {
14 case 'E':
15 case 'e': machineParameter = Eps;
16 break;
17 case 'S':
18 case 's': machineParameter = SafeMin;
19 break;
20 case 'B':
21 case 'b': machineParameter = Base;
22 break;
23 case 'P':
24 case 'p': machineParameter = Precision;
25 break;
26 case 'N':
27 case 'n': machineParameter = Mantissa;
28 break;
29 case 'R':
30 case 'r': machineParameter = Rounding;
31 break;
32 case 'M':
33 case 'm': machineParameter = UnderflowExp;
34 break;
35 case 'U':
36 case 'u': machineParameter = UnderflowThreshold;
37 break;
38 case 'L':
39 case 'l': machineParameter = OverflowExp;
40 break;
41 case 'O':
42 case 'o': machineParameter = OverflowThreshold;
43 break;
44 default: ASSERT(0);
45 }
46 return machineParameter;
47 }
48
49 //-- dlamch --------------------------------------------------------------------
50 DOUBLE
51 LAPACK_DECL(dlamch)(const char *c)
52 {
53 DEBUG_FLENS_LAPACK("dlamch");
54 return lamch<DOUBLE>(_getMachineParameter(*c));
55 }
56
57 } // extern "C"
58
59 } } // namespace lapack, flens