#include <cstddef>
#include <iostream>
#include <polybori/cudd/cudd.h>
#include "config.h"
Go to the source code of this file.
Namespaces | |
namespace | polybori |
Classes | |
class | polybori::COrderEnums |
This struct contains type definitions and enumerations to be used for order codes. More... | |
class | polybori::CErrorEnums |
This struct contains type definitions and enumerations to be used for error codes. More... | |
class | polybori::CCompareEnums |
This struct contains type definitions and enumerations to be used for comparisons. More... | |
class | polybori::CAuxTypes |
This struct contains auxiliary type definitions. More... | |
class | polybori::CTypes |
This struct contains type definitions to be used in library classes. More... | |
Defines | |
#define | PBORI_UNIQUE_SLOTS CUDD_UNIQUE_SLOTS |
#define | PBORI_CACHE_SLOTS CUDD_CACHE_SLOTS |
#define | PBORI_MAX_MEMORY 0 |
#define | PBORI_LIKELY(expression) (expression) |
For optimizing if-branches. | |
#define | PBORI_UNLIKELY(expression) (expression) |
#define | PBORINAME polybori |
Name the project. | |
#define | PBORI_DEVELOPER |
Define deverloper's mode. | |
#define | BEGIN_NAMESPACE_PBORI namespace PBORINAME { |
Start project's namespace. | |
#define | END_NAMESPACE_PBORI } |
Finish project's namespace. | |
#define | USING_NAMESPACE_PBORI using namespace PBORINAME; |
Use project's namespace. | |
#define | PBORI PBORINAME |
Access something in project's namespace using PBORI::. | |
#define | USING_PBORI using PBORI |
Using something from project's namespace. | |
#define | PBORI_BEGIN_NAMESPACE(sub_space) namespace sub_space { |
Start some namespace. | |
#define | PBORI_END_NAMESPACE } |
Finish some namespace. | |
#define | PBORI_TRACE_FUNC(text) |
Generate trace function if debugging. | |
#define | PBORI_ASSERT(arg) (static_cast<void>(0)) |
#define | PBORI_OSTREAM std::ostream |
Get output stream type. | |
#define | PBORI_NOT_IMPLEMENTED throw PBORI::PBoRiError(PBORI::CTypes::not_implemented); |
#define | PBORI_ADD_BY_XOR |
#define | PBORI_LOWLEVEL_XOR |
#define | PBORI_USEDVARS_BY_IDX |
PBORI_NO_NAMESPACES
is undefined.#define BEGIN_NAMESPACE_PBORI namespace PBORINAME { |
Start project's namespace.
#define END_NAMESPACE_PBORI } |
Finish project's namespace.
#define PBORI PBORINAME |
Access something in project's namespace using PBORI::.
#define PBORI_ADD_BY_XOR |
#define PBORI_ASSERT | ( | arg | ) | (static_cast<void>(0)) |
Referenced by polybori::groebner::PolynomialSugar::add(), polybori::groebner::add_up_lex_sorted_exponents(), polybori::groebner::add_up_lex_sorted_monomials(), polybori::groebner::GroebnerStrategy::addGeneratorDelayed(), polybori::groebner::GroebnerStrategy::addGeneratorTrySplit(), polybori::groebner::PolynomialSugar::adjustLm(), polybori::CTermStackBase< NavigatorType, polybori::internal_tag >::append(), polybori::handle_else< NavigatorType >::append(), polybori::CBlockOrderingFacade< polybori::BlockDegRevLexAscOrder, polybori::block_tag >::appendBlock(), polybori::block_deg_lex_idx_compare(), polybori::BooleMonomial::BooleMonomial(), polybori::BoolePolynomial::BoolePolynomial(), polybori::BoolePolyRing::BoolePolyRing(), polybori::CCuddNavigator::CCuddNavigator(), polybori::groebner::GroebnerStrategy::checkChainCriterion(), polybori::CTermStackBase< NavigatorType, polybori::internal_tag >::clearOne(), polybori::CWeakPtr< polybori::CCuddCore >::CWeakPtr(), polybori::dd_cached_degree(), polybori::dd_divide_recursively(), polybori::dd_first_divisors_of(), polybori::dd_first_multiples_of(), polybori::dd_last_lexicographical_term(), polybori::dd_mapping(), polybori::dd_modulo_monomials(), polybori::dd_multiply_recursively_monom(), polybori::CCuddNavigator::decRef(), polybori::CTermStackBase< NavigatorType, polybori::internal_tag >::decrementNode(), polybori::CDegTermStack< NavigatorType, DescendingProperty, polybori::valid_tag, BaseType >::degTerm(), polybori::groebner::PairE::delayedPair(), polybori::groebner::do_fixed_path_divisors(), polybori::groebner::do_is_rewriteable(), polybori::groebner::do_minimal_elements_cudd_style(), polybori::groebner::do_plug_1(), polybori::groebner::PolynomialSugar::eliminationLength(), polybori::BoolePolynomial::eliminationLengthWithDegBound(), polybori::groebner::GroebnerStrategy::faugereStepDense(), polybori::groebner::FGLMStrategy::FGLMStrategy(), polybori::groebner::fill_matrix(), polybori::CDegTermStack< NavigatorType, DescendingProperty, polybori::valid_tag, BaseType >::findTerm(), polybori::CTermIter< StackType, TermGeneratorType >::firstIndex(), polybori::groebner::fix_point_iterate(), polybori::groebner::fixed_path_divisors(), polybori::fmemopen(), polybori::CBlockTermStack< NavigatorType, DescendingProperty, BaseType >::followDeg(), polybori::CDegTermStack< NavigatorType, DescendingProperty, polybori::valid_tag, BaseType >::followDeg(), polybori::CTermStackBase< NavigatorType, polybori::internal_tag >::followThen(), polybori::generate_mapping(), polybori::groebner::PolyEntryIndices::get(), polybori::CDegStackCore< NavigatorType, valid_tag, Category, BaseType >::gotoEnd(), polybori::CDegStackCore< NavigatorType, invalid_tag, Category, BaseType >::gotoEnd(), polybori::BooleSet::hasTermOfVariables(), polybori::groebner::PairE::ijPair(), polybori::groebner::LexBucket::increaseTailStart(), polybori::CCuddNavigator::incRef(), polybori::bounded_restricted_term< NaviType, DescendingProperty >::increment(), polybori::CBlockTermStack< NavigatorType, DescendingProperty, BaseType >::increment(), polybori::CDegTermStack< NavigatorType, DescendingProperty, polybori::valid_tag, BaseType >::increment(), polybori::CTermStack< NavigatorType, Category >::increment(), polybori::CExpIter< NaviType, ExpType >::increment(), polybori::CBlockTermStack< NavigatorType, DescendingProperty, BaseType >::incrementBlock(), polybori::CTermStackBase< NavigatorType, polybori::internal_tag >::incrementElse(), polybori::CCuddNavigator::incrementElse(), polybori::CTermStackBase< NavigatorType, polybori::internal_tag >::incrementThen(), polybori::CCuddNavigator::incrementThen(), polybori::CTermStack< NavigatorType, Category >::incrementValidElse(), polybori::groebner::interpolate(), polybori::groebner::interpolate_smallest_lex(), intrusive_ptr_release(), polybori::CDegTermStack< NavigatorType, DescendingProperty, polybori::valid_tag, BaseType >::invalidate(), polybori::groebner::MonomialTerms::isCompatible(), polybori::groebner::MonomialPlusOneTerms::isCompatible(), polybori::groebner::LLReductor::isCompatible(), polybori::CTermStackBase< NavigatorType, polybori::internal_tag >::isConstant(), polybori::CCuddNavigator::isConstant(), polybori::CTermStackBase< NavigatorType, polybori::internal_tag >::isInvalid(), polybori::CTermStackBase< NavigatorType, polybori::internal_tag >::isTerminated(), polybori::groebner::LexBucket::isZero(), polybori::groebner::linalg_step_modified(), polybori::groebner::LiteralFactorization::LiteralFactorization(), polybori::groebner::LLReductor::LLReductor(), polybori::lower_term_accumulate(), polybori::groebner::FGLMStrategy::main(), polybori::CTermStackBase< NavigatorType, polybori::internal_tag >::markOne(), polybori::cached_block_deg< NavigatorType >::min(), polybori::groebner::minimal_elements_internal2(), polybori::groebner::mod_deg2_set(), polybori::CTermStackBase< NavigatorType, polybori::internal_tag >::navigation(), polybori::CDegStackCore< NavigatorType, valid_tag, Category, BaseType >::next(), polybori::bounded_restricted_term< NaviType, DescendingProperty >::nextThen(), polybori::groebner::nf3(), polybori::groebner::nf3_degree_order(), polybori::groebner::nf3_lexbuckets(), polybori::groebner::nf3_no_deg_growth(), polybori::groebner::nf3_short(), polybori::groebner::GroebnerStrategy::noroStep(), polybori::groebner::ShorterEliminationLengthModified::operator()(), polybori::groebner::LLReduction< have_redsb, single_call_for_noredsb, fast_multiplication >::operator()(), polybori::CTermGeneratorBase__< TermType, type_tag< BooleMonomial > >::operator()(), polybori::CExtrusivePtr< ring_type, node_type >::operator*(), polybori::CCuddNavigator::operator*(), polybori::bounded_restricted_term< NaviType, DescendingProperty >::operator++(), polybori::cached_block_deg< NavigatorType >::operator++(), polybori::CCuddLastIter::operator++(), polybori::cached_block_deg< NavigatorType >::operator--(), polybori::CExtrusivePtr< ring_type, node_type >::operator->(), polybori::groebner::p2code(), polybori::groebner::PairE::PairE(), polybori::groebner::PairLS::PairLS(), polybori::groebner::parallel_reduce(), polybori::groebner::PolynomialSugar::PolynomialSugar(), polybori::BooleMonomial::popFirst(), polybori::CDegStackCore< NavigatorType, valid_tag, Category, BaseType >::previous(), polybori::groebner::PolyEntry::recomputeInformation(), polybori::CCuddNavigator::recursiveDecRef(), polybori::groebner::recursively_insert(), polybori::groebner::red_tail_general(), polybori::groebner::red_tail_generic(), polybori::groebner::SlimgbReduction< variant >::reduce(), polybori::groebner::reduce_by_binom(), polybori::groebner::reduce_by_binom_in_tail(), polybori::groebner::reduce_by_small_entry(), polybori::CCuddDDFacade< polybori::BoolePolyRing, polybori::BooleSet >::refCount(), polybori::groebner::ReductionTerms::related(), polybori::CTermStackBase< NavigatorType, polybori::internal_tag >::restart(), polybori::groebner::FGLMStrategy::setupMultiplicationTables(), polybori::groebner::ReductionStrategy::setupSetsForElement(), polybori::groebner::sum_size(), polybori::term_accumulate(), polybori::CCuddNavigator::terminalValue(), polybori::CTermStack< NavigatorType, Category >::terminate(), polybori::groebner::FGLMStrategy::testMultiplicationTables(), polybori::CTermStackBase< NavigatorType, polybori::internal_tag >::top(), polybori::groebner::translate_back(), polybori::groebner::GroebnerStrategy::treatVariablePairs(), polybori::groebner::PolyEntryIndices::update(), and polybori::groebner::zeros().
#define PBORI_BEGIN_NAMESPACE | ( | sub_space | ) | namespace sub_space { |
Start some namespace.
#define PBORI_CACHE_SLOTS CUDD_CACHE_SLOTS |
#define PBORI_DEVELOPER |
Define deverloper's mode.
#define PBORI_END_NAMESPACE } |
Finish some namespace.
#define PBORI_LIKELY | ( | expression | ) | (expression) |
For optimizing if-branches.
Referenced by polybori::groebner::fix_point_iterate(), polybori::groebner::linalg_step_modified(), polybori::groebner::GroebnerStrategy::noroStep(), polybori::groebner::LLReduction< have_redsb, single_call_for_noredsb, fast_multiplication >::operator()(), polybori::groebner::red_tail_general(), polybori::groebner::red_tail_generic(), and polybori::CIndexCacheHandle< NaviType >::toNode().
#define PBORI_LOWLEVEL_XOR |
#define PBORI_MAX_MEMORY 0 |
#define PBORI_NOT_IMPLEMENTED throw PBORI::PBoRiError(PBORI::CTypes::not_implemented); |
#define PBORI_OSTREAM std::ostream |
Get output stream type.
#define PBORI_TRACE_FUNC | ( | text | ) |
Generate trace function if debugging.
Referenced by polybori::BooleSet::add(), polybori::BooleSet::begin(), polybori::BoolePolynomial::begin(), polybori::BooleExponent::BooleExponent(), polybori::BooleMonomial::BooleMonomial(), polybori::BoolePolynomial::BoolePolynomial(), polybori::BoolePolyRing::BoolePolyRing(), polybori::BoolePolynomial::boundedLead(), polybori::BoolePolynomial::boundedLeadExp(), polybori::CCuddLastIter::CCuddLastIter(), polybori::CErrorInfo::CErrorInfo(), polybori::BooleMonomial::change(), polybori::BooleExponent::change(), polybori::BooleExponent::changeAssign(), polybori::BoolePolyRing::changeOrdering(), polybori::PBoRiError::code(), polybori::LexOrder::compare(), polybori::DegRevLexAscOrder::compare(), polybori::DegLexOrder::compare(), polybori::BoolePolynomial::compare(), polybori::BooleMonomial::compare(), polybori::BlockDegRevLexAscOrder::compare(), polybori::BlockDegLexOrder::compare(), polybori::BoolePolynomial::deg(), polybori::BoolePolynomial::degBegin(), polybori::BoolePolynomial::degEnd(), polybori::BooleExponent::divide(), polybori::BooleExponent::divisors(), polybori::BooleSet::divisorsOf(), polybori::BooleSet::end(), polybori::BoolePolynomial::end(), polybori::BooleSet::existAbstract(), polybori::BooleMonomial::exp(), polybori::BooleSet::expBegin(), polybori::BoolePolynomial::expBegin(), polybori::BooleSet::expEnd(), polybori::BoolePolynomial::expEnd(), polybori::BoolePolynomial::fetchTerms(), polybori::BoolePolynomial::firstBegin(), polybori::BoolePolynomial::firstDivisors(), polybori::BooleSet::firstDivisorsOf(), polybori::BoolePolynomial::firstEnd(), polybori::BoolePolynomial::firstTerm(), polybori::BooleMonomial::firstVariable(), polybori::BooleMonomial::GCD(), polybori::BooleExponent::GCD(), polybori::BooleMonomial::GCDAssign(), polybori::BoolePolynomial::genericBegin(), polybori::BoolePolynomial::genericEnd(), polybori::BoolePolynomial::genericExpBegin(), polybori::BoolePolynomial::genericExpEnd(), polybori::BooleExponent::get(), polybori::BoolePolynomial::gradedPart(), polybori::BooleSet::hasTermOfVariables(), polybori::CCuddNavigator::incrementElse(), polybori::CCuddNavigator::incrementThen(), polybori::BooleExponent::insert(), polybori::BooleExponent::insertConst(), polybori::CCuddNavigator::isConstant(), polybori::BooleSet::lastLexicographicalTerm(), polybori::BooleMonomial::LCM(), polybori::BooleExponent::LCM(), polybori::BooleMonomial::LCMAssign(), polybori::BooleMonomial::LCMDeg(), polybori::BooleExponent::LCMDeg(), polybori::LexOrder::lead(), polybori::DegRevLexAscOrder::lead(), polybori::DegLexOrder::lead(), polybori::BoolePolynomial::lead(), polybori::BoolePolynomial::leadDeg(), polybori::LexOrder::leadExp(), polybori::DegRevLexAscOrder::leadExp(), polybori::DegLexOrder::leadExp(), polybori::BoolePolynomial::leadExp(), polybori::BoolePolynomial::leadFirst(), polybori::BoolePolynomial::leadStableHash(), polybori::BoolePolynomial::leadTotalDeg(), polybori::BoolePolynomial::length(), polybori::BoolePolynomial::lexLead(), polybori::BoolePolynomial::lexLeadDeg(), polybori::BooleMonomial::multiples(), polybori::BooleExponent::multiples(), polybori::BooleExponent::multiply(), polybori::BooleExponent::multiplyFirst(), polybori::BoolePolynomial::nNodes(), polybori::BoolePolynomial::nUsedVariables(), polybori::BoolePolynomial::operator%=(), polybori::CCuddNavigator::operator*(), polybori::BoolePolynomial::operator*=(), polybori::BooleMonomial::operator*=(), polybori::CCuddLastIter::operator++(), polybori::BoolePolynomial::operator+=(), polybori::BoolePolynomial::operator/=(), polybori::BooleMonomial::operator/=(), polybori::BoolePolynomial::orderedBegin(), polybori::BoolePolynomial::orderedEnd(), polybori::BoolePolynomial::orderedExpBegin(), polybori::BoolePolynomial::orderedExpEnd(), polybori::BooleSet::owns(), polybori::PBoRiError::PBoRiError(), polybori::BooleSet::print(), polybori::BoolePolynomial::print(), polybori::BooleExponent::print(), polybori::BooleExponent::push_back(), polybori::BooleSet::rbegin(), polybori::BooleMonomial::reducibleBy(), polybori::BooleExponent::reducibleBy(), polybori::BooleExponent::remove(), polybori::BooleExponent::removeConst(), polybori::BooleSet::rend(), polybori::BooleSet::rExpBegin(), polybori::BooleSet::rExpEnd(), polybori::CCuddNavigator::terminalValue(), polybori::CCuddLastIter::terminateConstant(), polybori::BoolePolynomial::terms(), polybori::PBoRiError::text(), polybori::CErrorInfo::text(), polybori::BoolePolynomial::totalDeg(), polybori::BooleSet::usedVariables(), polybori::BoolePolynomial::usedVariables(), polybori::BooleSet::usedVariablesExp(), polybori::BoolePolynomial::usedVariablesExp(), polybori::BooleExponent::~BooleExponent(), polybori::CCuddLastIter::~CCuddLastIter(), and polybori::PBoRiError::~PBoRiError().
#define PBORI_UNIQUE_SLOTS CUDD_UNIQUE_SLOTS |
#define PBORI_UNLIKELY | ( | expression | ) | (expression) |
Referenced by polybori::groebner::add_up_lex_sorted_exponents(), polybori::CBlockOrderingFacade< polybori::BlockDegRevLexAscOrder, polybori::block_tag >::appendBlock(), polybori::block_deg_lex_idx_compare(), polybori::CCuddInterface::BOOST_PP_SEQ_FOR_EACH(), polybori::CCheckedIdx::CCheckedIdx(), polybori::BooleSet::change(), polybori::CCuddDDFacade< polybori::BoolePolyRing, polybori::BooleSet >::checkAssumption(), polybori::CCuddInterface::checkedResult(), polybori::CApplyNodeFacade< polybori::BooleSet, DdNode * >::checkSameManager(), polybori::groebner::GroebnerStrategy::checkVariableCriteria(), polybori::dd_recursive_degree_lead(), polybori::dd_recursive_degree_leadexp(), polybori::CTermStack< NavigatorType, Category >::decrement(), polybori::groebner::do_plug_1(), polybori::BooleMonomial::firstVariable(), polybori::groebner::fix_point_iterate(), polybori::CIndexHandle< NaviType >::fromNode(), polybori::groebner::ReductionStrategy::headNormalForm(), polybori::CTermStack< NavigatorType, Category >::increment(), polybori::CCuddInterface::init(), polybori::COrderingFacade< polybori::DegRevLexAscOrder, polybori::dp_asc_tag >::inSameBlockInternal(), polybori::BooleSet::lastLexicographicalTerm(), polybori::BoolePolynomial::leadDeg(), polybori::BoolePolynomial::lexLeadDeg(), polybori::groebner::linalg_step(), polybori::groebner::linalg_step_modified(), polybori::groebner::LiteralFactorization::LiteralFactorization(), polybori::CTermStackBase< NavigatorType, polybori::internal_tag >::markedOne(), polybori::groebner::ReductionStrategy::minimum(), polybori::COrderingBase::monom(), polybori::groebner::PairManager::nextSpoly(), polybori::groebner::GroebnerStrategy::noroStep(), polybori::VariableBlock::operator()(), polybori::groebner::LLReduction< have_redsb, single_call_for_noredsb, fast_multiplication >::operator()(), polybori::groebner::CountCriterion::operator()(), polybori::BoolePolynomial::operator/=(), polybori::BooleMonomial::operator/=(), polybori::CVariableNames::operator[](), polybori::groebner::pbori_transpose(), polybori::groebner::red_tail(), polybori::groebner::red_tail_general(), polybori::groebner::red_tail_generic(), polybori::CVariableNames::set(), polybori::CTermStack< NavigatorType, Category >::terminate(), polybori::CErrorInfo::text(), polybori::groebner::translate_back(), polybori::groebner::unite_polynomials(), and polybori::groebner::PolyEntryIndices::update().
#define PBORI_USEDVARS_BY_IDX |
#define PBORINAME polybori |
Name the project.
#define USING_NAMESPACE_PBORI using namespace PBORINAME; |
Use project's namespace.
#define USING_PBORI using PBORI |
Using something from project's namespace.