PPL Bugs
Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are,
by definition, not smart enough to debug it.
— Brian W. Kernighan
The PPL developers encourage you to report any bugs you find using the bug tracking system . Here `bug’ should be interpreted in its broadest sense: outright software errors, misfeatures, bad interfaces, missing or unclear documentation… whatever is a subject for possible improvement.
As far as software bugs are concerned, the best reports are those that are reproducible. When possible, including (or pointing us to) code that exhibits the reported misbehavior is the best thing you can do to help us fix the library. Of course, this is not always possible and we will welcome any kind of bug report. Anyway, you may be interested to read How to Report Bugs Effectively , by Simon Tatham.
Known Bugs in PPL 0.11.2
There are no known bugs in PPL 0.11.2. We will list here all the bugs we will find. There is also an archive of all known bugs affecting various releases of the PPL.
Known Bugs in PPL 0.11
Here is the list of all the known bugs in PPL 0.11 (even though it is likely that there are other bugs in it). All these bugs have been fixed in PPL 0.11.2.
February 10, 2011 : Fixed a bug in the input method for checked integers whereby, under specific conditions, the input stream state bits were not updated. The bug was only affecting builds using checked integer coefficients. Relevant commit is d0f6bd037c90676130e9547e5ed909cf6ba8eee9 .
February 5, 2011
: Fixed a bug in the OCaml interface, which was affecting functions
ppl_Pointset_Powerset_<INSTANCE>_get_disjunct
. Relevant commit
is
c23ded5ce0023a753fdd5da2dbbd99d1a084566c .
February 5, 2011
: Corrected a couple of resource (re-)allocation problems that, under
specific conditions, could affect the correctness of Grid
constructor Grid::Grid(const Box<Interval>& box)
and
NNC_Polyhedron method Polyhedron::generalized_affine_image()
.
Relevant commits are
a01fecf4cde756aaefe88b8f309f9bdf3e07b670
and
bf1edca5e0ddb03674a35218dccce6bc421469e2 .
February 4, 2011
: Corrected a problem in the simplification of PIP_Problem
solution
trees whereby, under specific conditions, the node merging process
produced decision nodes that did not satisfy their class invariant.
Relevant commit is
caaa126b56ccb07884217b33b6cc8c1f79e7f6ca .
October 19, 2010
: Fixed a precision bug in method
Octagonal_Shape<T>::affine_image()
whereby in the case of an
invertible affine transformation implementing a variable sign
symmetry (and optional translation), the computed result was correct
but unnecessarily imprecise. Relevant commit is
5c95fc0eab6a38442751ed16c6cfa9d538917f3f .
October 16, 2010
: Fixed a bug whereby the argument of all the methods
unconstrain(Variable var)
was not checked correctly for space
dimension compatibility. Relevant commit is
ff5b0796773b34ef9d1e26d2a40b4fdb8376dc8f .
September 16, 2010
: Corrected an efficiency bug in the C language interface function
ppl_Linear_Expression_add_to_coefficient()
. Relevant commit is
ba9f6c92b49afbbfc37d864f59fff70df90f6536 .
September 7, 2010
: Fixed a bug affecting constructor
Interval::Interval(const char* s)
whereby a wrong interval would
be constructed if the string argument denotes a number that can only
be represented as an infinity. Relevant commit is
3e2fe287b4efd3b58127951793cc00ffe0ca21c0 .
August 29, 2010
: Fixed a bug affecting the input routine of ppl_lpsol
, whereby the
inhomogeneous term of the objective function was disregarded. The
bug could only affect the optimized value of the objective function,
while having no effect onthe problem’s optimization state. Relevant
commit is
c82a27391846139072cadf0754f59f4805f4f99b .
August 13, 2010
: Fixed a bug affecting methods
Box::CC76_widening_assign(const T&, Iterator, Iterator)
and
Interval::CC76_widening_assign(const From&, Iterator, Iterator)
whereby a lower bound would not be computed correctly when the two
iterators specify an empty list of stop points. Relevant commit is
535657baab7b4f5e6d884a7fcdc2138b1ea0797c .