pbori_defs.h File Reference

#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


Detailed Description

Author:
Alexander Dreyer
Date:
2006-03-06
This file defines some types, macros and other settings to be used with the polybori library.

Note:
Uses c++ namespace if PBORI_NO_NAMESPACES is undefined.
Copyright:
(c) 2006-2010 by The PolyBoRi Team

Define Documentation

#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)

#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

Note:
PolyBoRi comes with a special copy of Cudd

#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.


Generated on Wed Jan 30 16:39:51 2013 for PolyBoRi by  doxygen 1.5.6