3dd19145 (kx 2023-04-09 03:24:10 +0300 1)
3dd19145 (kx 2023-04-09 03:24:10 +0300 2) http://bugseng.com/products/ppl/
3dd19145 (kx 2023-04-09 03:24:10 +0300 3) ===============================
3dd19145 (kx 2023-04-09 03:24:10 +0300 4)
3dd19145 (kx 2023-04-09 03:24:10 +0300 5) The Parma Polyhedra Library (PPL) provides numerical abstractions especially targeted
3dd19145 (kx 2023-04-09 03:24:10 +0300 6) at applications in the field of analysis and verification of complex systems. These
3dd19145 (kx 2023-04-09 03:24:10 +0300 7) abstractions include convex polyhedra, defined as the intersection of a finite number
3dd19145 (kx 2023-04-09 03:24:10 +0300 8) of (open or closed) halfspaces, each described by a linear inequality (strict or
3dd19145 (kx 2023-04-09 03:24:10 +0300 9) non-strict) with rational coefficients; some special classes of polyhedra shapes
3dd19145 (kx 2023-04-09 03:24:10 +0300 10) that offer interesting complexity/precision tradeoffs; and grids which represent
3dd19145 (kx 2023-04-09 03:24:10 +0300 11) regularly spaced points that satisfy a set of linear congruence relations.
3dd19145 (kx 2023-04-09 03:24:10 +0300 12) The library also supports finite powersets and products of (any kind of) polyhedra
3dd19145 (kx 2023-04-09 03:24:10 +0300 13) and grids, a mixed integer linear programming problem solver using an exact-arithmetic
3dd19145 (kx 2023-04-09 03:24:10 +0300 14) version of the simplex algorithm, a parametric integer programming solver, and primitives
3dd19145 (kx 2023-04-09 03:24:10 +0300 15) for termination analysis via the automatic synthesis of linear ranking functions.
3dd19145 (kx 2023-04-09 03:24:10 +0300 16) More details are available on the PPL's internal mechanisms.)
3dd19145 (kx 2023-04-09 03:24:10 +0300 17)
3dd19145 (kx 2023-04-09 03:24:10 +0300 18) The Parma Polyhedra Library is: user friendly (you write x + 2*y + 5*z <= 7 when you
3dd19145 (kx 2023-04-09 03:24:10 +0300 19) mean it); fully dynamic (available virtual memory is the only limitation to the dimension
3dd19145 (kx 2023-04-09 03:24:10 +0300 20) of anything); portable (written in standard C++, with C, Java, Objective CAML and Prolog
3dd19145 (kx 2023-04-09 03:24:10 +0300 21) interfaces, and following all the applicable standards); exception-safe (never leaks
3dd19145 (kx 2023-04-09 03:24:10 +0300 22) resources or leaves invalid object fragments around); efficient (and we hope to make
3dd19145 (kx 2023-04-09 03:24:10 +0300 23) it even more so); thoroughly documented; free software (distributed under the terms of
3dd19145 (kx 2023-04-09 03:24:10 +0300 24) the GNU General Public License version 3 or any later version).
3dd19145 (kx 2023-04-09 03:24:10 +0300 25)