
Hello Pat,
I found something called (Non-)Relational Integral Grid-Polyhedron on the PPL documentation site: http://www.cs.unipr.it/ppl/abstractions
This seems to be exactly the same as Z-Polytopes. And if you use equalities instead of congruences, it also should be exactly the same thing that we use: the integral image of a polytope under some affine function.
Do you know if this "Integral Grid-Polyhedron" is accessable as a PPL datatype easily?
ciao, Michael
On Thu, Jun 18, 2009 at 3:56 PM, P M Hillhill@comp.leeds.ac.uk wrote:
On Thu, 18 Jun 2009, Michael Classen wrote:
Hello,
this might be a trivial question for some, but I just seem to have problems with it:
I want to adapt our internal LooPo interface to use PPL Grids instead of Z-Polytopes. Now, Z-Polytopes were typically defined by a domain (or inequality system) and an affine function, which is applied to that domain (also alled Lattice).
Now, in PPL, as far as I can see, you can only create Grids out of inequality systems, congruence systems or Grid generators. Is there an easy way (function, constructor) to generate a Grid from an inequality system + affine function, like in the old Polylib?
It appears as if you think that Grids can represent something akin to Z-polyhedra. This is not the case, the grids are just that "lattices". That is, only equalities and congruences are used to define a grid, not inequalities.
The details about the domain are in the documentation of the PPL and also, in a more theoretical form, in: Proceedings of the 16th International Symposium on Logic-based Program Synthesis and Transformation (LOPSTR'06) (Venice, Italy, July 2006), volume 4407 of Lecture Notes in Computer Science, G. Puebla, Ed., pp. 219-235, 2007 and available at http://www.cs.unipr.it/ppl/Documentation/bibliography
What the PPL does also provide is a product domain as a templatic class (Partially_Reduced_Product). By instantiating the templatic arguments to Grid and C_Polyhedron (or NNC_Polyhedron), we can represent something like the Z-Polytopes in Polylib. There is a third templatic argument for this class for specifying a (partial) reduction procedure. If you let us know more exactly what you require for your Loopo interface, we can see if it is already available or if it would be straightforward to add the appropriate feature to the domain.
Best wishes, Pat
thank you in advance!
Greetings, Michael _______________________________________________ PPL-devel mailing list PPL-devel@cs.unipr.it http://www.cs.unipr.it/mailman/listinfo/ppl-devel