
Sven Verdoolaege wrote:
I'm working on counting the number of points in parametrized polyhedra. (http://www.cs.kuleuven.ac.be/publicaties/rapporten/cw/CW376.abs.html) Currently, I'm using PolyLib because I could reuse a lot from the previous implementation.
But PolyLib has some problems. For one, each time a polytope is created, it creates new mpz_ts, which results in a lot of calls to mpz_init and mpz_clear. Does PPL handle this differently ?
Dear Sven,
I am not sure I understand what you mean. The current version of the PPL is also based on GMP (even though we have a development branch to implement support for native integers and other kinds of coefficients, see http://www.cs.unipr.it/pipermail/ppl-devel/2004-February/004115.html). So when you create a polyhedron, new GMP objects will be created. How many of them, depends on the polyhedron. What you can count on is that the PPL uses lazy and incremental computation techniques wherever possible, so that it will not create unnecessary objects (i.e., if the polyhedron being created is "simple", few memory allocation will be required). I realize I am probably not answering your question: if you can be more specific we will do our best.
A quick glance at the documentation suggests that PPL only supports what Omega would call "set variables". Are there any plans for supporting parameters and/or existential variables ?
What do you mean by "existential variables"?
I think we will support parameterized polyhedra in the future. But this is something that will not happen tomorrow. There is much activity now but the focus is elsewhere at the moment (specialized classes of polyhedra, powersets, different kinds of coefficients, new interfaces, incorporation of the simplex method, even more memory efficiency, improved NNC polyhedra, grids and Z-polyhedra, ...). All the best,
Roberto