You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
825 B
46 lines
825 B
/**
|
|
* Just a small test file to ensure that Sylvan can compile in C++
|
|
* Suggested by Shota Soga <shota.soga@gmail.com> for testing C++ compatibility
|
|
*/
|
|
|
|
#include <assert.h>
|
|
#include <sylvan.h>
|
|
#include <sylvan_obj.hpp>
|
|
|
|
using namespace sylvan;
|
|
|
|
void test()
|
|
{
|
|
Bdd one = Bdd::bddOne();
|
|
Bdd zero = Bdd::bddZero();
|
|
|
|
Bdd v1 = Bdd::bddVar(1);
|
|
Bdd v2 = Bdd::bddVar(2);
|
|
|
|
Bdd t = v1 + v2;
|
|
|
|
BddMap map;
|
|
map.put(2, t);
|
|
|
|
assert(v2.Compose(map) == v1+v2);
|
|
|
|
t *= v2;
|
|
|
|
assert(t == v2);
|
|
}
|
|
|
|
int main()
|
|
{
|
|
// Standard Lace initialization
|
|
lace_init(0, 1000000);
|
|
lace_startup(0, NULL, NULL);
|
|
|
|
// Simple Sylvan initialization, also initialize BDD and LDD support
|
|
sylvan_init_package(1LL<<16, 1LL<<16, 1LL<<16, 1LL<<16);
|
|
sylvan_init_bdd(1);
|
|
|
|
test();
|
|
|
|
sylvan_quit();
|
|
lace_exit();
|
|
}
|