polybori Namespace Reference

Namespaces

namespace  groebner

Classes

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  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  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  lm_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
struct  handle_error
struct  handle_error< 0 >
class  lex_compare_predicate
 defines lexicographic comparison functor More...
class  dummy_data_type
class  bounded_restricted_term
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...
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< Cudd >
struct  manager_traits< Cudd * >
struct  manager_traits< DdManager * >
struct  manager_traits
struct  mgrcore_traits< Cudd >
struct  zdd_traits< ZDD >
struct  zdd_traits< CCuddZDD >
struct  cudd_error_traits
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  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  EliminationDegreeAdder
class  AddEliminationDegree

Functions

template<class ValueType >
void pbori_shared_ptr_postclean (const boost::shared_ptr< ValueType > &, const boost::shared_ptr< ValueType > &)
boost::shared_ptr
< CDynamicOrderBase
get_ordering (CTypes::ordercode_type order)
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<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 , class MonomTag >
PolyType dd_multiply_recursively (const CacheType &cache_mgr, NaviType monomNavi, NaviType navi, PolyType init, MonomTag monom_tag)
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 &deg_mgr, NaviType navi, SizeType degree, valid_tag is_descending)
template<class DegCacheMgr , class NaviType , class SizeType >
bool max_degree_on_then (const DegCacheMgr &deg_mgr, NaviType navi, SizeType degree, invalid_tag non_descending)
template<class CacheType , class DegCacheMgr , class NaviType , class TermType , class SizeType , class DescendingProperty >
TermType dd_recursive_degree_lead (const CacheType &cache_mgr, const DegCacheMgr &deg_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 &deg_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 &deg_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 &deg_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 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 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 &deg_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 &deg_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 &deg_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 &deg_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)
BooleMonomial::bool_type greater_variable (BooleMonomial::idx_type lhs, BooleMonomial::idx_type rhs)
 Checks whether BooleVariable(lhs) > BooleVariable(rhs).
BoolePolynomial::ostream_typeoperator<< (BoolePolynomial::ostream_type &os, const BoolePolynomial &source)
 Stream output operator.
DdNode * pboriCuddZddUnionXor__ (DdManager *, DdNode *, DdNode *)

Variables

BooleEnv::ring_type active_ring

Function Documentation

template<class IdxType , class Iterator , class BinaryPredicate >
CTypes::comp_type polybori::block_deg_lex_idx_compare ( IdxType  lhs,
IdxType  rhs,
Iterator  start,
Iterator  finish,
BinaryPredicate  idx_comp 
) [inline]
Note:
: no necessary for block_dlex, only for block_dp_asc

References generic_compare_3way().

Referenced by BlockDegRevLexAscOrder::compare().

template<class LhsIterator , class RhsIterator , class Iterator , class BinaryPredicate >
CTypes::comp_type polybori::block_dlex_compare ( LhsIterator  lhsStart,
LhsIterator  lhsFinish,
RhsIterator  rhsStart,
RhsIterator  rhsFinish,
Iterator  start,
Iterator  finish,
BinaryPredicate  idx_comp 
) [inline]
template<class CacheType , class NaviType , class MonomType >
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 CDDOperations< DDType, MonomType >::usedVariables().

template<class CacheType , class DegCacheMgr , class NaviType , class Iterator , class TermType , class DescendingProperty >
TermType polybori::dd_block_degree_lead ( const CacheType &  cache_mgr,
const DegCacheMgr &  deg_mgr,
NaviType  navi,
Iterator  block_iter,
TermType  init,
DescendingProperty  prop 
) [inline]
template<class CacheType , class DegCacheMgr , class NaviType , class TermType , class Iterator , class SizeType , class DescendingProperty >
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]
template<class DegreeCacher , class NaviType , class IdxType >
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 cached_block_deg< navigator >::operator()().

template<class DegreeCacher , class NaviType , class SizeType >
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 dd_cached_degree().

template<class DegreeCacher , class NaviType >
NaviType::deg_type polybori::dd_cached_degree ( const DegreeCacher &  cache,
NaviType  navi 
) [inline]
template<class CacheType , class NaviType , class PolyType >
PolyType polybori::dd_divide_recursively ( const CacheType &  cache_mgr,
NaviType  navi,
NaviType  monomNavi,
PolyType  init 
) [inline]
template<class DDGenerator , class Iterator , class NaviType , class PolyType >
PolyType polybori::dd_divide_recursively_exp ( const DDGenerator &  ddgen,
NaviType  navi,
Iterator  start,
Iterator  finish,
PolyType  init 
) [inline]
template<class CacheType , class NaviType , class TermType >
TermType polybori::dd_existential_abstraction ( const CacheType &  cache_mgr,
NaviType  varsNavi,
NaviType  navi,
TermType  init 
) [inline]

