boostmultiprec.cpp File Reference
#include <sstream>
#include <Eigen/Dense>
#include <boost/serialization/nvp.hpp>
#include <boost/multiprecision/cpp_dec_float.hpp>
#include <boost/multiprecision/number.hpp>
#include <boost/math/special_functions.hpp>
#include <boost/math/complex.hpp>

Classes

struct  Eigen::NumTraits< Real >
 
struct  Eigen::NumTraits< boost::multiprecision::detail::expression< T1, T2, T3, T4, T5 > >
 
struct  Eigen::internal::cast_impl< Real, NewType >
 
struct  Eigen::internal::cast_impl< Real, std::complex< Real > >
 

Namespaces

 Eigen
 Namespace containing all symbols from the Eigen library.
 
 Eigen::internal
 Namespace containing low-level routines from the Eigen library.
 
 boost
 
 boost::multiprecision
 

Macros

#define EIGEN_TEST_MAX_SIZE   50
 

Typedefs

typedef boost::multiprecision::number< boost::multiprecision::cpp_dec_float< 100 >, boost::multiprecision::et_on > Real
 

Functions

template<>
Real Eigen::test_precision< Real > ()
 
Real boost::multiprecision::fabs (const Real &a)
 
Real boost::multiprecision::fmax (const Real &a, const Real &b)
 
bool boost::multiprecision::test_isMuchSmallerThan (const Real &a, const Real &b)
 
bool boost::multiprecision::test_isApprox (const Real &a, const Real &b)
 
bool boost::multiprecision::test_isApproxOrLessThan (const Real &a, const Real &b)
 
Real boost::multiprecision::get_test_precision (const Real &)
 
Real boost::multiprecision::test_relative_error (const Real &a, const Real &b)
 
 EIGEN_DECLARE_TEST (boostmultiprec)
 

Macro Definition Documentation

◆ EIGEN_TEST_MAX_SIZE

#define EIGEN_TEST_MAX_SIZE   50

Typedef Documentation

◆ Real

typedef boost::multiprecision::number<boost::multiprecision::cpp_dec_float<100>, boost::multiprecision::et_on> Real

Function Documentation

◆ EIGEN_DECLARE_TEST()

