Skip to content
Gregable edited this page Sep 13, 2010 · 3 revisions

There is a description of the algorithm on knol and a blog post about the work at gregable

To compile, simply go into the code directory and run “scons” or “build”. The project is intended for use as a library, not a binary, but there is a small example binary called “pqtest” which builds automatically. You can run it from the command line. It pretty much demonstrates the entire API which is fairly simple.

The main API is pqtree.h which you will want to include. You instantiate a universal tree by creating a PQTree object with a default constructor argument of a set of integers. Then you repeatedly call PQTree::Reduce(set *reduction_set) on the PQTree object to apply the constraints. When done, you can explore the tree recursively from the root node PQTree::Root() or you can retrieve the frontier in one possible ordering with PQTree::ReducedFrontier(). You can also use PQTree::Print() for debugging.

Clone this wiki locally