Classes | |
class | BlockDegLexOrder |
This class defines ordering related functions. More... | |
class | BlockDegRevLexAscOrder |
This class defines ordering related functions. More... | |
class | BooleConstant |
This class wraps a bool value, which was not converted to a boolean polynomial or monomial yet. More... | |
class | BooleEnv |
This class is just a wrapper accessing global structures. More... | |
class | BooleExponent |
This class is just a wrapper for using variables for storing indices as interim data structure for BooleMonomial. More... | |
class | BooleMonomial |
This class is just a wrapper for using variables from cudd's decicion diagram. More... | |
class | BoolePolynomial |
This class wraps the underlying decicion diagram type and defines the necessary operations. More... | |
class | BoolePolyRing |
This class reinterprets decicion diagram managers as Boolean polynomial rings, adds an ordering and variable names. More... | |
class | BooleSet |
class | BooleSetSequence |
This class converts a BooleSet to a sequence-like structure. More... | |
class | BooleVariable |
This class is just a wrapper for using variables from cudd's decicion diagram. More... | |
class | CacheManager |
class | CommutativeCacheManager |
class | CCacheTypes |
struct | count_tags< CCacheTypes::divisorsof_fixedpath > |
struct | increment_count_tags |
class | count_tags< CCacheTypes::testwise_ternary > |
class | count_tags< CCacheTypes::left_equals_right_x_branch_and_r_has_fac_x > |
class | count_tags< CCacheTypes::has_factor_x_plus_y > |
class | cudd_tag_number |
class | CCuddLikeMgrStorage |
struct | pbori_base< CCacheManBase< CCuddInterface, CacheType, ArgumentLength > > |
struct | pbori_base< CCacheManBase< BoolePolyRing, CacheType, ArgumentLength > > |
struct | pbori_base< CCacheManBase< boost::intrusive_ptr< CCuddCore >, CacheType, ArgumentLength > > |
class | CCacheManBase< ManagerType, CacheType, 0 > |
class | CCacheManBase< ManagerType, CacheType, 1 > |
class | CCacheManBase< ManagerType, CacheType, 2 > |
class | CCacheManBase< ManagerType, CacheType, 3 > |
class | CCacheManagement |
This template class forms the base for CCommutativeCacheManagement and CacheManager. It is an interface defining find and insert on decision diagram cache. More... | |
class | CCommutativeCacheManagement |
class | CIndexHandle |
This class defines an uses an navigator-like type for storing integer values from 0 upto nmax (number of currently active ring variables). More... | |
class | CIndexCacheHandle |
class | CDegreeCache |
class | CBoundedDegreeCache |
class | CBlockDegreeCache |
class | CDegreeArgumentCache |
class | CCheckedIdx |
This class defines CCheckedIdx. More... | |
class | CExtrusivePtr |
This template class defines a reimplementation of the interface from boost:intrusive_ptr, but with an additional data field. More... | |
class | CWeakPtr |
This class defines CWeakPtr. More... | |
class | CWeakPtrFacade |
This class defines CWeakPtrFacade. More... | |
class | invalid_tag |
This class shows, whether a property of an order is invalid. More... | |
class | valid_tag |
This class shows, whether a property of an order is valid. More... | |
struct | invert_tag< valid_tag > |
struct | invert_tag< invalid_tag > |
class | and_tag |
and_tag<valid_tag, valid_tag> -> valid_tag, otherwise invalid_tag. More... | |
struct | and_tag< valid_tag, valid_tag > |
class | navigator_tag |
for iterator_category More... | |
class | equality_property |
class | pbori_traits |
This class contains property definitions to be used in polybori classes. More... | |
class | pbori_traits< void > |
class | pbori_traits< int > |
class | pbori_traits< unsigned int > |
class | pbori_traits< long int > |
class | pbori_traits< std::set< ValueType > > |
class | pbori_traits< std::vector< ValueType > > |
class | pbori_binary_traits< OnlyType, OnlyType > |
class | pbori_binary_traits |
This class contains property definitions related to two types to be used in polybori classes. More... | |
struct | manager_traits |
struct | cudd_error_traits |
class | TransformedSequence |
This class converts a sequence-like structure when iterating. More... | |
class | DegLexOrder |
This class defines ordering related functions. More... | |
class | DegRevLexAscOrder |
This class defines ordering related functions. More... | |
class | CApplyNodeFacade |
This template class defines a facade as a C++ interface for applying C-style functions to C-style structs, which represent decision diagrams. It is used to wrapp functions calls to raw pointers of the nodes and the context to an C++-style object. More... | |
class | CCuddDDFacade |
This template class defines a facade for decision diagrams. More... | |
class | CDDOperations |
class | CNodeCounter |
This class defines CNodeCounter. More... | |
class | Interpreter |
class | DerefProxy |
class | dict |
class | tuple |
class | object |
class | CErrorInfo |
class | PBoRiError |
This class is used for polybori's exception handling. More... | |
class | PBoRiGenericError |
This template class is used for polybori's exception handling. More... | |
class | CFactoryBase |
This base class CFactoryBase is used for currying other constructors with a BoolePolyRing. More... | |
class | MonomialFactory |
This base class MonomialFactory is used for currying monomial constructors with a BoolePolyRing. More... | |
class | PolynomialFactory |
This base class PolynomialFactory is used for currying polynomial constructors with a BoolePolyRing. More... | |
class | SetFactory |
This base class SetFactory is used for currying set constructors with a BoolePolyRing. More... | |
class | VariableIndexException |
class | VariableBlock |
This class defines a VariableBlock. More... | |
class | VariableFactory |
This base class VariableFactory is used for currying variable constructors with a BoolePolyRing. More... | |
class | handle_else |
class | CCuddFirstIter |
This class defines an iterator over the first minimal term of a given ZDD node. More... | |
class | CCuddLastIter |
This class defines an iterator over the last minimal term of a given ZDD node. More... | |
class | CCuddNavigator |
This class defines an iterator for navigating through then and else branches of ZDDs. More... | |
class | CExpGenerator |
struct | pbori_base< CExpIter< NaviType, ExpType > > |
class | CExpIter |
struct | pbori_base< CGenericIter< OrderType, NaviType, RefType > > |
class | CGenericIter |
struct | pbori_base< CReverseIter< OrderType, NaviType, RefType > > |
class | CReverseIter |
class | CAbstractStackBase |
class | CWrappedStack |
class | COrderedIter |
class | CGenericOrderedIter |
class | CGenericOrderedIter< OrderType, NavigatorType, BooleExponent > |
class | CStackSelector |
class | CTermGeneratorBase__< TermType, type_tag< BooleExponent > > |
class | CTermGeneratorBase__< TermType, type_tag< CTypes::size_type > > |
class | CTermGeneratorBase__< TermType, type_tag< CTypes::deg_type > > |
class | CTermGeneratorBase__< TermType, type_tag< BooleMonomial > > |
class | CTermGeneratorBase |
class | CTermGenerator |
class | CTermGenerator< BooleMonomial > |
class | CTermIter |
This class defines an iterator for the monomials in a Boolean polynomial. More... | |
struct | cached_deg |
class | cached_block_deg |
class | CTermStackBase |
This class defines an iterator for the monomials in a Boolean polynomial. More... | |
class | CTermStack |
This class defines an iterator for the monomials in a Boolean polynomial. More... | |
class | CReverseTermStack |
This class defines an iterator for the monomials in a Boolean polynomial in reversed lexicographicxal order. More... | |
class | CDegStackCore< NavigatorType, invalid_tag, Category, BaseType > |
for pure degree stacks More... | |
class | CDegStackCore< NavigatorType, valid_tag, Category, BaseType > |
for block stacks More... | |
class | CDegStackBase< NavigatorType, valid_tag, BlockProperty, BaseType > |
class | CDegStackBase< NavigatorType, invalid_tag, BlockProperty, BaseType > |
class | CDegTermStack |
class | CBlockTermStack |
class | CVariableIter |
This template class defines an iterator for monomial types. More... | |
class | PBoRiOutIter |
This template class defines an output iterator which interprets assignments of indices as a change of given data wrt. a given binary operation. More... | |
class | UnaryOperatorTraits |
class | UnaryOperatorTraits< ResultType(*)(ArgType)> |
class | TransformedIterator |
This class defines the iterator of Trnasformed sequence. More... | |
class | LexOrder |
This class defines ordering related functions. More... | |
class | CLiteralCodes |
This template class defines enumerative codes for the string literals defined by the CStringLiterals class. More... | |
class | CStringLiteral |
This template class defines string literals corresponding to the codes enumerated in the class CLiteralCodes. More... | |
class | CBlockOrderingFacade |
This class implements block orderings for COrderingFacade. OrderType must inherit from COrderingFacade<OrderType>. More... | |
class | COrderingBase |
class | COrderingFacade |
This class initialize the interface for orderings of CDynamicOrderBase for a given OrderType. OrderType must inherit from COrderingFacade<OrderType>. More... | |
class | COrderingTagsBase |
class | CDegreeOrderingTags |
class | CBlockDegreeOrderingTags |
class | COrderingTags< lex_tag > |
class | COrderingTags< dlex_tag > |
class | COrderingTags< dp_asc_tag > |
class | COrderingTags< block_dlex_tag > |
class | COrderingTags< block_dp_asc_tag > |
class | lex_tag |
Marker for lex ordering. More... | |
class | dlex_tag |
Marker for deg-lex ordering. More... | |
class | dp_asc_tag |
Marker for ascending deg-rev-lex ordering. More... | |
class | block_tag |
Marker for block orderings. More... | |
struct | order_traits_code< lex_tag > |
struct | order_traits_code< dlex_tag > |
struct | order_traits_code< dp_asc_tag > |
struct | order_traits_code< block_dlex_tag > |
struct | order_traits_code< block_dp_asc_tag > |
class | order_traits< block_tag< BaseOrderTag > > |
class | order_traits |
class | lex_compare_predicate |
defines lexicographic comparison functor More... | |
class | COrderEnums |
This struct contains type definitions and enumerations to be used for order codes. More... | |
class | CErrorEnums |
This struct contains type definitions and enumerations to be used for error codes. More... | |
class | CCompareEnums |
This struct contains type definitions and enumerations to be used for comparisons. More... | |
class | CAuxTypes |
This struct contains auxiliary type definitions. More... | |
class | CTypes |
This struct contains type definitions to be used in library classes. More... | |
class | CCallbackFacade |
Variant for constant non-void member functions. More... | |
class | CCallbackFacade< Type, void, ArgType > |
Specialized variant for constant void member functions. More... | |
class | CCallbackWrapper |
This template class defines a functional, which wraps operator .*, which is the callback of a dynamic member function wrt. a given object. More... | |
class | CCuddCore |
This class prepares the CUDD's raw decision diagram manager structure for the use with instrinsive pointers. More... | |
class | CCuddInterface |
This class defines a C++ interface to CUDD's decicion diagram manager. More... | |
class | CMemberFunctionTraitsBase |
Axuiliary class. More... | |
class | CMemberFunctionTraits< ResultType(Type::*)()> |
class | CMemberFunctionTraits< ResultType(Type::*)() const > |
class | CMemberFunctionTraits< ResultType(Type::*)(ArgType)> |
class | CMemberFunctionTraits< ResultType(Type::*)(ArgType) const > |
class | MemberFunctionOperator |
class | CVariableNames |
class | WeakRingPtr |
This class defines WeakRingPtr. More... | |
class | dd_operations< CCuddNavigator > |
class | push_back |
Accessing .push_back(). More... | |
class | change_idx |
class | change_assign |
Accessing .changeAssign(). More... | |
class | change_assign< void, pbori_traits< void >::idx_type > |
class | subset1_assign |
Accessing .subset1Assign(). More... | |
class | subset0_assign |
Accessing .subset1Assign(). More... | |
class | unite_assign |
Accessing .uniteAssign(). More... | |
class | project_ith< 0, NLEN > |
class | project_ith< 1, NLEN > |
class | project_ith< 2, NLEN > |
class | project_ith< 3, NLEN > |
class | dummy_iterator |
An iterator which virtually does nothing. More... | |
class | pbori_traits< dummy_iterator > |
class | integral_constant |
integral_constant<int_type, NUM>()() returns NUM of int_type, instead of possibly arguments. integral_constant<int_type, NUM, other_type>()() returns conversion of NUM of int_type to other_type. More... | |
class | binary_composition |
Compose a binary function with two default constructable unary functions. More... | |
class | symmetric_composition |
Compose a binary function with a default constructable unary function for both arguments. More... | |
class | maximum_iteration |
Returns maximun of given argument and previous calls. More... | |
class | dd_add_assign |
Defines addition operation with assignment for decision diagrams. More... | |
class | times_indexed_var |
Defines multiplication operation with the idx-th variable. More... | |
class | append_indexed_divisor |
Defines multiplication (with assignment) with the idx-th variable. More... | |
class | inserts |
Accessing .insert(). More... | |
class | inserts< void, pbori_traits< void >::idx_type > |
class | insert_assign |
Accessing .insertAssign(). More... | |
class | insert_assign< void, pbori_traits< void >::idx_type > |
class | removes |
Accessing .remove(). More... | |
class | removes< void, pbori_traits< void >::idx_type > |
class | remove_assign |
Accessing .removeAssign(). More... | |
class | remove_assign< void, pbori_traits< void >::idx_type > |
class | insert_second_to_list |
Insert second argument to a given list. More... | |
class | is_same_type< Type, Type > |
class | is_same_type |
This class tests whether two types equal. More... | |
class | is_valid |
class | on_same_type< Type, Type, ThenType, ElseType > |
class | on_same_type |
This class switches betweem two types, depending on equality of types. More... | |
class | internal_tag |
This class marks an internal part of a procedure. More... | |
class | type_tag |
This class marks a given type. More... | |
class | hashes |
class | generate_index_map |
class | sizes_less |
A functional for size comparisons. More... | |
class | reversed_iteration_adaptor |
class | navigates |
class | default_value |
class | constant_binder_base |
class | constant_binder2nd |
class | constant_binder1st |
class | default_binder_base |
class | default_binder2nd |
class | default_binder1st |
class | variable_name |
Defines generic access to variable names. More... | |
class | mapped_new_node |
class | get_node |
class | dummy_data_type |
class | bounded_restricted_term |
class | EliminationDegreeAdder |
class | AddEliminationDegree |
Namespaces | |
namespace | groebner |
Typedefs | |
typedef pbori_DdManager | DdManager |
typedef BoolePolyRing | Ring |
convenience aliases | |
typedef BoolePolynomial | Polynomial |
typedef BooleVariable | Variable |
typedef BooleMonomial | Monomial |
typedef block_tag< dlex_tag > | block_dlex_tag |
Marker for block deg-lex ordering. | |
typedef block_tag< dp_asc_tag > | block_dp_asc_tag |
Marker for ascending block deg-rev-lex ordering. | |
Enumerations | |
enum | order_codes { lp = polybori ::COrderEnums::lp, dlex = polybori ::COrderEnums::dlex, dp_asc = polybori ::COrderEnums::dp_asc, block_dlex = polybori ::COrderEnums::block_dlex, block_dp_asc = polybori ::COrderEnums::block_dp_asc } |
copy enums for convenience More... | |
Functions | |
CTypes::ostream_type & | operator<< (CTypes::ostream_type &os, const BooleConstant &rhs) |
Stream output operator. | |
BooleConstant | operator+ (const BooleConstant &lhs, const BooleConstant &rhs) |
BooleConstant | operator- (const BooleConstant &lhs, const BooleConstant &rhs) |
BooleConstant | operator* (const BooleConstant &lhs, const BooleConstant &rhs) |
BooleEnv::block_iterator | block_begin (const BooleEnv::ring_type &ring) |
please use BooleEnv::ring() | |
BooleEnv::block_iterator | block_end (const BooleEnv::ring_type &ring) |
Extract block data without exposing ordering stuff. | |
template<class RHSType> | |
BooleExponent | operator+ (const BooleExponent &lhs, const RHSType &rhs) |
Multiplication of monomials. | |
template<class RHSType> | |
BooleExponent | operator- (const BooleExponent &lhs, const RHSType &rhs) |
Division of monomials. | |
BooleExponent | GCD (const BooleExponent &lhs, const BooleExponent &rhs) |
Compute the greatest common divisor of two monomials. | |
BooleExponent | LCM (const BooleExponent &lhs, const BooleExponent &rhs) |
Compute the greatest common divisor of two monomials. | |
BooleExponent::ostream_type & | operator<< (BooleExponent::ostream_type &os, const BooleExponent &rhs) |
Stream output operator. | |
BooleMonomial | operator* (const BooleMonomial &lhs, const BooleMonomial &rhs) |
Multiplication of monomials. | |
BooleMonomial | operator* (const BooleMonomial &lhs, const BooleVariable &rhs) |
Multiplication of monomials. | |
BoolePolynomial | operator* (const BooleMonomial &lhs, BooleConstant rhs) |
Multiplication of monomials. | |
BoolePolynomial | operator* (BooleConstant lhs, const BooleMonomial &rhs) |
Multiplication of monomials. | |
BooleMonomial | operator/ (const BooleMonomial &lhs, const BooleMonomial &rhs) |
Division of monomials. | |
BooleMonomial | operator/ (const BooleMonomial &lhs, const BooleVariable &rhs) |
Division of monomials. | |
BooleMonomial::bool_type | operator< (const BooleMonomial &lhs, const BooleMonomial &rhs) |
Less than comparision. | |
BooleMonomial::bool_type | operator> (const BooleMonomial &lhs, const BooleMonomial &rhs) |
Greater than comparision. | |
BooleMonomial::bool_type | operator<= (const BooleMonomial &lhs, const BooleMonomial &rhs) |
Less or equal than comparision. | |
BooleMonomial::bool_type | operator>= (const BooleMonomial &lhs, const BooleMonomial &rhs) |
Greater or equal than comparision. | |
BooleMonomial | GCD (const BooleMonomial &lhs, const BooleMonomial &rhs) |
Compute the greatest common divisor of two monomials. | |
BooleMonomial | LCM (const BooleMonomial &lhs, const BooleMonomial &rhs) |
Compute the greatest common divisor of two monomials. | |
BoolePolynomial | operator* (const BooleVariable &lhs, const BooleConstant &rhs) |
Multiplication of variables by a 0 or 1. | |
BoolePolynomial | operator* (const BooleConstant &lhs, const BooleVariable &rhs) |
Multiplication of 0 or 1 by a Variable. | |
BoolePolynomial | operator* (const BooleVariable &lhs, const BoolePolynomial &rhs) |
Multiplication of variables by a polynomial. | |
BooleMonomial | operator* (const BooleVariable &lhs, const BooleMonomial &rhs) |
Multiplication of variables by a monomial. | |
BoolePolynomial & | operator*= (BoolePolynomial &lhs, const BooleVariable &rhs) |
Multiplication of a polynomial by a variable with assignment. | |
BooleMonomial | operator* (const BooleVariable &lhs, const BooleVariable &rhs) |
Multiplication of monomials by a polynomial. | |
BoolePolynomial | operator* (const BoolePolynomial &lhs, const BooleVariable &rhs) |
Multiplication of a polynomial by a variable. | |
BoolePolynomial | operator/ (const BoolePolynomial &lhs, const BooleVariable &rhs) |
Division of a polynomial by a variable (forcing monomial variant). | |
BoolePolynomial | operator% (const BoolePolynomial &lhs, const BooleVariable &rhs) |
Remainder of division of a polynomial by a variable. | |
BoolePolynomial | operator+ (const BoolePolynomial &lhs, const BoolePolynomial &rhs) |
Addition operation. | |
BoolePolynomial | operator+ (const BoolePolynomial &lhs, BooleConstant rhs) |
Addition operation. | |
BoolePolynomial | operator+ (BooleConstant lhs, const BoolePolynomial &rhs) |
Addition operation. | |
template<class RHSType> | |
BoolePolynomial | operator- (const BoolePolynomial &lhs, const RHSType &rhs) |
Subtraction operation. | |
BoolePolynomial | operator- (const BooleConstant &lhs, const BoolePolynomial &rhs) |
Subtraction operation with constant right-hand-side. | |
BoolePolynomial | operator* (const BoolePolynomial &lhs, const BoolePolynomial &rhs) |
BoolePolynomial | operator* (const BoolePolynomial &lhs, const BooleMonomial &rhs) |
BoolePolynomial | operator* (const BoolePolynomial &lhs, const BooleExponent &rhs) |
BoolePolynomial | operator* (const BoolePolynomial &lhs, const BooleConstant &rhs) |
BoolePolynomial | operator* (const BooleMonomial &lhs, const BoolePolynomial &rhs) |
BoolePolynomial | operator* (const BooleExponent &lhs, const BoolePolynomial &rhs) |
BoolePolynomial | operator* (const BooleConstant &lhs, const BoolePolynomial &rhs) |
template<class RHSType> | |
BoolePolynomial | operator/ (const BoolePolynomial &lhs, const RHSType &rhs) |
Division by monomial (skipping remainder). | |
template<class RHSType> | |
BoolePolynomial | operator% (const BoolePolynomial &lhs, const RHSType &rhs) |
Modulus monomial (division remainder). | |
BoolePolynomial::bool_type | operator== (BoolePolynomial::bool_type lhs, const BoolePolynomial &rhs) |
Equality check (with constant lhs). | |
BoolePolynomial::bool_type | operator!= (BoolePolynomial::bool_type lhs, const BoolePolynomial &rhs) |
Nonquality check (with constant lhs). | |
BoolePolynomial::ostream_type & | operator<< (BoolePolynomial::ostream_type &, const BoolePolynomial &) |
Stream output operator. | |
BoolePolyRing::ostream_type & | operator<< (BoolePolyRing::ostream_type &os, const BoolePolyRing &ring) |
Stream output operator. | |
BooleSet::ostream_type & | operator<< (BooleSet::ostream_type &os, const BooleSet &bset) |
Stream output operator. | |
BoolePolynomial | operator/ (const BooleVariable &lhs, const BooleVariable &rhs) |
Division. | |
template<class Data1, class Type1, class Data2, class Type2> | |
bool | operator== (const CExtrusivePtr< Data1, Type1 > &lhs, const CExtrusivePtr< Data2, Type2 > &rhs) |
Equality check. | |
template<class Data1, class Type1, class Data2, class Type2> | |
bool | operator!= (const CExtrusivePtr< Data1, Type1 > &lhs, const CExtrusivePtr< Data2, Type2 > &rhs) |
Nonequality check. | |
template<class Data1, class Type1, class Type2> | |
bool | operator== (const CExtrusivePtr< Data1, Type1 > &lhs, Type2 *rhs) |
Equality check wrt. pointer. | |
template<class Data1, class Type1, class Type2> | |
bool | operator!= (const CExtrusivePtr< Data1, Type1 > &lhs, Type2 *rhs) |
Nonequality check wrt. pointer. | |
template<class Type1, class Data2, class Type2> | |
bool | operator== (Type1 *lhs, const CExtrusivePtr< Data2, Type2 > &rhs) |
Equality check from a pointer. | |
template<class Type1, class Data2, class Type2> | |
bool | operator!= (Type1 *lhs, const CExtrusivePtr< Data2, Type2 > &rhs) |
Nonequality check from a pointer. | |
template<class DataType> | |
void | extrusive_ptr_release (const DataType &data, DdNode *ptr) |
Releasing raw pointers to decision diagrams here. | |
template<class DataType> | |
void | extrusive_ptr_add_ref (const DataType &, DdNode *ptr) |
Incrememting reference counts to raw pointers to decision diagrams. | |
object | eval (str expression) |
object | exec (str code) |
object | exec_file (str filename) |
void | run (const char *code) |
CCuddNavigator | explicit_navigator_cast (CCuddNavigator::pointer_type ptr) |
boost::shared_ptr< COrderingBase > | get_ordering (CTypes::ordercode_type order) |
template<class MemberFct> | |
MemberFunctionOperator< MemberFct > | member_function_operator (MemberFct func) |
template<class NaviType, class TermType, class TernaryOperator, class TerminalOperator> | |
TermType | dd_backward_transform (NaviType navi, TermType init, TernaryOperator newNode, TerminalOperator terminate) |
Function templates for transforming decision diagrams. | |
template<class NaviType, class TermType, class OutIterator, class ThenBinaryOperator, class ElseBinaryOperator, class TerminalOperator> | |
OutIterator | dd_transform (NaviType navi, TermType init, OutIterator result, ThenBinaryOperator then_binop, ElseBinaryOperator else_binop, TerminalOperator terminate) |
Function templates for transforming decision diagrams. | |
template<class NaviType, class TermType, class OutIterator, class ThenBinaryOperator, class ElseBinaryOperator, class TerminalOperator, class FirstTermOp> | |
OutIterator | dd_transform (NaviType navi, TermType init, OutIterator result, ThenBinaryOperator then_binop, ElseBinaryOperator else_binop, TerminalOperator terminate, FirstTermOp terminate_first) |
template<class NaviType, class TermType, class OutIterator, class ThenBinaryOperator, class ElseBinaryOperator> | |
void | dd_transform (const NaviType &navi, const TermType &init, const OutIterator &result, const ThenBinaryOperator &then_binop, const ElseBinaryOperator &else_binop) |
Function templates for transforming decision diagrams. | |
template<class NaviType, class TermType, class OutIterator, class ThenBinaryOperator> | |
void | dd_transform (const NaviType &navi, const TermType &init, const OutIterator &result, const ThenBinaryOperator &then_binop) |
Function templates for transforming decision diagrams. | |
template<class InputIterator, class OutputIterator, class FirstFunction, class UnaryFunction> | |
OutputIterator | special_first_transform (InputIterator first, InputIterator last, OutputIterator result, UnaryFunction op, FirstFunction firstop) |
template<class InputIterator, class Intermediate, class OutputIterator> | |
OutputIterator | reversed_inter_copy (InputIterator start, InputIterator finish, Intermediate &inter, OutputIterator output) |
Function templates doing a reversed copy using intermediate storage. | |
template<class NaviType> | |
bool | dd_on_path (NaviType navi) |
template<class NaviType, class OrderedIterator> | |
bool | dd_owns_term_of_indices (NaviType navi, OrderedIterator start, OrderedIterator finish) |
template<class NaviType, class OrderedIterator, class NodeOperation> | |
NaviType | dd_intersect_some_index (NaviType navi, OrderedIterator start, OrderedIterator finish, NodeOperation newNode) |
template<class NaviType> | |
void | dd_print (NaviType navi) |
Function templates for debugging, prints dd indices and reference counts. | |
template<class IteratorType, class SizeType> | |
SizeType | limited_distance (IteratorType start, IteratorType finish, SizeType limit) |
template<class NaviType> | |
bool | owns_one (NaviType navi) |
Test whether the empty set is included. | |
template<class CacheMgr, class NaviType, class SetType> | |
SetType | dd_modulo_monomials (const CacheMgr &cache_mgr, NaviType navi, NaviType rhs, const SetType &init) |
template<class CacheMgr, class ModMonCacheMgr, class NaviType, class SetType> | |
SetType | dd_minimal_elements (const CacheMgr &cache_mgr, const ModMonCacheMgr &modmon_mgr, NaviType navi, const SetType &init) |
Get minimal elements with respect to inclusion. | |
template<class NaviType, class DDType> | |
DDType | dd_minimal_elements (NaviType navi, DDType dd, DDType &multiples) |
template<class MgrType> | |
const MgrType & | get_mgr_core (const MgrType &rhs) |
template<class ManagerType, class ReverseIterator, class MultReverseIterator, class DDBase> | |
DDBase | cudd_generate_multiples (const ManagerType &mgr, ReverseIterator start, ReverseIterator finish, MultReverseIterator multStart, MultReverseIterator multFinish, type_tag< DDBase >) |
temporarily (needs to be more generic) (similar fct in CCuddDDFacade.h) | |
template<class ManagerType, class ReverseIterator, class DDBase> | |
DDBase | cudd_generate_divisors (const ManagerType &mgr, ReverseIterator start, ReverseIterator finish, type_tag< DDBase >) |
temporarily (needs to be more generic) (similar fct in CCuddDDFacade.h) | |
template<class Iterator, class SizeType> | |
Iterator | bounded_max_element (Iterator start, Iterator finish, SizeType bound) |
template<class LhsType, class RhsType, class BinaryPredicate> | |
CTypes::comp_type | generic_compare_3way (const LhsType &lhs, const RhsType &rhs, BinaryPredicate comp) |
defines lexicographic comparison for variable indices | |
template<class IteratorLike, class ForwardIteratorTag> | |
IteratorLike | increment_iteratorlike (IteratorLike iter, ForwardIteratorTag) |
template<class IteratorLike> | |
IteratorLike | increment_iteratorlike (IteratorLike iter, navigator_tag) |
template<class IteratorLike> | |
IteratorLike | increment_iteratorlike (IteratorLike iter) |
DdNode * | pboriCuddZddUnionXor__ (DdManager *, DdNode *, DdNode *) |
template<class MgrType, class NodeType> | |
NodeType | pboriCuddZddUnionXor (MgrType zdd, NodeType P, NodeType Q) |
template<class MgrType, class NodeType> | |
NodeType | pboriCudd_zddUnionXor (MgrType dd, NodeType P, NodeType Q) |
template<class NaviType> | |
bool | dd_is_singleton (NaviType navi) |
template<class NaviType, class BooleConstant> | |
BooleConstant | dd_pair_check (NaviType navi, BooleConstant allowSingleton) |
template<class NaviType> | |
bool | dd_is_singleton_or_pair (NaviType navi) |
template<class NaviType> | |
bool | dd_is_pair (NaviType navi) |
template<class SetType> | |
void | combine_sizes (const SetType &bset, double &init) |
template<class SetType> | |
void | combine_sizes (const SetType &bset, typename SetType::size_type &init) |
template<class SizeType, class IdxType, class NaviType, class SetType> | |
SizeType & | count_index (SizeType &size, IdxType idx, NaviType navi, const SetType &init) |
template<class SizeType, class IdxType, class SetType> | |
SizeType & | count_index (SizeType &size, IdxType idx, const SetType &bset) |
template<class InIter, class OutIter, class Object, class MemberFuncPtr> | |
OutIter | transform (InIter start, InIter finish, OutIter result, Object &obj, MemberFuncPtr func) |
template<class InIter, class Object, class MemberFuncPtr> | |
void | for_each (InIter start, InIter finish, Object &obj, MemberFuncPtr func) |
template<class InIter, class Object, class MemberFuncPtr> | |
void | for_each (InIter start, InIter finish, const Object &obj, MemberFuncPtr func) |
template<class Type, class Type1> | |
const Type & | which (bool condition, const Type1 &value1, const Type &value) |
template<class Type, class Type1, class Type2> | |
const Type & | which (bool cond1, const Type1 &value1, bool cond2, const Type2 &value2, const Type &value) |
template<class Type, class Type1, class Type2, class Type3> | |
const Type & | which (bool cond1, const Type1 &value1, bool cond2, const Type2 &value2, bool cond3, const Type3 &value3, const Type &value) |
template<class IDType, class Iterator> | |
bool | same_rings (const IDType &id, Iterator start, Iterator finish) |
template<class Iterator> | |
bool | same_rings (Iterator start, Iterator finish) |
void | inc_ref (DdNode *node) |
template<class NaviType> | |
void | inc_ref (const NaviType &navi) |
void | dec_ref (DdNode *node) |
template<class NaviType> | |
void | dec_ref (const NaviType &navi) |
DdNode * | do_get_node (DdNode *node) |
template<class NaviType> | |
DdNode * | do_get_node (const NaviType &navi) |
template<class MgrType> | |
void | recursive_dec_ref (const MgrType &mgr, DdNode *node) |
template<class MgrType, class NaviType> | |
void | recursive_dec_ref (const MgrType &mgr, const NaviType &navi) |
template<class NaviType, class ReverseIterator, class DDOperations> | |
NaviType | indexed_term_multiples (NaviType navi, ReverseIterator idxStart, ReverseIterator idxFinish, const DDOperations &apply) |
template<class NaviType> | |
bool | is_reducible_by (NaviType first, NaviType second) |
template<class NaviType, class ReverseIterator, class DDOperations> | |
NaviType | minimal_of_two_terms (NaviType navi, NaviType &multiples, ReverseIterator idxStart, ReverseIterator idxFinish, const DDOperations &apply) |
template<class NaviType, class SizeType, class ReverseIterator, class DDOperations> | |
NaviType | prepend_multiples_wrt_indices (NaviType navi, SizeType minIdx, ReverseIterator start, ReverseIterator finish, const DDOperations &apply) |
template<class FunctionType, class ManagerType, class NodeType> | |
void | apply_assign_cudd_function (FunctionType func, ManagerType &mgr, NodeType &first, const NodeType &second) |
template<class FunctionType, class ManagerType, class ResultType, class NodeType> | |
void | apply_replacing_cudd_function (FunctionType func, ManagerType &mgr, ResultType &newNode, const NodeType &first, const NodeType &second) |
template<class FunctionType, class ManagerType, class NodeType> | |
NodeType | apply_cudd_function (FunctionType func, ManagerType &mgr, const NodeType &first, const NodeType &second) |
template<class NaviType, class DDType2, class ReverseIterator, class DDOperations> | |
NaviType | dd_minimal_elements (NaviType navi, DDType2 &multiples, ReverseIterator idxStart, ReverseIterator idxEnd, const DDOperations &apply) |
BoolePolynomial | spoly (const BoolePolynomial &first, const BoolePolynomial &second) |
Compute spoly of two polynomials. | |
template<class NaviType, class LowerIterator, class ValueType> | |
ValueType | lower_term_accumulate (NaviType navi, LowerIterator lstart, LowerIterator lfinish, ValueType init) |
template<class UpperIterator, class NaviType, class ValueType> | |
ValueType | upper_term_accumulate (UpperIterator ustart, UpperIterator ufinish, NaviType navi, ValueType init) |
template<class UpperIterator, class NaviType, class LowerIterator, class ValueType> | |
ValueType | term_accumulate (UpperIterator ustart, UpperIterator ufinish, NaviType navi, LowerIterator lstart, LowerIterator lfinish, ValueType init) |
template<class InputIterator, class ValueType> | |
ValueType | term_accumulate (InputIterator first, InputIterator last, ValueType init) |
Routine for adding all terms given by iterators. | |
template<class CacheType, class NaviType, class SetType> | |
SetType | dd_mapping (const CacheType &cache, NaviType navi, NaviType map, SetType init) |
template<class PolyType, class MapType> | |
PolyType | apply_mapping (const PolyType &poly, const MapType &map) |
template<class MonomType, class PolyType> | |
PolyType | generate_mapping (MonomType &fromVars, MonomType &toVars, PolyType init) |
template<class PolyType, class MonomType> | |
PolyType | mapping (PolyType poly, MonomType fromVars, MonomType toVars) |
template<class MapType, class NaviType> | |
MapType::mapped_type | dd_long_count_step (MapType &cache, NaviType navi) |
Other routines currently at external public header file pbori_algo.h. | |
template<class IntType, class NaviType> | |
IntType | dd_long_count (NaviType navi) |
Function template for generically computing number of terms. | |
template<class IntType, class NaviType> | |
IntType | dd_long_count_without_cache (NaviType navi) |
template<class DDType, class OutputType> | |
OutputType | dd_last_lexicographical_term (const DDType &dd, type_tag< OutputType >) |
Get last term (wrt. lexicographical order). | |
template<class HashType, class NaviType> | |
void | stable_hash_range (HashType &seed, NaviType navi) |
template<class NaviType> | |
std::size_t | stable_hash_range (NaviType navi) |
template<class HashType> | |
void | finalize_term_hash (HashType &seed) |
template<class HashType, class NaviType> | |
void | stable_first_hash_range (HashType &seed, NaviType navi) |
template<class NaviType> | |
std::size_t | stable_first_hash_range (NaviType navi) |
template<class HashType, class Iterator> | |
void | stable_term_hash (HashType &seed, Iterator start, Iterator finish) |
template<class Iterator> | |
std::size_t | stable_term_hash (Iterator start, Iterator finish) |
template<class Iterator> | |
Iterator::value_type | index_vector_hash (Iterator start, Iterator finish) |
template<class DegreeCacher, class NaviType> | |
NaviType::deg_type | dd_cached_degree (const DegreeCacher &cache, NaviType navi) |
template<class DegreeCacher, class NaviType, class SizeType> | |
NaviType::deg_type | dd_cached_degree (const DegreeCacher &cache, NaviType navi, SizeType bound) |
template<class Iterator, class NameGenerator, class Separator, class EmptySetType, class OStreamType> | |
void | dd_print_term (Iterator start, Iterator finish, const NameGenerator &get_name, const Separator &sep, const EmptySetType &emptyset, OStreamType &os) |
template<class TermType, class NameGenerator, class Separator, class EmptySetType, class OStreamType> | |
void | dd_print_term (const TermType &term, const NameGenerator &get_name, const Separator &sep, const EmptySetType &emptyset, OStreamType &os) |
template<class Iterator, class NameGenerator, class Separator, class InnerSeparator, class EmptySetType, class OStreamType> | |
void | dd_print_terms (Iterator start, Iterator finish, const NameGenerator &get_name, const Separator &sep, const InnerSeparator &innersep, const EmptySetType &emptyset, OStreamType &os) |
template<bool use_fast, class CacheType, class NaviType, class PolyType> | |
PolyType | dd_multiply (const CacheType &cache_mgr, NaviType firstNavi, NaviType secondNavi, PolyType init) |
template<class CacheType, class NaviType, class PolyType> | |
PolyType | dd_multiply_recursively (const CacheType &cache_mgr, NaviType firstNavi, NaviType secondNavi, PolyType init) |
template<class CacheType, class NaviType, class PolyType> | |
PolyType | dd_multiply_recursively_monom (const CacheType &cache_mgr, NaviType monomNavi, NaviType navi, PolyType init) |
template<class DDGenerator, class Iterator, class NaviType, class PolyType> | |
PolyType | dd_multiply_recursively_exp (const DDGenerator &ddgen, Iterator start, Iterator finish, NaviType navi, PolyType init) |
template<class DegCacheMgr, class NaviType, class SizeType> | |
bool | max_degree_on_then (const DegCacheMgr °_mgr, NaviType navi, SizeType degree, valid_tag is_descending) |
template<class DegCacheMgr, class NaviType, class SizeType> | |
bool | max_degree_on_then (const DegCacheMgr °_mgr, NaviType navi, SizeType degree, invalid_tag non_descending) |
template<class NaviType> | |
NaviType | dd_get_constant (NaviType navi) |
template<class CacheType, class DegCacheMgr, class NaviType, class TermType, class SizeType, class DescendingProperty> | |
TermType | dd_recursive_degree_lead (const CacheType &cache_mgr, const DegCacheMgr °_mgr, NaviType navi, TermType init, SizeType degree, DescendingProperty prop) |
template<class CacheType, class DegCacheMgr, class NaviType, class TermType, class DescendingProperty> | |
TermType | dd_recursive_degree_lead (const CacheType &cache_mgr, const DegCacheMgr °_mgr, NaviType navi, TermType init, DescendingProperty prop) |
template<class CacheType, class DegCacheMgr, class NaviType, class TermType, class SizeType, class DescendingProperty> | |
TermType & | dd_recursive_degree_leadexp (const CacheType &cache_mgr, const DegCacheMgr °_mgr, NaviType navi, TermType &result, SizeType degree, DescendingProperty prop) |
template<class CacheType, class DegCacheMgr, class NaviType, class TermType, class DescendingProperty> | |
TermType & | dd_recursive_degree_leadexp (const CacheType &cache_mgr, const DegCacheMgr °_mgr, NaviType navi, TermType &result, DescendingProperty prop) |
template<class CacheType, class NaviType, class TermType> | |
TermType | dd_existential_abstraction (const CacheType &cache_mgr, NaviType varsNavi, NaviType navi, TermType init) |
template<class CacheType, class NaviType, class PolyType> | |
PolyType | dd_divide_recursively (const CacheType &cache_mgr, NaviType navi, NaviType monomNavi, PolyType init) |
template<class DDGenerator, class Iterator, class NaviType, class PolyType> | |
PolyType | dd_divide_recursively_exp (const DDGenerator &ddgen, NaviType navi, Iterator start, Iterator finish, PolyType init) |
template<class CacheType, class NaviType, class MonomType> | |
MonomType | cached_used_vars (const CacheType &cache, NaviType navi, MonomType init) |
template<class NaviType, class Iterator> | |
bool | dd_owns (NaviType navi, Iterator start, Iterator finish) |
template<class NaviType, class MonomIterator> | |
bool | dd_contains_divs_of_dec_deg (NaviType navi, MonomIterator start, MonomIterator finish) |
template<class CacheType, class NaviType, class DegType, class SetType> | |
SetType | dd_graded_part (const CacheType &cache, NaviType navi, DegType deg, SetType init) |
template<class CacheManager, class NaviType, class SetType> | |
SetType | dd_first_divisors_of (CacheManager cache_mgr, NaviType navi, NaviType rhsNavi, SetType init) |
template<class CacheType, class NaviType, class SetType> | |
SetType | dd_first_multiples_of (const CacheType &cache_mgr, NaviType navi, NaviType rhsNavi, SetType init) |
template<class PolyType, class RingType, class MapType, class NaviType> | |
PolyType | substitute_variables__ (const RingType &ring, const MapType &idx2poly, NaviType navi) |
template<class RingType, class MapType, class PolyType> | |
PolyType | substitute_variables (const RingType &ring, const MapType &idx2poly, const PolyType &poly) |
template<class FirstIterator, class SecondIterator, class BinaryPredicate> | |
CTypes::comp_type | lex_compare_3way (FirstIterator start, FirstIterator finish, SecondIterator rhs_start, SecondIterator rhs_finish, BinaryPredicate idx_comp) |
template<class LhsType, class RhsType, class BinaryPredicate> | |
CTypes::comp_type | lex_compare (const LhsType &lhs, const RhsType &rhs, BinaryPredicate idx_comp, valid_tag has_easy_equality_test) |
defines lexicographic comparison | |
template<class LhsType, class RhsType, class BinaryPredicate> | |
CTypes::comp_type | lex_compare (const LhsType &lhs, const RhsType &rhs, BinaryPredicate idx_comp, invalid_tag has_no_easy_equality_test) |
defines lexicographic comparison | |
template<class LhsType, class RhsType, class BinaryPredicate> | |
CTypes::comp_type | lex_compare (const LhsType &lhs, const RhsType &rhs, BinaryPredicate idx_comp) |
defines lexicographic comparison | |
template<class LhsType, class RhsType, class BinaryPredicate> | |
CTypes::comp_type | deg_lex_compare (const LhsType &lhs, const RhsType &rhs, BinaryPredicate idx_comp) |
defines degree-lexicographic comparison | |
template<class StackType, class Iterator> | |
void | dummy_append (StackType &stack, Iterator start, Iterator finish) |
template<class DegreeCacher, class NaviType, class IdxType> | |
NaviType::deg_type | dd_cached_block_degree (const DegreeCacher &cache, NaviType navi, IdxType nextBlock) |
template<class DegCacheMgr, class NaviType, class IdxType, class SizeType> | |
bool | max_block_degree_on_then (const DegCacheMgr °_mgr, NaviType navi, IdxType next_block, SizeType degree, valid_tag is_descending) |
template<class DegCacheMgr, class NaviType, class IdxType, class SizeType> | |
bool | max_block_degree_on_then (const DegCacheMgr °_mgr, NaviType navi, IdxType next_block, SizeType degree, invalid_tag non_descending) |
template<class CacheType, class DegCacheMgr, class NaviType, class TermType, class Iterator, class SizeType, class DescendingProperty> | |
TermType | dd_block_degree_lead (const CacheType &cache_mgr, const DegCacheMgr °_mgr, NaviType navi, Iterator block_iter, TermType init, SizeType degree, DescendingProperty prop) |
template<class CacheType, class DegCacheMgr, class NaviType, class Iterator, class TermType, class DescendingProperty> | |
TermType | dd_block_degree_lead (const CacheType &cache_mgr, const DegCacheMgr °_mgr, NaviType navi, Iterator block_iter, TermType init, DescendingProperty prop) |
template<class FirstIterator, class SecondIterator, class IdxType, class BinaryPredicate> | |
CTypes::comp_type | restricted_lex_compare_3way (FirstIterator start, FirstIterator finish, SecondIterator rhs_start, SecondIterator rhs_finish, IdxType max_index, BinaryPredicate idx_comp) |
template<class LhsIterator, class RhsIterator, class Iterator, class BinaryPredicate> | |
CTypes::comp_type | block_dlex_compare (LhsIterator lhsStart, LhsIterator lhsFinish, RhsIterator rhsStart, RhsIterator rhsFinish, Iterator start, Iterator finish, BinaryPredicate idx_comp) |
template<class IdxType, class Iterator, class BinaryPredicate> | |
CTypes::comp_type | block_deg_lex_idx_compare (IdxType lhs, IdxType rhs, Iterator start, Iterator finish, BinaryPredicate idx_comp) |
template<class ExpType, class RhsType, class ResultType> | |
void | exp_divide (const ExpType &lhs, const RhsType &rhs, ResultType &result) |
template<class ExpType, class RhsIterator, class SizeType, class ResultType> | |
void | exp_multiply (const ExpType &lhs, RhsIterator start, RhsIterator finish, SizeType nlen, ResultType &result) |
template<class ExpType, class RhsType, class ResultType> | |
void | exp_multiply (const ExpType &lhs, const RhsType &rhs, ResultType &result) |
FILE * | fmemopen (void *buf, size_t size, const char *opentype) |
template<class CacheType, class NaviType, class DDType> | |
DDType | dd_lex_lead (const CacheType &cache, NaviType navi, const DDType &init) |
Prepare for the application of intrinsive pointers | |
void | intrusive_ptr_add_ref (CCuddCore *pCore) |
Increment reference count. | |
void | intrusive_ptr_release (CCuddCore *pCore) |
Release current pointer by decrementing reference counting. |
typedef block_tag<dlex_tag> polybori::block_dlex_tag |
Marker for block deg-lex ordering.
Marker for ascending block deg-rev-lex ordering.
typedef pbori_DdManager polybori::DdManager |
typedef BooleMonomial polybori::Monomial |
typedef BoolePolynomial polybori::Polynomial |
typedef BoolePolyRing polybori::Ring |
convenience aliases
typedef BooleVariable polybori::Variable |
void polybori::apply_assign_cudd_function | ( | FunctionType | func, | |
ManagerType & | mgr, | |||
NodeType & | first, | |||
const NodeType & | second | |||
) | [inline] |
References do_get_node(), inc_ref(), and recursive_dec_ref().
Referenced by polybori::dd_operations< CCuddNavigator >::diffAssign(), and polybori::dd_operations< CCuddNavigator >::uniteAssign().
NodeType polybori::apply_cudd_function | ( | FunctionType | func, | |
ManagerType & | mgr, | |||
const NodeType & | first, | |||
const NodeType & | second | |||
) | [inline] |
References do_get_node(), and inc_ref().
Referenced by polybori::dd_operations< CCuddNavigator >::diff().
PolyType polybori::apply_mapping | ( | const PolyType & | poly, | |
const MapType & | map | |||
) | [inline] |
void polybori::apply_replacing_cudd_function | ( | FunctionType | func, | |
ManagerType & | mgr, | |||
ResultType & | newNode, | |||
const NodeType & | first, | |||
const NodeType & | second | |||
) | [inline] |
References do_get_node(), inc_ref(), and recursive_dec_ref().
Referenced by polybori::dd_operations< CCuddNavigator >::replacingUnite().
BooleEnv::block_iterator polybori::block_begin | ( | const BooleEnv::ring_type & | ring | ) |
please use BooleEnv::ring()
Extract block data without exposing ordering stuff.
Extract block data without exposing ordering stuff
References polybori::BoolePolyRing::ordering().
CTypes::comp_type polybori::block_deg_lex_idx_compare | ( | IdxType | lhs, | |
IdxType | rhs, | |||
Iterator | start, | |||
Iterator | finish, | |||
BinaryPredicate | idx_comp | |||
) | [inline] |
References generic_compare_3way(), PBORI_ASSERT, and PBORI_UNLIKELY.
Referenced by polybori::BlockDegRevLexAscOrder::compare().
CTypes::comp_type polybori::block_dlex_compare | ( | LhsIterator | lhsStart, | |
LhsIterator | lhsFinish, | |||
RhsIterator | rhsStart, | |||
RhsIterator | rhsFinish, | |||
Iterator | start, | |||
Iterator | finish, | |||
BinaryPredicate | idx_comp | |||
) | [inline] |
BooleEnv::block_iterator polybori::block_end | ( | const BooleEnv::ring_type & | ring | ) |
Iterator polybori::bounded_max_element | ( | Iterator | start, | |
Iterator | finish, | |||
SizeType | bound | |||
) | [inline] |
MonomType polybori::cached_used_vars | ( | const CacheType & | cache, | |
NaviType | navi, | |||
MonomType | init | |||
) | [inline] |
Function templates for determining the used variables of a decision diagram with the help of cache
Referenced by polybori::CDDOperations< DDType, MonomType >::usedVariables().
void polybori::combine_sizes | ( | const SetType & | bset, | |
typename SetType::size_type & | init | |||
) | [inline] |
Referenced by count_index().
void polybori::combine_sizes | ( | const SetType & | bset, | |
double & | init | |||
) | [inline] |
SizeType& polybori::count_index | ( | SizeType & | size, | |
IdxType | idx, | |||
const SetType & | bset | |||
) | [inline] |
Referenced by count_index().
SizeType& polybori::count_index | ( | SizeType & | size, | |
IdxType | idx, | |||
NaviType | navi, | |||
const SetType & | init | |||
) | [inline] |
References combine_sizes(), and count_index().
Referenced by polybori::BooleSet::countIndex(), and polybori::BooleSet::countIndexDouble().
DDBase polybori::cudd_generate_divisors | ( | const ManagerType & | mgr, | |
ReverseIterator | start, | |||
ReverseIterator | finish, | |||
type_tag< DDBase > | ||||
) | [inline] |
temporarily (needs to be more generic) (similar fct in CCuddDDFacade.h)
References Cudd_Deref, Cudd_RecursiveDerefZdd, Cudd_Ref, cuddUniqueInterZdd, and PBORI_PREFIX.
Referenced by polybori::BooleExponent::divisors(), and polybori::CCuddDDFacade< polybori::BoolePolyRing, polybori::BooleSet >::firstDivisors().
DDBase polybori::cudd_generate_multiples | ( | const ManagerType & | mgr, | |
ReverseIterator | start, | |||
ReverseIterator | finish, | |||
MultReverseIterator | multStart, | |||
MultReverseIterator | multFinish, | |||
type_tag< DDBase > | ||||
) | [inline] |
temporarily (needs to be more generic) (similar fct in CCuddDDFacade.h)
References Cudd_Deref, Cudd_RecursiveDerefZdd, Cudd_Ref, cuddUniqueInterZdd, and PBORI_PREFIX.
Referenced by polybori::CCuddDDFacade< polybori::BoolePolyRing, polybori::BooleSet >::firstMultiples(), and polybori::BooleExponent::multiples().
TermType polybori::dd_backward_transform | ( | NaviType | navi, | |
TermType | init, | |||
TernaryOperator | newNode, | |||
TerminalOperator | terminate | |||
) | [inline] |
Function templates for transforming decision diagrams.
Referenced by polybori::groebner::translate_indices().
TermType polybori::dd_block_degree_lead | ( | const CacheType & | cache_mgr, | |
const DegCacheMgr & | deg_mgr, | |||
NaviType | navi, | |||
Iterator | block_iter, | |||
TermType | init, | |||
DescendingProperty | prop | |||
) | [inline] |
TermType polybori::dd_block_degree_lead | ( | const CacheType & | cache_mgr, | |
const DegCacheMgr & | deg_mgr, | |||
NaviType | navi, | |||
Iterator | block_iter, | |||
TermType | init, | |||
SizeType | degree, | |||
DescendingProperty | prop | |||
) | [inline] |
References dd_block_degree_lead(), dd_cached_block_degree(), and max_block_degree_on_then().
NaviType::deg_type polybori::dd_cached_block_degree | ( | const DegreeCacher & | cache, | |
NaviType | navi, | |||
IdxType | nextBlock | |||
) | [inline] |
Function templates for determining the degree of a decision diagram with the help of cache (e. g. CDegreeCache)
Referenced by dd_block_degree_lead(), max_block_degree_on_then(), and polybori::cached_block_deg< NavigatorType >::operator()().
NaviType::deg_type polybori::dd_cached_degree | ( | const DegreeCacher & | cache, | |
NaviType | navi, | |||
SizeType | bound | |||
) | [inline] |
Function templates for determining the degree of a decision diagram with the help of cache (e. g. CDegreeCache) Variant *with* given upper bound Assumming that the bound is valid!
References PBORI_ASSERT.
Referenced by dd_cached_degree(), dd_recursive_degree_lead(), dd_recursive_degree_leadexp(), max_degree_on_then(), and polybori::cached_deg< NavigatorType >::operator()().
NaviType::deg_type polybori::dd_cached_degree | ( | const DegreeCacher & | cache, | |
NaviType | navi | |||
) | [inline] |
Function templates for determining the degree of a decision diagram with the help of cache (e. g. CDegreeCache)
References dd_cached_degree().
Referenced by polybori::BoolePolynomial::deg(), polybori::DegRevLexAscOrder::lead(), polybori::DegLexOrder::lead(), polybori::DegRevLexAscOrder::leadExp(), and polybori::DegLexOrder::leadExp().
bool polybori::dd_contains_divs_of_dec_deg | ( | NaviType | navi, | |
MonomIterator | start, | |||
MonomIterator | finish | |||
) | [inline] |
Test whether a set of monomials contains all divisors of degree - 1 of a given monomial
References dd_owns(), and owns_one().
Referenced by polybori::BooleSet::containsDivisorsOfDecDeg().
PolyType polybori::dd_divide_recursively | ( | const CacheType & | cache_mgr, | |
NaviType | navi, | |||
NaviType | monomNavi, | |||
PolyType | init | |||
) | [inline] |
PolyType polybori::dd_divide_recursively_exp | ( | const DDGenerator & | ddgen, | |
NaviType | navi, | |||
Iterator | start, | |||
Iterator | finish, | |||
PolyType | init | |||
) | [inline] |
Referenced by polybori::BoolePolynomial::operator/=().
TermType polybori::dd_existential_abstraction | ( | const CacheType & | cache_mgr, | |
NaviType | varsNavi, | |||
NaviType | navi, | |||
TermType | init | |||
) | [inline] |
Referenced by polybori::BooleSet::existAbstract().
SetType polybori::dd_first_divisors_of | ( | CacheManager | cache_mgr, | |
NaviType | navi, | |||
NaviType | rhsNavi, | |||
SetType | init | |||
) | [inline] |
Function templates extracting the terms of a given decision diagram contain which contains only indices from first lexicographical path in Note: Replacement for dd_intersect_some_index
References PBORI_ASSERT.
Referenced by polybori::BooleSet::firstDivisorsOf().
SetType polybori::dd_first_multiples_of | ( | const CacheType & | cache_mgr, | |
NaviType | navi, | |||
NaviType | rhsNavi, | |||
SetType | init | |||
) | [inline] |
NaviType polybori::dd_get_constant | ( | NaviType | navi | ) | [inline] |
Referenced by dd_recursive_degree_lead().
SetType polybori::dd_graded_part | ( | const CacheType & | cache, | |
NaviType | navi, | |||
DegType | deg, | |||
SetType | init | |||
) | [inline] |
Referenced by polybori::BoolePolynomial::gradedPart().
NaviType polybori::dd_intersect_some_index | ( | NaviType | navi, | |
OrderedIterator | start, | |||
OrderedIterator | finish, | |||
NodeOperation | newNode | |||
) | [inline] |
Function templates extracting the terms of a given decision diagram contain which contains only indices from the range [start, finish) Note: Returns incremented node
bool polybori::dd_is_pair | ( | NaviType | navi | ) | [inline] |
References dd_pair_check().
Referenced by polybori::BooleSet::isPair(), and polybori::BoolePolynomial::isPair().
bool polybori::dd_is_singleton | ( | NaviType | navi | ) | [inline] |
Referenced by dd_pair_check(), polybori::BooleSet::isSingleton(), and polybori::BoolePolynomial::isSingleton().
bool polybori::dd_is_singleton_or_pair | ( | NaviType | navi | ) | [inline] |
References dd_pair_check().
Referenced by polybori::BooleSet::isSingletonOrPair(), and polybori::BoolePolynomial::isSingletonOrPair().
OutputType polybori::dd_last_lexicographical_term | ( | const DDType & | dd, | |
type_tag< OutputType > | ||||
) | [inline] |
Get last term (wrt. lexicographical order).
References PBORI_ASSERT, and reversed_inter_copy().
Referenced by polybori::BooleSet::lastLexicographicalTerm().
DDType polybori::dd_lex_lead | ( | const CacheType & | cache, | |
NaviType | navi, | |||
const DDType & | init | |||
) | [inline] |
Referenced by polybori::LexOrder::lead().
IntType polybori::dd_long_count | ( | NaviType | navi | ) | [inline] |
MapType::mapped_type polybori::dd_long_count_step | ( | MapType & | cache, | |
NaviType | navi | |||
) | [inline] |
Other routines currently at external public header file pbori_algo.h.
Function template
Referenced by dd_long_count().
IntType polybori::dd_long_count_without_cache | ( | NaviType | navi | ) | [inline] |
SetType polybori::dd_mapping | ( | const CacheType & | cache, | |
NaviType | navi, | |||
NaviType | map, | |||
SetType | init | |||
) | [inline] |
NaviType polybori::dd_minimal_elements | ( | NaviType | navi, | |
DDType2 & | multiples, | |||
ReverseIterator | idxStart, | |||
ReverseIterator | idxEnd, | |||
const DDOperations & | apply | |||
) | [inline] |
A first version Function templates extracting minimal elements of dd wrt. inclusion Assumption, navi is navigator of dd
References inc_ref(), indexed_term_multiples(), is_reducible_by(), minimal_of_two_terms(), and prepend_multiples_wrt_indices().
Referenced by dd_minimal_elements().
DDType polybori::dd_minimal_elements | ( | NaviType | navi, | |
DDType | dd, | |||
DDType & | multiples | |||
) | [inline] |
A first version Function templates extracting minimal elements of dd wrt. inclusion Assumption, navi is navigator of dd
References dd_minimal_elements().
SetType polybori::dd_minimal_elements | ( | const CacheMgr & | cache_mgr, | |
const ModMonCacheMgr & | modmon_mgr, | |||
NaviType | navi, | |||
const SetType & | init | |||
) | [inline] |
Get minimal elements with respect to inclusion.
References dd_minimal_elements(), dd_modulo_monomials(), and owns_one().
Referenced by polybori::BooleSet::minimalElements().
SetType polybori::dd_modulo_monomials | ( | const CacheMgr & | cache_mgr, | |
NaviType | navi, | |||
NaviType | rhs, | |||
const SetType & | init | |||
) | [inline] |
References owns_one(), and PBORI_ASSERT.
Referenced by dd_minimal_elements(), and polybori::groebner::mod_mon_set().
PolyType polybori::dd_multiply | ( | const CacheType & | cache_mgr, | |
NaviType | firstNavi, | |||
NaviType | secondNavi, | |||
PolyType | init | |||
) | [inline] |
PolyType polybori::dd_multiply_recursively | ( | const CacheType & | cache_mgr, | |
NaviType | firstNavi, | |||
NaviType | secondNavi, | |||
PolyType | init | |||
) | [inline] |
Referenced by polybori::BoolePolynomial::operator*=().
PolyType polybori::dd_multiply_recursively_exp | ( | const DDGenerator & | ddgen, | |
Iterator | start, | |||
Iterator | finish, | |||
NaviType | navi, | |||
PolyType | init | |||
) | [inline] |
Referenced by polybori::BoolePolynomial::operator*=().
PolyType polybori::dd_multiply_recursively_monom | ( | const CacheType & | cache_mgr, | |
NaviType | monomNavi, | |||
NaviType | navi, | |||
PolyType | init | |||
) | [inline] |
bool polybori::dd_on_path | ( | NaviType | navi | ) | [inline] |
Function templates for checking whether a given decision diagram node is on path
bool polybori::dd_owns | ( | NaviType | navi, | |
Iterator | start, | |||
Iterator | finish | |||
) | [inline] |
Referenced by dd_contains_divs_of_dec_deg(), and polybori::BooleSet::owns().
bool polybori::dd_owns_term_of_indices | ( | NaviType | navi, | |
OrderedIterator | start, | |||
OrderedIterator | finish | |||
) | [inline] |
Function templates for checking whether a given decision diagram contains paths with indices only in range [start, finish)
Referenced by polybori::BooleSet::hasTermOfVariables().
BooleConstant polybori::dd_pair_check | ( | NaviType | navi, | |
BooleConstant | allowSingleton | |||
) | [inline] |
void polybori::dd_print | ( | NaviType | navi | ) | [inline] |
void polybori::dd_print_term | ( | const TermType & | term, | |
const NameGenerator & | get_name, | |||
const Separator & | sep, | |||
const EmptySetType & | emptyset, | |||
OStreamType & | os | |||
) | [inline] |
Referenced by dd_print_terms().
void polybori::dd_print_term | ( | Iterator | start, | |
Iterator | finish, | |||
const NameGenerator & | get_name, | |||
const Separator & | sep, | |||
const EmptySetType & | emptyset, | |||
OStreamType & | os | |||
) | [inline] |
void polybori::dd_print_terms | ( | Iterator | start, | |
Iterator | finish, | |||
const NameGenerator & | get_name, | |||
const Separator & | sep, | |||
const InnerSeparator & | innersep, | |||
const EmptySetType & | emptyset, | |||
OStreamType & | os | |||
) | [inline] |
References dd_print_term().
Referenced by polybori::BooleSet::print(), and polybori::BoolePolynomial::print().
TermType polybori::dd_recursive_degree_lead | ( | const CacheType & | cache_mgr, | |
const DegCacheMgr & | deg_mgr, | |||
NaviType | navi, | |||
TermType | init, | |||
DescendingProperty | prop | |||
) | [inline] |
TermType polybori::dd_recursive_degree_lead | ( | const CacheType & | cache_mgr, | |
const DegCacheMgr & | deg_mgr, | |||
NaviType | navi, | |||
TermType | init, | |||
SizeType | degree, | |||
DescendingProperty | prop | |||
) | [inline] |
caching deactivated - wrong results might pollute the cache
References dd_get_constant(), dd_recursive_degree_lead(), max_degree_on_then(), and PBORI_UNLIKELY.
Referenced by polybori::DegRevLexAscOrder::lead(), and polybori::DegLexOrder::lead().
TermType& polybori::dd_recursive_degree_leadexp | ( | const CacheType & | cache_mgr, | |
const DegCacheMgr & | deg_mgr, | |||
NaviType | navi, | |||
TermType & | result, | |||
DescendingProperty | prop | |||
) | [inline] |
TermType& polybori::dd_recursive_degree_leadexp | ( | const CacheType & | cache_mgr, | |
const DegCacheMgr & | deg_mgr, | |||
NaviType | navi, | |||
TermType & | result, | |||
SizeType | degree, | |||
DescendingProperty | prop | |||
) | [inline] |
References dd_recursive_degree_leadexp(), max_degree_on_then(), and PBORI_UNLIKELY.
Referenced by polybori::DegRevLexAscOrder::leadExp(), and polybori::DegLexOrder::leadExp().
void polybori::dd_transform | ( | const NaviType & | navi, | |
const TermType & | init, | |||
const OutIterator & | result, | |||
const ThenBinaryOperator & | then_binop | |||
) | [inline] |
void polybori::dd_transform | ( | const NaviType & | navi, | |
const TermType & | init, | |||
const OutIterator & | result, | |||
const ThenBinaryOperator & | then_binop, | |||
const ElseBinaryOperator & | else_binop | |||
) | [inline] |
OutIterator polybori::dd_transform | ( | NaviType | navi, | |
TermType | init, | |||
OutIterator | result, | |||
ThenBinaryOperator | then_binop, | |||
ElseBinaryOperator | else_binop, | |||
TerminalOperator | terminate, | |||
FirstTermOp | terminate_first | |||
) | [inline] |
Function templates for transforming decision diagrams with special treatment of the leading term
References dd_transform().
OutIterator polybori::dd_transform | ( | NaviType | navi, | |
TermType | init, | |||
OutIterator | result, | |||
ThenBinaryOperator | then_binop, | |||
ElseBinaryOperator | else_binop, | |||
TerminalOperator | terminate | |||
) | [inline] |
void polybori::dec_ref | ( | const NaviType & | navi | ) | [inline] |
void polybori::dec_ref | ( | DdNode * | node | ) | [inline] |
References Cudd_Deref, and PBORI_PREFIX.
CTypes::comp_type polybori::deg_lex_compare | ( | const LhsType & | lhs, | |
const RhsType & | rhs, | |||
BinaryPredicate | idx_comp | |||
) | [inline] |
defines degree-lexicographic comparison
References generic_compare_3way(), and lex_compare().
Referenced by polybori::DegRevLexAscOrder::compare(), and polybori::DegLexOrder::compare().
DdNode* polybori::do_get_node | ( | const NaviType & | navi | ) | [inline] |
Referenced by apply_assign_cudd_function(), apply_cudd_function(), and apply_replacing_cudd_function().
DdNode* polybori::do_get_node | ( | DdNode * | node | ) | [inline] |
void polybori::dummy_append | ( | StackType & | stack, | |
Iterator | start, | |||
Iterator | finish | |||
) | [inline] |
object polybori::eval | ( | str | expression | ) | [inline] |
References polybori::Interpreter::globals(), and polybori::object::object().
object polybori::exec | ( | str | code | ) | [inline] |
References polybori::Interpreter::globals(), and polybori::object::object().
object polybori::exec_file | ( | str | filename | ) | [inline] |
References polybori::Interpreter::globals(), and polybori::object::object().
void polybori::exp_divide | ( | const ExpType & | lhs, | |
const RhsType & | rhs, | |||
ResultType & | result | |||
) | [inline] |
Referenced by polybori::BooleExponent::divide().
void polybori::exp_multiply | ( | const ExpType & | lhs, | |
const RhsType & | rhs, | |||
ResultType & | result | |||
) | [inline] |
References exp_multiply().
void polybori::exp_multiply | ( | const ExpType & | lhs, | |
RhsIterator | start, | |||
RhsIterator | finish, | |||
SizeType | nlen, | |||
ResultType & | result | |||
) | [inline] |
Referenced by exp_multiply(), polybori::BooleExponent::multiply(), and polybori::BooleExponent::multiplyFirst().
CCuddNavigator polybori::explicit_navigator_cast | ( | CCuddNavigator::pointer_type | ptr | ) | [inline] |
References polybori::CCuddNavigator::CCuddNavigator().
Referenced by polybori::CCommutativeCacheManagement< polybori::BoolePolyRing, CacheType >::find(), polybori::CCacheManBase< ManagerType, CacheType, 3 >::find(), polybori::CCacheManBase< ManagerType, CacheType, 2 >::find(), and polybori::CCacheManBase< ManagerType, CacheType, 1 >::find().
void polybori::extrusive_ptr_add_ref | ( | const DataType & | , | |
DdNode * | ptr | |||
) | [inline] |
Incrememting reference counts to raw pointers to decision diagrams.
References Cudd_Ref, and PBORI_PREFIX.
Referenced by polybori::CExtrusivePtr< ring_type, node_type >::lock().
void polybori::extrusive_ptr_release | ( | const DataType & | data, | |
DdNode * | ptr | |||
) | [inline] |
Releasing raw pointers to decision diagrams here.
References Cudd_RecursiveDerefZdd, and PBORI_PREFIX.
Referenced by polybori::CExtrusivePtr< ring_type, node_type >::release().
void polybori::finalize_term_hash | ( | HashType & | seed | ) | [inline] |
Referenced by stable_first_hash_range(), and stable_term_hash().
FILE* polybori::fmemopen | ( | void * | buf, | |
size_t | size, | |||
const char * | opentype | |||
) |
References PBORI_ASSERT.
void polybori::for_each | ( | InIter | start, | |
InIter | finish, | |||
const Object & | obj, | |||
MemberFuncPtr | func | |||
) | [inline] |
void polybori::for_each | ( | InIter | start, | |
InIter | finish, | |||
Object & | obj, | |||
MemberFuncPtr | func | |||
) | [inline] |
BooleMonomial polybori::GCD | ( | const BooleMonomial & | lhs, | |
const BooleMonomial & | rhs | |||
) | [inline] |
BooleExponent polybori::GCD | ( | const BooleExponent & | lhs, | |
const BooleExponent & | rhs | |||
) | [inline] |
PolyType polybori::generate_mapping | ( | MonomType & | fromVars, | |
MonomType & | toVars, | |||
PolyType | init | |||
) | [inline] |
CTypes::comp_type polybori::generic_compare_3way | ( | const LhsType & | lhs, | |
const RhsType & | rhs, | |||
BinaryPredicate | comp | |||
) | [inline] |
defines lexicographic comparison for variable indices
Referenced by block_deg_lex_idx_compare(), block_dlex_compare(), polybori::LexOrder::compare(), polybori::DegRevLexAscOrder::compare(), polybori::DegLexOrder::compare(), polybori::BlockDegLexOrder::compare(), and deg_lex_compare().
const MgrType& polybori::get_mgr_core | ( | const MgrType & | rhs | ) | [inline] |
boost::shared_ptr<COrderingBase> polybori::get_ordering | ( | CTypes::ordercode_type | order | ) | [inline] |
References block_dlex, block_dp_asc, dlex, dp_asc, and lp.
Referenced by polybori::BoolePolyRing::changeOrdering().
void polybori::inc_ref | ( | const NaviType & | navi | ) | [inline] |
void polybori::inc_ref | ( | DdNode * | node | ) | [inline] |
References Cudd_Ref, and PBORI_PREFIX.
IteratorLike polybori::increment_iteratorlike | ( | IteratorLike | iter | ) | [inline] |
IteratorLike polybori::increment_iteratorlike | ( | IteratorLike | iter, | |
navigator_tag | ||||
) | [inline] |
IteratorLike polybori::increment_iteratorlike | ( | IteratorLike | iter, | |
ForwardIteratorTag | ||||
) | [inline] |
Iterator::value_type polybori::index_vector_hash | ( | Iterator | start, | |
Iterator | finish | |||
) | [inline] |
NaviType polybori::indexed_term_multiples | ( | NaviType | navi, | |
ReverseIterator | idxStart, | |||
ReverseIterator | idxFinish, | |||
const DDOperations & | apply | |||
) | [inline] |
void polybori::intrusive_ptr_add_ref | ( | CCuddCore * | pCore | ) | [inline] |
void polybori::intrusive_ptr_release | ( | CCuddCore * | pCore | ) | [inline] |
Release current pointer by decrementing reference counting.
References polybori::CCuddCore::release().
bool polybori::is_reducible_by | ( | NaviType | first, | |
NaviType | second | |||
) | [inline] |
Referenced by dd_minimal_elements().
BooleMonomial polybori::LCM | ( | const BooleMonomial & | lhs, | |
const BooleMonomial & | rhs | |||
) | [inline] |
BooleExponent polybori::LCM | ( | const BooleExponent & | lhs, | |
const BooleExponent & | rhs | |||
) | [inline] |
CTypes::comp_type polybori::lex_compare | ( | const LhsType & | lhs, | |
const RhsType & | rhs, | |||
BinaryPredicate | idx_comp | |||
) | [inline] |
CTypes::comp_type polybori::lex_compare | ( | const LhsType & | lhs, | |
const RhsType & | rhs, | |||
BinaryPredicate | idx_comp, | |||
invalid_tag | has_no_easy_equality_test | |||
) | [inline] |
CTypes::comp_type polybori::lex_compare | ( | const LhsType & | lhs, | |
const RhsType & | rhs, | |||
BinaryPredicate | idx_comp, | |||
valid_tag | has_easy_equality_test | |||
) | [inline] |
defines lexicographic comparison
References lex_compare_3way().
Referenced by polybori::LexOrder::compare().
CTypes::comp_type polybori::lex_compare_3way | ( | FirstIterator | start, | |
FirstIterator | finish, | |||
SecondIterator | rhs_start, | |||
SecondIterator | rhs_finish, | |||
BinaryPredicate | idx_comp | |||
) | [inline] |
Referenced by lex_compare().
SizeType polybori::limited_distance | ( | IteratorType | start, | |
IteratorType | finish, | |||
SizeType | limit | |||
) | [inline] |
ValueType polybori::lower_term_accumulate | ( | NaviType | navi, | |
LowerIterator | lstart, | |||
LowerIterator | lfinish, | |||
ValueType | init | |||
) | [inline] |
References polybori::BooleSet::change(), and PBORI_ASSERT.
Referenced by term_accumulate().
PolyType polybori::mapping | ( | PolyType | poly, | |
MonomType | fromVars, | |||
MonomType | toVars | |||
) | [inline] |
References apply_mapping(), and generate_mapping().
bool polybori::max_block_degree_on_then | ( | const DegCacheMgr & | deg_mgr, | |
NaviType | navi, | |||
IdxType | next_block, | |||
SizeType | degree, | |||
invalid_tag | non_descending | |||
) | [inline] |
bool polybori::max_block_degree_on_then | ( | const DegCacheMgr & | deg_mgr, | |
NaviType | navi, | |||
IdxType | next_block, | |||
SizeType | degree, | |||
valid_tag | is_descending | |||
) | [inline] |
References dd_cached_block_degree().
bool polybori::max_degree_on_then | ( | const DegCacheMgr & | deg_mgr, | |
NaviType | navi, | |||
SizeType | degree, | |||
invalid_tag | non_descending | |||
) | [inline] |
References dd_cached_degree().
Referenced by dd_recursive_degree_lead(), and dd_recursive_degree_leadexp().
bool polybori::max_degree_on_then | ( | const DegCacheMgr & | deg_mgr, | |
NaviType | navi, | |||
SizeType | degree, | |||
valid_tag | is_descending | |||
) | [inline] |
References dd_cached_degree().
MemberFunctionOperator<MemberFct> polybori::member_function_operator | ( | MemberFct | func | ) | [inline] |
Referenced by polybori::groebner::RelatedTermsBase::unrelated_terms().
NaviType polybori::minimal_of_two_terms | ( | NaviType | navi, | |
NaviType & | multiples, | |||
ReverseIterator | idxStart, | |||
ReverseIterator | idxFinish, | |||
const DDOperations & | apply | |||
) | [inline] |
!!!!!!!!!!!!
elseTail = elseNavi;
PBORI_PREFIX(Cudd_Ref)(elseTail); 1 elseMult = elseTail;
!2 thenTail = thenNavi;
!1 thenMult= thenTail;
References indexed_term_multiples(), and prepend_multiples_wrt_indices().
Referenced by dd_minimal_elements().
bool polybori::operator!= | ( | Type1 * | lhs, | |
const CExtrusivePtr< Data2, Type2 > & | rhs | |||
) | [inline] |
bool polybori::operator!= | ( | const CExtrusivePtr< Data1, Type1 > & | lhs, | |
Type2 * | rhs | |||
) | [inline] |
bool polybori::operator!= | ( | const CExtrusivePtr< Data1, Type1 > & | lhs, | |
const CExtrusivePtr< Data2, Type2 > & | rhs | |||
) | [inline] |
BoolePolynomial::bool_type polybori::operator!= | ( | BoolePolynomial::bool_type | lhs, | |
const BoolePolynomial & | rhs | |||
) | [inline] |
Nonquality check (with constant lhs).
BoolePolynomial polybori::operator% | ( | const BoolePolynomial & | lhs, | |
const RHSType & | rhs | |||
) | [inline] |
Modulus monomial (division remainder).
BoolePolynomial polybori::operator% | ( | const BoolePolynomial & | lhs, | |
const BooleVariable & | rhs | |||
) | [inline] |
Remainder of division of a polynomial by a variable.
BoolePolynomial polybori::operator* | ( | const BooleConstant & | lhs, | |
const BoolePolynomial & | rhs | |||
) | [inline] |
BoolePolynomial polybori::operator* | ( | const BooleExponent & | lhs, | |
const BoolePolynomial & | rhs | |||
) | [inline] |
BoolePolynomial polybori::operator* | ( | const BooleMonomial & | lhs, | |
const BoolePolynomial & | rhs | |||
) | [inline] |
BoolePolynomial polybori::operator* | ( | const BoolePolynomial & | lhs, | |
const BooleConstant & | rhs | |||
) | [inline] |
BoolePolynomial polybori::operator* | ( | const BoolePolynomial & | lhs, | |
const BooleExponent & | rhs | |||
) | [inline] |
BoolePolynomial polybori::operator* | ( | const BoolePolynomial & | lhs, | |
const BooleMonomial & | rhs | |||
) | [inline] |
BoolePolynomial polybori::operator* | ( | const BoolePolynomial & | lhs, | |
const BoolePolynomial & | rhs | |||
) | [inline] |
BoolePolynomial polybori::operator* | ( | const BoolePolynomial & | lhs, | |
const BooleVariable & | rhs | |||
) | [inline] |
Multiplication of a polynomial by a variable.
BooleMonomial polybori::operator* | ( | const BooleVariable & | lhs, | |
const BooleVariable & | rhs | |||
) | [inline] |
Multiplication of monomials by a polynomial.
BooleMonomial polybori::operator* | ( | const BooleVariable & | lhs, | |
const BooleMonomial & | rhs | |||
) | [inline] |
Multiplication of variables by a monomial.
BoolePolynomial polybori::operator* | ( | const BooleVariable & | lhs, | |
const BoolePolynomial & | rhs | |||
) | [inline] |
Multiplication of variables by a polynomial.
BoolePolynomial polybori::operator* | ( | const BooleConstant & | lhs, | |
const BooleVariable & | rhs | |||
) | [inline] |
Multiplication of 0 or 1 by a Variable.
BoolePolynomial polybori::operator* | ( | const BooleVariable & | lhs, | |
const BooleConstant & | rhs | |||
) | [inline] |
Multiplication of variables by a 0 or 1.
BoolePolynomial polybori::operator* | ( | BooleConstant | lhs, | |
const BooleMonomial & | rhs | |||
) | [inline] |
Multiplication of monomials.
BoolePolynomial polybori::operator* | ( | const BooleMonomial & | lhs, | |
BooleConstant | rhs | |||
) | [inline] |
Multiplication of monomials.
BooleMonomial polybori::operator* | ( | const BooleMonomial & | lhs, | |
const BooleVariable & | rhs | |||
) | [inline] |
Multiplication of monomials.
BooleMonomial polybori::operator* | ( | const BooleMonomial & | lhs, | |
const BooleMonomial & | rhs | |||
) | [inline] |
Multiplication of monomials.
BooleConstant polybori::operator* | ( | const BooleConstant & | lhs, | |
const BooleConstant & | rhs | |||
) | [inline] |
BoolePolynomial& polybori::operator*= | ( | BoolePolynomial & | lhs, | |
const BooleVariable & | rhs | |||
) | [inline] |
Multiplication of a polynomial by a variable with assignment.
BoolePolynomial polybori::operator+ | ( | BooleConstant | lhs, | |
const BoolePolynomial & | rhs | |||
) | [inline] |
Addition operation.
BoolePolynomial polybori::operator+ | ( | const BoolePolynomial & | lhs, | |
BooleConstant | rhs | |||
) | [inline] |
Addition operation.
BoolePolynomial polybori::operator+ | ( | const BoolePolynomial & | lhs, | |
const BoolePolynomial & | rhs | |||
) | [inline] |
Addition operation.
BooleExponent polybori::operator+ | ( | const BooleExponent & | lhs, | |
const RHSType & | rhs | |||
) | [inline] |
BooleConstant polybori::operator+ | ( | const BooleConstant & | lhs, | |
const BooleConstant & | rhs | |||
) | [inline] |
BoolePolynomial polybori::operator- | ( | const BooleConstant & | lhs, | |
const BoolePolynomial & | rhs | |||
) | [inline] |
Subtraction operation with constant right-hand-side.
BoolePolynomial polybori::operator- | ( | const BoolePolynomial & | lhs, | |
const RHSType & | rhs | |||
) | [inline] |
Subtraction operation.
BooleExponent polybori::operator- | ( | const BooleExponent & | lhs, | |
const RHSType & | rhs | |||
) | [inline] |
BooleConstant polybori::operator- | ( | const BooleConstant & | lhs, | |
const BooleConstant & | rhs | |||
) | [inline] |
BoolePolynomial polybori::operator/ | ( | const BooleVariable & | lhs, | |
const BooleVariable & | rhs | |||
) | [inline] |
BoolePolynomial polybori::operator/ | ( | const BoolePolynomial & | lhs, | |
const RHSType & | rhs | |||
) | [inline] |
Division by monomial (skipping remainder).
BoolePolynomial polybori::operator/ | ( | const BoolePolynomial & | lhs, | |
const BooleVariable & | rhs | |||
) | [inline] |
Division of a polynomial by a variable (forcing monomial variant).
BooleMonomial polybori::operator/ | ( | const BooleMonomial & | lhs, | |
const BooleVariable & | rhs | |||
) | [inline] |
Division of monomials.
BooleMonomial polybori::operator/ | ( | const BooleMonomial & | lhs, | |
const BooleMonomial & | rhs | |||
) | [inline] |
Division of monomials.
BooleMonomial::bool_type polybori::operator< | ( | const BooleMonomial & | lhs, | |
const BooleMonomial & | rhs | |||
) | [inline] |
BooleSet::ostream_type& polybori::operator<< | ( | BooleSet::ostream_type & | os, | |
const BooleSet & | bset | |||
) | [inline] |
BoolePolyRing::ostream_type& polybori::operator<< | ( | BoolePolyRing::ostream_type & | os, | |
const BoolePolyRing & | ring | |||
) | [inline] |
BoolePolynomial::ostream_type & polybori::operator<< | ( | BoolePolynomial::ostream_type & | os, | |
const BoolePolynomial & | source | |||
) |
BooleExponent::ostream_type& polybori::operator<< | ( | BooleExponent::ostream_type & | os, | |
const BooleExponent & | rhs | |||
) | [inline] |
CTypes::ostream_type& polybori::operator<< | ( | CTypes::ostream_type & | os, | |
const BooleConstant & | rhs | |||
) | [inline] |
Stream output operator.
BooleMonomial::bool_type polybori::operator<= | ( | const BooleMonomial & | lhs, | |
const BooleMonomial & | rhs | |||
) | [inline] |
bool polybori::operator== | ( | Type1 * | lhs, | |
const CExtrusivePtr< Data2, Type2 > & | rhs | |||
) | [inline] |
bool polybori::operator== | ( | const CExtrusivePtr< Data1, Type1 > & | lhs, | |
Type2 * | rhs | |||
) | [inline] |
bool polybori::operator== | ( | const CExtrusivePtr< Data1, Type1 > & | lhs, | |
const CExtrusivePtr< Data2, Type2 > & | rhs | |||
) | [inline] |
BoolePolynomial::bool_type polybori::operator== | ( | BoolePolynomial::bool_type | lhs, | |
const BoolePolynomial & | rhs | |||
) | [inline] |
Equality check (with constant lhs).
BooleMonomial::bool_type polybori::operator> | ( | const BooleMonomial & | lhs, | |
const BooleMonomial & | rhs | |||
) | [inline] |
BooleMonomial::bool_type polybori::operator>= | ( | const BooleMonomial & | lhs, | |
const BooleMonomial & | rhs | |||
) | [inline] |
bool polybori::owns_one | ( | NaviType | navi | ) | [inline] |
Test whether the empty set is included.
Referenced by dd_contains_divs_of_dec_deg(), dd_minimal_elements(), dd_modulo_monomials(), and polybori::BooleSet::ownsOne().
NodeType polybori::pboriCudd_zddUnionXor | ( | MgrType | dd, | |
NodeType | P, | |||
NodeType | Q | |||
) | [inline] |
References pboriCuddZddUnionXor().
Referenced by polybori::CCuddDDFacade< polybori::BoolePolyRing, polybori::BooleSet >::Xor().
NodeType polybori::pboriCuddZddUnionXor | ( | MgrType | zdd, | |
NodeType | P, | |||
NodeType | Q | |||
) | [inline] |
The following should be made more generic
References Cudd_Deref, Cudd_RecursiveDerefZdd, Cudd_Ref, cuddCacheInsert2, cuddCacheLookup2Zdd, cuddZddGetNode, PBORI_PREFIX, and pboriCuddZddUnionXor__().
Referenced by pboriCudd_zddUnionXor().
DdNode * polybori::pboriCuddZddUnionXor__ | ( | DdManager * | , | |
DdNode * | , | |||
DdNode * | ||||
) |
Referenced by pboriCuddZddUnionXor().
NaviType polybori::prepend_multiples_wrt_indices | ( | NaviType | navi, | |
SizeType | minIdx, | |||
ReverseIterator | start, | |||
ReverseIterator | finish, | |||
const DDOperations & | apply | |||
) | [inline] |
Referenced by dd_minimal_elements(), and minimal_of_two_terms().
void polybori::recursive_dec_ref | ( | const MgrType & | mgr, | |
const NaviType & | navi | |||
) | [inline] |
Referenced by apply_assign_cudd_function(), and apply_replacing_cudd_function().
void polybori::recursive_dec_ref | ( | const MgrType & | mgr, | |
DdNode * | node | |||
) | [inline] |
CTypes::comp_type polybori::restricted_lex_compare_3way | ( | FirstIterator | start, | |
FirstIterator | finish, | |||
SecondIterator | rhs_start, | |||
SecondIterator | rhs_finish, | |||
IdxType | max_index, | |||
BinaryPredicate | idx_comp | |||
) | [inline] |
Referenced by block_dlex_compare().
OutputIterator polybori::reversed_inter_copy | ( | InputIterator | start, | |
InputIterator | finish, | |||
Intermediate & | inter, | |||
OutputIterator | output | |||
) | [inline] |
Function templates doing a reversed copy using intermediate storage.
Referenced by dd_last_lexicographical_term().
void polybori::run | ( | const char * | code | ) | [inline] |
bool polybori::same_rings | ( | Iterator | start, | |
Iterator | finish | |||
) | [inline] |
bool polybori::same_rings | ( | const IDType & | id, | |
Iterator | start, | |||
Iterator | finish | |||
) | [inline] |
Referenced by polybori::groebner::GroebnerStrategy::faugereStepDense().
OutputIterator polybori::special_first_transform | ( | InputIterator | first, | |
InputIterator | last, | |||
OutputIterator | result, | |||
UnaryFunction | op, | |||
FirstFunction | firstop | |||
) | [inline] |
References transform().
BoolePolynomial polybori::spoly | ( | const BoolePolynomial & | first, | |
const BoolePolynomial & | second | |||
) | [inline] |
Compute spoly of two polynomials.
References polybori::BoolePolynomial::lead().
Referenced by polybori::groebner::NextSpoly::compute(), polybori::groebner::IJPairData::extract(), and polybori::groebner::nf3_short().
std::size_t polybori::stable_first_hash_range | ( | NaviType | navi | ) | [inline] |
Referenced by polybori::BooleMonomial::stableHash().
void polybori::stable_first_hash_range | ( | HashType & | seed, | |
NaviType | navi | |||
) | [inline] |
std::size_t polybori::stable_hash_range | ( | NaviType | navi | ) | [inline] |
Referenced by stable_hash_range(), and polybori::BooleSet::stableHash().
void polybori::stable_hash_range | ( | HashType & | seed, | |
NaviType | navi | |||
) | [inline] |
References stable_hash_range().
std::size_t polybori::stable_term_hash | ( | Iterator | start, | |
Iterator | finish | |||
) | [inline] |
Referenced by polybori::BooleExponent::stableHash().
void polybori::stable_term_hash | ( | HashType & | seed, | |
Iterator | start, | |||
Iterator | finish | |||
) | [inline] |
References finalize_term_hash().
PolyType polybori::substitute_variables | ( | const RingType & | ring, | |
const MapType & | idx2poly, | |||
const PolyType & | poly | |||
) | [inline] |
Maps a polynomial from one ring to another, using a given map old_index -> new_polynomial
PolyType polybori::substitute_variables__ | ( | const RingType & | ring, | |
const MapType & | idx2poly, | |||
NaviType | navi | |||
) | [inline] |
Internal variant: Maps a polynomial from one ring to another, using a given map old_index -> new_polynomial
ValueType polybori::term_accumulate | ( | InputIterator | first, | |
InputIterator | last, | |||
ValueType | init | |||
) | [inline] |
Routine for adding all terms given by iterators.
References PBORI_ASSERT, and upper_term_accumulate().
Referenced by polybori::groebner::LexHelper::sum_range(), and term_accumulate().
ValueType polybori::term_accumulate | ( | UpperIterator | ustart, | |
UpperIterator | ufinish, | |||
NaviType | navi, | |||
LowerIterator | lstart, | |||
LowerIterator | lfinish, | |||
ValueType | init | |||
) | [inline] |
OutIter polybori::transform | ( | InIter | start, | |
InIter | finish, | |||
OutIter | result, | |||
Object & | obj, | |||
MemberFuncPtr | func | |||
) | [inline] |
ValueType polybori::upper_term_accumulate | ( | UpperIterator | ustart, | |
UpperIterator | ufinish, | |||
NaviType | navi, | |||
ValueType | init | |||
) | [inline] |
Referenced by term_accumulate().
const Type& polybori::which | ( | bool | cond1, | |
const Type1 & | value1, | |||
bool | cond2, | |||
const Type2 & | value2, | |||
bool | cond3, | |||
const Type3 & | value3, | |||
const Type & | value | |||
) | [inline] |
Referenced by polybori::groebner::ReductionTerms::related(), and which().
const Type& polybori::which | ( | bool | cond1, | |
const Type1 & | value1, | |||
bool | cond2, | |||
const Type2 & | value2, | |||
const Type & | value | |||
) | [inline] |
References which().
const Type& polybori::which | ( | bool | condition, | |
const Type1 & | value1, | |||
const Type & | value | |||
) | [inline] |
Referenced by polybori::groebner::GroebnerStrategy::addAsYouWish().