EIGEN_DECLARE_TEST ( boostmultiprec  )
145  {
146  typedef Matrix<Real, Dynamic, Dynamic> Mat;
147  typedef Matrix<std::complex<Real>, Dynamic, Dynamic> MatC;
148 
149  std::cout << "NumTraits<Real>::epsilon() = " << NumTraits<Real>::epsilon() << std::endl;
150  std::cout << "NumTraits<Real>::dummy_precision() = " << NumTraits<Real>::dummy_precision() << std::endl;
151  std::cout << "NumTraits<Real>::lowest() = " << NumTraits<Real>::lowest() << std::endl;
152  std::cout << "NumTraits<Real>::highest() = " << NumTraits<Real>::highest() << std::endl;
153  std::cout << "NumTraits<Real>::digits10() = " << NumTraits<Real>::digits10() << std::endl;
154  std::cout << "NumTraits<Real>::max_digits10() = " << NumTraits<Real>::max_digits10() << std::endl;
155 
156  // check stream output
157  {
158  Mat A(10, 10);
159  A.setRandom();
160  std::stringstream ss;
161  ss << A;
162  }
163  {
164  MatC A(10, 10);
165  A.setRandom();
166  std::stringstream ss;
167  ss << A;
168  }
169 
170  for (int i = 0; i < g_repeat; i++) {
171  int s = internal::random<int>(1, EIGEN_TEST_MAX_SIZE);
172 
174 
175  CALL_SUBTEST_2(lu_non_invertible<Mat>());
176  CALL_SUBTEST_2(lu_invertible<Mat>());
177  CALL_SUBTEST_2(lu_non_invertible<MatC>());
178  CALL_SUBTEST_2(lu_invertible<MatC>());
179 
181  qr(Mat(internal::random<int>(1, EIGEN_TEST_MAX_SIZE), internal::random<int>(1, EIGEN_TEST_MAX_SIZE))));
182  CALL_SUBTEST_3(qr_invertible<Mat>());
183 
184  CALL_SUBTEST_4(qr<Mat>());
185  CALL_SUBTEST_4(cod<Mat>());
186  CALL_SUBTEST_4(qr_invertible<Mat>());
187 
188  CALL_SUBTEST_5(qr<Mat>());
189  CALL_SUBTEST_5(qr_invertible<Mat>());
190 
192 
194 
196 
198  }
199 
202  internal::random<int>(EIGEN_TEST_MAX_SIZE / 4, EIGEN_TEST_MAX_SIZE / 2)))));
205  internal::random<int>(EIGEN_TEST_MAX_SIZE / 4, EIGEN_TEST_MAX_SIZE / 2)))));
207  internal::random<int>(EIGEN_TEST_MAX_SIZE / 4, EIGEN_TEST_MAX_SIZE / 2)))));
209  internal::random<int>(EIGEN_TEST_MAX_SIZE / 4, EIGEN_TEST_MAX_SIZE / 2)))));
210 
211  CALL_SUBTEST_11((test_simplicial_cholesky_T<Real, int, ColMajor>()));
212 }
int i
Definition: BiCGSTAB_step_by_step.cpp:9
HouseholderQR< MatrixXf > qr(A)
void bdcsvd_thin_options(const MatrixType &input=MatrixType())
Definition: bdcsvd.cpp:65
void bdcsvd_full_options(const MatrixType &input=MatrixType())
Definition: bdcsvd.cpp:70
Matrix< SCALARA, Dynamic, Dynamic, opt_A > A
Definition: bench_gemm.cpp:47
#define EIGEN_TEST_MAX_SIZE
Definition: boostmultiprec.cpp:16
void cholesky(const MatrixType &m)
Definition: cholesky.cpp:55
void eigensolver(const MatrixType &m)
Definition: eigensolver_complex.cpp:68
void generalized_eigensolver_real(const MatrixType &m)
Definition: eigensolver_generalized_real.cpp:17
void selfadjointeigensolver(const MatrixType &m)
Definition: eigensolver_selfadjoint.cpp:65
Matrix< Scalar, Dynamic, Dynamic > Mat
Definition: gemm_common.h:15
void jacobisvd_thin_options(const MatrixType &input=MatrixType())
Definition: jacobisvd.cpp:37
void jacobisvd_full_options(const MatrixType &input=MatrixType())
Definition: jacobisvd.cpp:47
RealScalar s
Definition: level1_cplx_impl.h:130
#define TEST_SET_BUT_UNUSED_VARIABLE(X)
Definition: main.h:139
static int g_repeat
Definition: main.h:191
const int Dynamic
Definition: Constants.h:25
double epsilon
Definition: osc_ring_sarah_asymptotics.h:43
#define CALL_SUBTEST_6(FUNC)
Definition: split_test_helper.h:34
#define CALL_SUBTEST_3(FUNC)
Definition: split_test_helper.h:16
#define CALL_SUBTEST_1(FUNC)
Definition: split_test_helper.h:4
#define CALL_SUBTEST_8(FUNC)
Definition: split_test_helper.h:46
#define CALL_SUBTEST_5(FUNC)
Definition: split_test_helper.h:28
#define CALL_SUBTEST_11(FUNC)
Definition: split_test_helper.h:64
#define CALL_SUBTEST_2(FUNC)
Definition: split_test_helper.h:10
#define CALL_SUBTEST_7(FUNC)
Definition: split_test_helper.h:40
#define CALL_SUBTEST_4(FUNC)
Definition: split_test_helper.h:22
#define CALL_SUBTEST_9(FUNC)
Definition: split_test_helper.h:52
#define CALL_SUBTEST_10(FUNC)
Definition: split_test_helper.h:58

References bdcsvd_full_options(), bdcsvd_thin_options(), CALL_SUBTEST_1, CALL_SUBTEST_10, CALL_SUBTEST_11, CALL_SUBTEST_2, CALL_SUBTEST_3, CALL_SUBTEST_4, CALL_SUBTEST_5, CALL_SUBTEST_6, CALL_SUBTEST_7, CALL_SUBTEST_8, CALL_SUBTEST_9, cholesky(), Eigen::Dynamic, EIGEN_TEST_MAX_SIZE, eigensolver(), oomph::SarahBL::epsilon, Eigen::g_repeat, generalized_eigensolver_real(), i, jacobisvd_full_options(), jacobisvd_thin_options(), qr(), s, selfadjointeigensolver(), and TEST_SET_BUT_UNUSED_VARIABLE.