36 #ifndef BGEOT_CONFIG_H__
37 #define BGEOT_CONFIG_H__
39 #include "gmm/gmm_arch_config.h"
40 #include "getfem/getfem_arch_config.h"
42 #if defined(GETFEM_HAVE_FEENABLEEXCEPT)
44 # define FE_ENABLE_EXCEPT { feenableexcept(FE_DIVBYZERO | FE_INVALID | FE_OVERFLOW); }
46 # define FE_ENABLE_EXCEPT {}
53 #if defined(GETFEM_HAVE_QDLIB)
55 # if defined(GETFEM_QDLIB_USE_QUAD)
56 # include <qd/qd_real.h>
58 # include <qd/dd_real.h>
66 using std::endl;
using std::cout;
using std::cerr;
67 using std::ends;
using std::cin;
70 static const size_t ST_NIL = size_t(-1);
71 typedef gmm::uint16_type dim_type;
74 typedef double scalar_type;
75 typedef std::complex<double> complex_type;
76 inline double to_double(
double &a) {
return a; }
77 inline scalar_type to_scalar(
const scalar_type &a) {
return a; }
79 #ifndef GETFEM_HAVE_QDLIB
80 typedef double long_scalar_type;
81 typedef double opt_long_scalar_type;
82 # define LONG_SCALAR_ATOF(st) (atof(st))
83 # define LONG_SCALAR_EPS 1E-16
84 # define LONG_SCAL(xx) long_scalar_type(xx)
86 # if defined(GETFEM_QDLIB_USE_QUAD)
87 typedef qd_real long_scalar_type;
88 typedef qd_real opt_long_scalar_type;
89 inline scalar_type to_scalar(
const qd_real &a) {
return to_double(a); }
90 # define LONG_SCALAR_ATOF(st) (long_scalar_type(st))
91 # define LONG_SCALAR_EPS 1E-64
93 typedef dd_real long_scalar_type;
94 typedef dd_real opt_long_scalar_type;
95 inline scalar_type to_scalar(
const dd_real &a) {
return to_double(a); }
96 # define LONG_SCALAR_ATOF(st) (long_scalar_type(st))
97 # define LONG_SCALAR_EPS 1E-32
99 # define LONG_SCAL(xx) long_scalar_type(#xx)
102 typedef std::vector<scalar_type> base_vector;
103 typedef std::vector<complex_type> base_complex_vector;
104 typedef gmm::dense_matrix<scalar_type> base_matrix;
105 typedef gmm::dense_matrix<complex_type> base_complex_matrix;
defines and typedefs for namespace dal
LU factorizations and determinant computation for dense matrices.
Include the base gmm files.
gmm::uint16_type short_type
used as the common short type integer in the library
size_t size_type
used as the common size type in the library