PolyBoRi
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
libpolybori
include
polybori
diagram
CDDOperations.h
Go to the documentation of this file.
1
// -*- c++ -*-
2
//*****************************************************************************
13
//*****************************************************************************
14
15
#ifndef polybori_diagram_CDDOperations_h_
16
#define polybori_diagram_CDDOperations_h_
17
18
// include basic definitions
19
#include <
polybori/pbori_defs.h
>
20
21
// Get Cudd definitions
22
#include <
polybori/cudd/cudd.h
>
23
24
#include <
polybori/routines/pbori_routines.h
>
25
#include <
polybori/cache/CCacheManagement.h
>
26
#include <
polybori/BoolePolyRing.h
>
27
28
BEGIN_NAMESPACE_PBORI
29
32
template
<
class
DDType,
class
MonomType>
33
class
CDDOperations {
34
public
:
35
36
// This is only a work-around, since a monomial should not be generated from
37
// a dd.
38
MonomType
getMonomial
(
const
DDType& dd)
const
{
39
return
MonomType(dd);
40
}
41
42
MonomType
usedVariables
(
const
DDType& dd){
43
44
// get type definitions from DDType
45
typedef
typename
DDType::idx_type
idx_type
;
46
typedef
typename
DDType::navigator navigator;
47
typedef
MonomType monom_type;
48
49
CCacheManagement<BoolePolyRing, CCacheTypes::used_variables>
cache_mgr((
BoolePolyRing
)dd.ring());
50
return
cached_used_vars
(cache_mgr, dd.navigation(),
51
MonomType(cache_mgr.one()));
52
}
53
54
};
55
56
57
58
END_NAMESPACE_PBORI
59
60
#endif
Generated by
1.8.3.1