#include <polybori/pbori_defs.h>
#include <polybori/cudd/cudd.h>
#include <polybori/cudd/prefix.h>
#include "CApplyNodeFacade.h"
#include "CNodeCounter.h"
#include <polybori/routines/pbori_routines_cuddext.h>
#include <polybori/common/CExtrusivePtr.h>
#include <polybori/iterators/CCuddNavigator.h>
#include <polybori/iterators/CCuddFirstIter.h>
#include <polybori/iterators/CCuddLastIter.h>
#include <polybori/iterators/PBoRiOutIter.h>
#include <polybori/except/PBoRiGenericError.h>
#include <polybori/common/CCheckedIdx.h>
#include <polybori/routines/pbori_algo.h>
#include <polybori/common/tags.h>
#include <polybori/routines/pbori_routines_hash.h>
#include <boost/preprocessor/cat.hpp>
#include <boost/preprocessor/seq/for_each.hpp>
#include <boost/preprocessor/facilities/expand.hpp>
#include <boost/preprocessor/stringize.hpp>
#include <stdexcept>
#include <algorithm>
#include <numeric>
Go to the source code of this file.
Namespaces | |
namespace | polybori |
Classes | |
class | polybori::CCuddDDFacade< RingType, DiagramType > |
This template class defines a facade for decision diagrams. More... | |
Defines | |
#define | PBORI_NAME_Product product |
#define | PBORI_NAME_UnateProduct unateProduct |
#define | PBORI_NAME_WeakDiv weakDivide |
#define | PBORI_NAME_Divide divide |
#define | PBORI_NAME_WeakDivF weakDivF |
#define | PBORI_NAME_DivideF divideF |
#define | PBORI_NAME_Union unite |
#define | PBORI_NAME_Intersect intersect |
#define | PBORI_NAME_Diff diff |
#define | PBORI_NAME_Subset1 subset1 |
#define | PBORI_NAME_Subset0 subset0 |
#define | PBORI_NAME_Change change |
#define | PB_ZDD_APPLY(count, data, funcname) |
Functions | |
template<class DataType> | |
void | polybori::extrusive_ptr_release (const DataType &data, DdNode *ptr) |
Releasing raw pointers to decision diagrams here. | |
template<class DataType> | |
void | polybori::extrusive_ptr_add_ref (const DataType &, DdNode *ptr) |
Incrememting reference counts to raw pointers to decision diagrams. |
#define PB_ZDD_APPLY | ( | count, | |||
data, | |||||
funcname | ) |
Value:
diagram_type BOOST_PP_CAT(PBORI_NAME_, funcname)(data rhs) const { \ return apply(BOOST_PP_CAT(PBORI_PREFIX(Cudd_zdd), funcname), \ rhs); }
#define PBORI_NAME_Change change |
#define PBORI_NAME_Diff diff |
#define PBORI_NAME_Divide divide |
#define PBORI_NAME_DivideF divideF |
#define PBORI_NAME_Intersect intersect |
#define PBORI_NAME_Product product |
#define PBORI_NAME_Subset0 subset0 |
#define PBORI_NAME_Subset1 subset1 |
#define PBORI_NAME_UnateProduct unateProduct |
#define PBORI_NAME_Union unite |
#define PBORI_NAME_WeakDiv weakDivide |
#define PBORI_NAME_WeakDivF weakDivF |