SOFA API  1a4bb3e7
Open source framework for multi-physics simuation
sofa::linearalgebra::matrix_bloc_traits< double, IndexType > Class Template Reference

#include <matrix_bloc_traits.h>

Static Public Member Functions

static Realv (Block &b, IndexType, IndexType)
 
static void vset (Block &b, int, int, Real val)
 
static void vadd (Block &b, int, int, Real val)
 
static const Realv (const Block &b, IndexType, IndexType)
 
static void clear (Block &b)
 
static bool empty (const Block &b)
 
static void invert (Block &result, const Block &b)
 
template<class TSubBlock , std::enable_if_t< std::is_scalar_v< TSubBlock >, bool > = true>
static void subBlock (const Block &b, IndexType row, IndexType col, TSubBlock &subBlock)
 
static void split_row_index (IndexType &index, IndexType &modulo)
 
static void split_col_index (IndexType &index, IndexType &modulo)
 
static sofa::linearalgebra::BaseMatrix::ElementType getElementType ()
 
static const std::string Name ()
 

Function details

◆ clear()

template<typename IndexType >
static void sofa::linearalgebra::matrix_bloc_traits< double, IndexType >::clear ( Block b)
inlinestatic

◆ empty()

template<typename IndexType >
static bool sofa::linearalgebra::matrix_bloc_traits< double, IndexType >::empty ( const Block b)
inlinestatic

◆ getElementType()

template<typename IndexType >
static sofa::linearalgebra::BaseMatrix::ElementType sofa::linearalgebra::matrix_bloc_traits< double, IndexType >::getElementType ( )
inlinestatic

◆ invert()

template<typename IndexType >
static void sofa::linearalgebra::matrix_bloc_traits< double, IndexType >::invert ( Block result,
const Block b 
)
inlinestatic

◆ Name()

template<typename IndexType >
static const std::string sofa::linearalgebra::matrix_bloc_traits< double, IndexType >::Name ( )
inlinestatic

◆ split_col_index()

template<typename IndexType >
static void sofa::linearalgebra::matrix_bloc_traits< double, IndexType >::split_col_index ( IndexType &  index,
IndexType &  modulo 
)
inlinestatic

◆ split_row_index()

template<typename IndexType >
static void sofa::linearalgebra::matrix_bloc_traits< double, IndexType >::split_row_index ( IndexType &  index,
IndexType &  modulo 
)
inlinestatic

◆ subBlock()

template<typename IndexType >
template<class TSubBlock , std::enable_if_t< std::is_scalar_v< TSubBlock >, bool > = true>
static void sofa::linearalgebra::matrix_bloc_traits< double, IndexType >::subBlock ( const Block b,
IndexType  row,
IndexType  col,
TSubBlock &  subBlock 
)
inlinestatic

◆ v() [1/2]

template<typename IndexType >
static Real& sofa::linearalgebra::matrix_bloc_traits< double, IndexType >::v ( Block b,
IndexType  ,
IndexType   
)
inlinestatic

◆ v() [2/2]

template<typename IndexType >
static const Real& sofa::linearalgebra::matrix_bloc_traits< double, IndexType >::v ( const Block b,
IndexType  ,
IndexType   
)
inlinestatic

◆ vadd()

template<typename IndexType >
static void sofa::linearalgebra::matrix_bloc_traits< double, IndexType >::vadd ( Block b,
int  ,
int  ,
Real  val 
)
inlinestatic

◆ vset()

template<typename IndexType >
static void sofa::linearalgebra::matrix_bloc_traits< double, IndexType >::vset ( Block b,
int  ,
int  ,
Real  val 
)
inlinestatic

Enum details

◆ anonymous enum

template<typename IndexType >
anonymous enum
Enumerator
NL 

◆ anonymous enum

template<typename IndexType >
anonymous enum
Enumerator
NC