1.5.1
CCC
 
Table Class Reference

#include <Table.hpp>

Inheritance diagram for Table:
MatrixRectangular ASerializable AMatrixDense AMatrix AStringable ICloneable

Detailed Description

Stores an array of values as a Table, i.e. a MatrixRectangular where rows and columns can be optionally decorated

Public Member Functions

 Table (int nrow=0, int ncol=0, bool skip_title=false, bool skip_description=false)
 
 Table (const Table &m)
 
Tableoperator= (const Table &m)
 
virtual ~Table ()
 
virtual void reset (int nrows, int ncols) override
 Cloneable interface. More...
 
virtual String toString (const AStringFormat *strfmt=nullptr) const override
 
VectorDouble getRange (int icol) const
 
VectorDouble getAllRange () const
 
void plot (int isimu) const
 
void setColumnNames (const VectorString &colNames)
 
void setColumnName (int icol, const String &name)
 
void setRowNames (const VectorString &rowNames)
 
void setRowName (int irow, const String &name)
 
VectorString getColumnNames () const
 
VectorString getRowNames () const
 
String getColumnName (int icol) const
 
String getRowName (int irow) const
 
const StringgetTitle () const
 
void setTitle (const String &title)
 
void setSkipDescription (bool skipDescription)
 
void setSkipTitle (bool skipTitle)
 
- Public Member Functions inherited from MatrixRectangular
 MatrixRectangular (int nrow=0, int ncol=0)
 
 MatrixRectangular (const MatrixRectangular &r)
 
 MatrixRectangular (const AMatrix &m)
 
MatrixRectangularoperator= (const MatrixRectangular &r)
 
virtual ~MatrixRectangular ()
 
bool mustBeSymmetric () const override
 Cloneable interface. More...
 
void unsample (const AMatrix *A, const VectorInt &rowFetch, const VectorInt &colFetch, bool flagInvertRow=false, bool flagInvertCol=false)
 Set the values contained in 'A' into the current matrix. More...
 
void addRow (int nrow_added=1)
 
void addColumn (int ncolumn_added=1)
 
- Public Member Functions inherited from AMatrixDense
 AMatrixDense (int nrow=0, int ncol=0)
 
 AMatrixDense (const AMatrixDense &r)
 
 AMatrixDense (const AMatrix &m)
 
AMatrixDenseoperator= (const AMatrixDense &r)
 
virtual ~AMatrixDense ()
 
bool isDense () const override
 Interface for AMatrix. More...
 
bool isSparse () const override
 
void setValue (int irow, int icol, double value, bool flagCheck=false) override
 
virtual double getValue (int irow, int icol, bool flagCheck=false) const override
 
void updValue (int irow, int icol, const EOperator &oper, double value, bool flagCheck=false) override
 
virtual void setColumn (int icol, const VectorDouble &tab, bool flagCheck=false) override
 
virtual void setRow (int irow, const VectorDouble &tab, bool flagCheck=false) override
 
virtual void setDiagonal (const VectorDouble &tab, bool flagCheck=false) override
 
virtual void setDiagonalToConstant (double value=1.) override
 
virtual void addScalar (double v) override
 
virtual void addScalarDiag (double v) override
 
virtual void prodScalar (double v) override
 
virtual void fill (double value) override
 
virtual void multiplyRow (const VectorDouble &vec) override
 
virtual void multiplyColumn (const VectorDouble &vec) override
 
virtual void divideRow (const VectorDouble &vec) override
 
virtual void divideColumn (const VectorDouble &vec) override
 
virtual VectorDouble prodVecMat (const VectorDouble &x, bool transpose=false) const override
 
virtual VectorDouble prodMatVec (const VectorDouble &x, bool transpose=false) const override
 
virtual VectorDouble getRow (int irow) const override
 
virtual VectorDouble getColumn (int icol) const override
 
constvect getColumnPtr (int icol) const
 
virtual void prodMatMatInPlace (const AMatrix *x, const AMatrix *y, bool transposeX=false, bool transposeY=false) override
 
void addMatInPlace (const AMatrixDense &y, double cx=1., double cy=1.)
 The next functions use specific definition of matrix (to avoid dynamic_cast) rather than manipulating AMatrix. They are not generic of AMatrix anymore. WARNING: output matrix should not match any of input matrices (speed up). More...
 
virtual void prodNormMatMatInPlace (const AMatrixDense *a, const AMatrixDense *m, bool transpose=false)
 
virtual void prodNormMatVecInPlace (const AMatrixDense &a, const VectorDouble &vec=VectorDouble(), bool transpose=false)
 
VectorDouble getEigenValues () const
 
const MatrixSquareGeneralgetEigenVectors () const
 
constvect getViewOnColumn (int icol) const
 
const Eigen::MatrixXd * getTab () const
 