Referenced by BooleSet::existAbstract().

template<class CacheManager , class NaviType , class SetType >
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 CacheManager< CacheType >::insert().

Referenced by BooleSet::firstDivisorsOf().

template<class CacheType , class NaviType , class SetType >
SetType polybori::dd_first_multiples_of ( const CacheType &  cache_mgr,
NaviType  navi,
NaviType  rhsNavi,
SetType  init 
) [inline]

Referenced by BooleSet::multiplesOf().

template<class CacheType , class NaviType , class DegType , class SetType >
SetType polybori::dd_graded_part ( const CacheType &  cache,
NaviType  navi,
DegType  deg,
SetType  init 
) [inline]
template<class DDType , class OutputType >
OutputType polybori::dd_last_lexicographical_term ( const DDType &  dd,
type_tag< OutputType >   
) [inline]

Get last term (wrt. lexicographical order).

References reversed_inter_copy().

Referenced by BooleSet::lastLexicographicalTerm().

template<class CacheType , class NaviType , class PolyType , class MonomTag >
PolyType polybori::dd_multiply_recursively ( const CacheType &  cache_mgr,
NaviType  monomNavi,
NaviType  navi,
PolyType  init,
MonomTag  monom_tag 
) [inline]
template<class CacheType , class NaviType , class PolyType >
PolyType polybori::dd_multiply_recursively ( const CacheType &  cache_mgr,
NaviType  firstNavi,
NaviType  secondNavi,
PolyType  init 
) [inline]
template<class DDGenerator , class Iterator , class NaviType , class PolyType >
PolyType polybori::dd_multiply_recursively_exp ( const DDGenerator &  ddgen,
Iterator  start,
Iterator  finish,
NaviType  navi,
PolyType  init 
) [inline]
template<class NaviType , class Iterator >
bool polybori::dd_owns ( NaviType  navi,
Iterator  start,
Iterator  finish 
) [inline]

Referenced by BooleSet::owns().

template<class TermType , class NameGenerator , class Separator , class EmptySetType , class OStreamType >
void polybori::dd_print_term ( const TermType &  term,
const NameGenerator &  get_name,
const Separator &  sep,
const EmptySetType &  emptyset,
OStreamType &  os 
) [inline]

References dd_print_term().

template<class Iterator , class NameGenerator , class Separator , class EmptySetType , class OStreamType >
void polybori::dd_print_term ( Iterator  start,
Iterator  finish,
const NameGenerator &  get_name,
const Separator &  sep,
const EmptySetType &  emptyset,
OStreamType &  os 
) [inline]

Referenced by dd_print_term(), and dd_print_terms().

template<class Iterator , class NameGenerator , class Separator , class InnerSeparator , class EmptySetType , class OStreamType >
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]
template<class CacheType , class DegCacheMgr , class NaviType , class TermType , class DescendingProperty >
TermType polybori::dd_recursive_degree_lead ( const CacheType &  cache_mgr,
const DegCacheMgr &  deg_mgr,
NaviType  navi,
TermType  init,
DescendingProperty  prop 
) [inline]
template<class CacheType , class DegCacheMgr , class NaviType , class TermType , class SizeType , class DescendingProperty >
TermType polybori::dd_recursive_degree_lead ( const CacheType &  cache_mgr,
const DegCacheMgr &  deg_mgr,
NaviType  navi,
TermType  init,
SizeType  degree,
DescendingProperty  prop 
) [inline]
template<class CacheType , class DegCacheMgr , class NaviType , class TermType , class DescendingProperty >
TermType& polybori::dd_recursive_degree_leadexp ( const CacheType &  cache_mgr,
const DegCacheMgr &  deg_mgr,
NaviType  navi,
TermType &  result,
DescendingProperty  prop 
) [inline]
template<class CacheType , class DegCacheMgr , class NaviType , class TermType , class SizeType , class DescendingProperty >
TermType& polybori::dd_recursive_degree_leadexp ( const CacheType &  cache_mgr,
const DegCacheMgr &  deg_mgr,
NaviType  navi,
TermType &  result,
SizeType  degree,
DescendingProperty  prop 
) [inline]
template<class LhsType , class RhsType , class BinaryPredicate >
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 DegRevLexAscOrder::compare(), and DegLexOrder::compare().

template<class StackType , class Iterator >
void polybori::dummy_append ( StackType &  stack,
Iterator  start,
Iterator  finish 
) [inline]
template<class ExpType , class RhsType , class ResultType >
void polybori::exp_divide ( const ExpType &  lhs,
const RhsType &  rhs,
ResultType &  result 
) [inline]

