[PPL-devel] Parma Polyhedra Library 0.10.1
Roberto Bagnara
bagnara at cs.unipr.it
Tue Apr 14 14:54:01 CEST 2009
We are pleased to announce the availability of PPL 0.10.1, a new release
of the Parma Polyhedra Library.
This release includes several important improvements to PPL 0.10,
among which is better portability (including the support for
cross-compilation), increased robustness, better packaging and several
bug fixes. The precise list of user-visible changes is below.
For more information, please come and visit the PPL web site at
http://www.cs.unipr.it/ppl/
On behalf of all the past and present contributors listed at
http://www.cs.unipr.it/ppl/Credits/ and in the file CREDITS,
Roberto Bagnara <bagnara at cs.unipr.it>
Patricia M. Hill <hill at comp.leeds.ac.uk>
Enea Zaffanella <zaffanella at cs.unipr.it>
--------------------------------------------------------------------------
NEWS for version 0.10.1 (released on April 14, 2009)
--------------------------------------------------------------------------
New and Changed Features
========================
o Added support for cross compilation.
o The configuration script now explicitly checks that a recent enough
version of GNU M4 is available if at least one non-C++ interface is
enabled (in previous versions this check was not performed and
building the library could fail in a mysterious way).
o Robustness improved.
o Some packaging issues have been fixed.
o New macro PPL_DIRTY_TEMP_COEFFICIENT allows users of the C++
interface to decrease memory allocation overhead and to improve
locality whenever they need a temporary variable of type
`Coefficient'.
o The C++, C, Java and OCaml interfaces now provide utility functions
to format the textual representations of constraints, congruences
and so on. This makes it easy to code debugging prints with line
indentation and wrapping.
o The C interface now provides functions of the form
int ppl_io_asprint_Polyhedron(char** strp, P x)
where `P' is any opaque pointer to a const PPL object. These
functions print `x' to a malloc-allocated string, a pointer to
which is returned via `strp'.
o The OCaml interface can now be compiled to native code using ocamlopt.
o New configuration option `--with-mlgmp=DIR' allows to specify the
installation directory of the ML GMP package.
o The OCaml interface now supports timeout computation facilities
through functions ppl_set_timeout and ppl_reset_timeout. Moreover,
new functions ppl_Coefficient_is_bounded, ppl_Coefficient_min,
ppl_Coefficient_max and ppl_max_space_dimension have been added.
o The Prolog interfaces are no longer enabled by default in the
release tarballs (they are enabled by default in the Git versions).
Bugfixes
========
o Fixed a bug whereby `make check' was failing when the library was
configured with the `--disable-watchdog' option.
o Fixed a bug in method
bool Polyhedron::contains_integer_point() const;
whereby, under very specific conditions, an empty polyhedron is
incorrectly said to contain an integer point.
o Fixed a bug in method
Partially_Reduced_Product<D1, D2, R>::time_elase_assign(y)
whereby, if the product y was not already reduced, the operation could
lose precision.
o Fixed a bug in the OCaml interface, which was affecting functions
ppl_Grid_generalized_affine_image_with_congruence
and
ppl_Grid_generalized_affine_preimage_with_congruence.
o Fixed a bug in the Grid class that affected the methods
Grid::bounds_from_above(), Grid::bounds_from_below(),
Grid::maximize() and Grid::minimize();
causing all of them to wrongly return true in certain cases where
the grid generators were not minimized.
o Fixed a bug whereby big-endian architectures were not properly
recognized by the configuration script.
o Fixed a bug in the Java/OCaml/Prolog interfaces, whereby
the method/function/predicate for dropping a disjunct from a
Pointset_Powerset object were returning an invalid iterator.
o Fixed a bug in method Octagonal_Shape<T>::affine_image(var, expr)
whereby a wrong result was computed under specific conditions.
o Fixed a bug in the OCaml interface, whereby functions of form
ppl_..._widening_assign_with_tokens
and
ppl_..._extrapolation_assign_with_tokens
could return a wrong number of tokens.
o Fixed a bug in the OCaml interface, whereby functions that returned
an OCaml 'unit' type were returning the wrong value.
o Fixed several garbage collection related bugs in the OCaml interface.
--
Prof. Roberto Bagnara
Computer Science Group
Department of Mathematics, University of Parma, Italy
http://www.cs.unipr.it/~bagnara/
mailto:bagnara at cs.unipr.it
More information about the PPL-devel
mailing list