DDD  1.9.0.20240826145154
Hom_Basic.hh
Go to the documentation of this file.
1 #ifndef __HOM_BASIC__H_
2 #define __HOM_BASIC__H_
3 
4 #include "ddd/DDD.h"
5 #include "ddd/Hom.h"
6 #include "ddd/SDD.h"
7 #include "ddd/SHom.h"
8 
9 
10 // keep paths where variable var is equal to val
11 GHom varEqState (int var, int val) ;
12 // keep paths where variable var is NOT equal to val
13 GHom varNeqState (int var, int val) ;
14 // keep paths where variable var is strictly greater than val
15 GHom varGtState (int var, int val) ;
16 // keep paths where variable var is strictly < val
17 GHom varLtState (int var, int val) ;
18 // keep paths where variable var is <= to val
19 GHom varLeqState (int var, int val) ;
20 // keep paths where variable var is >= to val
21 GHom varGeqState (int var, int val) ;
22 // set a var to a constant
23 GHom setVarConst (int var, int val) ;
24 // increment or decrement the value of var by val
25 GHom incVar (int var, int val) ;
26 
27 // keep paths where variable var is equal to val
28 GHom varEqVar (int var, int var2) ;
29 // keep paths where variable var is NOT equal to var2
30 GHom varNeqVar (int var, int var2) ;
31 // keep paths where variable var is strictly greater than var2
32 GHom varGtVar (int var, int var2) ;
33 // keep paths where variable var is strictly < var2
34 GHom varLtVar (int var, int var2) ;
35 // keep paths where variable var is <= to var2
36 GHom varLeqVar (int var, int var2) ;
37 // keep paths where variable var is >= to var2
38 GHom varGeqVar (int var, int var2) ;
39 
40 #include <functional>
41 
43 typedef std::vector<DDD::val_t> state_t;
45 typedef std::function<void(state_t &)> callback_t;
47 void iterate (const GDDD & node, callback_t * cb);
49 void iterate (const GSDD & node, callback_t * cb);
50 
51 
52 #endif
GHom incVar(int var, int val)
Definition: Hom_Basic.cpp:331
GHom varGtVar(int var, int var2)
Definition: Hom_Basic.cpp:463
GHom varNeqVar(int var, int var2)
Definition: Hom_Basic.cpp:446
GHom varNeqState(int var, int val)
Definition: Hom_Basic.cpp:182
GHom setVarConst(int var, int val)
Definition: Hom_Basic.cpp:258
GHom varGeqVar(int var, int var2)
Definition: Hom_Basic.cpp:456
GHom varLeqState(int var, int val)
Definition: Hom_Basic.cpp:190
std::function< void(state_t &)> callback_t
A visitor callback function.
Definition: Hom_Basic.hh:45
GHom varLtVar(int var, int var2)
Definition: Hom_Basic.cpp:477
GHom varGtState(int var, int val)
Definition: Hom_Basic.cpp:186
GHom varGeqState(int var, int val)
Definition: Hom_Basic.cpp:198
void iterate(const GDDD &node, callback_t *cb)
Explicit conversion : visit every path in the DDD (variable ids are removed)
Definition: Hom_Basic.cpp:522
GHom varLeqVar(int var, int var2)
Definition: Hom_Basic.cpp:470
GHom varLtState(int var, int val)
Definition: Hom_Basic.cpp:194
GHom varEqState(int var, int val)
Definition: Hom_Basic.cpp:178
GHom varEqVar(int var, int var2)
Definition: Hom_Basic.cpp:436
std::vector< DDD::val_t > state_t
an explicit representation of a state
Definition: Hom_Basic.hh:43
This class is the base class representing a Data Decision Diagram.
Definition: DDD.h:49
This class is the base class representing a homomorphism over DDD.
Definition: Hom.h:55
This class is the base class representing a hierarchical Set Decision Diagram.
Definition: SDD.h:49

Please comment this page and report errors about it on the RefDocComments page.
Generated on Mon Aug 26 2024 14:54:00 for DDD by doxygen 1.9.1