- Public Member Functions inherited from AMatrix
 AMatrix (int nrow=0, int ncol=0)
 
 AMatrix (const AMatrix &m)
 
AMatrixoperator= (const AMatrix &m)
 
virtual ~AMatrix ()
 
virtual void resetFromValue (int nrows, int ncols, double value)
 Reset the matrix to new dimensions and fill with a new value. More...
 
virtual void resetFromArray (int nrows, int ncols, const double *tab, bool byCol=true)
 Reset the matrix from an array of double values. More...
 
virtual void resetFromVD (int nrows, int ncols, const VectorDouble &tab, bool byCol=true)
 Reset the matrix from a vector of double values. More...
 
virtual void resetFromVVD (const VectorVectorDouble &tab, bool byCol=true)
 Reset the matrix from an array of double values. More...
 
virtual bool isSquare (bool printWhyNot=false) const
 
virtual bool isValid (int irow, int icol, bool printWhyNot=false) const
 
virtual bool isIdentity (bool printWhyNot=false) const
 
virtual bool isSymmetric (double eps=EPSILON10, bool printWhyNot=false) const
 
virtual void transposeInPlace ()
 
virtual AMatrixtranspose () const
 
virtual NF_Triplet getMatrixToTriplet (int shiftRow=0, int shiftCol=0) const
 
void addMatInPlace (const AMatrix &y, double cx=1., double cy=1.)
 
void prodMatInPlace (const AMatrix *matY, bool transposeY=false)
 
void prodNormMatMatInPlace (const AMatrix *a, const AMatrix *m, bool transpose=false)
 
void prodNormMatVecInPlace (const AMatrix &a, const VectorDouble &vec=VectorDouble(), bool transpose=false)
 
