[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#680897: ppl: New upstream release available



Package: ppl
Version: 0.11.2-6

Dear maintainers,

there is a new upstream release. Please consider upgrading your package.
News since current 0.11.2:

--------------------------------------------------------------------------
NEWS for version 1.0  (released on June 28, 2012)
--------------------------------------------------------------------------

New and Changed Features
========================

o  Significant improvements have been obtained in both time and space
   resource usage by the definition of data structures and algorithms
   for the case of "sparse rows", i.e., sequences of coefficients
   where most of the values are zero.

o  The library fully supports two different representations for rows:
   the "dense" representation is an array-like representation tailored
   to sequences having most of their coefficients different from zero;
   the "sparse" representation saves memory space (as well as CPU
   cycles) when most of the coefficients in the sequence are zero.

o  A generic interface allows for a seamless interaction between the
   dense and the sparse row representation. Most library entities
   (linear expressions, constraints, generators, congruences, and
   their systems) can be built using either representation, specified
   as a constructor's argument.

o  As a by-product of this sparse/dense refactoring work, efficiency
   improvements have been obtained even for those computations that
   are still based on the dense row representation.

o  Reasonable default values for the row representation are provided
   for each library entity, automatically leading to significant
   memory space savings even in old client/library code, e.g., when
   dealing with constraint systems describing weakly relational
   abstractions such as boxes and octagonal shapes.

o  If desired, these default values can be customized to user's needs
   by changing just a few lines of library code.  For instance, the
   constraint systems stored inside C_Polyhedron and NNC_Polyhedron
   objects can be made to use the sparse representation by just
   changing the following line in Polyhedron.defs.hh:

     static const Representation default_con_sys_repr = DENSE;

   to become

     static const Representation default_con_sys_repr = SPARSE;


Bugfixes
========

o  Fixed a bug affecting methods

     bool BD_Shape<T>::contains(const BD_Shape& y) const;
     bool Octagonal_Shape<T>::contains(const Octagonal_Shape& y) const;

   whereby the wrong result was obtained when *this is an empty
   weakly-relational shape and y is not empty.

o  Fixed a bug affecting the PIP solver whereby a wrong result could have
   been obtained if the input constraint system contained multiple linear
   equality constraints.


--------------------------------------------------------------------------
NEWS for version 0.12.1  (released on April 16, 2012)
--------------------------------------------------------------------------

New and Changed Features
========================

o  In the C, Java, OCaml and Prolog interfaces, modified the signature
   of the function/method/predicate for setting the deterministic timeout
   threshold. The new interfaces take two input values, named `unscaled'
   and `scale', that are used to compute the threshold value as
   `unscaled * 2^scale'.

o  Added new Box<ITV> methods

     bool has_upper_bound(Variable var,
                          Coefficient& n, Coefficient& d, bool& closed) const;
     bool has_lower_bound(Variable var,
                          Coefficient& n, Coefficient& d, bool& closed) const;

   to query a non-empty box for the existence and value of its upper/lower
   bound on variable `var'. The methods have been also added to all the
   available language interfaces.

o  Two BibTeX databases of papers related to the Parma Polyhedra Library
   have been added to the distribution (in the `doc' directory).


Bugfixes
========

o  Restored the support for deterministic timeouts in the PIP solver
   (it was removed by accident in PPL 0.12).

o  Minor documentation fixes.

o  Portability improved.


--------------------------------------------------------------------------
NEWS for version 0.12  (released on February 27, 2012)
--------------------------------------------------------------------------

New and Changed Features
========================

o  New configure options `--with-gmp=DIR', `--with-gmp-include=DIR' and
   `--with-gmp-lib=DIR' supersede the (now removed) option
   `--with-gmp-prefix'.  (The old option never really worked; hopefully
   this is the last change in this area.)

o  New configuration option `--disable-documentation'.  When specified
   no new documentation is built: only the documentation already present
   in the source tree is installed upon `make install'.

o  The resolution process for PIP_Problem now better exploits the
   integrality of parameters to simplify the newly generated tautological
   constraints, the splitting constraints of decision nodes, and the
   expressions defining artificial parameters.

o  The implementations of the MIP and PIP solvers are based on a new
   data structure leading to significant space and time savings when
   the tableau matrix is sparse; the benchmarks of the ppl_lpsol demo
   show an improvement on the average case, that grows when the toughest
   tests in the benchmark suite are considered.

o  When the `--check' option is used, the input data for demo ppl_lpsol
   is perturbed the same way as GLPK does, thereby allowing for a
   meaningful comparison of the results obtained.

o  The input routine for PPL numeric datatypes has been extended to
   accept the ISO9899 (C99) hexadecimal floating constant syntax.

o  The Parma Watchdog Library has been merged into the
   Parma Polyhedra Library.


Bugfixes
========

o  Corrected a precision bug in methods

     Box<ITV>::upper_bound_assign(const Box&)
     Box<ITV>::upper_bound_assign_if_exact(const Box&)

   whereby, provided any argument is an empty box and under other rather
   specific conditions, the computed result was correct but unnecessarily
   imprecise.

o  Corrected a bug in method

     Grid::relation_with(const Constraint&) const

   whereby, under specific conditions, the method was creating invalid
   Grid_Generator objects and providing an incorrect result.


--
Pozdrawiam / Kind regards,
Artur Rona




Reply to: