pkgsrc-Changes archive

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

CVS commit: pkgsrc/math/ppl



Module Name:    pkgsrc
Committed By:   wiz
Date:           Tue Feb  4 19:15:09 UTC 2014

Modified Files:
        pkgsrc/math/ppl: DESCR Makefile PLIST distinfo
Removed Files:
        pkgsrc/math/ppl/patches: patch-src_mp__std__bits.cc
            patch-src_mp__std__bits.defs.hh

Log Message:
Update to 1.1, provided by Kai-Uwe Eckhardt <kuehro%gmx.de@localhost> in 
private mail.

--------------------------------------------------------------------------
NEWS for version 1.1  (released on October 28, 2013)
--------------------------------------------------------------------------

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

o  Added a new operator on polyhedra: the positive time elapse.

o  In the Java language interface:

    - The constraint/generator/... system classes now extend the ArrayList
      generic container (rather than Vector);

    - Variable objects are now built from a long (rather than int) value,
      thereby matching the type used elsewhere for space dimensions;

    - added new static method to Variable class
          void setStringifier(Variable_Stringifier)
      where Variable_Stringifier is an interface allowing for
      customization of the output routine for variable's names
      (see example in interfaces/Java/tests/Variable_Output_test1.java);

    - added value NOT_EQUAL to enumeration Relation_Symbol.

Bugfixes
========

o  Portability improved.

o  Fixed a precision regression in Polyhedron method
     void drop_some_non_integer_points(const Variables_Set&,
                                       Complexity_Class);

o  In the Java language interface, fixed a C++/Java conversion error
   whereby the construction of a valid Variable object in JNI code
   was leading to an exception being thrown. The bug has only been
   observed on 32-bit builds.

o  In the Java interface, fixed declaration of methods
     void drop_some_non_integer_points(...);
   so as to accept a Complexity_Class enum value.

o  Fixed an issue in method MIP_Problem::OK() whereby the method
   was trying to enforce a non-invariant condition.

--------------------------------------------------------------------------
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.


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.1 -r1.2 pkgsrc/math/ppl/DESCR pkgsrc/math/ppl/PLIST
cvs rdiff -u -r1.4 -r1.5 pkgsrc/math/ppl/Makefile
cvs rdiff -u -r1.2 -r1.3 pkgsrc/math/ppl/distinfo
cvs rdiff -u -r1.1 -r0 pkgsrc/math/ppl/patches/patch-src_mp__std__bits.cc \
    pkgsrc/math/ppl/patches/patch-src_mp__std__bits.defs.hh

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index