19 #ifndef COPASI_CBitPatternMethod
20 #define COPASI_CBitPatternMethod
59 assert(m > 0 && n > 0);
139 std::stack< CStepMatrixColumn * > kernelStack);
149 const std::vector< CStepMatrixColumn * > NullColumns);
260 #endif // COPASI_CBitPatternTreeMethod
void buildKernelMatrix(CMatrix< C_INT64 > &kernel)
void combine(const CStepMatrixColumn *pPositive, const CStepMatrixColumn *pNegative, const std::vector< CStepMatrixColumn * > NullColumns)
static void GCD(C_INT64 &m, C_INT64 &n)
static CEFMMethod * createMethod(CCopasiMethod::SubType subType=CCopasiMethod::EFMAlgorithm)
void buildFluxModeMatrix(CStepMatrix *fluxModeMatrix, std::stack< CStepMatrixColumn * > kernelStack)
unsigned C_INT32 mProgressCounterMax
void findRemoveInvalidColumns(const std::vector< CStepMatrixColumn * > &nullColumns)
unsigned C_INT32 mProgressCounter2Max
void getAllUnsetBitIndexes(const CStepMatrixColumn *pColumn, CVector< size_t > &indexes) const
void addMode(const CFluxMode &mode)
unsigned C_INT32 mProgressCounter
CStepMatrix * mpStepMatrix
CBitPatternMethod(const CCopasiContainer *pParent=NULL)
size_t mhProgressCounter2
CMatrix< C_INT64 > mExpandedStoiTranspose
CMatrix< C_INT64 > performRankTest(CStepMatrixColumn *pIntersectColumn)
std::vector< std::pair< size_t, bool > > mReactionForward
virtual bool initialize()
CVector< size_t > mReactionPivot
void getUnsetBitIndexes(const CStepMatrixColumn *pColumn, CVector< size_t > &indexes) const
bool mContinueCombination
static bool CalculateKernel(CMatrix< C_INT64 > &matrix, CMatrix< C_INT64 > &kernel, CVector< size_t > &rowPivot)
std::vector< CStepMatrixColumn * > mNewColumns
unsigned C_INT32 mProgressCounter2