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>
134 LIB_UTILITIES_EXPORT void SetValue(
unsigned int row,
unsigned int column,
typename boost::call_traits<DataType>::const_reference d);
149 LIB_UTILITIES_EXPORT virtual void v_SetValue(
unsigned int row,
unsigned int column,
typename boost::call_traits<DataType>::const_reference d) = 0;
155 #endif //NEKTAR_LIB_UTILITIES_LINEAR_ALGEBRA_MATRIX_BASE_HPP virtual boost::call_traits< DataType >::value_type v_GetValue(unsigned int row, unsigned int column) const =0
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...
MatrixStorage GetStorageType() const
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)
unsigned int GetTransposedRows(char transpose) const
virtual unsigned int v_GetStorageSize() const =0
char GetTransposeFlag() const
unsigned int GetStorageSize() const
virtual void v_Transpose()
char GetRawTransposeFlag() const
MatrixStorage GetType() const
MatrixStorage m_storageType
unsigned int GetColumns() const
unsigned int GetTransposedColumns(char transpose) const
ConstMatrix(unsigned int rows, unsigned int columns, MatrixStorage policy=eFULL)
#define LIB_UTILITIES_EXPORT
void SetTransposeFlag(char newValue)
virtual char v_GetTransposeFlag() const
unsigned int GetRows() const
ConstMatrix< DataType > & operator=(const ConstMatrix< DataType > &rhs)
static unsigned int GetRequiredStorageSize(MatrixStorage type, unsigned int rows, unsigned int columns, unsigned int subDiags=0, unsigned int superDiags=0)
boost::call_traits< DataType >::value_type operator()(unsigned int row, unsigned int column) const
const unsigned int * GetSize() const
StandardMatrixTag boost::call_traits< LhsDataType >::const_reference rhs