#include <LiteralFactorization.h>
Public Types | |
typedef LiteralFactorizationIterator | const_iterator |
typedef std::map< idx_type, int > | map_type |
typedef std::map< idx_type, idx_type > | var2var_map_type |
Public Member Functions | |
LiteralFactorization (const Polynomial &) | |
bool | occursAsLeadOfFactor (idx_type v) const |
bool | trivial () const |
bool | is11Factorization () const |
bool | is00Factorization () const |
const_iterator | begin () |
const_iterator | end () |
Public Attributes | |
map_type | factors |
Polynomial | rest |
deg_type | lmDeg |
var2var_map_type | var2var_map |
typedef std::map<idx_type, int> polybori::groebner::LiteralFactorization::map_type |
typedef std::map<idx_type, idx_type> polybori::groebner::LiteralFactorization::var2var_map_type |
polybori::groebner::LiteralFactorization::LiteralFactorization | ( | const Polynomial & | p | ) |
References polybori::BooleExponent::begin(), polybori::BooleSet::change(), polybori::BooleExponent::end(), end(), factors, polybori::CCompareEnums::greater_than, polybori::CCuddDDFacade< RingType, DiagramType >::isZero(), polybori::BoolePolynomial::isZero(), polybori::BoolePolynomial::leadDeg(), polybori::BoolePolynomial::leadExp(), polybori::BooleSet::length(), lmDeg, PBORI_ASSERT, PBORI_UNLIKELY, rest, polybori::BoolePolynomial::ring(), polybori::CCuddDDFacade< RingType, DiagramType >::ring(), polybori::BoolePolynomial::usedVariablesExp(), and var2var_map.
bool polybori::groebner::LiteralFactorization::occursAsLeadOfFactor | ( | idx_type | v | ) | const |
bool polybori::groebner::LiteralFactorization::trivial | ( | ) | const |
References factors, polybori::BoolePolynomial::isOne(), rest, and var2var_map.
Referenced by polybori::groebner::GroebnerStrategy::addNonTrivialImplicationsDelayed().
bool polybori::groebner::LiteralFactorization::is11Factorization | ( | ) | const |
References factors, lmDeg, and polybori::groebner::maps_to_zero().
Referenced by polybori::groebner::LeadingTerms11::isCompatible(), and polybori::groebner::ReductionTerms::related().
bool polybori::groebner::LiteralFactorization::is00Factorization | ( | ) | const |
References factors, lmDeg, and polybori::groebner::maps_to_one().
Referenced by polybori::groebner::LeadingTerms00::isCompatible(), and polybori::groebner::ReductionTerms::related().
LiteralFactorization::const_iterator polybori::groebner::LiteralFactorization::begin | ( | ) |
LiteralFactorization::const_iterator polybori::groebner::LiteralFactorization::end | ( | ) |
References factors, and var2var_map.
Referenced by polybori::groebner::easy_linear_factors(), and LiteralFactorization().
Referenced by polybori::groebner::GroebnerStrategy::addNonTrivialImplicationsDelayed(), begin(), polybori::groebner::common_literal_factors_deg(), end(), is00Factorization(), is11Factorization(), LiteralFactorization(), polybori::groebner::multiply_with_literal_factors(), occursAsLeadOfFactor(), polybori::groebner::LiteralFactorizationIterator::operator*(), polybori::groebner::LiteralFactorizationIterator::operator++(), polybori::groebner::GroebnerStrategy::treatVariablePairs(), and trivial().
Referenced by polybori::groebner::GroebnerStrategy::addGeneratorTrySplit(), polybori::groebner::GroebnerStrategy::addNonTrivialImplicationsDelayed(), polybori::groebner::common_literal_factors_deg(), LiteralFactorization(), occursAsLeadOfFactor(), polybori::groebner::GroebnerStrategy::treatVariablePairs(), and trivial().
Referenced by is00Factorization(), is11Factorization(), and LiteralFactorization().
Referenced by polybori::groebner::GroebnerStrategy::addNonTrivialImplicationsDelayed(), begin(), polybori::groebner::common_literal_factors_deg(), end(), LiteralFactorization(), polybori::groebner::multiply_with_literal_factors(), occursAsLeadOfFactor(), polybori::groebner::LiteralFactorizationIterator::operator*(), polybori::groebner::LiteralFactorizationIterator::operator++(), polybori::groebner::GroebnerStrategy::treatVariablePairs(), and trivial().