humoto
Classes | Namespaces | Macros | Functions
blockmatrix_base.h File Reference

Detailed Description

Author
Alexander Sherikov

Definition in file blockmatrix_base.h.

Go to the source code of this file.

Classes

class  etools::BlockMatrixAccessBase< t_MatrixType, t_block_rows_num, t_block_cols_num >
 Block matrix basic functions. More...
 
class  etools::BlockMatrixBase< t_MatrixType, t_block_rows_num, t_block_cols_num, t_sparsity_type >
 Base class of a block matrix. More...
 
class  etools::BlockMatrixBase< t_MatrixType, 1, 1, MatrixSparsityType::LEFT_LOWER_TRIANGULAR >
 Base class of a block matrix. More...
 
class  etools::BlockMatrixBase< t_MatrixType, t_block_rows_num, t_block_cols_num, MatrixSparsityType::DIAGONAL >
 Base class of a block matrix. More...
 
class  etools::BlockMatrixBase< t_MatrixType, t_block_rows_num, t_block_cols_num, MatrixSparsityType::LEFT_LOWER_TRIANGULAR >
 Base class of a block matrix. More...
 
class  etools::BlockMatrixSizeSpecificBase< t_MatrixType, t_block_rows_num, t_block_cols_num >
 Extra layer for handling of specific sizes of blocks using partial template specialization. More...
 
class  etools::BlockMatrixSizeSpecificBase< t_MatrixType, 1, 1 >
 Extra layer for handling of specific sizes of blocks using partial template specialization. More...
 
class  etools::BlockMatrixSizeSpecificBase< t_MatrixType, MatrixBlockSizeType::DYNAMIC, MatrixBlockSizeType::DYNAMIC >
 Extra layer for handling of specific sizes of blocks using partial template specialization. More...
 
class  etools::BlockMatrixSizeSpecificBase< t_MatrixType, MatrixBlockSizeType::DYNAMIC, t_block_cols_num >
 Extra layer for handling of specific sizes of blocks using partial template specialization. More...
 
class  etools::BlockMatrixSizeSpecificBase< t_MatrixType, t_block_rows_num, MatrixBlockSizeType::DYNAMIC >
 Extra layer for handling of specific sizes of blocks using partial template specialization. More...
 
class  etools::MatrixBlockSizeType
 Matrix block size type. More...
 
class  etools::MatrixSparsityType
 Sparsity type of a matrix. More...
 
struct  etools::TypeDecayed< T >
 Type modifier (drop reference and 'const') More...
 
struct  etools::TypeWithoutConst< T >
 Type modifier (drop reference 'const') More...
 
struct  etools::TypeWithoutConst< const T >
 Type modifier (drop 'const') More...
 
struct  etools::TypeWithoutReference< T >
 Type modifier (drop reference &) More...
 
struct  etools::TypeWithoutReference< T & >
 Type modifier (drop reference &) More...
 

Namespaces

 etools
 This namespace contains various functions operating on Eigen matrices and vectors.
 

Macros

#define EIGENTOOLS_BLOCKMATRIX_BLOCK_COLS_NUM   ((t_block_cols_num > 0) ? t_block_cols_num : block_cols_num_)
 
#define EIGENTOOLS_BLOCKMATRIX_BLOCK_ROWS_NUM   ((t_block_rows_num > 0) ? t_block_rows_num : block_rows_num_)
 
#define EIGENTOOLS_CODE_GENERATOR
 
#define EIGENTOOLS_DEFINE_BLOCK_MATRIX_CONSTRUCTORS(class_name)
 
#define EIGENTOOLS_PARENT_CLASS_SHORTHAND   BlockMatrixAccessBase<t_MatrixType, t_block_rows_num, t_block_cols_num>
 
#define EIGENTOOLS_PARENT_CLASS_SHORTHAND
 
#define EIGENTOOLS_PARENT_CLASS_SHORTHAND
 
#define EIGENTOOLS_PARENT_CLASS_SHORTHAND
 
#define EIGENTOOLS_PARENT_CLASS_SHORTHAND   BlockMatrixAccessBase<t_MatrixType, 1, 1>
 
#define EIGENTOOLS_PARENT_CLASS_SHORTHAND   BlockMatrixSizeSpecificBase<t_MatrixType, t_block_rows_num, t_block_cols_num>
 
