Skip to content

Commit f142077

Browse files
committed
some examples for miniBDD
1 parent a44b420 commit f142077

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed

src/solvers/miniBDD/example.cpp

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
#include <iostream>
2+
3+
#include "miniBDD.h"
4+
5+
int main()
6+
{
7+
miniBDD::mgr mgr;
8+
miniBDD::BDD result;
9+
10+
#if 0
11+
{
12+
auto x=mgr.Var("x");
13+
auto y=mgr.Var("y");
14+
auto z=mgr.Var("z");
15+
result=x | (y & z);
16+
}
17+
#elif 0
18+
{
19+
auto y=mgr.Var("y");
20+
auto x=mgr.Var("x");
21+
auto z=mgr.Var("z");
22+
result=x | (y & z);
23+
}
24+
#elif 0
25+
{
26+
auto x1=mgr.Var("x_1");
27+
auto x2=mgr.Var("x_2");
28+
auto x3=mgr.Var("x_3");
29+
auto x4=mgr.Var("x_4");
30+
result=(x1&x2)|(x3&x4);
31+
}
32+
#elif 0
33+
{
34+
auto x1=mgr.Var("x_1");
35+
auto x2=mgr.Var("x_2");
36+
auto x3=mgr.Var("x_3");
37+
auto x4=mgr.Var("x_4");
38+
auto tmp=(x1&x2)|(x3&x4);
39+
result=restrict(tmp, x2.var(), 0);
40+
}
41+
#else
42+
{
43+
auto a=mgr.Var("a");
44+
auto b=mgr.Var("b");
45+
auto f=!a|b;
46+
auto fp=!b;
47+
result=f==fp;
48+
}
49+
#endif
50+
51+
mgr.DumpTikZ(std::cout);
52+
}

0 commit comments

Comments
 (0)