pbori_routines_misc.h File Reference

#include "pbori_defs.h"
#include "CIdxVariable.h"
#include "CacheManager.h"
#include "CDDOperations.h"

Go to the source code of this file.

Functions

template<class Iterator >
BEGIN_NAMESPACE_PBORI
Iterator::value_type 
index_vector_hash (Iterator start, Iterator finish)
template<class DegreeCacher , class NaviType >
NaviType::size_type dd_cached_degree (const DegreeCacher &cache, NaviType navi)
template<class DegreeCacher , class NaviType , class SizeType >
NaviType::size_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)

Detailed Description

Author:
Alexander Dreyer
Date:
2006-08-23

This file includes files, which defines miscellaneous function templates.

Copyright:
(c) 2006 by The PolyBoRi Team

Function Documentation

template<class CacheType , class NaviType , class MonomType >
MonomType 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 DegreeCacher , class NaviType , class SizeType >
NaviType::size_type 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::size_type dd_cached_degree ( const DegreeCacher &  cache,
NaviType  navi 
) [inline]
template<class CacheType , class NaviType , class PolyType >
PolyType dd_divide_recursively ( const CacheType &  cache_mgr,
NaviType  navi,
NaviType  monomNavi,
PolyType  init 
) [inline]
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 
) [inline]
template<class CacheType , class NaviType , class TermType >
TermType dd_existential_abstraction ( const CacheType &  cache_mgr,
NaviType  varsNavi,
NaviType  navi,
TermType  init 
) [inline]
template<class CacheManager , class NaviType , class SetType >
SetType dd_first_divisors_of ( CacheManager  cache_mgr,
NaviType  navi,
NaviType  rhsNavi,
SetType  init 
) [inline]

dd_first_divisors_of 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

template<class CacheType , class NaviType , class SetType >
SetType dd_first_multiples_of ( const CacheType &  cache_mgr,
NaviType  navi,
NaviType  rhsNavi,
SetType  init 
) [inline]
template<class CacheType , class NaviType , class DegType , class SetType >
SetType dd_graded_part ( const CacheType &  cache,
NaviType  navi,
DegType  deg,
SetType  init 
) [inline]
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 
) [inline]
template<class CacheType , class NaviType , class PolyType >
PolyType dd_multiply_recursively ( const CacheType &  cache_mgr,
NaviType  firstNavi,
NaviType  secondNavi,
PolyType  init 
) [inline]
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 
) [inline]
template<class NaviType , class Iterator >
bool dd_owns ( NaviType  navi,
Iterator  start,
Iterator  finish 
) [inline]

Referenced by BooleSet::begin().

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 
) [inline]

References dd_print_term().

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 
) [inline]

Referenced by dd_print_term(), and dd_print_terms().

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 
) [inline]

References dd_print_term().

Referenced by BoolePolynomial::print().

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 
) [inline]
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 
) [inline]
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 
) [inline]
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 
) [inline]
template<class Iterator >
BEGIN_NAMESPACE_PBORI Iterator::value_type index_vector_hash ( Iterator  start,
Iterator  finish 
) [inline]
template<class DegCacheMgr , class NaviType , class SizeType >
bool 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 max_degree_on_then ( const DegCacheMgr &  deg_mgr,
NaviType  navi,
SizeType  degree,
valid_tag  is_descending 
) [inline]
Generated on Tue May 4 08:39:34 2010 for PolyBoRi by  doxygen 1.6.3