35 #ifndef NEKTAR_LIB_UTILITIES_LINEAR_ALGEBRA_MATRIX_BASE_HPP
36 #define NEKTAR_LIB_UTILITIES_LINEAR_ALGEBRA_MATRIX_BASE_HPP
53 template<
typename DataType>
89 unsigned int row,
unsigned int col,
90 unsigned int numRows,
unsigned int numColumns,
const char transpose =
'N',
91 unsigned int numSubDiags = 0,
unsigned int numSuperDiags = 0) ;
94 unsigned int columns,
unsigned int subDiags = 0,
unsigned int superDiags = 0);
119 virtual typename boost::call_traits<DataType>::value_type
v_GetValue(
unsigned int row,
unsigned int column)
const = 0;
128 template<
typename DataType>
#define LIB_UTILITIES_EXPORT
void SetTransposeFlag(char newValue)
MatrixStorage GetType() const
MatrixStorage GetStorageType() const
ConstMatrix< DataType > & operator=(const ConstMatrix< DataType > &rhs)
boost::call_traits< DataType >::value_type operator()(unsigned int row, unsigned int column) const
unsigned int GetStorageSize() const
ConstMatrix(unsigned int rows, unsigned int columns, MatrixStorage policy=eFULL)
static unsigned int CalculateIndex(MatrixStorage type, unsigned int row, unsigned int col, unsigned int numRows, unsigned int numColumns, const char transpose='N', unsigned int numSubDiags=0, unsigned int numSuperDiags=0)
virtual unsigned int v_GetStorageSize() const =0
unsigned int GetTransposedColumns(char transpose) const
virtual char v_GetTransposeFlag() const
unsigned int GetRows() const
virtual boost::call_traits< DataType >::value_type v_GetValue(unsigned int row, unsigned int column) const =0
virtual void v_Transpose()
MatrixStorage m_storageType
unsigned int GetTransposedRows(char transpose) const
void Resize(unsigned int rows, unsigned int columns)
Resets the rows and columns in the array. This method does not update the data storage to match the n...
char GetRawTransposeFlag() const
static unsigned int GetRequiredStorageSize(MatrixStorage type, unsigned int rows, unsigned int columns, unsigned int subDiags=0, unsigned int superDiags=0)
char GetTransposeFlag() const
unsigned int GetColumns() const
const unsigned int * GetSize() const
void SetValue(unsigned int row, unsigned int column, typename boost::call_traits< DataType >::const_reference d)
Matrix< DataType > & operator=(const Matrix< DataType > &rhs)
Matrix(unsigned int rows, unsigned int columns, MatrixStorage policy=eFULL)
virtual void v_SetValue(unsigned int row, unsigned int column, typename boost::call_traits< DataType >::const_reference d)=0
The above copyright notice and this permission notice shall be included.