12 #ifndef BOGUS_EIGEN_MATRIX_TRAITS_HPP
13 #define BOGUS_EIGEN_MATRIX_TRAITS_HPP
17 #include "EigenLinearSolvers.hpp"
18 #include "EigenSparseLinearSolvers.hpp"
20 #include "../Block/ScalarBindings.hpp"
25 template <
typename _MatrixType >
28 typedef _MatrixType MatrixType ;
29 typedef typename MatrixType::Scalar Scalar ;
34 static const MatrixType& asConstMatrix (
const MatrixType& src )
38 template <
typename _Scalar,
int _Options,
typename _Index >
39 struct MatrixTraits< Eigen::SparseMatrix< _Scalar, _Options, _Index > >
41 typedef _Scalar Scalar ;
42 typedef Eigen::SparseMatrix< Scalar, _Options, _Index > MatrixType ;
47 static const MatrixType& asConstMatrix (
const MatrixType& src )
51 #define BOGUS_PROCESS_SCALAR( Scalar ) \
52 template < > struct MatrixTraits< Scalar > : public MatrixTraits< Eigen::Matrix< Scalar, 1, 1> > {\
53 static Eigen::Matrix< Scalar, 1, 1> asConstMatrix ( const Scalar src ) {\
54 Eigen::Matrix< Scalar, 1, 1> mat ;\
59 BOGUS_BLOCK_SCALAR_TYPES
60 #undef BOGUS_PROCESS_SCALAR
Base class for LDLT factorizations.
Definition: LinearSolverBase.hpp:72
Definition: EigenMatrixTraits.hpp:26
Base class for LU factorizations.
Definition: LinearSolverBase.hpp:66