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