PolyBoRi
|
#include <groebner_alg.h>
Public Types | |
typedef std::priority_queue < Pair, std::vector< PairE > , PairECompare > | queue_type |
Public Member Functions | |
PairManager (GroebnerStrategy &strat) | |
void | appendHiddenGenerators (std::vector< Polynomial > &vec) |
void | introducePair (const Pair &p) |
Polynomial | nextSpoly (const PolyEntryVector &gen) |
bool | pairSetEmpty () const |
void | cleanTopByChainCriterion () |
Public Attributes | |
PairStatusSet | status |
GroebnerStrategy * | strat |
queue_type | queue |
Protected Member Functions | |
void | replacePair (int &i, int &j) |
typedef std::priority_queue<Pair,std::vector<PairE>, PairECompare> polybori::groebner::PairManager::queue_type |
polybori::groebner::PairManager::PairManager | ( | GroebnerStrategy & | strat | ) | [inline] |
void polybori::groebner::PairManager::appendHiddenGenerators | ( | std::vector< Polynomial > & | vec | ) |
void polybori::groebner::PairManager::cleanTopByChainCriterion | ( | ) |
References polybori::groebner::GroebnerStrategy::chainCriterions, polybori::BooleExponent::divisors(), polybori::BooleSet::expBegin(), polybori::BooleSet::expEnd(), polybori::groebner::GroebnerStrategy::extendedProductCriterions, polybori::groebner::GroebnerStrategy::generators, polybori::groebner::PairStatusSet::hasTRep(), polybori::groebner::VariablePairData::i, polybori::groebner::IJPairData::i, polybori::groebner::IJ_PAIR, polybori::groebner::IJPairData::j, polybori::groebner::ReductionStrategy::leadingTerms, polybori::groebner::GroebnerStrategy::log(), polybori::groebner::GroebnerStrategy::pairs, pairSetEmpty(), queue, polybori::groebner::PairStatusSet::setToHasTRep(), status, strat, UNLIKELY, polybori::groebner::VariablePairData::v, polybori::groebner::VARIABLE_PAIR, and polybori::groebner::GroebnerStrategy::variableChainCriterions.
void polybori::groebner::PairManager::introducePair | ( | const Pair & | p | ) |
References polybori::groebner::PairE::getType(), polybori::groebner::IJ_PAIR, and polybori::groebner::PairE::sugar.
Referenced by polybori::groebner::GroebnerStrategy::addGeneratorDelayed(), polybori::groebner::GroebnerStrategy::addVariablePairs(), and polybori::groebner::GroebnerStrategy::treatNormalPairs().
Polynomial polybori::groebner::PairManager::nextSpoly | ( | const PolyEntryVector & | gen | ) |
References polybori::groebner::VariablePairData::i, polybori::groebner::IJPairData::i, polybori::groebner::IJ_PAIR, polybori::BoolePolynomial::isZero(), polybori::groebner::IJPairData::j, polybori::BoolePolynomial::lead(), polybori::spoly(), UNLIKELY, polybori::groebner::VariablePairData::v, and polybori::groebner::VARIABLE_PAIR.
bool polybori::groebner::PairManager::pairSetEmpty | ( | ) | const |
Referenced by cleanTopByChainCriterion().
void polybori::groebner::PairManager::replacePair | ( | int & | i, |
int & | j | ||
) | [protected] |
Referenced by cleanTopByChainCriterion(), and polybori::groebner::GroebnerStrategy::GroebnerStrategy().