37 #ifndef BGEOT_CONFIG_H__ 38 #define BGEOT_CONFIG_H__ 40 #include "getfem/getfem_arch_config.h" 42 #ifdef GETFEM_HAVE_FEENABLEEXCEPT 44 # define FE_ENABLE_EXCEPT { feenableexcept(FE_DIVBYZERO | FE_INVALID | FE_OVERFLOW); } 46 # define FE_ENABLE_EXCEPT {} 53 #ifdef GETFEM_HAVE_BOOST 54 # include <boost/version.hpp> 55 # include <boost/noncopyable.hpp> 57 # include <getfem_boost/noncopyable.hpp> 60 #ifdef GETFEM_HAVE_QDLIB 62 # ifdef GETFEM_QDLIB_USE_QUAD 63 # include <qd/qd_real.h> 65 # include <qd/dd_real.h> 73 using std::endl;
using std::cout;
using std::cerr;
74 using std::ends;
using std::cin;
77 static const size_t ST_NIL = size_t(-1);
78 typedef gmm::uint16_type dim_type;
81 typedef double scalar_type;
82 typedef std::complex<double> complex_type;
83 inline double to_double(
double &a) {
return a; }
84 inline scalar_type to_scalar(
const scalar_type &a) {
return a; }
86 #ifndef GETFEM_HAVE_QDLIB 87 typedef double long_scalar_type;
88 typedef double opt_long_scalar_type;
89 # define LONG_SCALAR_ATOF(st) (atof(st)) 90 # define LONG_SCALAR_EPS 1E-16 91 # define LONG_SCAL(xx) long_scalar_type(xx) 93 # ifdef GETFEM_QDLIB_USE_QUAD 94 typedef qd_real long_scalar_type;
95 typedef qd_real opt_long_scalar_type;
96 inline scalar_type to_scalar(
const qd_real &a) {
return to_double(a); }
97 # define LONG_SCALAR_ATOF(st) (long_scalar_type(st)) 98 # define LONG_SCALAR_EPS 1E-64 100 typedef dd_real long_scalar_type;
101 typedef dd_real opt_long_scalar_type;
102 inline scalar_type to_scalar(
const dd_real &a) {
return to_double(a); }
103 # define LONG_SCALAR_ATOF(st) (long_scalar_type(st)) 104 # define LONG_SCALAR_EPS 1E-32 106 # define LONG_SCAL(xx) long_scalar_type(#xx) 109 typedef std::vector<scalar_type> base_vector;
110 typedef std::vector<complex_type> base_complex_vector;
111 typedef gmm::dense_matrix<scalar_type> base_matrix;
112 typedef gmm::dense_matrix<complex_type> base_complex_matrix;
defines and typedefs for namespace dal
size_t size_type
used as the common size type in the library
Include the base gmm files.
gmm::uint16_type short_type
used as the common short type integer in the library
LU factorizations and determinant computation for dense matrices.