CVSROOT: /cvs/ppl
Module name: ppl
Changes by: ericci(a)cs.unipr.it 2001-11-04 15:59:19
Modified files:
src : Polyhedron.cc
Log message:
In functions Polyhedron::update_constraints and Polyhedron::update_generators
we only have a saturation matrix up-to-date: so, we must say that the other
is not up-to-date.
In function Polyhedron::assign_variable, if the transformation is not
invertible, we must have the system of generators up-to-date, and then
if the polyhedron is non-empty, we use the function GenSys::assign_variable
to find the resulting polyhedron. so, we always modify the polyhedron (we do
not modify the polyhedron if it is empty or if there are dimensional
problems).
Patches:
http://www.cs.unipr.it/cgi-bin/cvsweb.cgi/ppl/src/Polyhedron.cc.diff?cvsroo…
CVSROOT: /cvs/ppl
Module name: ppl
Changes by: ericci(a)cs.unipr.it 2001-11-04 12:56:07
Modified files:
src : Matrix.cc
Log message:
A wrong comment erased: it is not true that the Row::linear_combine
changes the flag `sorted' of the matrix.
Patches:
http://www.cs.unipr.it/cgi-bin/cvsweb.cgi/ppl/src/Matrix.cc.diff?cvsroot=pp…
CVSROOT: /cvs/ppl
Module name: ppl
Changes by: ericci(a)cs.unipr.it 2001-11-04 12:22:23
Modified files:
src : Polyhedron.cc
Log message:
In functions Polyhedron::assign_variable and Polyhedron::substitute_variable
we must clear the flags SAT_C_UP_TO_DATE and SAT_G_UP_TO_DATE, because
after the operations the polyhedron is changed.
Patches:
http://www.cs.unipr.it/cgi-bin/cvsweb.cgi/ppl/src/Polyhedron.cc.diff?cvsroo…
CVSROOT: /cvs/ppl
Module name: ppl
Changes by: ericci(a)cs.unipr.it 2001-11-04 12:01:59
Modified files:
src : Matrix.cc
Log message:
In function Matrix::gauss(), we change a row without changing "changed"
that indicates that the matrix is changed: so the flag "sorted" of the
matrix was true even if the matrix was not sorted.
Patches:
http://www.cs.unipr.it/cgi-bin/cvsweb.cgi/ppl/src/Matrix.cc.diff?cvsroot=pp…
Dear all,
three days ago I started a simple project aimed at using
Matrix::resize_no_copy() instead of Matrix::resize()
in order to shrink matrices in the Polyhedron::remove...() methods.
This looked like an easy task but it was not. To keep a long story
short, this simple move triggered a series of bugs that has
been difficult to track and also somewhat difficult to fix.
And I have still not finished to fix them.
However, I have already modified too many files to delay the
commit any longer.
Even though this commit does not show any regression, I have
tagged the sources before and after the commit.
The tags used are
before_big_RB_commit_on_Nov_04
after_big_RB_commit_on_Nov_04
Notice that the problems testified by bug1.cc and bug2.cc
are exactly the same, before and after the commit.
Ciao,
Roberto
--
Roberto Bagnara
Computer Science Group
Department of Mathematics, University of Parma, Italy
http://www.cs.unipr.it/~bagnara/
mailto:bagnara@cs.unipr.it