#include <polybori/pbori_defs.h>
#include "pbori_func.h"
#include <polybori/common/traits.h>
#include <polybori/cudd/cudd.h>
#include <polybori/ring/CCuddInterface.h>
Go to the source code of this file.
Namespaces | |
namespace | polybori |
Functions | |
template<class NaviType, class TermType, class TernaryOperator, class TerminalOperator> | |
TermType | polybori::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 | polybori::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 | polybori::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 | polybori::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 | polybori::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 | polybori::special_first_transform (InputIterator first, InputIterator last, OutputIterator result, UnaryFunction op, FirstFunction firstop) |
template<class InputIterator, class Intermediate, class OutputIterator> | |
OutputIterator | polybori::reversed_inter_copy (InputIterator start, InputIterator finish, Intermediate &inter, OutputIterator output) |
Function templates doing a reversed copy using intermediate storage. | |
template<class NaviType> | |
bool | polybori::dd_on_path (NaviType navi) |
template<class NaviType, class OrderedIterator> | |
bool | polybori::dd_owns_term_of_indices (NaviType navi, OrderedIterator start, OrderedIterator finish) |
template<class NaviType, class OrderedIterator, class NodeOperation> | |
NaviType | polybori::dd_intersect_some_index (NaviType navi, OrderedIterator start, OrderedIterator finish, NodeOperation newNode) |
template<class NaviType> | |
void | polybori::dd_print (NaviType navi) |
Function templates for debugging, prints dd indices and reference counts. | |
template<class IteratorType, class SizeType> | |
SizeType | polybori::limited_distance (IteratorType start, IteratorType finish, SizeType limit) |
template<class NaviType> | |
bool | polybori::owns_one (NaviType navi) |
Test whether the empty set is included. | |
template<class CacheMgr, class NaviType, class SetType> | |
SetType | polybori::dd_modulo_monomials (const CacheMgr &cache_mgr, NaviType navi, NaviType rhs, const SetType &init) |
template<class CacheMgr, class ModMonCacheMgr, class NaviType, class SetType> | |
SetType | polybori::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 | polybori::dd_minimal_elements (NaviType navi, DDType dd, DDType &multiples) |
template<class MgrType> | |
const MgrType & | polybori::get_mgr_core (const MgrType &rhs) |
template<class ManagerType, class ReverseIterator, class MultReverseIterator, class DDBase> | |
DDBase | polybori::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 | polybori::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 | polybori::bounded_max_element (Iterator start, Iterator finish, SizeType bound) |
template<class LhsType, class RhsType, class BinaryPredicate> | |
CTypes::comp_type | polybori::generic_compare_3way (const LhsType &lhs, const RhsType &rhs, BinaryPredicate comp) |
defines lexicographic comparison for variable indices | |
template<class IteratorLike, class ForwardIteratorTag> | |
IteratorLike | polybori::increment_iteratorlike (IteratorLike iter, ForwardIteratorTag) |
template<class IteratorLike> | |
IteratorLike | polybori::increment_iteratorlike (IteratorLike iter, navigator_tag) |
template<class IteratorLike> | |
IteratorLike | polybori::increment_iteratorlike (IteratorLike iter) |
DdNode * | polybori::pboriCuddZddUnionXor__ (DdManager *, DdNode *, DdNode *) |
template<class MgrType, class NodeType> | |
NodeType | polybori::pboriCuddZddUnionXor (MgrType zdd, NodeType P, NodeType Q) |
template<class MgrType, class NodeType> | |
NodeType | polybori::pboriCudd_zddUnionXor (MgrType dd, NodeType P, NodeType Q) |
template<class NaviType> | |
bool | polybori::dd_is_singleton (NaviType navi) |
template<class NaviType, class BooleConstant> | |
BooleConstant | polybori::dd_pair_check (NaviType navi, BooleConstant allowSingleton) |
template<class NaviType> | |
bool | polybori::dd_is_singleton_or_pair (NaviType navi) |
template<class NaviType> | |
bool | polybori::dd_is_pair (NaviType navi) |
template<class SetType> | |
void | polybori::combine_sizes (const SetType &bset, double &init) |
template<class SetType> | |
void | polybori::combine_sizes (const SetType &bset, typename SetType::size_type &init) |
template<class SizeType, class IdxType, class NaviType, class SetType> | |
SizeType & | polybori::count_index (SizeType &size, IdxType idx, NaviType navi, const SetType &init) |
template<class SizeType, class IdxType, class SetType> | |
SizeType & | polybori::count_index (SizeType &size, IdxType idx, const SetType &bset) |
template<class InIter, class OutIter, class Object, class MemberFuncPtr> | |
OutIter | polybori::transform (InIter start, InIter finish, OutIter result, Object &obj, MemberFuncPtr func) |
template<class InIter, class Object, class MemberFuncPtr> | |
void | polybori::for_each (InIter start, InIter finish, Object &obj, MemberFuncPtr func) |
template<class InIter, class Object, class MemberFuncPtr> | |
void | polybori::for_each (InIter start, InIter finish, const Object &obj, MemberFuncPtr func) |
template<class Type, class Type1> | |
const Type & | polybori::which (bool condition, const Type1 &value1, const Type &value) |
template<class Type, class Type1, class Type2> | |
const Type & | polybori::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 & | polybori::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 | polybori::same_rings (const IDType &id, Iterator start, Iterator finish) |
template<class Iterator> | |
bool | polybori::same_rings (Iterator start, Iterator finish) |