#define EIGENTOOLS_PARENT_CLASS_SHORTHAND   BlockMatrixSizeSpecificBase<t_MatrixType, t_block_rows_num, t_block_cols_num>
 
#define EIGENTOOLS_PARENT_CLASS_SHORTHAND   BlockMatrixSizeSpecificBase<t_MatrixType, t_block_rows_num, t_block_cols_num>
 
#define EIGENTOOLS_PARENT_CLASS_SHORTHAND   BlockMatrixSizeSpecificBase<t_MatrixType, 1, 1>
 

Functions

template<typename t_MatrixType , int t_block_rows_num, int t_block_cols_num, MatrixSparsityType::Type t_sparsity_type, class t_Derived >
EIGENTOOLS_VISIBILITY_ATTRIBUTE etools::operator* (const BlockMatrixBase< t_MatrixType, t_block_rows_num, t_block_cols_num, t_sparsity_type > &bm, const Eigen::MatrixBase< t_Derived > &matrix)
 'BlockMatrixBase * Eigen::Matrix' operator More...
 
template<class t_Derived , typename t_MatrixType , int t_block_rows_num, int t_block_cols_num, MatrixSparsityType::Type t_sparsity_type, int t_rows_in, int t_cols_in>
EIGENTOOLS_VISIBILITY_ATTRIBUTE etools::operator* (const Eigen::MatrixBase< t_Derived > &eigen_matrix, const BlockMatrixBase< t_MatrixType, t_block_rows_num, t_block_cols_num, t_sparsity_type > &bm)
 Computes 'Eigen::Matrix * BlockMatrixBase'. More...
 
template<typename t_left_MatrixType , int t_left_block_rows_num, int t_left_block_cols_num, MatrixSparsityType::Type t_left_sparsity_type, typename t_right_MatrixType , int t_right_block_cols_num>
EIGENTOOLS_VISIBILITY_ATTRIBUTE etools::operator* (const BlockMatrixBase< t_left_MatrixType, t_left_block_rows_num, t_left_block_cols_num, t_left_sparsity_type > &left, const BlockMatrixBase< t_right_MatrixType, t_left_block_cols_num, t_right_block_cols_num, MatrixSparsityType::DIAGONAL > &right)
 BlockMatrix * BlockMatrix (left * right) More...
 
template<typename t_left_MatrixType , int t_left_block_rows_num, int t_left_block_cols_num, MatrixSparsityType::Type t_left_sparsity_type, typename t_right_MatrixType , int t_right_block_cols_num, MatrixSparsityType::Type t_right_sparsity_type>
EIGENTOOLS_VISIBILITY_ATTRIBUTE etools::operator* (const BlockMatrixBase< t_left_MatrixType, t_left_block_rows_num, t_left_block_cols_num, t_left_sparsity_type > &left, const BlockMatrixBase< t_right_MatrixType, t_left_block_cols_num, t_right_block_cols_num, t_right_sparsity_type > &right)
 BlockMatrix * BlockMatrix (left * right) More...
 

Macro Definition Documentation

◆ EIGENTOOLS_BLOCKMATRIX_BLOCK_COLS_NUM

#define EIGENTOOLS_BLOCKMATRIX_BLOCK_COLS_NUM   ((t_block_cols_num > 0) ? t_block_cols_num : block_cols_num_)

Definition at line 82 of file blockmatrix_base.h.

◆ EIGENTOOLS_BLOCKMATRIX_BLOCK_ROWS_NUM

#define EIGENTOOLS_BLOCKMATRIX_BLOCK_ROWS_NUM   ((t_block_rows_num > 0) ? t_block_rows_num : block_rows_num_)

Definition at line 81 of file blockmatrix_base.h.

◆ EIGENTOOLS_CODE_GENERATOR

#define EIGENTOOLS_CODE_GENERATOR

Definition at line 624 of file blockmatrix_base.h.

◆ EIGENTOOLS_DEFINE_BLOCK_MATRIX_CONSTRUCTORS

