cudd

Bindings to the CUDD binary decision diagrams library

https://github.com/adamwalker/haskell_cudd

Latest on Hackage:0.1.0.4

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.

BSD-3-Clause licensed by Adam Walker
Maintained by [email protected]

Bindings to version 3.0.0 of the CUDD binary decision diagrams library.

http://vlsi.colorado.edu/~fabio/CUDD/

Installation

Either install CUDD 3.0.0 using your system's package manager or download and install CUDD from here: http://vlsi.colorado.edu/~fabio/.

Then:

"cabal install cudd"

Depending on where CUDD is installed on your system, you may need to provide --extra-lib-dirs or --extra-include-dirs:

"cabal install cudd --extra-lib-dirs=/usr/local/lib"

Usage

This package provides two interfaces to the CUDD library:

  • A purely functional one in Cudd.Cudd that automatically dereferences BDDs during garbage collection.

  • An ST Monad based one in Cudd.Imperative that gives you precise control over the ordering of BDD operations and when BDDs are dereferenced. Use this one if you want your code to perform well.

Also, for a higher level interface in the style of the ersatz SAT encoder, see https://github.com/jwaldmann/cudd-ersatz/.