37 #ifndef BGEOT_CONFIG_H__
38 #define BGEOT_CONFIG_H__
40 #include "gmm/gmm_arch_config.h"
41 #include "getfem/getfem_arch_config.h"
43 #if defined(GETFEM_HAVE_FEENABLEEXCEPT)
45 # define FE_ENABLE_EXCEPT { feenableexcept(FE_DIVBYZERO | FE_INVALID | FE_OVERFLOW); }
47 # define FE_ENABLE_EXCEPT {}
54 #if defined(GETFEM_HAVE_QDLIB)
56 # if defined(GETFEM_QDLIB_USE_QUAD)
57 # include <qd/qd_real.h>
59 # include <qd/dd_real.h>
67 using std::endl;
using std::cout;
using std::cerr;
68 using std::ends;
using std::cin;
71 static const size_t ST_NIL = size_t(-1);
72 typedef gmm::uint16_type dim_type;
75 typedef double scalar_type;
76 typedef std::complex<double> complex_type;
77 inline double to_double(
double &a) {
return a; }
78 inline scalar_type to_scalar(
const scalar_type &a) {
return a; }
80 #ifndef GETFEM_HAVE_QDLIB
81 typedef double long_scalar_type;
82 typedef double opt_long_scalar_type;
83 # define LONG_SCALAR_ATOF(st) (atof(st))
84 # define LONG_SCALAR_EPS 1E-16
85 # define LONG_SCAL(xx) long_scalar_type(xx)
87 # if defined(GETFEM_QDLIB_USE_QUAD)
88 typedef qd_real long_scalar_type;
89 typedef qd_real opt_long_scalar_type;
90 inline scalar_type to_scalar(
const qd_real &a) {
return to_double(a); }
91 # define LONG_SCALAR_ATOF(st) (long_scalar_type(st))
92 # define LONG_SCALAR_EPS 1E-64
94 typedef dd_real long_scalar_type;
95 typedef dd_real opt_long_scalar_type;
96 inline scalar_type to_scalar(
const dd_real &a) {
return to_double(a); }
97 # define LONG_SCALAR_ATOF(st) (long_scalar_type(st))
98 # define LONG_SCALAR_EPS 1E-32
100 # define LONG_SCAL(xx) long_scalar_type(#xx)
103 typedef std::vector<scalar_type> base_vector;
104 typedef std::vector<complex_type> base_complex_vector;
105 typedef gmm::dense_matrix<scalar_type> base_matrix;
106 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