COPASI API  4.40.278
CStepMatrix Class Reference

#include <CStepMatrix.h>

Inheritance diagram for CStepMatrix:
[legend]

Public Types

typedef CStepMatrixColumn *const * const_iterator
 

Public Member Functions

void add (CStepMatrixColumn *pColumn)
 
CStepMatrixColumnaddColumn (const CZeroSet &set, const CStepMatrixColumn *pPositive, const CStepMatrixColumn *pNegative)
 
const_iterator begin () const
 
void compact ()
 
void convertRow ()
 
 CStepMatrix (CMatrix< C_INT64 > &nullspaceMatrix)
 
 CStepMatrix (size_t rows)
 
const_iterator end () const
 
void getAllUnsetBitIndexes (const CStepMatrixColumn *pColumn, CVector< size_t > &indexes) const
 
size_t getFirstUnconvertedRow () const
 
size_t getNumUnconvertedRows () const
 
void getUnsetBitIndexes (const CStepMatrixColumn *pColumn, CVector< size_t > &indexes) const
 
void removeColumn (CStepMatrixColumn *pColumn)
 
void removeInvalidColumns (std::vector< CStepMatrixColumn * > &invalidColumns)
 
bool splitColumns (std::vector< CStepMatrixColumn * > &PositiveColumns, std::vector< CStepMatrixColumn * > &NegativeColumns, std::vector< CStepMatrixColumn * > &NullColumns)
 
 ~CStepMatrix ()
 

Private Types

typedef CStepMatrixColumn ** iterator
 
- Private Types inherited from CVectorCore< CType >
typedef CType elementType
 

Private Member Functions

void convertRow (const size_t &index, CMatrix< C_INT64 > &nullspaceMatrix)
 
 CStepMatrix ()
 
- Private Member Functions inherited from CVector< CStepMatrixColumn * >
 CVector (const CVector< CStepMatrixColumn * > &src)
 
 CVector (const CVectorCore< CStepMatrixColumn * > &src)
 
 CVector (size_t size=0)
 
CVector< CStepMatrixColumn * > & operator= (const CStepMatrixColumn * &value)
 
CVector< CStepMatrixColumn * > & operator= (const CVector< CStepMatrixColumn * > &rhs)
 
CVector< CStepMatrixColumn * > & operator= (const CVectorCore< CStepMatrixColumn * > &rhs)
 
void resize (size_t size, const bool &copy=false)
 
virtual ~CVector ()
 
void copy (const CVectorCore< CStepMatrixColumn * > &rhs)
 
- Private Member Functions inherited from CVectorCore< CType >
bool applyPivot (const CVectorCore< size_t > &pivot)
 
CType * array ()
 
const CType * array () const
 
CType * begin ()
 
const CType * begin () const
 
 CVectorCore (const size_t &size=0, CType *buffer=NULL)
 
CType * end ()
 
const CType * end () const
 
void initialize (const CVectorCore< CType > &src)
 
void initialize (const size_t &size, const CType *vector)
 
CType & operator() (const size_t &row)
 
const CType & operator() (const size_t &row) const
 
CVectorCore< CType > & operator= (const CType &value)
 
CVectorCore< CType > & operator= (const CVectorCore< CType > &rhs)
 
bool operator== (const CVectorCore< CType > &rhs) const
 
CType & operator[] (const size_t &row)
 
const CType & operator[] (const size_t &row) const
 
size_t size () const
 
virtual ~CVectorCore ()
 

Private Attributes

iterator mBeyond
 
size_t mFirstUnconvertedRow
 
iterator mInsert
 
CVector< size_t > mPivot
 
size_t mRows
 
- Private Attributes inherited from CVectorCore< CType >
CType * mpBuffer
 
size_t mSize
 

Friends

std::ostream & operator<< (std::ostream &, const CStepMatrix &)
 

Member Typedef Documentation

◆ const_iterator

◆ iterator

Constructor & Destructor Documentation

◆ CStepMatrix() [1/3]

CStepMatrix::CStepMatrix ( )
private

◆ CStepMatrix() [2/3]

CStepMatrix::CStepMatrix ( size_t  rows)

◆ CStepMatrix() [3/3]

◆ ~CStepMatrix()

CStepMatrix::~CStepMatrix ( )

Member Function Documentation

◆ add()

◆ addColumn()

CStepMatrixColumn * CStepMatrix::addColumn ( const CZeroSet set,
const CStepMatrixColumn pPositive,
const CStepMatrixColumn pNegative 
)

Add the linear combination of the two columns to the step matrix if appropriate and remove columns if necessary.

Parameters
constCZeroSet & set
constCStepMatrixColumn * pPositive
constCStepMatrixColumn * pNegative
Returns
CStepMatrixColumn * pColumn

References add().

Referenced by CBitPatternTreeMethod::combine(), and CBitPatternMethod::combine().

◆ begin()

◆ compact()

void CStepMatrix::compact ( )

◆ convertRow() [1/2]

◆ convertRow() [2/2]

void CStepMatrix::convertRow ( const size_t &  index,
CMatrix< C_INT64 > &  nullspaceMatrix 
)
private

◆ end()

◆ getAllUnsetBitIndexes()

void CStepMatrix::getAllUnsetBitIndexes ( const CStepMatrixColumn pColumn,
CVector< size_t > &  indexes 
) const

◆ getFirstUnconvertedRow()

size_t CStepMatrix::getFirstUnconvertedRow ( ) const

◆ getNumUnconvertedRows()

◆ getUnsetBitIndexes()

◆ removeColumn()

void CStepMatrix::removeColumn ( CStepMatrixColumn pColumn)

◆ removeInvalidColumns()

◆ splitColumns()

bool CStepMatrix::splitColumns ( std::vector< CStepMatrixColumn * > &  PositiveColumns,
std::vector< CStepMatrixColumn * > &  NegativeColumns,
std::vector< CStepMatrixColumn * > &  NullColumns 
)

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  os,
const CStepMatrix m 
)
friend

Member Data Documentation

◆ mBeyond

iterator CStepMatrix::mBeyond
private

Referenced by add(), and CStepMatrix().

◆ mFirstUnconvertedRow

size_t CStepMatrix::mFirstUnconvertedRow
private

◆ mInsert

iterator CStepMatrix::mInsert
private

◆ mPivot

CVector< size_t > CStepMatrix::mPivot
private

◆ mRows

size_t CStepMatrix::mRows
private

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