Referenced by BooleExponent::divide().

template<class ExpType , class RhsType , class ResultType >
void polybori::exp_multiply ( const ExpType &  lhs,
const RhsType &  rhs,
ResultType &  result 
) [inline]

References exp_multiply().

template<class ExpType , class RhsIterator , class SizeType , class ResultType >
void polybori::exp_multiply ( const ExpType &  lhs,
RhsIterator  start,
RhsIterator  finish,
SizeType  nlen,
ResultType &  result 
) [inline]
template<class HashType >
void polybori::finalize_term_hash ( HashType &  seed  )  [inline]
boost::shared_ptr< CDynamicOrderBase > polybori::get_ordering ( CTypes::ordercode_type  order  )  [inline]
BooleMonomial::bool_type polybori::greater_variable ( BooleMonomial::idx_type  lhs,
BooleMonomial::idx_type  rhs 
)

Checks whether BooleVariable(lhs) > BooleVariable(rhs).

References BooleEnv::ordering(), and PBORI_TRACE_FUNC.

template<class Iterator >
Iterator::value_type polybori::index_vector_hash ( Iterator  start,
Iterator  finish 
) [inline]
template<class LhsType , class RhsType , class BinaryPredicate >
CTypes::comp_type polybori::lex_compare ( const LhsType &  lhs,
const RhsType &  rhs,
BinaryPredicate  idx_comp 
) [inline]

defines lexicographic comparison

References lex_compare().

template<class LhsType , class RhsType , class BinaryPredicate >
CTypes::comp_type polybori::lex_compare ( const LhsType &  lhs,
const RhsType &  rhs,
BinaryPredicate  idx_comp,
invalid_tag  has_no_easy_equality_test 
) [inline]

defines lexicographic comparison

References lex_compare_3way().

template<class LhsType , class RhsType , class BinaryPredicate >
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 LexOrder::compare(), deg_lex_compare(), and lex_compare().

template<class FirstIterator , class SecondIterator , class BinaryPredicate >
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().

template<class DegCacheMgr , class NaviType , class IdxType , class SizeType >
bool polybori::max_block_degree_on_then ( const DegCacheMgr &  deg_mgr,
NaviType  navi,
IdxType  next_block,
SizeType  degree,
invalid_tag  non_descending 
) [inline]
template<class DegCacheMgr , class NaviType , class IdxType , class SizeType >
bool polybori::max_block_degree_on_then ( const DegCacheMgr &  deg_mgr,
NaviType  navi,
IdxType  next_block,
SizeType  degree,
valid_tag  is_descending 
) [inline]
template<class DegCacheMgr , class NaviType , class SizeType >
bool polybori::max_degree_on_then ( const DegCacheMgr &  deg_mgr,
NaviType  navi,
SizeType  degree,
invalid_tag  non_descending 
) [inline]

References dd_cached_degree().

template<class DegCacheMgr , class NaviType , class SizeType >
bool polybori::max_degree_on_then ( const DegCacheMgr &  deg_mgr,
NaviType  navi,
SizeType  degree,
valid_tag  is_descending 
) [inline]
BoolePolynomial::ostream_type& polybori::operator<< ( BoolePolynomial::ostream_type os,
const BoolePolynomial source 
)

Stream output operator.

References BoolePolynomial::print().

template<class ValueType >
void polybori::pbori_shared_ptr_postclean ( const boost::shared_ptr< ValueType > &  ,
const boost::shared_ptr< ValueType > &   
) [inline]
DdNode* polybori::pboriCuddZddUnionXor__ ( DdManager *  ,
DdNode *  ,
DdNode *   
)
template<class FirstIterator , class SecondIterator , class IdxType , class BinaryPredicate >
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().

template<class NaviType >
std::size_t polybori::stable_first_hash_range ( NaviType  navi  )  [inline]
template<class HashType , class NaviType >
void polybori::stable_first_hash_range ( HashType &  seed,
NaviType  navi 
) [inline]
template<class NaviType >
std::size_t polybori::stable_hash_range ( NaviType  navi  )  [inline]

References stable_hash_range().

template<class HashType , class NaviType >
void polybori::stable_hash_range ( HashType &  seed,
NaviType  navi 
) [inline]
template<class Iterator >
std::size_t polybori::stable_term_hash ( Iterator  start,
Iterator  finish 
) [inline]

References stable_term_hash().

template<class HashType , class Iterator >
void polybori::stable_term_hash ( HashType &  seed,
Iterator  start,
Iterator  finish 
) [inline]

Variable Documentation

Referenced by BooleEnv::ring().


Generated on 25 Oct 2009 for PolyBoRi by  doxygen 1.6.1