void resize (int nrows, int ncols)
 Resize the matrix to new dimensions (this method doesn't change the storage type) More...
 
void addValue (int irow, int icol, double value)
 
bool isSame (const AMatrix &m, double eps=EPSILON4, bool printWhyNot=false)
 
bool isSameSize (const AMatrix &m) const
 
bool empty () const
 
double compare (const AMatrix &mat) const
 
int getNRows () const
 
int getNCols () const
 
int size () const
 
VectorDouble getValues (bool byCol=true) const
 
VectorDouble getDiagonal (int shift=0) const
 
bool isColumnDefined (int icol) const
 
bool isRowDefined (int irow) const
 
int getNumberColumnDefined () const
 
int getNumberRowDefined () const
 
bool isNonNegative (bool verbose=false) const
 
void prodMatVecInPlace (const VectorDouble &x, VectorDouble &y, bool transpose=false) const
 
int prodMatVecInPlace (const constvect x, vect y, bool transpose=false) const
 
void prodMatVecInPlacePtr (const double *x, double *y, bool transpose=false) const
 
void prodVecMatInPlace (const VectorDouble &x, VectorDouble &y, bool transpose=false) const
 
void prodVecMatInPlacePtr (const double *x, double *y, bool transpose=false) const
 
double quadraticMatrix (const VectorDouble &x, const VectorDouble &y)
 
int invert ()
 
int solve (const VectorDouble &b, VectorDouble &x) const
 
void dumpElements (const String &title, int ifrom, int ito) const
 
void setIdentity (double value=1.)
 
void fillRandom (int seed=432432, double zeroPercent=0)
 
void setValues (const VectorDouble &values, bool byCol=true)
 
double getMeanByColumn (int icol) const
 
double getMinimum () const
 
double getMaximum () const
 
double getNormInf () const
 
void copyReduce (const AMatrix *x, const VectorInt &validRows, const VectorInt &validCols)
 
void copyElements (const AMatrix &m, double factor=1.)
 
void setFlagCheckAddress (bool flagCheckAddress)
 
void makePositiveColumn ()
 
void linearCombination (double val1, const AMatrix *mat1, double val2=1., const AMatrix *mat2=nullptr, double val3=1., const AMatrix *mat3=nullptr)
 Perfom the algebraic equation this = val1 * mat1 + val2 * mat2 + val3 * mat3. More...
 
virtual int addProdMatVecInPlace (const constvect x, vect y, bool transpose=false) const
 
double operator() (int row, int col) const
 
double & operator() (int row, int col)
 
- Public Member Functions inherited from AStringable
 AStringable ()
 
 AStringable (const AStringable &r)
 
AStringableoperator= (const AStringable &r)
 
virtual ~AStringable ()
 
virtual void display (const AStringFormat *strfmt=nullptr) const final
 
virtual void display (int level) const final
 
- Public Member Functions inherited from ICloneable
 ICloneable ()
 
virtual ~ICloneable ()
 
virtual ICloneableclone () const =0
 
- Public Member Functions inherited from ASerializable
 ASerializable ()
 
 ASerializable (const ASerializable &r)
 
ASerializableoperator= (const ASerializable &r)
 
virtual ~ASerializable ()
 
bool deserialize (std::istream &is, bool verbose=true)
 
bool serialize (std::ostream &os, bool verbose=true) const
 
bool dumpToNF (const String &neutralFilename, bool verbose=false) const
 

Static Public Member Functions

static Tablecreate (int nrow=0, int ncol=0)
 
static TablecreateFromNames (const VectorString &rownames, const VectorString &colnames)
 
static TablecreateFromNF (const String &neutralFilename, bool verbose=true)
 
static TablecreateFromTable (const Table &table)
 
- Static Public Member Functions inherited from MatrixRectangular
static MatrixRectangularcreate (const MatrixRectangular *mat)
 
static MatrixRectangularcreate (int nrow, int ncol)
 
static MatrixRectangularcreateFromVVD (const VectorVectorDouble &X)
 
static MatrixRectangularcreateFromVD (const VectorDouble &X, int nrow, int ncol, bool byCol=false, bool invertColumnOrder=false)
 
static MatrixRectangularglue (const AMatrix *A1, const AMatrix *A2, bool flagShiftRow, bool flagShiftCol)
 
static MatrixRectangularsample (const AMatrix *A, const VectorInt &rowKeep=VectorInt(), const VectorInt &colKeep=VectorInt(), bool flagInvertRow=false, bool flagInvertCol=false)
 Create an output Rectangular Matrix by selecting some rows and columns of the Input matrix 'A'. More...
 
- Static Public Member Functions inherited from ASerializable
static String buildFileName (int status, const String &filename, bool ensureDirExist=false)
 
static String getHomeDirectory (const String &sub="")
 
static String getWorkingDirectory ()
 
static String getTestData (const String &subdir, const String &filename)
 
static String getFileIdentity (const String &filename, bool verbose=false)
 
static void setContainerName (bool useDefault, const String &containerName="", bool verbose=false)
 
static void unsetContainerName ()
 
static void setPrefixName (const String &prefixName)
 
static void unsetPrefixName ()
 
static const StringgetContainerName ()
 
static const StringgetPrefixName ()
 
static bool createDirectory (const String &dir)
 
static String getExecDirectory ()
 
static String getDirectory (const String &path)
 

Public Attributes

 DECLARE_TOTL
 Has a specific implementation in the Target language. More...
 
- Public Attributes inherited from MatrixRectangular
 DECLARE_TOTL
 Has a specific implementation in the Target language. More...
 

Constructor & Destructor Documentation

◆ Table() [1/2]

Table::Table ( int  nrow = 0,
int  ncol = 0,
bool  skip_title = false,
bool  skip_description = false 
)

◆ Table() [2/2]

Table::Table ( const Table m)

◆ ~Table()

Table::~Table ( )
virtual

Member Function Documentation

◆ create()

Table * Table::create ( int  nrow = 0,
int  ncol = 0 
)
static

◆ createFromNames()

Table * Table::createFromNames ( const VectorString rownames,
const VectorString colnames 
)
static

◆ createFromNF()

Table * Table::createFromNF ( const String neutralFilename,
bool  verbose = true 
)
static

◆ createFromTable()

Table * Table::createFromTable ( const Table table)
static

◆ getAllRange()

VectorDouble Table::getAllRange ( ) const

◆ getColumnName()

String Table::getColumnName ( int  icol) const

◆ getColumnNames()

VectorString Table::getColumnNames ( ) const
inline

◆ getRange()

VectorDouble Table::getRange ( int  icol) const

◆ getRowName()

String Table::getRowName ( int  irow) const

◆ getRowNames()

VectorString Table::getRowNames ( ) const
inline

◆ getTitle()

const String& Table::getTitle ( ) const
inline

◆ operator=()

Table & Table::operator= ( const Table m)

◆ plot()

void Table::plot ( int  isimu) const

Plot the contents of the statistics

◆ reset()

void Table::reset ( int  nrows,
int  ncols 
)
overridevirtual

Cloneable interface.

Reimplemented from AMatrix.

◆ setColumnName()

void Table::setColumnName ( int  icol,
const String name 
)

◆ setColumnNames()

void Table::setColumnNames ( const VectorString colNames)

◆ setRowName()

void Table::setRowName ( int  irow,
const String name 
)

◆ setRowNames()

void Table::setRowNames ( const VectorString rowNames)

◆ setSkipDescription()

void Table::setSkipDescription ( bool  skipDescription)
inline

◆ setSkipTitle()

void Table::setSkipTitle ( bool  skipTitle)
inline

◆ setTitle()

void Table::setTitle ( const String title)
inline

◆ toString()

String Table::toString ( const AStringFormat strfmt = nullptr) const
overridevirtual

Print the contents of the statistics

Reimplemented from AMatrix.

Member Data Documentation

◆ DECLARE_TOTL

Table::DECLARE_TOTL

Has a specific implementation in the Target language.


The documentation for this class was generated from the following files: