SSoelvsten / bdd-benchmark

Benchmarking Suite for BDD packages

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Add BDD Variants for CUDD and Sylvan

SSoelvsten opened this issue · comments

With #110 , the benchmarks differentiate between BDDs with and without complement edges. The BDD packages CUDD and Sylvan should also be able to fake support BDDs by means of their Multi-terminal BDDs (ADDs / MTBDDs). This would be interesting to include, to be able gauge the effectiveness of this optimization in each benchmark.

I think this only is possible for CUDD. As I read it, Sylvan implements MTBDDs with complement edges:

https://github.com/trolando/sylvan/blob/77e8e6f02fdac0ab079c8d79f008812bafd1a3a7/src/sylvan_mtbdd_int.h#L40-L66

I asked Tom, and he confirmed one can do it with Integer leaves 0 and 1 rather than the Boolean false and true.