#define EIGENTOOLS_DEFINE_BLOCK_MATRIX_CONSTRUCTORS (   class_name)
Value:
class_name (const std::ptrdiff_t block_rows_num = MatrixBlockSizeType::UNDEFINED,\
const std::ptrdiff_t block_cols_num = MatrixBlockSizeType::UNDEFINED)\
: EIGENTOOLS_PARENT_CLASS_SHORTHAND(block_rows_num, block_cols_num) {};\
class_name (const DecayedRawMatrix & matrix,\
const std::ptrdiff_t block_rows_num = MatrixBlockSizeType::UNDEFINED,\
const std::ptrdiff_t block_cols_num = MatrixBlockSizeType::UNDEFINED)\
: EIGENTOOLS_PARENT_CLASS_SHORTHAND(matrix, block_rows_num, block_cols_num) {};\
class_name (DecayedRawMatrix & matrix,\
const std::ptrdiff_t block_rows_num = MatrixBlockSizeType::UNDEFINED,\
const std::ptrdiff_t block_cols_num = MatrixBlockSizeType::UNDEFINED)\
: EIGENTOOLS_PARENT_CLASS_SHORTHAND(matrix, block_rows_num, block_cols_num) {};
#define EIGENTOOLS_PARENT_CLASS_SHORTHAND

Definition at line 84 of file blockmatrix_base.h.

◆ EIGENTOOLS_PARENT_CLASS_SHORTHAND [1/9]

#define EIGENTOOLS_PARENT_CLASS_SHORTHAND   BlockMatrixAccessBase<t_MatrixType, t_block_rows_num, t_block_cols_num>

Definition at line 1094 of file blockmatrix_base.h.

◆ EIGENTOOLS_PARENT_CLASS_SHORTHAND [2/9]

#define EIGENTOOLS_PARENT_CLASS_SHORTHAND
Value:
BlockMatrixAccessBase< t_MatrixType, \
MatrixBlockSizeType::DYNAMIC, \
MatrixBlockSizeType::DYNAMIC>

Definition at line 1094 of file blockmatrix_base.h.

◆ EIGENTOOLS_PARENT_CLASS_SHORTHAND [3/9]

#define EIGENTOOLS_PARENT_CLASS_SHORTHAND
Value:
BlockMatrixAccessBase< t_MatrixType, \
t_block_rows_num, \
MatrixBlockSizeType::DYNAMIC>

Definition at line 1094 of file blockmatrix_base.h.

◆ EIGENTOOLS_PARENT_CLASS_SHORTHAND [4/9]

#define EIGENTOOLS_PARENT_CLASS_SHORTHAND
Value:
BlockMatrixAccessBase< t_MatrixType, \
MatrixBlockSizeType::DYNAMIC, \
t_block_cols_num>

Definition at line 1094 of file blockmatrix_base.h.

◆ EIGENTOOLS_PARENT_CLASS_SHORTHAND [5/9]

#define EIGENTOOLS_PARENT_CLASS_SHORTHAND   BlockMatrixAccessBase<t_MatrixType, 1, 1>

Definition at line 1094 of file blockmatrix_base.h.

◆ EIGENTOOLS_PARENT_CLASS_SHORTHAND [6/9]

#define EIGENTOOLS_PARENT_CLASS_SHORTHAND   BlockMatrixSizeSpecificBase<t_MatrixType, t_block_rows_num, t_block_cols_num>

Definition at line 1094 of file blockmatrix_base.h.

◆ EIGENTOOLS_PARENT_CLASS_SHORTHAND [7/9]

#define EIGENTOOLS_PARENT_CLASS_SHORTHAND   BlockMatrixSizeSpecificBase<t_MatrixType, t_block_rows_num, t_block_cols_num>

Definition at line 1094 of file blockmatrix_base.h.

◆ EIGENTOOLS_PARENT_CLASS_SHORTHAND [8/9]

#define EIGENTOOLS_PARENT_CLASS_SHORTHAND   BlockMatrixSizeSpecificBase<t_MatrixType, t_block_rows_num, t_block_cols_num>

Definition at line 1094 of file blockmatrix_base.h.

◆ EIGENTOOLS_PARENT_CLASS_SHORTHAND [9/9]

#define EIGENTOOLS_PARENT_CLASS_SHORTHAND   BlockMatrixSizeSpecificBase<t_MatrixType, 1, 1>

Definition at line 1094 of file blockmatrix_base.h.