/** * Just a small test file to ensure that Sylvan can compile in C++ * Suggested by Shota Soga for testing C++ compatibility */ #include #include #include 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(); }