2004-08-20 Release Manager * PPL 0.6.1 Released. 2004-08-20 Friday 19:48 Roberto Bagnara * README (ppl-0_6-branch.2): Glitch fixed. 2004-08-20 Friday 19:20 Roberto Bagnara * ChangeLog (ppl-0_6-branch.3): Updated. 2004-08-20 Friday 18:50 Roberto Bagnara * doc/: devref-browse.doxyconf-latex.in (1.41), devref-print.doxyconf-latex.in (1.41), devref.doxyconf-html.in (1.41): Include certificates in the developer's reference. 2004-08-20 Friday 18:49 Roberto Bagnara * src/H79_Certificate.defs.hh (1.5): Spurious comments removed. 2004-08-20 Friday 18:15 Roberto Bagnara * doc/: devref-browse.doxyconf-latex.in, devref-print.doxyconf-latex.in, devref.doxyconf-html.in (ppl-0_6-branch.[3,3,4]): Include certificates in the developer's reference. 2004-08-20 Friday 18:13 Roberto Bagnara * src/H79_Certificate.defs.hh (ppl-0_6-branch.2): Spurious comments removed. 2004-08-20 Friday 17:46 Roberto Bagnara * ChangeLog, Watchdog/ChangeLog (ppl-0_6-branch.[2,2]): Updated. 2004-08-20 Friday 17:41 Roberto Bagnara * doc/definitions.dox, doc/ppl.sty, interfaces/Prolog/Prolog_interface.dox (ppl-0_6-branch.[1,1,1]): Merge from the main trunk. 2004-08-20 Friday 17:36 Patricia M. Hill * doc/definitions.dox (1.157): Minor English improvement. 2004-08-20 Friday 17:30 Roberto Bagnara * src/Polyhedra_PowerSet.defs.hh (ppl-0_6-branch.3): The documentation of BHZ03_widening_assign made shorter by referring to the new section in the introduction. The comment on concatenate_assign() made shorter (as suggested by Pat). 2004-08-20 Friday 17:28 Enea Zaffanella * doc/definitions.dox (1.156): Link error corrected. 2004-08-20 Friday 17:24 Enea Zaffanella * doc/definitions.dox (1.155): Added a paragraph on the BGP99 extrapolation operator. 2004-08-20 Friday 17:19 Patricia M. Hill * doc/definitions.dox (1.154): After doing the meet on elements of the powerset domain elementwise, omega reduction is needed. 2004-08-20 Friday 16:56 Patricia M. Hill * doc/definitions.dox (1.153): Small improvements. 2004-08-20 Friday 16:55 Enea Zaffanella * src/Polyhedra_PowerSet.defs.hh (1.33): The comment on concatenate_assign() made shorter (as suggested by Pat). 2004-08-20 Friday 16:54 Enea Zaffanella * src/Polyhedra_PowerSet.defs.hh (1.32): The documentation of BHZ03_widening_assign made shorter by referring to the new section in the introduction. 2004-08-20 Friday 16:44 Roberto Bagnara * README (ppl-0_6-branch.1): Ready for the release of PPL 0.6.1. 2004-08-20 Friday 16:41 Enea Zaffanella * doc/definitions.dox (1.152): A couple of corrections. 2004-08-20 Friday 16:34 Enea Zaffanella * doc/definitions.dox (1.151): Added a section on certificate-based widenings. 2004-08-20 Friday 16:12 Patricia M. Hill * src/Polyhedra_PowerSet.defs.hh (1.31): Corrected two comments. 2004-08-20 Friday 15:59 Roberto Bagnara * demos/: ppl_lcdd/ppl_lcdd.cc, ppl_lpsol/ppl_lpsol.c (ppl-0_6-branch.[1,1]): Do not try to use RLIMIT_AS unless the configure script has determined its availability. 2004-08-20 Friday 15:55 Roberto Bagnara * demos/: ppl_lcdd/ppl_lcdd.cc (1.23), ppl_lpsol/ppl_lpsol.c (1.2): Do not try to use RLIMIT_AS unless the configure script has determined its availability. 2004-08-20 Friday 15:52 Patricia M. Hill * doc/definitions.dox (1.150): Some improvements for the section on polyhedra powersets. 2004-08-20 Friday 15:24 Enea Zaffanella * doc/definitions.dox (1.149): In the section about add_disjuct, \cS_1 ==> \cS. 2004-08-20 Friday 15:17 Patricia M. Hill * interfaces/Prolog/Prolog_interface.dox (1.112): Update cross reference. 2004-08-20 Friday 15:14 Patricia M. Hill * doc/: definitions.dox (1.148), ppl.sty (1.16): Added a short (incomplete) section on the polyhedral powerset domain and revised the description of the generic powerset meet operation. 2004-08-20 Friday 15:08 Roberto Bagnara * Watchdog/NEWS (ppl-0_6-branch.1): Updated for the release of PPL 0.6.1. 2004-08-20 Friday 15:04 Roberto Bagnara * src/Polyhedra_PowerSet.defs.hh, src/Polyhedra_PowerSet.inlines.hh, tests/bgp99extrapolation2.cc, tests/bhz03widening2.cc, tests/bhz03widening3.cc, tests/bhz03widening5.cc, tests/bhz03widening6.cc (ppl-0_6-branch.[2,1,1,1,1,1,1]): The methods Polyhedra_PowerSet::semantically_contains(const Polyhedra_PowerSet&) and Polyhedra_PowerSet::semantically_equals(const Polyhedra_PowerSet&) have been renamed Polyhedra_PowerSet::geometrically_covers(const Polyhedra_PowerSet&) and Polyhedra_PowerSet::geometrically_equals(const Polyhedra_PowerSet& y), respectively. 2004-08-20 Friday 15:03 Roberto Bagnara * NEWS (ppl-0_6-branch.1): Completed for 0.6.1. 2004-08-20 Friday 15:01 Roberto Bagnara * README.configure (ppl-0_6-branch.2): Formatting glitch fixed. 2004-08-20 Friday 14:52 Roberto Bagnara * configure.ac (ppl-0_6-branch.2): Version number bumped. 2004-08-20 Friday 14:47 Roberto Bagnara * NEWS (1.100): Completed for 0.6.1. 2004-08-20 Friday 14:39 Roberto Bagnara * README.configure (1.7): Formatting glitch fixed. 2004-08-20 Friday 14:35 Enea Zaffanella * doc/definitions.dox (1.147): Small improvements to section 1.6. 2004-08-20 Friday 14:26 Enea Zaffanella * doc/definitions.dox (1.146): Some polyhedra where wrongly named P instead of \cP. Replaced a couple of = signs by \defeq. A first pass on Section 1.5 (PowerSet) to correct minor typos. 2004-08-20 Friday 14:13 Roberto Bagnara * NEWS (1.99), src/Polyhedra_PowerSet.defs.hh (1.30), src/Polyhedra_PowerSet.inlines.hh (1.40), tests/bgp99extrapolation2.cc (1.6), tests/bhz03widening2.cc (1.7), tests/bhz03widening3.cc (1.5), tests/bhz03widening5.cc (1.4), tests/bhz03widening6.cc (1.5): The methods Polyhedra_PowerSet::semantically_contains(const Polyhedra_PowerSet&) and Polyhedra_PowerSet::semantically_equals(const Polyhedra_PowerSet&) have been renamed Polyhedra_PowerSet::geometrically_covers(const Polyhedra_PowerSet&) and Polyhedra_PowerSet::geometrically_equals(const Polyhedra_PowerSet& y), respectively. 2004-08-20 Friday 14:00 Enea Zaffanella * src/Polyhedra_PowerSet.defs.hh (ppl-0_6-branch.1): Documented function pairwise_reduce(). 2004-08-20 Friday 13:48 Enea Zaffanella * doc/definitions.dox (1.145): Some stuff (lazy/eager operators and polymorphism disclaimer) moved into section 1.6 (Using the Library). 2004-08-20 Friday 13:24 Patricia M. Hill * doc/definitions.dox (1.144): Bug fixed. 2004-08-20 Friday 13:15 Enea Zaffanella * src/Polyhedra_PowerSet.defs.hh (1.29): Documented method pairwise_reduce(). 2004-08-20 Friday 13:14 Patricia M. Hill * doc/: definitions.dox (1.143), ppl.sty (1.15): First draft of description of the powerset construction added. 2004-08-20 Friday 11:29 Enea Zaffanella * README.configure (ppl-0_6-branch.1): Spurious indentation fixed. 2004-08-20 Friday 11:28 Enea Zaffanella * src/: BHRZ03_Certificate.defs.hh, H79_Certificate.defs.hh (ppl-0_6-branch.[1,1]): In the Doxygen comments: lgo --> limited growth ordering. 2004-08-20 Friday 11:23 Enea Zaffanella * README.configure (1.6): A spurious indentation fixed. 2004-08-20 Friday 11:23 Enea Zaffanella * src/: BHRZ03_Certificate.defs.hh (1.5), H79_Certificate.defs.hh (1.4): In the Doxygen comment: lgo --> limited growth ordering 2004-08-19 Thursday 17:43 Roberto Bagnara * BUGS, CREDITS, ChangeLog, Makefile.am, NEWS, README, README.configure, STANDARDS, TODO, config.guess, config.sub, configure.ac, depcomp, install-sh, ltmain.sh, ppl.lsm.in, ppl.spec.in, Watchdog/ChangeLog, Watchdog/Doubly_Linked_Object.defs.hh, Watchdog/Doubly_Linked_Object.inlines.hh, Watchdog/Doubly_Linked_Object.types.hh, Watchdog/EList.defs.hh, Watchdog/EList.inlines.hh, Watchdog/EList.types.hh, Watchdog/EList_Iterator.defs.hh, Watchdog/EList_Iterator.inlines.hh, Watchdog/EList_Iterator.types.hh, Watchdog/Handler.defs.hh, Watchdog/Handler.inlines.hh, Watchdog/Handler.types.hh, Watchdog/Makefile.am, Watchdog/NEWS, Watchdog/Pending_Element.cc, Watchdog/Pending_Element.defs.hh, Watchdog/Pending_Element.inlines.hh, Watchdog/Pending_Element.types.hh, Watchdog/Pending_List.cc, Watchdog/Pending_List.defs.hh, Watchdog/Pending_List.inlines.hh, Watchdog/Pending_List.types.hh, Watchdog/README, Watchdog/Time.cc, Watchdog/Time.defs.hh, Watchdog/Time.inlines.hh, Watchdog/Time.types.hh, Watchdog/Watchdog.cc, Watchdog/Watchdog.defs.hh, Watchdog/Watchdog.inlines.hh, Watchdog/config.guess, Watchdog/config.sub, Watchdog/configure.ac, Watchdog/depcomp, Watchdog/install-sh, Watchdog/ltmain.sh, demos/Makefile.am, demos/ppl_lcdd/Makefile.am, demos/ppl_lcdd/ppl_lcdd.cc, demos/ppl_lcdd/examples/.cvsignore, demos/ppl_lcdd/examples/Makefile.am, demos/ppl_lpsol/.cvsignore, demos/ppl_lpsol/Makefile.am, demos/ppl_lpsol/expected, demos/ppl_lpsol/ppl_lpsol.c, demos/ppl_lpsol/examples/.cvsignore, demos/ppl_lpsol/examples/Makefile.am, demos/ppl_lpsol/examples/afiro.mps, demos/ppl_lpsol/examples/bgprtr.mps, demos/ppl_lpsol/examples/ex1.mps, demos/ppl_lpsol/examples/sample.mps, demos/ppl_lpsol/examples/unboundedmin.mps, doc/Makefile.am, doc/definitions.dox, doc/devref-browse.doxyconf-latex.in, doc/devref-print.doxyconf-latex.in, doc/devref.doxyconf-html.in, doc/devref.tex, doc/fdl.txt, doc/gpl.txt, doc/ppl.sty, doc/user-browse.doxyconf-latex.in, doc/user-print.doxyconf-latex.in, doc/user.doxyconf-html.in, doc/user.tex, interfaces/C/Makefile.am, interfaces/C/ppl_c.cc, interfaces/C/ppl_c.h.in, interfaces/Prolog/Prolog_interface.dox, interfaces/Prolog/pl_check.pl, interfaces/Prolog/ppl_prolog.icc, interfaces/Prolog/Ciao/Makefile.am, interfaces/Prolog/Ciao/ciao_pl_check.pl, interfaces/Prolog/Ciao/ppl_ciao.pl, interfaces/Prolog/GNU/ppl_gprolog.pl, interfaces/Prolog/SICStus/ppl_sicstus_sd.cc, interfaces/Prolog/SWI/.cvsignore, interfaces/Prolog/SWI/ppl_swiprolog.cc, interfaces/Prolog/XSB/ppl_xsb.H, interfaces/Prolog/XSB/ppl_xsb.cc, interfaces/Prolog/XSB/xsb_pl_check.P, interfaces/Prolog/YAP/ppl_yap.cc, src/AskTell.defs.hh, src/BHRZ03_Certificate.defs.hh, src/BHRZ03_Certificate.inlines.hh, src/BoundingBox.inlines.hh, src/C_Polyhedron.cc, src/C_Polyhedron.defs.hh, src/C_Polyhedron.inlines.hh, src/ConSys.defs.hh, src/ConSys.inlines.hh, src/Constraint.cc, src/Constraint.defs.hh, src/Constraint.inlines.hh, src/Determinate.defs.hh, src/Determinate.inlines.hh, src/GenSys.cc, src/GenSys.defs.hh, src/Generator.cc, src/Generator.defs.hh, src/Generator.inlines.hh, src/H79_Certificate.cc, src/H79_Certificate.defs.hh, src/H79_Certificate.inlines.hh, src/H79_Certificate.types.hh, src/Init.cc, src/Makefile.am, src/Matrix.defs.hh, src/NNC_Polyhedron.defs.hh, src/NNC_Polyhedron.inlines.hh, src/Ph_Status.idefs.hh, src/Poly_Con_Relation.defs.hh, src/Poly_Gen_Relation.defs.hh, src/Polyhedra_PowerSet.defs.hh, src/Polyhedra_PowerSet.inlines.hh, src/Polyhedron.defs.hh, src/Polyhedron.inlines.hh, src/Polyhedron.types.hh, src/Polyhedron_chdims.cc, src/Polyhedron_nonpublic.cc, src/Polyhedron_public.cc, src/Polyhedron_widenings.cc, src/PowerSet.defs.hh, src/PowerSet.inlines.hh, src/Row.defs.hh, src/SatMatrix.defs.hh, src/Widening_Function.defs.hh, src/Widening_Function.inlines.hh, src/Widening_Function.types.hh, src/algorithms.hh, src/conversion.cc, src/globals.cc, src/globals.hh, src/minimize.cc, src/simplify.cc, src/statistics.hh, src/version.hh.in, tests/.cvsignore, tests/Makefile.am, tests/bgp99extrapolation1.cc, tests/bgp99extrapolation2.cc, tests/bhz03widening1.cc, tests/bhz03widening2.cc, tests/bhz03widening3.cc, tests/bhz03widening4.cc, tests/bhz03widening5.cc, tests/bhz03widening6.cc, tests/boundingbox1.cc, tests/boundingbox2.cc, tests/boundingbox3.cc, tests/boundingbox4.cc, tests/boundingbox5.cc, tests/exceptions3.cc, tests/expanddim1.cc, tests/expanddim2.cc, tests/folddims1.cc, tests/folddims2.cc, tests/h79widening6.cc, tests/linearpartition1.cc, tests/linearpartition2.cc, tests/linearpartition3.cc, tests/linearpartition4.cc, tests/polydifference8.cc, tests/watchdog1.cc (altnum.[1,2,1,2,1,1,1,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,2,1,1,2,2,1,1,2,2,2,2,2,1,1,1,1,1,7,1,1,1,1,1,1,1,1,2,2,1,1,2,2,2,1,1,2,1,1,1,1,1,2,2,2,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]): First merge from main trunk. 2004-08-19 Thursday 17:18 Roberto Bagnara * tests/: Makefile.am (1.207), linearpartition4.cc (1.1): New test for linear_partition() (still to be completed). 2004-08-19 Thursday 17:17 Roberto Bagnara * configure.ac (1.119): Version number bumped. 2004-08-19 Thursday 17:17 Roberto Bagnara * ChangeLog (1.18): Updated. 2004-08-19 Thursday 15:55 Patricia M. Hill * doc/definitions.dox (1.142): This is a start in revising the introductory sections to the manual so as to allow for the inclusion of domains other than that of convex polyhedra. 2004-08-19 Thursday 14:34 Roberto Bagnara * doc/: devref-browse.doxyconf-latex.in, devref-print.doxyconf-latex.in, devref.doxyconf-html.in (ppl-0_6-branch.[2,2,3]), devref-browse.doxyconf-latex.in (1.40), devref-print.doxyconf-latex.in (1.40), devref.doxyconf-html.in (1.40): AskTell should not appear in the develper's reference. 2004-08-19 Thursday 14:13 Enea Zaffanella * src/Widening_Function.defs.hh (ppl-0_6-branch.1): Avoided a warning in the devref documentation. 2004-08-19 Thursday 14:09 Enea Zaffanella * src/Widening_Function.defs.hh (1.4): Avoided a warning in the devref documentation. 2004-08-19 Thursday 13:43 Roberto Bagnara * src/: AskTell.defs.hh (ppl-0_6-branch.2), AskTell.defs.hh (1.24): Previous change reverted. 2004-08-19 Thursday 12:42 Enea Zaffanella * doc/: devref-browse.doxyconf-latex.in (1.39), devref-print.doxyconf-latex.in (1.39), devref.doxyconf-html.in (1.39): Widening_Function and Polyhedra_PowerSet should appear in all the devref manuals. 2004-08-19 Thursday 12:40 Enea Zaffanella * src/AskTell.defs.hh (1.23): AskTell should not appear in the user documentation until working. 2004-08-19 Thursday 12:34 Enea Zaffanella * doc/: devref-browse.doxyconf-latex.in, devref-print.doxyconf-latex.in, devref.doxyconf-html.in (ppl-0_6-branch.[1,1,2]): Widening_Function should appear in the devref manuals. 2004-08-19 Thursday 12:28 Enea Zaffanella * doc/devref.doxyconf-html.in (ppl-0_6-branch.1): Polyhedra_PowerSet has to also appear in the developers manual. 2004-08-19 Thursday 12:27 Enea Zaffanella * src/AskTell.defs.hh (ppl-0_6-branch.1): AskTell construction should not appear in the user manuals. 2004-08-18 Wednesday 23:06 Roberto Bagnara * src/: Makefile.am (ppl-0_6-branch.1), Makefile.am (1.76): AskTell is unfinished and not working: it should not be distributed. 2004-08-18 Wednesday 22:58 Roberto Bagnara * Watchdog/: configure.ac (ppl-0_6-branch.1), ChangeLog (1.8), configure.ac (1.20): Version number bumped. 2004-08-18 Wednesday 18:32 Roberto Bagnara * configure.ac (ppl-0_6-branch.1): Update version. 2004-08-18 Wednesday 18:31 Roberto Bagnara * Watchdog/ChangeLog, ChangeLog (ppl-0_6-branch.[1,1]): Mark ChangeLog. 2004-08-18 Wednesday 15:08 Roberto Bagnara * ppl.spec.in (1.21): Distribute more documentation. 2004-08-18 Wednesday 14:54 Enea Zaffanella * doc/: devref-browse.doxyconf-latex.in (1.38), devref-print.doxyconf-latex.in (1.38): The Polyhedra_PowerSet documentation has to appear in the devref manual too. 2004-08-18 Wednesday 14:53 Enea Zaffanella * src/: Widening_Function.defs.hh (1.3), algorithms.hh (1.29): Applied the Doxygen \relates command in a couple of places. 2004-08-18 Wednesday 14:52 Enea Zaffanella * tests/: bgp99extrapolation1.cc (1.4), bgp99extrapolation2.cc (1.5), bhz03widening1.cc (1.5), bhz03widening2.cc (1.6), bhz03widening3.cc (1.4), bhz03widening6.cc (1.4): Modified to comply with the new interface. 2004-08-18 Wednesday 14:51 Enea Zaffanella * src/: Polyhedra_PowerSet.defs.hh (1.28), Polyhedra_PowerSet.inlines.hh (1.39): Added doxygen documentation. Removed some methods that are now subsumed by the generic ones. 2004-08-18 Wednesday 13:24 Roberto Bagnara * doc/README (1.3): Last change reverted. 2004-08-18 Wednesday 13:09 Roberto Bagnara * README (1.23): Ready for the release. 2004-08-18 Wednesday 13:05 Patricia M. Hill * doc/README (1.2): Revised. 2004-08-18 Wednesday 11:51 Roberto Bagnara * doc/Makefile.am (1.29): Installation of the documentation now works both for distribution archives and for CVS versions. 2004-08-18 Wednesday 11:48 Roberto Bagnara * src/Polyhedra_PowerSet.inlines.hh (1.38): Include "Widening_Function.defs.hh" instead of "Widening_Function.types.hh". 2004-08-18 Wednesday 10:06 Roberto Bagnara * TODO (1.84): Ready for the release. 2004-08-18 Wednesday 09:52 Enea Zaffanella * tests/: bhz03widening4.cc (1.3), bhz03widening5.cc (1.3): Exploiting helper functions widen_fun(). 2004-08-18 Wednesday 09:50 Enea Zaffanella * src/Polyhedra_PowerSet.inlines.hh (1.37): Exploiting helper function widen_fun(). 2004-08-18 Wednesday 09:48 Patricia M. Hill * src/: GenSys.cc (1.86), Polyhedron.types.hh (1.12), Polyhedron_widenings.cc (1.22), conversion.cc (1.54), simplify.cc (1.36): Comments improved. 2004-08-18 Wednesday 09:48 Roberto Bagnara * interfaces/C/ppl_c.cc (1.106), interfaces/C/ppl_c.h.in (1.32), src/C_Polyhedron.defs.hh (1.23), src/C_Polyhedron.inlines.hh (1.17), src/NNC_Polyhedron.defs.hh (1.26), src/NNC_Polyhedron.inlines.hh (1.18), tests/Makefile.am (1.206), tests/exceptions3.cc (1.2): Start dealing with requests to build "over-sized" objects. 2004-08-18 Wednesday 09:47 Enea Zaffanella * src/: Widening_Function.defs.hh (1.2), Widening_Function.inlines.hh (1.3): Added helper function widen_fun() to simplify the creation of widening function objects. Added brief documentation. 2004-08-18 Wednesday 09:25 Roberto Bagnara * tests/: linearpartition2.cc (1.14), linearpartition3.cc (1.14): Fixed. 2004-08-18 Wednesday 09:16 Patricia M. Hill * src/: AskTell.defs.hh (1.22), ConSys.defs.hh (1.84), Determinate.defs.hh (1.42), GenSys.defs.hh (1.97), Polyhedra_PowerSet.defs.hh (1.27), Polyhedron.defs.hh (1.241), Polyhedron.inlines.hh (1.94): Comments improved. 2004-08-18 Wednesday 08:48 Roberto Bagnara * tests/linearpartition1.cc (1.14): Fixed. 2004-08-17 Tuesday 23:58 Roberto Bagnara * src/Widening_Function.inlines.hh (1.2): Limited_Widening_Function::operator() fixed. 2004-08-17 Tuesday 23:26 Roberto Bagnara * doc/Makefile.am (1.28): Install documentation in text format. 2004-08-17 Tuesday 21:48 Enea Zaffanella * tests/: bhz03widening4.cc (1.2), bhz03widening5.cc (1.2): Corrected to work with the new implementation. 2004-08-17 Tuesday 21:47 Enea Zaffanella * src/: Makefile.am (1.75), Polyhedra_PowerSet.defs.hh (1.26), Polyhedra_PowerSet.inlines.hh (1.36), Widening_Function.defs.hh (1.1), Widening_Function.inlines.hh (1.1), Widening_Function.types.hh (1.1): Factorized a lot of code related to widenings of powersets by using function objects instead of method pointers. 2004-08-17 Tuesday 21:43 Enea Zaffanella * src/: Determinate.defs.hh (1.41), Determinate.inlines.hh (1.39), algorithms.hh (1.28): Improved a little bit the docuemntation for the Determinate construction. Removed a few seemingly useless methods. The polyhedron() methods renamed as element(). 2004-08-17 Tuesday 19:43 Abramo Bagnara * src/checked_mpq.inlines.hh (altnum.8): Fixed unhandled native integer type behaviour. 2004-08-17 Tuesday 19:39 Abramo Bagnara * src/checked_mpz.inlines.hh (altnum.9): Fixed unhandled native integer type behaviour. 2004-08-17 Tuesday 19:33 Abramo Bagnara * src/Makefile.am (altnum.6): Added Limits.hh 2004-08-17 Tuesday 19:33 Abramo Bagnara * src/checked_float.inlines.hh (altnum.6): Fixed float96_t format oddities. Cleaned code. 2004-08-17 Tuesday 19:31 Abramo Bagnara * src/: Checked_Number.defs.hh, Checked_Number.inlines.hh, Limits.hh, checked.defs.hh, checked_int.inlines.hh (altnum.[4,5,1,7,6]): Fixed unhandled native integer type behaviour. 2004-08-17 Tuesday 17:05 Roberto Bagnara * doc/gpl.txt (1.2): Spacing fixed. 2004-08-17 Tuesday 17:04 Roberto Bagnara * Makefile.am (1.25): Distribute also README.configure. 2004-08-17 Tuesday 16:45 Roberto Bagnara * TODO (1.83): One less thing to do. 2004-08-17 Tuesday 14:12 Roberto Bagnara * BUGS (1.4), CREDITS (1.13): Formatted. 2004-08-17 Tuesday 14:12 Patricia M. Hill * README.configure (1.5): Corrected a typo and improved the English. 2004-08-17 Tuesday 13:20 Patricia M. Hill * BUGS (1.3), CREDITS (1.12), STANDARDS (1.14): English improvements made. 2004-08-17 Tuesday 12:43 Roberto Bagnara * src/: Determinate.defs.hh (1.40), Determinate.inlines.hh (1.38), PowerSet.defs.hh (1.47), PowerSet.inlines.hh (1.57): Determinate::operator+(), Determinate::operator*(), PowerSet::operator+() and PowerSet::operator*() removed. 2004-08-17 Tuesday 12:40 Roberto Bagnara * CREDITS (1.11): Small English improvement. 2004-08-17 Tuesday 11:05 Patricia M. Hill * tests/bhz03widening2.cc (1.5): Redundant code removed. 2004-08-17 Tuesday 11:01 Enea Zaffanella * src/: Determinate.defs.hh (1.39), Determinate.inlines.hh (1.37): The methods grouped according to constness and space-dim preservation, as done for the class Polyhedron. Two inline directives moved from *.defs.hh into *.inlines.hh. 2004-08-17 Tuesday 10:56 Patricia M. Hill * interfaces/Prolog/pl_check.pl (1.94): Tests for adding and removing dimensions now include cases where no dimensions are added or removed and also when all the dimensions are removed. 2004-08-17 Tuesday 10:38 Patricia M. Hill * doc/definitions.dox (1.141): The descriptions of the add and remove dimensions operators improved. The description of the concatenate operation moved to just before the description of the add dimensions operators. 2004-08-17 Tuesday 10:30 Roberto Bagnara * NEWS (1.98), configure.ac (1.118), doc/Makefile.am (1.27): The documentation for users, in PostScript, PDF and HTML formats, is now installed in a standard place by `make install'. 2004-08-17 Tuesday 09:49 Enea Zaffanella * src/Determinate.defs.hh (1.38): Small improvements. 2004-08-17 Tuesday 09:48 Enea Zaffanella * doc/definitions.dox (1.140): Added a section on constructions on polyhedra. 2004-08-17 Tuesday 09:48 Enea Zaffanella * src/Polyhedra_PowerSet.defs.hh (1.25): Started documenting the widening operators. 2004-08-17 Tuesday 09:46 Enea Zaffanella * src/: BHRZ03_Certificate.defs.hh (1.4), BHRZ03_Certificate.inlines.hh (1.2), H79_Certificate.cc (1.2), H79_Certificate.defs.hh (1.3), H79_Certificate.inlines.hh (1.2): H79_Certificate simplified by removing useless methods. The documentation of BHRZ03_Certificate method is_stabilizing() now only appears in the developers manual. Both classes now appear in the user manual, as they provide documentation of the method needed by any new certificate. 2004-08-17 Tuesday 09:39 Patricia M. Hill * interfaces/Prolog/Prolog_interface.dox (1.111): Several minor "English" corrections and some cross references improved or added. 2004-08-17 Tuesday 09:37 Patricia M. Hill * doc/definitions.dox (1.139): An anchor has been added and minor English improvement. 2004-08-17 Tuesday 08:05 Patricia M. Hill * tests/: bhz03widening3.cc (1.3), bhz03widening6.cc (1.3), boundingbox2.cc (1.21), boundingbox4.cc (1.10): Comments revised in boundinbox2.cc and boundingbox4.cc. Known result in bhz03widening3.cc added and checked. New test added to bhz03widening6.cc for the case when the multiset ordering wrt the lgo is converging. 2004-08-17 Tuesday 00:29 Roberto Bagnara * tests/bgp99extrapolation2.cc (1.4): Be quiet. 2004-08-17 Tuesday 00:29 Roberto Bagnara * tests/folddims2.cc (1.2): Removed test that was already made in folddims1.cc. Comment revised. 2004-08-17 Tuesday 00:27 Roberto Bagnara * tests/Makefile.am (1.205): Spurious backslash removed. 2004-08-17 Tuesday 00:27 Roberto Bagnara * tests/bgp99extrapolation2.cc (1.3): Completed (and made more interesting). 2004-08-16 Monday 21:42 Patricia M. Hill * tests/: Makefile.am (1.204), folddims2.cc (1.1): Tests for NNC polyhedra added. 2004-08-16 Monday 21:07 Patricia M. Hill * tests/bgp99extrapolation2.cc (1.2): Comment corrected. 2004-08-16 Monday 20:07 Roberto Bagnara * tests/h79widening6.cc (1.7): An example taken from CH78. 2004-08-16 Monday 19:40 Roberto Bagnara * tests/: Makefile.am (1.203), bgp99extrapolation2.cc (1.1), h79widening6.cc (1.6): Test program h79widening6.cc renamed bgp99extrapolation2.cc. 2004-08-16 Monday 19:27 Roberto Bagnara * ppl.spec.in (1.20): Added the `ppl_lcdd' program to the main package. Require gcc-c++ to be exactly version 3.4.1. 2004-08-16 Monday 19:27 Roberto Bagnara * demos/ppl_lcdd/Makefile.am (1.3): The `ppl_lcdd' program will be installed in `bindir'. 2004-08-16 Monday 18:53 Roberto Bagnara * ppl.lsm.in (1.5), ppl.spec.in (1.19): Updated. 2004-08-16 Monday 18:52 Roberto Bagnara * doc/definitions.dox (1.138): Definition of the folding operation improved. 2004-08-16 Monday 18:50 Roberto Bagnara * TODO (1.82): Some items postponed. Main points of PPL 0.7 drafted. 2004-08-16 Monday 18:41 Roberto Bagnara * README (1.22): Typo fixed. 2004-08-16 Monday 18:30 Roberto Bagnara * Watchdog/README (1.7): Updated. 2004-08-16 Monday 18:20 Enea Zaffanella * src/: BHRZ03_Certificate.defs.hh (1.3), H79_Certificate.defs.hh (1.2): Fixed the documentation of the certificates (for now, this will only appear in the developer manual). 2004-08-16 Monday 18:19 Enea Zaffanella * src/: Polyhedra_PowerSet.defs.hh (1.24), Polyhedra_PowerSet.inlines.hh (1.35): Fixed header inclusions. 2004-08-16 Monday 18:15 Enea Zaffanella * src/Determinate.defs.hh (1.37), src/Polyhedron.defs.hh (1.240), doc/definitions.dox (1.137): Added a section about concatenation of polyhedra to the introduction of the user manual. Now the documentation of concatenate_assign() refers to it. 2004-08-16 Monday 18:01 Roberto Bagnara * interfaces/Prolog/XSB/ppl_xsb.cc (1.54): Prolog_raise_exception() implemented. 2004-08-16 Monday 17:15 Roberto Bagnara * CREDITS (1.10): Specify that Andrea is with the University of Parma. Email address omitted. 2004-08-16 Monday 17:13 Roberto Bagnara * README (1.21): Formatting changes. 2004-08-16 Monday 17:13 Patricia M. Hill * interfaces/Prolog/pl_check.pl (1.93): This test file now checks correctly that the exceptions do work ok. 2004-08-16 Monday 17:11 Roberto Bagnara * README (1.20): Updated. 2004-08-16 Monday 16:51 Roberto Bagnara * README.configure (1.4): Added instructions about the use of Comeau C/C++ 4.3.3. 2004-08-16 Monday 16:23 Roberto Bagnara * NEWS (1.97): Announce the new README.configure file. 2004-08-16 Monday 16:11 Roberto Bagnara * NEWS (1.96): Drafted an announcement for the new Determinate, PowerSet and Polyhedra_PowerSet classes. 2004-08-16 Monday 16:00 Roberto Bagnara * src/ConSys.inlines.hh (1.33): Fixed ConSys::max_space_dimension(). 2004-08-16 Monday 14:15 Patricia M. Hill * tests/bhz03widening6.cc (1.2): Comments added. 2004-08-16 Monday 14:04 Patricia M. Hill * tests/: Makefile.am (1.202), bhz03widening6.cc (1.1): dded more tests. 2004-08-16 Monday 12:50 Roberto Bagnara * TODO (1.81): Some items postponed. Main points of PPL 0.7 drafted. 2004-08-16 Monday 12:38 Roberto Bagnara * NEWS (1.95): Announce the new "expand" and "fold" operations. 2004-08-16 Monday 12:10 Enea Zaffanella * tests/: Makefile.am (1.201), bhz03widening4.cc (1.1), bhz03widening5.cc (1.1): New tests are the same as bhz03widening1.cc and bhz03widening2.cc, but use the H79_Certificate instead of BHRZ03_Certificate. 2004-08-16 Monday 12:08 Enea Zaffanella * src/: H79_Certificate.cc (1.1), H79_Certificate.defs.hh (1.1), H79_Certificate.inlines.hh (1.1), H79_Certificate.types.hh (1.1), Makefile.am (1.74), Polyhedra_PowerSet.defs.hh (1.23), Polyhedra_PowerSet.inlines.hh (1.34), Polyhedron.defs.hh (1.239): Added the H79 widening certificate. The certificate-based widening methods for the Polyhedra_Powerset domain made generic by parameterizing the certificate used. The instance using the BHRZ03_Certificate still have the old name (so as old code still works). 2004-08-16 Monday 09:50 Roberto Bagnara * NEWS (1.94), Watchdog/NEWS (1.4): Our tentative release date is August 18, 2004. 2004-08-16 Monday 08:36 Roberto Bagnara * ChangeLog (1.17), Watchdog/ChangeLog (1.7): Updated. 2004-08-16 Monday 08:03 Roberto Bagnara * src/Polyhedron_chdims.cc (1.14): In Polyhedron::fold_dimensions(const Variables_Set&, Variable) correctly handle the case where the set is empty. 2004-08-15 Sunday 22:42 Roberto Bagnara * interfaces/C/: ppl_c.cc (1.105), ppl_c.h.in (1.31): New C interface functions ppl_Polyhedron_expand_dimension() and ppl_Polyhedron_fold_dimensions(). 2004-08-15 Sunday 20:14 Roberto Bagnara * src/Polyhedron_chdims.cc (1.13): Polyhedron::fold_dimensions() now checks its interface invariants. 2004-08-15 Sunday 19:43 Roberto Bagnara * src/Polyhedron.defs.hh (1.238): Completed the documentation of Polyhedron::fold_dimensions(). 2004-08-15 Sunday 19:31 Roberto Bagnara * doc/definitions.dox (1.136): Set-cardinality notation explained. 2004-08-15 Sunday 17:54 Roberto Bagnara * demos/ppl_lcdd/ppl_lcdd.cc (1.22): Do not mix extern "C" pointers and extern "C++" pointers: they are different types. 2004-08-15 Sunday 17:43 Roberto Bagnara * doc/definitions.dox (1.135): Drafted a formal definition of the "fold_dimensions" operation. 2004-08-15 Sunday 17:40 Roberto Bagnara * doc/ppl.sty (1.14): Added the definition of the set-cardinality operator `\card'. 2004-08-15 Sunday 11:54 Roberto Bagnara * doc/definitions.dox (1.134), src/Polyhedron.defs.hh (1.237): Added placeholder and reference to the (yet to be written) section on folding dimensions. 2004-08-15 Sunday 11:29 Roberto Bagnara * tests/: boundingbox1.cc (1.36), boundingbox3.cc (1.12), boundingbox4.cc (1.9): Comments corrected/revised. 2004-08-15 Sunday 10:55 Patricia M. Hill * interfaces/Prolog/Prolog_interface.dox (1.110): Documentation for the ppl_Polyhedron_expand_dimension/3 and ppl_Polyhedron_fold_dimensions/3 predicates, added. 2004-08-15 Sunday 10:13 Patricia M. Hill * interfaces/Prolog/pl_check.pl (1.92): A bug has been fixed. The tests for the bounding box predicates improved. 2004-08-15 Sunday 10:11 Patricia M. Hill * tests/: boundingbox1.cc (1.35), boundingbox2.cc (1.20), boundingbox3.cc (1.11), boundingbox4.cc (1.8): The tests for shrink_bounding_box() and building polyhedra from boxes have been revised. 2004-08-15 Sunday 09:09 Roberto Bagnara * demos/ppl_lcdd/ppl_lcdd.cc (1.21): Catch and handle the exceptions that may be raised. 2004-08-15 Sunday 08:44 Abramo Bagnara * src/checked_mpz.inlines.hh (altnum.8): Added conversion from mpz to int. 2004-08-15 Sunday 00:30 Roberto Bagnara * demos/ppl_lcdd/ppl_lcdd.cc (1.20): Missing include files added. Reduced the scope of some variables in set_alarm_on_cpu_time(). 2004-08-14 Saturday 23:48 Roberto Bagnara * README.configure (1.3): Added instructions on how to use the Intel C/C++ compiler. 2004-08-14 Saturday 23:36 Roberto Bagnara * configure.ac (1.117): Version number bumped. Require Autoconf 2.59 or later. 2004-08-14 Saturday 23:28 Roberto Bagnara * tests/boundingbox5.cc (1.2): Be quiet. 2004-08-14 Saturday 23:27 Roberto Bagnara * src/Ph_Status.idefs.hh (1.6): Inclusion guard added. 2004-08-14 Saturday 21:50 Roberto Bagnara * src/Checked_Integer.defs.hh (altnum.5): Friend declarations fixed. 2004-08-14 Saturday 10:18 Roberto Bagnara * src/Checked_Integer.inlines.hh (altnum.6): Horrible kludge to fix a bug in Checked_Integer::Checked_Integer(U), where U is some native integral type. 2004-08-14 Saturday 10:11 Abramo Bagnara * src/checked_mpz.inlines.hh (altnum.7): Fixed unsigned/signed typo. 2004-08-14 Saturday 10:10 Abramo Bagnara * src/: Checked_Integer.inlines.hh, Checked_Number.inlines.hh, checked.defs.hh, checked_float.inlines.hh, checked_mpq.inlines.hh (altnum.[5,4,6,5,7]): Fixed code formatting. 2004-08-14 Saturday 08:37 Roberto Bagnara * src/Makefile.am (altnum.5): Include the contents of Integer.inlines.hh in ppl_install.hh. 2004-08-14 Saturday 00:04 Abramo Bagnara * src/: checked_mpq.inlines.hh, checked_mpz.inlines.hh (altnum.[6,6]): Fixed signed/unsigned conversion. 2004-08-13 Friday 19:22 Roberto Bagnara * tests/bhz03widening3.cc (1.2): Be quiet. 2004-08-13 Friday 19:21 Abramo Bagnara * src/: checked.defs.hh, checked_mpq.inlines.hh, checked_mpz.inlines.hh (altnum.[5,5,5]): Always pass 'from' arguments by reference in inline helper functions 2004-08-13 Friday 18:36 Roberto Bagnara * src/: checked_mpq.inlines.hh, checked_mpz.inlines.hh (altnum.[4,4]): Qualified name is not allowed in namespace member declaration. 2004-08-13 Friday 18:05 Abramo Bagnara * configure.ac (altnum.4): Added AM_CONDITIONAL for new checked code. 2004-08-13 Friday 18:02 Roberto Bagnara * Watchdog/Makefile.am (1.10), src/Makefile.am (1.73): Version info updated for the libtool libraries. 2004-08-13 Friday 17:29 Abramo Bagnara * src/checked.defs.hh (altnum.4): More explicit name for function container 2004-08-13 Friday 17:20 Abramo Bagnara * src/float.types.hh (altnum.2): Renamed float basic type. 2004-08-13 Friday 17:19 Abramo Bagnara * src/: checked.defs.hh, checked.inlines.hh, checked_int.inlines.hh, checked_mpq.inlines.hh, checked_mpz.inlines.hh (altnum.[3,3,5,3,3]): Added many const. Renamed float basic type. 2004-08-13 Friday 17:19 Abramo Bagnara * src/checked_float.inlines.hh (altnum.4): Added pred/succ. 2004-08-13 Friday 17:17 Abramo Bagnara * src/Makefile.am (altnum.4): Adjusted for use of new checked code. 2004-08-13 Friday 17:17 Abramo Bagnara * src/: Checked_Number.defs.hh, Checked_Number.inlines.hh, Checked_Number.types.hh (altnum.[3,3,2]): Added policy to Checked_Numbers. Added operator from basic types. 2004-08-13 Friday 17:07 Abramo Bagnara * src/Checked_Number.cc (altnum.2): Removed empty file. 2004-08-13 Friday 17:06 Abramo Bagnara * src/: Checked_Integer.defs.hh, Checked_Integer.inlines.hh, GMP_Integer.defs.hh, GMP_Integer.inlines.hh, Integer.defs.hh, Integer.inlines.hh, Integer.types.hh, Native_Integer.defs.hh, Native_Integer.inlines.hh (altnum.[4,4,3,3,4,1,4,4,4]): Shared definitions and declarations Integer_{zero,one}. 2004-08-13 Friday 16:53 Roberto Bagnara * CREDITS (1.9), doc/devref.tex (1.14), doc/user.tex (1.15): Authors lists adapted to reality. 2004-08-13 Friday 16:52 Roberto Bagnara * configure.ac (1.116): Version number bumped. 2004-08-13 Friday 16:15 Enea Zaffanella * STANDARDS (1.13): Slightly modified the policy for the list of parameters: for increased flexibility, detailed comments may occur both before and after the list. 2004-08-13 Friday 16:09 Enea Zaffanella * src/: AskTell.defs.hh (1.21), C_Polyhedron.defs.hh (1.22), ConSys.defs.hh (1.83), Determinate.defs.hh (1.36), GenSys.defs.hh (1.96), Generator.defs.hh (1.87), Matrix.defs.hh (1.58), NNC_Polyhedron.defs.hh (1.25), Polyhedra_PowerSet.defs.hh (1.22), Polyhedron.defs.hh (1.236), Row.defs.hh (1.79), SatMatrix.defs.hh (1.34), conversion.cc (1.53), globals.hh (1.37), minimize.cc (1.36), simplify.cc (1.35): All parameter lists formatted according to the new policy in STANDARDS. 2004-08-13 Friday 16:03 Roberto Bagnara * interfaces/Prolog/SWI/.cvsignore (1.6), tests/.cvsignore (1.9): Updated. 2004-08-13 Friday 15:09 Patricia M. Hill * interfaces/Prolog/pl_check.pl (1.91): Tests for ppl_new_Polyhedron_from_bounding_box/3 that use the empty box as input have been added. Unwanted code removed. 2004-08-13 Friday 14:57 Roberto Bagnara * NEWS (1.93), interfaces/Prolog/ppl_prolog.icc (1.134): Fixed a bug in the Prolog interface predicate ppl_new_Polyhedron_from_bounding_box/3 whereby the predicate was failing when given an empty bounding box. 2004-08-13 Friday 14:34 Patricia M. Hill * interfaces/Prolog/pl_check.pl (1.90): Improved documentation and tests. 2004-08-13 Friday 12:38 Roberto Bagnara * src/: Polyhedron.defs.hh (1.235), Polyhedron_nonpublic.cc (1.20): Some parameters renamed so as to be more consistent with the rest of the code. 2004-08-13 Friday 12:09 Enea Zaffanella * TODO (1.80): Updated. 2004-08-13 Friday 12:05 Enea Zaffanella * src/version.hh.in (1.9): Split the brief and detailed parts of a couple of doxygen comments. 2004-08-13 Friday 12:03 Enea Zaffanella * interfaces/C/ppl_c.h.in (1.30): Split a few brief comments where seemingly appropriate. Started applying the new formatting policy for doxygen lists of parameters. 2004-08-13 Friday 12:01 Enea Zaffanella * STANDARDS (1.12): Drafted a policy for the formatting of parameter lists in doxygen comments. 2004-08-13 Friday 12:00 Enea Zaffanella * src/Makefile.am (1.72): ppl.hh and ppl_install.hh also depend on version.hh. 2004-08-13 Friday 11:33 Roberto Bagnara * NEWS (1.92): Fixed a bug in the Prolog interface predicate ppl_Polyhedron_get_bounding_box/3 whereby a wrong result was sometimes computed in the case of an empty polyhedron. 2004-08-13 Friday 11:29 Roberto Bagnara * src/BoundingBox.inlines.hh (1.12): BoundingBox::set_empty() now empties all the intervals. 2004-08-13 Friday 11:28 Roberto Bagnara * tests/: boundingbox1.cc (1.34), boundingbox2.cc (1.19), boundingbox3.cc (1.10), boundingbox4.cc (1.7): Comments fixed. 2004-08-13 Friday 11:26 Roberto Bagnara * tests/: Makefile.am (1.200), boundingbox5.cc (1.1): New test for Polyhedron::shrink_bounding_box(). 2004-08-13 Friday 10:38 Patricia M. Hill * interfaces/Prolog/pl_check.pl (1.89): Improved comments and better sequence of tests for the widening and extrapolation operators. 2004-08-13 Friday 08:41 Roberto Bagnara * doc/: devref-browse.doxyconf-latex.in (1.37), devref-print.doxyconf-latex.in (1.37), devref.doxyconf-html.in (1.38), user-browse.doxyconf-latex.in (1.20), user-print.doxyconf-latex.in (1.20), user.doxyconf-html.in (1.22): Use the `:=' operator to PREDEFINE __P: this prevents the definition to be undefined by `#undef'. 2004-08-13 Friday 08:14 Patricia M. Hill * interfaces/Prolog/pl_check.pl (1.88): Added simpler test defined by predicate boundingbox_test/0 to show bug in ppl_Polyhedron_get_bounding_box/3 predicate when the polyhedron is empty. Test can be run using check_noisy/0. 2004-08-13 Friday 00:57 Roberto Bagnara * README (1.19), doc/devref-browse.doxyconf-latex.in (1.36), doc/devref-print.doxyconf-latex.in (1.36), doc/devref.doxyconf-html.in (1.37): The file statistics.hh has been removed. 2004-08-13 Friday 00:32 Enea Zaffanella * TODO (1.79): Harmonization of methods Polyhedron::throw_*() dealt with. 2004-08-13 Friday 00:27 Enea Zaffanella * src/: C_Polyhedron.cc (1.9), Constraint.cc (1.41), Constraint.defs.hh (1.87), Constraint.inlines.hh (1.49), Generator.cc (1.49), Generator.defs.hh (1.86), Generator.inlines.hh (1.43), Matrix.defs.hh (1.57), Ph_Status.idefs.hh (1.5), Poly_Con_Relation.defs.hh (1.24), Poly_Gen_Relation.defs.hh (1.22), Polyhedron.defs.hh (1.234), Polyhedron.inlines.hh (1.93), Polyhedron_chdims.cc (1.12), Polyhedron_nonpublic.cc (1.19), Polyhedron_public.cc (1.25), Polyhedron_widenings.cc (1.21), Row.defs.hh (1.78): The various methods throw_incompatible_*() made more consistent with each other, as well as the way they are called. When closing a doxygen comment group with @}, made clear the group closed. 2004-08-12 Thursday 18:31 Roberto Bagnara * NEWS (1.91): Mention that a bug has been fixed in Polyhedron::poly_difference_assign(const Polyhedron&). 2004-08-12 Thursday 18:12 Patricia M. Hill * interfaces/Prolog/: pl_check.pl (1.87), ppl_prolog.icc (1.133), Ciao/ciao_pl_check.pl (1.4), Ciao/ppl_ciao.pl (1.66), GNU/ppl_gprolog.pl (1.45), SICStus/ppl_sicstus_sd.cc (1.62), SWI/ppl_swiprolog.cc (1.87), XSB/ppl_xsb.H (1.32), XSB/ppl_xsb.cc (1.53), XSB/xsb_pl_check.P (1.9), YAP/ppl_yap.cc (1.80): Added interface predicate for fold_dimensions(). Added test for this predicate. 2004-08-12 Thursday 17:42 Patricia M. Hill * interfaces/Prolog/pl_check.pl (1.86): Bugs introduced by adding full stops corrected. 2004-08-12 Thursday 17:34 Enea Zaffanella * src/Polyhedron_public.cc (1.24): The patch for poly-difference operator seems to be the right solution: CHECKME removed. 2004-08-12 Thursday 17:32 Enea Zaffanella * doc/definitions.dox (1.133), src/Polyhedron.defs.hh (1.233): Pedantic correction to the explanation of poly-difference. 2004-08-12 Thursday 17:30 Enea Zaffanella * interfaces/C/ppl_c.h.in (1.29): Simplified comments about poly-hull operators. For the poly-difference, added reference to appropriate section of the manual. 2004-08-12 Thursday 16:49 Roberto Bagnara * README.configure (1.2), TODO (1.78): Explained the basics about configuring GMP and the PPL, as far as selecting the right version of GPM is concerned. 2004-08-12 Thursday 15:52 Enea Zaffanella * TODO (1.77), doc/definitions.dox (1.132): Added a paragraph explaining that PPL types should not be used polymorphically. This is at the beginning of section 7 (The library), since it is specific of the C++ language. 2004-08-12 Thursday 15:14 Abramo Bagnara * src/Integer.defs.hh (altnum.3): Fixed typos including new files. 2004-08-12 Thursday 14:54 Roberto Bagnara * configure.ac, src/Integer.defs.hh, src/Integer.types.hh (altnum.[3,2,3]): First go at a setup that allows to test the new checked code against the old one. The configure option `--enable-new-checked-code' does what is expected. 2004-08-12 Thursday 12:24 Roberto Bagnara * TODO (1.76), doc/definitions.dox (1.131): Small improvement to the discussion about the use of iterators and references. 2004-08-12 Thursday 11:53 Enea Zaffanella * interfaces/C/ppl_c.h.in (1.28): Corrected two doxygen comments: "const iterator system" --> "const iterator". 2004-08-12 Thursday 11:52 Enea Zaffanella * doc/definitions.dox (1.130): Drafted a section providing a warning about the possible invalidation of references and iterators. 2004-08-12 Thursday 11:36 Roberto Bagnara * configure.ac, src/Integer.types.hh, src/Makefile.am (altnum.[2,2,3]): Do not use C types like char, short, long and long long. Use the fixed width types int8_t, int16_t, int32_t and int64_t instead. 2004-08-12 Thursday 10:34 Patricia M. Hill * tests/folddims1.cc (1.2): A number of different tests for fold_dimensions() added. 2004-08-12 Thursday 10:20 Abramo Bagnara * src/checked_int.inlines.hh (altnum.4): Added preliminary optimizations. 2004-08-12 Thursday 10:02 Roberto Bagnara * src/checked_float.inlines.hh (altnum.3): Parenthesis moved outside #if/#endif block. 2004-08-12 Thursday 09:49 Abramo Bagnara * src/checked.inlines.hh (altnum.2): Missing file from previous commit (policy addition). 2004-08-12 Thursday 09:44 Roberto Bagnara * src/Polyhedron_public.cc (1.23): Added a comment to the implementation of Polyhedron::poly_difference_assign(). 2004-08-12 Thursday 09:16 Roberto Bagnara * interfaces/Prolog/pl_check.pl (1.85): Given a proper reference to the work of Gopan et al. Comments terminated by a full-stop. 2004-08-12 Thursday 09:15 Roberto Bagnara * interfaces/Prolog/ppl_prolog.icc (1.132): Indentation fixed. 2004-08-12 Thursday 09:01 Roberto Bagnara * tests/: Makefile.am (1.199), expanddim1.cc (1.7), expanddim2.cc (1.1): Tests that are specific to NNC polyhedra must go in separate files: expanddim2.cc cut out from expanddim1.cc. 2004-08-12 Thursday 08:56 Roberto Bagnara * tests/expanddim1.cc (1.6): Biobliographic reference fixed. 2004-08-12 Thursday 08:51 Patricia M. Hill * interfaces/Prolog/pl_check.pl (1.84): Added another (simple) test for the poly difference predicate; Added a test for the expand_dimension predicate based on that in the TACAS04 paper on page 519. 2004-08-12 Thursday 08:48 Patricia M. Hill * tests/expanddim1.cc (1.5): Added test corresponding to example in the TACAS04 paper on page 519. 2004-08-12 Thursday 08:35 Roberto Bagnara * tests/expanddim1.cc (1.4): We always terminate sentences with a full stop. 2004-08-11 Wednesday 23:49 Abramo Bagnara * src/checked_int.inlines.hh (altnum.3): Changed approach to checked add/sub to avoid undefined behaviour caused by out of range expressions. 2004-08-11 Wednesday 22:10 Patricia M. Hill * interfaces/Prolog/pl_check.pl (1.83): Test for ppl_Polyhedron_poly_difference_assign corrected. 2004-08-11 Wednesday 21:47 Patricia M. Hill * interfaces/Prolog/: pl_check.pl (1.82), ppl_prolog.icc (1.131), Ciao/ciao_pl_check.pl (1.3), Ciao/ppl_ciao.pl (1.65), GNU/ppl_gprolog.pl (1.44), SICStus/ppl_sicstus_sd.cc (1.61), SWI/ppl_swiprolog.cc (1.86), XSB/ppl_xsb.H (1.31), XSB/ppl_xsb.cc (1.52), XSB/xsb_pl_check.P (1.8), YAP/ppl_yap.cc (1.79): Prolog interface predicate added for expand_dimension(). Test for new predicate added to pl_check.pl. 2004-08-11 Wednesday 21:44 Patricia M. Hill * tests/expanddim1.cc (1.3): More tests added for testing expand_dimensions(). 2004-08-11 Wednesday 19:25 Abramo Bagnara * src/: Checked_Number.defs.hh, Checked_Number.inlines.hh, Result_Info.defs.hh, checked.defs.hh, checked_float.cc, checked_float.defs.hh, checked_float.inlines.hh, checked_int.cc, checked_int.defs.hh, checked_int.inlines.hh, checked_mpq.cc, checked_mpq.defs.hh, checked_mpq.inlines.hh, checked_mpz.cc, checked_mpz.defs.hh, checked_mpz.inlines.hh (altnum.[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2]): Added policy to checked functions. Deleted useless files. Confined checked functions and helper class to Checked namespace. 2004-08-11 Wednesday 18:15 Enea Zaffanella * src/Polyhedron_public.cc (1.22): Drafted a patch to correct bug shown by polydifference8.cc. 2004-08-11 Wednesday 18:13 Enea Zaffanella * tests/: Makefile.am (1.198), bhz03widening3.cc (1.1), polydifference8.cc (1.1): New test polydifference8.cc (extracted from bhz03wodening3.cc) shows a bug in method Polyhedron::poly_difference_assign(). 2004-08-11 Wednesday 16:29 Roberto Bagnara * tests/: Makefile.am (1.197), folddims1.cc (1.1): Use folddims1.cc for testing Polyhedron::fold_dimensions(). 2004-08-11 Wednesday 16:10 Enea Zaffanella * src/: Polyhedra_PowerSet.defs.hh (1.21), Polyhedra_PowerSet.inlines.hh (1.33): Use BHRZ03_Certificate instead of BHRZ03_info. First step towards generalizing the BHZ03 widening to arbitrary certificates. 2004-08-11 Wednesday 16:08 Enea Zaffanella * src/: Polyhedron.defs.hh (1.232), Polyhedron.inlines.hh (1.92), Polyhedron_widenings.cc (1.20): Got rid of all the stuff related to Polyhedron::BHRZ03_info, superseded by the class BHRZ03_Certificate. 2004-08-11 Wednesday 16:06 Enea Zaffanella * src/BHRZ03_Certificate.defs.hh (1.2): The comparison function is now provided with a brief and a detailed doxygen descriptions. 2004-08-11 Wednesday 15:33 Roberto Bagnara * tests/expanddim1.cc (1.2): Two new tests sketched. 2004-08-11 Wednesday 15:33 Roberto Bagnara * src/Polyhedron_chdims.cc (1.11): Fixed a bug in Polyhedron::expand_dimension(). Polyhedron::fold_dimensions() drafted. 2004-08-11 Wednesday 12:03 Abramo Bagnara * src/: Checked_Number.cc, Checked_Number.defs.hh, Checked_Number.inlines.hh, Checked_Number.types.hh (altnum.[1,1,1,1]): Replacement for Checked_Integer and more 2004-08-11 Wednesday 12:03 Abramo Bagnara * src/float.types.hh (altnum.1): Native float type declaration 2004-08-11 Wednesday 12:02 Abramo Bagnara * src/Result_Info.defs.hh (altnum.1): Result info for checked functions 2004-08-11 Wednesday 12:02 Abramo Bagnara * src/: checked.defs.hh, checked.inlines.hh, checked_float.cc, checked_float.defs.hh, checked_float.inlines.hh, checked_int.cc, checked_int.defs.hh, checked_int.inlines.hh, checked_mpq.cc, checked_mpq.defs.hh, checked_mpq.inlines.hh, checked_mpz.cc, checked_mpz.defs.hh, checked_mpz.inlines.hh (altnum.[1,1,1,1,1,1,1,1,1,1,1,1,1,1]): Checked functions for int, float, mpz and mpq 2004-08-11 Wednesday 10:39 Roberto Bagnara * src/Polyhedron_chdims.cc (1.10), tests/Makefile.am (1.196), tests/expanddim1.cc (1.1): Added a prototype implementation of Polyhedron::expand_dimension(Variable var, dimension_type m). 2004-08-09 Monday 23:05 Roberto Bagnara * README (1.18): Started revision for the PPL 0.6 release. 2004-08-09 Monday 22:57 Roberto Bagnara * TODO (1.75): Section on portability migrated to README.configure. Section on constructions on polyhedra revised. 2004-08-09 Monday 22:51 Roberto Bagnara * README.configure (1.1): New file describing the PPL-specific aspects of configuration, compilation and installation of the library. 2004-08-09 Monday 20:43 Roberto Bagnara * doc/: Makefile.am (1.26), fdl.txt (1.1), gpl.txt (1.1): We now distribute the GPL and the FDL also in text format (so as not to assume that users have Doxygen and/or LaTeX and/or a PostScript/PDF viewer). 2004-08-09 Monday 11:28 Enea Zaffanella * src/: Init.cc (1.11), Makefile.am (1.71), Polyhedron_widenings.cc (1.19), statistics.hh (1.4): Dealt with all the stuff needed to collect statistics about the BHRZ03 widening operator. 2004-08-09 Monday 10:48 Roberto Bagnara * TODO (1.74), src/Polyhedron.defs.hh (1.231), src/Polyhedron.inlines.hh (1.91): In Polyhedron::map_dimensions(const PartialFunction&), the method PartialFunction::maps() is now called at most `n' times, where `n' is the dimension of the vector space enclosing the polyhedron. 2004-08-09 Monday 08:55 Roberto Bagnara * NEWS (1.90), TODO (1.73), interfaces/Prolog/ppl_prolog.icc (1.130), src/Polyhedra_PowerSet.inlines.hh (1.32), src/PowerSet.inlines.hh (1.56), src/conversion.cc (1.52), src/globals.cc (1.14), src/globals.hh (1.36), tests/watchdog1.cc (1.20): The variable `abandon_exponential_computations' has been renamed `abandon_expensive_computations'. Its documentation has also been revised. 2004-08-08 Sunday 21:42 Roberto Bagnara * src/Polyhedron_widenings.cc (1.18): Two FIXMEs dealt with. 2004-08-08 Sunday 19:59 Roberto Bagnara * NEWS (1.89), demos/ppl_lcdd/ppl_lcdd.cc (1.19), src/version.hh.in (1.8): New macro PPL_VERSION expands to the version string of the library. 2004-08-08 Sunday 19:36 Roberto Bagnara * NEWS (1.88), Watchdog/Makefile.am (1.9), Watchdog/Watchdog.cc (1.17), Watchdog/Watchdog.defs.hh (1.13), Watchdog/Watchdog.inlines.hh (1.11), interfaces/Prolog/ppl_prolog.icc (1.129), tests/watchdog1.cc (1.19): Watchdog library completely reorganized. Deadlock bug fixed in the process. 2004-08-08 Sunday 19:36 Roberto Bagnara * demos/ppl_lcdd/examples/Makefile.am (1.2): Distribute the examples. 2004-08-08 Sunday 19:35 Roberto Bagnara * src/Polyhedron.types.hh (1.11): Namespace closing brace commented. 2004-08-08 Sunday 19:30 Roberto Bagnara * Watchdog/: Handler.defs.hh (1.1), Handler.inlines.hh (1.1), Handler.types.hh (1.1): Classes for handlers of the watchdog events. 2004-08-08 Sunday 18:39 Enea Zaffanella * doc/definitions.dox (1.129): Corrected a typo. 2004-08-08 Sunday 12:30 Patricia M. Hill * src/Polyhedron.defs.hh (1.230): Documentation on map_dimensions wrt the specification of pfunc revised. 2004-08-08 Sunday 10:46 Patricia M. Hill * src/Polyhedron.defs.hh (1.229): Added to documentation of map_dimensions, in the specification of the partial function pfunc/2, an indication of the number of times the different methods will be called. 2004-08-07 Saturday 19:16 Roberto Bagnara * ltmain.sh (1.19), Watchdog/ltmain.sh (1.8): Updated from Libtool 1.5.8. 2004-08-07 Saturday 08:48 Roberto Bagnara * Watchdog/: Pending_List.cc (1.1), Pending_List.defs.hh (1.1), Pending_List.inlines.hh (1.1), Pending_List.types.hh (1.1): An ordered list for recording pending watchdog events. 2004-08-07 Saturday 08:41 Roberto Bagnara * Watchdog/: EList.defs.hh (1.3), EList.inlines.hh (1.2): The clear() method has been removed. The destructor now destructs also the elements in the list. 2004-08-06 Friday 19:37 Roberto Bagnara * Watchdog/: Pending_Element.cc (1.1), Pending_Element.defs.hh (1.1), Pending_Element.inlines.hh (1.1), Pending_Element.types.hh (1.1): A class for pending watchdog events with embedded links. 2004-08-06 Friday 18:53 Roberto Bagnara * Watchdog/: Doubly_Linked_Object.defs.hh (1.1), Doubly_Linked_Object.inlines.hh (1.1), Doubly_Linked_Object.types.hh (1.1): A (base) class for doubly linked objects. 2004-08-06 Friday 18:35 Roberto Bagnara * Watchdog/: EList_Iterator.defs.hh (1.1), EList_Iterator.inlines.hh (1.1), EList_Iterator.types.hh (1.1): A class providing iterators for embedded lists. 2004-08-06 Friday 18:35 Roberto Bagnara * Watchdog/EList.defs.hh (1.2): Class comment revised. 2004-08-06 Friday 18:21 Roberto Bagnara * Watchdog/: EList.defs.hh (1.1), EList.inlines.hh (1.1), EList.types.hh (1.1): A list of doubly linked objects (where the links are embedded in the objects themselves). 2004-08-06 Friday 18:04 Roberto Bagnara * Watchdog/: Time.cc (1.1), Time.defs.hh (1.1), Time.inlines.hh (1.1), Time.types.hh (1.1): A class for representing and manipulating positive time intervals. 2004-08-05 Thursday 08:20 Patricia M. Hill * TODO (1.72): ppl_Polyhedron_maximize, ppl_Polyhedron_maximize_with_point, and ppl_Polyhedron_minimize, ppl_Polyhedron_minimize_with_point have been added to the Prolog interface with corresponding additions to the documentation and pl_check.pl. Todo item on this removed. 2004-08-05 Thursday 07:56 Roberto Bagnara * src/: Checked_Integer.defs.hh, Checked_Integer.inlines.hh, Checked_Integer.types.hh, GMP_Integer.defs.hh, GMP_Integer.inlines.hh, GMP_Integer.types.hh, Integer_traits_template.hh, Native_Integer.defs.hh, Native_Integer.inlines.hh, Native_Integer.types.hh (altnum.[3,3,2,2,2,2,2,3,3,2]): Copyright years updated. 2004-08-04 Wednesday 22:28 Roberto Bagnara * depcomp (1.8), install-sh (1.9), Watchdog/depcomp (1.6), Watchdog/install-sh (1.6): Updated from Automake 1.9. 2004-08-04 Wednesday 22:18 Roberto Bagnara * NEWS (1.87), configure.ac (1.115), demos/Makefile.am (1.3), demos/ppl_lcdd/Makefile.am (1.2), demos/ppl_lcdd/examples/.cvsignore (1.1), demos/ppl_lcdd/examples/Makefile.am (1.1), demos/ppl_lpsol/.cvsignore (1.1), demos/ppl_lpsol/Makefile.am (1.1), demos/ppl_lpsol/expected (1.1), demos/ppl_lpsol/ppl_lpsol.c (1.1), demos/ppl_lpsol/examples/.cvsignore (1.1), demos/ppl_lpsol/examples/Makefile.am (1.1), demos/ppl_lpsol/examples/afiro.mps (1.1), demos/ppl_lpsol/examples/bgprtr.mps (1.1), demos/ppl_lpsol/examples/ex1.mps (1.1), demos/ppl_lpsol/examples/sample.mps (1.1), demos/ppl_lpsol/examples/unboundedmin.mps (1.1), interfaces/C/Makefile.am (1.17): All demos are now under the `demos' directory. 2004-08-04 Wednesday 21:32 Roberto Bagnara * interfaces/Prolog/Ciao/Makefile.am (1.28): The source `fake_mail.pl' has gone long time ago. 2004-08-04 Wednesday 20:13 Roberto Bagnara * config.guess (1.23), config.sub (1.22), Watchdog/config.guess (1.7), Watchdog/config.sub (1.7): Updated. 2004-08-04 Wednesday 20:05 Roberto Bagnara * TODO (1.71): The Polyhedron::*recycled*() methods do not make sense for the Prolog interface. 2004-08-04 Wednesday 16:55 Roberto Bagnara * tests/: adddimensions11.cc, dualhypercubes.cc (altnum.[1,1]): The main program must catch exceptions. 2004-08-04 Wednesday 16:54 Roberto Bagnara * TODO (1.70): Some things to do will only be done in PPL 0.7 or later version. 2004-08-04 Wednesday 15:54 Enea Zaffanella * src/: Interval.defs.hh, Interval.inlines.hh (altnum.[2,2]): Returning by const reference when appropriate. (numerator and denominator). 2004-08-04 Wednesday 15:53 Roberto Bagnara * src/: Checked_Integer.defs.hh, Checked_Integer.inlines.hh, Native_Integer.defs.hh, Native_Integer.inlines.hh (altnum.[2,2,2,2]): Use Integer_macros.hh to declare and define all the required functions. 2004-08-04 Wednesday 15:50 Roberto Bagnara * src/Matrix.cc (altnum.2): Wrongly-named variable references fixed. 2004-08-04 Wednesday 15:49 Roberto Bagnara * src/: Integer_macros.hh, Makefile.am (altnum.[1,2]): Helper macros for the implementation of Native_Integer and Checked_Integer. 2004-08-04 Wednesday 15:32 Roberto Bagnara * Makefile.am (altnum.1): Temporarily disable the `interfaces' directory. 2004-08-04 Wednesday 13:18 Roberto Bagnara * CREDITS, configure.ac, src/BoundingBox.cc, src/BoundingBox.defs.hh, src/BoundingBox.inlines.hh, src/Checked_Integer.defs.hh, src/Checked_Integer.inlines.hh, src/Checked_Integer.types.hh, src/ConSys.cc, src/ConSys.defs.hh, src/Constraint.defs.hh, src/Constraint.inlines.hh, src/GMP_Integer.defs.hh, src/GMP_Integer.inlines.hh, src/GMP_Integer.types.hh, src/GenSys.cc, src/GenSys.defs.hh, src/Generator.cc, src/Generator.defs.hh, src/Generator.inlines.hh, src/Integer.defs.hh, src/Integer.types.hh, src/Integer_traits_template.hh, src/Interval.defs.hh, src/Interval.inlines.hh, src/LinExpression.cc, src/LinExpression.defs.hh, src/LinExpression.inlines.hh, src/Makefile.am, src/Matrix.cc, src/Native_Integer.defs.hh, src/Native_Integer.inlines.hh, src/Native_Integer.types.hh, src/Polyhedron.defs.hh, src/Polyhedron.inlines.hh, src/Polyhedron_nonpublic.cc, src/Polyhedron_public.cc, src/Polyhedron_widenings.cc, src/Row.cc, src/Row.defs.hh, src/Row.inlines.hh, src/conversion.cc, src/globals.cc, src/globals.hh, tests/BBox.cc, tests/BBox.hh, tests/Makefile.am (altnum.[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]): Imported, with changes, from the `altnum' branch of the students' repository. As the Purenum project seems dead, support for Purenum has been evicted. Notice that both native and checked integers do not currently work due to the absence of some relational operators. 2004-07-15 Thursday 18:58 Roberto Bagnara * demos/ppl_lcdd/ppl_lcdd.cc (1.18): Option `-c' (`--check') implemented. 2004-07-15 Thursday 17:57 Roberto Bagnara * demos/ppl_lcdd/examples/: 1d.ine (1.1), 1da.ine (1.1), cp4.ext (1.1), cp4.ine (1.1), cp5.ext (1.1), cp5.ine (1.1), cp6.ext (1.1), cp6.ine (1.1), cp7.ext (1.1), cross4.ine (1.1), cube.ext (1.1), cube.ine (1.1), cubetop.ine (1.1), cut16_11.ext (1.1), cut32_16.ext (1.1), cyc.ine (1.1), cyclic17_8.ine (1.1), cyclic25_13.ext (1.1), diamond.ine (1.1), in0.ine (1.1), in1.ine (1.1), in2.ine (1.1), in3.ine (1.1), in4.ine (1.1), in5.ine (1.1), in6.ine (1.1), in7.ine (1.1), kq20_11_m.ine (1.1), metric40_11.ine (1.1), metric80_16.ine (1.1), mit.ine (1.1), mit288-281.ine (1.1), mit31-20.ine (1.1), mit41-16.ine (1.1), mit708-9.ine (1.1), mit71-61.ine (1.1), mit90-86.ine (1.1), mp5.ext (1.1), mp5.ine (1.1), mp5a.ine (1.1), mp6.ine (1.1), trunc10.ine (1.1), trunc7.ine (1.1), tsp5.ext (1.1), tsp5.ine (1.1): Borrowed, with some minor changes, from lrslib 042. 2004-07-15 Thursday 16:46 Roberto Bagnara * demos/ppl_lcdd/examples/: allzero.ine (1.1), ccc4.ext (1.1), ccc5.ext (1.1), ccc6.ext (1.1), ccp4.ext (1.1), ccp5.ext (1.1), ccp6.ext (1.1), cross10.ine (1.1), cross12.ine (1.1), cross6.ine (1.1), cross8.ine (1.1), cube10.ine (1.1), cube12.ine (1.1), cube3.ine (1.1), cube6.ine (1.1), cube8.ine (1.1), cubocta.ine (1.1), cyclic10-4.ext (1.1), cyclic12-6.ext (1.1), cyclic14-8.ext (1.1), cyclic16-10.ext (1.1), dodeca_m.ine (1.1), ex1.ine (1.1), grcubocta.ine (1.1), hexocta.ine (1.1), icododeca_m.ine (1.1), infeas.ine (1.1), integralpoints.ine (1.1), irbox20-4.ext (1.1), irbox200-4.ext (1.1), kkd18_4.ine (1.1), kkd27_5.ine (1.1), kkd38_6.ine (1.1), nonfull.ine (1.1), origin.ine (1.1), prodst62.ext (1.1), project1_m.ine (1.1), project1res.ine (1.1), project2_m.ine (1.1), project2res.ine (1.1), rcubocta.ine (1.1), redcheck.ext (1.1), reg24-5.ext (1.1), reg24-5.ine (1.1), reg600-5_m.ext (1.1), rhomtria_m.ine (1.1), sample.ine (1.1), sampleh1.ine (1.1), sampleh2.ine (1.1), sampleh3.ine (1.1), sampleh4.ine (1.1), sampleh5.ine (1.1), sampleh6.ine (1.1), sampleh7.ine (1.1), sampleh8.ine (1.1), samplev1.ext (1.1), samplev2.ext (1.1), samplev3.ext (1.1): Borrowed, with some minor changes, from cddlib 093c. 2004-07-11 Sunday 15:51 Roberto Bagnara * demos/ppl_lcdd/ppl_lcdd.cc (1.17): Append to the output file, instead of truncating it. 2004-07-11 Sunday 15:47 Roberto Bagnara * demos/ppl_lcdd/ppl_lcdd.cc (1.16): Error messages fixed. 2004-07-10 Saturday 19:27 Roberto Bagnara * demos/ppl_lcdd/ppl_lcdd.cc (1.15): Fixed the handling of equality constraints in read_polyhedron(). 2004-07-10 Saturday 17:46 Enea Zaffanella * demos/ppl_lcdd/ppl_lcdd.cc (1.14): Corrected input and output of H-representations (a couple of sign errors). When outputting rational coefficients, print 0 instead of 0/. 2004-07-10 Saturday 16:53 Enea Zaffanella * demos/ppl_lcdd/ppl_lcdd.cc (1.13): Bug fixed in function normalize(). 2004-07-10 Saturday 14:33 Roberto Bagnara * demos/ppl_lcdd/ppl_lcdd.cc (1.12): Initial implementation of the `project' command (which seems to be unimplemented in the real lcdd). 2004-07-10 Saturday 10:36 Roberto Bagnara * demos/ppl_lcdd/ppl_lcdd.cc (1.11): Started adding a new option to check the result. Bugs fixed in set_input() and set_output(). Reject the `linearity' command when it does not appear before `begin'. 2004-07-10 Saturday 01:05 Roberto Bagnara * demos/ppl_lcdd/ppl_lcdd.cc (1.10): Output made watertight. 2004-07-09 Friday 22:06 Roberto Bagnara * demos/ppl_lcdd/ppl_lcdd.cc (1.9): Several bugs fixed. Formal parameters tightened. 2004-07-09 Friday 21:38 Roberto Bagnara * demos/ppl_lcdd/ppl_lcdd.cc (1.8): Obey the `-o' option. 2004-07-09 Friday 21:33 Roberto Bagnara * demos/ppl_lcdd/ppl_lcdd.cc (1.7): Make sure every non-empty generator system we create has at least one point. 2004-07-09 Friday 18:40 Roberto Bagnara * demos/ppl_lcdd/ppl_lcdd.cc (1.6): Input made more robust. 2004-07-09 Friday 17:16 Roberto Bagnara * demos/ppl_lcdd/ppl_lcdd.cc (1.5): Make sure points are created with the right denominator. 2004-07-09 Friday 16:50 Roberto Bagnara * demos/ppl_lcdd/ppl_lcdd.cc (1.4): Bug fixed in write_polyhedron(). 2004-07-09 Friday 15:38 Roberto Bagnara * demos/ppl_lcdd/ppl_lcdd.cc (1.3): Input/output rewritten. 2004-07-09 Friday 09:50 Patricia M. Hill * interfaces/Prolog/pl_check.pl (1.81): Some reorganisation of test predicates to match order of tests. Improved handling of deletion of polyhedra in the exception tests. 2004-07-09 Friday 08:14 Roberto Bagnara * demos/ppl_lcdd/ppl_lcdd.cc (1.2): Started drafting the output function. Several other improvements. 2004-07-09 Friday 08:12 Roberto Bagnara * demos/.cvsignore (1.3): Put under CVS control. 2004-07-09 Friday 08:12 Roberto Bagnara * configure.ac (1.114), demos/.cvsignore (1.2), demos/Makefile.am (1.2), demos/ppl_lcdd.cc (1.2), demos/ppl_lcdd/.cvsignore (1.1), demos/ppl_lcdd/Makefile.am (1.1), demos/ppl_lcdd/ppl_lcdd.cc (1.1): The `ppl_lcdd' demo has now its own subdirectory. 2004-07-08 Thursday 16:50 Roberto Bagnara * Watchdog/Watchdog.cc (1.16): Spacing fixed. 2004-07-08 Thursday 16:48 Roberto Bagnara * configure.ac (1.113): Added checks for getopt.h and signal.h. Added demos/Makefile to the output list. 2004-07-08 Thursday 16:46 Roberto Bagnara * Makefile.am (1.24): Added `demos' to `SUBDIR'. 2004-07-08 Thursday 16:45 Roberto Bagnara * demos/: .cvsignore (1.1), Makefile.am (1.1), ppl_lcdd.cc (1.1): `ppl_lcdd' is a sort of clone of the cddlib test program `lcdd'. 2004-07-08 Thursday 16:40 Patricia M. Hill * interfaces/Prolog/Prolog_interface.dox (1.109): Brief descriptions of the new interface predicates are added. 2004-07-08 Thursday 12:44 Patricia M. Hill * interfaces/Prolog/Prolog_interface.dox (1.108): New Prolog interface predicates recently added have been added to the PPL Predicate List in the documentation for this interface. 2004-05-26 Wednesday 16:11 Roberto Bagnara * src/Polyhedron.defs.hh (1.228): Fixed examples involving ConSys::insert() and GenSys::insert(). 2004-05-26 Wednesday 16:10 Roberto Bagnara * NEWS (1.86): Mention the documentation improvements. 2004-05-21 Friday 22:44 Roberto Bagnara * configure.ac (1.112): Tests reordered so that an invalid combination of compiler options is detected earlier and diagnosed in an intelligible way. 2004-05-09 Sunday 17:15 Roberto Bagnara * Watchdog/Watchdog.cc (1.15): Anachronisms removed. 2004-05-09 Sunday 14:52 Roberto Bagnara * STANDARDS (1.11), src/Polyhedra_PowerSet.inlines.hh (1.31), src/Polyhedron_public.cc (1.21), src/Polyhedron_widenings.cc (1.17), src/simplify.cc (1.34), tests/bhrz03widening14.cc (1.5), tests/bhrz03widening15.cc (1.7): All other things being equal, always prefer preincrement and predecrement to postincrement and postdecrement. 2004-05-09 Sunday 12:21 Roberto Bagnara * src/Polyhedron_chdims.cc (1.9): Redundant test avoided. 2004-05-08 Saturday 15:10 Roberto Bagnara * src/: Matrix.cc (1.68), Matrix.defs.hh (1.56), Polyhedron.inlines.hh (1.90): New declaration and implementation of Matrix::permute_columns(). Implementation of Polyhedron::map_dimensions() improved. 2004-05-08 Saturday 14:12 Roberto Bagnara * interfaces/Prolog/XSB/Makefile.am (1.21): Missing dependency added. 2004-05-07 Friday 21:59 Roberto Bagnara * interfaces/Prolog/XSB/xsb_pl_check.P (1.7): Code reordered. 2004-05-07 Friday 21:59 Roberto Bagnara * interfaces/Prolog/XSB/ppl_xsb.cc (1.51): Integer_to_integer_term() fixed. 2004-05-07 Friday 21:29 Roberto Bagnara * interfaces/Prolog/Ciao/.cvsignore (1.5): Updated. 2004-05-07 Friday 19:55 Roberto Bagnara * interfaces/Prolog/XSB/xsb_pl_check.P (1.6): Small improvement to a comment. 2004-05-07 Friday 19:54 Roberto Bagnara * interfaces/Prolog/XSB/xsb_pl_check.P (1.5): Kludge to to test the Prolog interface exceptions when converting PPL integers to XSB Prolog integer terms. 2004-05-07 Friday 19:44 Enea Zaffanella * src/: BHRZ03_Certificate.cc (1.1), BHRZ03_Certificate.defs.hh (1.1), BHRZ03_Certificate.inlines.hh (1.1), BHRZ03_Certificate.types.hh (1.1): Put under CVS control. 2004-05-07 Friday 19:43 Enea Zaffanella * src/: Makefile.am (1.70), Polyhedron.defs.hh (1.227), Polyhedron_widenings.cc (1.16): Changed to use the new BHRZ03_Certificate class. Current implementation for NNC polyhedra is an inefficient kludge, but should be correct. It will become efficient as soon as we implement lazy procedures for eps-minimization of NNC polyhedra. 2004-05-07 Friday 19:04 Roberto Bagnara * interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.20): Avoid code duplication: Integer_to_integer_term() now uses Prolog_put_long(). 2004-05-07 Friday 18:55 Roberto Bagnara * interfaces/Prolog/: GNU/.cvsignore (1.5), SICStus/.cvsignore (1.5), SWI/.cvsignore (1.5), XSB/.cvsignore (1.4), YAP/.cvsignore (1.5): Updated. 2004-05-07 Friday 18:52 Roberto Bagnara * interfaces/Prolog/Ciao/fake_main.pl (1.2): This is not necessary with new versions of Ciao Prolog. 2004-05-07 Friday 18:39 Roberto Bagnara * interfaces/Prolog/Ciao/Makefile.am (1.27): The previous change did not take into account that `ciaoc' always writes the object file in the same directory where the sources reside. Copies restored, but now the copies are written in the right place. 2004-05-07 Friday 18:00 Roberto Bagnara * interfaces/C/.cvsignore (1.3), src/.cvsignore (1.7), tests/.cvsignore (1.8): Updated. 2004-05-07 Friday 17:42 Roberto Bagnara * interfaces/Prolog/Ciao/: Makefile.am (1.26), ciao_clpq.pl (1.9), ciao_clpq2.pl (1.4), ciao_pl_check.pl (1.2): New versions of Ciao Prolog no longer require the sources to be copied. 2004-05-07 Friday 11:32 Roberto Bagnara * interfaces/Prolog/: Ciao/Makefile.am (1.25), SICStus/Makefile.am (1.41), SWI/Makefile.am (1.34): Clean things up after `make check'. 2004-05-07 Friday 10:55 Patricia M. Hill * interfaces/Prolog/pl_check.pl (1.80): Additional tests for system dependent exceptions when the integer values are max, max+1, min, or min-1. 2004-05-07 Friday 10:42 Patricia M. Hill * interfaces/Prolog/pl_check.pl (1.79): More and improved tests for exceptions. Code better commented and additional predicates for i/o etc reorganised. 2004-05-07 Friday 10:38 Patricia M. Hill * interfaces/Prolog/XSB/xsb_pl_check.P (1.4): Corrected typo. 2004-05-07 Friday 10:21 Patricia M. Hill * interfaces/Prolog/XSB/xsb_pl_check.P (1.3): Added a definition for current_prolog_flag/3. 2004-05-07 Friday 09:57 Roberto Bagnara * interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.19): Integer_to_integer_term() fixed. 2004-05-06 Thursday 10:37 Patricia M. Hill * interfaces/Prolog/pl_check.pl (1.78): More tests for ppl Prolog interface exceptions added. 2004-05-05 Wednesday 15:34 Roberto Bagnara * interfaces/Prolog/SWI/: Makefile.am (1.33), swi_pl_check.pl (1.1): Use also pl_check.pl to test the SWI-Prolog interface. 2004-05-05 Wednesday 15:31 Roberto Bagnara * interfaces/Prolog/SICStus/: Makefile.am (1.40), sp_pl_check.pl (1.1): Use also pl_check.pl to test the SICStus-Prolog interface. 2004-05-05 Wednesday 15:28 Roberto Bagnara * interfaces/Prolog/Ciao/: Makefile.am (1.24), ciao_pl_check.pl (1.1): Use also pl_check.pl to test the Ciao-Prolog interface. 2004-05-05 Wednesday 10:14 Patricia M. Hill * interfaces/Prolog/pl_check.pl (1.77): Comment added explaining new code for exceptions tests 2004-05-05 Wednesday 10:00 Patricia M. Hill * interfaces/Prolog/pl_check.pl (1.76): New tests for checking some possible exceptions in the C++ and Prolog interface added. 2004-05-04 Tuesday 21:55 Roberto Bagnara * src/Polyhedron.defs.hh (1.226): Documentation for Polyhedron::expand_dimension() improved. New method void Polyhedron::void fold_dimensions(const Variables_Set& to_be_folded, Variable var) declared: documentation still to be written. 2004-05-04 Tuesday 21:43 Roberto Bagnara * doc/definitions.dox (1.128), src/Polyhedron.defs.hh (1.225): New declaration and documentation for void Polyhedron::expand_dimension(Variable var, dimension_type m). 2004-05-04 Tuesday 15:31 Roberto Bagnara * doc/definitions.dox (1.127): Added a section on the new `expand_dimension' operation. 2004-05-04 Tuesday 15:01 Roberto Bagnara * doc/definitions.dox (1.126): Additions to the bibliography. 2004-05-04 Tuesday 14:07 Roberto Bagnara * doc/definitions.dox (1.125): Definition of `map_dimensions' improved. 2004-04-30 Friday 21:58 Roberto Bagnara * interfaces/Prolog/: exceptions.hh (1.11), ppl_prolog.icc (1.128), Ciao/ppl_ciao.cc (1.23), GNU/ppl_gprolog_sd.cc (1.18), SICStus/ppl_sicstus_sd.cc (1.60), SWI/ppl_swiprolog.cc (1.85), XSB/ppl_xsb.cc (1.50), YAP/ppl_yap.cc (1.78): Deal with different representations for integers in Prolog and C++ code. 2004-04-30 Friday 19:37 Roberto Bagnara * interfaces/C/ppl_c.cc (1.104): Handle std::overflow_error. 2004-04-30 Friday 17:39 Roberto Bagnara * interfaces/C/: ppl_c.cc (1.103), ppl_c.h.in (1.27): Missing try/catch blocks added. Interface changed for ppl_version_major(), ppl_version_minor(), ppl_version_revision(), ppl_version_beta(), ppl_version() and ppl_banner(). 2004-04-30 Friday 16:28 Roberto Bagnara * interfaces/C/ppl_c.cc (1.102): CATCH_ALL fixed: was translating std::exception to PPL_ERROR_INTERNAL_ERROR instead of PPL_ERROR_UNKNOWN_STANDARD_EXCEPTION. 2004-04-27 Tuesday 14:29 Roberto Bagnara * configure.ac (1.111), interfaces/OCaml/.cvsignore (1.3), interfaces/OCaml/Makefile.am (1.8), interfaces/OCaml/gmp.h (1.2), interfaces/OCaml/ppl_ocaml_c.swg (1.3): Our OCaml interface will not be based on SWIG. 2004-04-26 Monday 23:06 Roberto Bagnara * interfaces/Prolog/YAP/yap_pl_check.pl (1.5): Previous change reverted. 2004-04-26 Monday 22:42 Patricia M. Hill * interfaces/Prolog/YAP/yap_pl_check.pl (1.4): Paths to pl_check.pl and yap_pl_check.pl need to allow for working in a separate build directory. 2004-04-26 Monday 22:41 Patricia M. Hill * interfaces/Prolog/pl_check.pl (1.75): Bug fixed in "format_banner" code. Definitions of "make_noisy" and "make_quiet" corrected. Added a new top-level predicate "check_noisy/0" since "check_all" is now forced to be quiet. A redundant temporary test removed. 2004-04-26 Monday 22:36 Patricia M. Hill * interfaces/Prolog/ppl_prolog.icc (1.127): Removed unwanted line in ..._relations_with_constraints procedure. Modified .._relations_with_generator procedure to be in line with changes to ..._relations_with_constraints procedure. 2004-04-26 Monday 17:56 Roberto Bagnara * interfaces/Prolog/ppl_prolog.icc (1.126): Do not call any Prolog_put_*() function on a destination term that does not represent a free variable. 2004-04-26 Monday 17:53 Roberto Bagnara * interfaces/Prolog/XSB/Makefile.am (1.20): Infrastructure for automatic testing with pl_check.pl completed. 2004-04-26 Monday 17:37 Roberto Bagnara * interfaces/Prolog/XSB/xsb_pl_check.P (1.2): Initial goal fixed. 2004-04-26 Monday 15:08 Roberto Bagnara * interfaces/Prolog/XSB/: Makefile.am (1.19), xsb_pl_check.P (1.1): Use also pl_check.pl when testing the XSB interface. 2004-04-26 Monday 15:07 Roberto Bagnara * interfaces/Prolog/XSB/ppl_xsb.cc (1.49): Some assertion fixed: we cannot assume XSB's TRUE evaluates to C++'s true. 2004-04-26 Monday 14:56 Roberto Bagnara * interfaces/Prolog/pl_check.pl (1.74): A predicate is either static or dynamic (noisy/1). The predicate retractall/1 is non-standard: do not use it. 2004-04-25 Sunday 22:41 Roberto Bagnara * interfaces/Prolog/: exceptions.hh (1.10), ppl_prolog.icc (1.125): New error handling code completed. 2004-04-25 Sunday 22:13 Roberto Bagnara * depcomp (1.7), install-sh (1.8), mkinstalldirs (1.7), Watchdog/depcomp (1.5), Watchdog/install-sh (1.5), Watchdog/mkinstalldirs (1.3): Updated from Automake 1.8.4. 2004-04-25 Sunday 22:12 Roberto Bagnara * interfaces/Prolog/ppl_prolog.icc (1.124): Previous changes reverted. Rewritten a good part of the error handling code. Several bugs fixed. 2004-04-25 Sunday 22:07 Roberto Bagnara * interfaces/Prolog/exceptions.hh (1.9): Exception classes revised. 2004-04-25 Sunday 22:06 Roberto Bagnara * interfaces/Prolog/SWI/ppl_swiprolog.cc (1.84): Prolog_put_long() and Integer_to_integer_term() implemented properly. Added Prolog_put_ulong(). 2004-04-25 Sunday 22:04 Roberto Bagnara * interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.59): The wrong exception was thrown by integer_term_to_Integer(): fixed. 2004-04-25 Sunday 22:03 Roberto Bagnara * interfaces/Prolog/SICStus/sicstus_cfli.ic (1.8): Added Prolog_put_ulong(). 2004-04-25 Sunday 22:01 Roberto Bagnara * interfaces/Prolog/XSB/ppl_xsb.cc (1.48): Added a temporary, buggy version of Prolog_put_ulong(). All the XSB c2p_*() functions require that the second argument is an unbound variable: assertions added to check that we abide by this rule. 2004-04-25 Sunday 21:58 Roberto Bagnara * interfaces/Prolog/: Ciao/ppl_ciao.cc (1.22), GNU/ppl_gprolog_sd.cc (1.17), YAP/ppl_yap.cc (1.77): Added a temporary, buggy version of Prolog_put_ulong(). 2004-04-25 Sunday 21:53 Roberto Bagnara * interfaces/Prolog/pl_check.pl (1.73): Previous changes reverted. 2004-04-25 Sunday 11:14 Patricia M. Hill * interfaces/Prolog/: pl_check.pl (1.72), ppl_prolog.icc (1.123): Bug in an interface predicate (ppl_Polyhedron_relation_with_constraints) that only caused an error with the XSB interface now fixed. pl_check revised to avoid warning messages with XSB compiler. 2004-04-24 Saturday 23:39 Roberto Bagnara * interfaces/Prolog/SWI/ppl_swiprolog.cc (1.83): SWI Prolog does not support unlimited precision integers. 2004-04-24 Saturday 15:04 Roberto Bagnara * tests/memory1.cc (1.21): If GMP does not support exceptions this test is pointless. 2004-04-24 Saturday 15:04 Roberto Bagnara * TODO (1.69): Flags for ICC changed. 2004-04-24 Saturday 14:54 Roberto Bagnara * interfaces/Prolog/GNU/Makefile.am (1.34): Use the C++ compiler to compile and link. Do not mention -lstcd++. 2004-04-24 Saturday 10:57 Roberto Bagnara * interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.16): Work around gprolog.h namespace pollution. 2004-04-24 Saturday 10:56 Roberto Bagnara * interfaces/Prolog/ppl_prolog.icc (1.122): Include "max_space_dimension.hh". 2004-04-24 Saturday 10:52 Roberto Bagnara * interfaces/C/ppl_c.cc (1.101): Include "max_space_dimension.hh". 2004-04-24 Saturday 10:51 Roberto Bagnara * NEWS (1.85): Explain the changes concerning the max_space_dimension() functions. 2004-04-24 Saturday 10:46 Roberto Bagnara * src/: C_Polyhedron.inlines.hh (1.16), max_space_dimension.hh (1.2): C_Polyhedron::max_space_dimension() fixed. 2004-04-24 Saturday 10:04 Roberto Bagnara * src/: GenSys.defs.hh (1.95), GenSys.inlines.hh (1.33): New function GenSys::max_space_dimension(). 2004-04-24 Saturday 10:04 Roberto Bagnara * src/: ConSys.defs.hh (1.82), ConSys.inlines.hh (1.32): New function ConSys::max_space_dimension(). 2004-04-24 Saturday 09:56 Roberto Bagnara * src/Row.inlines.hh (1.44): Spurious newline removed. 2004-04-24 Saturday 09:55 Roberto Bagnara * src/: Matrix.defs.hh (1.55), Matrix.inlines.hh (1.37): New functions Matrix::max_num_rows() and Matrix::max_num_columns(). 2004-04-24 Saturday 09:52 Roberto Bagnara * src/: Row.defs.hh (1.77), Row.inlines.hh (1.43): New functions Row::Impl::max_size() and Row::max_size(). 2004-04-24 Saturday 08:49 Roberto Bagnara * src/: C_Polyhedron.defs.hh (1.21), C_Polyhedron.inlines.hh (1.15), Makefile.am (1.69), NNC_Polyhedron.defs.hh (1.24), NNC_Polyhedron.inlines.hh (1.17), Polyhedra_PowerSet.defs.hh (1.20), Polyhedra_PowerSet.inlines.hh (1.30), Polyhedron.defs.hh (1.224), algorithms.hh (1.27), globals.hh (1.35), max_space_dimension.hh (1.1): The function Parma_Polyhedra_Library::max_space_dimension() has been given a new semantics and destiny: it returns the maximum space dimension that _all_ the abstractions provided by the library can handle. Each individual abstraction provides its versions of this function. Thus, e.g., NNC_Polyhedron::max_space_dimension() gives the maximum space dimensions an NNC_Polyhedron can handle. 2004-04-24 Saturday 08:31 Roberto Bagnara * src/: Interval.inlines.hh (1.12), Topology.hh (1.9), initializer.hh (1.8): Comment added. 2004-04-24 Saturday 00:33 Roberto Bagnara * interfaces/Prolog/SWI/Makefile.am (1.32): Pass the C and C++ compilers to plld. 2004-04-23 Friday 18:23 Patricia M. Hill * interfaces/Prolog/: pl_check.pl (1.71), ppl_prolog.icc (1.121), Ciao/ppl_ciao.pl (1.64), GNU/ppl_gprolog.pl (1.43), SICStus/ppl_sicstus_sd.cc (1.58), SWI/ppl_swiprolog.cc (1.82), XSB/ppl_xsb.H (1.30), XSB/ppl_xsb.cc (1.47), YAP/ppl_yap.cc (1.76): Minimize and maximize with generator point predicates added. 2004-04-23 Friday 16:10 Patricia M. Hill * interfaces/Prolog/Ciao/ppl_ciao.pl (1.63): Interface definitions for the banner predicate corrected. 2004-04-23 Friday 15:07 Roberto Bagnara * interfaces/Prolog/XSB/ppl_xsb.cc (1.46): Temporary, kludgy definitions for `bool Prolog_has_unbounded_integers' and `long Prolog_max_integer'. Comments added. 2004-04-23 Friday 14:58 Roberto Bagnara * interfaces/Prolog/: Ciao/ppl_ciao.cc (1.21), GNU/ppl_gprolog_sd.cc (1.15), SICStus/ppl_sicstus_sd.cc (1.57), SWI/ppl_swiprolog.cc (1.81), YAP/ppl_yap.cc (1.75): Define `bool Prolog_has_unbounded_integers' and `long Prolog_max_integer'. Comments added. 2004-04-23 Friday 11:16 Patricia M. Hill * interfaces/Prolog/: pl_check.pl (1.70), ppl_prolog.icc (1.120), Ciao/ppl_ciao.pl (1.62), GNU/ppl_gprolog.pl (1.42), SICStus/ppl_sicstus_sd.cc (1.56), SWI/ppl_swiprolog.cc (1.80), XSB/ppl_xsb.H (1.29), XSB/ppl_xsb.cc (1.45), YAP/ppl_yap.cc (1.74): ppl_banner added. pl_check revised so that check_all calls for checks on all recently added predicates. 2004-04-23 Friday 09:44 Roberto Bagnara * interfaces/Prolog/: ppl_prolog.icc (1.119), Ciao/Makefile.am (1.23), GNU/Makefile.am (1.33), SICStus/Makefile.am (1.39), SWI/Makefile.am (1.31), XSB/Makefile.am (1.18), YAP/Makefile.am (1.25): Follow our programming conventions concerning code formatting. Do not include "version.hh.in": include "version.hh" instead. 2004-04-23 Friday 07:38 Patricia M. Hill * interfaces/Prolog/Ciao/ppl_ciao.pl (1.61): Ciao interface for the additional ppl predicates corrected. 2004-04-22 Thursday 12:35 Patricia M. Hill * interfaces/Prolog/: pl_check.pl (1.69), ppl_prolog.icc (1.118), Ciao/ppl_ciao.pl (1.60), GNU/ppl_gprolog.pl (1.41), SICStus/ppl_sicstus_sd.cc (1.55), SWI/ppl_swiprolog.cc (1.79), XSB/ppl_xsb.H (1.28), XSB/ppl_xsb.cc (1.44), YAP/ppl_yap.cc (1.73): Added version predicates and maximum dimension predicate. 2004-04-22 Thursday 07:51 Patricia M. Hill * interfaces/Prolog/: pl_check.pl (1.68), ppl_prolog.icc (1.117), Ciao/ppl_ciao.pl (1.59), GNU/ppl_gprolog.pl (1.40), SICStus/ppl_sicstus_sd.cc (1.54), SWI/ppl_swiprolog.cc (1.78), XSB/ppl_xsb.H (1.27), XSB/ppl_xsb.cc (1.43), YAP/ppl_yap.cc (1.72): Added predicates ppl_Polyhedron_maximize/5 and ppl_Polyhedron_minimize/5. A second version of the same predicates with 6 arguments is still needed. 2004-04-21 Wednesday 15:26 Roberto Bagnara * tests/: exceptions1.cc (1.37), exceptions2.cc (1.31): We were not flagging as errors the cases where an exception that must be thrown is not thrown. 2004-04-21 Wednesday 14:53 Roberto Bagnara * TODO (1.68): Remember to explain how to use the Intel C/C++ compiler. 2004-04-21 Wednesday 14:52 Roberto Bagnara * tests/: Makefile.am (1.195), exceptions3.cc (1.1): New test program: this shows that we are not checking against attempts of building polyhedra with a dimension greater than max_space_dimension() (which results in violated assertions and who knows what other nasty things). 2004-04-21 Wednesday 14:47 Roberto Bagnara * tests/: exceptions1.cc (1.36), exceptions2.cc (1.30): Comment improved. 2004-04-21 Wednesday 10:11 Roberto Bagnara * tests/: bgp99extrapolation1.cc (1.3), bhz03widening1.cc (1.4), bhz03widening2.cc (1.4), dualhypercubes.cc (1.4): Avoid defining things in the global namespace. 2004-04-21 Wednesday 08:33 Roberto Bagnara * src/algorithms.hh (1.26): The function check_containment(const PH&, const Polyhedra_PowerSet&s) is now declared before being defined. 2004-04-21 Wednesday 08:17 Roberto Bagnara * interfaces/C/ppl_c.cc (1.100): Use the `%u' conversion specifier (not `%d') for the conversion of an object of type ppl_dimension_type. 2004-04-21 Wednesday 08:13 Roberto Bagnara * interfaces/C/ppl_c.h.in (1.26): Unused SWIG stuff removed. 2004-04-19 Monday 14:29 Roberto Bagnara * src/Matrix.cc (1.67): Fixed Matrix::permute_columns(). 2004-04-19 Monday 14:24 Roberto Bagnara * src/Polyhedron.inlines.hh (1.89): Avoid useless parentheses. 2004-04-19 Monday 14:22 Roberto Bagnara * tests/: Makefile.am (1.194), mapdim3.cc (1.1): New test for Polyhedron::map_dimensions(). 2004-04-19 Monday 08:35 Roberto Bagnara * src/Polyhedron.inlines.hh (1.88): Comment improved. 2004-04-19 Monday 08:27 Roberto Bagnara * tests/mapdim2.cc (1.2): Add some variety in the tested conditions. 2004-04-19 Monday 08:26 Roberto Bagnara * NEWS (1.84), src/Polyhedron.inlines.hh (1.87): The method Polyhedron::map_dimensions(const PartialFunction& pfunc) has been significantly optimized for the case when `pfunc' is a permutation. A simple "renaming" of the dimensions is now extremely cheap. 2004-04-18 Sunday 21:26 Roberto Bagnara * src/: Matrix.cc (1.66), Matrix.defs.hh (1.54): Added Matrix::permute_columns(). 2004-04-18 Sunday 13:29 Roberto Bagnara * src/Polyhedron_nonpublic.cc (1.18): Spacing fixes in comments. 2004-04-18 Sunday 13:20 Roberto Bagnara * src/Polyhedron_public.cc (1.20): Two messages fixed in Polyhedron::OK(). 2004-04-17 Saturday 23:48 Roberto Bagnara * src/Matrix.cc (1.65): Matrix::swap_columns() improved. Be consistent in variable names. 2004-04-17 Saturday 20:04 Roberto Bagnara * src/Row.defs.hh (1.76): Mathematical objects whose name is more than one character long are typeset in Roman. 2004-04-17 Saturday 19:58 Roberto Bagnara * doc/definitions.dox (1.124): Mathematical objects whose name is more than one character long are typeset in Roman. Fixed two other font mistakes. 2004-04-17 Saturday 16:27 Roberto Bagnara * tests/Makefile.am (1.193): Put more things in the convenience library `libppl_tests'. 2004-04-17 Saturday 15:54 Roberto Bagnara * tests/: Makefile.am (1.192), mapdim2.cc (1.1): New test for Polyhedron::map_dimensions(). 2004-04-16 Friday 16:41 Roberto Bagnara * tests/: Makefile.am (1.191), boundedh79extrapolation1.cc (1.1): Test Polyhedron::bounded_H79_extrapolation_assign(). 2004-04-06 Tuesday 21:38 Roberto Bagnara * config.guess (1.22), config.sub (1.21), ltmain.sh (1.18), Watchdog/config.guess (1.6), Watchdog/config.sub (1.6), Watchdog/ltmain.sh (1.7): Updated from libtool-1.5.4. 2004-03-06 Saturday 09:04 Roberto Bagnara * TODO (1.67), src/ConSys.defs.hh (1.81), src/GenSys.defs.hh (1.94), src/LinExpression.defs.hh (1.63), src/Matrix.defs.hh (1.53): Matrix::ascii_dump(), Matrix::ascii_load(), LinExpression::~LinExpression(), Matrix::~Matrix(), ConSys::~ConSys(), GenSys::~GenSys() and ConSys::const_iterator::~const_iterator() are no longer virtual. 2004-03-04 Thursday 07:45 Roberto Bagnara * src/Constraint.defs.hh (1.86): Constraint::Constraint(LinExpression& e) made explicit. 2004-02-25 Wednesday 17:59 Roberto Bagnara * TODO (1.66): Added a (monster) configure command line to compile with Comeau C/C++ compiler. 2004-02-25 Wednesday 14:11 Roberto Bagnara * TODO (1.65): Started adding instructions on how to compile with other C++ compilers. 2004-02-24 Tuesday 19:02 Roberto Bagnara * interfaces/C/ppl_c.h.in (1.25): Fixed the comments for ppl_Polyhedron_minimize() and ppl_Polyhedron_maximize(). 2004-02-22 Sunday 18:06 Roberto Bagnara * src/: AskTell.defs.hh (1.20), AskTell.inlines.hh (1.21): AskTell::add_constraints() now takes a ConSys by const reference. 2004-02-22 Sunday 18:02 Roberto Bagnara * src/Polyhedra_PowerSet.inlines.hh (1.29): Avoid making unnecessary copies. 2004-02-22 Sunday 17:59 Roberto Bagnara * src/: Polyhedron_public.cc (1.19), Polyhedron_widenings.cc (1.15): Use the add_recycled_*() methods whenever necessary or desirable. 2004-02-22 Sunday 17:55 Roberto Bagnara * src/: C_Polyhedron.cc (1.8), NNC_Polyhedron.cc (1.12), Polyhedra_PowerSet.inlines.hh (1.28), Polyhedron_public.cc (1.18), Polyhedron_widenings.cc (1.14): Use the add_recycled_*() methods whenever necessary or desirable. 2004-02-22 Sunday 17:31 Roberto Bagnara * interfaces/C/ppl_c.cc (1.99): The function snprintf() is not in standard C++: use sprintf() instead, but play safely anyway. 2004-02-22 Sunday 16:43 Roberto Bagnara * interfaces/C/ppl_c.h.in (1.24): Non-standard trailing comma removed from enumeration. 2004-02-22 Sunday 16:42 Roberto Bagnara * interfaces/C/ppl_c.cc (1.98): Meaningless type qualifiers removed. 2004-02-22 Sunday 16:34 Roberto Bagnara * NEWS (1.83), TODO (1.64), interfaces/C/ppl_c.cc (1.97), interfaces/C/ppl_c.h.in (1.23), src/Polyhedron.defs.hh (1.223), src/Polyhedron_public.cc (1.17): The methods void Polyhedron::add_constraints(ConSys& cs), void Polyhedron::add_generators(GenSys& gs), bool Polyhedron::add_constraints_and_minimize(ConSys& cs), and bool Polyhedron::add_generators_and_minimize(GenSys& gs) have been renamed void Polyhedron::add_recycled_constraints(ConSys& cs), void Polyhedron::add_recycled_generators(GenSys& gs), bool Polyhedron::add_recycled_constraints_and_minimize(ConSys& cs), and bool Polyhedron::add_recycled_generators_and_minimize(GenSys& gs), respectively. At the same time, the methods void Polyhedron::add_constraints(const ConSys& cs), void Polyhedron::add_generators(const GenSys& gs), bool Polyhedron::add_constraints_and_minimize(const ConSys& cs), and bool Polyhedron::add_generators_and_minimize(const GenSys& gs) have been added. Corresponding changes have been made to the C interface. 2004-02-22 Sunday 15:43 Roberto Bagnara * config.rpath (1.2): Support Comeau's C/C++ compiler. 2004-02-16 Monday 18:35 Roberto Bagnara * src/Row.defs.hh (1.75): Comments fixed. 2004-02-12 Thursday 15:18 Roberto Bagnara * src/: Matrix.defs.hh (1.52), Matrix.inlines.hh (1.36): Do not put code into files named *.defs.hh. 2004-02-09 Monday 08:54 Roberto Bagnara * src/Polyhedra_PowerSet.inlines.hh (1.27): All names that are not dependent on template parameters are bound to their present definitions when parsing a template function or class: make sure elements of the base class are correctly referred to. 2004-02-08 Sunday 21:20 Roberto Bagnara * configure.ac (1.110): Fixed some error messages. 2004-02-08 Sunday 21:17 Roberto Bagnara * src/AskTell.inlines.hh (1.20): Missing `typename' added. 2004-02-06 Friday 11:05 Roberto Bagnara * configure.ac (1.109): Disable the interface/OCaml directory, for the time being. 2004-02-05 Thursday 22:57 Roberto Bagnara * interfaces/Makefile.am (1.9): Ignore the OCaml subdirectory, for the time being. 2004-02-05 Thursday 22:23 Roberto Bagnara * configure.ac (1.108): Version number bumped. 2004-02-05 Thursday 21:57 Roberto Bagnara * interfaces/C/ppl_c.cc (1.96): Output functions fixed. 2004-02-05 Thursday 21:30 Roberto Bagnara * interfaces/C/: ppl_c.cc (1.95), ppl_c.h.in (1.22): New functions ppl_io_print_variable() and ppl_io_fprint_variable(). 2004-02-05 Thursday 21:08 Roberto Bagnara * NEWS (1.82), interfaces/C/ppl_c.cc (1.94), src/Variable.cc (1.16), src/Variable.defs.hh (1.36), src/Variable.inlines.hh (1.18), tests/writevariable1.cc (1.10): Variable::Output_Function_Type renamed Variable::output_function_type. 2004-02-05 Thursday 20:51 Roberto Bagnara * interfaces/C/ppl_c.cc (1.93): cxx_Variable_output_function() partly fixed. 2004-02-05 Thursday 20:50 Roberto Bagnara * src/Variable.defs.hh (1.35): Comment corrected. 2004-02-05 Thursday 20:46 Roberto Bagnara * interfaces/C/: ppl_c.cc (1.92), ppl_c.h.in (1.21): New functions ppl_io_set_variable_output_function() and ppl_io_get_variable_output_function(). 2004-02-05 Thursday 19:33 Roberto Bagnara * interfaces/C/ppl_c.cc (1.91): Implemented most of the machinery allowing the user to select its preferred output function for Variable objects, 2004-02-05 Thursday 16:13 Roberto Bagnara * interfaces/C/ppl_c.h.in (1.20): Make Doxygen comments uniformly brief. 2004-02-05 Thursday 15:46 Roberto Bagnara * interfaces/OCaml/Makefile.am (1.7): Add `-I../C' to libppl_ocaml_c_la_CPPFLAGS. 2004-02-05 Thursday 14:52 Roberto Bagnara * interfaces/C/: ppl_c.cc (1.90), ppl_c.h.in (1.19): Documentation improvements. 2004-02-05 Thursday 14:49 Roberto Bagnara * doc/: user-browse.doxyconf-latex.in (1.19), user-print.doxyconf-latex.in (1.19), user.doxyconf-html.in (1.21): Add PPL_DECLARE_PRINT_FUNCTIONS to EXPAND_AS_DEFINED. 2004-02-05 Thursday 14:23 Roberto Bagnara * interfaces/C/ppl_c.h.in (1.18): Make sure not to leave unnecessary preprocessor symbols behind. 2004-02-05 Thursday 14:18 Roberto Bagnara * interfaces/C/: ppl_c.cc (1.89), ppl_c.h.in (1.17): A first, tentative implementation of the new print functions. New error codes PPL_STDIO_ERROR and PPL_ARITHMETIC_OVERFLOW. 2004-02-05 Thursday 09:30 Roberto Bagnara * interfaces/C/ppl_c.h.in (1.16): Added a kludge to make the documentation on how to use the C interface easier to find. 2004-02-04 Wednesday 18:47 Roberto Bagnara * interfaces/C/ppl_c.h.in (1.15): A couple of corrections to the usage instructions. 2004-02-04 Wednesday 18:25 Patricia M. Hill * interfaces/C/ppl_c.h.in (1.14): Corrections to the explanation on using the C interface done. 2004-02-04 Wednesday 18:03 Roberto Bagnara * interfaces/C/ppl_c.h.in (1.13): Two minor fixes. 2004-02-04 Wednesday 16:01 Patricia M. Hill * interfaces/C/ppl_c.h.in (1.12): The comment on how to use the C interface revised. 2004-02-04 Wednesday 14:59 Roberto Bagnara * interfaces/C/ppl_c.h.in (1.11): Documentation on how to use the C interface finished (for the time being, at least). 2004-02-04 Wednesday 14:40 Roberto Bagnara * interfaces/C/ppl_c.h.in (1.10): Finished the section on linking. 2004-02-04 Wednesday 12:01 Roberto Bagnara * interfaces/C/ppl_c.h.in (1.9): Started explaining how to link. 2004-02-04 Wednesday 11:45 Roberto Bagnara * interfaces/C/ppl_c.h.in (1.8): Better explained how to use the -I (or similar) compiler option. 2004-02-04 Wednesday 11:28 Roberto Bagnara * interfaces/C/ppl_c.h.in (1.7): Finished dealing with version checking. 2004-02-03 Tuesday 22:29 Roberto Bagnara * interfaces/C/ppl_c.h.in (1.6): Fix thinko in Doxygen's comments. 2004-02-03 Tuesday 22:17 Roberto Bagnara * src/version.cc (1.4): Put new functions into the PPL namespace. 2004-02-03 Tuesday 22:17 Roberto Bagnara * interfaces/C/: ppl_c.cc (1.88), ppl_c.h.in (1.5): New functions: ppl_version_major(), ppl_version_minor(), ppl_version_revision(), and ppl_version_beta(). 2004-02-03 Tuesday 22:07 Roberto Bagnara * src/: version.cc (1.3), version.hh.in (1.7): New functions: version_major(), version_minor(), version_revision(), and version_beta(). 2004-02-03 Tuesday 14:55 Roberto Bagnara * configure.ac (1.107): Some vertical space added. 2004-02-03 Tuesday 14:53 Roberto Bagnara * interfaces/C/ppl_c.h.in (1.4): New macro PPL_VERSION added. 2004-02-03 Tuesday 10:25 Roberto Bagnara * interfaces/C/ppl_c.h.in (1.3): Started dealing with version checking. 2004-02-03 Tuesday 09:52 Roberto Bagnara * interfaces/C/: Makefile.am (1.16), ppl_c.cc (1.87), ppl_c.h.in (1.2): New C interface functions ppl_version() and ppl_banner(). 2004-02-03 Tuesday 09:52 Roberto Bagnara * src/version.hh.in (1.6): Tell emacs that this is C++. 2004-02-03 Tuesday 09:14 Roberto Bagnara * configure.ac (1.106), doc/Makefile.am (1.25), doc/devref-browse.doxyconf-latex.in (1.35), doc/devref-print.doxyconf-latex.in (1.35), doc/devref.doxyconf-html.in (1.36), doc/user-browse.doxyconf-latex.in (1.18), doc/user-print.doxyconf-latex.in (1.18), doc/user.doxyconf-html.in (1.20), interfaces/C/ppl_c.h (1.100), interfaces/C/ppl_c.h.in (1.1), interfaces/OCaml/Makefile.am (1.6): The C interface's header file `ppl_c.h' is now generated at configuration time from `ppl_c.h.in' so as to carry the proper version information. 2004-02-02 Monday 18:38 Roberto Bagnara * interfaces/C/: ppl_c.cc (1.86), ppl_c.h (1.99): Now ppl_initialize() and ppl_finalize() return PPL_ERROR_INVALID_ARGUMENT if called when they should not. 2004-02-02 Monday 14:11 Roberto Bagnara * interfaces/C/ppl_c.h (1.98): Explain initialization and finalization in the C interface. 2004-02-02 Monday 08:46 Roberto Bagnara * interfaces/C/ppl_c.h (1.97): Explained what to do in case `#include ' seems not to work. Explained what opaque data types are and why we use them. 2004-02-01 Sunday 22:10 Roberto Bagnara * interfaces/C/ppl_c.h (1.96): Explain the usage of the header file for the C interface and its name space. 2004-02-01 Sunday 10:11 Roberto Bagnara * doc/: gpl.dox (1.6), gpl.tex (1.2): Avoid excessive capitalization. 2004-02-01 Sunday 09:30 Roberto Bagnara * doc/: devref.tex (1.13), fdl.dox (1.6), fdl.tex (1.2), user.tex (1.14): The documentation is now distributed under the terms of version 1.2 of the GNU Free Documentation License. 2004-01-28 Wednesday 18:02 Roberto Bagnara * interfaces/OCaml/.cvsignore (1.2): Updated. 2004-01-28 Wednesday 18:01 Roberto Bagnara * interfaces/OCaml/Makefile.am (1.5): Seriously hacked so that files are created in the right places. 2004-01-28 Wednesday 17:58 Roberto Bagnara * interfaces/OCaml/gmp.h (1.1): Hacked version of the main C header file of GMP 4.1.2. This is to get around some bugs and limitations of SWIG 1.3.21. 2004-01-28 Wednesday 09:08 Roberto Bagnara * Watchdog/Makefile.am (1.8), Watchdog/README (1.6), Watchdog/Watchdog.cc (1.14), Watchdog/Watchdog.defs.hh (1.12), Watchdog/Watchdog.inlines.hh (1.10), Watchdog/Watchdog.types.hh (1.5), Watchdog/configure.ac (1.19), Watchdog/pwl_header.top (1.4), doc/devref.tex (1.12), doc/ppl.sty (1.13), doc/user.tex (1.13), interfaces/Prolog/XSB/ppl_xsb.H (1.26), interfaces/Prolog/XSB/ppl_xsb.cc (1.42): Update copyright years. 2004-01-27 Tuesday 23:29 Roberto Bagnara * Makefile.am (1.23), README (1.17), configure.ac (1.105), doc/Makefile.am (1.24), doc/definitions.dox (1.123), interfaces/Makefile.am (1.8), interfaces/C/Makefile.am (1.15), interfaces/C/ppl_c.cc (1.85), interfaces/C/ppl_c.h (1.95), interfaces/OCaml/Makefile.am (1.4), interfaces/OCaml/ppl_ocaml_c.swg (1.2), interfaces/Prolog/Makefile.am (1.24), interfaces/Prolog/Prolog_interface.dox (1.107), interfaces/Prolog/clpq.pl (1.15), interfaces/Prolog/clpq2.pl (1.26), interfaces/Prolog/exceptions.hh (1.8), interfaces/Prolog/expected (1.6), interfaces/Prolog/expected2 (1.11), interfaces/Prolog/pl_check.pl (1.67), interfaces/Prolog/ppl_prolog.icc (1.116), interfaces/Prolog/track_allocation.hh (1.13), interfaces/Prolog/Ciao/Makefile.am (1.22), interfaces/Prolog/Ciao/ciao_clpq.pl (1.8), interfaces/Prolog/Ciao/ciao_clpq2.pl (1.3), interfaces/Prolog/Ciao/ppl_ciao.cc (1.20), interfaces/Prolog/Ciao/ppl_ciao.pl (1.58), interfaces/Prolog/GNU/Makefile.am (1.32), interfaces/Prolog/GNU/gnu_pl_check.pl (1.2), interfaces/Prolog/GNU/gp_clpq.pl (1.7), interfaces/Prolog/GNU/ppl_gprolog.pl (1.39), interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.14), interfaces/Prolog/SICStus/Makefile.am (1.38), interfaces/Prolog/SICStus/ppl_sicstus.pl (1.23), interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.53), interfaces/Prolog/SICStus/sicstus_cfli.cc (1.3), interfaces/Prolog/SICStus/sicstus_cfli.h (1.4), interfaces/Prolog/SICStus/sicstus_cfli.ic (1.7), interfaces/Prolog/SICStus/sp_clpq.pl (1.9), interfaces/Prolog/SWI/Makefile.am (1.30), interfaces/Prolog/SWI/pl_clpq.cc (1.7), interfaces/Prolog/SWI/pl_clpq.pl (1.5), interfaces/Prolog/SWI/ppl_pl.cc (1.7), interfaces/Prolog/SWI/ppl_swiprolog.cc (1.77), interfaces/Prolog/SWI/ppl_swiprolog.pl (1.3), interfaces/Prolog/XSB/Makefile.am (1.17), interfaces/Prolog/XSB/expected (1.7), interfaces/Prolog/XSB/expected2 (1.9), interfaces/Prolog/XSB/ppl_xsb.cc (1.41), interfaces/Prolog/XSB/xsb_clpq.P (1.8), interfaces/Prolog/XSB/xsb_clpq2.P (1.6), interfaces/Prolog/YAP/Makefile.am (1.24), interfaces/Prolog/YAP/ppl_yap.cc (1.71), interfaces/Prolog/YAP/ppl_yap.pl (1.7), interfaces/Prolog/YAP/yap_clpq.pl (1.7), interfaces/Prolog/YAP/yap_clpq2.pl (1.3), interfaces/Prolog/YAP/yap_pl_check.pl (1.3), m4/Makefile.am (1.10), m4/ac_check_gmp.m4 (1.16), m4/ac_cxx_attribute_weak.m4 (1.3), m4/ac_cxx_flexible_arrays.m4 (1.8), src/AskTell.defs.hh (1.19), src/AskTell.inlines.hh (1.19), src/AskTell.types.hh (1.6), src/BoundingBox.cc (1.8), src/BoundingBox.defs.hh (1.11), src/BoundingBox.inlines.hh (1.11), src/BoundingBox.types.hh (1.6), src/C_Polyhedron.cc (1.7), src/C_Polyhedron.defs.hh (1.20), src/C_Polyhedron.inlines.hh (1.14), src/C_Polyhedron.types.hh (1.7), src/ConSys.cc (1.67), src/ConSys.defs.hh (1.80), src/ConSys.inlines.hh (1.31), src/ConSys.types.hh (1.7), src/Constraint.cc (1.40), src/Constraint.defs.hh (1.85), src/Constraint.inlines.hh (1.48), src/Constraint.types.hh (1.7), src/Determinate.defs.hh (1.35), src/Determinate.inlines.hh (1.36), src/Determinate.types.hh (1.5), src/GenSys.cc (1.85), src/GenSys.defs.hh (1.93), src/GenSys.inlines.hh (1.32), src/GenSys.types.hh (1.7), src/Generator.cc (1.48), src/Generator.defs.hh (1.85), src/Generator.inlines.hh (1.42), src/Generator.types.hh (1.7), src/Init.cc (1.10), src/Init.defs.hh (1.10), src/Init.types.hh (1.6), src/Integer.cc (1.4), src/Integer.defs.hh (1.11), src/Integer.inlines.hh (1.10), src/Integer.types.hh (1.8), src/Interval.cc (1.9), src/Interval.defs.hh (1.16), src/Interval.inlines.hh (1.11), src/Interval.types.hh (1.7), src/LinExpression.cc (1.20), src/LinExpression.defs.hh (1.62), src/LinExpression.inlines.hh (1.29), src/LinExpression.types.hh (1.7), src/Makefile.am (1.68), src/Matrix.cc (1.64), src/Matrix.defs.hh (1.51), src/Matrix.inlines.hh (1.35), src/Matrix.types.hh (1.7), src/NNC_Polyhedron.cc (1.11), src/NNC_Polyhedron.defs.hh (1.23), src/NNC_Polyhedron.inlines.hh (1.16), src/NNC_Polyhedron.types.hh (1.7), src/Ph_Status.cc (1.4), src/Ph_Status.idefs.hh (1.4), src/Ph_Status.inlines.hh (1.4), src/Poly_Con_Relation.cc (1.8), src/Poly_Con_Relation.defs.hh (1.23), src/Poly_Con_Relation.inlines.hh (1.11), src/Poly_Con_Relation.types.hh (1.6), src/Poly_Gen_Relation.cc (1.8), src/Poly_Gen_Relation.defs.hh (1.21), src/Poly_Gen_Relation.inlines.hh (1.11), src/Poly_Gen_Relation.types.hh (1.6), src/Polyhedra_PowerSet.defs.hh (1.19), src/Polyhedra_PowerSet.inlines.hh (1.26), src/Polyhedra_PowerSet.types.hh (1.2), src/Polyhedron.defs.hh (1.222), src/Polyhedron.inlines.hh (1.86), src/Polyhedron.types.hh (1.10), src/Polyhedron_chdims.cc (1.8), src/Polyhedron_nonpublic.cc (1.17), src/Polyhedron_public.cc (1.16), src/Polyhedron_widenings.cc (1.13), src/PowerSet.defs.hh (1.46), src/PowerSet.inlines.hh (1.55), src/PowerSet.types.hh (1.6), src/Row.cc (1.60), src/Row.defs.hh (1.74), src/Row.inlines.hh (1.42), src/Row.types.hh (1.7), src/SatMatrix.cc (1.28), src/SatMatrix.defs.hh (1.33), src/SatMatrix.inlines.hh (1.21), src/SatMatrix.types.hh (1.7), src/SatRow.cc (1.22), src/SatRow.defs.hh (1.32), src/SatRow.inlines.hh (1.28), src/SatRow.types.hh (1.7), src/Topology.hh (1.8), src/Variable.cc (1.15), src/Variable.defs.hh (1.34), src/Variable.inlines.hh (1.17), src/Variable.types.hh (1.7), src/algorithms.hh (1.25), src/conversion.cc (1.51), src/globals.cc (1.13), src/globals.hh (1.34), src/initializer.hh (1.7), src/minimize.cc (1.35), src/ppl_header.top (1.7), src/simplify.cc (1.33), src/statistics.hh (1.3), src/version.cc (1.2), src/version.hh.in (1.5), tests/BBox.cc (1.4), tests/BBox.hh (1.3), tests/CbecomesNNC1.cc (1.5), tests/Makefile.am (1.190), tests/NNCminimize1.cc (1.10), tests/NNCminimize2.cc (1.10), tests/NNCminimize3.cc (1.10), tests/NNCminimize4.cc (1.12), tests/NNCminimize5.cc (1.9), tests/NNCminimize6.cc (1.11), tests/PFunction.cc (1.3), tests/PFunction.hh (1.3), tests/addconstraint1.cc (1.5), tests/addconstraint2.cc (1.4), tests/addconstraint3.cc (1.4), tests/addconstraints1.cc (1.11), tests/addconstraints10.cc (1.10), tests/addconstraints11.cc (1.11), tests/addconstraints12.cc (1.4), tests/addconstraints13.cc (1.6), tests/addconstraints2.cc (1.19), tests/addconstraints3.cc (1.9), tests/addconstraints4.cc (1.11), tests/addconstraints5.cc (1.12), tests/addconstraints6.cc (1.13), tests/addconstraints7.cc (1.12), tests/addconstraints8.cc (1.12), tests/addconstraints9.cc (1.13), tests/adddimensions1.cc (1.14), tests/adddimensions10.cc (1.7), tests/adddimensions11.cc (1.5), tests/adddimensions12.cc (1.4), tests/adddimensions13.cc (1.3), tests/adddimensions2.cc (1.10), tests/adddimensions3.cc (1.12), tests/adddimensions4.cc (1.10), tests/adddimensions5.cc (1.8), tests/adddimensions6.cc (1.8), tests/adddimensions7.cc (1.8), tests/adddimensions8.cc (1.6), tests/adddimensions9.cc (1.7), tests/addgenerator1.cc (1.5), tests/addgenerator2.cc (1.5), tests/addgenerator3.cc (1.4), tests/addgenerator4.cc (1.5), tests/addgenerators1.cc (1.12), tests/addgenerators10.cc (1.4), tests/addgenerators11.cc (1.6), tests/addgenerators12.cc (1.6), tests/addgenerators13.cc (1.2), tests/addgenerators2.cc (1.12), tests/addgenerators3.cc (1.12), tests/addgenerators4.cc (1.12), tests/addgenerators5.cc (1.12), tests/addgenerators6.cc (1.12), tests/addgenerators7.cc (1.9), tests/addgenerators8.cc (1.7), tests/addgenerators9.cc (1.6), tests/affineimage1.cc (1.12), tests/affineimage2.cc (1.11), tests/affineimage3.cc (1.4), tests/affineimage4.cc (1.4), tests/affineimage5.cc (1.5), tests/affineimage6.cc (1.4), tests/affineimage7.cc (1.4), tests/affineimage8.cc (1.8), tests/affinepreimage1.cc (1.11), tests/affinepreimage10.cc (1.8), tests/affinepreimage2.cc (1.11), tests/affinepreimage3.cc (1.11), tests/affinepreimage4.cc (1.12), tests/affinepreimage5.cc (1.4), tests/affinepreimage6.cc (1.5), tests/affinepreimage7.cc (1.4), tests/affinepreimage8.cc (1.4), tests/affinepreimage9.cc (1.5), tests/affinetrans.cc (1.14), tests/append1.cc (1.22), tests/append2.cc (1.22), tests/ascii_dump_load1.cc (1.13), tests/ascii_dump_load2.cc (1.11), tests/ascii_dump_load3.cc (1.14), tests/ascii_dump_load4.cc (1.14), tests/ascii_dump_load5.cc (1.10), tests/ascii_dump_load6.cc (1.7), tests/ascii_dump_load7.cc (1.7), tests/bgp99extrapolation1.cc (1.2), tests/bhrz03widening1.cc (1.4), tests/bhrz03widening10.cc (1.4), tests/bhrz03widening11.cc (1.4), tests/bhrz03widening12.cc (1.4), tests/bhrz03widening13.cc (1.4), tests/bhrz03widening14.cc (1.4), tests/bhrz03widening15.cc (1.6), tests/bhrz03widening16.cc (1.4), tests/bhrz03widening17.cc (1.4), tests/bhrz03widening18.cc (1.4), tests/bhrz03widening19.cc (1.4), tests/bhrz03widening2.cc (1.6), tests/bhrz03widening3.cc (1.6), tests/bhrz03widening4.cc (1.4), tests/bhrz03widening5.cc (1.4), tests/bhrz03widening6.cc (1.5), tests/bhrz03widening7.cc (1.5), tests/bhrz03widening8.cc (1.4), tests/bhrz03widening9.cc (1.6), tests/bhz03widening1.cc (1.3), tests/bhz03widening2.cc (1.3), tests/bounded1.cc (1.13), tests/boundingbox1.cc (1.33), tests/boundingbox2.cc (1.18), tests/boundingbox3.cc (1.9), tests/boundingbox4.cc (1.6), tests/bounds1.cc (1.6), tests/bounds2.cc (1.6), tests/concatenate1.cc (1.8), tests/concatenate2.cc (1.8), tests/concatenate3.cc (1.7), tests/concatenate4.cc (1.6), tests/concatenate5.cc (1.4), tests/concatenate6.cc (1.6), tests/constraints1.cc (1.6), tests/constraints2.cc (1.6), tests/constraints3.cc (1.6), tests/constraints4.cc (1.6), tests/contains1.cc (1.5), tests/contains2.cc (1.2), tests/contains3.cc (1.2), tests/contains4.cc (1.2), tests/contains5.cc (1.2), tests/disjoint1.cc (1.7), tests/disjoint2.cc (1.8), tests/disjoint3.cc (1.7), tests/dualhypercubes.cc (1.3), tests/ehandlers.cc (1.5), tests/ehandlers.hh (1.8), tests/empty1.cc (1.14), tests/exceptions1.cc (1.35), tests/exceptions2.cc (1.29), tests/files.cc (1.5), tests/files.hh (1.5), tests/generalizedaffineimage1.cc (1.8), tests/generalizedaffineimage10.cc (1.7), tests/generalizedaffineimage11.cc (1.6), tests/generalizedaffineimage12.cc (1.5), tests/generalizedaffineimage2.cc (1.7), tests/generalizedaffineimage3.cc (1.8), tests/generalizedaffineimage4.cc (1.6), tests/generalizedaffineimage5.cc (1.6), tests/generalizedaffineimage6.cc (1.6), tests/generalizedaffineimage7.cc (1.8), tests/generalizedaffineimage8.cc (1.6), tests/generalizedaffineimage9.cc (1.6), tests/generators1.cc (1.13), tests/generators2.cc (1.9), tests/generators3.cc (1.5), tests/generators4.cc (1.5), tests/generators5.cc (1.5), tests/generators6.cc (1.6), tests/h79widening1.cc (1.6), tests/h79widening2.cc (1.7), tests/h79widening3.cc (1.7), tests/h79widening4.cc (1.4), tests/h79widening5.cc (1.5), tests/h79widening6.cc (1.5), tests/h79widening7.cc (1.3), tests/intersection1.cc (1.6), tests/intersection10.cc (1.6), tests/intersection11.cc (1.6), tests/intersection2.cc (1.10), tests/intersection3.cc (1.7), tests/intersection4.cc (1.7), tests/intersection5.cc (1.7), tests/intersection6.cc (1.7), tests/intersection7.cc (1.6), tests/intersection8.cc (1.5), tests/intersection9.cc (1.5), tests/limitedbhrz03extrapolation1.cc (1.3), tests/limitedh79extrapolation1.cc (1.3), tests/limitedh79extrapolation2.cc (1.3), tests/limitedh79extrapolation3.cc (1.3), tests/limitedh79extrapolation4.cc (1.3), tests/linearpartition1.cc (1.13), tests/linearpartition2.cc (1.13), tests/linearpartition3.cc (1.13), tests/linexpression1.cc (1.4), tests/mapdim1.cc (1.2), tests/max_min1.cc (1.4), tests/max_min2.cc (1.4), tests/mc91.cc (1.14), tests/memory1.cc (1.20), tests/minconstraints1.cc (1.5), tests/minconstraints2.cc (1.5), tests/minconstraints3.cc (1.4), tests/minconstraints4.cc (1.8), tests/mingenerators1.cc (1.5), tests/mingenerators2.cc (1.4), tests/mingenerators3.cc (1.4), tests/onepoint.cc (1.10), tests/permute.cc (1.31), tests/polydifference1.cc (1.7), tests/polydifference2.cc (1.9), tests/polydifference3.cc (1.4), tests/polydifference4.cc (1.5), tests/polydifference5.cc (1.6), tests/polydifference6.cc (1.6), tests/polydifference7.cc (1.5), tests/polyhull1.cc (1.8), tests/polyhull10.cc (1.4), tests/polyhull2.cc (1.7), tests/polyhull3.cc (1.7), tests/polyhull4.cc (1.6), tests/polyhull5.cc (1.5), tests/polyhull6.cc (1.5), tests/polyhull7.cc (1.4), tests/polyhull8.cc (1.5), tests/polyhull9.cc (1.6), tests/ppl_test.hh (1.4), tests/print.cc (1.10), tests/print.hh (1.14), tests/randphull1.cc (1.10), tests/randphull2.cc (1.6), tests/relations1.cc (1.10), tests/relations10.cc (1.6), tests/relations11.cc (1.6), tests/relations12.cc (1.5), tests/relations13.cc (1.5), tests/relations14.cc (1.5), tests/relations15.cc (1.5), tests/relations16.cc (1.5), tests/relations17.cc (1.7), tests/relations18.cc (1.5), tests/relations19.cc (1.6), tests/relations2.cc (1.11), tests/relations3.cc (1.11), tests/relations4.cc (1.11), tests/relations5.cc (1.11), tests/relations6.cc (1.10), tests/relations7.cc (1.10), tests/relations8.cc (1.10), tests/relations9.cc (1.12), tests/removedim1.cc (1.11), tests/removedim10.cc (1.3), tests/removedim2.cc (1.15), tests/removedim3.cc (1.11), tests/removedim4.cc (1.12), tests/removedim5.cc (1.10), tests/removedim6.cc (1.13), tests/removedim7.cc (1.9), tests/removedim8.cc (1.6), tests/removedim9.cc (1.6), tests/smm1.cc (1.15), tests/timeelapse1.cc (1.8), tests/timeelapse2.cc (1.8), tests/timeelapse3.cc (1.8), tests/timeelapse4.cc (1.8), tests/timeelapse5.cc (1.9), tests/timeelapse6.cc (1.4), tests/timeelapse7.cc (1.4), tests/timeelapse8.cc (1.5), tests/timings.cc (1.4), tests/timings.hh (1.4), tests/topclosed1.cc (1.7), tests/topclosed2.cc (1.6), tests/topclosed3.cc (1.8), tests/topclosure1.cc (1.7), tests/topclosure2.cc (1.4), tests/topclosure3.cc (1.4), tests/topclosure4.cc (1.6), tests/universe1.cc (1.10), tests/universe2.cc (1.11), tests/universe3.cc (1.11), tests/universe4.cc (1.11), tests/universe5.cc (1.12), tests/universe6.cc (1.9), tests/watchdog1.cc (1.18), tests/writeconsys1.cc (1.7), tests/writegensys1.cc (1.8), tests/writegensys2.cc (1.8), tests/writegensys3.cc (1.7), tests/writepolyhedron1.cc (1.7), tests/writepolyhedron2.cc (1.8), tests/writepolyhedron3.cc (1.7), tests/writerelation1.cc (1.7), tests/writevariable1.cc (1.9): Update copyright years. 2004-01-27 Tuesday 23:06 Roberto Bagnara * interfaces/OCaml/Makefile.am (1.3): Some little progress. 2004-01-27 Tuesday 23:05 Roberto Bagnara * interfaces/OCaml/: ppl_c.swg (1.2), ppl_ocaml_c.swg (1.1): Renamed. 2004-01-27 Tuesday 17:39 Roberto Bagnara * compile (1.1), Watchdog/compile (1.1): Added from Automake 1.8.2. 2004-01-26 Monday 19:32 Roberto Bagnara * interfaces/OCaml/Makefile.am (1.2): Avoid running swig multiple times. 2004-01-26 Monday 16:50 Roberto Bagnara * configure.ac (1.104), interfaces/Makefile.am (1.7), interfaces/OCaml/.cvsignore (1.1), interfaces/OCaml/Makefile.am (1.1): Directory `interfaces/OCaml' activated. 2004-01-26 Monday 16:19 Roberto Bagnara * doc/Makefile.am (1.23): It is no longer necessary to specify `-d Validate' on the Doxygen's command line. 2004-01-26 Monday 09:03 Roberto Bagnara * interfaces/C/ppl_c.h (1.94): Temporarily avoid splitting preprocessor directives across multiple lines. This is to get around a bug in SWIG 1.3.21. 2004-01-26 Monday 08:38 Roberto Bagnara * interfaces/C/ppl_c.h (1.93): Spacing fixed. 2004-01-25 Sunday 23:18 Roberto Bagnara * interfaces/OCaml/ppl_c.swg (1.1): SWIG module declaration for the OCaml interface to the C interface. 2004-01-25 Sunday 23:12 Roberto Bagnara * interfaces/C/ppl_c.h (1.92): Explain to SWIG how to convert an OCaml array to a C array plus length. 2004-01-25 Sunday 23:03 Roberto Bagnara * src/Makefile.am (1.67): Avoid repeating the name of the target file. 2004-01-25 Sunday 22:56 Roberto Bagnara * depcomp (1.6), install-sh (1.7), missing (1.7), mkinstalldirs (1.6), Watchdog/depcomp (1.4), Watchdog/install-sh (1.4), Watchdog/missing (1.3), Watchdog/mkinstalldirs (1.2): Update from Automake. 2004-01-25 Sunday 22:55 Roberto Bagnara * configure.ac (1.103): Check for SWIG added. 2004-01-25 Sunday 22:47 Roberto Bagnara * config.guess (1.21), config.sub (1.20), Watchdog/config.guess (1.5), Watchdog/config.sub (1.5): Updated from config. 2004-01-25 Sunday 22:35 Roberto Bagnara * ltmain.sh (1.17), Watchdog/ltmain.sh (1.6): Updated from Libtool 1.5.2. 2004-01-23 Friday 21:50 Roberto Bagnara * src/Polyhedron.defs.hh (1.221): Implement a new method to differentiate between the inclusion of Ph_Status.idefs.hh and the inclusion of all other header files. This gets around a bug in doxygen. 2004-01-23 Friday 14:55 Roberto Bagnara * src/Polyhedron.defs.hh (1.220): Documentation for Polyhedron::max_min() fixed. 2004-01-21 Wednesday 13:52 Enea Zaffanella * tests/dualhypercubes.cc (1.2): Corrected an error and made silent. 2004-01-20 Tuesday 08:34 Enea Zaffanella * tests/: Makefile.am (1.189), dualhypercubes.cc (1.1): Put under CVS control. 2003-12-19 Friday 14:13 Roberto Bagnara * src/: ppl_header.bottom (1.5), ppl_header.top (1.6): Include after restoring the status of NDEBUG: this should finally solve the NDEBUG problem. 2003-12-17 Wednesday 15:34 Roberto Bagnara * src/ppl_header.middle (1.3): GCC versions prior to 3.0 are no longer supported. 2003-12-15 Monday 23:42 Roberto Bagnara * TODO (1.63): See if we can provide some guarantee on the maximum number of times we are calling the methods of the argument of Polyhedron::map_dimensions(const PartialFunction&). 2003-12-05 Friday 11:24 Roberto Bagnara * Watchdog/Watchdog.cc (1.13): Do not use the ITIMER_PROF timer when profiling. 2003-12-05 Friday 11:09 Roberto Bagnara * configure.ac (1.102): Define the symbol `PROFILING' when profiling is enabled. 2003-12-04 Thursday 10:02 Enea Zaffanella * doc/: devref-browse.doxyconf-latex.in (1.34), devref-print.doxyconf-latex.in (1.34), devref.doxyconf-html.in (1.35): The source files for the Status class are now called Ph_Status.*. 2003-12-02 Tuesday 21:11 Roberto Bagnara * m4/: lib-ld.m4 (1.2), lib-prefix.m4 (1.2): Updated from gettext 0.13. 2003-11-19 Wednesday 17:32 Roberto Bagnara * TODO (1.62): Remember to implement void Polyhedron::envelope_assign(const Polyhedron& y). 2003-11-12 Wednesday 16:24 Roberto Bagnara * Makefile.am (1.22), acinclude.m4 (1.6): Implement a much simpler way of telling aclocal where to look for `.m4' files (in addition, `sinclude', which we used in `acinclude.m4', is an obsolete name for `m4_include'). 2003-11-09 Sunday 00:01 Roberto Bagnara * src/globals.hh (1.33): Comment for compute_capacity() improved. Added an alternative implementation (commented out) characterized a speculation factor of 1.5. 2003-11-07 Friday 09:27 Roberto Bagnara * src/Row.defs.hh (1.73): Including Integer.types.hh is not enough: include Integer.defs.hh. 2003-11-04 Tuesday 17:58 Roberto Bagnara * config.guess (1.20), config.sub (1.19), Watchdog/config.guess (1.4), Watchdog/config.sub (1.4): Updated. 2003-10-30 Thursday 21:32 Roberto Bagnara * src/: Ph_Status.cc (1.3), Polyhedron_public.cc (1.15): OK() methods must print their own error messages (unless NDEBUG is defined). 2003-10-29 Wednesday 06:29 Roberto Bagnara * m4/ac_check_gmp.m4 (1.15): In case libgmp and libgmpxx are installed in the same location, allow to specify the prefix for either one, the other being set automatically. 2003-10-29 Wednesday 06:17 Roberto Bagnara * m4/: ac_cxx_attribute_weak.m4 (1.2), ac_cxx_flexible_arrays.m4 (1.7): Preserve CPPFLAGS. 2003-10-28 Tuesday 09:22 Roberto Bagnara * configure.ac (1.101), interfaces/C/Makefile.am (1.14), interfaces/Prolog/Ciao/Makefile.am (1.21), interfaces/Prolog/GNU/Makefile.am (1.31), interfaces/Prolog/SICStus/Makefile.am (1.37), interfaces/Prolog/SWI/Makefile.am (1.29), interfaces/Prolog/XSB/Makefile.am (1.16), interfaces/Prolog/YAP/Makefile.am (1.23), src/Makefile.am (1.66), tests/Makefile.am (1.188): Got rid of extra_cpp_flags (was used nowhere). 2003-10-27 Monday 22:11 Roberto Bagnara * CREDITS (1.8), NEWS (1.81), TODO (1.61), acinclude.m4 (1.5), config.rpath (1.1), m4/ac_check_gmp.m4 (1.14), m4/lib-ld.m4 (1.1), m4/lib-link.m4 (1.1), m4/lib-prefix.m4 (1.1): Thanks to Bruno Haible, it is now possible to use versions of the GMP library installed into nonstandard places. 2003-10-27 Monday 10:01 Roberto Bagnara * src/: Ph_Status.idefs.hh (1.3), Ph_Status.inlines.hh (1.3): Some useless code removed. 2003-10-27 Monday 09:58 Roberto Bagnara * src/: Ph_Status.cc (1.2), Ph_Status.idefs.hh (1.2), Ph_Status.inlines.hh (1.2): Comments fixed. 2003-10-27 Monday 08:57 Roberto Bagnara * src/: Makefile.am (1.65), Ph_Status.cc (1.1), Ph_Status.idefs.hh (1.1), Ph_Status.inlines.hh (1.1), Polyhedron.defs.hh (1.219), Status.cc (1.22), Status.defs.hh (1.30), Status.inlines.hh (1.15), Status.types.hh (1.7): The Status class is now a private member of class Polyhedron. 2003-10-26 Sunday 18:22 Roberto Bagnara * src/: Status.defs.hh (1.29), Status.inlines.hh (1.14): Pass objects of type Status by value. 2003-10-16 Thursday 17:01 Roberto Bagnara * tests/polyhull1.cc (1.7): Debug message improved. 2003-10-13 Monday 17:55 Roberto Bagnara * src/Row.cc (1.59): Comment fixed. 2003-10-06 Monday 19:02 Roberto Bagnara * TODO (1.60), tests/h79widening6.cc (1.4): h79widening6.cc temporarily fixed, but must be turned into a proper test. 2003-10-04 Saturday 22:16 Roberto Bagnara * src/Row.cc (1.58): Revert previous change. 2003-10-04 Saturday 22:07 Roberto Bagnara * src/Row.cc (1.57): Avoid including . 2003-10-03 Friday 12:22 Roberto Bagnara * .cvsignore (1.7), Watchdog/.cvsignore (1.4): Ignore config.h.in. 2003-10-03 Friday 09:44 Roberto Bagnara * config.h.in (1.26), Watchdog/config.h.in (1.4): These should not be in the repository, since they are automatically generated. 2003-09-23 Tuesday 10:57 Roberto Bagnara * doc/: devref-browse.doxyconf-latex.in (1.33), devref-print.doxyconf-latex.in (1.33), devref.doxyconf-html.in (1.34), user-browse.doxyconf-latex.in (1.17), user-print.doxyconf-latex.in (1.17), user.doxyconf-html.in (1.19): Updated for Doxygen 1.3.4. 2003-09-10 Wednesday 18:41 Roberto Bagnara * config.guess (1.19), config.h.in (1.25), config.sub (1.18), depcomp (1.5), install-sh (1.6), missing (1.6), Watchdog/config.guess (1.3), Watchdog/config.sub (1.3), Watchdog/depcomp (1.3), Watchdog/install-sh (1.3), Watchdog/missing (1.2): Updated. 2003-09-10 Wednesday 18:41 Roberto Bagnara * src/: Variable.cc (1.14), Variable.defs.hh (1.33): Pass variables by const reference for uniformity. 2003-09-01 Monday 23:21 Roberto Bagnara * src/PowerSet.inlines.hh (1.54): PowerSet::check_omega_reduced() fixed: now it return false if a bottom element is encountered (even in a singleton). 2003-09-01 Monday 23:18 Roberto Bagnara * src/PowerSet.inlines.hh (1.53): Modified PowerSet::omega_reduce() so that all bottom elements are removed first. 2003-09-01 Monday 20:15 Roberto Bagnara * src/algorithms.hh (1.24): Use Polyhedra_PowerSet::empty() instead of Polyhedra_PowerSet::is_bottom(). 2003-09-01 Monday 20:14 Roberto Bagnara * src/Polyhedra_PowerSet.defs.hh (1.18): Useless using declarations removed. 2003-09-01 Monday 20:13 Roberto Bagnara * src/: PowerSet.defs.hh (1.45), PowerSet.inlines.hh (1.52): Method bool PowerSet::empty() const added. Useless using declarations removed. Added a bool argument to PowerSet::OK() to decide whether bottom is or not allowed into the powerset. 2003-09-01 Monday 10:02 Roberto Bagnara * src/: Polyhedra_PowerSet.defs.hh (1.17), Polyhedra_PowerSet.inlines.hh (1.25): Methods Polyhedra_PowerSet::add_constraint() and Polyhedra_PowerSet::add_constraints() made lazy. Methods Polyhedra_PowerSet::add_constraint_and_minimize() and Polyhedra_PowerSet::add_constraints_and_minimize() added. 2003-08-31 Sunday 23:33 Roberto Bagnara * src/PowerSet.inlines.hh (1.51): Correct a mistake in previous change. 2003-08-31 Sunday 23:05 Roberto Bagnara * src/PowerSet.inlines.hh (1.50): PowerSet::collapse(iterator sink) improved. 2003-08-30 Saturday 13:01 Roberto Bagnara * tests/bhz03widening2.cc (1.2): Be quiet. 2003-08-30 Saturday 12:18 Enea Zaffanella * src/Polyhedra_PowerSet.inlines.hh (1.24): Corrected a bug in pairwise_reduce(), whereby we were marking the wrong polyhedra in the sequence. Corrected a bug in BHZ03_widening_assign(), whereby we were calling BGP99_extrapolation_assign() instead of BGP99_heuristics_assign (the latter does not pairwise-reduce nor collapse the sequence of polyhedra). In the implementation of BGP99_heuristics_assign(), we now take a copy of polyhedron `pi' before computing the base-level widening. 2003-08-30 Saturday 12:14 Enea Zaffanella * src/PowerSet.inlines.hh (1.49): In function collapse(const unsigned max_disjuncts), removed the never used iterators sbegin and send. 2003-08-30 Saturday 00:10 Roberto Bagnara * tests/: Makefile.am (1.187), bhz03widening2.cc (1.1): New test for Polyhedra_Powerset::BHZ03_widening_assign(). 2003-08-29 Friday 17:51 Roberto Bagnara * TODO (1.59): The name of the `abandon_exponential_computations' variable is now misleading, as we use it also to abandon polynomial computations in the PowerSet domains. 2003-08-29 Friday 17:50 Roberto Bagnara * src/: PowerSet.defs.hh (1.44), PowerSet.inlines.hh (1.48): Method PowerSet::collapse() added. It provides the same functionality as the project() function, which has been removed. 2003-08-29 Friday 17:37 Roberto Bagnara * src/: Polyhedra_PowerSet.defs.hh (1.16), Polyhedra_PowerSet.inlines.hh (1.23), PowerSet.defs.hh (1.43), PowerSet.inlines.hh (1.47): Method collapse() reimplemented generically in the PowerSet class. Methods PowerSet::omega_reduce() and Polyhedra_PowerSet::concatenate_assign() (which have quadratic complexity) now test the `abandon_exponential_computations' variable and hurry up (giving up precision) if necessary. 2003-08-28 Thursday 10:45 Roberto Bagnara * src/algorithms.hh (1.23): Function check_containment() fixed and silenced. 2003-08-27 Wednesday 23:16 Roberto Bagnara * src/algorithms.hh (1.22): Fixed a couple of bugs in check_containment(). Print statements added to the same function in order to help debugging it (it still does not work). 2003-08-27 Wednesday 23:14 Roberto Bagnara * src/: Polyhedra_PowerSet.defs.hh (1.15), Polyhedra_PowerSet.inlines.hh (1.22): New methods `bool semantically_contains(const Polyhedra_PowerSet&) const' and `bool semantically_equals(const Polyhedra_PowerSet&) const'. Fixed methods ascii_dump() and ascii_load(). 2003-08-27 Wednesday 18:31 Roberto Bagnara * src/: Polyhedra_PowerSet.defs.hh (1.14), Polyhedra_PowerSet.inlines.hh (1.21): Methods `void Polyhedra_PowerSet::ascii_dump(std::ostream&) const' and `bool Polyhedra_PowerSet::ascii_load(std::istream&)' added. 2003-08-27 Wednesday 18:29 Roberto Bagnara * TODO (1.58), src/Init.cc (1.9): New mechanism to allow the user to redefine the GMP memory allocation functions being 100% sure that all GMP objects are allocated and deallocated by the same functions (nasty things happen if this is not the case). 2003-08-27 Wednesday 18:22 Roberto Bagnara * acinclude.m4 (1.4), config.h.in (1.24), configure.ac (1.100), m4/ac_cxx_attribute_weak.m4 (1.1): Check whether the C++ compiler supports __attribute__ ((weak)). 2003-08-26 Tuesday 22:45 Roberto Bagnara * src/: AskTell.defs.hh (1.18), AskTell.inlines.hh (1.18), Determinate.defs.hh (1.34), Determinate.inlines.hh (1.35), Polyhedra_PowerSet.defs.hh (1.13), Polyhedra_PowerSet.inlines.hh (1.20), PowerSet.defs.hh (1.42), PowerSet.inlines.hh (1.46): Added the swap() method and the specialization of std::swap(). 2003-08-26 Tuesday 14:49 Roberto Bagnara * src/algorithms.hh (1.21): Added a first version of the "check_containment" algorithm described in Srivastava93. Multiple inclusion guard added. 2003-08-26 Tuesday 08:47 Roberto Bagnara * src/: Polyhedra_PowerSet.defs.hh (1.12), Polyhedra_PowerSet.inlines.hh (1.19): Added Polyhedra_PowerSet::limited_BHZ03_widening_assign(). 2003-08-26 Tuesday 08:26 Roberto Bagnara * src/Polyhedra_PowerSet.inlines.hh (1.18): TODO comment revised. Variable declaration turned into a constant declaration. 2003-08-25 Monday 19:36 Roberto Bagnara * tests/bhz03widening1.cc (1.2): Ensure the widening is always called properly. 2003-08-25 Monday 19:08 Roberto Bagnara * tests/: Makefile.am (1.186), bhz03widening1.cc (1.1): Test Polyhedra_Powerset::BHZ03_widening_assign(). 2003-08-25 Monday 19:08 Roberto Bagnara * src/: Polyhedra_PowerSet.defs.hh (1.11), Polyhedra_PowerSet.inlines.hh (1.17): Method new_widening_assign() renamed BHZ03_widening_assign() and modified to accept a widening method on the underlying polyhedra domain. 2003-08-25 Monday 18:33 Roberto Bagnara * src/Polyhedra_PowerSet.inlines.hh (1.16): In BGP99 extrapolation, do pairwise reduction before collapsing. 2003-08-25 Monday 18:18 Roberto Bagnara * src/Polyhedra_PowerSet.defs.hh (1.10), src/Polyhedra_PowerSet.inlines.hh (1.15), tests/Makefile.am (1.185), tests/bgp99extrapolation1.cc (1.1), tests/powersetwidening1.cc (1.8): Cleaned and simplified the code for the "simple powerset widening", now more appropriately called "BGP99 extrapolation". 2003-08-25 Monday 00:20 Roberto Bagnara * configure.ac (1.99): Version number bumped. 2003-08-25 Monday 00:20 Roberto Bagnara * src/Polyhedron_nonpublic.cc (1.16): Avoid two compiler warnings. 2003-08-24 Sunday 17:45 Roberto Bagnara * tests/powersetwidening1.cc (1.7): 20 iterations are enough. 2003-08-24 Sunday 17:21 Enea Zaffanella * tests/powersetwidening1.cc (1.6): Corrected the affine image transformation. Made the test silent. 2003-08-24 Sunday 14:20 Roberto Bagnara * interfaces/C/: ppl_c.cc (1.84), ppl_c.h (1.91): Revised interface for ppl_Polyhedron_maximize() and ppl_Polyhedron_minimize(). 2003-08-24 Sunday 14:18 Roberto Bagnara * src/Polyhedron.defs.hh (1.218), src/Polyhedron.inlines.hh (1.85), src/Polyhedron_nonpublic.cc (1.15), tests/max_min1.cc (1.3), tests/max_min2.cc (1.3): Revised interface for Polyhedron::maximize() and Polyhedron::minimize(). 2003-08-24 Sunday 13:56 Roberto Bagnara * NEWS (1.80): Section on bugfixes added for PPL 0.6. 2003-08-24 Sunday 13:52 Roberto Bagnara * NEWS (1.79), src/LinExpression.cc (1.19), src/LinExpression.defs.hh (1.61): New output operator in namespace IO_Operators: std::ostream& operator<<(std::ostream&, const LinExpression&). 2003-08-23 Saturday 22:24 Roberto Bagnara * src/Polyhedra_PowerSet.inlines.hh (1.14): The applicability test asserted in Polyhedra_PowerSet::widening_assign() was reversed: fixed. 2003-08-23 Saturday 18:12 Enea Zaffanella * interfaces/C/ppl_c.cc (1.83): Fixed indentation. 2003-08-23 Saturday 18:10 Enea Zaffanella * tests/powersetwidening1.cc (1.5): Counter-example for the simple powerset widening is now working as expected. 2003-08-23 Saturday 16:27 Roberto Bagnara * tests/powersetwidening1.cc (1.4): Fixed an output statement. Avoid computing S(n) multiple times. 2003-08-23 Saturday 16:23 Roberto Bagnara * tests/powersetwidening1.cc (1.3): For readability, use an alternate output function for variables. 2003-08-23 Saturday 16:06 Roberto Bagnara * src/Polyhedra_PowerSet.inlines.hh (1.13): In Polyhedra_PowerSet::widening_assign(const Polyhedra_PowerSet& y, ...) assert that `*this' definitely entails `y'. 2003-08-23 Saturday 16:05 Roberto Bagnara * tests/powersetwidening1.cc (1.2): Started turning this program into an implementation of Enea's counterexample for the simple powerset widening. 2003-08-22 Friday 21:27 Roberto Bagnara * tests/: max_min1.cc (1.2), max_min2.cc (1.2): Be quiet. 2003-08-22 Friday 19:49 Roberto Bagnara * configure.ac (1.98): Version number bumped. 2003-08-22 Friday 19:45 Roberto Bagnara * NEWS (1.78): Announce Polyhedron::maximize() and Polyhedron::minimize(). 2003-08-22 Friday 19:43 Roberto Bagnara * TODO (1.57): New things to do before releasing PPL 0.6. 2003-08-22 Friday 19:39 Roberto Bagnara * interfaces/C/: ppl_c.cc (1.82), ppl_c.h (1.90): Added ppl_Polyhedron_maximize() and ppl_Polyhedron_minimize(). 2003-08-22 Friday 19:37 Roberto Bagnara * src/Polyhedron.defs.hh (1.217): Documentation for Polyhedron::maximize(const LinExpression&, ...) and Polyhedron::minimize(const LinExpression&, ...) revised. 2003-08-22 Friday 18:37 Roberto Bagnara * tests/: Makefile.am (1.184), max_min1.cc (1.1), max_min2.cc (1.1): Test Polyhedron::maximize(const LinExpression&, ...) and Polyhedron::minimize(const LinExpression&, ...). 2003-08-22 Friday 18:36 Roberto Bagnara * src/Polyhedron_nonpublic.cc (1.14): Method Polyhedron::max_min() implemented. 2003-08-22 Friday 13:44 Roberto Bagnara * src/Polyhedron_nonpublic.cc (1.13): Avoid useless iterations in Polyhedron::bounds(). 2003-08-22 Friday 13:25 Roberto Bagnara * src/: Polyhedron.defs.hh (1.216), Polyhedron.inlines.hh (1.84), Polyhedron_nonpublic.cc (1.12): Revised specification for the new methods Polyhedron::maximize(const LinExpression&, ...) and Polyhedron::minimize(const LinExpression&, ...). Implementation work started. 2003-08-22 Friday 12:40 Roberto Bagnara * src/Generator.cc (1.47): Avoid useless calls to std::ostream& std::operator<<(std::ostream& s, ...). 2003-08-20 Wednesday 21:26 Roberto Bagnara * src/Polyhedron.defs.hh (1.215): First tentative declaration for the new maximization and minimization methods. 2003-08-20 Wednesday 16:36 Roberto Bagnara * TODO (1.56): We must explain very well that iterators can be invalidated by several (actually, almost all) operations, and that use of an invalidated iterator causes undefined behavior. 2003-08-20 Wednesday 16:12 Roberto Bagnara * interfaces/C/ppl_c.cc (ppl-0_5-branch.1): Fixed constructor `PIFunc::PIFunc(dimension_type* v, size_t n)': it was not initializing the `empty' member. (Thanks to Axel Simon.) 2003-08-20 Wednesday 11:25 Roberto Bagnara * interfaces/C/ppl_c.cc (1.81): Fixed constructor `PIFunc::PIFunc(dimension_type* v, size_t n)': it was not initializing the `empty' member. (Thanks to Axel Simon.) 2003-08-19 Tuesday 09:57 Roberto Bagnara * src/: Polyhedra_PowerSet.inlines.hh (1.12), PowerSet.defs.hh (1.41), PowerSet.inlines.hh (1.45): Lazy, much more efficient implementation of powersets. 2003-08-18 Monday 22:32 Roberto Bagnara * NEWS (1.77), src/Variable.cc (1.13), src/Variable.defs.hh (1.32), tests/writevariable1.cc (1.8): The type of output functions for the class Variable, Variable::Output_Function_Type, is now defined as void Output_Function_Type(std::ostream& s, const Variable& v). In other words, `v' is now passed by const reference and not by value. 2003-08-10 Sunday 14:52 Enea Zaffanella * src/Polyhedra_PowerSet.inlines.hh (1.11): Removed the final pairwise-reduction step from the 4th case of the new widening. 2003-08-10 Sunday 12:47 Enea Zaffanella * src/Polyhedra_PowerSet.inlines.hh (1.10): Added a new case to the definition of the new widening for powerset polyhedra. 2003-08-08 Friday 16:26 Enea Zaffanella * src/Polyhedra_PowerSet.inlines.hh (1.9): Corrected the implementation of the new widening so that we now check for `y' not being a singleton before computing its multiset lgo information. 2003-08-07 Thursday 12:49 Roberto Bagnara * tests/powersetwidening1.cc (1.1): Put under CVS control. 2003-08-06 Wednesday 14:48 Enea Zaffanella * src/Polyhedra_PowerSet.defs.hh (1.9), src/Polyhedra_PowerSet.inlines.hh (1.8), src/Polyhedron.defs.hh (1.214), src/Polyhedron.inlines.hh (1.83), src/Polyhedron_widenings.cc (1.12), tests/Makefile.am (1.183): Added a (rough) draft for the new widening on Polyhedra_PowerSet, using the BHRZ03 widening and based on the lgo relation induced by the BHRZ03 lgo. 2003-08-06 Wednesday 08:17 Roberto Bagnara * configure.ac (1.97), Watchdog/configure.ac (1.18): Allow for `mild', -O1 optimization. 2003-08-04 Monday 16:48 Enea Zaffanella * src/Polyhedra_PowerSet.defs.hh (1.8): Let the PPL compile. 2003-08-04 Monday 15:44 Roberto Bagnara * src/: Polyhedra_PowerSet.defs.hh (1.7), Polyhedra_PowerSet.inlines.hh (1.7), PowerSet.defs.hh (1.40), PowerSet.inlines.hh (1.44): Currect, greedy implementation of the powerset construction and of its specialization on polyhedra. (Will be replaced by a lazy implementation ASAP.) 2003-08-04 Monday 14:58 Enea Zaffanella * src/: Polyhedra_PowerSet.defs.hh (1.6), Polyhedra_PowerSet.inlines.hh (1.6), Polyhedron.defs.hh (1.213), Polyhedron.inlines.hh (1.82), Polyhedron_widenings.cc (1.11): Drafted functions to compute multiset lgo for the powerset domain. 2003-08-02 Saturday 17:03 Roberto Bagnara * src/SatRow.cc (1.21): Alternative implementation for SatRow::next() added in a comment. 2003-07-30 Wednesday 22:45 Roberto Bagnara * ppl.spec.in (1.18): Build an RPM package also for the PWL. The Prolog interfaces depend on the PWL. 2003-07-30 Wednesday 17:48 Roberto Bagnara * interfaces/Prolog/XSB/: xsb_clpq.P (1.7), xsb_clpq2.P (1.5): XSB version 2.6 still does not offer read_term/2. 2003-07-30 Wednesday 17:43 Roberto Bagnara * interfaces/Prolog/: Prolog_interface.dox (1.106), XSB/.cvsignore (1.3), XSB/Makefile.am (1.15), XSB/ppl_xsb.cc (1.40): Removed most of the kludges we had for supporting old versions of XSB. We now only support XSB version 2.6 and following. 2003-07-28 Monday 08:42 Enea Zaffanella * doc/fdl.dox (1.5), doc/gpl.dox (1.5), interfaces/Prolog/Prolog_interface.dox (1.105): No longer using Doxygen sectioning commands inside normal documentation blocks (they only work inside \page and \mainpage blocks). Instead, now using \anchor and unnumbered section headings. 2003-07-22 Tuesday 13:52 Roberto Bagnara * src/Polyhedra_PowerSet.inlines.hh (1.5): Ensure omega reductions in the widening and extrapolation methods. 2003-07-22 Tuesday 13:52 Roberto Bagnara * src/PowerSet.inlines.hh (1.43): PowerSet::is_top() now asserts this->is_omega_reduced(). 2003-07-21 Monday 22:30 Roberto Bagnara * src/: Polyhedra_PowerSet.defs.hh (1.5), Polyhedra_PowerSet.inlines.hh (1.4): Limited extrapolation operators added. 2003-07-20 Sunday 12:30 Roberto Bagnara * config.guess (1.18), config.sub (1.17): Updated. 2003-07-18 Friday 22:10 Roberto Bagnara * doc/definitions.dox (1.122): Citations fixed. 2003-07-18 Friday 22:10 Roberto Bagnara * src/: AskTell.defs.hh (1.17), AskTell.inlines.hh (1.17): Entry point for AskTell::H79_extrapolation_assign() added. 2003-07-18 Friday 22:01 Roberto Bagnara * src/algorithms.hh (1.20): poly_hull_assign_if_exact() improved. 2003-07-18 Friday 21:55 Roberto Bagnara * src/Polyhedra_PowerSet.inlines.hh (1.3): Polyhedra_PowerSet::collapse() improved. 2003-07-16 Wednesday 15:57 Roberto Bagnara * tests/h79widening7.cc (1.2): Make sure the outcome is as expected. 2003-07-16 Wednesday 15:54 Roberto Bagnara * tests/h79widening6.cc (1.3): Made silent. 2003-07-16 Wednesday 15:49 Enea Zaffanella * src/: Matrix.cc (1.63), Polyhedron_widenings.cc (1.10): Corrected a bug in H79_widening_assign() and BHRZ03_combining_constraints() whereby we could have created an illegal constraint system (the bug was showing up when running the test h79widening6 with assertions enabled). Also added an assertion to the corresponding constructor of Matrix. 2003-07-16 Wednesday 15:40 Roberto Bagnara * doc/definitions.dox (1.121): Updated. 2003-07-16 Wednesday 15:01 Roberto Bagnara * src/Polyhedra_PowerSet.defs.hh (1.4): Comment fixed. 2003-07-16 Wednesday 09:35 Roberto Bagnara * tests/: Makefile.am (1.182), h79widening7.cc (1.1): h79widening7.cc shows there is a bug somewhere. 2003-07-15 Tuesday 22:57 Roberto Bagnara * tests/: h79widening6.cc (1.2), mc91.cc (1.13): Brought up-to-date with respect to the rest of the library. 2003-07-15 Tuesday 22:56 Roberto Bagnara * src/Polyhedra_PowerSet.defs.hh (1.3): Initial fix for the problem concerning dependent names. 2003-07-15 Tuesday 11:52 Enea Zaffanella * configure.ac (1.96), m4/ac_check_gmp.m4 (1.13): Separated the check for the existence of the GMP library from the check that it has been compiled with the C++ interface enabled. Changed error messages accordingly, to avoid the user getting confused. 2003-07-14 Monday 17:54 Roberto Bagnara * src/Determinate.inlines.hh (1.34): Fixed two copy-and-paste errors. 2003-07-14 Monday 17:47 Roberto Bagnara * src/: Polyhedra_PowerSet.inlines.hh (1.2), PowerSet.defs.hh (1.39), PowerSet.inlines.hh (1.42): Lots of improvements and bug fixes. 2003-07-14 Monday 17:46 Roberto Bagnara * src/Determinate.inlines.hh (1.33): Exploit pointer equality to optimize equality and containment tests. 2003-07-14 Monday 17:44 Roberto Bagnara * src/: AskTell.defs.hh (1.16), AskTell.inlines.hh (1.16): Several improvements. 2003-07-13 Sunday 12:16 Roberto Bagnara * src/: AskTell.defs.hh (1.15), AskTell.inlines.hh (1.15), Polyhedra_PowerSet.defs.hh (1.2): Fixed a few glitches. 2003-07-13 Sunday 11:54 Roberto Bagnara * src/algorithms.hh (1.19): Several functions moved (as methods) to the Polyhedra_PowerSet class. 2003-07-13 Sunday 11:52 Roberto Bagnara * src/: Makefile.am (1.64), Polyhedra_PowerSet.defs.hh (1.1), Polyhedra_PowerSet.inlines.hh (1.1), Polyhedra_PowerSet.types.hh (1.1): The powerset construction instantiated on PPL polyhedra. 2003-07-13 Sunday 11:51 Roberto Bagnara * src/: PowerSet.defs.hh (1.38), PowerSet.inlines.hh (1.41): Rewritten so as to be truly generic. 2003-07-13 Sunday 11:36 Roberto Bagnara * src/: AskTell.defs.hh (1.14), AskTell.inlines.hh (1.14): Includes fixed. Comment added. 2003-07-10 Thursday 17:52 Roberto Bagnara * tests/: Makefile.am (1.181), h79widening6.cc (1.1): Test the simple powerset widening. 2003-07-10 Thursday 17:51 Roberto Bagnara * src/algorithms.hh (1.18): Includes fixed. Simple powerset widening reimplemented. 2003-07-10 Thursday 17:50 Roberto Bagnara * src/Polyhedron_public.cc (1.14): Wrong call to Polyhedron::throw_topology_incompatible() replaced with call to Polyhedron::throw_dimension_incompatible(). 2003-07-10 Thursday 17:47 Roberto Bagnara * src/Makefile.am (1.63): Obsolete stuff out, AskTell class in. 2003-07-10 Thursday 17:46 Roberto Bagnara * src/: Determinate.defs.hh (1.33), Determinate.inlines.hh (1.32): Big exception-safety bug fixed. Some obsolete stuff removed. 2003-07-10 Thursday 17:39 Roberto Bagnara * src/: PowerSet.defs.hh (1.37), PowerSet.inlines.hh (1.40), PowerSet.types.hh (1.5): Several improvements. 2003-07-10 Thursday 17:38 Roberto Bagnara * src/: AskTell.defs.hh (1.13), AskTell.inlines.hh (1.13), AskTell.types.hh (1.5), LCompare.defs.hh (1.6), LCompare.inlines.hh (1.5), LCompare.types.hh (1.5): Started reimplementing the AskTell class from scratch. 2003-07-10 Thursday 17:34 Roberto Bagnara * TODO (1.55): We must not forget to harmonize all the methods void PPL::Polyhedron::throw_...(): now they build error messages according to (confusingly) different styles. 2003-07-05 Saturday 17:53 Roberto Bagnara * tests/mc91.cc (1.12): Call PowerSet:add_disjunct() instead of the no longer existing PowerSet::inject(). 2003-07-05 Saturday 17:52 Roberto Bagnara * Watchdog/Watchdog.cc (1.12): Delete statement uncommented. 2003-07-05 Saturday 17:48 Roberto Bagnara * src/algorithms.hh (1.17): Added simple widening on powersets of polyhedra. They are based on the extrapolation operators but enforce a maximum number of polyhedra in the destination powerset. 2003-07-05 Saturday 17:45 Roberto Bagnara * src/: PowerSet.defs.hh (1.36), PowerSet.inlines.hh (1.39): Added template void PowerSet::pop_back(). 2003-07-01 Tuesday 15:54 Roberto Bagnara * src/: PowerSet.defs.hh (1.35), PowerSet.inlines.hh (1.38), algorithms.hh (1.16): PowerSet::inject() renamed PowerSet::add_disjunct(). 2003-07-01 Tuesday 15:49 Roberto Bagnara * src/: AskTell.defs.hh (1.12), AskTell.inlines.hh (1.12): AskTell::inject() renamed AskTell::add_pair(). 2003-07-01 Tuesday 09:31 Enea Zaffanella * src/: Polyhedron.inlines.hh (1.81), PowerSet.defs.hh (1.34): Corrected minor typo. Renamed PowerSet::add_disjunct as PowerSet::inject. 2003-06-17 Tuesday 23:26 Roberto Bagnara * src/: Polyhedron.defs.hh, Polyhedron_widenings.cc (alt_lgo.[1,1]): Initial support for the "facing constraints" technique, as provided by Pat. 2003-06-17 Tuesday 23:23 Roberto Bagnara * src/PowerSet.defs.hh (1.33): Comments revised. Some cleaning. 2003-05-24 Saturday 21:24 Roberto Bagnara * install-sh (1.5): Updated. 2003-05-15 Thursday 07:35 Roberto Bagnara * TODO (1.54): Started drafting a list of enhancements for PPL 0.6. 2003-05-07 Wednesday 21:14 Enea Zaffanella * src/algorithms.hh (ppl-0_5-branch.1): Functon linear_partition() excluded from the user manual version 0.5. 2003-05-07 Wednesday 21:13 Enea Zaffanella * src/: Determinate.defs.hh, PowerSet.defs.hh (ppl-0_5-branch.[1,1]): Determinate and PowerSet template classes excluded from the user manual of version 0.5. 2003-05-04 Sunday 19:06 Enea Zaffanella * STANDARDS (1.10), doc/devref-browse.doxyconf-latex.in (1.32), doc/devref-print.doxyconf-latex.in (1.32), doc/devref.doxyconf-html.in (1.33), src/Determinate.defs.hh (1.32), src/Determinate.inlines.hh (1.31), src/PowerSet.defs.hh (1.32), src/PowerSet.inlines.hh (1.37): In the STANDARDS, explained how the Doxygen documentation of a non-member method has to be related to a templatic class. Added or improved the documentation of Determinate and PowerSet. Let these files be included in the devref manual (they were already in the user manual). 2003-05-01 Thursday 17:49 Roberto Bagnara * doc/fdl.dox (ppl-0_5-branch.1): \ingroup replaced by \addtogroup, since otherwise the documentation page is not included in the produced manuals. 2003-05-01 Thursday 11:56 Enea Zaffanella * doc/fdl.dox (1.4): \ingroup replaced by \addtogroup, since otherwise the documentation page is not included in the produced manuals. 2003-05-01 Thursday 11:40 Roberto Bagnara * doc/: devref-browse.doxyconf-latex.in, devref-print.doxyconf-latex.in, devref.doxyconf-html.in (ppl-0_5-branch.[1,1,1]): List CATCH_ALL in EXPAND_AS_DEFINED. This is a temporary kludge to get around a bug in Doxygen whereby occurrences of CATCH_ALL are otherwise interpreted as namespace declarations. 2003-05-01 Thursday 10:28 Roberto Bagnara * doc/: devref-browse.doxyconf-latex.in (1.31), devref-print.doxyconf-latex.in (1.31), devref.doxyconf-html.in (1.32): List CATCH_ALL in EXPAND_AS_DEFINED. This is a temporary kludge to get around a bug in Doxygen whereby occurrences of CATCH_ALL are otherwise interpreted as namespace declarations. 2003-04-30 Wednesday 21:41 Roberto Bagnara * src/: Matrix.defs.hh (ppl-0_5-branch.1), Matrix.defs.hh (1.50): Use \genfrac instead of \atop, since the latter causes problems with the amsmath package. 2003-04-30 Wednesday 20:57 Roberto Bagnara * src/: Polyhedron.defs.hh (ppl-0_5-branch.1), Polyhedron.defs.hh (1.212): Name the parameters of conversion() in a consistent way. 2003-04-30 Wednesday 19:22 Roberto Bagnara * configure.ac (1.95): Version number bumped. 2003-04-27 Sunday 21:53 Roberto Bagnara * ChangeLog, Watchdog/ChangeLog, Watchdog/NEWS, Watchdog/README, Watchdog/configure.ac (ppl-0_5-branch.[2,2,1,1,1]): Synchronize with the main trunk. 2003-04-27 Sunday 21:36 Roberto Bagnara * configure.ac (ppl-0_5-branch.1): Update version. 2003-04-27 Sunday 21:35 Roberto Bagnara * Watchdog/ChangeLog, ChangeLog (ppl-0_5-branch.[1,1]): Mark ChangeLog. 2003-04-27 Sunday 21:31 Roberto Bagnara * ChangeLog (1.16), Watchdog/ChangeLog (1.6): Updated. 2003-04-27 Sunday 21:25 Roberto Bagnara * Watchdog/configure.ac (1.17): Version number bumped. 2003-04-27 Sunday 21:18 Roberto Bagnara * ChangeLog (1.15), Watchdog/ChangeLog (1.5): Updated. 2003-04-27 Sunday 21:16 Roberto Bagnara * Watchdog/: ChangeLog (1.4), NEWS (1.3), README (1.5): Updated for release 0.2. 2003-04-27 Sunday 21:01 Roberto Bagnara * TODO (1.53), ChangeLog (1.14): Updated. 2003-04-27 Sunday 20:25 Roberto Bagnara * ChangeLog (1.13): Updated. 2003-04-27 Sunday 20:17 Roberto Bagnara * NEWS (1.76): Reorganized. 2003-04-27 Sunday 16:49 Enea Zaffanella * src/: BoundingBox.cc (1.7), BoundingBox.defs.hh (1.10), BoundingBox.inlines.hh (1.10), Polyhedron.inlines.hh (1.80): Added Doxygen comments for class BoundingBox. Method Polyehdron::shrink_bounding_box() adapted to the lack of default constructors for LBoundary and UBoundary. 2003-04-27 Sunday 16:48 Enea Zaffanella * src/: Interval.cc (1.8), Interval.defs.hh (1.15), Interval.inlines.hh (1.10): Added Doxygen comments to classes ERational, Boundary, LBoundary, UBoundary, Interval. Removed all the comparison operators that are not currently used in the sources. Removed the default constructors for LBoundary and UBoundary. Made explicit that the Interval class, as it is defined, can only manipulate standard (i.e., non-extended) rational intervals. 2003-04-27 Sunday 16:44 Enea Zaffanella * src/Row.defs.hh (1.72): Added a scary comment to Row::assign(), since its improper use may cause memory leaks. 2003-04-27 Sunday 16:42 Enea Zaffanella * src/Polyhedron.defs.hh (1.211): In the documentation of shrink_bounding_box, we now state that we will always call raise_lower_bound and lower_upper_bound with fractions in canonical form. 2003-04-27 Sunday 16:40 Enea Zaffanella * doc/: devref-browse.doxyconf-latex.in (1.30), devref-print.doxyconf-latex.in (1.30), devref.doxyconf-html.in (1.31): Added files Interval.* and BoundingBox.* to the documentation of the developers. 2003-04-27 Sunday 12:48 Roberto Bagnara * tests/writevariable1.cc (1.7): Pass objects of type `Variable' by value. 2003-04-27 Sunday 11:24 Roberto Bagnara * src/: LinExpression.cc (1.18), LinExpression.defs.hh (1.60), LinExpression.inlines.hh (1.28), Polyhedron.defs.hh (1.210), Polyhedron_public.cc (1.13), Variable.cc (1.12), Variable.defs.hh (1.31), Variable.inlines.hh (1.16): Be consistent: always pass objects of type `Variable' by value. 2003-04-27 Sunday 11:09 Roberto Bagnara * src/: BoundingBox.cc (1.6), BoundingBox.inlines.hh (1.9), ConSys.cc (1.66), ConSys.inlines.hh (1.30), Constraint.cc (1.39), Constraint.inlines.hh (1.47), GenSys.cc (1.84), GenSys.inlines.hh (1.31), Generator.cc (1.46), Generator.inlines.hh (1.41): Declare variables `const' whenever possible or desirable. Other little improvements. 2003-04-27 Sunday 10:41 Enea Zaffanella * src/Matrix.cc (1.62): Fixed a typo in a comment. 2003-04-27 Sunday 09:19 Roberto Bagnara * src/Polyhedron_widenings.cc (1.9): Avoid unnecessary explicit initialization of vectors. 2003-04-27 Sunday 09:01 Roberto Bagnara * src/Polyhedron_widenings.cc (1.8): Some debugging output removed. 2003-04-27 Sunday 08:59 Roberto Bagnara * src/Polyhedron_widenings.cc (1.7): Declare variables `const' whenever possible or desirable. 2003-04-26 Saturday 20:56 Roberto Bagnara * src/Polyhedron_public.cc (1.12): Declare variables `const' whenever possible or desirable. 2003-04-26 Saturday 19:31 Roberto Bagnara * src/Polyhedron_nonpublic.cc (1.11): Declare variables `const' whenever possible or desirable. 2003-04-26 Saturday 19:30 Roberto Bagnara * README (1.16): Updated. 2003-04-26 Saturday 19:20 Roberto Bagnara * NEWS (1.75): Tentative release date for PPL 0.5 is April 28, 2003. 2003-04-26 Saturday 15:58 Roberto Bagnara * src/: SatMatrix.cc (1.27), SatMatrix.inlines.hh (1.20): Declare variables `const' whenever possible or desirable. 2003-04-26 Saturday 15:52 Roberto Bagnara * src/: SatRow.cc (1.20), SatRow.inlines.hh (1.27): Declare variables `const' whenever possible or desirable. 2003-04-26 Saturday 14:24 Enea Zaffanella * src/Matrix.cc (1.61): Added comments to Matrix::sort_rows(first, last). 2003-04-26 Saturday 14:21 Roberto Bagnara * NEWS (1.74), TODO (1.52): Widening with tokens announced in the NEWS file. 2003-04-26 Saturday 07:51 Roberto Bagnara * interfaces/C/: ppl_c.cc (1.80), ppl_c.h (1.89): Stick to the C89 standard. 2003-04-26 Saturday 07:33 Roberto Bagnara * TODO (1.51): We must announce widening with tokens in the NEWS file. 2003-04-25 Friday 21:56 Roberto Bagnara * src/algorithms.hh (1.15): Changes made elsewhere (removal of the comparison operators over polyhedra and introduction of widenings with tokens) now reflected here. 2003-04-25 Friday 21:10 Roberto Bagnara * TODO (1.50): All the functionalities are available in all interfaces. The documentation for Polyhedron::map_dimensions() and its wrappers for all the interfaces is OK. 2003-04-24 Thursday 22:12 Roberto Bagnara * NEWS (1.73), TODO (1.49), doc/definitions.dox (1.120), interfaces/C/ppl_c.cc (1.79), interfaces/C/ppl_c.h (1.88), interfaces/Prolog/Prolog_interface.dox (1.104), interfaces/Prolog/pl_check.pl (1.66), interfaces/Prolog/ppl_prolog.icc (1.115), interfaces/Prolog/Ciao/ppl_ciao.pl (1.57), interfaces/Prolog/GNU/ppl_gprolog.pl (1.38), interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.52), interfaces/Prolog/SWI/ppl_swiprolog.cc (1.76), interfaces/Prolog/XSB/ppl_xsb.H (1.25), interfaces/Prolog/XSB/ppl_xsb.cc (1.39), interfaces/Prolog/YAP/ppl_yap.cc (1.70), src/Determinate.defs.hh (1.31), src/Determinate.inlines.hh (1.30), src/Polyhedron.defs.hh (1.209), src/Polyhedron.inlines.hh (1.79), src/PowerSet.defs.hh (1.31), src/PowerSet.inlines.hh (1.36), tests/Makefile.am (1.180), tests/mapdim1.cc (1.1), tests/remapdim1.cc (1.3): The "remap_dimensions" operation is now called "map_dimensions". 2003-04-23 Wednesday 14:39 Patricia M. Hill * interfaces/Prolog/: Prolog_interface.dox (1.103), pl_check.pl (1.65): Improved grammar specification for Prolog interface. Amended remap test so that it does not refer to unused (singleton) variable D. 2003-04-22 Tuesday 18:54 Roberto Bagnara * src/: conversion.cc (1.50), minimize.cc (1.34), simplify.cc (1.32): Declare variables `const' whenever possible or desirable. 2003-04-22 Tuesday 08:29 Roberto Bagnara * src/: Polyhedron_chdims.cc (1.7), Polyhedron_nonpublic.cc (1.10), Polyhedron_public.cc (1.11), Polyhedron_widenings.cc (1.6): Consistently use `space_dim' instead of `space_dimension()' from within the Polyhedron class. 2003-04-22 Tuesday 08:28 Roberto Bagnara * src/: Matrix.cc (1.60), Matrix.inlines.hh (1.34), Row.cc (1.56), Row.inlines.hh (1.41): Declare variables `const' whenever possible or desirable. 2003-04-20 Sunday 11:22 Enea Zaffanella * interfaces/C/ppl_c.h (1.87), interfaces/Prolog/Prolog_interface.dox (1.102), interfaces/Prolog/pl_check.pl (1.64), interfaces/Prolog/ppl_prolog.icc (1.114), src/Polyhedron.defs.hh (1.208), src/Polyhedron.inlines.hh (1.78), tests/remapdim1.cc (1.2): Changed the documentation of the remapping operator to refer to the specification provided in doc/definitions.dox; changed the tests to avoid experimenting with cases when the behavior is undefined; no longer insisting that the partial function is injective (since this is required but it is not enough to obtain a well-defined behavior). 2003-04-19 Saturday 10:05 Roberto Bagnara * tests/: Makefile.am (1.179), remapdim1.cc (1.1), renamedim1.cc (1.3): Test program renamedim1.cc renamed remapdim1.cc. 2003-04-18 Friday 21:37 Roberto Bagnara * doc/definitions.dox (1.119), doc/devref-browse.doxyconf-latex.in (1.29), doc/devref-print.doxyconf-latex.in (1.29), doc/devref.doxyconf-html.in (1.30), doc/user-browse.doxyconf-latex.in (1.16), doc/user-print.doxyconf-latex.in (1.16), doc/user.doxyconf-html.in (1.18), interfaces/C/ppl_c.cc (1.78), interfaces/C/ppl_c.h (1.86), interfaces/Prolog/Prolog_interface.dox (1.101), interfaces/Prolog/pl_check.pl (1.63), interfaces/Prolog/Ciao/ciao_clpq.pl (1.7), interfaces/Prolog/Ciao/ppl_ciao.cc (1.19), interfaces/Prolog/Ciao/ppl_ciao.pl (1.56), interfaces/Prolog/GNU/Makefile.am (1.30), interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.13), interfaces/Prolog/SICStus/Makefile.am (1.36), interfaces/Prolog/SICStus/sicstus_cfli.ic (1.6), interfaces/Prolog/SWI/Makefile.am (1.28), interfaces/Prolog/SWI/ppl_swiprolog.cc (1.75), interfaces/Prolog/XSB/Makefile.am (1.14), interfaces/Prolog/XSB/ppl_xsb.cc (1.38), interfaces/Prolog/YAP/Makefile.am (1.22), interfaces/Prolog/YAP/ppl_yap.cc (1.69), m4/Makefile.am (1.9), m4/ac_check_gmp.m4 (1.12), m4/ac_cxx_flexible_arrays.m4 (1.6), src/ConSys.cc (1.65), src/GenSys.cc (1.83), src/GenSys.defs.hh (1.92), src/Generator.defs.hh (1.84), src/Matrix.cc (1.59), src/Matrix.defs.hh (1.49), src/NNC_Polyhedron.defs.hh (1.22), src/Poly_Con_Relation.defs.hh (1.22), src/Polyhedron.defs.hh (1.207), src/Polyhedron.inlines.hh (1.77), src/Polyhedron_chdims.cc (1.6), src/Polyhedron_nonpublic.cc (1.9), src/Polyhedron_public.cc (1.10), src/Polyhedron_widenings.cc (1.5), src/PowerSet.inlines.hh (1.35), src/Row.cc (1.55), src/Row.defs.hh (1.71), src/SatMatrix.cc (1.26), src/SatMatrix.defs.hh (1.32), src/SatRow.cc (1.19), src/SatRow.defs.hh (1.31), src/Status.cc (1.21), src/conversion.cc (1.49), src/minimize.cc (1.33), src/simplify.cc (1.31): Trailing blanks removed. 2003-04-18 Friday 19:33 Roberto Bagnara * NEWS (1.72), TODO (1.48), interfaces/C/ppl_c.cc (1.77), interfaces/C/ppl_c.h (1.85), interfaces/Prolog/Prolog_interface.dox (1.100), interfaces/Prolog/pl_check.pl (1.62), interfaces/Prolog/ppl_prolog.icc (1.113), interfaces/Prolog/Ciao/ppl_ciao.pl (1.55), interfaces/Prolog/GNU/ppl_gprolog.pl (1.37), interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.51), interfaces/Prolog/SWI/ppl_swiprolog.cc (1.74), interfaces/Prolog/XSB/ppl_xsb.H (1.24), interfaces/Prolog/XSB/ppl_xsb.cc (1.37), interfaces/Prolog/YAP/ppl_yap.cc (1.68), src/Determinate.defs.hh (1.30), src/Determinate.inlines.hh (1.29), src/Polyhedron.defs.hh (1.206), src/Polyhedron.inlines.hh (1.76), src/PowerSet.defs.hh (1.30), src/PowerSet.inlines.hh (1.34), tests/renamedim1.cc (1.2): The "rename_dimensions" operation is now called "remap_dimensions". 2003-04-18 Friday 19:11 Roberto Bagnara * doc/definitions.dox (1.118): Section about "Remapping the Dimension of the Vector Space" rewritten. 2003-04-18 Friday 19:10 Roberto Bagnara * doc/ppl.sty (1.12): New macro \pard[3] to typeset the signature of a partial function. 2003-04-17 Thursday 22:33 Roberto Bagnara * doc/definitions.dox (1.117), src/ConSys.cc (1.64), src/Matrix.defs.hh (1.48), src/Polyhedron_nonpublic.cc (1.8): Prefer "zeroes" to "zeros". 2003-04-17 Thursday 22:27 Roberto Bagnara * interfaces/Prolog/ppl_prolog.icc (1.112): The Boundary_Kind enum is now confined into the anonymous namespace. 2003-04-17 Thursday 22:17 Roberto Bagnara * Watchdog/Watchdog.cc (1.11), interfaces/Prolog/ppl_prolog.icc (1.111): Prefer anonymous namespaces to static declarations. 2003-04-17 Thursday 22:08 Roberto Bagnara * interfaces/Prolog/ppl_prolog.icc (1.110), src/BoundingBox.inlines.hh (1.8), src/Interval.cc (1.7), src/Interval.defs.hh (1.14), src/Interval.inlines.hh (1.9), src/Interval.types.hh (1.6), src/Polyhedron.inlines.hh (1.75): Class `ExtendedRational' renamed `ERational'. 2003-04-17 Thursday 19:39 Roberto Bagnara * TODO (1.47), src/Matrix.defs.hh (1.47), src/Matrix.inlines.hh (1.33): Fixed the comments of the following methods of Matrix: void grow(dimension_type new_n_rows, dimension_type new_n_columns); void resize_no_copy(dimension_type new_n_rows, void add_rows_and_columns(dimension_type n). 2003-04-17 Thursday 19:12 Roberto Bagnara * configure.ac (1.94): Version number bumped. 2003-04-17 Thursday 19:11 Roberto Bagnara * interfaces/Prolog/YAP/Makefile.am (1.21): Target `check-local' fixed. 2003-04-17 Thursday 19:11 Roberto Bagnara * interfaces/Prolog/Ciao/Makefile.am (1.20): Remove ciao_clpq and ciao_clpq2 when cleaning. 2003-04-17 Thursday 19:08 Roberto Bagnara * interfaces/Prolog/GNU/Makefile.am (1.29): Remove check_script3 when cleaning. 2003-04-17 Thursday 07:34 Roberto Bagnara * interfaces/Prolog/YAP/Makefile.am (1.20): Distribute also yap_pl_check.pl. 2003-04-17 Thursday 07:34 Roberto Bagnara * interfaces/Prolog/GNU/Makefile.am (1.28): Distribute also gnu_pl_check.pl. 2003-04-16 Wednesday 07:38 Patricia M. Hill * interfaces/Prolog/Prolog_interface.dox (1.99): Small corrections made. 2003-04-16 Wednesday 05:56 Roberto Bagnara * interfaces/Prolog/Makefile.am (1.23): Distribute expected3. 2003-04-15 Tuesday 21:39 Roberto Bagnara * interfaces/Prolog/Makefile.am (1.22): Distribute also pl_check.pl. 2003-04-15 Tuesday 19:38 Roberto Bagnara * NEWS (1.71), TODO (1.46), interfaces/C/ppl_c.cc (1.76), interfaces/C/ppl_c.h (1.84), interfaces/Prolog/Prolog_interface.dox (1.98), interfaces/Prolog/pl_check.pl (1.61), interfaces/Prolog/ppl_prolog.icc (1.109), interfaces/Prolog/Ciao/ppl_ciao.pl (1.54), interfaces/Prolog/GNU/ppl_gprolog.pl (1.36), interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.50), interfaces/Prolog/SWI/ppl_swiprolog.cc (1.73), interfaces/Prolog/XSB/ppl_xsb.H (1.23), interfaces/Prolog/XSB/ppl_xsb.cc (1.36), interfaces/Prolog/YAP/ppl_yap.cc (1.67), src/C_Polyhedron.cc (1.6), src/Determinate.inlines.hh (1.28), src/Polyhedron.defs.hh (1.205), src/Polyhedron.inlines.hh (1.74), src/Polyhedron_public.cc (1.9), tests/bounded1.cc (1.12), tests/disjoint1.cc (1.6), tests/disjoint2.cc (1.7), tests/disjoint3.cc (1.6), tests/empty1.cc (1.13), tests/intersection2.cc (1.9), tests/linearpartition1.cc (1.12), tests/linearpartition2.cc (1.12), tests/linearpartition3.cc (1.12), tests/randphull1.cc (1.9), tests/smm1.cc (1.14), tests/timeelapse5.cc (1.8), tests/topclosed1.cc (1.6), tests/topclosed2.cc (1.5), tests/topclosed3.cc (1.7), tests/universe1.cc (1.9), tests/universe2.cc (1.10), tests/universe3.cc (1.10), tests/universe4.cc (1.10), tests/universe5.cc (1.11), tests/universe6.cc (1.8): The methods Polyhedron::check_empty() and Polyhedron::check_universe() have been renamed is_empty() and is_universe(), respectively. The function check_disjoint(const Polyhedron&, const Polyhedron&) had been replaced by method Polyhedron::is_disjoint_from(const Polyhedron&). The methods Polyhedron::check_bounded() and Polyhedron::check_topologically_closed() have been renamed is_bounded() and is_topologically_closed(), respectively. 2003-04-15 Tuesday 19:25 Roberto Bagnara * interfaces/Prolog/Ciao/Makefile.am (1.19): Distribute also ciao_clpq2.pl. 2003-04-15 Tuesday 13:40 Roberto Bagnara * src/: Polyhedron.defs.hh (1.204), Polyhedron.inlines.hh (1.73), Polyhedron_chdims.cc (1.5), Polyhedron_nonpublic.cc (1.7), Polyhedron_public.cc (1.8), Polyhedron_widenings.cc (1.4): Polyhedron::is_empty() renamed Polyhedron::marked_empty(). 2003-04-15 Tuesday 13:38 Roberto Bagnara * ltmain.sh (1.16), Watchdog/ltmain.sh (1.5): Updated. 2003-04-15 Tuesday 09:11 Roberto Bagnara * NEWS (1.70), interfaces/C/ppl_c.cc (1.75), interfaces/Prolog/ppl_prolog.icc (1.108), src/ConSys.defs.hh (1.79), src/GenSys.defs.hh (1.91), src/Generator.defs.hh (1.83), src/Polyhedron.defs.hh (1.203), src/Polyhedron.inlines.hh (1.72), src/Polyhedron_public.cc (1.7), src/Polyhedron_widenings.cc (1.3), tests/Makefile.am (1.178), tests/NNCinclusion1.cc (1.7), tests/contains1.cc (1.4), tests/contains2.cc (1.1), tests/contains3.cc (1.1), tests/contains4.cc (1.1), tests/contains5.cc (1.1), tests/exceptions1.cc (1.34), tests/exceptions2.cc (1.28), tests/inclusion1.cc (1.7), tests/inclusion2.cc (1.4), tests/linearpartition1.cc (1.11), tests/linearpartition2.cc (1.11), tests/linearpartition3.cc (1.11), tests/operator1.cc (1.5): The functions Polyhedron::operator<=(const Polyhedron&, const Polyhedron&), Polyhedron::operator>=(const Polyhedron&, const Polyhedron&), Polyhedron::operator<(const Polyhedron&, const Polyhedron&), and Polyhedron::operator>(const Polyhedron&, const Polyhedron&) have been removed. The methods Polyhedron::contains(const Polyhedron&) and Polyhedron::strictly_contains(const Polyhedron&) provide the same functionality. 2003-04-14 Monday 16:16 Roberto Bagnara * src/: Polyhedron.defs.hh (1.202), Polyhedron_nonpublic.cc (1.6), Polyhedron_public.cc (1.6): Polyhedron::is_included(const Polyhedron&) renamed Polyhedron::is_included_in(const Polyhedron&). 2003-04-14 Monday 12:24 Patricia M. Hill * interfaces/Prolog/: pl_check.pl (1.60), Ciao/ppl_ciao.pl (1.53): The ciao system now allows for ppl_Polyhedron_generalized_affine_image to fail. This is now tested in pl_check. 2003-04-14 Monday 11:39 Patricia M. Hill * interfaces/Prolog/: pl_check.pl (1.59), Ciao/ppl_ciao.pl (1.52): This allows for failure in ciao for timeout_exception_atom when the atom given does not unify with the current value and also for the new_Polyhedron predicates when unifying the new handle with the input value. In order to test this, the tests in pl_check assume that unifying a new handle with value 0 will fail. 2003-04-13 Sunday 21:08 Roberto Bagnara * interfaces/Prolog/XSB/expected2 (1.8): Adapted to strong normalization. 2003-04-13 Sunday 13:12 Enea Zaffanella * src/: ConSys.cc (1.63), GenSys.cc (1.82), Matrix.cc (1.58), Matrix.defs.hh (1.46), Row.cc (1.54), Row.defs.hh (1.70), simplify.cc (1.30): Added a boolean parameter to Matrix::OK() to control whether or not we also want to check for strong normalization of the rows in the matrix. Strong normalization is now checked when this might be useful, i.e., avoiding bare repetitions of the same check. Also added a method Row::check_strongly_normalized() with the obvious semantics. 2003-04-13 Sunday 09:32 Roberto Bagnara * interfaces/Prolog/Ciao/Makefile.am (1.18): Do not use the GLOBALSTKSIZE kludge for testing with clpq2.pl. 2003-04-13 Sunday 09:31 Roberto Bagnara * interfaces/Prolog/Ciao/ppl_ciao.pl (1.51): Indentation fixed. 2003-04-12 Saturday 20:51 Enea Zaffanella * interfaces/Prolog/expected2 (1.10): Updated according to the enforcing of strong-normalization. 2003-04-12 Saturday 20:49 Enea Zaffanella * src/simplify.cc (1.29): Method Polyhedron::simplify(mat, sat) takes as 1st input argument a well-formed Matrix mat. When a ray-point-inequality is transformed into a line-equality, sign_normalization is applied to enforce strong-normalization. Well-formedness of mat also asserted on exit. 2003-04-12 Saturday 20:46 Enea Zaffanella * src/Matrix.cc (1.57): Methods Matrix::gauss() and Matrix::back_substitute() are applied to well-formed matrices and will return well-formed matrices. Corrected a bug in the handling of the sortedness flag in back_substitute(). Method Matrix::OK() now also checks strong normalization of rows. 2003-04-12 Saturday 20:43 Enea Zaffanella * src/: Row.cc (1.53), Row.defs.hh (1.69), Row.inlines.hh (1.40): Strong normalization of rows made inline and implemented by calling Row::normalize() and Row::sign_normalize(). 2003-04-11 Friday 08:38 Enea Zaffanella * src/: ConSys.cc (1.62), GenSys.cc (1.81): Fixed a couple of comments. 2003-04-11 Friday 08:17 Roberto Bagnara * ltmain.sh (1.15), Watchdog/ltmain.sh (1.4): Updated. 2003-04-11 Friday 08:13 Roberto Bagnara * src/: ConSys.cc (1.61), Constraint.cc (1.38), Constraint.inlines.hh (1.46), GenSys.cc (1.80), Generator.cc (1.45), Matrix.cc (1.56), Matrix.inlines.hh (1.32), Row.cc (1.52), Row.defs.hh (1.68), conversion.cc (1.48), simplify.cc (1.28): Commit to EXTRA_NORMALIZATION=1. 2003-04-10 Thursday 14:08 Enea Zaffanella * src/: ConSys.cc (1.60), GenSys.cc (1.79), Polyhedron_widenings.cc (1.2), conversion.cc (1.47): Strong normalization of rows called when EXTRA_NORMALIZATION is set; otherwise use (simple) normalization. 2003-04-10 Thursday 12:22 Enea Zaffanella * src/: ConSys.cc (1.59), GenSys.cc (1.78), Matrix.defs.hh (1.45), Matrix.inlines.hh (1.31), Polyhedron_chdims.cc (1.4): Added method Matrix::remove_columns(dimension_type new_n_columns) with the expected semantics. The method ensures that the resulting matrix is in normal form, thus correcting the bug shown by removedim10.cc. The new method is now used everywhere we remove columns from a matrix. 2003-04-10 Thursday 11:11 Enea Zaffanella * tests/removedim10.cc (1.2): Corrected the known result. 2003-04-10 Thursday 10:21 Roberto Bagnara * tests/: Makefile.am (1.177), removedim10.cc (1.1): New test showing a bug whereby rows of matrices are not re-normalized after the removal of some columns. 2003-04-10 Thursday 10:08 Roberto Bagnara * tests/removedim9.cc (1.5): Indentation fixed. 2003-04-09 Wednesday 09:38 Enea Zaffanella * STANDARDS (1.9): Improved the section about the production of Doxygen documentation. 2003-04-09 Wednesday 09:02 Patricia M. Hill * interfaces/Prolog/pl_check.pl (1.58): Changed the way variables are bound to dimension names. This avoids a problem due to a bug in XSB. 2003-04-08 Tuesday 19:45 Roberto Bagnara * TODO (1.45): For the moment, it is convenient to have Matrix::set_sorted(bool value) instead of, say, Matrix::set_sorted() and Matrix::set_unsorted(). Sortedness will have to be dealt with at a more fundamental level anyway. 2003-04-08 Tuesday 19:19 Roberto Bagnara * ppl.lsm.in (1.4): Updated. 2003-04-08 Tuesday 19:09 Roberto Bagnara * TODO (1.44): Section on "Constructions on Polyhedra" revised. Minor fix in the section about "Cutting-Plane Methods". 2003-04-08 Tuesday 19:04 Roberto Bagnara * TODO (1.43): Remove the section about designing and implementating strict weak orderings on polyhedra. 2003-04-08 Tuesday 19:00 Roberto Bagnara * README (1.15): Updated. 2003-04-08 Tuesday 18:49 Roberto Bagnara * INSTALL (1.5): Copyright symbol added. 2003-04-08 Tuesday 18:45 Roberto Bagnara * ChangeLog (1.12): Updated. 2003-04-08 Tuesday 18:40 Roberto Bagnara * CREDITS (1.7): Minor correction. 2003-04-08 Tuesday 18:35 Roberto Bagnara * interfaces/Prolog/Prolog_interface.dox (1.97): Information on how to use the XSB interface added. 2003-04-08 Tuesday 16:58 Enea Zaffanella * src/SatMatrix.defs.hh (1.31): Added short Doxygen description and improved the long one for SatMatrix. 2003-04-08 Tuesday 13:11 Patricia M. Hill * interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.49): Added missing definitions for ppl_Polyhedron_limited_H79_extrapolation_assign_with_token and ppl_Polyhedron_bounded_H79_extrapolation_assign_with_token. 2003-04-08 Tuesday 13:08 Enea Zaffanella * src/Polyhedron.cc (1.322): Implementation file Polyhedron.cc has been split in 4 chunks: - Polyhedron_widenings.cc contains the definitions of (non-inline) functions related to widening and extrapolation operators; - Polyhedron_chdims.cc contains the definitions of (non-inline) functions that change the space dimensions; - Polyhedron_public.cc contains the definitions of all the other public (non-inline) functions - Polyhedron_nonpublic.cc contains the definitions of all the other non-public (i.e., private or protected) (non-inline) functions. 2003-04-08 Tuesday 13:02 Enea Zaffanella * src/: Polyhedron_chdims.cc (1.3), Polyhedron_nonpublic.cc (1.5), Row.defs.hh (1.67), statistics.hh (1.2): Added Doxygen documentation for a few #define's. 2003-04-08 Tuesday 10:04 Patricia M. Hill * interfaces/Prolog/: pl_check.pl (1.57), Ciao/ppl_ciao.pl (1.50): Added code and test to allow for Prolog failure in the ppl_Polyhedron_generalized_affine_image_lhs_rhs/4 predicate. 2003-04-08 Tuesday 09:39 Patricia M. Hill * interfaces/Prolog/pl_check.pl (1.56): Added tests for Prolog failure for the "with_token" predicates. Some reorganisation of the widening/extrapolation tests. 2003-04-08 Tuesday 09:26 Patricia M. Hill * interfaces/Prolog/Ciao/ppl_ciao.pl (1.49): Modified the "with_token" predicates to allow for Prolog failure. 2003-04-08 Tuesday 08:12 Enea Zaffanella * src/: PowerSet.defs.hh (1.29), PowerSet.inlines.hh (1.33): Added \relates command for functions working on class template PowerSet. 2003-04-08 Tuesday 08:10 Enea Zaffanella * src/Row.defs.hh (1.66): Improved the detailed Doxygen description of class Row. 2003-04-08 Tuesday 08:09 Enea Zaffanella * src/: Determinate.defs.hh (1.29), Determinate.inlines.hh (1.27): Added a few \relates commands, which however show a bug in the handling of template specializations by Doxygen. 2003-04-08 Tuesday 08:08 Enea Zaffanella * src/LinExpression.cc (1.17): Added missing \relates Doxygen commands. 2003-04-07 Monday 16:25 Roberto Bagnara * ltmain.sh (1.14), Watchdog/ltmain.sh (1.3): Updated. 2003-04-07 Monday 08:11 Patricia M. Hill * interfaces/Prolog/Ciao/ppl_ciao.pl (1.48): The local definition of many of the ppl predicates changed to allow for Prolog failure. Some missing predicates added. 2003-04-07 Monday 08:03 Patricia M. Hill * interfaces/Prolog/pl_check.pl (1.55): Tests have been improved and extended to check negation and Prolog failure. Some reorganisation done. 2003-04-07 Monday 07:59 Patricia M. Hill * interfaces/Prolog/XSB/ppl_xsb.cc (1.35): ppl_Polyhedron_limited_H79_extrapolation_assign_with_token was missing - is now added. 2003-04-06 Sunday 18:33 Enea Zaffanella * src/: Constraint.defs.hh (1.84), Constraint.inlines.hh (1.45), Generator.defs.hh (1.82), Generator.inlines.hh (1.40), LinExpression.defs.hh (1.59), LinExpression.inlines.hh (1.27), Polyhedron_public.cc (1.5): Adding a few missing \relates Doxygen commands. Avoid adding Doxygen blocks near to *friend* declarations: comment the very function declarations instead. 2003-04-06 Sunday 18:28 Enea Zaffanella * src/: Poly_Con_Relation.defs.hh (1.21), Poly_Con_Relation.inlines.hh (1.10), Poly_Gen_Relation.defs.hh (1.20), Poly_Gen_Relation.inlines.hh (1.10), SatRow.inlines.hh (1.26), Status.defs.hh (1.28), Status.inlines.hh (1.13): Adding a few missing \relates Doxygen commands. Avoid adding Doxygen blocks near to *friend* declarations: comment the very function declarations instead. 2003-04-06 Sunday 18:25 Enea Zaffanella * src/SatRow.defs.hh (1.30): Removed declared but unimplemented member function unsigned int size(). 2003-04-06 Sunday 12:15 Enea Zaffanella * src/Row.defs.hh (1.65): Upgraded the detailed documentation of class Row to also describe the representation of NNC row objects. 2003-04-05 Saturday 09:37 Enea Zaffanella * src/Status.defs.hh (1.27): Modified class documentation to also consider the flags about pending constraints and generators. Moved Doxygen comments from friend declaration to the real function declaration. Avoid using preproc flag PPL_DOXYGEN_HYDE_ IMPLEMENTATION_DETAILS when useless, i.e., when we are inside a class whose documentation is already hidden. 2003-04-05 Saturday 09:33 Enea Zaffanella * src/: Matrix.cc (1.55), Matrix.defs.hh (1.44): Adjusted a couple of Doxygen and code comments. 2003-04-01 Tuesday 12:08 Roberto Bagnara * configure.ac (1.93): Fixed a bug whereby building of the SICStus Prolog interface was attempted even if deemed to fail because the sicstus.h include could not be found. 2003-04-01 Tuesday 12:01 Enea Zaffanella * src/: Polyhedron_public.cc (1.4), SatRow.cc (1.18): Added four \relates Doxygen commands to correctly match declaration and definition of functions in the devref manual. 2003-03-31 Monday 10:50 Roberto Bagnara * interfaces/C/ppl_c.h (1.83): Missing inline qualification added. 2003-03-31 Monday 10:50 Roberto Bagnara * ltmain.sh (1.13): Updated. 2003-03-28 Friday 10:33 Enea Zaffanella * configure.ac (1.92): When checking for the presence of source files, avoid testing for `Polyhedron.cc', who is going to be removed from the repository. 2003-03-27 Thursday 14:23 Roberto Bagnara * TODO (1.42): New items to be checked. 2003-03-27 Thursday 14:09 Roberto Bagnara * src/Matrix.cc (1.54): Comments of Matrix::operator=(const Matrix& y) made more precise. 2003-03-27 Thursday 14:07 Roberto Bagnara * src/Row.inlines.hh (1.39): Indentation of preprocessing directives fixed. 2003-03-27 Thursday 14:06 Roberto Bagnara * src/Row.cc (1.51): Row::Impl::copy_construct() slightly improved. 2003-03-27 Thursday 14:05 Roberto Bagnara * src/Matrix.inlines.hh (1.30): Spacing adjusted. 2003-03-25 Tuesday 18:00 Patricia M. Hill * interfaces/Prolog/: Prolog_interface.dox (1.96), pl_check.pl (1.54): The documentation for the relations_with predicates corrected. The tests for the relations_with predicates improved. 2003-03-25 Tuesday 11:45 Enea Zaffanella * src/Polyhedron.inlines.hh (1.71): Inline functions should be *defined* before they are used. 2003-03-19 Wednesday 09:49 Patricia M. Hill * interfaces/Prolog/pl_check.pl (1.53): All tests now test both c and nnc polyhedra. Some more checks on the interface incorporated into these tests. 2003-03-19 Wednesday 08:02 Patricia M. Hill * tests/permute.cc (1.30): Avoid unnecessary calls to append_size_rel. 2003-03-19 Wednesday 07:42 Patricia M. Hill * tests/permute.cc (1.29): Bug fixed 2003-03-18 Tuesday 15:57 Enea Zaffanella * src/SatRow.defs.hh (1.29): Added Doxygen comment to class SatRow. Avoiding commenting friend declarations. 2003-03-18 Tuesday 15:56 Enea Zaffanella * src/Row.defs.hh (1.64): Added doxygen comment to class Row::Impl. 2003-03-18 Tuesday 12:41 Enea Zaffanella * doc/: devref-browse.doxyconf-latex.in (1.28), devref-print.doxyconf-latex.in (1.28), devref.doxyconf-html.in (1.29): Added input file version.hh. 2003-03-18 Tuesday 11:37 Enea Zaffanella * src/: Constraint.inlines.hh (1.44), Row.cc (1.50), Row.defs.hh (1.63), Row.inlines.hh (1.38), SatMatrix.defs.hh (1.30), SatMatrix.inlines.hh (1.19), SatRow.defs.hh (1.28), SatRow.inlines.hh (1.25): As suggested in our STANDARDS file, let all Doxygen comments be centralized before methods declarations in file *.defs.hh. In class Row, be careful to use the same parameter naming in declarations and definitions. For Row and SatRow, let std::iter_swap be declared in *.defs.hh. 2003-03-18 Tuesday 11:20 Roberto Bagnara * interfaces/Prolog/: ppl_prolog.icc (1.107), Ciao/ppl_ciao.pl (1.47): Be more general with respect to different ways of raising Prolog exceptions in C code. 2003-03-18 Tuesday 10:47 Patricia M. Hill * interfaces/Prolog/Prolog_interface.dox (1.95): Bug in comment for ppl_Polyhedron_OK fixed. 2003-03-18 Tuesday 10:22 Roberto Bagnara * interfaces/Prolog/XSB/ppl_xsb.cc (1.34): Repeated declaration removed. 2003-03-18 Tuesday 08:57 Patricia M. Hill * interfaces/Prolog/Prolog_interface.dox (1.94): Bug fixed in documentation of ppl_Polyhedron_OK. 2003-03-18 Tuesday 08:38 Patricia M. Hill * interfaces/Prolog/XSB/ppl_xsb.cc (1.33): Bug fixed. 2003-03-18 Tuesday 08:25 Patricia M. Hill * interfaces/Prolog/: Prolog_interface.dox (1.93), pl_check.pl (1.52), ppl_prolog.icc (1.106), Ciao/ppl_ciao.pl (1.46), GNU/ppl_gprolog.pl (1.35), SICStus/ppl_sicstus_sd.cc (1.48), SWI/ppl_swiprolog.cc (1.72), XSB/ppl_xsb.H (1.22), XSB/ppl_xsb.cc (1.32), YAP/ppl_yap.cc (1.66): The "with_token" predicates added for the extrapolation operators. The ppl_Polyhedron_OK predicate added. The documentation predicates reorganised to match the standard ordering. Tests added for the new predicates. 2003-03-17 Monday 09:31 Roberto Bagnara * interfaces/C/ppl_c.h (1.82): Comments fixed. 2003-03-17 Monday 09:05 Patricia M. Hill * interfaces/Prolog/pl_check.pl (1.51): Many improvements and extra tests added. 2003-03-16 Sunday 22:35 Roberto Bagnara * interfaces/Prolog/ppl_prolog.icc (1.105): Default arguments are only permitted on functions. 2003-03-16 Sunday 22:26 Roberto Bagnara * interfaces/Prolog/ppl_prolog.icc (1.104): Prefer anonymous namespaces to static linkage. 2003-03-16 Sunday 14:53 Enea Zaffanella * src/: Polyhedron.inlines.hh (1.70), Polyhedron_chdims.cc (1.2), Polyhedron_nonpublic.cc (1.4), Polyhedron_public.cc (1.3): A few harmless FIXME's replaced by TODO. 2003-03-16 Sunday 10:18 Enea Zaffanella * src/Polyhedron_public.cc (1.2): In affine_image(), added a comment explaining why in one case we can leave work correctly with a DD pair having pending rows. 2003-03-16 Sunday 10:16 Enea Zaffanella * src/Polyhedron_nonpublic.cc (1.3): Preferred unset_pending_rows() wrt set_index_first_pending_row(). 2003-03-16 Sunday 10:14 Enea Zaffanella * src/simplify.cc (1.27): Preferring unset_pending_rows() wrt set_index_first_pending_row(). 2003-03-16 Sunday 10:13 Enea Zaffanella * src/conversion.cc (1.46): Dealt with a FIXME. Preferring the use of unset_pending_rows() wrt the use of set_index_first_pending(), since the first is more intuitive. 2003-03-16 Sunday 10:09 Enea Zaffanella * src/GenSys.cc (1.77): Dealt with the CHECK ME in remove_invalid_rays_and_lines(). 2003-03-16 Sunday 10:06 Enea Zaffanella * src/ConSys.cc (1.58): Added a needed comment. 2003-03-15 Saturday 17:05 Roberto Bagnara * interfaces/Prolog/ppl_prolog.icc (1.103): Some code duplication avoided. 2003-03-15 Saturday 13:41 Enea Zaffanella * src/: ConSys.defs.hh (1.78), GenSys.defs.hh (1.90): Corrected typos in comments. 2003-03-15 Saturday 13:40 Enea Zaffanella * src/Polyhedron.inlines.hh (1.69): Small corrections in rename_dimensions(). 2003-03-15 Saturday 13:38 Enea Zaffanella * interfaces/C/: ppl_c.h (1.81), ppl_c.cc (1.74): Added the equality test for polyhedra to the C interface. 2003-03-14 Friday 21:15 Enea Zaffanella * doc/devref-browse.doxyconf-latex.in (1.27), doc/devref-print.doxyconf-latex.in (1.27), doc/devref.doxyconf-html.in (1.28), interfaces/C/ppl_c.h (1.80), interfaces/Prolog/Prolog_interface.dox (1.92), interfaces/Prolog/ppl_prolog.icc (1.102), interfaces/Prolog/Ciao/ppl_ciao.pl (1.45), interfaces/Prolog/GNU/ppl_gprolog.pl (1.34), interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.47), interfaces/Prolog/SWI/ppl_swiprolog.cc (1.71), interfaces/Prolog/XSB/ppl_xsb.H (1.21), interfaces/Prolog/XSB/ppl_xsb.cc (1.31), interfaces/Prolog/YAP/ppl_yap.cc (1.65), src/Polyhedron.defs.hh (1.201), src/Polyhedron.inlines.hh (1.68), src/Polyhedron_nonpublic.cc (1.2): Reordered the functions and their documentation in all the interfaces to follow the reorganization done in Polyhedron.defs.hh. Adjusted Doxygen configuration files for the devref manuals to get their input from the new .cc files of class Polyhedron. 2003-03-14 Friday 13:07 Enea Zaffanella * NEWS (1.69), TODO (1.41), interfaces/C/ppl_c.cc (1.73), interfaces/C/ppl_c.h (1.79), interfaces/Prolog/Prolog_interface.dox (1.91), interfaces/Prolog/pl_check.pl (1.50), interfaces/Prolog/ppl_prolog.icc (1.101), interfaces/Prolog/Ciao/ppl_ciao.pl (1.44), interfaces/Prolog/GNU/ppl_gprolog.pl (1.33), interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.46), interfaces/Prolog/SWI/ppl_swiprolog.cc (1.70), interfaces/Prolog/XSB/ppl_xsb.H (1.20), interfaces/Prolog/XSB/ppl_xsb.cc (1.30), interfaces/Prolog/YAP/ppl_yap.cc (1.64): Interfaces changed to match method name changes (check_bound, check_topolo- giaclly close and check_disjoint). Change reported in the NEWS. 2003-03-14 Friday 13:06 Enea Zaffanella * tests/: bounded1.cc (1.11), disjoint1.cc (1.5), disjoint2.cc (1.6), disjoint3.cc (1.5), linearpartition1.cc (1.10), linearpartition2.cc (1.10), linearpartition3.cc (1.10), topclosed1.cc (1.5), topclosed2.cc (1.4), topclosed3.cc (1.6): Tests changed according to method renaming. 2003-03-14 Friday 13:05 Enea Zaffanella * src/: C_Polyhedron.cc (1.5), Makefile.am (1.62), Polyhedron.cc (1.321), Polyhedron.defs.hh (1.200), Polyhedron.inlines.hh (1.67), Polyhedron_chdims.cc (1.1), Polyhedron_nonpublic.cc (1.1), Polyhedron_public.cc (1.1), Polyhedron_widenings.cc (1.1): Split file Polyhedron.cc into several files. Methods is_bounded(), is_topologically_closed() and are_disjoint() renamed to check_bounded(), check_topologically_closed() and check_disjoint(). Documentation reorganized to match more closely the order in the introduction of the user manual, also grouping related methods. Added exception thrower throw_runtime_error(). In the documentation, all examples using class `Polyhedron' changed to use the user-accessible class `C_Polyhedron'. 2003-03-14 Friday 12:56 Enea Zaffanella * src/: Matrix.defs.hh (1.43), Poly_Con_Relation.defs.hh (1.20), Poly_Gen_Relation.defs.hh (1.19), Row.defs.hh (1.62), SatRow.defs.hh (1.27), Status.defs.hh (1.26): In Doxygen documentation, replaced `@name' by `\name'. 2003-03-14 Friday 09:45 Patricia M. Hill * interfaces/Prolog/Ciao/Makefile.am (1.17): Corrected for clpq2.pl checks 2003-03-13 Thursday 17:29 Roberto Bagnara * interfaces/Prolog/GNU/: Makefile.am (1.27), gnu_pl_check.pl (1.1): Test all predicates with GNU Prolog. 2003-03-13 Thursday 08:27 Roberto Bagnara * interfaces/Prolog/YAP/yap_pl_check.pl (1.2): Comment corrected. 2003-03-13 Thursday 08:27 Roberto Bagnara * interfaces/Prolog/YAP/Makefile.am (1.19): Dependencies fixed. 2003-03-12 Wednesday 19:51 Enea Zaffanella * doc/definitions.dox (1.116): Another attempt at specifying the space-dimensions remapping operator. 2003-03-12 Wednesday 19:47 Roberto Bagnara * interfaces/Prolog/: expected3 (1.1), YAP/Makefile.am (1.18), YAP/yap_pl_check.pl (1.1): A first attempt at integrating `pl_check.pl' into the regression testing mechanism. 2003-03-12 Wednesday 19:44 Enea Zaffanella * doc/: user-browse.doxyconf-latex.in (1.15), user-print.doxyconf-latex.in (1.15), user.doxyconf-html.in (1.17): Hide the listing of friend compounds in the user documentation. 2003-03-12 Wednesday 16:23 Patricia M. Hill * interfaces/Prolog/pl_check.pl (1.49): Removed the "and_minimize" from the code for the "checks" predicate. 2003-03-12 Wednesday 13:00 Enea Zaffanella * src/Polyhedron.cc (1.320): Corrected a bug in Polyhedron::add_genrators() whereby a generator system was wrongly declared sorted after the inclusion of pending rows. 2003-03-12 Wednesday 10:35 Patricia M. Hill * interfaces/Prolog/GNU/ppl_gprolog.pl (1.32): Added missing definitions and corrected a bug. 2003-03-12 Wednesday 08:49 Roberto Bagnara * tests/: Makefile.am (1.176), addgenerators13.cc (1.1): New test exhibiting a bug triggered by an invocation to Polyhedron::add_generators().. 2003-03-12 Wednesday 08:29 Patricia M. Hill * interfaces/Prolog/pl_check.pl (1.48): In many cases, predicates that are intended to cause Prolog failure in certain specified situations now tested more thoroughly. Unnecessary uses of "and_minimize" removed. Other general improvements. 2003-03-11 Tuesday 20:10 Roberto Bagnara * interfaces/Prolog/Prolog_interface.dox (1.90): Mention that we support only YAP version 4.4 or later and Ciao Prolog 1.9 #44 or later. 2003-03-11 Tuesday 19:50 Roberto Bagnara * interfaces/Prolog/ppl_prolog.icc (1.100): Now all the *_and_minimize/2 predicates fail if the resulting polyhedron is empty. 2003-03-11 Tuesday 17:24 Roberto Bagnara * interfaces/Prolog/ppl_prolog.icc (1.99): Indentation fixed. 2003-03-11 Tuesday 15:35 Patricia M. Hill * interfaces/Prolog/: pl_check.pl (1.47), ppl_prolog.icc (1.98), Ciao/ppl_ciao.pl (1.43), GNU/ppl_gprolog.pl (1.31), SICStus/ppl_sicstus_sd.cc (1.45), SWI/ppl_swiprolog.cc (1.69), XSB/ppl_xsb.H (1.19), XSB/ppl_xsb.cc (1.29), YAP/ppl_yap.cc (1.63): The "..with_tokens" predicates are now "..with_token". The predicate ppl_Polyhedron_bounded_H79_extrapolation_assign/3 added to Ciao, GNU, SICStus, XSB, and Yap. 2003-03-11 Tuesday 13:59 Roberto Bagnara * interfaces/Prolog/Ciao/: ciao_clpq.pl (1.6), ciao_clpq2.pl (1.2): Import as few predicates as possible. 2003-03-11 Tuesday 13:59 Roberto Bagnara * interfaces/Prolog/Ciao/ppl_ciao.pl (1.42): Complete declarations for ppl_Polyhedron_H79_widening_assign_with_tokens/3. 2003-03-11 Tuesday 11:12 Patricia M. Hill * interfaces/Prolog/: pl_check.pl (1.46), Ciao/ppl_ciao.pl (1.41), GNU/ppl_gprolog.pl (1.30), SICStus/ppl_sicstus_sd.cc (1.44), SWI/ppl_swiprolog.cc (1.68), XSB/ppl_xsb.H (1.18), XSB/ppl_xsb.cc (1.28), YAP/ppl_yap.cc (1.62): Tests for new interface predicates added. 2003-03-11 Tuesday 10:50 Roberto Bagnara * interfaces/Prolog/ppl_prolog.icc (1.97): Translate std::bad_alloc into a usable Prolog exception. 2003-03-11 Tuesday 10:34 Roberto Bagnara * interfaces/Prolog/ppl_prolog.icc (1.96): PIFunc::max_in_codomain() fixed. 2003-03-11 Tuesday 09:26 Patricia M. Hill * interfaces/Prolog/Prolog_interface.dox (1.89): Descriptions of "with_token" predicates improved. 2003-03-10 Monday 19:41 Roberto Bagnara * interfaces/Prolog/Ciao/: Makefile.am (1.16), ciao_clpq.pl (1.5), ciao_clpq2.pl (1.1), ppl_ciao.cc (1.18), ppl_ciao.pl (1.40): Ciao Prolog interface fixed and now part of the regression testing mechanism. 2003-03-10 Monday 19:40 Roberto Bagnara * NEWS (1.68): The Prolog interface now supports also Ciao Prolog and XSB. 2003-03-10 Monday 18:24 Enea Zaffanella * doc/definitions.dox (1.115): First attempt at describing the operator remapping dimensions. 2003-03-10 Monday 12:27 Enea Zaffanella * doc/definitions.dox (1.114): Changed a bit the description about widenings to better clarify what has been done and we are still doing for NNC polyhedra. 2003-03-10 Monday 11:44 Enea Zaffanella * interfaces/C/: ppl_c.cc (1.72), ppl_c.h (1.78): Modified the C interface to support the widening-with-tokens technique for all widening and extrapolation operators. 2003-03-10 Monday 10:59 Patricia M. Hill * interfaces/Prolog/Prolog_interface.dox (1.88): Descriptions for the bounded_..._extrapolation_assign predicates corrected. 2003-03-10 Monday 10:30 Patricia M. Hill * interfaces/Prolog/Prolog_interface.dox (1.87): Added documentation for the with_token versions of the widening predicates and for the bounded versions of the extrapolation predicates. 2003-03-10 Monday 09:27 Patricia M. Hill * interfaces/Prolog/Prolog_interface.dox (1.86): Prolog interface documentation reorganised with a summary list of all predicates. 2003-03-09 Sunday 22:25 Roberto Bagnara * interfaces/Prolog/ppl_prolog.icc (1.95): Started factorizing the implementation of the Prolog interface using pointers to members. 2003-03-09 Sunday 21:42 Roberto Bagnara * interfaces/Prolog/: ppl_prolog.icc (1.94), Ciao/ppl_ciao.pl (1.39), GNU/ppl_gprolog.pl (1.29), SICStus/ppl_sicstus_sd.cc (1.43), SWI/ppl_swiprolog.cc (1.67), XSB/ppl_xsb.H (1.17), XSB/ppl_xsb.cc (1.27), YAP/ppl_yap.cc (1.61): New predicate ppl_Polyhedron_bounded_BHRZ03_extrapolation_assign/3. 2003-03-09 Sunday 21:32 Roberto Bagnara * interfaces/Prolog/: ppl_prolog.icc (1.93), Ciao/ppl_ciao.pl (1.38), GNU/ppl_gprolog.pl (1.28), SICStus/ppl_sicstus_sd.cc (1.42), SWI/ppl_swiprolog.cc (1.66), XSB/ppl_xsb.H (1.16), XSB/ppl_xsb.cc (1.26), YAP/ppl_yap.cc (1.60): New predicate ppl_Polyhedron_BHRZ03_widening_assign_with_tokens/3. 2003-03-09 Sunday 21:04 Roberto Bagnara * interfaces/C/: ppl_c.cc (1.71), ppl_c.h (1.77): New function ppl_Polyhedron_BHRZ03_widening_assign_with_tokens(). Some hyperlinks added. 2003-03-09 Sunday 20:52 Roberto Bagnara * config.h.in (1.23): Updated. 2003-03-09 Sunday 20:50 Roberto Bagnara * configure.ac (1.91): Check whether the C compiler supports the `inline' keyword. 2003-03-09 Sunday 19:29 Roberto Bagnara * TODO (1.40), src/Interval.defs.hh (1.13): The Interval class has been documented. 2003-03-09 Sunday 19:28 Roberto Bagnara * src/Polyhedron.defs.hh (1.199): Polyhedron::OK() only prints something if run-time assertions are enabled. 2003-03-09 Sunday 11:53 Roberto Bagnara * TODO (1.39), src/Polyhedron.types.hh (1.9): Explained PPL's I/O operators and how to deal with the IO_Operators namespace. 2003-03-09 Sunday 08:49 Roberto Bagnara * TODO (1.38): It should now be clear how to build the documentation. 2003-03-09 Sunday 08:21 Roberto Bagnara * configure.ac (1.90): Version number bumped. 2003-03-09 Sunday 08:20 Roberto Bagnara * tests/adddimensions13.cc (1.2): Comments improved. 2003-03-09 Sunday 08:19 Roberto Bagnara * src/Matrix.cc (1.53): Explain the necessity of the guard against auto-assignments in Matrix::operator=(const Matrix&). 2003-03-08 Saturday 22:07 Enea Zaffanella * src/Matrix.cc (1.52): Corrected Matrix::operator= to avoid the bug shown by tests adddimensions13. 2003-03-08 Saturday 22:07 Enea Zaffanella * tests/: Makefile.am (1.175), adddimensions13.cc (1.1): Added test showing a bug in teh assignment operator of Matrix. Bug is only visible when configuring with --enable-more-assertions. 2003-03-08 Saturday 22:05 Enea Zaffanella * doc/definitions.dox (1.113): Removed wrong capitalization. 2003-03-08 Saturday 21:56 Roberto Bagnara * doc/: devref.tex (1.11), user.tex (1.12): Apparently, CoVer is a MURST project. 2003-03-08 Saturday 21:55 Roberto Bagnara * interfaces/C/: ppl_c.cc (1.70), ppl_c.h (1.76): New functions ppl_add_LinExpression_to_LinExpression(), ppl_subtract_LinExpression_from_LinExpression() and ppl_multiply_LinExpression_by_Coefficient(). 2003-03-08 Saturday 21:53 Roberto Bagnara * src/Variable.defs.hh (1.30): Variable::Compare commented. 2003-03-08 Saturday 21:52 Roberto Bagnara * CREDITS (1.6), TODO (1.37): CREDITS updated. 2003-03-08 Saturday 11:38 Roberto Bagnara * doc/README (1.1): Explain how to get (more) PPL documentation. 2003-03-08 Saturday 09:31 Roberto Bagnara * interfaces/C/: ppl_c.cc (1.69), ppl_c.h (1.75): Typos fixed. 2003-03-08 Saturday 09:23 Roberto Bagnara * tests/: adddimensions9.cc (1.6), affineimage8.cc (1.7), affinepreimage10.cc (1.7), bounded1.cc (1.10), concatenate2.cc (1.7), disjoint1.cc (1.4), exceptions1.cc (1.33), exceptions2.cc (1.27), intersection10.cc (1.5), removedim7.cc (1.8): Typos fixed. 2003-03-08 Saturday 09:08 Roberto Bagnara * src/: Constraint.defs.hh (1.83), GenSys.cc (1.76), Polyhedron.cc (1.319), Polyhedron.defs.hh (1.198), Polyhedron.inlines.hh (1.66), SatRow.defs.hh (1.26), Status.cc (1.20), conversion.cc (1.45), minimize.cc (1.32), simplify.cc (1.26): Typos fixed. 2003-03-07 Friday 19:42 Roberto Bagnara * tests/: exceptions1.cc (1.32), exceptions2.cc (1.26), generalizedaffineimage1.cc (1.7), generalizedaffineimage10.cc (1.6), generalizedaffineimage11.cc (1.5), generalizedaffineimage12.cc (1.4), generalizedaffineimage2.cc (1.6), generalizedaffineimage3.cc (1.7), generalizedaffineimage4.cc (1.5), generalizedaffineimage5.cc (1.5), generalizedaffineimage6.cc (1.5), generalizedaffineimage7.cc (1.7), generalizedaffineimage8.cc (1.5), generalizedaffineimage9.cc (1.5): Reflect the changes to the enumerate Relation_Symbol. 2003-03-07 Friday 19:18 Roberto Bagnara * interfaces/C/: ppl_c.cc (1.68), ppl_c.h (1.74): New functions ppl_LinExpression_coefficient() and ppl_LinExpression_inhomogeneous_term(). 2003-03-07 Friday 17:41 Enea Zaffanella * interfaces/C/ppl_c.h (1.73): Reorganized the C interface documentation using Doxygen member grouping and trying to use brief comments when possible. 2003-03-07 Friday 15:24 Roberto Bagnara * src/Makefile.am (1.61): Old stuff removed. 2003-03-07 Friday 15:24 Roberto Bagnara * NEWS (1.67), doc/definitions.dox (1.112), doc/ppl.sty (1.11), interfaces/C/ppl_c.cc (1.67), interfaces/C/ppl_c.h (1.72), interfaces/Prolog/Prolog_interface.dox (1.85), interfaces/Prolog/ppl_prolog.icc (1.92), src/Constraint.defs.hh (1.82), src/LinExpression.defs.hh (1.58), src/Polyhedron.cc (1.318), src/Polyhedron.defs.hh (1.197), src/globals.hh (1.32): We now speak of "relation symbols", not of "relation operators" or "relational operators". 2003-03-07 Friday 14:19 Enea Zaffanella * doc/definitions.dox (1.111), interfaces/Prolog/Prolog_interface.dox (1.84): The discussion about eager methods moved from the prolog interface to the introduction (just before the bibliography). 2003-03-07 Friday 11:50 Roberto Bagnara * NEWS (1.66), TODO (1.36), interfaces/C/ppl_c.cc (1.66), interfaces/C/ppl_c.h (1.71), interfaces/Prolog/Prolog_interface.dox (1.83), interfaces/Prolog/pl_check.pl (1.45), interfaces/Prolog/ppl_prolog.icc (1.91), interfaces/Prolog/Ciao/ppl_ciao.pl (1.37), interfaces/Prolog/GNU/ppl_gprolog.pl (1.27), interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.41), interfaces/Prolog/SWI/ppl_swiprolog.cc (1.65), interfaces/Prolog/XSB/ppl_xsb.H (1.15), interfaces/Prolog/XSB/ppl_xsb.cc (1.25), interfaces/Prolog/YAP/ppl_yap.cc (1.59), src/Determinate.defs.hh (1.28), src/Determinate.inlines.hh (1.26), src/Polyhedron.defs.hh (1.196), src/Polyhedron.inlines.hh (1.65), src/PowerSet.defs.hh (1.28), src/PowerSet.inlines.hh (1.32), tests/Makefile.am (1.174), tests/renamedim1.cc (1.1), tests/shuffledim1.cc (1.11): We rename dimensions, we do not shuffle them. 2003-03-07 Friday 11:35 Enea Zaffanella * doc/: definitions.dox (1.110), devref-browse.doxyconf-latex.in (1.26), devref-print.doxyconf-latex.in (1.26), devref.doxyconf-html.in (1.27), user-browse.doxyconf-latex.in (1.14), user-print.doxyconf-latex.in (1.14), user.doxyconf-html.in (1.16): Updated Doxygen configuration files to version 1.3-rc3-20030223. Small typo fixed in definitions.dox. 2003-03-07 Friday 11:30 Roberto Bagnara * interfaces/Prolog/ppl_prolog.icc (1.90): Predicate ppl_Polyhedron_shuffle_dimensions/2 now fails when given a non-injective function. 2003-03-07 Friday 09:46 Roberto Bagnara * tests/: CbecomesNNC1.cc (1.4), NNCinclusion1.cc (1.6), NNCminimize1.cc (1.9), NNCminimize2.cc (1.9), NNCminimize3.cc (1.9), NNCminimize4.cc (1.11), NNCminimize5.cc (1.8), NNCminimize6.cc (1.10), addconstraint1.cc (1.4), addconstraint2.cc (1.3), addconstraint3.cc (1.3), addconstraints1.cc (1.10), addconstraints10.cc (1.9), addconstraints11.cc (1.10), addconstraints12.cc (1.3), addconstraints13.cc (1.5), addconstraints2.cc (1.18), addconstraints3.cc (1.8), addconstraints4.cc (1.10), addconstraints5.cc (1.11), addconstraints6.cc (1.12), addconstraints7.cc (1.11), addconstraints8.cc (1.11), addconstraints9.cc (1.12), adddimensions1.cc (1.13), adddimensions10.cc (1.6), adddimensions11.cc (1.4), adddimensions12.cc (1.3), adddimensions2.cc (1.9), adddimensions3.cc (1.11), adddimensions4.cc (1.9), adddimensions5.cc (1.7), adddimensions6.cc (1.7), adddimensions7.cc (1.7), adddimensions8.cc (1.5), adddimensions9.cc (1.5), addgenerator1.cc (1.4), addgenerator2.cc (1.4), addgenerator3.cc (1.3), addgenerator4.cc (1.4), addgenerators1.cc (1.11), addgenerators10.cc (1.3), addgenerators11.cc (1.5), addgenerators12.cc (1.5), addgenerators2.cc (1.11), addgenerators3.cc (1.11), addgenerators4.cc (1.11), addgenerators5.cc (1.11), addgenerators6.cc (1.11), addgenerators7.cc (1.8), addgenerators8.cc (1.6), addgenerators9.cc (1.5), affineimage1.cc (1.11), affineimage2.cc (1.10), affineimage3.cc (1.3), affineimage4.cc (1.3), affineimage5.cc (1.4), affineimage6.cc (1.3), affineimage7.cc (1.3), affineimage8.cc (1.6), affinepreimage1.cc (1.10), affinepreimage10.cc (1.6), affinepreimage2.cc (1.10), affinepreimage3.cc (1.10), affinepreimage4.cc (1.11), affinepreimage5.cc (1.3), affinepreimage6.cc (1.4), affinepreimage7.cc (1.3), affinepreimage8.cc (1.3), affinepreimage9.cc (1.4), affinetrans.cc (1.13), append1.cc (1.21), append2.cc (1.21), ascii_dump_load1.cc (1.12), ascii_dump_load2.cc (1.10), ascii_dump_load3.cc (1.13), ascii_dump_load4.cc (1.13), ascii_dump_load5.cc (1.9), ascii_dump_load6.cc (1.6), ascii_dump_load7.cc (1.6), bhrz03widening1.cc (1.3), bhrz03widening10.cc (1.3), bhrz03widening11.cc (1.3), bhrz03widening12.cc (1.3), bhrz03widening13.cc (1.3), bhrz03widening14.cc (1.3), bhrz03widening15.cc (1.5), bhrz03widening16.cc (1.3), bhrz03widening17.cc (1.3), bhrz03widening18.cc (1.3), bhrz03widening19.cc (1.3), bhrz03widening2.cc (1.5), bhrz03widening3.cc (1.5), bhrz03widening4.cc (1.3), bhrz03widening5.cc (1.3), bhrz03widening6.cc (1.4), bhrz03widening7.cc (1.4), bhrz03widening8.cc (1.3), bhrz03widening9.cc (1.5), bounded1.cc (1.9), boundingbox1.cc (1.32), boundingbox2.cc (1.17), boundingbox3.cc (1.8), boundingbox4.cc (1.5), bounds1.cc (1.5), bounds2.cc (1.5), concatenate1.cc (1.7), concatenate2.cc (1.6), concatenate3.cc (1.6), concatenate4.cc (1.5), concatenate5.cc (1.3), concatenate6.cc (1.5), constraints1.cc (1.5), constraints2.cc (1.5), constraints3.cc (1.5), constraints4.cc (1.5), contains1.cc (1.3), disjoint1.cc (1.3), disjoint2.cc (1.5), disjoint3.cc (1.4), ehandlers.hh (1.7), empty1.cc (1.12), exceptions1.cc (1.31), exceptions2.cc (1.25), generalizedaffineimage1.cc (1.6), generalizedaffineimage10.cc (1.5), generalizedaffineimage11.cc (1.4), generalizedaffineimage12.cc (1.3), generalizedaffineimage2.cc (1.5), generalizedaffineimage3.cc (1.6), generalizedaffineimage4.cc (1.4), generalizedaffineimage5.cc (1.4), generalizedaffineimage6.cc (1.4), generalizedaffineimage7.cc (1.6), generalizedaffineimage8.cc (1.4), generalizedaffineimage9.cc (1.4), generators1.cc (1.12), generators2.cc (1.8), generators3.cc (1.4), generators4.cc (1.4), generators5.cc (1.4), generators6.cc (1.5), h79widening1.cc (1.5), h79widening2.cc (1.6), h79widening3.cc (1.6), h79widening4.cc (1.3), h79widening5.cc (1.4), inclusion1.cc (1.6), inclusion2.cc (1.3), intersection1.cc (1.5), intersection10.cc (1.4), intersection11.cc (1.5), intersection2.cc (1.8), intersection3.cc (1.6), intersection4.cc (1.6), intersection5.cc (1.6), intersection6.cc (1.6), intersection7.cc (1.5), intersection8.cc (1.4), intersection9.cc (1.4), limitedbhrz03extrapolation1.cc (1.2), limitedh79extrapolation1.cc (1.2), limitedh79extrapolation2.cc (1.2), limitedh79extrapolation3.cc (1.2), limitedh79extrapolation4.cc (1.2), linearpartition1.cc (1.9), linearpartition2.cc (1.9), linearpartition3.cc (1.9), linexpression1.cc (1.3), mc91.cc (1.11), memory1.cc (1.19), minconstraints1.cc (1.4), minconstraints2.cc (1.4), minconstraints3.cc (1.3), minconstraints4.cc (1.7), mingenerators1.cc (1.4), mingenerators2.cc (1.3), mingenerators3.cc (1.3), onepoint.cc (1.9), operator1.cc (1.4), permute.cc (1.28), polydifference1.cc (1.6), polydifference2.cc (1.8), polydifference3.cc (1.3), polydifference4.cc (1.4), polydifference5.cc (1.5), polydifference6.cc (1.5), polydifference7.cc (1.4), polyhull1.cc (1.6), polyhull10.cc (1.3), polyhull2.cc (1.6), polyhull3.cc (1.6), polyhull4.cc (1.5), polyhull5.cc (1.4), polyhull6.cc (1.4), polyhull7.cc (1.3), polyhull8.cc (1.4), polyhull9.cc (1.5), randphull1.cc (1.8), randphull2.cc (1.5), relations1.cc (1.9), relations10.cc (1.5), relations11.cc (1.5), relations12.cc (1.4), relations13.cc (1.4), relations14.cc (1.4), relations15.cc (1.4), relations16.cc (1.4), relations17.cc (1.6), relations18.cc (1.4), relations19.cc (1.5), relations2.cc (1.10), relations3.cc (1.10), relations4.cc (1.10), relations5.cc (1.10), relations6.cc (1.9), relations7.cc (1.9), relations8.cc (1.9), relations9.cc (1.11), removedim1.cc (1.10), removedim2.cc (1.14), removedim3.cc (1.10), removedim4.cc (1.11), removedim5.cc (1.9), removedim6.cc (1.12), removedim7.cc (1.7), removedim8.cc (1.5), removedim9.cc (1.4), shuffledim1.cc (1.10), smm1.cc (1.13), timeelapse1.cc (1.7), timeelapse2.cc (1.7), timeelapse3.cc (1.7), timeelapse4.cc (1.7), timeelapse5.cc (1.7), timeelapse6.cc (1.3), timeelapse7.cc (1.3), timeelapse8.cc (1.4), topclosed1.cc (1.4), topclosed2.cc (1.3), topclosed3.cc (1.5), topclosure1.cc (1.6), topclosure2.cc (1.3), topclosure3.cc (1.3), topclosure4.cc (1.5), universe1.cc (1.8), universe2.cc (1.9), universe3.cc (1.9), universe4.cc (1.9), universe5.cc (1.10), universe6.cc (1.7), watchdog1.cc (1.17), writeconsys1.cc (1.6), writegensys1.cc (1.7), writegensys2.cc (1.7), writegensys3.cc (1.6), writepolyhedron1.cc (1.6), writepolyhedron2.cc (1.7), writepolyhedron3.cc (1.6), writerelation1.cc (1.6), writevariable1.cc (1.6): Treatment of exceptions harmonized. Some stylistic improvements. 2003-03-07 Friday 09:07 Patricia M. Hill * interfaces/Prolog/: Prolog_interface.dox (1.82), pl_check.pl (1.44): Added documentation and tests for the new Prolog interface predicates ppl_Polyhedron_generalized_affine_image/5 and ppl_Polyhedron_generalized_affine_image_lhs_rhs/4. 2003-03-06 Thursday 22:10 Roberto Bagnara * tests/: append1.cc (1.20), permute.cc (1.27), shuffledim1.cc (1.9): Return 1 on failure. 2003-03-06 Thursday 21:48 Roberto Bagnara * interfaces/C/ppl_c.h (1.70): Avoid using `//' comments, since they are not in C89. Let the multiple inclusion guard be external to everything. 2003-03-06 Thursday 21:34 Roberto Bagnara * interfaces/Prolog/: ppl_prolog.icc (1.89), Ciao/ppl_ciao.pl (1.36), GNU/ppl_gprolog.pl (1.26), SICStus/ppl_sicstus_sd.cc (1.40), SWI/ppl_swiprolog.cc (1.64), XSB/ppl_xsb.H (1.14), XSB/ppl_xsb.cc (1.24), YAP/ppl_yap.cc (1.58): New predicates ppl_Polyhedron_generalized_affine_image/5 and ppl_Polyhedron_generalized_affine_image_lhs_rhs/4. 2003-03-06 Thursday 15:30 Roberto Bagnara * src/version.hh.in (1.4): Specify that the beta number is zero for official releases and nonzero for development snapshots. 2003-03-06 Thursday 12:52 Enea Zaffanella * interfaces/Prolog/Prolog_interface.dox (1.81): Improved discussion about *_and_minimize predicates. 2003-03-06 Thursday 11:14 Enea Zaffanella * src/version.hh.in (1.3): Small correction of module heading. 2003-03-06 Thursday 11:13 Enea Zaffanella * doc/definitions.dox (1.109), doc/fdl.dox (1.3), doc/gpl.dox (1.4), interfaces/C/ppl_c.h (1.69), interfaces/Prolog/Prolog_interface.dox (1.80): Let the licence pages and the documentation of foreign language interfaces be grouped into ``modules'', so as to avoid spreading information in too many places of the user manual. We no longer have a ``PPL pages'' index. 2003-03-06 Thursday 09:43 Patricia M. Hill * interfaces/Prolog/pl_check.pl (1.43): Updated the predicate testing the PPL watchdog predicates to use ppl_Polyhedron_swap/2. 2003-03-06 Thursday 09:25 Patricia M. Hill * interfaces/Prolog/: Prolog_interface.dox (1.79), pl_check.pl (1.42): Added the ppl_Polyhedron_time_elapse_assign/2 to the Prolog documentation and to the tests in pl_check.pl. 2003-03-05 Wednesday 23:53 Enea Zaffanella * src/version.hh.in (1.2): Library defines with version info put inside a \defgroup block to have them appear in the user documentation. 2003-03-05 Wednesday 18:13 Roberto Bagnara * tests/: append1.cc (1.19), append2.cc (1.20), concatenate1.cc (1.6), permute.cc (1.26): Do not use the obsolete operator>>(const Constraint&, unsigned int). 2003-03-05 Wednesday 18:08 Roberto Bagnara * interfaces/Prolog/: ppl_prolog.icc (1.88), Ciao/ppl_ciao.pl (1.35), GNU/ppl_gprolog.pl (1.25), SICStus/ppl_sicstus_sd.cc (1.39), SWI/ppl_swiprolog.cc (1.63), XSB/ppl_xsb.H (1.13), XSB/ppl_xsb.cc (1.23), YAP/ppl_yap.cc (1.57): New predicate ppl_Polyhedron_time_elapse_assign/2. 2003-03-05 Wednesday 17:40 Enea Zaffanella * src/Polyhedron.inlines.hh (1.64), tests/shuffledim1.cc (1.8): Corrected implementation of shuffle_dimensions() and the known result in the last test of shuffledim1. 2003-03-05 Wednesday 16:11 Roberto Bagnara * src/Polyhedron.cc (1.317): Avoid useless abbreviations. 2003-03-05 Wednesday 15:41 Patricia M. Hill * interfaces/Prolog/pl_check.pl (1.41): Call to polydiff_assign_min removed from check_all. 2003-03-05 Wednesday 15:34 Patricia M. Hill * interfaces/Prolog/: Prolog_interface.dox (1.78), pl_check.pl (1.40): Added ppl_Polyhedron_swap/2. Shuffle_Map syntax added and ppl_Polyhedron_shuffle_dimensions/2 documentation header added. 2003-03-05 Wednesday 14:41 Roberto Bagnara * NEWS (1.65), interfaces/C/ppl_c.cc (1.65), interfaces/C/ppl_c.h (1.68), interfaces/Prolog/Prolog_interface.dox (1.77), interfaces/Prolog/pl_check.pl (1.39), interfaces/Prolog/ppl_prolog.icc (1.87), interfaces/Prolog/Ciao/ppl_ciao.pl (1.34), interfaces/Prolog/GNU/ppl_gprolog.pl (1.24), interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.38), interfaces/Prolog/SWI/ppl_swiprolog.cc (1.62), interfaces/Prolog/XSB/ppl_xsb.H (1.12), interfaces/Prolog/XSB/ppl_xsb.cc (1.22), interfaces/Prolog/YAP/ppl_yap.cc (1.56), src/Polyhedron.cc (1.316), src/Polyhedron.defs.hh (1.195), tests/polydifference6.cc (1.4): The method Polyhedron::poly_difference_assign_and_minimize(const Polyhedron&) has been removed. 2003-03-05 Wednesday 14:30 Roberto Bagnara * interfaces/Prolog/: ppl_prolog.icc (1.86), Ciao/ppl_ciao.pl (1.33), GNU/ppl_gprolog.pl (1.23), SICStus/ppl_sicstus_sd.cc (1.37), SWI/ppl_swiprolog.cc (1.61), XSB/ppl_xsb.H (1.11), XSB/ppl_xsb.cc (1.21), YAP/ppl_yap.cc (1.55): New predicate ppl_Polyhedron_swap/2. 2003-03-05 Wednesday 14:19 Enea Zaffanella * src/: Polyhedron.cc (1.315), Polyhedron.defs.hh (1.194): The (dis-)equality boolean functions operator== and operator!= on objects of the class Polyhedron no longer require topological- and dimension-consistency. Inconsistent objects are not equivalent. 2003-03-05 Wednesday 14:10 Roberto Bagnara * NEWS (1.64), configure.ac (1.89), src/Makefile.am (1.60), src/version.cc (1.1), src/version.hh.in (1.1): New macros PPL_VERSION_MAJOR, PPL_VERSION_MINOR, PPL_VERSION_REVISION, and PPL_VERSION_BETA allow the client application to adapt to different versions of the library. New function const char* version() returns a character string containing the PPL version. New function const char* banner() returns a character string containing information about the PPL version, the licensing, the lack of any warranty whatsoever, the C++ compiler used to build the library, where to report bugs and where to look for further information. 2003-03-05 Wednesday 14:00 Roberto Bagnara * NEWS (1.63): News item concerning the new Polyhedron::generalized_affine_image() operators revised. 2003-03-05 Wednesday 10:14 Roberto Bagnara * tests/shuffledim1.cc (1.7): Added a test showing a bug in Polyhedron::shuffle_dimensions(). 2003-03-05 Wednesday 10:10 Enea Zaffanella * NEWS (1.62): Improved the synthetic description of methods generalized_affine_image(). 2003-03-04 Tuesday 22:13 Roberto Bagnara * configure.ac (1.88): Require GMP version 4.1.2 or following. 2003-03-04 Tuesday 18:34 Roberto Bagnara * NEWS (1.61): The C and Prolog interfaces have been extended so as to make more of the library's functionality available to Prolog and C users. 2003-03-04 Tuesday 18:29 Roberto Bagnara * interfaces/C/ppl_c.h (1.67): Comments fixed. 2003-03-04 Tuesday 18:27 Roberto Bagnara * interfaces/C/: ppl_c.cc (1.64), ppl_c.h (1.66): New functions ppl_ConSys_clear() and ppl_GenSys_clear(). 2003-03-04 Tuesday 17:38 Roberto Bagnara * interfaces/Prolog/ppl_prolog.icc (1.85): Predicate ppl_Polyhedron_shuffle_dimensions(Ph, PFun) now fails if the domain of PFun is not contained in the space dimension of Ph. 2003-03-04 Tuesday 17:17 Enea Zaffanella * NEWS (1.60): Added the new Polyhedron::generalized_affine_image() method. 2003-03-04 Tuesday 15:59 Roberto Bagnara * NEWS (1.59), src/Constraint.cc (1.37), src/Constraint.defs.hh (1.81): The operator Constraint operator>>(const Constraint&, dimension_type) has been removed. 2003-03-04 Tuesday 15:25 Enea Zaffanella * doc/definitions.dox (1.108), src/Polyhedron.defs.hh (1.193): Reordered the sections in the final part of definitions.dox; added a section on extrapolation operators, describing the limited and bounded extrapolation operators. Corrected capitalization of a doxygen reference. 2003-03-04 Tuesday 14:37 Roberto Bagnara * interfaces/C/: ppl_c.cc (1.63), ppl_c.h (1.65): New functions ppl_Polyhedron_generalized_affine_image() and ppl_Polyhedron_generalized_affine_image_lhs_rhs(). 2003-03-04 Tuesday 08:19 Patricia M. Hill * interfaces/Prolog/pl_check.pl (1.38): Bug corrected. 2003-03-04 Tuesday 08:13 Patricia M. Hill * interfaces/Prolog/pl_check.pl (1.37): Improved tests for widenig operators. Added tests for ...shuffle_dimensions. 2003-03-04 Tuesday 06:16 Roberto Bagnara * ppl.spec.in (1.17): We require GMP at least 4.1.2. 2003-03-03 Monday 21:55 Roberto Bagnara * interfaces/C/ppl_c.h (1.64): For some reason, GMP up to and including version 4.1.2 requires to be included before . 2003-03-03 Monday 21:55 Roberto Bagnara * interfaces/C/: ppl_c.cc (1.62), ppl_c.h (1.63): The `var' argument of ppl_Constraint_coefficient() and ppl_Generator_coefficient() is of type ppl_dimension_type. 2003-03-03 Monday 21:44 Roberto Bagnara * interfaces/C/ppl_c.h (1.62): FIXME added. 2003-03-03 Monday 21:38 Roberto Bagnara * interfaces/C/ppl_c.h (1.61): Do not worry about versions of GMP prior to 4.1.2 since they are not supported anyway. 2003-03-03 Monday 21:33 Roberto Bagnara * interfaces/C/: ppl_c.cc (1.61), ppl_c.h (1.60): New function ppl_Polyhedron_time_elapse_assign(). 2003-03-03 Monday 21:22 Roberto Bagnara * interfaces/C/: ppl_c.cc (1.60), ppl_c.h (1.59): Added ppl_Polyhedron_bounded_BHRZ03_extrapolation_assign() and ppl_Polyhedron_bounded_H79_extrapolation_assign(). Comments of ppl_Polyhedron_limited_BHRZ03_extrapolation_assign() and ppl_Polyhedron_limited_H79_extrapolation_assign() fixed. 2003-03-03 Monday 21:07 Roberto Bagnara * depcomp (1.4), install-sh (1.4), Watchdog/depcomp (1.2), Watchdog/install-sh (1.2): Updated. 2003-03-03 Monday 21:07 Roberto Bagnara * configure.ac (1.87), Watchdog/configure.ac (1.16): Require Autoconf 2.57 or following and Automake 1.7.3 or following. 2003-03-03 Monday 20:01 Roberto Bagnara * src/: PowerSet.defs.hh (1.27), PowerSet.inlines.hh (1.31): The method PowerSet::limited_H79_extrapolation_assign() takes a constant constraint system. 2003-03-03 Monday 19:59 Roberto Bagnara * interfaces/C/: ppl_c.cc (1.59), ppl_c.h (1.58): ppl_Polyhedron_limited_BHRZ03_extrapolation_assign() and ppl_Polyhedron_limited_H79_extrapolation_assign() take a constant constraint system. 2003-03-03 Monday 18:35 Roberto Bagnara * ltmain.sh (1.12), Watchdog/COPYING (1.2), Watchdog/ChangeLog (1.3), Watchdog/INSTALL (1.2), Watchdog/NEWS (1.2), Watchdog/config.guess (1.2), Watchdog/config.sub (1.2), Watchdog/ltmain.sh (1.2): Updated. 2003-03-03 Monday 18:21 Roberto Bagnara * Watchdog/Makefile.am (1.7): Update version info. 2003-03-03 Monday 18:14 Roberto Bagnara * interfaces/C/Makefile.am (1.13), src/Makefile.am (1.59): AGE must be reset to 0 since we removed some interfaces. 2003-03-03 Monday 17:54 Roberto Bagnara * tests/: exceptions1.cc (1.30), exceptions2.cc (1.24): Refer the new extrapolation operators. 2003-03-03 Monday 17:45 Roberto Bagnara * NEWS (1.58), interfaces/C/ppl_c.cc (1.58), interfaces/C/ppl_c.h (1.57), interfaces/Prolog/Prolog_interface.dox (1.76), interfaces/Prolog/pl_check.pl (1.36), interfaces/Prolog/ppl_prolog.icc (1.84), interfaces/Prolog/Ciao/ppl_ciao.pl (1.32), interfaces/Prolog/GNU/ppl_gprolog.pl (1.22), interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.36), interfaces/Prolog/SWI/ppl_swiprolog.cc (1.60), interfaces/Prolog/XSB/ppl_xsb.H (1.10), interfaces/Prolog/XSB/ppl_xsb.cc (1.20), interfaces/Prolog/YAP/ppl_yap.cc (1.54), src/Determinate.defs.hh (1.27), src/Determinate.inlines.hh (1.25), src/Polyhedron.cc (1.314), src/Polyhedron.defs.hh (1.192), src/PowerSet.defs.hh (1.26), src/PowerSet.inlines.hh (1.30), src/algorithms.hh (1.14), tests/Makefile.am (1.173), tests/limitedbhrz03extrapolation1.cc (1.1), tests/limitedbhrz03widening1.cc (1.5), tests/limitedh79extrapolation1.cc (1.1), tests/limitedh79extrapolation2.cc (1.1), tests/limitedh79extrapolation3.cc (1.1), tests/limitedh79extrapolation4.cc (1.1), tests/limitedh79widening1.cc (1.6), tests/limitedh79widening2.cc (1.7), tests/limitedh79widening3.cc (1.4), tests/limitedh79widening4.cc (1.4): From now on, the name `widening' is reserved for operators that come with a convergence guarantee (i.e., with the ability of turning infinite chains to finite ones). Upper bound operators without such a guarantee contain the word `extrapolation' in their name. 2003-03-03 Monday 16:39 Roberto Bagnara * interfaces/C/ppl_c.cc (1.57): Confine implementation classes into anonymous namespaces. 2003-03-03 Monday 16:30 Roberto Bagnara * NEWS (1.57): News item for Polyhedron::shrink_bounding_box() completed. 2003-03-03 Monday 16:29 Roberto Bagnara * NEWS (1.56): News item concerning Polyhedron::shuffle_dimensions() completed. 2003-03-03 Monday 16:22 Roberto Bagnara * interfaces/C/: ppl_c.cc (1.56), ppl_c.h (1.56): New function int ppl_Polyhedron_shuffle_dimensions(). 2003-03-03 Monday 15:22 Enea Zaffanella * src/Polyhedron.defs.hh (1.191): Another reorganization for better documentation. 2003-03-03 Monday 14:24 Enea Zaffanella * src/Polyhedron.defs.hh (1.190): Let all the methods _and_minimize be declared after the corresponding methods , so that a less disordered documentation is produced. 2003-03-03 Monday 12:19 Enea Zaffanella * src/: Polyhedron.cc (1.313), Polyhedron.defs.hh (1.189): Now the constraint system parameter of methods bounded_*_widening_assign and limited_*_widening_assign is a const parameter. 2003-03-03 Monday 11:53 Roberto Bagnara * interfaces/C/: ppl_c.cc (1.55), ppl_c.h (1.55): New function int ppl_not_a_dimension(ppl_dimension_type*). 2003-03-03 Monday 11:28 Roberto Bagnara * interfaces/Prolog/: ppl_prolog.icc (1.83), Ciao/ppl_ciao.pl (1.31), GNU/ppl_gprolog.pl (1.21), SICStus/ppl_sicstus_sd.cc (1.35), SWI/ppl_swiprolog.cc (1.59), XSB/ppl_xsb.H (1.9), XSB/ppl_xsb.cc (1.19), YAP/ppl_yap.cc (1.53): New predicate ppl_Polyhedron_shuffle_dimensions/2. 2003-03-03 Monday 11:27 Roberto Bagnara * NEWS (1.55), src/globals.hh (1.31): New function dimension_type not_a_dimension(): returns a value that does not designate a valid dimension. 2003-03-03 Monday 08:13 Roberto Bagnara * TODO (1.35): We must explain to the users of CVS versions how to build the documentation. 2003-03-02 Sunday 20:12 Roberto Bagnara * TODO (1.34): Make sure all the functionalities are available in all interfaces. 2003-03-02 Sunday 20:11 Roberto Bagnara * TODO (1.33), src/Polyhedron.defs.hh (1.188), src/Polyhedron.inlines.hh (1.63): Documentation of Polyhedron::shuffle_dimensions() improved. 2003-03-02 Sunday 19:54 Roberto Bagnara * TODO (1.32): More things that should not be forgotten. 2003-03-02 Sunday 19:51 Roberto Bagnara * NEWS (1.54): News items added, others improved, reorganized. 2003-03-02 Sunday 19:26 Roberto Bagnara * ChangeLog (1.11): Updated. 2003-03-01 Saturday 15:18 Roberto Bagnara * src/Polyhedron.cc (1.312): Full stop added. 2003-03-01 Saturday 07:38 Roberto Bagnara * interfaces/Prolog/SICStus/sicstus_cfli.ic (1.5): Include assert.h. 2003-03-01 Saturday 07:38 Roberto Bagnara * interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.34): Includes reordered. 2003-03-01 Saturday 07:24 Roberto Bagnara * configure.ac (1.86): Enable shared the libraries by default. 2003-03-01 Saturday 07:23 Roberto Bagnara * config.guess (1.17), config.sub (1.16), ltmain.sh (1.11): Updated. 2003-02-24 Monday 18:50 Roberto Bagnara * doc/devref-browse.doxyconf-latex.in (1.25), doc/devref-print.doxyconf-latex.in (1.25), doc/devref.doxyconf-html.in (1.26), src/Init.cc (1.8), src/Makefile.am (1.58), src/Polyhedron.cc (1.311), src/Statistics.hh (1.2), src/statistics.hh (1.1): Statistics.hh improved, added to the documentation for developers, and renamed statistics.hh. 2003-02-24 Monday 16:59 Enea Zaffanella * src/: Init.cc (1.7), Makefile.am (1.57), Polyhedron.cc (1.310), Statistics.hh (1.1), globals.cc (1.12), globals.hh (1.30): Removed from globals.hh and globals.cc all the stuff related to statistics and placed into Statistics.hh; modified Polyhedron.cc and Init.cc accordingly. 2003-02-23 Sunday 21:52 Enea Zaffanella * tests/: bhrz03widening2.cc (1.4), limitedbhrz03widening1.cc (1.4): Restored expected result after correction on evolving points technique. 2003-02-23 Sunday 20:01 Enea Zaffanella * src/Polyhedron.cc (1.309), tests/Makefile.am (1.172), tests/bhrz03widening3.cc (1.4): Improved is_BHRZ03_stabilizing to always avoid considering the low-level constraints when comparing the number of constraints. As a consequence, changed back the known result of test bhrz03widening3. 2003-02-23 Sunday 16:49 Roberto Bagnara * TODO (1.31): Remember to comment uncommented classes. 2003-02-23 Sunday 09:28 Roberto Bagnara * doc/: devref.tex (1.10), user.tex (1.11): Thank the CoVer project. 2003-02-22 Saturday 22:06 Roberto Bagnara * src/conversion.cc (1.44): Two FIXMEs dealt with and removed. 2003-02-22 Saturday 21:57 Roberto Bagnara * src/: Row.inlines.hh (1.37), SatRow.inlines.hh (1.24): Redundant comment removed. 2003-02-22 Saturday 21:42 Roberto Bagnara * src/: Row.inlines.hh (1.36), SatRow.inlines.hh (1.23): FIXMEs related to Doxygen's bugs removed. 2003-02-22 Saturday 21:30 Roberto Bagnara * src/Row.defs.hh (1.61): FIXME dealt with and removed. 2003-02-22 Saturday 21:13 Roberto Bagnara * tests/: Makefile.am (1.171), bhrz03widening2.cc (1.3), bhrz03widening3.cc (1.3), limitedbhrz03widening1.cc (1.3): Expected results adjusted. 2003-02-22 Saturday 17:43 Roberto Bagnara * src/Polyhedron.cc (1.308): Commit to BHRZ03_EP_DELAY_INTERSECTION. 2003-02-22 Saturday 09:40 Enea Zaffanella * src/PowerSet.defs.hh (1.25): Fixed a parameter name mismatch in the documentation. 2003-02-21 Friday 19:43 Enea Zaffanella * src/Constraint.defs.hh (1.80): Doxygen documentation fix: "<" and ">" should not be escaped by "\" when occurring inside a \code ... \endcode section. 2003-02-21 Friday 18:41 Roberto Bagnara * doc/definitions.dox (1.107): Bibliography and bibliographic references improved. 2003-02-21 Friday 18:39 Roberto Bagnara * doc/bib2html2.sed (1.3): Provide text for the \ref link commands. 2003-02-21 Friday 18:12 Roberto Bagnara * doc/: bib2dox (1.3), bib2html2.sed (1.2): Produce cross-references that work well with any Doxygen output. 2003-02-21 Friday 16:09 Enea Zaffanella * doc/definitions.dox (1.106), src/Polyhedron.defs.hh (1.187): In the documentation, added explanation for the BHRZ03 widening and the widening with tokens technique. Broken links replaced by \ref and \anchor. 2003-02-21 Friday 11:55 Roberto Bagnara * ltmain.sh (1.10): Updated. 2003-02-21 Friday 11:51 Roberto Bagnara * configure.ac (1.85): Version number bumped. 2003-02-21 Friday 10:12 Enea Zaffanella * src/: Polyhedron.cc (1.307), Polyhedron.defs.hh (1.186): The widening-with-tokens delay technique is now also available for the standard widening as well as the ``limited'' and ``bounded'' variants. 2003-02-21 Friday 09:28 Patricia M. Hill * TODO (1.30): Items dealt with removed. 2003-02-21 Friday 09:22 Patricia M. Hill * interfaces/Prolog/: Prolog_interface.dox (1.75), pl_check.pl (1.35): Prolog_interface.dox: Added simple descriptions for the timeout predicates. Atom added to the syntax of the language specification. pl_check.pl Several small improvements. 2003-02-21 Friday 08:21 Roberto Bagnara * src/: Polyhedron.cc (1.306), Polyhedron.defs.hh (1.185): In Polyhedron::BHRZ03_widening_assign(), pass the number of tokens as `unsigned', not `long'. 2003-02-20 Thursday 16:30 Enea Zaffanella * src/: Init.cc (1.6), Polyhedron.cc (1.305), Polyhedron.defs.hh (1.184), globals.hh (1.29): The averaging_constraints technique is now called combining_constraints. Added optional pointer argument to BHRZ03_widening_assign to implement the ``widening-with-tokens'' technique. 2003-02-19 Wednesday 09:08 Roberto Bagnara * interfaces/Prolog/track_allocation.hh (1.12): Declaration fixed. 2003-02-16 Sunday 14:22 Roberto Bagnara * ltmain.sh (1.9): Updated. 2003-02-16 Sunday 14:21 Roberto Bagnara * tests/: bhrz03widening15.cc (1.4), bhrz03widening6.cc (1.3), bhrz03widening7.cc (1.3): Expected results fixed. 2003-02-11 Tuesday 11:29 Roberto Bagnara * src/Polyhedron.cc (1.304): Commit to BHRZ03_AC_CHECKS_H79_BOUNDARY=1. 2003-02-11 Tuesday 11:26 Roberto Bagnara * src/Polyhedron.cc (1.303): Commit to BHRZ03_AC_IS_SUM=1. 2003-02-11 Tuesday 11:25 Roberto Bagnara * src/Polyhedron.cc (1.302): Commit to BHRZ03_ER_CWQ=1. 2003-02-09 Sunday 18:34 Roberto Bagnara * src/Polyhedron.cc (1.301): New candidate techniques for the implementation of BRHZ03. 2003-02-07 Friday 20:36 Enea Zaffanella * src/Polyhedron.cc (1.300): Let an assertion in select_H79_constraints be satisfied. 2003-02-07 Friday 17:05 Roberto Bagnara * src/Polyhedron.cc (1.299): Unreachable statements removed. 2003-02-07 Friday 17:04 Roberto Bagnara * src/Polyhedron.inlines.hh (1.62): Make sure inline functions are defined before being used. 2003-02-07 Friday 11:44 Enea Zaffanella * src/Polyhedron.cc (1.298): Added new preproc flag BHRZ03_EP_P1_P2 to be experimented with. 2003-02-07 Friday 10:56 Roberto Bagnara * Watchdog/Watchdog.cc (1.10): Throw std::runtime_error instead of calling abort(). 2003-02-07 Friday 10:52 Roberto Bagnara * Watchdog/Watchdog.inlines.hh (1.9): Throw std::invalid_argument if a Watchdog constructor is called with a non-positive number of time units. 2003-02-06 Thursday 18:07 Enea Zaffanella * src/Polyhedron.cc (1.297): Added preprocessing flag BHRZ03_EP_DELAY_INTERSECTION, enabling a different implementation of the evolving points technique to be experimented with. 2003-02-06 Thursday 10:00 Roberto Bagnara * src/Polyhedron.cc (1.296): Make BHRZ03_AC_IS_SUM and BHRZ03_AC_CHECKS_H79_BOUNDARY default to 1. 2003-02-05 Wednesday 16:10 Enea Zaffanella * src/Polyhedron.cc (1.295), tests/limitedh79widening2.cc (1.6): Corrected the implementation of limited_H79_widening_assign to match its specification; the same for limited_BHRZ03_widening_assign. Corrected the known result of test limitedh79widening2, which was computed according to a flawed specification. 2003-02-05 Wednesday 15:07 Roberto Bagnara * src/Polyhedron.cc (1.294): Both BHRZ03_AC_IS_SUM and BHRZ03_AC_CHECKS_H79_BOUNDARY default to 0. 2003-02-05 Wednesday 14:45 Roberto Bagnara * src/: Polyhedron.cc (1.293), Polyhedron.defs.hh (1.183): A first, totally untested implementation of Polyhedron::bounded_H79_widening_assign() and Polyhedron::bounded_BHRZ03_widening_assign(). 2003-02-05 Wednesday 11:26 Enea Zaffanella * src/Polyhedron.defs.hh (1.182): Improved the Doxygen comments for the two limited widening operators. 2003-02-05 Wednesday 10:54 Roberto Bagnara * src/Polyhedron.defs.hh (1.181): Give more guarantees to the user of Polyhedron::shrink_bounding_box(). 2003-02-05 Wednesday 10:49 Enea Zaffanella * src/Polyhedron.cc (1.292): Added preprocessing flags to control whether or not, in the technique BHRZ03_averaging_constraints, we actually compute averages or just sum the constraints and whether the selected point can lie on the boundary of H79. 2003-02-04 Tuesday 21:41 Roberto Bagnara * config.guess (1.16), config.sub (1.15): Updated. 2003-02-04 Tuesday 20:58 Roberto Bagnara * src/Polyhedron.cc (1.291): Spurious newline removed. 2003-02-04 Tuesday 19:37 Enea Zaffanella * src/Polyhedron.cc (1.290): Avoiding equality check in is_BHRZ03_stabilizing, which is called more than once, and computing it just once inside BHRZ03_widening_assign. 2003-02-04 Tuesday 11:35 Enea Zaffanella * src/Polyhedron.cc (1.289): Corrected a bug in H79_widening_assign, whereby we were relying on the number of columns of a constraint system that was not up-to-date. 2003-02-04 Tuesday 09:35 Enea Zaffanella * src/: Polyhedron.cc (1.288), Polyhedron.inlines.hh (1.61): When declaring constraints (generators) no longer up-to-date, also clearing the pending constraints (generators) flag. In H79_widening_assign, avoiding the creation of polyhedra having the wrong dimension. 2003-02-03 Monday 15:11 Enea Zaffanella * src/: Polyhedron.cc (1.287), Polyhedron.defs.hh (1.180): The quick equivalence check is now a provate method of Polyhedron and it is called also by the inclusion test operator<=. Improved the computation of the H79widening operator by resorting to CH78 when polyhedra x and y have the same dimension. 2003-02-01 Saturday 15:35 Roberto Bagnara * src/Polyhedron.cc (1.286): Commented out conditionals removed. 2003-02-01 Saturday 11:45 Roberto Bagnara * src/Matrix.cc (1.51): Old garbage removed. 2003-01-31 Friday 21:53 Roberto Bagnara * src/Matrix.cc (1.50): Fixed a very serious performance bug in Matrix::add_pending_rows() whereby adding one row to a matrix with `n' rows had complexity O(n) instead of amortized constant. 2003-01-27 Monday 13:35 Roberto Bagnara * interfaces/Prolog/XSB/: expected (1.6), expected2 (1.7): Adapted to the new normal form. 2003-01-27 Monday 11:02 Enea Zaffanella * configure.ac (1.84), interfaces/Prolog/expected (1.5), interfaces/Prolog/expected2 (1.9), src/Row.cc (1.49), src/Row.defs.hh (1.60): Modified strong normalization of rows, so that the first *homogeneous* coefficient is required to be positive. 2003-01-27 Monday 10:56 Enea Zaffanella * src/Polyhedron.cc (1.285): Removed no longer used preprocessing flag. 2003-01-27 Monday 10:54 Enea Zaffanella * src/: Matrix.cc (1.49), Matrix.defs.hh (1.42): Added private method Matrix::gram_shmidt() to orthogonalize a matrix so that its rays/points/inequalities have a unique representation. 2003-01-27 Monday 10:51 Enea Zaffanella * src/: conversion.cc (1.43), minimize.cc (1.31), simplify.cc (1.25): Adjusted a few comments that became outdated after the merge with the lazy branch. Removed a couple of FIXME's. 2003-01-26 Sunday 22:02 Roberto Bagnara * Watchdog/Watchdog.cc (1.9): Ported to Cygwin (it only supports ITIMER_REAL). Robustness increased. Throw std:runtime_error exceptions instead of calling exit(). 2003-01-24 Friday 18:46 Enea Zaffanella * src/: ConSys.defs.hh (1.77), GenSys.defs.hh (1.89), Polyhedron.cc (1.284), Polyhedron.defs.hh (1.179), Polyhedron.inlines.hh (1.60): Equality test between polyhedra improved to first perform a few fast-fail checks, including a complete test for representations in normal form. 2003-01-24 Friday 10:46 Enea Zaffanella * src/: Polyhedron.cc (1.283), Polyhedron.defs.hh (1.178): Added private method void select_CH78_constraints(const Polyhedron& y, ConSys& cs) const; performing a constraint selection from y.con_sys according to the definition of the widening as reported in Cousot&Halbwachs78. 2003-01-24 Friday 10:43 Enea Zaffanella * src/: Constraint.defs.hh (1.79), GenSys.cc (1.75), GenSys.defs.hh (1.88): Added private method bool GenSys::satisfied_by_all_generators(const Constraint& c) const. 2003-01-21 Tuesday 11:22 Patricia M. Hill * interfaces/Prolog/pl_check.pl (1.34): Test for time out predicates improved. 2003-01-21 Tuesday 10:06 Roberto Bagnara * interfaces/Prolog/ppl_prolog.icc (1.82): Make sure that the timeout is reset when caught. 2003-01-21 Tuesday 09:00 Patricia M. Hill * interfaces/Prolog/: Prolog_interface.dox (1.74), pl_check.pl (1.33), ppl_prolog.icc (1.81): Restored deleted text. 2003-01-20 Monday 15:35 Enea Zaffanella * interfaces/Prolog/expected (1.4), interfaces/Prolog/expected2 (1.8), interfaces/Prolog/XSB/expected (1.5), interfaces/Prolog/XSB/expected2 (1.6), tests/bhrz03widening15.cc (1.3), tests/bhrz03widening9.cc (1.4): Applying some semantically preserving syntactic changes to the expected results in order to match what is obtained after modification to methods Matrix::gauss() and Matrix::back_substitute(). The changes are also semantic for the known results of bhrz03widening9/15. 2003-01-20 Monday 09:25 Enea Zaffanella * src/: Polyhedron.cc (1.282), Polyhedron.defs.hh (1.177): Rewritten methods related to the computation of the BHRZ03 widening, which are no longer static and now take the polyhedron corresponding to the H79 widening as a parameter. 2003-01-20 Monday 09:22 Enea Zaffanella * src/: Matrix.cc (1.48), Row.cc (1.48), Row.defs.hh (1.59), minimize.cc (1.30), simplify.cc (1.24): Strong normalization of Row objects now enforce the first non-zero coefficient to be positive. When creating a matrix having n copies of the same row, the matrix is now declared to be sorted (since sortedness by itself does not implies that it has no duplicates); this also includes the case of empty matrices. Some improvements in methods Matrix::gauss() and Matrix::back_substitute(). 2003-01-18 Saturday 16:59 Enea Zaffanella * src/: Constraint.cc (1.36), Constraint.inlines.hh (1.43), Generator.cc (1.44), Matrix.cc (1.47), Polyhedron.cc (1.281), minimize.cc (1.29), simplify.cc (1.23): Implemented changes required to make the library compile cleanly and pass `make check' when the flag EXTRA_NORMALIZATION is set to 1 (the default being still 0). 2003-01-18 Saturday 12:53 Roberto Bagnara * tests/Makefile.am (1.170): The `libppl_tests.a' library should not be built until the `make check' command is run. 2003-01-18 Saturday 11:58 Enea Zaffanella * src/Polyhedron.cc (1.280): Corrected a bug in poly_hull_assign_and_minimize(). 2003-01-15 Wednesday 14:57 Enea Zaffanella * README (1.14), doc/devref-browse.doxyconf-latex.in (1.24), doc/devref-print.doxyconf-latex.in (1.24), doc/devref.doxyconf-html.in (1.25), src/Init.inlines.hh (1.8): No longer using file Init.inlines.hh. 2003-01-15 Wednesday 14:54 Enea Zaffanella * src/Polyhedron.cc (1.279): After applying each of the techniques of the BHRZ03 widening, check whether we have obtained a polyhedron strictly smaller than that one obtainable using the H79 widening. 2003-01-15 Wednesday 14:51 Enea Zaffanella * src/: Init.cc (1.5), Init.defs.hh (1.9), Makefile.am (1.56): Initialization and finalization of the library are no longer inlined. 2003-01-13 Monday 23:22 Enea Zaffanella * src/Polyhedron.cc (1.278): Many improvements in the code and comments of method averaging_constraints(). 2003-01-12 Sunday 23:42 Enea Zaffanella * src/Polyhedron.inlines.hh (1.59): Try to avoid minimization in method check_empty(). 2003-01-12 Sunday 23:35 Enea Zaffanella * src/Polyhedron.cc (1.277): In add_generators_and_minimize(), an odd use of method check_empty() replaced by correct use of method minimize(). 2003-01-12 Sunday 23:28 Enea Zaffanella * src/Matrix.defs.hh (1.41): Fixed documentation of method index_first_pending(). 2003-01-12 Sunday 11:45 Roberto Bagnara * tests/: Makefile.am (1.169), bug1.cc (1.4), bug1.dat (1.3): Obsolete bug witness removed. 2003-01-12 Sunday 11:42 Roberto Bagnara * tests/Makefile.am (1.168): No longer lie to automake. 2003-01-12 Sunday 08:33 Roberto Bagnara * Watchdog/Watchdog.defs.hh (1.11): Spurious, illegal qualification removed. 2003-01-12 Sunday 00:22 Enea Zaffanella * src/Polyhedron.cc (1.276): In check_universe(), try to avoid minimization as much as possible. 2003-01-11 Saturday 22:34 Enea Zaffanella * src/Polyhedron.cc (1.275): Got rid of preprocessing flag NEW_LIMITED_GROWTH_ORDERING: now always using the new lgo in is_BHRZ03_stabilizing(). Added preprocessing flag EVOLVING_RAYS_SATURATORS for testing purposes on the evolving rays technique of BHRZ03_widening_assign(). Some improvements in the variable names and comments of the evolving rays technique. No longer testing for stabilization after applying H79 (unless assertions are turned on). 2003-01-10 Friday 21:14 Roberto Bagnara * config.guess (1.15), config.sub (1.14): Updated. 2003-01-10 Friday 10:04 Roberto Bagnara * interfaces/Prolog/ppl_prolog.icc (1.80): Paranoid robustness improvements. 2003-01-10 Friday 09:59 Roberto Bagnara * interfaces/Prolog/ppl_prolog.icc (1.79): Avoid leaking memory on exit and in the case of multiple calls to ppl_set_timeout/1 not intermixed to calls to ppl_reset_timeout/0. 2003-01-10 Friday 09:50 Roberto Bagnara * NEWS (1.53), interfaces/Prolog/ppl_prolog.icc (1.78), interfaces/Prolog/Ciao/Makefile.am (1.15), interfaces/Prolog/Ciao/ppl_ciao.pl (1.30), interfaces/Prolog/GNU/Makefile.am (1.26), interfaces/Prolog/GNU/ppl_gprolog.pl (1.20), interfaces/Prolog/SICStus/Makefile.am (1.35), interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.33), interfaces/Prolog/SWI/Makefile.am (1.27), interfaces/Prolog/SWI/ppl_swiprolog.cc (1.58), interfaces/Prolog/XSB/Makefile.am (1.13), interfaces/Prolog/XSB/ppl_xsb.H (1.8), interfaces/Prolog/XSB/ppl_xsb.cc (1.18), interfaces/Prolog/YAP/Makefile.am (1.17), interfaces/Prolog/YAP/ppl_yap.cc (1.52), src/Init.cc (1.4): Timeout computation facilities have been added to the Prolog interfaces: new predicates ppl_set_timeout_exception_atom/1, ppl_timeout_exception_atom/1, ppl_set_timeout/1, ppl_reset_timeout/0. 2003-01-10 Friday 09:49 Roberto Bagnara * TODO (1.29): More urgent things to do. 2003-01-10 Friday 09:48 Roberto Bagnara * tests/watchdog1.cc (1.16): Do not explicitly initialize the Parma Watchdog Library. 2003-01-10 Friday 09:48 Roberto Bagnara * Watchdog/: Watchdog.cc (1.8), Watchdog.defs.hh (1.10), Watchdog.inlines.hh (1.8), Watchdog.types.hh (1.4): New "nifty counter" implementation of library's initialization and finalization. Explicit initialization and finalization is no longer necessary nor possible. 2003-01-10 Friday 08:32 Roberto Bagnara * interfaces/Prolog/XSB/: expected (1.4), expected2 (1.5): Update copyright years. 2003-01-09 Thursday 10:11 Roberto Bagnara * configure.ac (1.83), Watchdog/configure.ac (1.15): Building the Parma Watchdog Library is now enabled by default. 2003-01-09 Thursday 10:11 Roberto Bagnara * interfaces/Prolog/ppl_prolog.icc (1.77): Added a new class `timeout_exception'. 2003-01-07 Tuesday 16:46 Patricia M. Hill * interfaces/Prolog/: Prolog_interface.dox (1.73), pl_check.pl (1.32): A typo in the Prolog_interface,dox corrected and ppl_Polyhedron_is_disjoint_from_Polyhedron/2 documentation added. Many improvements to pl_check.pl and some bugs fixed. 2003-01-07 Tuesday 16:27 Roberto Bagnara * configure.ac (1.82): Bump version number. 2003-01-07 Tuesday 15:51 Roberto Bagnara * interfaces/Prolog/XSB/: expected (1.3), expected2 (1.4): Update copyright years. 2003-01-07 Tuesday 15:18 Roberto Bagnara * NEWS (1.52), configure.ac (1.81): We now require GMP 4.1.2 or higher. 2003-01-07 Tuesday 15:16 Enea Zaffanella * CREDITS (1.5): Typo corrected. 2003-01-07 Tuesday 15:12 Enea Zaffanella * CREDITS (1.4), doc/devref.tex (1.9), doc/user.tex (1.10): The MURST project COFIN01 credited. 2003-01-07 Tuesday 14:25 Roberto Bagnara * src/: Interval.defs.hh (1.12), Interval.inlines.hh (1.8): Old kludges removed. 2003-01-07 Tuesday 12:35 Enea Zaffanella * tests/bhrz03widening9.cc (1.3): Updated the known result to match the output according to the new limited growth ordering convergence criterion. 2003-01-07 Tuesday 12:30 Enea Zaffanella * src/globals.hh (1.28): Do not output statistics by default. 2003-01-01 Wednesday 02:48 Roberto Bagnara * Makefile.am (1.21), README (1.13), configure.ac (1.80), Watchdog/Makefile.am (1.6), Watchdog/README (1.4), Watchdog/Watchdog.cc (1.7), Watchdog/Watchdog.defs.hh (1.9), Watchdog/Watchdog.inlines.hh (1.7), Watchdog/Watchdog.types.hh (1.3), Watchdog/configure.ac (1.14), Watchdog/pwl_header.top (1.3), doc/Makefile.am (1.22), doc/definitions.dox (1.105), doc/devref.tex (1.8), doc/user.tex (1.9), interfaces/Makefile.am (1.6), interfaces/C/Makefile.am (1.12), interfaces/C/ppl_c.cc (1.54), interfaces/C/ppl_c.h (1.54), interfaces/Prolog/Makefile.am (1.21), interfaces/Prolog/Prolog_interface.dox (1.72), interfaces/Prolog/clpq.pl (1.14), interfaces/Prolog/clpq2.pl (1.25), interfaces/Prolog/exceptions.hh (1.7), interfaces/Prolog/expected (1.3), interfaces/Prolog/expected2 (1.7), interfaces/Prolog/pl_check.pl (1.31), interfaces/Prolog/ppl_prolog.icc (1.76), interfaces/Prolog/track_allocation.hh (1.11), interfaces/Prolog/Ciao/Makefile.am (1.14), interfaces/Prolog/Ciao/ciao_clpq.pl (1.4), interfaces/Prolog/Ciao/ppl_ciao.cc (1.17), interfaces/Prolog/Ciao/ppl_ciao.pl (1.29), interfaces/Prolog/GNU/Makefile.am (1.25), interfaces/Prolog/GNU/gp_clpq.pl (1.6), interfaces/Prolog/GNU/ppl_gprolog.pl (1.19), interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.12), interfaces/Prolog/SICStus/Makefile.am (1.34), interfaces/Prolog/SICStus/ppl_sicstus.pl (1.22), interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.32), interfaces/Prolog/SICStus/sicstus_cfli.cc (1.2), interfaces/Prolog/SICStus/sicstus_cfli.h (1.3), interfaces/Prolog/SICStus/sicstus_cfli.ic (1.4), interfaces/Prolog/SICStus/sp_clpq.pl (1.8), interfaces/Prolog/SWI/Makefile.am (1.26), interfaces/Prolog/SWI/pl_clpq.cc (1.6), interfaces/Prolog/SWI/pl_clpq.pl (1.4), interfaces/Prolog/SWI/ppl_pl.cc (1.6), interfaces/Prolog/SWI/ppl_swiprolog.cc (1.57), interfaces/Prolog/SWI/ppl_swiprolog.pl (1.2), interfaces/Prolog/XSB/Makefile.am (1.12), interfaces/Prolog/XSB/expected (1.2), interfaces/Prolog/XSB/expected2 (1.3), interfaces/Prolog/XSB/ppl_xsb.cc (1.17), interfaces/Prolog/XSB/xsb_clpq.P (1.6), interfaces/Prolog/XSB/xsb_clpq2.P (1.4), interfaces/Prolog/YAP/Makefile.am (1.16), interfaces/Prolog/YAP/ppl_yap.cc (1.51), interfaces/Prolog/YAP/ppl_yap.pl (1.6), interfaces/Prolog/YAP/yap_clpq.pl (1.6), interfaces/Prolog/YAP/yap_clpq2.pl (1.2), m4/Makefile.am (1.8), m4/ac_check_gmp.m4 (1.11), m4/ac_cxx_flexible_arrays.m4 (1.5), src/AskTell.defs.hh (1.11), src/AskTell.inlines.hh (1.11), src/AskTell.types.hh (1.4), src/BoundingBox.cc (1.5), src/BoundingBox.defs.hh (1.9), src/BoundingBox.inlines.hh (1.7), src/BoundingBox.types.hh (1.5), src/C_Polyhedron.cc (1.4), src/C_Polyhedron.defs.hh (1.19), src/C_Polyhedron.inlines.hh (1.13), src/C_Polyhedron.types.hh (1.6), src/ConSys.cc (1.57), src/ConSys.defs.hh (1.76), src/ConSys.inlines.hh (1.29), src/ConSys.types.hh (1.6), src/Constraint.cc (1.35), src/Constraint.defs.hh (1.78), src/Constraint.inlines.hh (1.42), src/Constraint.types.hh (1.6), src/Determinate.defs.hh (1.26), src/Determinate.inlines.hh (1.24), src/Determinate.types.hh (1.4), src/GenSys.cc (1.74), src/GenSys.defs.hh (1.87), src/GenSys.inlines.hh (1.30), src/GenSys.types.hh (1.6), src/Generator.cc (1.43), src/Generator.defs.hh (1.81), src/Generator.inlines.hh (1.39), src/Generator.types.hh (1.6), src/Init.cc (1.3), src/Init.defs.hh (1.8), src/Init.inlines.hh (1.7), src/Init.types.hh (1.5), src/Integer.cc (1.3), src/Integer.defs.hh (1.10), src/Integer.inlines.hh (1.9), src/Integer.types.hh (1.7), src/Interval.cc (1.6), src/Interval.defs.hh (1.11), src/Interval.inlines.hh (1.7), src/Interval.types.hh (1.5), src/LCompare.defs.hh (1.5), src/LCompare.inlines.hh (1.4), src/LCompare.types.hh (1.4), src/LinExpression.cc (1.16), src/LinExpression.defs.hh (1.57), src/LinExpression.inlines.hh (1.26), src/LinExpression.types.hh (1.6), src/Makefile.am (1.55), src/Matrix.cc (1.46), src/Matrix.defs.hh (1.40), src/Matrix.inlines.hh (1.29), src/Matrix.types.hh (1.6), src/NNC_Polyhedron.cc (1.10), src/NNC_Polyhedron.defs.hh (1.21), src/NNC_Polyhedron.inlines.hh (1.15), src/NNC_Polyhedron.types.hh (1.6), src/Poly_Con_Relation.cc (1.7), src/Poly_Con_Relation.defs.hh (1.19), src/Poly_Con_Relation.inlines.hh (1.9), src/Poly_Con_Relation.types.hh (1.5), src/Poly_Gen_Relation.cc (1.7), src/Poly_Gen_Relation.defs.hh (1.18), src/Poly_Gen_Relation.inlines.hh (1.9), src/Poly_Gen_Relation.types.hh (1.5), src/Polyhedron.cc (1.274), src/Polyhedron.defs.hh (1.176), src/Polyhedron.inlines.hh (1.58), src/Polyhedron.types.hh (1.8), src/PowerSet.defs.hh (1.24), src/PowerSet.inlines.hh (1.29), src/PowerSet.types.hh (1.4), src/Row.cc (1.47), src/Row.defs.hh (1.58), src/Row.inlines.hh (1.35), src/Row.types.hh (1.6), src/SatMatrix.cc (1.25), src/SatMatrix.defs.hh (1.29), src/SatMatrix.inlines.hh (1.18), src/SatMatrix.types.hh (1.6), src/SatRow.cc (1.17), src/SatRow.defs.hh (1.25), src/SatRow.inlines.hh (1.22), src/SatRow.types.hh (1.6), src/Status.cc (1.19), src/Status.defs.hh (1.25), src/Status.inlines.hh (1.12), src/Status.types.hh (1.6), src/Topology.hh (1.7), src/Variable.cc (1.11), src/Variable.defs.hh (1.29), src/Variable.inlines.hh (1.15), src/Variable.types.hh (1.6), src/algorithms.hh (1.13), src/conversion.cc (1.42), src/globals.cc (1.11), src/globals.hh (1.27), src/initializer.hh (1.6), src/minimize.cc (1.28), src/ppl_header.top (1.5), src/simplify.cc (1.22), tests/BBox.cc (1.3), tests/BBox.hh (1.2), tests/CbecomesNNC1.cc (1.3), tests/Makefile.am (1.167), tests/NNCinclusion1.cc (1.5), tests/NNCminimize1.cc (1.8), tests/NNCminimize2.cc (1.8), tests/NNCminimize3.cc (1.8), tests/NNCminimize4.cc (1.10), tests/NNCminimize5.cc (1.7), tests/NNCminimize6.cc (1.9), tests/PFunction.cc (1.2), tests/PFunction.hh (1.2), tests/addconstraint1.cc (1.3), tests/addconstraint2.cc (1.2), tests/addconstraint3.cc (1.2), tests/addconstraints1.cc (1.9), tests/addconstraints10.cc (1.8), tests/addconstraints11.cc (1.9), tests/addconstraints12.cc (1.2), tests/addconstraints13.cc (1.4), tests/addconstraints2.cc (1.17), tests/addconstraints3.cc (1.7), tests/addconstraints4.cc (1.9), tests/addconstraints5.cc (1.10), tests/addconstraints6.cc (1.11), tests/addconstraints7.cc (1.10), tests/addconstraints8.cc (1.10), tests/addconstraints9.cc (1.11), tests/adddimensions1.cc (1.12), tests/adddimensions10.cc (1.5), tests/adddimensions11.cc (1.3), tests/adddimensions12.cc (1.2), tests/adddimensions2.cc (1.8), tests/adddimensions3.cc (1.10), tests/adddimensions4.cc (1.8), tests/adddimensions5.cc (1.6), tests/adddimensions6.cc (1.6), tests/adddimensions7.cc (1.6), tests/adddimensions8.cc (1.4), tests/adddimensions9.cc (1.4), tests/addgenerator1.cc (1.3), tests/addgenerator2.cc (1.3), tests/addgenerator3.cc (1.2), tests/addgenerator4.cc (1.3), tests/addgenerators1.cc (1.10), tests/addgenerators10.cc (1.2), tests/addgenerators11.cc (1.4), tests/addgenerators12.cc (1.4), tests/addgenerators2.cc (1.10), tests/addgenerators3.cc (1.10), tests/addgenerators4.cc (1.10), tests/addgenerators5.cc (1.10), tests/addgenerators6.cc (1.10), tests/addgenerators7.cc (1.7), tests/addgenerators8.cc (1.5), tests/addgenerators9.cc (1.4), tests/affineimage1.cc (1.10), tests/affineimage2.cc (1.9), tests/affineimage3.cc (1.2), tests/affineimage4.cc (1.2), tests/affineimage5.cc (1.3), tests/affineimage6.cc (1.2), tests/affineimage7.cc (1.2), tests/affineimage8.cc (1.5), tests/affinepreimage1.cc (1.9), tests/affinepreimage10.cc (1.5), tests/affinepreimage2.cc (1.9), tests/affinepreimage3.cc (1.9), tests/affinepreimage4.cc (1.10), tests/affinepreimage5.cc (1.2), tests/affinepreimage6.cc (1.3), tests/affinepreimage7.cc (1.2), tests/affinepreimage8.cc (1.2), tests/affinepreimage9.cc (1.3), tests/affinetrans.cc (1.12), tests/append1.cc (1.18), tests/append2.cc (1.19), tests/ascii_dump_load1.cc (1.11), tests/ascii_dump_load2.cc (1.9), tests/ascii_dump_load3.cc (1.12), tests/ascii_dump_load4.cc (1.12), tests/ascii_dump_load5.cc (1.8), tests/ascii_dump_load6.cc (1.5), tests/ascii_dump_load7.cc (1.5), tests/bhrz03widening1.cc (1.2), tests/bhrz03widening10.cc (1.2), tests/bhrz03widening11.cc (1.2), tests/bhrz03widening12.cc (1.2), tests/bhrz03widening13.cc (1.2), tests/bhrz03widening14.cc (1.2), tests/bhrz03widening15.cc (1.2), tests/bhrz03widening16.cc (1.2), tests/bhrz03widening17.cc (1.2), tests/bhrz03widening18.cc (1.2), tests/bhrz03widening19.cc (1.2), tests/bhrz03widening2.cc (1.2), tests/bhrz03widening3.cc (1.2), tests/bhrz03widening4.cc (1.2), tests/bhrz03widening5.cc (1.2), tests/bhrz03widening6.cc (1.2), tests/bhrz03widening7.cc (1.2), tests/bhrz03widening8.cc (1.2), tests/bhrz03widening9.cc (1.2), tests/bounded1.cc (1.8), tests/boundingbox1.cc (1.31), tests/boundingbox2.cc (1.16), tests/boundingbox3.cc (1.7), tests/boundingbox4.cc (1.4), tests/bounds1.cc (1.4), tests/bounds2.cc (1.4), tests/concatenate1.cc (1.5), tests/concatenate2.cc (1.5), tests/concatenate3.cc (1.5), tests/concatenate4.cc (1.4), tests/concatenate5.cc (1.2), tests/concatenate6.cc (1.4), tests/constraints1.cc (1.4), tests/constraints2.cc (1.4), tests/constraints3.cc (1.4), tests/constraints4.cc (1.4), tests/contains1.cc (1.2), tests/disjoint1.cc (1.2), tests/disjoint2.cc (1.4), tests/disjoint3.cc (1.3), tests/ehandlers.cc (1.4), tests/ehandlers.hh (1.6), tests/empty1.cc (1.11), tests/exceptions1.cc (1.29), tests/exceptions2.cc (1.23), tests/files.cc (1.4), tests/files.hh (1.4), tests/generalizedaffineimage1.cc (1.5), tests/generalizedaffineimage10.cc (1.4), tests/generalizedaffineimage11.cc (1.3), tests/generalizedaffineimage12.cc (1.2), tests/generalizedaffineimage2.cc (1.4), tests/generalizedaffineimage3.cc (1.5), tests/generalizedaffineimage4.cc (1.3), tests/generalizedaffineimage5.cc (1.3), tests/generalizedaffineimage6.cc (1.3), tests/generalizedaffineimage7.cc (1.5), tests/generalizedaffineimage8.cc (1.3), tests/generalizedaffineimage9.cc (1.3), tests/generators1.cc (1.11), tests/generators2.cc (1.7), tests/generators3.cc (1.3), tests/generators4.cc (1.3), tests/generators5.cc (1.3), tests/generators6.cc (1.4), tests/h79widening1.cc (1.4), tests/h79widening2.cc (1.5), tests/h79widening3.cc (1.5), tests/h79widening4.cc (1.2), tests/h79widening5.cc (1.3), tests/inclusion1.cc (1.5), tests/inclusion2.cc (1.2), tests/intersection1.cc (1.4), tests/intersection10.cc (1.3), tests/intersection11.cc (1.4), tests/intersection2.cc (1.7), tests/intersection3.cc (1.5), tests/intersection4.cc (1.5), tests/intersection5.cc (1.5), tests/intersection6.cc (1.5), tests/intersection7.cc (1.4), tests/intersection8.cc (1.3), tests/intersection9.cc (1.3), tests/limitedbhrz03widening1.cc (1.2), tests/limitedh79widening1.cc (1.5), tests/limitedh79widening2.cc (1.5), tests/limitedh79widening3.cc (1.3), tests/limitedh79widening4.cc (1.3), tests/linearpartition1.cc (1.8), tests/linearpartition2.cc (1.8), tests/linearpartition3.cc (1.8), tests/linexpression1.cc (1.2), tests/mc91.cc (1.10), tests/memory1.cc (1.18), tests/minconstraints1.cc (1.3), tests/minconstraints2.cc (1.3), tests/minconstraints3.cc (1.2), tests/minconstraints4.cc (1.6), tests/mingenerators1.cc (1.3), tests/mingenerators2.cc (1.2), tests/mingenerators3.cc (1.2), tests/onepoint.cc (1.8), tests/operator1.cc (1.3), tests/permute.cc (1.25), tests/polydifference1.cc (1.5), tests/polydifference2.cc (1.7), tests/polydifference3.cc (1.2), tests/polydifference4.cc (1.3), tests/polydifference5.cc (1.4), tests/polydifference6.cc (1.3), tests/polydifference7.cc (1.3), tests/polyhull1.cc (1.5), tests/polyhull10.cc (1.2), tests/polyhull2.cc (1.5), tests/polyhull3.cc (1.5), tests/polyhull4.cc (1.4), tests/polyhull5.cc (1.3), tests/polyhull6.cc (1.3), tests/polyhull7.cc (1.2), tests/polyhull8.cc (1.3), tests/polyhull9.cc (1.4), tests/ppl_test.hh (1.3), tests/print.cc (1.9), tests/print.hh (1.13), tests/randphull1.cc (1.7), tests/randphull2.cc (1.4), tests/relations1.cc (1.8), tests/relations10.cc (1.4), tests/relations11.cc (1.4), tests/relations12.cc (1.3), tests/relations13.cc (1.3), tests/relations14.cc (1.3), tests/relations15.cc (1.3), tests/relations16.cc (1.3), tests/relations17.cc (1.5), tests/relations18.cc (1.3), tests/relations19.cc (1.4), tests/relations2.cc (1.9), tests/relations3.cc (1.9), tests/relations4.cc (1.9), tests/relations5.cc (1.9), tests/relations6.cc (1.8), tests/relations7.cc (1.8), tests/relations8.cc (1.8), tests/relations9.cc (1.10), tests/removedim1.cc (1.9), tests/removedim2.cc (1.13), tests/removedim3.cc (1.9), tests/removedim4.cc (1.10), tests/removedim5.cc (1.8), tests/removedim6.cc (1.11), tests/removedim7.cc (1.6), tests/removedim8.cc (1.4), tests/removedim9.cc (1.3), tests/shuffledim1.cc (1.6), tests/smm1.cc (1.12), tests/timeelapse1.cc (1.6), tests/timeelapse2.cc (1.6), tests/timeelapse3.cc (1.6), tests/timeelapse4.cc (1.6), tests/timeelapse5.cc (1.6), tests/timeelapse6.cc (1.2), tests/timeelapse7.cc (1.2), tests/timeelapse8.cc (1.3), tests/timings.cc (1.3), tests/timings.hh (1.3), tests/topclosed1.cc (1.3), tests/topclosed2.cc (1.2), tests/topclosed3.cc (1.4), tests/topclosure1.cc (1.5), tests/topclosure2.cc (1.2), tests/topclosure3.cc (1.2), tests/topclosure4.cc (1.4), tests/universe1.cc (1.7), tests/universe2.cc (1.8), tests/universe3.cc (1.8), tests/universe4.cc (1.8), tests/universe5.cc (1.9), tests/universe6.cc (1.6), tests/watchdog1.cc (1.15), tests/writeconsys1.cc (1.5), tests/writegensys1.cc (1.6), tests/writegensys2.cc (1.6), tests/writegensys3.cc (1.5), tests/writepolyhedron1.cc (1.5), tests/writepolyhedron2.cc (1.6), tests/writepolyhedron3.cc (1.5), tests/writerelation1.cc (1.5), tests/writevariable1.cc (1.5): Update copyright years. 2002-12-31 Tuesday 17:43 Enea Zaffanella * src/: Polyhedron.cc (1.273), Polyhedron.defs.hh (1.175): The three different techniques making up BHRZ03_widening_assign() are now isolated into corresponding members, to ease further experimentation. Keeping track of the convergence reason and of the successful technique in order to later output statistics about it. 2002-12-31 Tuesday 17:40 Enea Zaffanella * src/: Init.inlines.hh (1.6), globals.cc (1.10), globals.hh (1.26): Added a global struct to keep statistics about BHRZ03 when the pre-proc flag PPL_STATISTICS is set (now set by default). Statistics are outputted during the library finalization. 2002-12-30 Monday 19:21 Enea Zaffanella * src/Polyhedron.cc (1.272): In the NEW_LIMITED_GROWTH_ORDERING case of method is_BHRZ03_stabilizing(), when we have the same number of constraints for x and y, we now also check if the same number is obtained when disregarding the positivity constraint. 2002-12-30 Monday 09:21 Roberto Bagnara * src/Polyhedron.cc (1.271): Wrong reference to `abort()' corrected into a call. 2002-12-30 Monday 09:12 Enea Zaffanella * src/Polyhedron.cc (1.270): Added preproc flag NEW_LIMITED_GROWTH_ORDERING to test the new convergence criterion for bhrz03. The new stabilization test now prints a '*' on std::cerr each time we miss an opportunity of applying the new widening techniques due to the new convergence criterion. 2002-12-26 Thursday 14:40 Roberto Bagnara * interfaces/Prolog/: ppl_prolog.icc (1.75), Ciao/ppl_ciao.cc (1.16), GNU/ppl_gprolog_sd.cc (1.11), SICStus/sicstus_cfli.ic (1.3), SWI/ppl_swiprolog.cc (1.56), XSB/ppl_xsb.cc (1.16), YAP/ppl_yap.cc (1.50): Transition to C: avoid references. 2002-12-26 Thursday 11:35 Roberto Bagnara * interfaces/Prolog/: Ciao/ppl_ciao.cc (1.15), GNU/ppl_gprolog_sd.cc (1.10), SICStus/sicstus_cfli.h (1.2), SICStus/sicstus_cfli.ic (1.2), SWI/ppl_swiprolog.cc (1.55), XSB/ppl_xsb.cc (1.15), YAP/ppl_yap.cc (1.49): Transition to C: avoid `bool'. 2002-12-26 Thursday 11:08 Roberto Bagnara * interfaces/Prolog/SICStus/: Makefile.am (1.33), ppl_sicstus_sd.cc (1.31), sicstus_cfli.cc (1.1), sicstus_cfli.h (1.1), sicstus_cfli.ic (1.1): Started carving the new Common Foreign Language Interface. 2002-12-25 Wednesday 19:50 Roberto Bagnara * interfaces/Prolog/ppl_prolog.icc (1.74): Spurious element removed from the `prolog_atoms' array. 2002-12-22 Sunday 09:27 Roberto Bagnara * NEWS (1.51): Mention the bug fixed in Polyhedron::minimized_constraints(). 2002-12-22 Sunday 08:43 Roberto Bagnara * configure.ac (1.79): Version number bumped. 2002-12-21 Saturday 20:45 Enea Zaffanella * src/Polyhedron.cc (1.269), tests/topclosure1.cc (1.4): Corrected the bug pointed out by topclosure1.cc. 2002-12-21 Saturday 20:41 Enea Zaffanella * src/GenSys.cc (1.73): In add_corresponding_points(), iteration now goes upward to insert the new points in a partially ordered sequence. 2002-12-21 Saturday 19:07 Roberto Bagnara * tests/print.cc (1.8): Consistently follow "true" and "false" by a full stop. 2002-12-21 Saturday 16:04 Roberto Bagnara * tests/: print.cc (1.7), print.hh (1.12): Removal of easy_print() completed. 2002-12-21 Saturday 14:00 Roberto Bagnara * interfaces/C/ppl_c.cc (1.53), src/Status.cc (1.18), src/initializer.hh (1.5), tests/ehandlers.cc (1.3): Prefer anonymous namespaces to static declarations. 2002-12-21 Saturday 13:43 Roberto Bagnara * tests/print.cc (1.6): The functions print_constraints() and print_generators() were ignoring the `intro' argument. 2002-12-20 Friday 15:53 Roberto Bagnara * tests/topclosure1.cc (1.3): Temporarily force NOISY to 1. 2002-12-20 Friday 15:53 Roberto Bagnara * tests/print.cc (1.5): Avoid excess minimizations when printing constraints or generators. 2002-12-20 Friday 15:19 Enea Zaffanella * tests/boundingbox1.cc (1.30): Minor adjustments to expression spacing; cutted away a few commented stmts. 2002-12-20 Friday 14:49 Roberto Bagnara * tests/BBox.cc (1.2): Output functions greatly improved. 2002-12-19 Thursday 07:20 Roberto Bagnara * configure.ac (1.78): Version number bumped. 2002-12-18 Wednesday 20:10 Elisa Ricci * src/conversion.cc (1.41): The bug witnessed by the `polyhull10' test program has been fixed: under some circumstances we were not indicating that the matrix no longer had pending rows. 2002-12-17 Tuesday 19:23 Roberto Bagnara * tests/: Makefile.am (1.166), polyhull10.cc (1.1): New test showing a bug in the current version of the library. 2002-12-16 Monday 18:41 Roberto Bagnara * doc/Makefile.am (1.21): Production of the documentation depends also on ppl.sty. 2002-12-15 Sunday 20:58 Roberto Bagnara * tests/Makefile.am (1.165): The -lm flag for *randphull2 is in addition to the other LDFLAGS. 2002-12-15 Sunday 19:46 Roberto Bagnara * tests/Makefile.am (1.164): The randphull2 and nnc_randphull2 test programs need to be linked against the math library. 2002-12-15 Sunday 12:03 Roberto Bagnara * tests/shuffledim1.cc (1.5): Define print_function() only when noisy. 2002-12-15 Sunday 12:02 Roberto Bagnara * tests/randphull2.cc (1.3): Define M_PI unless it is already defined. 2002-12-14 Saturday 21:09 Roberto Bagnara * tests/: limitedbbrz02widening1.cc (1.4), limitedbhrz03widening1.cc (1.1): The new widening is now nicknamed BHRZ03. 2002-12-14 Saturday 20:56 Roberto Bagnara * tests/: affineimage8.cc (1.4), affinepreimage10.cc (1.4): Use the NOISY flag to control noisiness. 2002-12-14 Saturday 20:54 Roberto Bagnara * tests/: addconstraints13.cc (1.3), addgenerators12.cc (1.3), affineimage8.cc (1.3), affinepreimage10.cc (1.3), boundingbox1.cc (1.29), concatenate6.cc (1.3), constraints4.cc (1.3), generators6.cc (1.3), intersection11.cc (1.3), polyhull9.cc (1.3), relations19.cc (1.3), shuffledim1.cc (1.4), topclosure4.cc (1.3): Use internal linkage when possible. 2002-12-14 Saturday 20:52 Roberto Bagnara * src/Variable.cc (1.10): Variable::default_output_function() improved. 2002-12-14 Saturday 18:44 Roberto Bagnara * NEWS (1.50), doc/definitions.dox (1.104), interfaces/C/ppl_c.cc (1.52), interfaces/C/ppl_c.h (1.53), interfaces/Prolog/Prolog_interface.dox (1.71), interfaces/Prolog/pl_check.pl (1.30), interfaces/Prolog/ppl_prolog.icc (1.73), interfaces/Prolog/Ciao/ppl_ciao.pl (1.28), interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.30), interfaces/Prolog/SWI/ppl_swiprolog.cc (1.54), interfaces/Prolog/XSB/ppl_xsb.H (1.7), interfaces/Prolog/XSB/ppl_xsb.cc (1.14), interfaces/Prolog/YAP/ppl_yap.cc (1.48), src/Polyhedron.cc (1.268), src/Polyhedron.defs.hh (1.174), src/algorithms.hh (1.12), tests/Makefile.am (1.163), tests/bbrz02widening1.cc (1.5), tests/bbrz02widening10.cc (1.2), tests/bbrz02widening11.cc (1.2), tests/bbrz02widening12.cc (1.4), tests/bbrz02widening13.cc (1.7), tests/bbrz02widening14.cc (1.8), tests/bbrz02widening15.cc (1.7), tests/bbrz02widening16.cc (1.2), tests/bbrz02widening17.cc (1.2), tests/bbrz02widening18.cc (1.2), tests/bbrz02widening19.cc (1.2), tests/bbrz02widening2.cc (1.3), tests/bbrz02widening3.cc (1.3), tests/bbrz02widening4.cc (1.2), tests/bbrz02widening5.cc (1.2), tests/bbrz02widening6.cc (1.4), tests/bbrz02widening7.cc (1.4), tests/bbrz02widening8.cc (1.3), tests/bbrz02widening9.cc (1.7), tests/bhrz03widening1.cc (1.1), tests/bhrz03widening10.cc (1.1), tests/bhrz03widening11.cc (1.1), tests/bhrz03widening12.cc (1.1), tests/bhrz03widening13.cc (1.1), tests/bhrz03widening14.cc (1.1), tests/bhrz03widening15.cc (1.1), tests/bhrz03widening16.cc (1.1), tests/bhrz03widening17.cc (1.1), tests/bhrz03widening18.cc (1.1), tests/bhrz03widening19.cc (1.1), tests/bhrz03widening2.cc (1.1), tests/bhrz03widening3.cc (1.1), tests/bhrz03widening4.cc (1.1), tests/bhrz03widening5.cc (1.1), tests/bhrz03widening6.cc (1.1), tests/bhrz03widening7.cc (1.1), tests/bhrz03widening8.cc (1.1), tests/bhrz03widening9.cc (1.1), tests/exceptions1.cc (1.28), tests/exceptions2.cc (1.22), tests/limitedbbrz02widening1.cc (1.3): The new widening is now nicknamed BHRZ03. 2002-12-06 Friday 07:56 Roberto Bagnara * src/Polyhedron.inlines.hh (1.57): Avoid totally useless parentheses. Make sure inline methods and functions are defined before being used. 2002-12-05 Thursday 21:46 Roberto Bagnara * config.guess (1.14), config.sub (1.13): Updated. 2002-12-05 Thursday 16:42 Roberto Bagnara * configure.ac (1.77): Bump version number. 2002-12-05 Thursday 16:40 Roberto Bagnara * tests/minconstraints4.cc (1.5): Original testcase restored. 2002-12-05 Thursday 16:32 Roberto Bagnara * tests/: append1.cc (1.17), append2.cc (1.18), exceptions1.cc (1.27), minconstraints4.cc (1.4), permute.cc (1.24), removedim1.cc (1.8), removedim2.cc (1.12), removedim3.cc (1.8), removedim6.cc (1.10), removedim7.cc (1.5), removedim8.cc (1.3): Use PPL::Variables_Set instead of std::set. 2002-12-05 Thursday 16:32 Roberto Bagnara * src/: Determinate.defs.hh (1.25), Determinate.inlines.hh (1.23), Polyhedron.cc (1.267), Polyhedron.defs.hh (1.173), PowerSet.defs.hh (1.23), PowerSet.inlines.hh (1.28), Variable.defs.hh (1.28), Variable.inlines.hh (1.14): The function bool operator<(const Variable&, const Variable&) has been substituted by bool less(const Variable&, const Variable&). New predicate Variable::Compare useful for defining associative containers of variables. New typedef Variables_Set standing for std::set. Use PPL::Variables_Set instead of std::set. 2002-12-05 Thursday 16:27 Roberto Bagnara * interfaces/: C/ppl_c.cc (1.51), Prolog/ppl_prolog.icc (1.72): Use PPL::Variables_Set instead of std::set. 2002-12-05 Thursday 12:58 Enea Zaffanella * TODO (1.28): Added an item about strong minimization. 2002-12-05 Thursday 12:36 Enea Zaffanella * src/Polyhedron.cc (1.266): In Polyhedron::strongly_minimize_constraints(), corrected the bug spotted by test minconstraints4.cc. 2002-12-05 Thursday 12:34 Enea Zaffanella * tests/minconstraints4.cc (1.3): Further simplified the test showing the bug. 2002-12-05 Thursday 10:49 Enea Zaffanella * tests/minconstraints4.cc (1.2): Simplified the test showing the bug in the strong minimization of constraints. 2002-12-05 Thursday 08:46 Roberto Bagnara * tests/: Makefile.am (1.162), minconstraints4.cc (1.1): New test showing a bug triggered by an invocation of Polyhedron::minimized_constraints(). 2002-12-03 Tuesday 20:22 Roberto Bagnara * src/ConSys.cc (1.56), src/ConSys.defs.hh (1.75), src/ConSys.inlines.hh (1.28), src/GenSys.cc (1.72), src/GenSys.defs.hh (1.86), src/GenSys.inlines.hh (1.29), src/Matrix.cc (1.45), src/Matrix.defs.hh (1.39), src/Matrix.inlines.hh (1.28), src/Polyhedron.cc (1.265), src/Polyhedron.defs.hh (1.172), src/Polyhedron.inlines.hh (1.56), src/Status.cc (1.17), src/Status.defs.hh (1.24), src/Status.inlines.hh (1.11), src/conversion.cc (1.40), src/minimize.cc (1.27), src/simplify.cc (1.21), tests/Makefile.am (1.161), tests/addconstraints13.cc (1.2), tests/addgenerators12.cc (1.2), tests/affineimage8.cc (1.2), tests/affinepreimage10.cc (1.2), tests/boundingbox1.cc (1.28), tests/bug1.cc (1.3), tests/bug1.dat (1.2), tests/concatenate6.cc (1.2), tests/constraints4.cc (1.2), tests/generators6.cc (1.2), tests/intersection11.cc (1.2), tests/polyhull9.cc (1.2), tests/relations19.cc (1.2), tests/timeelapse8.cc (1.2), tests/topclosure4.cc (1.2): The `lazy' branch has been merged. 2002-12-03 Tuesday 11:09 Roberto Bagnara * src/Polyhedron.cc (1.264): Fixed a couple of comments. 2002-12-02 Monday 18:48 Enea Zaffanella * src/: Polyhedron.cc, Polyhedron.inlines.hh (lazy.[12,12]): A whole pass on the code of the class, trying to use the new methods defined for the handling of pending rows; also tried to provide more uniform comments and to avoid useless reordering of rows when invoking add_and_minimize(). 2002-12-02 Monday 18:46 Enea Zaffanella * src/GenSys.cc (lazy.4): Modified methods add_corresponding_points() and add_corr_closure_points() to rely on the caller for the management of pending rows. 2002-12-02 Monday 18:43 Enea Zaffanella * src/ConSys.cc (lazy.3): Modified method adjust_topology_and_dimensions() to rely on the caller for the management of pending rows. 2002-12-02 Monday 18:40 Enea Zaffanella * src/: Polyhedron.defs.hh, minimize.cc (lazy.[7,4]): Provided slightly better names for methods dealing with pending rows. Modified the assertions for the two methods named add_and_minimize(...) and added new documentation. 2002-12-02 Monday 18:36 Enea Zaffanella * src/conversion.cc (lazy.8): No longer using flag KEEP_SOURCE_SORTEDNESS. 2002-12-02 Monday 18:34 Enea Zaffanella * src/Matrix.cc (lazy.10): Corrected a typo in add_pending_rows(const Matrix&). Removed an ill-placed well-formedness check. Adjusted a few assertions. 2002-12-02 Monday 09:31 Enea Zaffanella * src/: Matrix.cc, Matrix.defs.hh, Matrix.inlines.hh (lazy.[9,7,3]): Added new method unset_pending_rows() that sets the index_first_pending_row equal to the number of rows of the matrix. Added new methods add_rows(const Matrix&) and add_pending_rows(const Matrix&) to add a set of rows with one matrix reallocation at most. Adjusted a few comments. Factored some common code in the sorting methods. 2002-11-30 Saturday 11:21 Roberto Bagnara * interfaces/Prolog/Ciao/ciao_clpq.pl (1.3): No longer use the debug package: use the debugger library instead. Added use_module(library(prolog_sys)) in order to use statistics/0. 2002-11-29 Friday 20:09 Enea Zaffanella * src/conversion.cc (1.39): Committed to preserving the sortedness of `source', but changed the name of the new index, now using `source_num_redundant'. Using a reference instead of evaluating source[k] many times. 2002-11-29 Friday 11:51 Elisa Ricci * src/: Matrix.cc, Matrix.defs.hh, Polyhedron.cc, Polyhedron.defs.hh, Polyhedron.inlines.hh, conversion.cc, minimize.cc (lazy.[8,6,11,6,11,7,3]): Added Matrix::sort_rows(dimension_type first_row, dimension_type last_row) that sorts the the part of the matrix that is between `first_row' and `last_row'. Added also Matrix::sort_pending_and_remove_duplicates() that sorts the pending part of the matrix and remove the pending rows that are also in the upper part of the matrix. Added Polyhedron::remove_pending_constraints_and_minimize() and Polyhedron::remove_pending_generators_and_minimize() that remove pending constraints/generators and minimize the polyhedron: now Polyhedron::remove_pending_and_minimze() only calls the two added methods. Added also Polyhedron::add_and_minimize(bool, Matrix&, Matrix&, SatMatrix&) to obtain a polyhedron in minimal form defined by the system composed by the non-pending rows and by the pending rows of the first matrix. This new method is called by Polyhedron::add_and_minimize(bool, Matrix&, Matrix&, SatMatrix&, const Matrix&) after We have added the row of the constant matrix to the first matrix. Changed conversion so that when we swap the rows of source we set a flag and at the end we verify if the matrix is really sorted or not. 2002-11-29 Friday 11:18 Roberto Bagnara * TODO (1.27): We should not forget to document Polyhedron::shuffle_dimensions(). 2002-11-29 Friday 10:44 Enea Zaffanella * src/conversion.cc (lazy.6): The management of flag KEEP_SOURCE_SORTEDNESS reported into the branch lazy. 2002-11-29 Friday 10:29 Enea Zaffanella * src/conversion.cc (1.38): Implemented a more efficient way to keep the sortedness of Matric `source', requiring max source_num_rows - 1 swaps of the rows in source. The new code is controlled by pre-proc flag KEEP_SOURCE_SORTEDNESS, which is now set to 0 (i.e., still using old code). 2002-11-28 Thursday 18:22 Elisa Ricci * src/: SatMatrix.cc (1.24), SatMatrix.defs.hh (1.28), minimize.cc (1.26): Restored SatMatrix::transpose() and used it in add_and_minimize(), where it is possible, instead of SatMatrix::transpose_assign(). When we use add_row(), it sets correctly if the changed matrix is sorted or not: so we have not to say in add_and_minimize() that the changed matrix is not sorted. In add_and_minimize(), after adding the new rows to the matrix `source1', we resize the saturation matrix `sat' instead of built a temporary saturation matrix. 2002-11-28 Thursday 14:22 Enea Zaffanella * src/conversion.cc (1.37): Added (a preprocessing controlled and now disabled) alternative code for the removal of rows in Matrix `source' that are found to be redundant. The alternative code does keep the sortedness of `source'. 2002-11-28 Thursday 14:19 Enea Zaffanella * src/conversion.cc (lazy.5): Added (a preprocessing controlled and now disabled) alternative code for the removal of rows in Matrix source that are found to be redundant. The alternative code does keep the sortedness of source. 2002-11-27 Wednesday 19:35 Roberto Bagnara * src/: Generator.cc (1.42), Poly_Con_Relation.cc (1.6), Poly_Gen_Relation.cc (1.6): Added missing \relates needed by Doxygen. 2002-11-27 Wednesday 18:10 Elisa Ricci * src/conversion.cc (lazy.4): Improve the last part of conversion: now we check if the sorted matrix `dest' is really sorted and then we update `index_first_pending' of `dest'. 2002-11-27 Wednesday 16:19 Elisa Ricci * src/conversion.cc (lazy.3): Improved the part in which we update `index_first_pending' of `dest'. 2002-11-27 Wednesday 13:15 Elisa Ricci * src/: Matrix.defs.hh, Matrix.cc, conversion.cc (lazy.[5,7,2]): Now we have Matrix::add_pending_row(Row::Type type) instead of Matrix::add_row(Row::Type type). This new method does not change `index_first_pending' and does not verify the sortedness of the matrix. Used this new method in conversion. At the end of conversion, we update the sortedness of `dest' and its `index_first_pending'. 2002-11-27 Wednesday 11:45 Elisa Ricci * src/minimize.cc (lazy.2): When we use add_row(), it sets correctly if the changed matrix is sorted or not: so we do not say in add_and_minimize() that then the vhanged matrix is not sorted. In add_and_minimize(), after adding the new rows to the matrix `source1', we resize the saturation matrix `sat' instead of built a temporary saturation matrix. In add_and_minimize(), also used SatMatrix::transpose() where it is possible instead of SatMatrix::transpose_assign(). 2002-11-27 Wednesday 11:21 Elisa Ricci * tests/shuffledim1.cc (1.3): Added a test to verify Polyhedron::shuffle_dimensions() in the case that the polyhedron is zero-dimensional. 2002-11-26 Tuesday 17:51 Elisa Ricci * tests/shuffledim1.cc (1.2): Added void print_function() that is used to print a function in this test. Added also other tests to verify Polyhedron::shuffle_dimensions(). 2002-11-26 Tuesday 17:22 Roberto Bagnara * tests/print.cc (1.4): Fixed a bug whereby universe polyhedra were sometimes wrongly printed. 2002-11-26 Tuesday 17:07 Roberto Bagnara * tests/: Makefile.am (1.160), PFunction.cc (1.1), PFunction.hh (1.1), shuffledim1.cc (1.1): To test Polyhedron::shuffle_dimensions(). 2002-11-26 Tuesday 16:17 Roberto Bagnara * src/: Polyhedron.cc (1.263), SatRow.cc (1.16), SatRow.defs.hh (1.24), SatRow.inlines.hh (1.21), conversion.cc (1.36), simplify.cc (1.20): New functions bool subset_or_equal(const SatRow&, const SatRow&) and bool strict_subset(const SatRow&, const SatRow&) replace the misleading overloadings of the comparison operators `<', `<=', `>' and `>=' on SatRow's. 2002-11-26 Tuesday 10:29 Roberto Bagnara * src/SatRow.cc (lazy.1): From the main trunk: fixed int compare(const SatRow&, const SatRow&), bool operator<=(const SatRow&, const SatRow&), and bool operator<(const SatRow&, const SatRow&). 2002-11-26 Tuesday 10:07 Roberto Bagnara * src/SatRow.cc (1.15): Fixed int compare(const SatRow& x, const SatRow& y), bool operator<=(const SatRow& x, const SatRow& y), and bool operator<(const SatRow& x, const SatRow& y): they were completely broken. 2002-11-25 Monday 15:44 Roberto Bagnara * src/Matrix.cc (lazy.6): Fixed a bug in Matrix::grow() whereby, depending on the relations between the new rows' size and the old row's capacity, index_first_pending could erroneously be set to zero. 2002-11-25 Monday 11:06 Roberto Bagnara * interfaces/Prolog/SICStus/Makefile.am (1.32): Properly install ppl_sicstus.so. 2002-11-25 Monday 09:30 Enea Zaffanella * src/: ConSys.defs.hh, GenSys.defs.hh, Matrix.defs.hh (lazy.[3,4,4]): Added more details in the documentation for the split constructors. 2002-11-25 Monday 09:25 Elisa Ricci * src/: Matrix.cc, Polyhedron.cc (lazy.[5,10]): Corrected the bug in Matrix::ascii_load: we used "nrows" instead of "index", when we set the "index_first_pending". In Matrix::add_row, erased in a condition of an "if" erased the check about the number of pending rows, because we use this method only when the matrix has no pending rows. In Polyhedron::Polyhedron(Topology topol, ConSys& cs) and Polyhedron::Polyhedron(Topology topol, const ConSys& cs) erased an "if" that is repeated twice. 2002-11-24 Sunday 19:06 Roberto Bagnara * tests/: Makefile.am, bug1.cc, bug1.dat (lazy.[4,1,1]): New test program (with input data) meant to witness the existence of a bug in Polyhedron::concatenate_assign(). Unfortunately, it shows that there are also problems in Polyhedron::ascii_dump() and/or Polyhedron::ascii_load(). 2002-11-24 Sunday 14:11 Enea Zaffanella * src/: Polyhedron.cc, Polyhedron.defs.hh (lazy.[9,5]): Using the new split constructor to implement remove_pending_and_minimize(). 2002-11-24 Sunday 14:09 Enea Zaffanella * src/: ConSys.defs.hh, ConSys.inlines.hh, GenSys.defs.hh, GenSys.inlines.hh, Matrix.cc, Matrix.defs.hh (lazy.[2,1,3,1,4,3]): Added split constructors for Matrix, ConSys and GenSys. 2002-11-23 Saturday 12:10 Roberto Bagnara * interfaces/Prolog/SICStus/Makefile.am (1.31): Use libtool whenever possible. 2002-11-23 Saturday 09:51 Roberto Bagnara * interfaces/C/ppl_c.h (1.52): Include before so as to avoid warnings about the implicit declaration of all the I/O functions. 2002-11-22 Friday 17:01 Roberto Bagnara * tests/disjoint2.cc (1.3): Be quiet. 2002-11-22 Friday 15:01 Roberto Bagnara * src/algorithms.hh (1.11): Practice information hiding. 2002-11-22 Friday 12:06 Roberto Bagnara * tests/: affinepreimage9.cc (1.2), append1.cc (1.16), append2.cc (1.17), ascii_dump_load1.cc (1.10), ascii_dump_load2.cc (1.8), ascii_dump_load3.cc (1.11), ascii_dump_load4.cc (1.11), ascii_dump_load5.cc (1.7), ascii_dump_load6.cc (1.4), ascii_dump_load7.cc (1.4), bbrz02widening1.cc (1.4), bbrz02widening12.cc (1.3), bbrz02widening13.cc (1.6), bbrz02widening14.cc (1.7), bbrz02widening15.cc (1.6), bbrz02widening9.cc (1.6), boundingbox1.cc (1.27), boundingbox2.cc (1.15), boundingbox3.cc (1.6), boundingbox4.cc (1.3), disjoint2.cc (1.2), disjoint3.cc (1.2), exceptions1.cc (1.26), exceptions2.cc (1.21), files.cc (1.3), generalizedaffineimage10.cc (1.3), generalizedaffineimage11.cc (1.2), generalizedaffineimage7.cc (1.4), generalizedaffineimage9.cc (1.2), intersection10.cc (1.2), intersection2.cc (1.6), limitedh79widening4.cc (1.2), linearpartition1.cc (1.7), linearpartition2.cc (1.7), linearpartition3.cc (1.7), memory1.cc (1.17), operator1.cc (1.2), permute.cc (1.23), polydifference7.cc (1.2), polyhull8.cc (1.2), randphull1.cc (1.6), randphull2.cc (1.2), relations17.cc (1.4), relations9.cc (1.9), smm1.cc (1.11), watchdog1.cc (1.14), writeconsys1.cc (1.4), writegensys1.cc (1.5), writegensys2.cc (1.5), writegensys3.cc (1.4), writepolyhedron1.cc (1.4), writepolyhedron2.cc (1.5), writepolyhedron3.cc (1.4), writerelation1.cc (1.4), writevariable1.cc (1.4): Consistency improvements. 2002-11-22 Friday 12:02 Roberto Bagnara * tests/files.hh (1.3): Include instead of . 2002-11-22 Friday 11:54 Elisa Ricci * src/Matrix.inlines.hh (lazy.2): Added the assertion "assert(num_rows() >= first_pending_row())" in Matrix::num_pending_rows(). 2002-11-22 Friday 10:23 Elisa Ricci * src/: ConSys.cc, GenSys.cc, Matrix.cc, Polyhedron.cc, Polyhedron.inlines.hh (lazy.[2,3,3,8,10]): Added some comments to explain the case in which the polyhedron has something pending. Added some assertions to verify that a method is not used in wrong cases. 2002-11-22 Friday 10:13 Roberto Bagnara * src/Determinate.defs.hh (1.24): Teo declarations uncommented. 2002-11-22 Friday 09:48 Roberto Bagnara * interfaces/C/ppl_c.h (1.51): Declarations of ppl_ConSys_begin() and ppl_ConSys_end() fixed. 2002-11-22 Friday 09:37 Roberto Bagnara * tests/ppl_test.hh (1.2): Copyright notice added. 2002-11-22 Friday 09:34 Roberto Bagnara * tests/ehandlers.cc (1.2): Include ehandlers.hh. 2002-11-22 Friday 09:30 Roberto Bagnara * configure.ac (1.76): Bump version number. 2002-11-21 Thursday 18:18 Elisa Ricci * src/: ConSys.cc, ConSys.defs.hh, GenSys.cc, GenSys.defs.hh, Matrix.cc, Matrix.defs.hh, Polyhedron.cc, Polyhedron.defs.hh, Polyhedron.inlines.hh, conversion.cc, minimize.cc, simplify.cc (lazy.[1,1,2,2,2,2,7,4,9,1,1,1]): Added the methods Matrix::add_pending_row(), Matrix::insert_pending(), GenSys::insert_pending() and ConSys::insert_pending(). Erased the matrices `pending_cs' and `pending_gs' from polyhedron: now if the polyhedron has pending constraints/generators, they are in con_sys/gen_sys. Modified the methods of Polyhedron, ConSys, GenSys and Matrix so that they always consider if the polyhedron contains something pending or if the matrix has some pending rows. 2002-11-20 Wednesday 12:38 Elisa Ricci * tests/: Makefile.am (1.159), disjoint2.cc (1.1), disjoint3.cc (1.1): Added new tests to verify are_disjoint(const Polyhedron& x, const Polyhedron& y). 2002-11-15 Friday 16:24 Roberto Bagnara * tests/: Makefile.am (1.158), intersection2.cc (1.5), randphull1.cc (1.5), randphull2.cc (1.1): New test computing random polytopes by generating points on the surface of an n-dimensional sphere. 2002-11-15 Friday 12:58 Patricia M. Hill * interfaces/Prolog/: pl_check.pl (1.29), ppl_prolog.icc (1.71): Bug in term_to_complexity_class/2 corrected (a_empty changed to a_any). Tests for ppl_Polyhedron_get_bounding_box/3 added to pl_check.pl. 2002-11-15 Friday 12:31 Elisa Ricci * src/: Matrix.cc, Matrix.defs.hh, Matrix.inlines.hh (lazy.[1,1,1]): Started to insert the pending system into the matrix. 2002-11-15 Friday 09:17 Patricia M. Hill * interfaces/Prolog/Prolog_interface.dox (1.70): Added documentation for the complexity classes allowed in ppl_Polyhedron_get_bounding_box/3 2002-11-14 Thursday 10:30 Elisa Ricci * src/Polyhedron.inlines.hh (lazy.8): Erased a repeated comment. 2002-11-14 Thursday 10:14 Elisa Ricci * src/Polyhedron.cc, tests/topclosure4.cc (lazy.[6,2]): Improved Polyhedron::topological_closure_assign() in the case that the polyhedron has pending constraints. Typo fixed in the test. 2002-11-14 Thursday 09:43 Elisa Ricci * src/Polyhedron.inlines.hh, tests/boundingbox1.cc (lazy.[7,1]): Corrected an error in Polyhedron::shrink_bounding_box(Box& box, Complexity_Class complexity). Added two tests to verify this method. In boundingbox1.cc, corrected also test10 that did not verify if the resulting box computed using POLYNOMIAL were equal to the "known_pbox". 2002-11-13 Wednesday 18:51 Elisa Ricci * tests/: Makefile.am, topclosure4.cc (lazy.[3,1]): Added a new test to verify Polyhedron::topological_closure_assign(). 2002-11-13 Wednesday 18:50 Elisa Ricci * src/: Polyhedron.cc, Polyhedron.inlines.hh (lazy.[5,6]): Improved Polyhedron::intersection_assign(), Polyhedron::poly_hull_assign(), Polyhedron::add_generator(), Polyhedron::add_constraint(), Polyhedron::concatenate_assign(), Polyhedron::add_constraints(), Polyhedron::add_generators() and modified Polyhedron::topological_closure_assign() and Polyhedron::shrink_bounding_box(Box& box, Complexity_Class complexity) in the case in which the polyhedra can have something pending. 2002-11-13 Wednesday 18:43 Elisa Ricci * src/: GenSys.cc, GenSys.defs.hh (lazy.[1,1]): Added the method add_corresponding_points(const GenSys& gs) that add to *this the "corresponding point of the closure points of "gs" and of *this". 2002-11-13 Wednesday 10:58 Elisa Ricci * tests/: Makefile.am, addconstraints13.cc, addgenerators12.cc, affineimage8.cc, affinepreimage10.cc, relations19.cc, timeelapse8.cc (lazy.[2,2,1,1,1,1,1]): Added some other tests that verify the methods Polyhedron::add_generators(), Polyhedron::add_generators_and_minimize(), Polyhedron::affine_image(), Polyhedron::affine_preimage(), Polyhedron::relation_with() and Polyhedron::time_elapse_assign() in the case in which the polyhedra can have something pending. 2002-11-13 Wednesday 10:49 Elisa Ricci * src/Polyhedron.cc (lazy.4): Improved Polyhedron::is_bounded() and Polyhedron::bounds(). Corrected Polyhedron::is_topologically_closed(). 2002-11-13 Wednesday 09:13 Patricia M. Hill * interfaces/Prolog/pl_check.pl (1.28): pl_check.pl now avoids unifying terms with constraint and generator systems. 2002-11-12 Tuesday 17:32 Elisa Ricci * tests/: Makefile.am, addconstraints13.cc, concatenate6.cc, constraints4.cc, generators6.cc, intersection11.cc, polyhull9.cc (lazy.[1,1,1,1,1,1,1]): Added some new tests that verify the case in which the polyhedron can have something pending. 2002-11-12 Tuesday 17:30 Elisa Ricci * src/: Polyhedron.cc, Polyhedron.inlines.hh (lazy.[3,5]): Improved operator<=(x, y) and Polyhedron::concatenate_assign(y) in the case that the polyhedra have something pending. 2002-11-12 Tuesday 16:21 Elisa Ricci * src/Polyhedron.inlines.hh (lazy.4): Considered the case of a polyhedron that has something pending in Polyhedron::shrink_bounding_box(Box& box, Complexity_Class complexity) and in Polyhedron::shuffle_dimensions(const PartialFunction& pfunc). 2002-11-12 Tuesday 11:52 Elisa Ricci * src/: Polyhedron.cc, Polyhedron.defs.hh, Polyhedron.inlines.hh (lazy.[2,3,3]): Improved the case of pending system in Polyhedron::generators() and Polyhedron::minimize() and Polyhedron::intersection_assign(). Corrected operator<= in the case that one of the two polyhedra have something pending. Added the method Polyhedron::can_have_something_pending(). Considered the case of pending constraints or pending generators in concatenate_assign(), poly_hull_assign(), poly_hull_assign()_and_minimize, add_dimension_and_embed(), add_dimensions_and_project, remove_dimensions() remove_higher_dimensions, in all the methods that are used to add constraints and generators, in affine_image() and affine_preimage, in time_elapse_assign(), in check_universe(), in is_bounded() and bounds(), in is_topologically_closed() and in topological_closure_assign(), in Polyhedron::swap() and in Polyhedron(Topology topol, const Box& box). 2002-11-12 Tuesday 10:31 Roberto Bagnara * TODO (1.26): Revised the section on urgent things to do. 2002-11-12 Tuesday 10:30 Roberto Bagnara * interfaces/Prolog/: Prolog_interface.dox (1.69), pl_check.pl (1.27), ppl_prolog.icc (1.70), Ciao/ppl_ciao.pl (1.27), SICStus/ppl_sicstus_sd.cc (1.29), SWI/ppl_swiprolog.cc (1.53), XSB/ppl_xsb.H (1.6), XSB/ppl_xsb.cc (1.13), YAP/ppl_yap.cc (1.47): Implemented ppl_Polyhedron_get_bounding_box/3. 2002-11-10 Sunday 17:56 Roberto Bagnara * tests/memory1.cc (1.16): Do not try to run the real test on Cygwin since the implementation of setrlimit() there is a dummy one. 2002-11-10 Sunday 11:31 Roberto Bagnara * interfaces/Prolog/XSB/Makefile.am (1.11): Allow to build in the sources' directory. 2002-11-10 Sunday 09:08 Roberto Bagnara * interfaces/Prolog/Ciao/.cvsignore (1.4), tests/.cvsignore (1.7): Ignore more generated files. 2002-11-09 Saturday 22:15 Roberto Bagnara * tests/memory1.cc (1.15): The LIMIT macro has been fixed. 2002-11-08 Friday 18:52 Roberto Bagnara * interfaces/Prolog/Ciao/: Makefile.am (1.13), ciao_clpq.pl (1.2): Completed. 2002-11-08 Friday 17:59 Roberto Bagnara * interfaces/Prolog/Ciao/ppl_ciao.cc (1.14): Fixed two critical bugs. 2002-11-08 Friday 12:20 Elisa Ricci * src/: Polyhedron.cc, Polyhedron.defs.hh, Polyhedron.inlines.hh (lazy.[1,2,2]): Added to a polyhedron the system of pending constraints and the system of pending generators. Added the methods that set the flags used for the pending systems and Polyhedron::remove_pending_and_minimize(), Polyhedron::remove_pending_to_obtain_constraints() and Polyhedron::remove_pending_to_obtain_generators(). Started to consider the pending systems and in particular used them operator<=(x, y), Polyhedron::intersection_assign_and_minimize(y) and Polyhedron::intersection_assign(y). 2002-11-08 Friday 12:13 Elisa Ricci * src/Status.cc (lazy.2): Modified Status::OK() so that it also verify if the polyhedron has both pending constraints and pending generators. 2002-11-08 Friday 12:10 Roberto Bagnara * interfaces/Prolog/Ciao/Makefile.am (1.12): Added missing patterns to MOSTLYCLEANFILES. 2002-11-08 Friday 10:41 Roberto Bagnara * tests/: ascii_dump_load3.cc (1.10), ascii_dump_load4.cc (1.10), ascii_dump_load5.cc (1.6), ascii_dump_load6.cc (1.3): Be noisy when NOISY. 2002-11-08 Friday 10:40 Roberto Bagnara * tests/ascii_dump_load7.cc (1.3): Comment fixed. 2002-11-08 Friday 10:34 Roberto Bagnara * interfaces/Prolog/Ciao/Makefile.am (1.11): Add fake_main.pl and ciao_clpq.pl to EXTRA_DIST. 2002-11-07 Thursday 18:32 Elisa Ricci * src/: Polyhedron.defs.hh, Polyhedron.inlines.hh, Status.cc, Status.defs.hh, Status.inlines.hh (lazy.[1,1,1,1,1]): Added in the Status the flags that say if the polyhedron has something pending. Added the methods that check these flags. 2002-11-07 Thursday 16:45 Elisa Ricci * src/: SatMatrix.cc (1.23), SatMatrix.defs.hh (1.27), SatMatrix.inlines.hh (1.17): Erased SatMatrix::transpose(), operator==(const SatMatrix& x, const SatMatrix& y) and operator!=(const SatMatrix& x, const SatMatrix& y), because they were never used. 2002-11-07 Thursday 16:04 Elisa Ricci * src/Polyhedron.cc (1.262): Corrected the bug: we printed "sat_c" twice instead of "sat_c" and "sat_g". 2002-11-07 Thursday 15:41 Elisa Ricci * tests/ascii_dump_load7.cc (1.2): Simplify the test that shows the bug. 2002-11-07 Thursday 15:35 Elisa Ricci * tests/: Makefile.am (1.157), ascii_dump_load7.cc (1.1): This test shows a bug: we have a polyhedron with sat_g up-to-date but sat_g is dimensional incompatible with con_sys. 2002-11-07 Thursday 15:20 Elisa Ricci * tests/ascii_dump_load6.cc (1.2): Added two other tests to verify Status::ascii_dump() and Status::ascii_load(). 2002-11-06 Wednesday 19:09 Roberto Bagnara * tests/: ascii_dump_load3.cc (1.9), ascii_dump_load4.cc (1.9): Added missing calls to seekp() where input was immediately followed by output on a stream open in read/write mode. 2002-11-06 Wednesday 07:53 Roberto Bagnara * TODO (1.25): Added a few things to do rather urgently. 2002-11-05 Tuesday 17:55 Roberto Bagnara * tests/watchdog1.cc (1.13): Missing return statement added. 2002-11-05 Tuesday 16:45 Roberto Bagnara * tests/memory1.cc (1.14): Missing return statement added. 2002-11-05 Tuesday 16:34 Roberto Bagnara * m4/ac_check_gmp.m4 (1.10): Detection of sizeof(mp_limb_t) fixed. 2002-11-05 Tuesday 14:31 Roberto Bagnara * tests/memory1.cc (1.13): The custom allocation functions must have C linkage. 2002-11-05 Tuesday 14:29 Roberto Bagnara * tests/mc91.cc (1.9): Do not refer to the AskTell class. 2002-11-05 Tuesday 14:16 Roberto Bagnara * src/: Determinate.defs.hh (1.23), PowerSet.defs.hh (1.22), PowerSet.inlines.hh (1.27): Include the required files. 2002-11-05 Tuesday 14:15 Roberto Bagnara * src/Makefile.am (1.54): The AskTell constraint system class is nowhere near maturity: will not be distributed for the time being. 2002-11-05 Tuesday 12:41 Roberto Bagnara * configure.ac (1.75): Check whether the C++ compiler supports flexible array only after having set CXXFLAGS. 2002-11-05 Tuesday 12:40 Roberto Bagnara * m4/: ac_check_gmp.m4 (1.9), ac_cxx_flexible_arrays.m4 (1.4): More quoting where needed. 2002-11-05 Tuesday 11:49 Roberto Bagnara * Watchdog/: Watchdog.cc (1.6), Watchdog.defs.hh (1.8): Standard conformance fixes. 2002-11-05 Tuesday 10:58 Roberto Bagnara * ltmain.sh (1.8): Updated. 2002-11-05 Tuesday 10:57 Roberto Bagnara * Watchdog/configure.ac (1.13): Work around a bug in AC_CHECK_FUNCS as implemented in autoconf 2.54c and previous versions. For more information, see http://www.cs.unipr.it/pipermail/ppl-devel/2002-November/002929.html. 2002-11-05 Tuesday 10:11 Roberto Bagnara * configure.ac (1.74), Watchdog/configure.ac (1.12), m4/ac_check_gmp.m4 (1.8), m4/ac_cxx_flexible_arrays.m4 (1.3): Avoid using obsolete macros. 2002-11-05 Tuesday 09:23 Roberto Bagnara * configure.ac (1.73), m4/ac_check_gmp.m4 (1.7), m4/ac_cxx_flexible_arrays.m4 (1.2): Avoid using obsolete macros. 2002-11-05 Tuesday 09:09 Roberto Bagnara * interfaces/Prolog/XSB/ppl_xsb.cc (1.12): Warning avoided, FIXME added. 2002-11-05 Tuesday 09:08 Roberto Bagnara * tests/smm1.cc (1.10): Extend the Parma_Polyhedra_Library namespace with the output operators before using STL stream iterators. 2002-11-05 Tuesday 00:12 Roberto Bagnara * src/: ConSys.cc (1.55), ConSys.defs.hh (1.74), ConSys.inlines.hh (1.27), GenSys.cc (1.71), GenSys.defs.hh (1.85), Matrix.defs.hh (1.38): We were violating the C++ standard by referring to unaccessible base classes. 2002-11-04 Monday 17:28 Elisa Ricci * tests/: Makefile.am (1.156), affineimage7.cc (1.1), affinepreimage9.cc (1.1), ascii_dump_load4.cc (1.8), ascii_dump_load5.cc (1.5), ascii_dump_load6.cc (1.1): Added tests to verify ascii_dump() and ascii_load() of SatMatrix and of Status and to verify Polyhedron::affine_image() and Polyhedron::affine_preimage() with a negative denominator. 2002-11-04 Monday 12:12 Roberto Bagnara * src/Polyhedron.inlines.hh (1.55): Reposition a declaration that was moved by mistake. 2002-11-04 Monday 12:03 Roberto Bagnara * interfaces/Prolog/Ciao/: Makefile.am (1.10), ciao_clpq.pl (1.1): Little progress in the Ciao-Prolog interface. 2002-11-04 Monday 12:02 Roberto Bagnara * src/Polyhedron.inlines.hh (1.54): Improved comments for Polyhedron::shrink_bounding_box(). 2002-11-04 Monday 11:36 Elisa Ricci * src/Polyhedron.inlines.hh (1.53): In Polyhedron::shrink_bounding_box() added the comment that explains why we change the sign of `n' when we built the ExtendedRational `r`. 2002-11-04 Monday 10:29 Roberto Bagnara * src/Polyhedron.inlines.hh (1.52): Avoid taking references to temporary GMP expressions. FIXME about a missing comment added. 2002-11-04 Monday 09:34 Elisa Ricci * tests/: boundingbox3.cc (1.5), boundingbox4.cc (1.2): Modified these tests so that they also verify Polyhedron::shrink_bounding_box(box, POLYNOMIAL). 2002-11-04 Monday 08:38 Roberto Bagnara * src/Polyhedron.cc (1.261): Avoid some useless copies. 2002-11-03 Sunday 23:30 Roberto Bagnara * src/Polyhedron.cc (1.260): Avoid taking references to temporary GMP expressions. 2002-11-03 Sunday 18:41 Roberto Bagnara * tests/: Makefile.am (1.155), ascii_dump_load1.cc (1.9), ascii_dump_load2.cc (1.7), ascii_dump_load3.cc (1.8), ascii_dump_load4.cc (1.7), ascii_dump_load5.cc (1.4): Be consistent in naming files. 2002-11-03 Sunday 17:32 Roberto Bagnara * src/: Row.cc (1.46), Row.inlines.hh (1.34): Progress in supporting compilers that do not provide flexible arrays. 2002-11-03 Sunday 12:02 Roberto Bagnara * interfaces/Prolog/Prolog_interface.dox (1.68), interfaces/Prolog/GNU/Makefile.am (1.24), m4/ac_check_gmp.m4 (1.6): For the sake of not very smart linkers, link with `-lgmpxx -lgmp' instead of the other way around. 2002-11-03 Sunday 11:36 Roberto Bagnara * tests/: ascii_dump_load1.cc (1.8), ascii_dump_load2.cc (1.6), ascii_dump_load3.cc (1.7), ascii_dump_load4.cc (1.6), ascii_dump_load5.cc (1.3), linearpartition1.cc (1.6), linearpartition2.cc (1.6), linearpartition3.cc (1.6), memory1.cc (1.12), writeconsys1.cc (1.3), writegensys1.cc (1.4), writegensys2.cc (1.4), writegensys3.cc (1.3), writepolyhedron1.cc (1.3), writepolyhedron2.cc (1.4), writepolyhedron3.cc (1.3), writerelation1.cc (1.3), writevariable1.cc (1.3): Be consistent as far as inclusions are concerned. 2002-11-03 Sunday 11:06 Roberto Bagnara * Watchdog/pwl_header.middle (1.2): Include sys/time.h, if available. 2002-11-03 Sunday 10:56 Elisa Ricci * tests/: Makefile.am (1.154), boundingbox3.cc (1.4), boundingbox4.cc (1.1): Erased form boundingbox3.cc the flags "C_TESTS" and "NNC_TESTS". boundingbox3.cc now contains only tests with C_Polyhedron; the tests that were in boundingbox3.cc and that contain polyhedron described by strict inequalities now are in boundingbox4.cc. 2002-11-03 Sunday 09:50 Roberto Bagnara * interfaces/Prolog/XSB/Makefile.am (1.10): Always use the current C++ compiler, not simply `g++'. 2002-11-03 Sunday 09:42 Roberto Bagnara * Watchdog/: Watchdog.defs.hh (1.7), Watchdog.inlines.hh (1.6): Little cleaning. 2002-11-03 Sunday 09:42 Roberto Bagnara * Watchdog/: config.h.in (1.3), configure.ac (1.11): Get rid of AC_C_INLINE: we do not use inlines in C code and it was doing harm with some compilers. 2002-11-02 Saturday 23:53 Roberto Bagnara * interfaces/C/: ppl_c.cc (1.50), ppl_c.h (1.50): The function ppl_Polyhedron_shrink_bounding_box() has now a parameter allowing the selection of the desired complexity class. 2002-11-02 Saturday 23:08 Roberto Bagnara * src/globals.hh (1.25): Spurious line removed. 2002-11-02 Saturday 22:33 Roberto Bagnara * interfaces/Prolog/Ciao/Makefile.am (1.9): Can now compile the Ciao-Prolog interface. 2002-11-02 Saturday 20:07 Roberto Bagnara * interfaces/Prolog/Ciao/ppl_ciao.pl (1.26): Properly declare all the predicates. 2002-11-02 Saturday 20:07 Roberto Bagnara * interfaces/Prolog/XSB/ppl_xsb.cc (1.11): Uninitialized variable bug fixed. 2002-11-02 Saturday 16:46 Roberto Bagnara * Watchdog/configure.ac (1.10): Buggy conditional fixed. 2002-11-02 Saturday 16:15 Roberto Bagnara * tests/: adddimensions11.cc (1.2), addgenerators11.cc (1.3), exceptions1.cc (1.25), exceptions2.cc (1.20): Avoid inventing non-existing standard exceptions. 2002-11-02 Saturday 11:42 Roberto Bagnara * src/Polyhedron.defs.hh (1.171), src/Polyhedron.inlines.hh (1.51), src/globals.hh (1.24), tests/boundingbox1.cc (1.26), tests/boundingbox2.cc (1.14): New enum Complexity_Class to represent complexity classes. Polyhedron::shrink_bounding_box() now takes a complexity class, defaulting to ANY, instead of a bool. 2002-11-02 Saturday 10:43 Roberto Bagnara * NEWS (1.49): Mention the bug fixed in operator-=(LinExpression&, const LinExpression&). 2002-11-02 Saturday 09:05 Roberto Bagnara * config.h.in (1.22), configure.ac (1.72): Get rid of AC_C_INLINE: we do not use inlines in C code and it was doing harm with some compilers. 2002-11-01 Friday 20:30 Roberto Bagnara * config.h.in (1.21), configure.ac (1.71), m4/ac_check_gmp.m4 (1.5): Much improved detection of the size of GMP's mp_limb_t. 2002-11-01 Friday 18:52 Roberto Bagnara * src/: SatRow.cc (1.14), SatRow.defs.hh (1.23): Got rid of operator<<(std::ostream&, const SatRow&). 2002-11-01 Friday 18:48 Roberto Bagnara * src/: ConSys.defs.hh (1.73), Constraint.defs.hh (1.77), GenSys.defs.hh (1.84), Generator.defs.hh (1.80), Poly_Con_Relation.defs.hh (1.18), Poly_Gen_Relation.defs.hh (1.17), Polyhedron.defs.hh (1.170), Variable.defs.hh (1.27): Correctly relate the output operators to the corresponding classes. 2002-11-01 Friday 18:36 Roberto Bagnara * TODO (1.24): There must be a more efficient way to implement bool are_disjoint(const Polyhedron&, const Polyhedron&). 2002-11-01 Friday 18:28 Roberto Bagnara * tests/: NNCminimize1.cc (1.7), NNCminimize2.cc (1.7), NNCminimize3.cc (1.7), NNCminimize5.cc (1.6), ascii_dump_load3.cc (1.6), ascii_dump_load4.cc (1.5), bbrz02widening13.cc (1.5), bbrz02widening14.cc (1.6), bbrz02widening15.cc (1.5), bbrz02widening9.cc (1.5), concatenate1.cc (1.4), exceptions1.cc (1.24), generators1.cc (1.10), generators2.cc (1.6), linearpartition1.cc (1.5), linearpartition2.cc (1.5), linearpartition3.cc (1.5), memory1.cc (1.11), smm1.cc (1.9), watchdog1.cc (1.12): It is pointless to say `using namespace std' and `std::' at the same time. 2002-11-01 Friday 18:17 Roberto Bagnara * NEWS (1.48), src/AskTell.defs.hh (1.10), src/AskTell.inlines.hh (1.10), src/BoundingBox.cc (1.4), src/BoundingBox.defs.hh (1.8), src/ConSys.cc (1.54), src/ConSys.defs.hh (1.72), src/Constraint.cc (1.34), src/Constraint.defs.hh (1.76), src/Determinate.defs.hh (1.22), src/Determinate.inlines.hh (1.22), src/GenSys.cc (1.70), src/GenSys.defs.hh (1.83), src/Generator.cc (1.41), src/Generator.defs.hh (1.79), src/Interval.cc (1.5), src/Interval.defs.hh (1.10), src/Poly_Con_Relation.cc (1.5), src/Poly_Con_Relation.defs.hh (1.17), src/Poly_Gen_Relation.cc (1.5), src/Poly_Gen_Relation.defs.hh (1.16), src/Polyhedron.cc (1.259), src/Polyhedron.defs.hh (1.169), src/Polyhedron.types.hh (1.7), src/PowerSet.defs.hh (1.21), src/PowerSet.inlines.hh (1.26), src/SatRow.cc (1.13), src/SatRow.defs.hh (1.22), src/Variable.cc (1.9), src/Variable.defs.hh (1.26), tests/NNCminimize4.cc (1.9), tests/NNCminimize6.cc (1.8), tests/bbrz02widening13.cc (1.4), tests/bbrz02widening14.cc (1.5), tests/bbrz02widening15.cc (1.4), tests/bbrz02widening9.cc (1.4), tests/boundingbox1.cc (1.25), tests/boundingbox2.cc (1.13), tests/linearpartition1.cc (1.4), tests/linearpartition2.cc (1.4), tests/linearpartition3.cc (1.4), tests/mc91.cc (1.8), tests/print.cc (1.3), tests/relations1.cc (1.7), tests/relations10.cc (1.3), tests/relations11.cc (1.3), tests/relations12.cc (1.2), tests/relations13.cc (1.2), tests/relations14.cc (1.2), tests/relations15.cc (1.2), tests/relations16.cc (1.2), tests/relations17.cc (1.3), tests/relations18.cc (1.2), tests/relations2.cc (1.8), tests/relations3.cc (1.8), tests/relations4.cc (1.8), tests/relations5.cc (1.8), tests/relations6.cc (1.7), tests/relations7.cc (1.7), tests/relations8.cc (1.7), tests/relations9.cc (1.8), tests/smm1.cc (1.8), tests/writeconsys1.cc (1.2), tests/writegensys1.cc (1.3), tests/writegensys2.cc (1.3), tests/writegensys3.cc (1.2), tests/writepolyhedron1.cc (1.2), tests/writepolyhedron2.cc (1.3), tests/writepolyhedron3.cc (1.2), tests/writerelation1.cc (1.2), tests/writevariable1.cc (1.2): All the input/output operators have been confined into namespace Parma_Polyhedra_Library::IO_Operators. This way they do not conflict with the operators the user might want to define. 2002-11-01 Friday 14:38 Roberto Bagnara * src/Makefile.am (1.53): Exclude Topology.hh from the generation of user's documentation. 2002-11-01 Friday 14:32 Roberto Bagnara * tests/: BBox.cc (1.1), BBox.hh (1.1), Makefile.am (1.153), boundingbox1.cc (1.24), boundingbox2.cc (1.12), boundingbox3.cc (1.3): Avoid code duplication and some spaghetti-code. 2002-11-01 Friday 12:03 Elisa Ricci * tests/: boundingbox1.cc (1.23), boundingbox3.cc (1.2): Added operator<=(const BInterval& x, const BInterval& y) and operator<=(const BBox& x, const BBox& y). In the tests, now we verify also if nbox <= pbox. 2002-11-01 Friday 10:03 Roberto Bagnara * src/Interval.cc (1.4): Always include . 2002-10-31 Thursday 18:08 Elisa Ricci * tests/: Makefile.am (1.152), boundingbox1.cc (1.22), boundingbox3.cc (1.1): Modified the test boundingbox1.cc to use only necessarily closed polyhedron and to test also Polyhedron::shrink_bounding_box(Box& box, bool polynomial) when polynomial is "true". Put the tests with not necessarily closed polyhedra into boundingbox3.cc. 2002-10-31 Thursday 18:02 Elisa Ricci * src/: Interval.cc (1.3), Interval.defs.hh (1.9), Interval.inlines.hh (1.6), Polyhedron.inlines.hh (1.50): Added :operator<<(std::ostream& s, const ExtendedRational& x). In ExtendedRational(const Integer& num, const Integer& den) we temporary use `canonicalize()'. Added the part that we use if the bounding box must be shrunk in polynomial time (if the generator system of the polyhedron is not up-to-date). 2002-10-30 Wednesday 21:23 Roberto Bagnara * src/Polyhedron.inlines.hh (1.49): Two problems with the current implementation of Polyhedron::shrink_bounding_box() flagged. 2002-10-30 Wednesday 21:20 Roberto Bagnara * NEWS (1.47), src/Polyhedron.defs.hh (1.168), src/Polyhedron.inlines.hh (1.48): New boolean parameter for template void Polyhedron::shrink_bounding_box(Box& box, bool polynomial) const: when true it specifies the bounding box must be shrunk in polynomial time. 2002-10-30 Wednesday 17:36 Roberto Bagnara * src/Polyhedron.cc, src/Polyhedron.defs.hh, tests/Makefile.am, tests/stronglyminimize1.cc, tests/stronglyminimize2.cc, tests/stronglyminimize3.cc (alt_nnc.[26,10,8,4,4,4]): Got rid of Polyhedron::strongly_minimize(). 2002-10-30 Wednesday 17:32 Roberto Bagnara * src/Polyhedron.cc (1.258), src/Polyhedron.defs.hh (1.167), tests/Makefile.am (1.151), tests/stronglyminimize1.cc (1.2), tests/stronglyminimize2.cc (1.2), tests/stronglyminimize3.cc (1.2): Got rid of Polyhedron::strongly_minimize(). 2002-10-30 Wednesday 17:24 Elisa Ricci * tests/: NNCminimize5.cc (1.5), NNCminimize6.cc (1.7), addconstraints3.cc (1.6), generators1.cc (1.9), h79widening2.cc (1.4), h79widening3.cc (1.4): Now these tests verify if the used methods do the right thing. 2002-10-30 Wednesday 17:18 Elisa Ricci * tests/: Makefile.am (1.150), ascii_dump1.cc (1.2), operator1.cc (1.1), writerelation1.cc (1.1): The test ascii_dump1.cc now is called writerealtion1.cc, because it verifies operator<< of Poly_Gen_Relation and Poly_Con_Relation. In operator1.cc put the tests to verify operator>=(const Polyhedron& x, const Polyhedron& y), operator>(const Polyhedron& x, const Polyhedron& y), operator!=(const Polyhedron& x, const Polyhedron& y) and operator<(const Polyhedron& x, const Polyhedron& y). 2002-10-30 Wednesday 16:29 Roberto Bagnara * src/Variable.defs.hh (1.25): Duplicate `public' specification removed. 2002-10-30 Wednesday 10:08 Roberto Bagnara * interfaces/Prolog/Ciao/ppl_ciao.pl (1.25): extra_linker_opts/1 directive added. 2002-10-30 Wednesday 09:58 Roberto Bagnara * tests/: Makefile.am (1.149), writegensys4.cc (1.2), writevariable1.cc (1.1): Properly test operator<<(std::ostream& s, const Variable& v) and the related machinery. 2002-10-29 Tuesday 18:35 Elisa Ricci * tests/: Makefile.am (1.148), writegensys4.cc (1.1): Added a test to print a variable with id > 26. 2002-10-29 Tuesday 18:24 Roberto Bagnara * src/: Row.cc (1.45), Row.defs.hh (1.57): Removed operator<<(std::ostream&, const Row&). 2002-10-29 Tuesday 18:24 Roberto Bagnara * ltmain.sh (1.7): Updated. 2002-10-29 Tuesday 14:49 Elisa Ricci * tests/: Makefile.am (1.147), ascii_dump1.cc (1.1), ascii_dump_load1.cc (1.7), ascii_dump_load2.cc (1.5), ascii_dump_load3.cc (1.5), ascii_dump_load4.cc (1.4), ascii_dump_load5.cc (1.2): Added some tests to verify Poly_Gen_Relation::ascii_dump(), Poly_Gen_Relation::OK(), Poly_Con_Relation::ascii_dump() and Poly_Con_Relation::OK(). Corrected the comment of the tests ascii_dump_load1.cc, ascii_dump_load2.cc, ascii_dump_load3.cc, ascii_dump_load4.cc, ascii_dump_load5.cc. 2002-10-28 Monday 08:14 Roberto Bagnara * src/LinExpression.cc (ppl-0_4-branch.1): Fixed a bug in LinExpression::operator-=(). 2002-10-28 Monday 08:04 Roberto Bagnara * tests/: Makefile.am, linexpression1.cc (ppl-0_4-branch.[5,1]): This test shows a bug in LinExpression::operator-=(). 2002-10-26 Saturday 14:28 Roberto Bagnara * configure.ac (1.70): Bump version number. 2002-10-25 Friday 20:01 Enea Zaffanella * src/Polyhedron.inlines.hh (alt_nnc.8): Definitions of num_cons() and num_gens(). 2002-10-25 Friday 19:47 Enea Zaffanella * src/Polyhedron.defs.hh, tests/hypercubes.cc (alt_nnc.[9,10]): Added methods for printing sizes of (low-level) con_sys and gen_sys. 2002-10-25 Friday 18:35 Enea Zaffanella * src/Polyhedron.cc (alt_nnc.25): n strong minimization of constraints, force all strict inequalities to have the same epsilon coefficient. 2002-10-25 Friday 18:33 Enea Zaffanella * tests/hypercubes.cc (alt_nnc.9): Test exploiting smf's. 2002-10-25 Friday 12:42 Elisa Ricci * tests/: Makefile.am (1.146), ascii_dump_load4.cc (1.3), ascii_dump_load5.cc (1.1): Added some new test to verify ascii_dump() and ascii_load(). 2002-10-24 Thursday 18:07 Elisa Ricci * tests/: Makefile.am (1.145), ascii_dump_load4.cc (1.2), writegensys3.cc (1.1): Added a new test to verify operator<<(std::ostream&, const GenSys&). Erased form ascii_dump_load4.cc an unused const char*. 2002-10-24 Thursday 16:48 Roberto Bagnara * src/Init.defs.hh (1.7): Useless file inclusion removed. 2002-10-24 Thursday 15:45 Elisa Ricci * src/LinExpression.cc (1.15): Corrected the bug in operator-=(LinExpression& e1, const LinExpression& e2): if e1.size() < e2.size(), we compute a copy e of e1 with the dimension of e2 and then we compute e - e2. 2002-10-24 Thursday 15:09 Elisa Ricci * tests/: Makefile.am (1.144), addgenerator4.cc (1.2), linexpression1.cc (1.1): Now, the test addgenerator4.cc verifies only Polyhedron::add_generator(g). The bug of operator-=(LinExpression& e1, const LinExpression& e2) is now reported in the test linexpression1.cc. 2002-10-24 Thursday 14:37 Elisa Ricci * tests/: Makefile.am (1.143), addgenerator4.cc (1.1): Added a test for Polyhedron::add_generator(g). This test shows a bug in operator-=(LinExpression& e1, const LinExpression& e2) if e1.size() < e2.size(). 2002-10-23 Wednesday 12:19 Elisa Ricci * src/Polyhedron.cc (alt_nnc.24): Corrected a problem in Polyhedron::is_BBRZ02_stabilizing(x, y): the vector `x_num_rays' must have `x.gen_sys.num_columns() - 1' elements and not `x.space_dimension()'. We have done the same change for the vector `y_num_rays'. 2002-10-23 Wednesday 10:09 Elisa Ricci * src/Polyhedron.cc (alt_nnc.23): Modified Polyhedron::is_BBRZ02_stabilizing(x, y) so that if `x' and `y' are not necessarily closed we compute the number of their points and closure points and not only the number of their closure points. 2002-10-21 Monday 07:31 Enea Zaffanella * tests/: Makefile.am, smfintersection.cc, smfpolyhull.cc (alt_nnc.[7,1,2]): Trying to better exploit smf's. 2002-10-21 Monday 07:30 Enea Zaffanella * src/Polyhedron.cc (alt_nnc.22): Disregarding the minusepsray when performing strong minimization of consys. 2002-10-19 Saturday 00:41 Roberto Bagnara * mkinstalldirs (1.5): Updated. 2002-10-19 Saturday 00:40 Roberto Bagnara * Watchdog/: config.guess (1.1), config.sub (1.1), depcomp (1.1), install-sh (1.1), ltmain.sh (1.1), missing (1.1), mkinstalldirs (1.1): Missing files added. 2002-10-18 Friday 17:02 Elisa Ricci * src/: ConSys.cc (1.53), ConSys.defs.hh (1.71): Modified ConSys:OK(): now we verify also if every row in the matrix is a valid constraint. 2002-10-18 Friday 16:46 Elisa Ricci * tests/: Makefile.am (1.142), ascii_dump_load1.cc (1.6), exceptions1.cc (1.23), writeconsys1.cc (1.1): The writeconsys1.cc test verifies operator<<(s, cs). Added tests in exceptions1.cc to verify Generator::coefficient() and Constraint::coefficient(). In ascii_dump_load1.cc erased an unused variable. 2002-10-18 Friday 16:40 Enea Zaffanella * tests/smfpolyhull.cc (alt_nnc.1): Put under CVS control. 2002-10-18 Friday 10:41 Enea Zaffanella * src/Polyhedron.cc (alt_nnc.21): Modified the widening operators to also add the non-strict inequality corresponding to each strict inequality added. 2002-10-17 Thursday 18:33 Elisa Ricci * tests/: exceptions1.cc (1.22), exceptions2.cc (1.19), writegensys1.cc (1.2): Added some tests to verify Generator::ray(), Generator::line(), Generator::closure_point(), Generator::coefficient(), Generator::divisor() and operator<<(s, g). 2002-10-17 Thursday 18:30 Elisa Ricci * src/Polyhedron.cc (1.257): In Polyhedron::BBRZ02_widening_assign() and Polyhedron::is_BBRZ02_stabilizing() debugging-purpose output made silent. Modified Polyhedron::select_H79_constraints(y, cs) so that when we use it the system of constraints has the right topology. 2002-10-17 Thursday 17:31 Enea Zaffanella * tests/hypercubes.cc (alt_nnc.8): Now committed the right file I was playing with. 2002-10-17 Thursday 17:30 Enea Zaffanella * tests/: Makefile.am, hypercubes.cc (alt_nnc.[6,7]): Playing with hypercubes and strong minimization. 2002-10-17 Thursday 17:29 Enea Zaffanella * src/Polyhedron.cc (alt_nnc.20): Debugging-purpose output made silent. 2002-10-17 Thursday 15:39 Elisa Ricci * tests/: Makefile.am (1.141), ascii_dump_load4.cc (1.1), relations18.cc (1.1), writepolyhedron3.cc (1.1): The ascii_dump_load4.cc test verifies some particular cases of ConSys::ascii_dump(s) and ConSys::ascii_load(s). The relations18.cc test verifies Polyhedron::relation_with(g), where "g" is a closure point and the system of constraints of the polyhedron contains equalities. The writepolyhedron3.cc test verifies operator<<(std::ostream&, const Polyhedron&) with an universe polyhedron. 2002-10-17 Thursday 11:20 Elisa Ricci * tests/: ascii_dump_load1.cc (1.5), relations17.cc (1.2): Added new tests and modified other tests to verify some other methods of the class GenSys. 2002-10-16 Wednesday 19:02 Elisa Ricci * tests/writegensys2.cc (1.2): Now we print the system of generators of an empty polyhedron. 2002-10-16 Wednesday 19:00 Elisa Ricci * tests/: Makefile.am (1.140), limitedbbrz02widening1.cc (1.2), relations17.cc (1.1), writegensys1.cc (1.1), writegensys2.cc (1.1): Added new tests for the methods of the class GenSys. limitedbbrz02widening1.cc is now silent. Now we do not test nnc_bbrz02widening4.cc and nnc_bbrz02widening7.cc because they contains NNC polyhedra. 2002-10-16 Wednesday 17:08 Enea Zaffanella * src/Polyhedron.cc (1.256): Fixed a topology problem in select_H79_constraints(). 2002-10-16 Wednesday 15:43 Roberto Bagnara * tests/writepolyhedron2.cc (1.2): Inconsistent spacing fixed. 2002-10-16 Wednesday 14:45 Enea Zaffanella * src/: Polyhedron.cc (1.255), Polyhedron.defs.hh (1.166), Polyhedron.inlines.hh (1.47): Added static member add_low_level_constraints(ConSys&) to factorize common code adding either the positivity or the epsilon-bound constraints. 2002-10-16 Wednesday 14:36 Elisa Ricci * tests/: Makefile.am (1.139), bbrz02widening19.cc (1.1), limitedbbrz02widening1.cc (1.1), writepolyhedron2.cc (1.1): Added new tests to verify some methods of the class Polyhedron. 2002-10-16 Wednesday 09:51 Enea Zaffanella * tests/hypercubes.cc (alt_nnc.6): Experimenting with closed hypercubes from which we cut vertices using strict inequalities and open duals of hypercubes to which we add (relatively open) facets by adding points. 2002-10-16 Wednesday 07:19 Roberto Bagnara * interfaces/Prolog/ppl_prolog.icc (1.69): Handle unary plus: previously, `+A = 1' could not be valid syntax for a constraint. 2002-10-16 Wednesday 07:10 Roberto Bagnara * configure.ac (1.69): Version number bumped. 2002-10-15 Tuesday 18:15 Roberto Bagnara * src/Polyhedron.cc (1.254): Debugging code in Polyhedron::check_universe() fixed. 2002-10-15 Tuesday 18:01 Roberto Bagnara * tests/: Makefile.am (1.138), writepolyhedron1.cc (1.1): Test operator<<(std::ostream&, const Polyhedron&). 2002-10-15 Tuesday 18:00 Roberto Bagnara * NEWS (1.46), src/LinExpression.defs.hh (1.56), src/LinExpression.inlines.hh (1.25): New function LinExpression operator+(const LinExpression&): previously an expressions like `+x2-x3-x4 <= 0' could not constitute valid syntax for a constraint. 2002-10-15 Tuesday 17:55 Elisa Ricci * src/Polyhedron.cc (1.253): Modified Polyhedron::check_univers(): if we are considering a not necessarily closed polyhedron and if its system of constraints contains only two rows that are not equalities, we are sure that they are epsilon constraints. 2002-10-15 Tuesday 17:48 Elisa Ricci * tests/: Makefile.am (1.137), topclosure3.cc (1.1): Added a test to verify Polyhedron::topological_closure_assign(). 2002-10-15 Tuesday 15:27 Elisa Ricci * tests/: Makefile.am (1.136), adddimensions12.cc (1.1), affineimage6.cc (1.1), affinepreimage8.cc (1.1), disjoint1.cc (1.1), generalizedaffineimage11.cc (1.1), generalizedaffineimage12.cc (1.1), limitedh79widening4.cc (1.1): Added new tests for some methods of the class Polyhedron. 2002-10-15 Tuesday 15:09 Roberto Bagnara * ChangeLog, NEWS, STANDARDS, config.guess, config.h.in, config.sub, configure.ac, ltmain.sh, ppl.spec.in, doc/Makefile.am, doc/bib2dox, doc/bib2html1.sed, doc/bib2html2.sed, doc/definitions.dox, doc/devref-browse.doxyconf-latex.in, doc/devref-print.doxyconf-latex.in, doc/devref.doxyconf-html.in, doc/fdl.dox, doc/gpl.dox, interfaces/C/ppl_c.cc, interfaces/C/ppl_c.h, interfaces/Prolog/Prolog_interface.dox, interfaces/Prolog/clpq2.pl, interfaces/Prolog/pl_check.pl, interfaces/Prolog/ppl_prolog.icc, interfaces/Prolog/Ciao/ppl_ciao.pl, interfaces/Prolog/GNU/ppl_gprolog.pl, interfaces/Prolog/SICStus/Makefile.am, interfaces/Prolog/SICStus/ppl_sicstus_sd.cc, interfaces/Prolog/SWI/ppl_swiprolog.cc, interfaces/Prolog/XSB/ppl_xsb.H, interfaces/Prolog/XSB/ppl_xsb.cc, interfaces/Prolog/YAP/ppl_yap.cc, src/AskTell.defs.hh, src/BoundingBox.defs.hh, src/C_Polyhedron.defs.hh, src/ConSys.cc, src/ConSys.defs.hh, src/Constraint.cc, src/Constraint.defs.hh, src/Determinate.defs.hh, src/Determinate.inlines.hh, src/GenSys.cc, src/GenSys.defs.hh, src/Integer.defs.hh, src/Integer.inlines.hh, src/LinExpression.cc, src/LinExpression.defs.hh, src/LinExpression.inlines.hh, src/Makefile.am, src/Matrix.cc, src/Matrix.defs.hh, src/NNC_Polyhedron.defs.hh, src/Poly_Con_Relation.cc, src/Poly_Con_Relation.defs.hh, src/Poly_Gen_Relation.cc, src/Poly_Gen_Relation.defs.hh, src/Polyhedron.cc, src/Polyhedron.defs.hh, src/PowerSet.defs.hh, src/PowerSet.inlines.hh, src/Row.cc, src/Row.defs.hh, src/SatMatrix.cc, src/SatMatrix.defs.hh, src/SatRow.cc, src/SatRow.defs.hh, src/Status.cc, src/Status.defs.hh, src/algorithms.hh, src/conversion.cc, src/globals.hh, src/minimize.cc, src/simplify.cc, tests/Makefile.am, tests/addconstraint2.cc, tests/addconstraint3.cc, tests/addconstraints10.cc, tests/addconstraints11.cc, tests/addconstraints12.cc, tests/adddimensions11.cc, tests/addgenerator3.cc, tests/addgenerators11.cc, tests/affineimage3.cc, tests/affineimage4.cc, tests/affineimage5.cc, tests/affinepreimage5.cc, tests/affinepreimage6.cc, tests/affinepreimage7.cc, tests/ascii_dump_load1.cc, tests/ascii_dump_load2.cc, tests/ascii_dump_load3.cc, tests/bbrz02widening1.cc, tests/bbrz02widening10.cc, tests/bbrz02widening11.cc, tests/bbrz02widening12.cc, tests/bbrz02widening13.cc, tests/bbrz02widening14.cc, tests/bbrz02widening15.cc, tests/bbrz02widening16.cc, tests/bbrz02widening17.cc, tests/bbrz02widening18.cc, tests/bbrz02widening6.cc, tests/bbrz02widening7.cc, tests/bbrz02widening9.cc, tests/concatenate5.cc, tests/contains1.cc, tests/exceptions1.cc, tests/exceptions2.cc, tests/files.cc, tests/files.hh, tests/generalizedaffineimage1.cc, tests/generalizedaffineimage10.cc, tests/generalizedaffineimage2.cc, tests/generalizedaffineimage3.cc, tests/generalizedaffineimage4.cc, tests/generalizedaffineimage5.cc, tests/generalizedaffineimage6.cc, tests/generalizedaffineimage7.cc, tests/generalizedaffineimage8.cc, tests/generalizedaffineimage9.cc, tests/h79widening5.cc, tests/intersection10.cc, tests/linearpartition1.cc, tests/linearpartition2.cc, tests/linearpartition3.cc, tests/mc91.cc, tests/memory1.cc, tests/minconstraints2.cc, tests/minconstraints3.cc, tests/mingenerators2.cc, tests/mingenerators3.cc, tests/polydifference7.cc, tests/polyhull7.cc, tests/polyhull8.cc, tests/relations10.cc, tests/relations11.cc, tests/relations12.cc, tests/relations13.cc, tests/relations14.cc, tests/relations15.cc, tests/relations16.cc, tests/stronglyminimize1.cc, tests/stronglyminimize2.cc, tests/stronglyminimize3.cc, tests/timeelapse6.cc, tests/timeelapse7.cc, tests/topclosed3.cc, tests/topclosure2.cc (alt_nnc.[3,6,4,3,5,3,5,3,3,3,3,3,3,4,3,3,3,3,3,6,6,4,4,4,5,4,4,3,4,4,4,4,4,5,5,5,8,7,7,7,7,7,10,7,4,4,4,5,5,4,4,5,5,4,5,4,5,19,8,6,6,4,5,4,5,3,5,4,5,3,4,5,5,4,5,3,3,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,4,3,3,3,3,3,3,3,3,3,4,4,4,3,3,5,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]): Merged the changes on the main trunk within the tags third_merge_to_alt_nnc and fourth_merge_to_alt_nnc. 2002-10-15 Tuesday 14:42 Roberto Bagnara * ChangeLog, NEWS, STANDARDS, config.guess, config.h.in, config.sub, configure.ac, ltmain.sh, ppl.spec.in, doc/Makefile.am, doc/bib2dox, doc/bib2html1.sed, doc/bib2html2.sed, doc/definitions.dox, doc/devref-browse.doxyconf-latex.in, doc/devref-print.doxyconf-latex.in, doc/devref.doxyconf-html.in, doc/fdl.dox, doc/gpl.dox, interfaces/C/ppl_c.cc, interfaces/C/ppl_c.h, interfaces/Prolog/Prolog_interface.dox, interfaces/Prolog/clpq2.pl, interfaces/Prolog/pl_check.pl, interfaces/Prolog/ppl_prolog.icc, interfaces/Prolog/Ciao/ppl_ciao.pl, interfaces/Prolog/GNU/ppl_gprolog.pl, interfaces/Prolog/SICStus/Makefile.am, interfaces/Prolog/SICStus/ppl_sicstus_sd.cc, interfaces/Prolog/SWI/ppl_swiprolog.cc, interfaces/Prolog/XSB/ppl_xsb.H, interfaces/Prolog/XSB/ppl_xsb.cc, interfaces/Prolog/YAP/ppl_yap.cc, src/AskTell.defs.hh, src/BoundingBox.defs.hh, src/C_Polyhedron.cc, src/C_Polyhedron.defs.hh, src/ConSys.cc, src/ConSys.defs.hh, src/ConSys.inlines.hh, src/Constraint.cc, src/Constraint.defs.hh, src/Constraint.inlines.hh, src/Determinate.defs.hh, src/Determinate.inlines.hh, src/GenSys.cc, src/GenSys.defs.hh, src/Generator.cc, src/Generator.defs.hh, src/Generator.inlines.hh, src/Integer.defs.hh, src/Integer.inlines.hh, src/LinExpression.cc, src/LinExpression.defs.hh, src/LinExpression.inlines.hh, src/Makefile.am, src/Matrix.cc, src/Matrix.defs.hh, src/NNC_Polyhedron.defs.hh, src/Poly_Con_Relation.cc, src/Poly_Con_Relation.defs.hh, src/Poly_Gen_Relation.cc, src/Poly_Gen_Relation.defs.hh, src/Polyhedron.cc, src/Polyhedron.defs.hh, src/Polyhedron.inlines.hh, src/PowerSet.defs.hh, src/PowerSet.inlines.hh, src/Row.cc, src/Row.defs.hh, src/SatMatrix.cc, src/SatMatrix.defs.hh, src/SatRow.cc, src/SatRow.defs.hh, src/Status.cc, src/Status.defs.hh, src/algorithms.hh, src/conversion.cc, src/globals.hh, src/minimize.cc, src/simplify.cc, tests/Makefile.am, tests/addconstraint2.cc, tests/addconstraint3.cc, tests/addconstraints10.cc, tests/addconstraints11.cc, tests/addconstraints12.cc, tests/adddimensions11.cc, tests/addgenerator3.cc, tests/addgenerators11.cc, tests/affineimage3.cc, tests/affineimage4.cc, tests/affineimage5.cc, tests/affinepreimage5.cc, tests/affinepreimage6.cc, tests/affinepreimage7.cc, tests/ascii_dump_load1.cc, tests/ascii_dump_load2.cc, tests/ascii_dump_load3.cc, tests/bbrz02widening1.cc, tests/bbrz02widening10.cc, tests/bbrz02widening11.cc, tests/bbrz02widening12.cc, tests/bbrz02widening13.cc, tests/bbrz02widening14.cc, tests/bbrz02widening15.cc, tests/bbrz02widening16.cc, tests/bbrz02widening17.cc, tests/bbrz02widening18.cc, tests/bbrz02widening6.cc, tests/bbrz02widening7.cc, tests/bbrz02widening9.cc, tests/boundingbox2.cc, tests/concatenate5.cc, tests/contains1.cc, tests/exceptions1.cc, tests/exceptions2.cc, tests/files.cc, tests/files.hh, tests/generalizedaffineimage1.cc, tests/generalizedaffineimage10.cc, tests/generalizedaffineimage2.cc, tests/generalizedaffineimage3.cc, tests/generalizedaffineimage4.cc, tests/generalizedaffineimage5.cc, tests/generalizedaffineimage6.cc, tests/generalizedaffineimage7.cc, tests/generalizedaffineimage8.cc, tests/generalizedaffineimage9.cc, tests/h79widening5.cc, tests/hypercubes.cc, tests/intersection10.cc, tests/linearpartition1.cc, tests/linearpartition2.cc, tests/linearpartition3.cc, tests/mc91.cc, tests/memory1.cc, tests/minconstraints2.cc, tests/minconstraints3.cc, tests/mingenerators2.cc, tests/mingenerators3.cc, tests/polydifference7.cc, tests/polyhull7.cc, tests/polyhull8.cc, tests/relations10.cc, tests/relations11.cc, tests/relations12.cc, tests/relations13.cc, tests/relations14.cc, tests/relations15.cc, tests/relations16.cc, tests/stronglyminimize1.cc, tests/stronglyminimize2.cc, tests/stronglyminimize3.cc, tests/timeelapse6.cc, tests/timeelapse7.cc, tests/topclosed3.cc, tests/topclosure2.cc (alt_nnc.[2,5,3,2,4,2,4,2,2,2,2,2,2,3,2,2,2,2,2,5,5,3,3,3,4,3,3,2,3,3,3,3,3,4,4,3,4,7,6,5,6,6,5,6,6,9,6,7,7,5,3,3,3,4,4,3,3,4,4,3,4,3,4,18,7,7,5,5,3,4,3,4,2,4,3,4,2,3,4,4,3,4,2,2,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,3,2,2,2,2,2,2,2,2,2,3,3,3,5,2,2,4,4,2,2,2,2,2,2,2,2,2,2,2,2,2,5,2,2,2,2,4,4,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2]): Erroneous merge undone. 2002-10-15 Tuesday 12:32 Patricia M. Hill * interfaces/Prolog/Prolog_interface.dox (1.67): Documentation for ppl_Polyhedron_add_constraint_and_minimize ppl_Polyhedron_and add_generator_and_minimize added. 2002-10-15 Tuesday 12:17 Roberto Bagnara * src/algorithms.hh (1.10): Bug introduced in previous change fixed. 2002-10-15 Tuesday 10:58 Roberto Bagnara * config.h.in (1.20), configure.ac (1.68), tests/memory1.cc (1.10): Portability improvements for memory-guarded programs. Mac OS X is now supported. Operating systems not providing any mechanism to limit memory usage are also supported. 2002-10-15 Tuesday 09:53 Enea Zaffanella * src/Polyhedron.cc (1.252): Greatly simplified the strongly_minimize() procedure. 2002-10-15 Tuesday 08:24 Roberto Bagnara * interfaces/Prolog/SICStus/Makefile.am (1.30): Specify -lstdc++ in splfr command invocation (this seems to help on Mac OS X). 2002-10-15 Tuesday 08:18 Roberto Bagnara * src/algorithms.hh (1.9): Use Polyhedron::add_constraint_and_minimize(). 2002-10-14 Monday 21:37 Roberto Bagnara * ChangeLog, NEWS, STANDARDS, config.guess, config.h.in, config.sub, configure.ac, ltmain.sh, ppl.spec.in, doc/Makefile.am, doc/bib2dox, doc/bib2html1.sed, doc/bib2html2.sed, doc/definitions.dox, doc/devref-browse.doxyconf-latex.in, doc/devref-print.doxyconf-latex.in, doc/devref.doxyconf-html.in, doc/fdl.dox, doc/gpl.dox, interfaces/C/ppl_c.cc, interfaces/C/ppl_c.h, interfaces/Prolog/Prolog_interface.dox, interfaces/Prolog/clpq2.pl, interfaces/Prolog/pl_check.pl, interfaces/Prolog/ppl_prolog.icc, interfaces/Prolog/Ciao/ppl_ciao.pl, interfaces/Prolog/GNU/ppl_gprolog.pl, interfaces/Prolog/SICStus/Makefile.am, interfaces/Prolog/SICStus/ppl_sicstus_sd.cc, interfaces/Prolog/SWI/ppl_swiprolog.cc, interfaces/Prolog/XSB/ppl_xsb.H, interfaces/Prolog/XSB/ppl_xsb.cc, interfaces/Prolog/YAP/ppl_yap.cc, src/AskTell.defs.hh, src/BoundingBox.defs.hh, src/C_Polyhedron.cc, src/C_Polyhedron.defs.hh, src/ConSys.cc, src/ConSys.defs.hh, src/ConSys.inlines.hh, src/Constraint.cc, src/Constraint.defs.hh, src/Constraint.inlines.hh, src/Determinate.defs.hh, src/Determinate.inlines.hh, src/GenSys.cc, src/GenSys.defs.hh, src/Generator.cc, src/Generator.defs.hh, src/Generator.inlines.hh, src/Integer.defs.hh, src/Integer.inlines.hh, src/LinExpression.cc, src/LinExpression.defs.hh, src/LinExpression.inlines.hh, src/Makefile.am, src/Matrix.cc, src/Matrix.defs.hh, src/NNC_Polyhedron.defs.hh, src/Poly_Con_Relation.cc, src/Poly_Con_Relation.defs.hh, src/Poly_Gen_Relation.cc, src/Poly_Gen_Relation.defs.hh, src/Polyhedron.cc, src/Polyhedron.defs.hh, src/Polyhedron.inlines.hh, src/PowerSet.defs.hh, src/PowerSet.inlines.hh, src/Row.cc, src/Row.defs.hh, src/SatMatrix.cc, src/SatMatrix.defs.hh, src/SatRow.cc, src/SatRow.defs.hh, src/Status.cc, src/Status.defs.hh, src/algorithms.hh, src/conversion.cc, src/globals.hh, src/minimize.cc, src/simplify.cc, tests/Makefile.am, tests/addconstraint2.cc, tests/addconstraint3.cc, tests/addconstraints10.cc, tests/addconstraints11.cc, tests/addconstraints12.cc, tests/adddimensions11.cc, tests/addgenerator3.cc, tests/addgenerators11.cc, tests/affineimage3.cc, tests/affineimage4.cc, tests/affineimage5.cc, tests/affinepreimage5.cc, tests/affinepreimage6.cc, tests/affinepreimage7.cc, tests/ascii_dump_load1.cc, tests/ascii_dump_load2.cc, tests/ascii_dump_load3.cc, tests/bbrz02widening1.cc, tests/bbrz02widening10.cc, tests/bbrz02widening11.cc, tests/bbrz02widening12.cc, tests/bbrz02widening13.cc, tests/bbrz02widening14.cc, tests/bbrz02widening15.cc, tests/bbrz02widening16.cc, tests/bbrz02widening17.cc, tests/bbrz02widening18.cc, tests/bbrz02widening6.cc, tests/bbrz02widening7.cc, tests/bbrz02widening9.cc, tests/boundingbox2.cc, tests/concatenate5.cc, tests/contains1.cc, tests/exceptions1.cc, tests/exceptions2.cc, tests/files.cc, tests/files.hh, tests/generalizedaffineimage1.cc, tests/generalizedaffineimage10.cc, tests/generalizedaffineimage2.cc, tests/generalizedaffineimage3.cc, tests/generalizedaffineimage4.cc, tests/generalizedaffineimage5.cc, tests/generalizedaffineimage6.cc, tests/generalizedaffineimage7.cc, tests/generalizedaffineimage8.cc, tests/generalizedaffineimage9.cc, tests/h79widening5.cc, tests/hypercubes.cc, tests/intersection10.cc, tests/linearpartition1.cc, tests/linearpartition2.cc, tests/linearpartition3.cc, tests/mc91.cc, tests/memory1.cc, tests/minconstraints2.cc, tests/minconstraints3.cc, tests/mingenerators2.cc, tests/mingenerators3.cc, tests/polydifference7.cc, tests/polyhull7.cc, tests/polyhull8.cc, tests/relations10.cc, tests/relations11.cc, tests/relations12.cc, tests/relations13.cc, tests/relations14.cc, tests/relations15.cc, tests/relations16.cc, tests/stronglyminimize1.cc, tests/stronglyminimize2.cc, tests/stronglyminimize3.cc, tests/timeelapse6.cc, tests/timeelapse7.cc, tests/topclosed3.cc, tests/topclosure2.cc (alt_nnc.[1,4,2,1,3,1,3,1,1,1,1,1,1,2,1,1,1,1,1,4,4,2,2,2,3,2,2,1,2,2,2,2,2,3,3,2,3,6,5,4,5,5,4,5,5,8,5,6,6,4,2,2,2,3,3,2,2,3,3,2,3,2,3,17,6,6,4,4,2,3,2,3,1,3,2,3,1,2,3,3,2,3,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,2,2,2,4,1,1,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,4,1,1,1,1,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]): Fourth merge from main trunk. 2002-10-14 Monday 17:09 Elisa Ricci * tests/: Makefile.am (1.135), addconstraint3.cc (1.1), addgenerator3.cc (1.1): Added a test for Polyhedron::add_constraint_and_minimize(c) and a test for Polyhedron::add_generator_and_minimize(g). 2002-10-14 Monday 16:01 Roberto Bagnara * NEWS (1.45), interfaces/C/ppl_c.cc (1.49), interfaces/C/ppl_c.h (1.49), interfaces/Prolog/pl_check.pl (1.26), interfaces/Prolog/ppl_prolog.icc (1.68), interfaces/Prolog/Ciao/ppl_ciao.pl (1.24), interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.28), interfaces/Prolog/SWI/ppl_swiprolog.cc (1.52), interfaces/Prolog/XSB/ppl_xsb.H (1.5), interfaces/Prolog/XSB/ppl_xsb.cc (1.10), interfaces/Prolog/YAP/ppl_yap.cc (1.46), src/Polyhedron.cc (1.251), src/Polyhedron.defs.hh (1.165): New methods bool Polyhedron::add_constraint_and_minimize(const Constraint&) and bool Polyhedron::add_generator_and_minimize(const Generator&) to add a constraint or a generator and minimizing the result at the same time. 2002-10-14 Monday 14:18 Roberto Bagnara * NEWS (1.44), interfaces/C/ppl_c.cc (1.48), interfaces/C/ppl_c.h (1.48), interfaces/Prolog/Prolog_interface.dox (1.66), interfaces/Prolog/pl_check.pl (1.25), interfaces/Prolog/ppl_prolog.icc (1.67), interfaces/Prolog/Ciao/ppl_ciao.pl (1.23), interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.27), interfaces/Prolog/SWI/ppl_swiprolog.cc (1.51), interfaces/Prolog/XSB/ppl_xsb.H (1.4), interfaces/Prolog/XSB/ppl_xsb.cc (1.9), interfaces/Prolog/YAP/ppl_yap.cc (1.45), src/Polyhedron.cc (1.250), src/Polyhedron.defs.hh (1.164): New method void Polyhedron::BBRZ02_limited_widening_assign(const Polyhedron&, ConSys&). Both this and void Polyhedron::BBRZ02_widening_assign(const Polyhedron&) are now available through all the interfaces. 2002-10-14 Monday 12:08 Roberto Bagnara * configure.ac (1.67): We now require autoconf (at least) 2.54 and automake (at least) 1.7. 2002-10-14 Monday 12:06 Roberto Bagnara * configure.ac (1.66), interfaces/Prolog/SICStus/Makefile.am (1.29): An hack that was necessary to build the SICStus Prolog interface with SICStus 3.9.0 has been removed, since it prevented us to build on Darwin. Consequently, we now require SICStus 3.9.1 or later version. 2002-10-14 Monday 08:07 Roberto Bagnara * configure.ac (1.65): Bump version number. 2002-10-13 Sunday 22:13 Roberto Bagnara * ltmain.sh (1.6): Update to the latest version of libtool. 2002-10-13 Sunday 16:36 Roberto Bagnara * src/algorithms.hh (1.8): Bug fixed in widening_assign(). 2002-10-13 Sunday 16:35 Roberto Bagnara * src/Constraint.defs.hh (1.75): We were too eager in converting "<" and ">" to "\<" and "\>" in Doxygen comments: this should not be done within LaTeX formulas. 2002-10-12 Saturday 22:42 Roberto Bagnara * src/conversion.cc (1.35): Comment fixed for Doxygen. 2002-10-12 Saturday 21:47 Roberto Bagnara * tests/memory1.cc (1.9): Much improved portability. 2002-10-12 Saturday 21:20 Roberto Bagnara * config.h.in (1.19), configure.ac (1.64): Check for declarations of RLIMIT_DATA, RLIMIT_RSS, RLIMIT_VMEM, RLIMIT_AS in . 2002-10-12 Saturday 20:42 Roberto Bagnara * src/algorithms.hh (1.7): Two serious bugs have been fixed. Other improvements. 2002-10-12 Saturday 20:40 Roberto Bagnara * src/: Determinate.defs.hh (1.21), Determinate.inlines.hh (1.21), PowerSet.defs.hh (1.20), PowerSet.inlines.hh (1.25): New default constructor. 2002-10-12 Saturday 14:56 Roberto Bagnara * doc/definitions.dox (1.103), src/AskTell.defs.hh (1.9), src/C_Polyhedron.defs.hh (1.18), src/Constraint.defs.hh (1.74), src/Determinate.defs.hh (1.20), src/NNC_Polyhedron.defs.hh (1.20): Fix all but one of the problems reported by the new version of Doxygen. 2002-10-12 Saturday 14:37 Roberto Bagnara * doc/fdl.dox (1.2), doc/gpl.dox (1.3), interfaces/Prolog/Prolog_interface.dox (1.65): Sectioning fixed. 2002-10-12 Saturday 09:21 Roberto Bagnara * doc/: bib2dox (1.2), bib2html1.sed (1.1), bib2html2.sed (1.1), bib2html2dox.sed (1.2), definitions.dox (1.102): Improvements to the machinery we use to build the bibliography section of the documentation. 2002-10-11 Friday 18:41 Elisa Ricci * tests/: Makefile.am (1.134), stronglyminimize1.cc (1.1), stronglyminimize2.cc (1.1), stronglyminimize3.cc (1.1): Added three tests for Polyhedron::strongly_minimize(). 2002-10-11 Friday 18:33 Roberto Bagnara * interfaces/Prolog/YAP/ppl_yap.cc (1.44): Use the new C interface provided by YAP. 2002-10-11 Friday 16:32 Roberto Bagnara * interfaces/Prolog/Prolog_interface.dox (1.64): Mention other problems we had with the GNU Prolog interface. 2002-10-11 Friday 12:53 Elisa Ricci * src/Polyhedron.defs.hh (1.163): Polyhedron::strongly_minimize() is now public, but the user can not see its documentation. 2002-10-11 Friday 11:49 Elisa Ricci * tests/: Makefile.am (1.133), addconstraint2.cc (1.1), concatenate5.cc (1.1), intersection10.cc (1.1), polydifference7.cc (1.1), polyhull8.cc (1.1): Added these tests to verify some methods of the class Polyhedron in the case of empty or zero dimensional polyhedron. 2002-10-11 Friday 11:46 Elisa Ricci * tests/generalizedaffineimage10.cc (1.2): Added two tests to verify Polyhedron::generalized_affine_image(lhs, r, rhs) when the set of variables of left hand side and the set of the variable of the right hand side are disjoint. 2002-10-10 Thursday 17:47 Elisa Ricci * tests/: Makefile.am (1.132), generalizedaffineimage10.cc (1.1): Added a new test for Polyhedron::generalized_affine_image(lhs, r, rhs). 2002-10-10 Thursday 16:45 Roberto Bagnara * src/Polyhedron.cc (1.249): Do not use vector. 2002-10-10 Thursday 11:20 Elisa Ricci * src/Polyhedron.cc (1.248): Some improvements to the third technique of Polyhedron::BBRZ02_widening_assign(): - the test y.relation_with(x_g) == Poly_Gen_Relation::nothing() is done after testing if x_g is a ray; - corrected the test of the elements of the vector "considered"; - now we use a const reference x_g (for x.gen_sys[i]) to find how it evolved since a ray of "y" and a copy of "x_g" to built the new ray. Use "H79_con_sys" instead of "common_con_sys" in Polyhedron::BBRZ02_widening_assign() and in Polyhedron::H79_widening_assign(). 2002-10-10 Thursday 10:35 Elisa Ricci * src/: Polyhedron.cc (1.247), Polyhedron.defs.hh (1.162): Improved the messages of the exceptions. 2002-10-09 Wednesday 20:12 Roberto Bagnara * tests/addgenerators11.cc (1.2): Be quiet. 2002-10-09 Wednesday 17:59 Elisa Ricci * tests/: bbrz02widening13.cc (1.3), bbrz02widening14.cc (1.4), bbrz02widening15.cc (1.3), bbrz02widening9.cc (1.3): Added the "known_result" to verify if the resulting polyhedron is equal to the polyhedron that we want to have. 2002-10-09 Wednesday 14:54 Patricia M. Hill * interfaces/Prolog/clpq2.pl (1.24): Problem due to bug in GNU Prolog now avoided by delaying as much as possible any reference to variables that are intended to be bound to polyhedral handles. 2002-10-09 Wednesday 11:28 Enea Zaffanella * src/algorithms.hh (1.6): poly_hull_assign_if_exact(p,q) now return true if the poly-hull is exact. 2002-10-09 Wednesday 10:55 Enea Zaffanella * src/: Constraint.defs.hh (1.73), Polyhedron.defs.hh (1.161): Escaped a few ">" and "<" occurring inside HTML tags. 2002-10-09 Wednesday 10:28 Enea Zaffanella * doc/definitions.dox (1.101): "<" and ">" inside HTMK tags have to be escaped by "\". 2002-10-09 Wednesday 09:08 Enea Zaffanella * tests/: Makefile.am (1.131), bbrz02widening18.cc (1.1): New test for bbrz02widening18, showing that we fall back to H79 when we may have obtained more precise results by combining H79 and the bbrz02 heuristics. 2002-10-09 Wednesday 09:07 Roberto Bagnara * doc/Makefile.am (1.20): Use the `-d Validate' option of doxygen (and see the resulting disaster). 2002-10-08 Tuesday 12:29 Elisa Ricci * src/Polyhedron.cc (1.246), tests/Makefile.am (1.130), tests/bbrz02widening16.cc (1.1), tests/bbrz02widening17.cc (1.1): Improved the third technique: the rays that we want to add are modified so that they satisfy the constraints of "common_con_sys". Added to test to verify these changes. 2002-10-08 Tuesday 09:24 Elisa Ricci * src/Polyhedron.cc (1.245): Modified Polyhedron::is_BBRZ02_stabilizing(): if the number of points (or closure points) of `y' is smaller than the number of points of `x', the chain is not stabilizing. 2002-10-07 Monday 21:47 Roberto Bagnara * tests/: Makefile.am (1.129), ascii_dump_load1.cc (1.4), ascii_dump_load2.cc (1.4), ascii_dump_load3.cc (1.4): Write files in the current directory. Make sure the current directory is also properly cleaned afterwards. 2002-10-07 Monday 17:16 Elisa Ricci * src/Polyhedron.cc (1.244): Made a little improvement to the third technique of Polyhedron::BBRZ02_widening_assign(): we built a temporary system of generators and then we use Polyhedron::add_generators_and_minimize() to add this system to the polyhedron `x'. 2002-10-07 Monday 16:07 Elisa Ricci * src/Polyhedron.cc (1.243): Corrected an error in the second technique of Polyhedron::BBRZ02_widening_assign(): we add the system of generators `valid_rays' if the new ray has all homogeneous coefficients equal to zero or if adding only a ray there is not stabilization. 2002-10-07 Monday 14:38 Elisa Ricci * src/Polyhedron.cc (1.242): Modified the second technique of Polyhedron::BBRZ02_widening_assign() so that before we add only the averaged ray and if the result is not stabilizing we add all the rays of `valid_rays'. 2002-10-07 Monday 12:12 Enea Zaffanella * src/Polyhedron.cc (1.241): In is_BBRZ02_stabilizing(), corrected a bug in the test on stabilization based on number of rays. 2002-10-07 Monday 11:38 Patricia M. Hill * interfaces/Prolog/: pl_check.pl (1.24), ppl_prolog.icc (1.66), Ciao/ppl_ciao.pl (1.22), GNU/ppl_gprolog.pl (1.18), SICStus/ppl_sicstus_sd.cc (1.26), SWI/ppl_swiprolog.cc (1.50), XSB/ppl_xsb.H (1.3), XSB/ppl_xsb.cc (1.8), YAP/ppl_yap.cc (1.43): Added ppl_Polyhedron_is_disjoint_from_Polyhedron/2 to Prolog interface. Tests for this added to pl_check.pl 2002-10-07 Monday 11:31 Enea Zaffanella * src/Polyhedron.cc (1.240): Modified method Polyhedron::is_BBRZ02_stabilizing(x, y) so that: - we check for a decreasing number of rays lying inside the faces of an orthant. - we check whether x and y do happens to be the same polyhedron. Modified method Polyhedron::BBRZ02_widening_assign(y) to apply, as a last resort, the widening H79. 2002-10-07 Monday 11:19 Elisa Ricci * tests/: ascii_dump_load3.cc (1.3), bbrz02widening1.cc (1.3), bbrz02widening12.cc (1.2), exceptions1.cc (1.21), exceptions2.cc (1.18): Modified these tests so that there is only a `set_handlers()' for each test. 2002-10-07 Monday 10:12 Enea Zaffanella * src/Polyhedron.defs.hh (1.160): In the Doxygen documentation of affine (pre)-image operators, fixed a couple of mismatches in the naming of parameters. 2002-10-07 Monday 07:27 Roberto Bagnara * src/Determinate.inlines.hh (1.20): PH& Determinate::polyhedron() fixed: it was not calling mutate(). 2002-10-06 Sunday 22:30 Roberto Bagnara * src/algorithms.hh (1.5): Added a tentative, inefficient implementation for template bool poly_hull_assign_if_exact(PH& p, const PH& q): if the poly-hull of `p' and `q' is exact, assigns it to `p' and returns `true'; it returns false otherwise. Added a tentative implementation for template void complete_reduction(PowerSet >& p): it collapses all the elements of `p' that can be poly-hulled without loss of precision. Added tentative implementations of template void H79_widening_assign(PowerSet >& r, const PowerSet >& q) and template void BBRZ02_widening_assign(PowerSet >& r, const PowerSet >& q): they are meant to generalize the widenings on polyhedra to sets of polyhedra. 2002-10-06 Sunday 22:23 Roberto Bagnara * src/: Determinate.defs.hh (1.19), Determinate.inlines.hh (1.19): Added PH& polyhedron(). 2002-10-06 Sunday 22:22 Roberto Bagnara * tests/: linearpartition1.cc (1.3), linearpartition2.cc (1.3), linearpartition3.cc (1.3): Reduce the scope of declarations. 2002-10-06 Sunday 20:01 Roberto Bagnara * tests/: linearpartition2.cc (1.2), linearpartition3.cc (1.2): Made quiet. 2002-10-06 Sunday 19:19 Roberto Bagnara * tests/: Makefile.am (1.128), linearpartition2.cc (1.1), linearpartition3.cc (1.1): Test linear_partition() with two disjoint polyhedra and with two telescopic polyhedra. 2002-10-06 Sunday 19:18 Roberto Bagnara * src/algorithms.hh (1.4): Relax the limitations of linear_partition(). 2002-10-06 Sunday 18:15 Enea Zaffanella * src/Polyhedron.cc (1.239): Many (small) improvements in the implementation of the 2nd technique of BBRZ02_widening_assign(). 2002-10-06 Sunday 10:36 Roberto Bagnara * doc/definitions.dox (1.100): Bibliography added (perhaps not at the right place). 2002-10-06 Sunday 10:34 Roberto Bagnara * doc/: bib2dox (1.1), bib2html2dox.sed (1.1): A tool to convert a BibTeX file into something suitable for inclusion into the Doxygen documentation. 2002-10-06 Sunday 09:26 Roberto Bagnara * src/algorithms.hh (1.3): Comment slightly improved. 2002-10-06 Sunday 09:25 Roberto Bagnara * doc/: devref-browse.doxyconf-latex.in (1.23), devref-print.doxyconf-latex.in (1.23), devref.doxyconf-html.in (1.24): Include `algorithms.hh' in the sources used to create the developer's reference manual. 2002-10-06 Sunday 09:24 Roberto Bagnara * doc/definitions.dox (1.99): Use the condition `Include_Implementation_Details' instead of `Implementation_Info'. 2002-10-06 Sunday 09:16 Roberto Bagnara * STANDARDS (1.8): A few minor improvements. 2002-10-05 Saturday 22:39 Roberto Bagnara * src/algorithms.hh (1.2): Include implementation details for linear_partition(). 2002-10-05 Saturday 22:24 Roberto Bagnara * tests/linearpartition1.cc (1.2): Be quiet. 2002-10-05 Saturday 22:17 Enea Zaffanella * tests/: bbrz02widening13.cc (1.2), bbrz02widening14.cc (1.3): Made silent. 2002-10-05 Saturday 22:16 Enea Zaffanella * src/: Polyhedron.cc (1.238), Polyhedron.defs.hh (1.159): Added new private method void Polyhedron::select_H79_constraints(const Polyhedron& y, ConSys& cs_selection) const; that selects the common constraints of *this and y (into cs_selection) according to H79. Used the method both in H79_widening and in BBRZ02_widening. Modified the second technique of BBRZ02 to have more chances that it will produce a stabilizing sequence of polyhedra. Added a few outputs for the debugging of BBRZ02_widening. 2002-10-05 Saturday 20:41 Roberto Bagnara * src/Makefile.am (1.52), src/algorithms.hh (1.1), tests/Makefile.am (1.127), tests/linearpartition1.cc (1.1): New function template std::pair > > linear_partition(const PH& p, const PH& q) computing a partition of `q' with respect to `p'. 2002-10-05 Saturday 20:37 Roberto Bagnara * src/: Determinate.defs.hh (1.18), Determinate.inlines.hh (1.18): Added const PH& polyhedron() const. 2002-10-05 Saturday 19:19 Roberto Bagnara * interfaces/C/: ppl_c.cc (1.47), ppl_c.h (1.47): The function int ppl_Polyhedron_is_disjoint_from_Polyhedron() makes the disjointness test for polyhedra available to the C interface. 2002-10-05 Saturday 19:17 Roberto Bagnara * NEWS (1.43), src/Polyhedron.cc (1.237), src/Polyhedron.defs.hh (1.158): New function bool are_disjoint(const Polyhedron&, const Polyhedron&) returning true if and only if the two polyhedra are disjoint. 2002-10-05 Saturday 18:52 Roberto Bagnara * src/Polyhedron.defs.hh (1.157): All the relational operators on polyhedra are now commented the same way. 2002-10-05 Saturday 17:49 Roberto Bagnara * src/: PowerSet.defs.hh (1.19), PowerSet.inlines.hh (1.24): The default constructor now builds an empty (bottom) PowerSet. 2002-10-05 Saturday 16:43 Enea Zaffanella * src/: BoundingBox.defs.hh (1.7), ConSys.cc (1.52), ConSys.defs.hh (1.70), Constraint.cc (1.33), Constraint.defs.hh (1.72), Determinate.defs.hh (1.17), GenSys.cc (1.69), GenSys.defs.hh (1.82), Generator.cc (1.40), Generator.defs.hh (1.78), Matrix.defs.hh (1.37), Poly_Con_Relation.defs.hh (1.16), Poly_Gen_Relation.defs.hh (1.15), Polyhedron.cc (1.236), Polyhedron.defs.hh (1.156), PowerSet.defs.hh (1.18), Row.cc (1.44), Row.defs.hh (1.56), SatMatrix.cc (1.22), SatMatrix.defs.hh (1.26), SatRow.cc (1.12), SatRow.defs.hh (1.21), Status.cc (1.16), Status.defs.hh (1.23), conversion.cc (1.34), minimize.cc (1.25), simplify.cc (1.19): Started enforcing STANDARDS rules as far as the doxygen documentation is concerned: - added a \brief declaration where needed; - cut detailed doxygen comments from *.cc files and pasted in *.defs.hh files (with the exceptions of conversion, minimize and simplify); - started using the conditional section Include_Implementation_Details; - avoided using \fn declaration where it is not needed (it was also causing problems since it does not support line breaks); - fixed some problems with the naming of doxygen documentation groups. 2002-10-05 Saturday 12:50 Roberto Bagnara * tests/mc91.cc (1.7): Fixed and made quiet. 2002-10-05 Saturday 12:50 Roberto Bagnara * src/PowerSet.inlines.hh (1.23): Fixed a couple of bugs concerning space dimensions. 2002-10-05 Saturday 10:29 Roberto Bagnara * src/: PowerSet.defs.hh (1.17), PowerSet.inlines.hh (1.22): The default constructor for PowerSet now takes the dimension of the enclosing space as an optional parameter, defaulting to zero. 2002-10-05 Saturday 10:28 Enea Zaffanella * src/: GenSys.cc (1.68), Polyhedron.cc (1.235): Added missing \relates doxygen declarations. 2002-10-05 Saturday 10:24 Enea Zaffanella * src/conversion.cc (1.33): Added a missing namespace qualification in the doxygen comment. 2002-10-05 Saturday 10:23 Enea Zaffanella * src/: ConSys.cc (1.51), ConSys.defs.hh (1.69): According to STANDARDS, moved doxygen documentation in the header file. Added a missing \relates declaration to avoid a doxygen warning. 2002-10-05 Saturday 10:20 Enea Zaffanella * doc/: devref-browse.doxyconf-latex.in (1.22), devref-print.doxyconf-latex.in (1.22), devref.doxyconf-html.in (1.23): Added Include_Implementation_Details in the ENABLED_SECTIONS of the developer reference. 2002-10-05 Saturday 10:18 Enea Zaffanella * STANDARDS (1.7): Added specification on how to integrate an end-user comment block with further comments for the developer only. 2002-10-04 Friday 23:51 Enea Zaffanella * NEWS (1.42): Notified new function for manipulation LinExpression's. 2002-10-04 Friday 23:51 Enea Zaffanella * tests/: bbrz02widening14.cc (1.2), bbrz02widening15.cc (1.2): Tests made silent. 2002-10-04 Friday 22:26 Enea Zaffanella * doc/definitions.dox (1.98): Cut away previous spurious commit on the specification of generalized affine image. Added a missing transposition sign. 2002-10-04 Friday 22:24 Enea Zaffanella * interfaces/Prolog/Prolog_interface.dox (1.63): Typo corrected: closure-point ==> closure_point. 2002-10-04 Friday 19:29 Roberto Bagnara * ChangeLog (1.10): Updated. 2002-10-04 Friday 19:26 Roberto Bagnara * NEWS (1.41): Report the news for PPL 0.4.2. 2002-10-04 Friday 18:53 Elisa Ricci * src/Polyhedron.cc (1.234): Modified the second technique of Polyhedron::BBRZ02_widening_assign(): we add all the chosen rays that satisfy the system of constraints `common_con_sys' to the system of generators of `x'. 2002-10-04 Friday 18:42 Enea Zaffanella * tests/: Makefile.am (1.126), bbrz02widening14.cc (1.1), bbrz02widening15.cc (1.1): Added two new tests. The first one is similar to bbrz02widening13, but this time the limit of the chain of polyhedra is a bounded polyhedron. The second one is similar to the first one, but it is based on a chain of polyhedral cones. 2002-10-04 Friday 18:39 Enea Zaffanella * src/: LinExpression.cc (1.14), LinExpression.defs.hh (1.55): Added new function LinExpression& operator*=(LinExpression& e, const Integer& n); to multiply (in place) a given expression by an Integer constant. 2002-10-04 Friday 15:19 Enea Zaffanella * doc/definitions.dox (1.97), tests/Makefile.am (1.125), tests/bbrz02widening13.cc (1.1): Added a new test for the bbrz02 widening. 2002-10-04 Friday 12:21 Roberto Bagnara * Watchdog/ChangeLog, ChangeLog (ppl-0_4-branch.[3,7]): Mark ChangeLog. 2002-10-04 Friday 11:39 Roberto Bagnara * ChangeLog (ppl-0_4-branch.6): Updated. 2002-10-04 Friday 10:25 Roberto Bagnara * ppl.spec.in (1.16): Require GCC 3.2 or later, require GMP 4.1 or later version. 2002-10-04 Friday 10:23 Roberto Bagnara * ppl.spec.in (ppl-0_4-branch.1): Require GCC 3.2 or later version. 2002-10-04 Friday 09:20 Roberto Bagnara * ChangeLog (ppl-0_4-branch.5): Updated. 2002-10-04 Friday 09:12 Roberto Bagnara * configure.ac (ppl-0_4-branch.4): Version number bumped. 2002-10-04 Friday 09:11 Roberto Bagnara * NEWS (ppl-0_4-branch.7): Try to release today. 2002-10-03 Thursday 17:58 Elisa Ricci * tests/: Makefile.am (1.124), exceptions1.cc (1.20), exceptions2.cc (1.17), generalizedaffineimage9.cc (1.1): Added some new tests for Polyhedron::generalized_affine_image(lhs, r, rhs). 2002-10-03 Thursday 15:26 Roberto Bagnara * tests/: Makefile.am (1.123), ascii_dump_load1.cc (1.3), ascii_dump_load2.cc (1.3), files.cc (1.2), files.hh (1.2): Several improvements. 2002-10-03 Thursday 15:18 Roberto Bagnara * tests/: Makefile.am (1.122), ascii_dump_load3.cc (1.2), files.cc (1.1), files.hh (1.1): Avoid spaghetti-coding. 2002-10-03 Thursday 15:01 Elisa Ricci * tests/generalizedaffineimage7.cc (1.3): Corrected the test: we want "return 1" if there is at least a test that exits with "return 1". 2002-10-03 Thursday 12:23 Elisa Ricci * tests/: Makefile.am (1.121), ascii_dump_load2.cc (1.2), ascii_dump_load3.cc (1.1): Added a new test for Polyhedron::ascii_dump() and Polyhedron::ascii_load(). Corrected an error in the comment of ascii_dump_load2.cc. 2002-10-03 Thursday 12:08 Enea Zaffanella * src/Polyhedron.cc (1.233), src/Polyhedron.defs.hh (1.155), tests/generalizedaffineimage1.cc (1.4), tests/generalizedaffineimage7.cc (1.2): When the lhs of the generalized affine image is an arbitrary LinExpression, there is no need of having a denominator for the rhs. 2002-10-03 Thursday 12:01 Enea Zaffanella * doc/definitions.dox (1.96): Added missing transposition signs in documentation of affine images. Improved comment of generalized affine images. 2002-10-03 Thursday 11:59 Enea Zaffanella * NEWS (1.40): Reported the bug on minimization of zero-dim-universe NNC polyhedra. 2002-10-03 Thursday 11:59 Enea Zaffanella * src/ConSys.cc (1.50): Fixed a couple of comments. 2002-10-03 Thursday 10:43 Enea Zaffanella * NEWS, doc/definitions.dox, src/ConSys.cc, src/Polyhedron.cc, tests/Makefile.am, tests/minconstraints1.cc, tests/minconstraints2.cc, tests/minconstraints3.cc, tests/mingenerators1.cc, tests/mingenerators2.cc, tests/mingenerators3.cc (ppl-0_4-branch.[6,1,4,7,4,1,1,1,1,1,1]): Reported on the branch a couple of bugfixes and corresponding tests. 2002-10-03 Thursday 09:18 Enea Zaffanella * doc/definitions.dox (1.95): Corrected the definition of affine preimage. 2002-10-03 Thursday 04:22 Roberto Bagnara * config.guess (1.13), config.sub (1.12): Updated. 2002-10-02 Wednesday 17:32 Elisa Ricci * tests/: Makefile.am (1.120), ascii_dump_load2.cc (1.1): Added a new test to verify Polyhedron::ascii_load() and Polyhedron::ascii_dump(). 2002-10-02 Wednesday 16:26 Enea Zaffanella * src/Polyhedron.cc (1.232): Fixed a typo in a comment. 2002-10-02 Wednesday 16:24 Enea Zaffanella * src/Polyhedron.cc (1.231): The implementation of generalized_affine_image(lhs, rel, rhs, denom) now handles some special cases in a more efficient way. 2002-10-02 Wednesday 16:14 Elisa Ricci * src/Polyhedron.cc (1.230): In Polyhedron::strongly_minimize_constraints() and Polyhedron::strongly_minimize_generators() corrected the bug shown by minconstraints3.cc and mingenerators3.cc: now we verify if the polyhedron is not empty and zero-dimensional. 2002-10-02 Wednesday 16:10 Elisa Ricci * tests/: Makefile.am (1.119), minconstraints3.cc (1.1), mingenerators3.cc (1.1): The test minconstraints3.cc shows a bug in Polyhedron::strongly_minimize_constraints(). The test mingenerators3.cc shows a bug in Polyhedron::strongly_minimize_generators(). 2002-10-02 Wednesday 15:38 Roberto Bagnara * tests/Makefile.am (1.118): Expect addgenerators11 to fail. 2002-10-02 Wednesday 14:54 Enea Zaffanella * tests/exceptions1.cc (1.19): Fixed a few comments on tests about generalized_affine_image. 2002-10-02 Wednesday 14:40 Elisa Ricci * tests/generalizedaffineimage8.cc (1.2): Corrected an error in the comment of the test: the relation is `>' and not `<'. 2002-10-02 Wednesday 14:39 Elisa Ricci * tests/: Makefile.am (1.117), generalizedaffineimage8.cc (1.1): Added a new test for Polyhedron::generalized_affine_image(v, r, e, d) in the case of non necessarily closed polyhedron and the relation `>'. 2002-10-02 Wednesday 14:28 Roberto Bagnara * tests/: exceptions1.cc (1.18), exceptions2.cc (1.16): Adapted to the new interface of Polyhedron::generalized_affine_image(). 2002-10-02 Wednesday 14:17 Enea Zaffanella * tests/: Makefile.am (1.116), generalizedaffineimage3.cc (1.4), generalizedaffineimage7.cc (1.1): Added a new test for method Polyhedron::generalized_affine_image(lhs, relop, rhs, denum) checking that, when lhs has a single variable, the current implementation does have the same behavior of Polyhedron::generalized_affine_image(var, relop, rhs, denum). 2002-10-02 Wednesday 14:08 Roberto Bagnara * tests/Makefile.am (1.115): Specify the source for addgenerators11. 2002-10-02 Wednesday 14:02 Roberto Bagnara * tests/: Makefile.am (1.114), addgenerators11.cc (1.1): New test for Polyhedron::add_generators_and_minimize(). 2002-10-02 Wednesday 12:39 Enea Zaffanella * src/Polyhedron.cc (1.229), src/Polyhedron.defs.hh (1.154), src/globals.hh (1.23), tests/generalizedaffineimage1.cc (1.3), tests/generalizedaffineimage2.cc (1.3), tests/generalizedaffineimage3.cc (1.3), tests/generalizedaffineimage4.cc (1.2), tests/generalizedaffineimage5.cc (1.2), tests/generalizedaffineimage6.cc (1.2): Added enumeration Relation_Operator to encode the operator <, <=, ==, >=, >. Used the enumeration to specify the relation operator of methods Polyhedron::generalized_affine_image(). Patched the tests to use the enumeration instead of string encodings. 2002-10-02 Wednesday 12:05 Elisa Ricci * src/ConSys.cc (1.49): Modified ConSys::adjust_topology_and_dimension() so that if the system of constraints was sorted, does not contains strict inequalities and is not necessarily closed and if the new topology is NECESSARILY_CLOSED, we sort the system again. 2002-10-02 Wednesday 11:20 Elisa Ricci * src/ConSys.cc (1.48), tests/Makefile.am (1.113), tests/addconstraints12.cc (1.1): Corrected an error in ConSys::adjust_topology_and_dimension: now we erase the constraints 0 <= \epsilon <= 1 if the system of constraints does not contains strict inequalities and is not necessarily closed and the new topology is NECESSARILY_CLOSED. Added a test to verify this function. 2002-10-02 Wednesday 10:19 Elisa Ricci * tests/topclosed3.cc (1.3): Added the comment to explain what this test does. 2002-10-02 Wednesday 09:48 Enea Zaffanella * tests/topclosed3.cc (1.2): New test made silent. 2002-10-02 Wednesday 09:47 Enea Zaffanella * tests/: Makefile.am (1.112), topclosed3.cc (1.1): Added a new test on the topological closure check. It shows that an unmatched closure point lying on the same line of a point, after performing minimization, is converted by back_substitute() into the corresponding matched closure point: this property is needed to ensure the correctness of the current implementation. 2002-10-01 Tuesday 21:04 Enea Zaffanella * src/Polyhedron.cc (1.228), tests/Makefile.am (1.111), tests/generalizedaffineimage6.cc (1.1): Added a first draft implementation for method Polyhedron::generalized_affine_image(const LinExpression& lhs, const char* relation, const LinExpression& rhs, const Integer& denominator); Added a first test to check if it works. 2002-10-01 Tuesday 14:56 Enea Zaffanella * doc/definitions.dox (1.94), src/Polyhedron.cc (1.227), src/Polyhedron.defs.hh (1.153): The specification of the generalized affine image operator further generalized to allow for an arbitrary affine expression in the lhs. Added the declaration of this generalization (with a void implementation). 2002-10-01 Tuesday 11:56 Elisa Ricci * tests/: bbrz02widening6.cc (1.3), bbrz02widening7.cc (1.3): Modified the polyhedron `known_result' according to the changes of Polyhedron::BBRZ02_widening_assign(). 2002-10-01 Tuesday 11:22 Elisa Ricci * src/Polyhedron.cc (1.226), tests/Makefile.am (1.110), tests/generalizedaffineimage5.cc (1.1): Corrected an error in Polyhedron::generalized_affine_image(). Added a test to verify this function. 2002-09-30 Monday 11:32 Elisa Ricci * tests/: Makefile.am (1.109), affinepreimage6.cc (1.2), affinepreimage7.cc (1.1), exceptions1.cc (1.17), exceptions2.cc (1.15), polyhull7.cc (1.1): Added new tests for some methods of the class Polyhedron. Corrected a comment in the test affinepreimage6.cc. 2002-09-29 Sunday 15:31 Roberto Bagnara * src/ConSys.cc (1.47), src/ConSys.defs.hh (1.68), src/GenSys.cc (1.67), src/GenSys.defs.hh (1.81), src/Matrix.cc (1.44), src/Matrix.defs.hh (1.36), src/Poly_Con_Relation.cc (1.4), src/Poly_Con_Relation.defs.hh (1.15), src/Poly_Gen_Relation.cc (1.4), src/Poly_Gen_Relation.defs.hh (1.14), src/Polyhedron.cc (1.225), src/Polyhedron.defs.hh (1.152), src/SatMatrix.cc (1.21), src/SatMatrix.defs.hh (1.25), src/Status.cc (1.15), src/Status.defs.hh (1.22), tests/ascii_dump_load1.cc (1.2): The ASCII_dump() and ASCII_load() methods have been renamed ascii_dump() and ascii_load(). 2002-09-29 Sunday 11:16 Elisa Ricci * src/Status.cc (1.14), tests/Makefile.am (1.108), tests/ascii_dump_load1.cc (1.1): Corrected an error in Status::ASCII_load(std::istream& s). Added a test to verify Polyhedron::ASCII_dump(std::ostream& s) and Polyhedron::ASCII_load(std::istream& s). 2002-09-27 Friday 20:28 Enea Zaffanella * NEWS (1.39), tests/affineimage5.cc (1.2): Test affineimage5 made silent. The bug affecting affine_image() could have produced wrong results (not just violate a library invariant). 2002-09-27 Friday 20:22 Enea Zaffanella * NEWS, src/ConSys.cc, src/GenSys.cc, src/Polyhedron.cc, tests/Makefile.am, tests/affineimage4.cc, tests/affineimage5.cc (ppl-0_4-branch.[5,3,3,6,3,1,1]): The correction of the bug affecting Polyhedron::affine_image() and Polyhedron::affine_preimage() reported on ppl-0_4-branch. 2002-09-27 Friday 15:41 Enea Zaffanella * doc/definitions.dox (1.93), src/Polyhedron.defs.hh (1.151): Fixed documentation reference for the generalized_affine_image operator. 2002-09-27 Friday 15:39 Enea Zaffanella * src/Polyhedron.cc (1.224): Methods Polyhedron::affine_image() and Polyhedron::affine_preimage() now only call ConSys::affine_preimage() and GenSys::affine_image() with a strictly positive denominator. Added draft implementation of generalized_affine_image() for the case of a strict relation operator (only for NNC polyhedra). 2002-09-27 Friday 15:35 Enea Zaffanella * src/: ConSys.cc (1.46), GenSys.cc (1.66): Private methods ConSys::affine_preimage() and GenSys::affine_image() now assume that the third argument is a _positive_ Integer. 2002-09-27 Friday 15:33 Enea Zaffanella * tests/: Makefile.am (1.107), affineimage5.cc (1.1), generalizedaffineimage1.cc (1.2), generalizedaffineimage2.cc (1.2), generalizedaffineimage3.cc (1.2), generalizedaffineimage4.cc (1.1): Added new tests and adjusted the known_results of generalizedaffineimage* to match the specification. 2002-09-27 Friday 09:23 Enea Zaffanella * doc/definitions.dox (1.92), src/Polyhedron.cc (1.223), src/Polyhedron.defs.hh (1.150): Method generalized_affine_image() reimplemented to match its specification. The doxygen specification improved. 2002-09-27 Friday 09:20 Enea Zaffanella * NEWS (1.38): Reported the bugfix for Polyhedron::affine_image(). 2002-09-27 Friday 09:18 Enea Zaffanella * src/GenSys.cc (1.65): Corrected a bug in GenSys::affine_image() whereby we were creating points having a negative divisor when the denominator of the affine transformation was negative. 2002-09-27 Friday 09:16 Enea Zaffanella * tests/: Makefile.am (1.106), affineimage4.cc (1.1): New test showing a bug in Polyhedron::affine_image() when the divisor is negative. 2002-09-26 Thursday 15:20 Enea Zaffanella * src/Polyhedron.cc (1.222): The draft implementation of Polyhedron::generalized_affine_image() extended to work with NNC polyhedra. 2002-09-26 Thursday 13:17 Enea Zaffanella * tests/: Makefile.am (1.105), generalizedaffineimage3.cc (1.1): Added a test for generalized_affine_image where the points of the polyhedron have non-integral coordinates. 2002-09-26 Thursday 12:56 Enea Zaffanella * tests/: Makefile.am (1.104), generalizedaffineimage1.cc (1.1), generalizedaffineimage2.cc (1.1): Added a couple of tests for the new generalized_affine_image operator. 2002-09-26 Thursday 12:55 Enea Zaffanella * doc/definitions.dox (1.91): Added draft specification of the generalized affine image operator. 2002-09-26 Thursday 12:53 Enea Zaffanella * src/: Polyhedron.cc (1.221), Polyhedron.defs.hh (1.149): Added a first draft implementation of the generalized_affine_image operator. Current implementation should work correctly for C_Polyhedron. 2002-09-26 Thursday 12:51 Enea Zaffanella * src/: LinExpression.defs.hh (1.54), LinExpression.inlines.hh (1.24): Added methods to provide read-only access to the coefficients and the inhomogeneous term of a LinExpression. 2002-09-25 Wednesday 18:25 Elisa Ricci * src/Polyhedron.cc (1.220), tests/Makefile.am (1.103), tests/bbrz02widening12.cc (1.1): Corrected an improved the third technique of Polyhedron::BBRZ02_widening_assign(). Added a test to verify this technique. 2002-09-25 Wednesday 16:54 Roberto Bagnara * doc/definitions.dox (1.90): Greatly improved the matrix in the explanation of affine images and preimages. 2002-09-25 Wednesday 14:31 Enea Zaffanella * NEWS (1.37): Removed a few repetitions in the list of bugfixes. 2002-09-25 Wednesday 10:12 Elisa Ricci * src/: Integer.defs.hh (1.9), Integer.inlines.hh (1.8), Polyhedron.cc (1.219): Added the functions void sqrt_assign(Integer& x) and void sqrt_assign(Integer& x, const Integer& y) in Integer to compute he truncated integer part of the root of an Integer. Used the function sqrt_assign(Integer&) in the first technique of BBRZ02_widening_assign(). 2002-09-24 Tuesday 19:05 Elisa Ricci * src/: Integer.defs.hh (1.8), Integer.inlines.hh (1.7), Polyhedron.cc (1.218): Added the functions lcm_assign(Integer& x, const Integer& y) and lcm_assign(Integer& x, const Integer& y, const Integer& z) in Integer. Modified the function Polyhedron::BBRZ02_widening_assing() so that in the first technique we choose the constraints to add in the right system and we normalize the vectors using a bad approximation of the norm; corrected also an error in the third technique in the case of rays with negative coefficients. 2002-09-24 Tuesday 15:36 Enea Zaffanella * NEWS, src/GenSys.cc, src/Polyhedron.cc (ppl-0_4-branch.[4,2,5]): Reported to the ppl-0_4-branch the corrections to a couple of bugs affecting methods GenSys::insert(const Generator& ) and Polyhedron::add_generator(const Generator& ). 2002-09-24 Tuesday 10:34 Enea Zaffanella * src/ConSys.cc, tests/Makefile.am, tests/relations14.cc (ppl-0_4-branch.[2,2,1]): Added the test showing a bug when invoking method Polyhedron::relation_with(const Generator& ). Implemented the correction in method ConSys::satisfies_all_constraints(const Generator& ). 2002-09-23 Monday 17:15 Elisa Ricci * tests/: Makefile.am (1.102), relations11.cc (1.2), relations15.cc (1.1), relations16.cc (1.1): Added two tests for the methods of the class GenSys and corrected an error in the comment of the test relations11.cc. 2002-09-23 Monday 12:57 Enea Zaffanella * NEWS (1.36), src/ConSys.cc (1.45): Corrected a bug in ConSys::satisfies_all_constraints(const Generator& ) which was affecting the public method Polyhedron::relation_with(const Generator& ). The bug reported on the NEWS file. 2002-09-23 Monday 11:55 Enea Zaffanella * tests/: Makefile.am (1.101), relations13.cc (1.1), relations14.cc (1.1): A couple of new tests. relations14 shows a bug in the implementation of ConSys::satisfies_all_constraints(const Generator& g) const. 2002-09-20 Friday 11:54 Elisa Ricci * tests/: Makefile.am (1.100), addconstraints11.cc (1.8), affinepreimage6.cc (1.1), relations10.cc (1.2), relations12.cc (1.1): Added other tests for some methods of the classes ConSys and GenSys. Corrected the comment of the test in relations10.cc. 2002-09-19 Thursday 17:16 Elisa Ricci * tests/: Makefile.am (1.99), affineimage3.cc (1.1), affinepreimage5.cc (1.1), relations10.cc (1.1), relations11.cc (1.1): Added some tests for the methods of the classes Polyhedron, ConSys and GenSys. 2002-09-18 Wednesday 11:54 Elisa Ricci * tests/: Makefile.am (1.98), adddimensions11.cc (1.1), exceptions2.cc (1.14): Added two other tests to verify the methods of the class Polyhedron. 2002-09-18 Wednesday 10:27 Elisa Ricci * src/Polyhedron.cc (1.217): Made some little improvements to the function Polyhedron::BBRZ02_widenin_assign(). Improved also some comments of this function. 2002-09-17 Tuesday 18:44 Elisa Ricci * tests/: Makefile.am (1.97), contains1.cc (1.1), exceptions2.cc (1.13), h79widening5.cc (1.2), minconstraints2.cc (1.2): Improved some tests and added other tests to verify some methods of Polyhedron.cc and C_Polyhedron.cc. 2002-09-17 Tuesday 11:29 Elisa Ricci * tests/: Makefile.am (1.96), addconstraints10.cc (1.7), bbrz02widening10.cc (1.1), bbrz02widening11.cc (1.1), h79widening5.cc (1.1), minconstraints2.cc (1.1), mingenerators2.cc (1.1), timeelapse7.cc (1.1), topclosure2.cc (1.1): Added other tests to verify some methods of Polyhedron.cc. 2002-09-12 Thursday 18:17 Elisa Ricci * tests/: Makefile.am (1.95), timeelapse6.cc (1.1): Added a new test for the function Polyhedron::time_elapse_assign(). 2002-09-12 Thursday 16:30 Elisa Ricci * src/Polyhedron.cc (1.216): Corrected an error in Polyhedron::BBRZ02_widening_assign(): the new generator was added to the polyhedron x instead of the polyhedron x2. 2002-09-12 Thursday 11:50 Roberto Bagnara * src/Makefile.am (1.51): Try to fix a long-standing problem in the generation of ppl_install.hh. 2002-09-11 Wednesday 22:10 Roberto Bagnara * NEWS, STANDARDS, acinclude.m4, config.h.in, configure.ac, doc/definitions.dox, interfaces/C/ppl_c.cc, interfaces/C/ppl_c.h, interfaces/Prolog/Makefile.am, interfaces/Prolog/Prolog_interface.dox, interfaces/Prolog/clpq.pl, interfaces/Prolog/clpq2.pl, interfaces/Prolog/pl_check.pl, interfaces/Prolog/ppl_prolog.icc, interfaces/Prolog/track_allocation.hh, interfaces/Prolog/GNU/ppl_gprolog_sd.cc, m4/Makefile.am, m4/ac_cxx_flexible_arrays.m4, src/AskTell.defs.hh, src/AskTell.inlines.hh, src/BoundingBox.cc, src/BoundingBox.defs.hh, src/BoundingBox.inlines.hh, src/C_Polyhedron.defs.hh, src/C_Polyhedron.inlines.hh, src/ConSys.cc, src/ConSys.defs.hh, src/ConSys.inlines.hh, src/Constraint.cc, src/Constraint.defs.hh, src/Constraint.inlines.hh, src/Determinate.defs.hh, src/Determinate.inlines.hh, src/GenSys.cc, src/GenSys.defs.hh, src/GenSys.inlines.hh, src/Generator.cc, src/Generator.defs.hh, src/Generator.inlines.hh, src/Init.cc, src/Init.defs.hh, src/Init.inlines.hh, src/Interval.defs.hh, src/LCompare.defs.hh, src/LinExpression.cc, src/LinExpression.defs.hh, src/LinExpression.inlines.hh, src/Makefile.am, src/Matrix.cc, src/Matrix.defs.hh, src/Matrix.inlines.hh, src/NNC_Polyhedron.defs.hh, src/NNC_Polyhedron.inlines.hh, src/Poly_Con_Relation.cc, src/Poly_Con_Relation.defs.hh, src/Poly_Gen_Relation.cc, src/Poly_Gen_Relation.defs.hh, src/Polyhedron.cc, src/Polyhedron.defs.hh, src/Polyhedron.inlines.hh, src/PowerSet.defs.hh, src/PowerSet.inlines.hh, src/Row.cc, src/Row.defs.hh, src/Row.inlines.hh, src/SatMatrix.cc, src/SatMatrix.defs.hh, src/SatMatrix.inlines.hh, src/SatRow.defs.hh, src/SatRow.inlines.hh, src/Status.cc, src/Status.defs.hh, src/Variable.cc, src/Variable.defs.hh, src/Variable.inlines.hh, src/conversion.cc, src/globals.cc, src/globals.hh, src/initializer.hh, src/minimize.cc, src/ppl_header.middle, src/simplify.cc, tests/CbecomesNNC1.cc, tests/Makefile.am, tests/addconstraint1.cc, tests/addconstraints2.cc, tests/addconstraints4.cc, tests/addconstraints5.cc, tests/addconstraints6.cc, tests/addconstraints7.cc, tests/addconstraints8.cc, tests/addconstraints9.cc, tests/adddimensions1.cc, tests/adddimensions10.cc, tests/adddimensions2.cc, tests/adddimensions3.cc, tests/adddimensions4.cc, tests/adddimensions5.cc, tests/adddimensions6.cc, tests/adddimensions7.cc, tests/adddimensions8.cc, tests/adddimensions9.cc, tests/addgenerator1.cc, tests/addgenerator2.cc, tests/addgenerators10.cc, tests/addgenerators3.cc, tests/addgenerators4.cc, tests/addgenerators5.cc, tests/addgenerators6.cc, tests/addgenerators7.cc, tests/addgenerators9.cc, tests/affineimage1.cc, tests/affineimage2.cc, tests/affinepreimage1.cc, tests/affinepreimage2.cc, tests/affinepreimage3.cc, tests/affinepreimage4.cc, tests/append1.cc, tests/append2.cc, tests/bbrz02widening1.cc, tests/bbrz02widening2.cc, tests/bbrz02widening3.cc, tests/bbrz02widening4.cc, tests/bbrz02widening5.cc, tests/bbrz02widening6.cc, tests/bbrz02widening7.cc, tests/bbrz02widening8.cc, tests/bbrz02widening9.cc, tests/bounded1.cc, tests/boundingbox1.cc, tests/boundingbox2.cc, tests/bounds1.cc, tests/bounds2.cc, tests/concatenate2.cc, tests/concatenate3.cc, tests/concatenate4.cc, tests/constraints1.cc, tests/constraints2.cc, tests/constraints3.cc, tests/empty1.cc, tests/exceptions1.cc, tests/exceptions2.cc, tests/generators3.cc, tests/generators4.cc, tests/generators5.cc, tests/h79widening4.cc, tests/inclusion2.cc, tests/intersection2.cc, tests/intersection3.cc, tests/intersection4.cc, tests/intersection5.cc, tests/intersection6.cc, tests/intersection8.cc, tests/intersection9.cc, tests/limitedh79widening1.cc, tests/limitedh79widening2.cc, tests/limitedh79widening3.cc, tests/memory1.cc, tests/minconstraints1.cc, tests/mingenerators1.cc, tests/permute.cc, tests/polydifference1.cc, tests/polydifference2.cc, tests/polydifference3.cc, tests/polydifference4.cc, tests/polydifference5.cc, tests/polydifference6.cc, tests/polyhull1.cc, tests/polyhull2.cc, tests/polyhull3.cc, tests/polyhull5.cc, tests/polyhull6.cc, tests/relations1.cc, tests/relations2.cc, tests/relations3.cc, tests/relations4.cc, tests/relations5.cc, tests/relations6.cc, tests/relations7.cc, tests/relations8.cc, tests/relations9.cc, tests/removedim4.cc, tests/removedim5.cc, tests/removedim6.cc, tests/removedim7.cc, tests/removedim8.cc, tests/removedim9.cc, tests/timeelapse1.cc, tests/timeelapse2.cc, tests/timeelapse3.cc, tests/timeelapse4.cc, tests/timeelapse5.cc, tests/topclosed1.cc, tests/topclosed2.cc, tests/topclosure1.cc, tests/universe1.cc, tests/universe2.cc, tests/universe3.cc, tests/universe4.cc, tests/universe5.cc, tests/universe6.cc, tests/watchdog1.cc (alt_nnc.[3,1,1,2,2,1,3,3,1,1,1,1,1,2,2,1,1,1,2,2,1,2,2,2,2,5,4,3,4,4,3,4,4,7,4,2,5,5,3,1,2,2,2,2,1,2,2,1,1,2,2,2,2,1,2,1,2,16,5,5,3,3,1,2,2,1,2,2,2,2,1,2,1,2,2,1,1,2,2,2,1,1,1,2,1,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,1,1,1,1,1,2,2,2,2,2,1,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,2,2,3,1,1,2,2,1,1,1,1,2,2,2,1,1,1,1,1,2,2,2,2,2,1,1,2,2,1,2,1,1,2,2,2,1,1,1,1,2,2,2,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,1,1,1,2,2,2,2,2,2,2]): Merged changes in main trunk between tags "second_merge_to_alt_nnc" and "third_merge_to_alt_nnc". 2002-09-11 Wednesday 19:39 Roberto Bagnara * configure.ac (1.63): Fixed a bug whereby the configuration options --enable-assertions and --enable-more-assertions were not working properly. 2002-09-11 Wednesday 14:51 Elisa Ricci * tests/bbrz02widening9.cc (1.2): Corrected this test: to built the increasing chain q_i we must do the widening between q_i_minus_1 and the poly_hull of q_i_minus_1 and p_i (and not the widening between p_i and the poly_hull of q_i_minus_1 and p_i). 2002-09-11 Wednesday 12:55 Elisa Ricci * src/: Polyhedron.cc (1.215), Polyhedron.defs.hh (1.148): Added the function static bool is_BBRZ02_stabilizing(const Polyhedron& x, const Polyhedron& y). Used this new function in Polyhedron::BBRZ02_widening_assign(). 2002-09-10 Tuesday 23:30 Enea Zaffanella * src/Polyhedron.cc (1.214): A couple of comments adjusted in add_generator() and bbrz_widening_assign(). 2002-09-10 Tuesday 18:21 Roberto Bagnara * NEWS (1.35), doc/definitions.dox (1.89), interfaces/Prolog/Makefile.am (1.20), interfaces/Prolog/Prolog_interface.dox (1.62), interfaces/Prolog/clpq.pl (1.13), interfaces/Prolog/clpq2.pl (1.23), interfaces/Prolog/pl_check.pl (1.23), interfaces/Prolog/ppl_prolog.icc (1.65), interfaces/Prolog/track_allocation.hh (1.10), src/AskTell.inlines.hh (1.9), src/C_Polyhedron.defs.hh (1.17), src/ConSys.defs.hh (1.67), src/Constraint.cc (1.32), src/Constraint.defs.hh (1.71), src/conversion.cc (1.32), tests/addconstraints2.cc (1.16), tests/adddimensions10.cc (1.4), tests/adddimensions5.cc (1.5), tests/adddimensions6.cc (1.5), tests/adddimensions7.cc (1.5), tests/adddimensions8.cc (1.3), tests/adddimensions9.cc (1.3), tests/addgenerator1.cc (1.2), tests/addgenerator2.cc (1.2), tests/addgenerators7.cc (1.6), tests/addgenerators9.cc (1.3), tests/bbrz02widening1.cc (1.2), tests/bbrz02widening2.cc (1.2), tests/bbrz02widening3.cc (1.2), tests/bbrz02widening6.cc (1.2), tests/bbrz02widening7.cc (1.2), tests/bbrz02widening8.cc (1.2), tests/bounded1.cc (1.7), tests/boundingbox1.cc (1.21), tests/boundingbox2.cc (1.11), tests/bounds1.cc (1.3), tests/concatenate4.cc (1.3), tests/constraints1.cc (1.3), tests/constraints2.cc (1.3), tests/constraints3.cc (1.3): Lots of trailing blanks removed. 2002-09-10 Tuesday 18:12 Roberto Bagnara * tests/topclosed1.cc (1.2): Indentation improvements. 2002-09-10 Tuesday 18:05 Elisa Ricci * src/Polyhedron.cc (1.213): Simplify the function `Polyhedron::add_generator(g)' in the case of a necessarily closed empty polyhedron and of a non-necessarily closed generator. 2002-09-10 Tuesday 18:00 Elisa Ricci * tests/: Makefile.am (1.94), topclosed1.cc (1.1), topclosed2.cc (1.1): Added two tests for the method `Polyhedron::is_topologically_closed()'. 2002-09-10 Tuesday 17:22 Enea Zaffanella * src/Polyhedron.cc (alt_nnc.15): The correction of the bug on Polyhedron::operator<=() reported on the alt_nnc branch. 2002-09-10 Tuesday 16:46 Elisa Ricci * tests/: Makefile.am (1.93), addgenerator1.cc (1.1), addgenerator2.cc (1.1), addgenerators10.cc (1.1), exceptions1.cc (1.16), exceptions2.cc (1.12), h79widening4.cc (1.1): Added some other tests to verify the functions of Polyhedron.cc. 2002-09-10 Tuesday 14:50 Roberto Bagnara * src/Polyhedron.cc (ppl-0_4-branch.4): Parma_Polyhedra_Library::dimension_type is undefined in PPL 0.4.x. 2002-09-10 Tuesday 14:48 Elisa Ricci * tests/: bounds2.cc (1.3), polydifference5.cc (1.3), polydifference6.cc (1.2), polyhull5.cc (1.2), polyhull6.cc (1.2), removedim8.cc (1.2), removedim9.cc (1.2), topclosure1.cc (1.2): Added some explanations of what these tests do and improved the `return' of the test bounds2. 2002-09-10 Tuesday 13:30 Enea Zaffanella * src/Polyhedron.cc (ppl-0_4-branch.3), NEWS (1.34): The correction of the bug affecting Polyhedron::operator<=() reported on the ppl_0_4-branch. Bug correction notified in the NEWS. 2002-09-10 Tuesday 12:33 Elisa Ricci * tests/: CbecomesNNC1.cc (1.2), Makefile.am (1.92), addconstraint1.cc (1.2), addconstraints2.cc (1.15), adddimensions10.cc (1.3), adddimensions8.cc (1.2), adddimensions9.cc (1.2), addgenerators9.cc (1.2), bounds1.cc (1.2), bounds2.cc (1.2), concatenate4.cc (1.2), constraints1.cc (1.2), constraints2.cc (1.2), constraints3.cc (1.2), generators3.cc (1.2), generators4.cc (1.2), generators5.cc (1.2), intersection8.cc (1.2), intersection9.cc (1.2), minconstraints1.cc (1.2), mingenerators1.cc (1.2), polydifference4.cc (1.2), polydifference5.cc (1.2): Improved some tests. 2002-09-10 Tuesday 12:11 Enea Zaffanella * tests/adddimensions10.cc (1.2): The old `known_result' was wrong. This was masking the bug in Polyhedron::operator<=(). 2002-09-10 Tuesday 12:09 Enea Zaffanella * src/Polyhedron.cc (1.212): Correcting the bug in operator<=() pointed out by test inclusion2.cc. 2002-09-10 Tuesday 11:53 Roberto Bagnara * tests/: Makefile.am (1.91), inclusion2.cc (1.1): New test showing a bug in Polyhedron::operator<=(). 2002-09-09 Monday 18:00 Elisa Ricci * tests/: CbecomesNNC1.cc (1.1), Makefile.am (1.90), addconstraint1.cc (1.1), addconstraints2.cc (1.14), adddimensions10.cc (1.1), adddimensions8.cc (1.1), adddimensions9.cc (1.1), addgenerators9.cc (1.1), bounds1.cc (1.1), bounds2.cc (1.1), concatenate4.cc (1.1), constraints1.cc (1.1), constraints2.cc (1.1), constraints3.cc (1.1), exceptions1.cc (1.15), exceptions2.cc (1.11), generators3.cc (1.1), generators4.cc (1.1), generators5.cc (1.1), intersection8.cc (1.1), intersection9.cc (1.1), minconstraints1.cc (1.1), mingenerators1.cc (1.1), polydifference3.cc (1.1), polydifference4.cc (1.1), polydifference5.cc (1.1), polydifference6.cc (1.1), polyhull5.cc (1.1), polyhull6.cc (1.1), removedim8.cc (1.1), removedim9.cc (1.1), topclosure1.cc (1.1): Added tests to verify some methods of Polyhedron.cc and NNC_Polyhedron.cc. 2002-09-09 Monday 17:36 Roberto Bagnara * src/Polyhedron.cc (1.211), src/Polyhedron.defs.hh (1.147), tests/Makefile.am (1.89), tests/bbrz02widening1.cc (1.1), tests/bbrz02widening2.cc (1.1), tests/bbrz02widening3.cc (1.1), tests/bbrz02widening4.cc (1.1), tests/bbrz02widening5.cc (1.1), tests/bbrz02widening6.cc (1.1), tests/bbrz02widening7.cc (1.1), tests/bbrz02widening8.cc (1.1), tests/bbrz02widening9.cc (1.1): Initial implementation of the new widening. 2002-09-04 Wednesday 20:48 Roberto Bagnara * src/: Row.cc (1.43), Row.inlines.hh (1.33): Changes to support C++ compilers not providing flexible arrays. 2002-09-04 Wednesday 12:34 Enea Zaffanella * src/Polyhedron.cc (1.210): Method OK() adjusted to behave correctly on an empty polyhedron having a single trivially false constraint. 2002-09-03 Tuesday 20:50 Roberto Bagnara * acinclude.m4 (1.3), config.h.in (1.18), configure.ac (1.62), m4/Makefile.am (1.7), m4/ac_cxx_flexible_arrays.m4 (1.1), src/Row.defs.hh (1.55), src/Row.inlines.hh (1.32): Initial support for compilers not providing flexible arrays. (Flexible arrays are standard in C99 but not in the current C++ standard.) 2002-09-03 Tuesday 19:49 Roberto Bagnara * config.h.in (1.17), configure.ac (1.61): New configuration option --enable-more-assertions: for the time being it enables more complete debugging of the class Row by defining EXTRA_ROW_DEBUG. 2002-09-03 Tuesday 18:20 Enea Zaffanella * tests/hypercubes.cc (alt_nnc.3): Computing also the constraints for the dual of hypercubes. 2002-09-02 Monday 22:14 Roberto Bagnara * config.h.in (1.16), configure.ac (1.60), src/ppl_header.middle (1.2): Some portability enhancements. 2002-09-02 Monday 22:13 Roberto Bagnara * src/Determinate.defs.hh (1.16): Friend declaration fixed. 2002-09-02 Monday 22:10 Roberto Bagnara * src/LCompare.defs.hh (1.4): Use public inheritance. 2002-09-02 Monday 17:03 Roberto Bagnara * NEWS (1.33), interfaces/C/ppl_c.cc (1.46), interfaces/C/ppl_c.h (1.46), src/initializer.hh (1.4): Identifiers containing a double underscore ("__") are reserved: we no longer use them. 2002-09-02 Monday 16:27 Roberto Bagnara * src/: Generator.defs.hh (1.77), LinExpression.defs.hh (1.53): Illegal friend function declarations removed and substituted with (still unsatisfactory) friend class declarations. 2002-09-02 Monday 16:26 Roberto Bagnara * src/Row.inlines.hh (1.31): Fixed typo in comment. 2002-09-01 Sunday 19:12 Roberto Bagnara * interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.9): Encode addresses with terms of the form `$address'(High, Low) instead of [High|Low]. 2002-09-01 Sunday 15:46 Roberto Bagnara * STANDARDS (1.6), interfaces/C/ppl_c.cc (1.45), interfaces/C/ppl_c.h (1.45), interfaces/Prolog/ppl_prolog.icc (1.64), interfaces/Prolog/track_allocation.hh (1.9), src/AskTell.defs.hh (1.8), src/BoundingBox.defs.hh (1.6), src/C_Polyhedron.inlines.hh (1.12), src/ConSys.defs.hh (1.66), src/ConSys.inlines.hh (1.26), src/Constraint.defs.hh (1.70), src/Determinate.defs.hh (1.15), src/Determinate.inlines.hh (1.17), src/GenSys.defs.hh (1.80), src/GenSys.inlines.hh (1.28), src/Generator.cc (1.39), src/Generator.defs.hh (1.76), src/Interval.defs.hh (1.8), src/Matrix.cc (1.43), src/Matrix.defs.hh (1.35), src/NNC_Polyhedron.inlines.hh (1.14), src/Poly_Con_Relation.defs.hh (1.14), src/Poly_Gen_Relation.defs.hh (1.13), src/Polyhedron.cc (1.209), src/Polyhedron.defs.hh (1.146), src/SatMatrix.cc (1.20), src/conversion.cc (1.31), src/minimize.cc (1.24), src/simplify.cc (1.18), tests/append1.cc (1.15), tests/append2.cc (1.16), tests/empty1.cc (1.10), tests/exceptions1.cc (1.14), tests/permute.cc (1.22): Avoid source lines longer than 78 characters. 2002-09-01 Sunday 15:41 Roberto Bagnara * src/: SatRow.cc (1.11), SatRow.defs.hh (1.20), SatRow.inlines.hh (1.20): Use the right integral types. Avoid source lines longer than 78 characters. 2002-09-01 Sunday 15:06 Roberto Bagnara * src/: ConSys.cc (1.44), GenSys.cc (1.64), Generator.defs.hh (1.75), LinExpression.defs.hh (1.52): Minor formatting changes. 2002-09-01 Sunday 15:06 Roberto Bagnara * src/Polyhedron.inlines.hh (1.46): Make sure inlines are defined before they are used. 2002-09-01 Sunday 13:49 Roberto Bagnara * NEWS (1.32), configure.ac (1.59), interfaces/C/ppl_c.cc (1.44), interfaces/C/ppl_c.h (1.44), interfaces/Prolog/ppl_prolog.icc (1.63), interfaces/Prolog/track_allocation.hh (1.8), src/BoundingBox.cc (1.3), src/BoundingBox.defs.hh (1.5), src/BoundingBox.inlines.hh (1.6), src/C_Polyhedron.defs.hh (1.16), src/C_Polyhedron.inlines.hh (1.11), src/ConSys.cc (1.43), src/ConSys.defs.hh (1.65), src/ConSys.inlines.hh (1.25), src/Constraint.cc (1.31), src/Constraint.defs.hh (1.69), src/Constraint.inlines.hh (1.41), src/Determinate.defs.hh (1.14), src/Determinate.inlines.hh (1.16), src/GenSys.cc (1.63), src/GenSys.defs.hh (1.79), src/GenSys.inlines.hh (1.27), src/Generator.cc (1.38), src/Generator.defs.hh (1.74), src/Generator.inlines.hh (1.38), src/Init.cc (1.2), src/Init.defs.hh (1.6), src/LinExpression.cc (1.13), src/LinExpression.defs.hh (1.51), src/LinExpression.inlines.hh (1.23), src/Makefile.am (1.50), src/Matrix.cc (1.42), src/Matrix.defs.hh (1.34), src/Matrix.inlines.hh (1.27), src/NNC_Polyhedron.defs.hh (1.19), src/NNC_Polyhedron.inlines.hh (1.13), src/Polyhedron.cc (1.208), src/Polyhedron.defs.hh (1.145), src/Polyhedron.inlines.hh (1.45), src/PowerSet.defs.hh (1.16), src/PowerSet.inlines.hh (1.21), src/Row.cc (1.42), src/Row.defs.hh (1.54), src/Row.inlines.hh (1.30), src/SatMatrix.cc (1.19), src/SatMatrix.defs.hh (1.24), src/SatMatrix.inlines.hh (1.16), src/SatRow.cc (1.10), src/SatRow.defs.hh (1.19), src/SatRow.inlines.hh (1.19), src/Variable.cc (1.8), src/Variable.defs.hh (1.24), src/Variable.inlines.hh (1.13), src/conversion.cc (1.30), src/globals.cc (1.9), src/globals.hh (1.22), src/minimize.cc (1.23), src/simplify.cc (1.17), tests/append1.cc (1.14), tests/append2.cc (1.15), tests/boundingbox1.cc (1.20), tests/intersection2.cc (1.4), tests/memory1.cc (1.8), tests/permute.cc (1.21), tests/watchdog1.cc (1.11): No longer abuse `size_t'. The new type `dimension_type' is an unsigned integral type for representing space dimensions. The new function dimension_type max_space_dimension() returns the maximum space dimension this library can handle. 2002-08-22 Thursday 15:41 Patricia M. Hill * interfaces/Prolog/: Prolog_interface.dox (1.61), pl_check.pl (1.22): Updated for concatenate_assign. 2002-08-22 Thursday 10:45 Roberto Bagnara * src/PowerSet.inlines.hh (1.20): PowerSet::add_constraint() and PowerSet::add_constraints() fixed. 2002-08-22 Thursday 01:10 Enea Zaffanella * tests/hypercubes.cc (alt_nnc.2): Some more tests. 2002-08-20 Tuesday 17:21 Roberto Bagnara * src/PowerSet.inlines.hh (1.19): Several corrections. 2002-08-19 Monday 22:38 Roberto Bagnara * src/Polyhedron.defs.hh (1.144): Avoid unnecessary qualification. 2002-08-19 Monday 19:06 Roberto Bagnara * src/: ConSys.cc (1.42), ConSys.defs.hh (1.64), GenSys.cc (1.62), GenSys.defs.hh (1.78), Matrix.cc (1.41), Matrix.defs.hh (1.33), Poly_Con_Relation.cc (1.3), Poly_Con_Relation.defs.hh (1.13), Poly_Gen_Relation.cc (1.3), Poly_Gen_Relation.defs.hh (1.12), Polyhedron.cc (1.207), SatMatrix.cc (1.18), SatMatrix.defs.hh (1.23), Status.cc (1.13): Rewriting of all input/output functions and operators completed. 2002-08-19 Monday 16:56 Roberto Bagnara * src/: Polyhedron.cc (1.206), Status.cc (1.12), Status.defs.hh (1.21): The input and output operators on Status have been replaced by methods void ASCII_dump(std::ostream&) const and bool ASCII_load(std::istream&). 2002-08-19 Monday 16:55 Roberto Bagnara * src/Polyhedron.defs.hh (1.143): Comment corrected. 2002-08-19 Monday 15:58 Roberto Bagnara * src/: Polyhedron.cc (1.205), Polyhedron.defs.hh (1.142): The historical operators operator<<(std::ostream&, const Polyhedron&) and oprator>>(std::istream&, Polyhedron&) have been replaced by (internal) methods Polyhedron::ASCII_dump(std::ostream& s) and ASCII_load(std::istream& s). New version of operator<<(std::ostream& s, const Polyhedron& ph): writes a textual representation of \p ph on \p s: "false" is written if `ph' is an empty polyhedron; "true" is written if `ph' is a universe polyhedron; a minimized system of constraints defining `ph' is written otherwise, all constraints in one row separated by ", ". 2002-08-19 Monday 12:23 Roberto Bagnara * src/: Init.inlines.hh (1.5), Makefile.am (1.49), Variable.cc (1.7), Variable.defs.hh (1.23), Variable.inlines.hh (1.12): Allow the user to change the output function for Variable objects by calling Variable::set_output_function(). Allow the user to obtain a pointer to the current output function by calling Variable::get_output_function(). 2002-08-19 Monday 12:21 Roberto Bagnara * src/globals.hh (1.21): Obey the indentation rules. 2002-08-18 Sunday 22:43 Roberto Bagnara * tests/Makefile.am (1.88): We know nnc_limitedh79widening3 should fail (for the time being). 2002-08-18 Sunday 22:40 Roberto Bagnara * tests/: addconstraints4.cc (1.8), addconstraints5.cc (1.9), addconstraints6.cc (1.10), addconstraints7.cc (1.9), addconstraints8.cc (1.9), addconstraints9.cc (1.10), adddimensions1.cc (1.11), adddimensions2.cc (1.7), adddimensions3.cc (1.9), adddimensions4.cc (1.7), adddimensions5.cc (1.4), adddimensions6.cc (1.4), adddimensions7.cc (1.4), addgenerators3.cc (1.9), addgenerators4.cc (1.9), addgenerators5.cc (1.9), addgenerators6.cc (1.9), addgenerators7.cc (1.5), affineimage1.cc (1.9), affineimage2.cc (1.8), affinepreimage1.cc (1.8), affinepreimage2.cc (1.8), affinepreimage3.cc (1.8), affinepreimage4.cc (1.9), bounded1.cc (1.6), boundingbox1.cc (1.19), boundingbox2.cc (1.10), concatenate2.cc (1.4), concatenate3.cc (1.4), intersection3.cc (1.4), intersection4.cc (1.4), intersection5.cc (1.4), intersection6.cc (1.4), limitedh79widening1.cc (1.4), limitedh79widening2.cc (1.4), limitedh79widening3.cc (1.2), polydifference1.cc (1.4), polydifference2.cc (1.6), polyhull1.cc (1.4), polyhull2.cc (1.4), polyhull3.cc (1.4), relations1.cc (1.6), relations2.cc (1.7), relations3.cc (1.7), relations4.cc (1.7), relations5.cc (1.7), relations6.cc (1.6), relations7.cc (1.6), relations8.cc (1.6), relations9.cc (1.7), removedim4.cc (1.9), removedim5.cc (1.7), removedim6.cc (1.9), removedim7.cc (1.4), timeelapse1.cc (1.5), timeelapse2.cc (1.5), timeelapse3.cc (1.5), timeelapse4.cc (1.5), timeelapse5.cc (1.5), universe1.cc (1.6), universe2.cc (1.7), universe3.cc (1.7), universe4.cc (1.7), universe5.cc (1.8), universe6.cc (1.5): Comments corrected. 2002-08-18 Sunday 18:30 Enea Zaffanella * src/Polyhedron.cc (alt_nnc.14): Adjusted new constructors to produce the new epsilon representations. 2002-08-18 Sunday 16:38 Roberto Bagnara * tests/: Makefile.am (1.87), limitedh79widening3.cc (1.1): New test showing an incongruence in the behavior of the limited widening operations in C and NNC polyhedra, respectively. 2002-08-17 Saturday 18:45 Roberto Bagnara * src/Row.cc (1.41): Properly terminate messages. 2002-08-17 Saturday 18:42 Roberto Bagnara * src/: PowerSet.defs.hh (1.15), PowerSet.inlines.hh (1.18): Define `reverse_iterator' and `const_reverse_iterator'. New methods rbegin() and rend(). New method definitely_contains(const CS&). First prototype of method limited_H79_widening_assign(const PowerSet&, ConSys&). 2002-08-17 Saturday 18:40 Roberto Bagnara * src/: Determinate.defs.hh (1.13), Determinate.inlines.hh (1.15): New method is_definitely_equivalent_to(const Determinate&). 2002-08-17 Saturday 17:02 Roberto Bagnara * src/: Determinate.inlines.hh (1.14), PowerSet.inlines.hh (1.17): PowerSet::omega_reduction() properly implemented. operator<<(std::ostream&, const Determinate&) implemented so as to obtain something readable. 2002-08-17 Saturday 13:44 Roberto Bagnara * NEWS, config.h.in, configure.ac, Watchdog/Watchdog.defs.hh, Watchdog/Watchdog.inlines.hh, Watchdog/Watchdog.types.hh, Watchdog/pwl_header.top, interfaces/C/ppl_c.cc, interfaces/C/ppl_c.h, interfaces/Prolog/track_allocation.hh, src/AskTell.defs.hh, src/AskTell.inlines.hh, src/AskTell.types.hh, src/BoundingBox.defs.hh, src/BoundingBox.inlines.hh, src/BoundingBox.types.hh, src/C_Polyhedron.defs.hh, src/C_Polyhedron.inlines.hh, src/C_Polyhedron.types.hh, src/ConSys.defs.hh, src/ConSys.inlines.hh, src/ConSys.types.hh, src/Constraint.cc, src/Constraint.defs.hh, src/Constraint.inlines.hh, src/Constraint.types.hh, src/Determinate.defs.hh, src/Determinate.inlines.hh, src/Determinate.types.hh, src/GenSys.defs.hh, src/GenSys.inlines.hh, src/GenSys.types.hh, src/Generator.cc, src/Generator.defs.hh, src/Generator.inlines.hh, src/Generator.types.hh, src/Init.defs.hh, src/Init.inlines.hh, src/Init.types.hh, src/Integer.defs.hh, src/Integer.inlines.hh, src/Integer.types.hh, src/Interval.defs.hh, src/Interval.inlines.hh, src/Interval.types.hh, src/LCompare.defs.hh, src/LCompare.inlines.hh, src/LCompare.types.hh, src/LinExpression.defs.hh, src/LinExpression.inlines.hh, src/LinExpression.types.hh, src/Matrix.defs.hh, src/Matrix.inlines.hh, src/Matrix.types.hh, src/NNC_Polyhedron.defs.hh, src/NNC_Polyhedron.inlines.hh, src/NNC_Polyhedron.types.hh, src/Poly_Con_Relation.defs.hh, src/Poly_Con_Relation.inlines.hh, src/Poly_Con_Relation.types.hh, src/Poly_Gen_Relation.defs.hh, src/Poly_Gen_Relation.inlines.hh, src/Poly_Gen_Relation.types.hh, src/Polyhedron.cc, src/Polyhedron.defs.hh, src/Polyhedron.inlines.hh, src/Polyhedron.types.hh, src/PowerSet.defs.hh, src/PowerSet.inlines.hh, src/PowerSet.types.hh, src/Row.defs.hh, src/Row.inlines.hh, src/Row.types.hh, src/SatMatrix.defs.hh, src/SatMatrix.inlines.hh, src/SatMatrix.types.hh, src/SatRow.defs.hh, src/SatRow.inlines.hh, src/SatRow.types.hh, src/Status.defs.hh, src/Status.inlines.hh, src/Status.types.hh, src/Topology.hh, src/Variable.defs.hh, src/Variable.inlines.hh, src/Variable.types.hh, src/globals.hh, src/initializer.hh, src/ppl_header.top, tests/ehandlers.hh, tests/mc91.cc, tests/print.hh, tests/timings.hh (alt_nnc.[2,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,3,2,1,3,3,2,1,3,3,1,3,1,1,4,4,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,13,4,4,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1]): Merge changes from the trunk between tags `merge_to_alt_nnc' and `second_merge_to_alt_nnc'. 2002-08-17 Saturday 13:30 Roberto Bagnara * src/PowerSet.inlines.hh (1.16): PowerSet::concatenate_assign() fixed. 2002-08-17 Saturday 11:43 Enea Zaffanella * src/Polyhedron.cc (alt_nnc.12): In method add_dimensions_and_project(), now adding the minus_epsilon_ray instead of the zero_dim_closure_point. 2002-08-17 Saturday 10:07 Enea Zaffanella * src/: Polyhedron.defs.hh, Polyhedron.inlines.hh (alt_nnc.[3,3]): Method shuffle_dimensions(...) implemented in tha alt_nnc branch too. 2002-08-16 Friday 22:54 Roberto Bagnara * NEWS (1.31), interfaces/C/ppl_c.cc (1.43), interfaces/C/ppl_c.h (1.43): The functions taking non-const arguments named ppl_new__from_ have been renamed ppl_new__recycle_, where is either "C" or "NNC", and is either "ConSys" or "GenSys". The old names have been given to the new const functions. 2002-08-16 Friday 22:26 Roberto Bagnara * src/Determinate.defs.hh (1.12), src/Determinate.inlines.hh (1.13), src/PowerSet.defs.hh (1.14), src/PowerSet.inlines.hh (1.15), tests/mc91.cc (1.6): Another bit of Determinate and PowerSet implementation written. 2002-08-16 Friday 22:24 Roberto Bagnara * NEWS (1.30): Updated. 2002-08-16 Friday 22:23 Roberto Bagnara * src/: Constraint.cc (1.30), Generator.cc (1.37): Exception messages improved. 2002-08-16 Friday 22:21 Roberto Bagnara * src/: C_Polyhedron.defs.hh (1.15), C_Polyhedron.inlines.hh (1.10), NNC_Polyhedron.defs.hh (1.18), NNC_Polyhedron.inlines.hh (1.12), Polyhedron.cc (1.204), Polyhedron.defs.hh (1.141): New constructors to build polyhedra from read-only constraint and generator systems: C_Polyhedron(const ConSys&), C_Polyhedron(const GenSys&), NNC_Polyhedron(const ConSys&), and NNC_Polyhedron(const GenSys&). Some comments improved. Poorly chosen variable name changed. Exception messages improved. 2002-08-16 Friday 16:33 Enea Zaffanella * src/: Determinate.defs.hh, Determinate.inlines.hh (alt_nnc.[2,2]): Chnages needed to let China compile (taken from the main trunk). 2002-08-16 Friday 16:24 Enea Zaffanella * src/Polyhedron.cc (alt_nnc.11): Widening operators now should work with the NER. 2002-08-16 Friday 10:28 Enea Zaffanella * src/Polyhedron.cc (alt_nnc.10): Corrected a comment. 2002-08-16 Friday 10:27 Enea Zaffanella * src/GenSys.cc (alt_nnc.6): Corrected method adjust_topology_and_dimension(), which could have introduced an illegal (all zero's) ray when mapping a NNC to a C gensys. 2002-08-16 Friday 10:24 Enea Zaffanella * src/C_Polyhedron.cc (alt_nnc.1): Constructor C_Polyhedron::C_Polyhedron(const NNC_Polyhedron& y) now is implemented using generators (using constraints is not safe wrt NER). 2002-08-16 Friday 10:07 Roberto Bagnara * config.h.in (1.15), configure.ac (1.58), Watchdog/Watchdog.defs.hh (1.6), Watchdog/Watchdog.inlines.hh (1.5), Watchdog/Watchdog.types.hh (1.2), Watchdog/pwl_header.top (1.2), interfaces/C/ppl_c.h (1.42), interfaces/Prolog/track_allocation.hh (1.7), src/AskTell.defs.hh (1.7), src/AskTell.inlines.hh (1.8), src/AskTell.types.hh (1.3), src/BoundingBox.defs.hh (1.4), src/BoundingBox.inlines.hh (1.5), src/BoundingBox.types.hh (1.4), src/C_Polyhedron.defs.hh (1.14), src/C_Polyhedron.inlines.hh (1.9), src/C_Polyhedron.types.hh (1.5), src/ConSys.defs.hh (1.63), src/ConSys.inlines.hh (1.24), src/ConSys.types.hh (1.5), src/Constraint.defs.hh (1.68), src/Constraint.inlines.hh (1.40), src/Constraint.types.hh (1.5), src/Determinate.defs.hh (1.11), src/Determinate.inlines.hh (1.12), src/Determinate.types.hh (1.3), src/GenSys.defs.hh (1.77), src/GenSys.inlines.hh (1.26), src/GenSys.types.hh (1.5), src/Generator.defs.hh (1.73), src/Generator.inlines.hh (1.37), src/Generator.types.hh (1.5), src/Init.defs.hh (1.5), src/Init.inlines.hh (1.4), src/Init.types.hh (1.4), src/Integer.defs.hh (1.7), src/Integer.inlines.hh (1.6), src/Integer.types.hh (1.6), src/Interval.defs.hh (1.7), src/Interval.inlines.hh (1.5), src/Interval.types.hh (1.4), src/LCompare.defs.hh (1.3), src/LCompare.inlines.hh (1.3), src/LCompare.types.hh (1.3), src/LinExpression.defs.hh (1.50), src/LinExpression.inlines.hh (1.22), src/LinExpression.types.hh (1.5), src/Matrix.defs.hh (1.32), src/Matrix.inlines.hh (1.26), src/Matrix.types.hh (1.5), src/NNC_Polyhedron.defs.hh (1.17), src/NNC_Polyhedron.inlines.hh (1.11), src/NNC_Polyhedron.types.hh (1.5), src/Poly_Con_Relation.defs.hh (1.12), src/Poly_Con_Relation.inlines.hh (1.8), src/Poly_Con_Relation.types.hh (1.4), src/Poly_Gen_Relation.defs.hh (1.11), src/Poly_Gen_Relation.inlines.hh (1.8), src/Poly_Gen_Relation.types.hh (1.4), src/Polyhedron.defs.hh (1.140), src/Polyhedron.inlines.hh (1.44), src/Polyhedron.types.hh (1.6), src/PowerSet.defs.hh (1.13), src/PowerSet.inlines.hh (1.14), src/PowerSet.types.hh (1.3), src/Row.defs.hh (1.53), src/Row.inlines.hh (1.29), src/Row.types.hh (1.5), src/SatMatrix.defs.hh (1.22), src/SatMatrix.inlines.hh (1.15), src/SatMatrix.types.hh (1.5), src/SatRow.defs.hh (1.18), src/SatRow.inlines.hh (1.18), src/SatRow.types.hh (1.5), src/Status.defs.hh (1.20), src/Status.inlines.hh (1.10), src/Status.types.hh (1.5), src/Topology.hh (1.6), src/Variable.defs.hh (1.22), src/Variable.inlines.hh (1.11), src/Variable.types.hh (1.5), src/globals.hh (1.20), src/initializer.hh (1.3), src/ppl_header.top (1.4), tests/ehandlers.hh (1.5), tests/print.hh (1.11), tests/timings.hh (1.2): According to the C++ standard (Section 17.4), every name that starts with an underscore is reserved to the implementation. All the multiple inclusion guards have been renamed (some missing ones have been added). 2002-08-15 Thursday 11:38 Enea Zaffanella * src/: GenSys.cc, GenSys.defs.hh, Generator.cc, Generator.defs.hh (alt_nnc.[5,2,3,3]): Removed useless methods Generator::is_matching_closure_point() and GenSys::add_corresponding_points(). 2002-08-15 Thursday 11:36 Enea Zaffanella * src/Polyhedron.cc (alt_nnc.9): Corrected trivial errors in is_topologically_closed() and topological_closure_assign(). 2002-08-15 Thursday 11:12 Roberto Bagnara * src/: Determinate.defs.hh (1.10), Determinate.inlines.hh (1.11): Implemented the functionality required for testing with China. 2002-08-15 Thursday 11:10 Roberto Bagnara * src/: Polyhedron.cc (1.203), Polyhedron.defs.hh (1.139), Polyhedron.inlines.hh (1.43): Added template void Polyhedron::shuffle_dimensions(const PartialFunction& pfunc). 2002-08-14 Wednesday 18:44 Roberto Bagnara * src/Polyhedron.cc (alt_nnc.8): Comments of Polyhedron::concatenate_assign() improved. 2002-08-14 Wednesday 18:44 Roberto Bagnara * src/Polyhedron.cc (1.202): Polyhedron::concatenate_assign() improved. 2002-08-14 Wednesday 18:30 Enea Zaffanella * src/Polyhedron.cc (alt_nnc.7): Rewritten methods is_topologically_closed() and topological_closure_assign(). 2002-08-14 Wednesday 16:45 Enea Zaffanella * src/Polyhedron.cc (alt_nnc.6): Some improvements to concatenate_assign(). 2002-08-14 Wednesday 16:43 Enea Zaffanella * src/GenSys.cc (alt_nnc.4): Corrected method has_points(), which was returning true even when finding the minus_epsilon ray. 2002-08-14 Wednesday 15:52 Roberto Bagnara * interfaces/C/ppl_c.h (1.41): Documentation of ppl_Polyhedron_concatenate_assign() corrected. 2002-08-14 Wednesday 14:36 Enea Zaffanella * tests/hypercubes.cc (alt_nnc.1): Put under CVS control. It is not (yet) built and executed by `make check', because we should find the right performance tradeoff. 2002-08-14 Wednesday 14:23 Roberto Bagnara * NEWS, interfaces/C/ppl_c.cc, interfaces/C/ppl_c.h, interfaces/Prolog/ppl_prolog.icc, interfaces/Prolog/Ciao/ppl_ciao.pl, interfaces/Prolog/GNU/ppl_gprolog.pl, interfaces/Prolog/SICStus/ppl_sicstus_sd.cc, interfaces/Prolog/SWI/ppl_swiprolog.cc, interfaces/Prolog/XSB/ppl_xsb.H, interfaces/Prolog/XSB/ppl_xsb.cc, interfaces/Prolog/XSB/xsb_clpq.P, interfaces/Prolog/XSB/xsb_clpq2.P, interfaces/Prolog/YAP/ppl_yap.cc, src/ConSys.cc, src/Determinate.defs.hh, src/Determinate.inlines.hh, src/GenSys.cc, src/Polyhedron.cc, src/Polyhedron.defs.hh, src/PowerSet.defs.hh, src/PowerSet.inlines.hh, tests/Makefile.am, tests/NNCinclusion1.cc, tests/NNCminimize1.cc, tests/NNCminimize2.cc, tests/NNCminimize3.cc, tests/NNCminimize4.cc, tests/NNCminimize5.cc, tests/NNCminimize6.cc, tests/addconstraints1.cc, tests/addconstraints10.cc, tests/addconstraints11.cc, tests/addconstraints2.cc, tests/addconstraints3.cc, tests/addconstraints4.cc, tests/addconstraints5.cc, tests/addconstraints6.cc, tests/addconstraints7.cc, tests/addconstraints8.cc, tests/addconstraints9.cc, tests/adddimensions1.cc, tests/adddimensions2.cc, tests/adddimensions3.cc, tests/adddimensions4.cc, tests/adddimensions5.cc, tests/adddimensions6.cc, tests/adddimensions7.cc, tests/addgenerators1.cc, tests/addgenerators2.cc, tests/addgenerators3.cc, tests/addgenerators4.cc, tests/addgenerators5.cc, tests/addgenerators6.cc, tests/addgenerators7.cc, tests/addgenerators8.cc, tests/affineimage1.cc, tests/affineimage2.cc, tests/affinepreimage1.cc, tests/affinepreimage2.cc, tests/affinepreimage3.cc, tests/affinepreimage4.cc, tests/affinetrans.cc, tests/append1.cc, tests/append2.cc, tests/bounded1.cc, tests/boundingbox1.cc, tests/boundingbox2.cc, tests/concatenate1.cc, tests/concatenate2.cc, tests/concatenate3.cc, tests/empty1.cc, tests/exceptions1.cc, tests/exceptions2.cc, tests/generators1.cc, tests/generators2.cc, tests/h79widening1.cc, tests/h79widening2.cc, tests/h79widening3.cc, tests/inclusion1.cc, tests/inters1.cc, tests/inters2.cc, tests/inters3.cc, tests/inters4.cc, tests/inters5.cc, tests/inters6.cc, tests/inters7.cc, tests/intersection1.cc, tests/intersection2.cc, tests/intersection3.cc, tests/intersection4.cc, tests/intersection5.cc, tests/intersection6.cc, tests/intersection7.cc, tests/limitedh79widening1.cc, tests/limitedh79widening2.cc, tests/mc91.cc, tests/memory1.cc, tests/onepoint.cc, tests/permute.cc, tests/polydifference1.cc, tests/polydifference2.cc, tests/polyhull1.cc, tests/polyhull2.cc, tests/polyhull3.cc, tests/polyhull4.cc, tests/ppl_test.hh, tests/randphull1.cc, tests/relations1.cc, tests/relations2.cc, tests/relations3.cc, tests/relations4.cc, tests/relations5.cc, tests/relations6.cc, tests/relations7.cc, tests/relations8.cc, tests/relations9.cc, tests/removedim1.cc, tests/removedim2.cc, tests/removedim3.cc, tests/removedim4.cc, tests/removedim5.cc, tests/removedim6.cc, tests/removedim7.cc, tests/smm1.cc, tests/timeelapse1.cc, tests/timeelapse2.cc, tests/timeelapse3.cc, tests/timeelapse4.cc, tests/timeelapse5.cc, tests/universe1.cc, tests/universe2.cc, tests/universe3.cc, tests/universe4.cc, tests/universe5.cc, tests/universe6.cc, tests/watchdog1.cc (alt_nnc.[1,1,1,1,1,1,1,1,1,1,1,1,1,4,1,1,3,5,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]): Merge changes from the trunk between tags `alt_nnc_root' and `merge_to_alt_nnc'. 2002-08-14 Wednesday 14:09 Roberto Bagnara * tests/: NNCinclusion1.cc (1.4), NNCminimize1.cc (1.6), NNCminimize2.cc (1.6), NNCminimize3.cc (1.6), NNCminimize4.cc (1.8), NNCminimize5.cc (1.4), NNCminimize6.cc (1.6), addconstraints1.cc (1.8), addconstraints3.cc (1.5), addconstraints4.cc (1.7), addconstraints5.cc (1.8), addconstraints6.cc (1.9), addconstraints7.cc (1.8), addconstraints8.cc (1.8), addconstraints9.cc (1.9), adddimensions1.cc (1.10), adddimensions2.cc (1.6), adddimensions3.cc (1.8), adddimensions4.cc (1.6), adddimensions5.cc (1.3), adddimensions6.cc (1.3), adddimensions7.cc (1.3), addgenerators1.cc (1.9), addgenerators2.cc (1.9), addgenerators3.cc (1.8), addgenerators4.cc (1.8), addgenerators5.cc (1.8), addgenerators6.cc (1.8), addgenerators7.cc (1.4), addgenerators8.cc (1.4), affineimage1.cc (1.8), affineimage2.cc (1.7), affinepreimage1.cc (1.7), affinepreimage2.cc (1.7), affinepreimage3.cc (1.7), affinepreimage4.cc (1.8), affinetrans.cc (1.11), append1.cc (1.13), append2.cc (1.14), bounded1.cc (1.5), boundingbox1.cc (1.18), boundingbox2.cc (1.9), concatenate1.cc (1.3), concatenate2.cc (1.3), concatenate3.cc (1.3), empty1.cc (1.9), exceptions1.cc (1.13), exceptions2.cc (1.10), generators1.cc (1.8), generators2.cc (1.5), h79widening1.cc (1.3), h79widening2.cc (1.3), h79widening3.cc (1.3), inclusion1.cc (1.4), intersection1.cc (1.3), intersection2.cc (1.3), intersection3.cc (1.3), intersection4.cc (1.3), intersection5.cc (1.3), intersection6.cc (1.3), intersection7.cc (1.3), limitedh79widening1.cc (1.3), limitedh79widening2.cc (1.3), mc91.cc (1.5), memory1.cc (1.7), onepoint.cc (1.7), permute.cc (1.20), polydifference1.cc (1.3), polydifference2.cc (1.5), polyhull1.cc (1.3), polyhull2.cc (1.3), polyhull3.cc (1.3), polyhull4.cc (1.3), randphull1.cc (1.4), relations1.cc (1.5), relations2.cc (1.6), relations3.cc (1.6), relations4.cc (1.6), relations5.cc (1.6), relations6.cc (1.5), relations7.cc (1.5), relations8.cc (1.5), relations9.cc (1.6), removedim1.cc (1.7), removedim2.cc (1.11), removedim3.cc (1.7), removedim4.cc (1.8), removedim5.cc (1.6), removedim6.cc (1.8), removedim7.cc (1.3), smm1.cc (1.7), timeelapse1.cc (1.4), timeelapse2.cc (1.4), timeelapse3.cc (1.4), timeelapse4.cc (1.4), timeelapse5.cc (1.4), universe1.cc (1.5), universe2.cc (1.6), universe3.cc (1.6), universe4.cc (1.6), universe5.cc (1.7), universe6.cc (1.4), watchdog1.cc (1.10): Minor improvements. 2002-08-14 Wednesday 12:55 Roberto Bagnara * tests/Makefile.am (1.86): The test nnc_polydifference1 must fail. 2002-08-14 Wednesday 12:10 Enea Zaffanella * src/: GenSys.cc, Generator.cc, Generator.defs.hh (alt_nnc.[2,2,2]): The skip_forward() method now only skips the minus_epsilon_ray. 2002-08-14 Wednesday 12:07 Enea Zaffanella * src/ConSys.cc (alt_nnc.3): In the skip_forward() method, avoid useless computations for necessarily closed constraint systems. 2002-08-14 Wednesday 12:01 Roberto Bagnara * tests/: Makefile.am (1.85), NNCinclusion1.cc (1.3), NNCminimize1.cc (1.5), NNCminimize2.cc (1.5), NNCminimize3.cc (1.5), NNCminimize4.cc (1.7), NNCminimize5.cc (1.3), NNCminimize6.cc (1.5), addconstraints1.cc (1.7), addconstraints3.cc (1.4), addconstraints4.cc (1.6), addconstraints5.cc (1.7), addconstraints6.cc (1.8), addconstraints7.cc (1.7), addconstraints8.cc (1.7), addconstraints9.cc (1.8), adddimensions1.cc (1.9), adddimensions2.cc (1.5), adddimensions3.cc (1.7), adddimensions4.cc (1.5), adddimensions5.cc (1.2), adddimensions6.cc (1.2), adddimensions7.cc (1.2), addgenerators1.cc (1.8), addgenerators2.cc (1.8), addgenerators3.cc (1.7), addgenerators4.cc (1.7), addgenerators5.cc (1.7), addgenerators6.cc (1.7), addgenerators7.cc (1.3), addgenerators8.cc (1.3), affineimage1.cc (1.7), affineimage2.cc (1.6), affinepreimage1.cc (1.6), affinepreimage2.cc (1.6), affinepreimage3.cc (1.6), affinepreimage4.cc (1.7), affinetrans.cc (1.10), append1.cc (1.12), append2.cc (1.13), bounded1.cc (1.4), boundingbox1.cc (1.17), boundingbox2.cc (1.8), concatenate1.cc (1.2), concatenate2.cc (1.2), concatenate3.cc (1.2), empty1.cc (1.8), exceptions1.cc (1.12), exceptions2.cc (1.9), generators1.cc (1.7), generators2.cc (1.4), h79widening1.cc (1.2), h79widening2.cc (1.2), h79widening3.cc (1.2), inclusion1.cc (1.3), intersection1.cc (1.2), intersection2.cc (1.2), intersection3.cc (1.2), intersection4.cc (1.2), intersection5.cc (1.2), intersection6.cc (1.2), intersection7.cc (1.2), limitedh79widening1.cc (1.2), limitedh79widening2.cc (1.2), mc91.cc (1.4), memory1.cc (1.6), onepoint.cc (1.6), permute.cc (1.19), polydifference1.cc (1.2), polydifference2.cc (1.4), polyhull1.cc (1.2), polyhull2.cc (1.2), polyhull3.cc (1.2), polyhull4.cc (1.2), ppl_test.hh (1.1), randphull1.cc (1.3), relations1.cc (1.4), relations2.cc (1.5), relations3.cc (1.5), relations4.cc (1.5), relations5.cc (1.5), relations6.cc (1.4), relations7.cc (1.4), relations8.cc (1.4), relations9.cc (1.5), removedim1.cc (1.6), removedim2.cc (1.10), removedim3.cc (1.6), removedim4.cc (1.7), removedim5.cc (1.5), removedim6.cc (1.7), removedim7.cc (1.2), smm1.cc (1.6), timeelapse1.cc (1.3), timeelapse2.cc (1.3), timeelapse3.cc (1.3), timeelapse4.cc (1.3), timeelapse5.cc (1.3), universe1.cc (1.4), universe2.cc (1.5), universe3.cc (1.5), universe4.cc (1.5), universe5.cc (1.6), universe6.cc (1.3), watchdog1.cc (1.9): Most of the test programs are now used to test both closed and not necessarily closed polyhedra. 2002-08-14 Wednesday 11:05 Enea Zaffanella * src/: ConSys.cc, ConSys.defs.hh, ConSys.inlines.hh, Constraint.cc, Constraint.defs.hh (alt_nnc.[2,2,1,2,2]): Now the iterators on constraint systems do skip the next constraint when the current one is a strict inequality and the next one is a non-strict inequality matching the current one (we still skip trivial-true constraints). 2002-08-14 Wednesday 08:05 Roberto Bagnara * NEWS (1.29): Updated. 2002-08-14 Wednesday 08:05 Roberto Bagnara * src/Polyhedron.cc (1.201): Polyhedron::concatenate_assign() improved. 2002-08-13 Tuesday 22:37 Roberto Bagnara * tests/: Makefile.am (1.84), inters1.cc (1.11), inters2.cc (1.14), inters3.cc (1.7), inters4.cc (1.6), inters5.cc (1.8), inters6.cc (1.7), inters7.cc (1.4), intersection1.cc (1.1), intersection2.cc (1.1), intersection3.cc (1.1), intersection4.cc (1.1), intersection5.cc (1.1), intersection6.cc (1.1), intersection7.cc (1.1): Renamed intersN.cc to intersectionN.cc, for N = 1, ..., 7. 2002-08-13 Tuesday 21:18 Roberto Bagnara * interfaces/Prolog/XSB/: xsb_clpq.P (1.5), xsb_clpq2.P (1.3): Import as little as possible. 2002-08-13 Tuesday 21:05 Enea Zaffanella * src/Polyhedron.cc (alt_nnc.4): add_constraints_and_minimize() should now be ok for the new NNC repr. Added a couple of FIXME's to mark methods that still need to be adjusted. 2002-08-13 Tuesday 21:03 Enea Zaffanella * src/: GenSys.cc, GenSys.defs.hh (alt_nnc.[1,1]): Removed method add_corresponding_closure_points(). 2002-08-13 Tuesday 18:59 Roberto Bagnara * interfaces/C/ppl_c.cc (1.42), interfaces/C/ppl_c.h (1.40), interfaces/Prolog/ppl_prolog.icc (1.62), interfaces/Prolog/Ciao/ppl_ciao.pl (1.21), interfaces/Prolog/GNU/ppl_gprolog.pl (1.17), interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.25), interfaces/Prolog/SWI/ppl_swiprolog.cc (1.49), interfaces/Prolog/XSB/ppl_xsb.H (1.2), interfaces/Prolog/XSB/ppl_xsb.cc (1.7), interfaces/Prolog/XSB/xsb_clpq.P (1.4), interfaces/Prolog/XSB/xsb_clpq2.P (1.2), interfaces/Prolog/YAP/ppl_yap.cc (1.42), src/Determinate.defs.hh (1.9), src/Determinate.inlines.hh (1.10), src/Polyhedron.cc (1.200), src/Polyhedron.defs.hh (1.138), src/PowerSet.defs.hh (1.12), src/PowerSet.inlines.hh (1.13), tests/Makefile.am (1.83), tests/addconstraints10.cc (1.6), tests/addconstraints11.cc (1.7), tests/addconstraints2.cc (1.13), tests/concatenate1.cc (1.1), tests/concatenate2.cc (1.1), tests/concatenate3.cc (1.1), tests/exceptions2.cc (1.8): The method Polyhedron::add_dimensions_and_constraints(ConSys&) has gone. A similar functionality is provided by the new method Polyhedron::concatenate_assign(const Polyhedron&). 2002-08-13 Tuesday 18:04 Enea Zaffanella * src/Polyhedron.inlines.hh (alt_nnc.2): Fixed method template Polyhedron::Polyhedron(Topology topol, const Box& box) to work correctly with the new NNC representation. 2002-08-13 Tuesday 18:02 Enea Zaffanella * tests/boundingbox2.cc (alt_nnc.1): Some strange formatting fixed. 2002-08-13 Tuesday 16:46 Roberto Bagnara * src/: Determinate.defs.hh (1.8), Determinate.inlines.hh (1.9): Default constructor replaced with a generalized constructor. New method Determinate::concatenate_assign(const Determinate& y). 2002-08-13 Tuesday 16:44 Enea Zaffanella * src/Polyhedron.cc (alt_nnc.3): Most methods now correctly use the new NNC representation (notable exceptions: the wideinings and the boundingbox operators). 2002-08-13 Tuesday 16:42 Enea Zaffanella * src/minimize.cc (alt_nnc.1): When con_to_gen is false, no longer checking for the presence of the positivity constraint (C) or the presence of eps_geq_zero (NNC). 2002-08-13 Tuesday 16:40 Enea Zaffanella * src/: Generator.cc, Generator.defs.hh, Generator.inlines.hh (alt_nnc.[1,1,1]): Added method for getting the minus_epsilon_ray, needed for the new NNC representation; adjusted the OK() method so that it will no longer complain when finding a ray with a non-zero epsilon coefficient. 2002-08-13 Tuesday 16:37 Enea Zaffanella * src/: ConSys.cc, ConSys.defs.hh (alt_nnc.[1,1]): Added method add_corresponding_nonstrict_inequalities(). 2002-08-13 Tuesday 14:25 Roberto Bagnara * src/: PowerSet.defs.hh (1.11), PowerSet.inlines.hh (1.12): Added a `space_dim' private member and its usual public accessor: space_dimension(). 2002-08-13 Tuesday 14:24 Roberto Bagnara * src/: Determinate.defs.hh (1.7), Determinate.inlines.hh (1.8): Method space_dimension() added. Added template bool operator==(const Determinate& x, const Determinate& y) and template bool operator!=(const Determinate& x, const Determinate& y). Added several assertions. Default constructor made public (it was left private by mistake). Prepare for some cleanup. 2002-08-13 Tuesday 11:45 Enea Zaffanella * src/Polyhedron.cc (alt_nnc.2): Started converting H-representations into P-representations. The build is (obviously) broken. 2002-08-13 Tuesday 10:49 Enea Zaffanella * src/: Constraint.cc, Constraint.defs.hh, Constraint.inlines.hh, Polyhedron.cc, Polyhedron.defs.hh, Polyhedron.inlines.hh (alt_nnc.[1,1,1,1,1,1]): Getting rid of the epsilon_geq_zero() constraint. Added the static function Polyhedron::add_low_level_constraints(ConSys&) to centralize the issues related to the positivity and the epsilon_leq_one() low-level constraints. 2002-08-13 Tuesday 10:04 Enea Zaffanella * src/: ConSys.cc (1.41), GenSys.cc (1.61): In methods ConSys::insert() and GenSys::insert(), when the systems are empty and NNC, computing the new size of the constraint/generators in a cleaner way. 2002-08-12 Monday 20:57 Enea Zaffanella * src/GenSys.cc (1.60): Patched the method insert(const Generator&), which was doing nasty things when trying to insert a generator into an empty generator system that was declared to be NNC. 2002-08-12 Monday 20:55 Enea Zaffanella * tests/addgenerators8.cc (1.2): No longer NOISY. 2002-08-12 Monday 20:53 Enea Zaffanella * src/Polyhedron.cc (1.199): Corrected a bug in add_generator(const Generator&) whereby we were not adding the corresponding closure point when adding a point to an empty NNC polyhedron. 2002-08-12 Monday 20:51 Enea Zaffanella * src/Polyhedron.defs.hh (1.137): Removed a /*! that was inside the scope of another /*!. 2002-08-12 Monday 20:45 Enea Zaffanella * tests/: Makefile.am (1.82), addgenerators8.cc (1.1): The new test addgenerators8 shows a bug when trying to insert a point into an empty NNC polyhedron using add_generator(const Generator&). 2002-08-12 Monday 15:08 Roberto Bagnara * src/: Determinate.defs.hh (1.6), Determinate.inlines.hh (1.7), PowerSet.defs.hh (1.10), PowerSet.inlines.hh (1.11): Classes Determinate and PowerSet equipped with initial implementations of methods add_constraint(), add_constraints(), and add_dimensions_and_constraints(). 2002-08-12 Monday 09:28 Roberto Bagnara * src/Polyhedron.defs.hh (1.136): The documentation of Polyhedron::add_dimensions_and_constraints() has been made consistent with that of the other methods. 2002-08-12 Monday 08:56 Roberto Bagnara * interfaces/Prolog/clpq2.pl (1.22), interfaces/Prolog/expected2 (1.6), interfaces/Prolog/XSB/expected2 (1.2), src/ConSys.cc (1.40), src/Constraint.cc (1.29), src/Constraint.inlines.hh (1.39), src/GenSys.cc (1.59), src/Generator.cc (1.36), src/Generator.inlines.hh (1.36), src/Matrix.cc (1.40), src/Matrix.defs.hh (1.31), src/Polyhedron.cc (1.198), src/Polyhedron.inlines.hh (1.42), src/minimize.cc (1.22): Avoid using LaTeX commands in ordinary C++ comments. 2002-08-12 Monday 08:44 Roberto Bagnara * src/Polyhedron.cc (1.197): Properly comment a couple of preprocessor directives. 2002-08-11 Sunday 17:05 Roberto Bagnara * interfaces/Prolog/ppl_prolog.icc (1.61), src/C_Polyhedron.defs.hh (1.13), src/C_Polyhedron.inlines.hh (1.8), src/NNC_Polyhedron.defs.hh (1.16), src/NNC_Polyhedron.inlines.hh (1.10), src/Polyhedron.defs.hh (1.135), src/Polyhedron.inlines.hh (1.41), src/PowerSet.defs.hh (1.9), src/PowerSet.inlines.hh (1.10): The syntax `template ' is an anachronism: use `template ' instead. 2002-08-11 Sunday 16:57 Roberto Bagnara * src/: BoundingBox.types.hh (1.3), C_Polyhedron.types.hh (1.4), ConSys.types.hh (1.4), Constraint.types.hh (1.4), GenSys.types.hh (1.4), Generator.types.hh (1.4), Init.types.hh (1.3), Integer.types.hh (1.5), Interval.types.hh (1.3), LinExpression.types.hh (1.4), Matrix.types.hh (1.4), NNC_Polyhedron.types.hh (1.4), Poly_Con_Relation.types.hh (1.3), Poly_Gen_Relation.types.hh (1.3), Polyhedron.types.hh (1.5), Row.types.hh (1.4), SatMatrix.types.hh (1.4), SatRow.types.hh (1.4), Status.types.hh (1.4), Variable.types.hh (1.4): Obey our standard about namespace-level indentation. 2002-08-11 Sunday 16:10 Roberto Bagnara * src/: AskTell.defs.hh (1.6), AskTell.inlines.hh (1.7), AskTell.types.hh (1.2), BoundingBox.defs.hh (1.3), BoundingBox.inlines.hh (1.4), BoundingBox.types.hh (1.2), C_Polyhedron.defs.hh (1.12), C_Polyhedron.inlines.hh (1.7), C_Polyhedron.types.hh (1.3), ConSys.defs.hh (1.62), ConSys.inlines.hh (1.23), ConSys.types.hh (1.3), Constraint.defs.hh (1.67), Constraint.inlines.hh (1.38), Constraint.types.hh (1.3), Determinate.defs.hh (1.5), Determinate.inlines.hh (1.6), Determinate.types.hh (1.2), GenSys.defs.hh (1.76), GenSys.inlines.hh (1.25), GenSys.types.hh (1.3), Generator.defs.hh (1.72), Generator.inlines.hh (1.35), Generator.types.hh (1.3), Init.defs.hh (1.4), Init.inlines.hh (1.3), Init.types.hh (1.2), Integer.defs.hh (1.6), Integer.inlines.hh (1.5), Integer.types.hh (1.4), Interval.defs.hh (1.6), Interval.types.hh (1.2), LCompare.defs.hh (1.2), LCompare.inlines.hh (1.2), LCompare.types.hh (1.2), LinExpression.defs.hh (1.49), LinExpression.inlines.hh (1.21), LinExpression.types.hh (1.3), Matrix.defs.hh (1.30), Matrix.inlines.hh (1.25), Matrix.types.hh (1.3), NNC_Polyhedron.defs.hh (1.15), NNC_Polyhedron.inlines.hh (1.9), NNC_Polyhedron.types.hh (1.3), Poly_Con_Relation.defs.hh (1.11), Poly_Con_Relation.inlines.hh (1.7), Poly_Con_Relation.types.hh (1.2), Poly_Gen_Relation.defs.hh (1.10), Poly_Gen_Relation.inlines.hh (1.7), Poly_Gen_Relation.types.hh (1.2), Polyhedron.defs.hh (1.134), Polyhedron.inlines.hh (1.40), Polyhedron.types.hh (1.4), PowerSet.defs.hh (1.8), PowerSet.inlines.hh (1.9), PowerSet.types.hh (1.2), Row.defs.hh (1.52), Row.inlines.hh (1.28), Row.types.hh (1.3), SatMatrix.defs.hh (1.21), SatMatrix.inlines.hh (1.14), SatMatrix.types.hh (1.3), SatRow.defs.hh (1.17), SatRow.inlines.hh (1.17), SatRow.types.hh (1.3), Status.defs.hh (1.19), Status.inlines.hh (1.9), Status.types.hh (1.3), Variable.defs.hh (1.21), Variable.inlines.hh (1.10), Variable.types.hh (1.3): Multiple inclusion guards properly commented. 2002-08-11 Sunday 15:37 Roberto Bagnara * interfaces/: C/ppl_c.h (1.39), Prolog/XSB/ppl_xsb.cc (1.6), Prolog/YAP/ppl_yap.cc (1.41): Comment the closing brace of `extern "C"' blocks. 2002-08-11 Sunday 15:34 Roberto Bagnara * src/: ConSys.defs.hh (1.61), Constraint.defs.hh (1.66), GenSys.defs.hh (1.75), Generator.defs.hh (1.71), Integer.defs.hh (1.5), Interval.defs.hh (1.5), LinExpression.defs.hh (1.48), Matrix.defs.hh (1.29), Poly_Con_Relation.defs.hh (1.10), Poly_Gen_Relation.defs.hh (1.9), Polyhedron.defs.hh (1.133), Row.defs.hh (1.51), SatMatrix.defs.hh (1.20), SatRow.defs.hh (1.16), Status.defs.hh (1.18), Variable.defs.hh (1.20): Namespace-level indentation fixed. 2002-08-11 Sunday 15:19 Roberto Bagnara * STANDARDS (1.5): Add rules concerning block closures and namespace indentation. 2002-08-11 Sunday 11:11 Roberto Bagnara * src/: Determinate.defs.hh (1.4), Determinate.inlines.hh (1.5), PowerSet.defs.hh (1.7), PowerSet.inlines.hh (1.8): Added methods add_dimensions_and_project(), add_dimensions_and_embed(), remove_dimensions(), and remove_higher_dimensions(). 2002-08-10 Saturday 19:35 Roberto Bagnara * configure.ac (1.57), interfaces/C/Makefile.am (1.11), src/Makefile.am (1.48): Bump version numbers. 2002-08-10 Saturday 19:24 Roberto Bagnara * doc/.cvsignore (1.2): For those building in the sources directory. 2002-08-10 Saturday 14:13 Roberto Bagnara * interfaces/Prolog/XSB/Makefile.am (1.9): Allow building in any directory (included the one containing the sources). 2002-08-09 Friday 21:49 Roberto Bagnara * interfaces/Prolog/XSB/Makefile.am (1.8): Distribute also expected and expected2. 2002-08-09 Friday 21:19 Roberto Bagnara * doc/: Makefile.am (1.19), devref-browse.doxyconf-latex.in (1.21), devref-print.doxyconf-latex.in (1.21), devref.doxyconf-html.in (1.22), user-browse.doxyconf-latex.in (1.13), user-print.doxyconf-latex.in (1.13), user.doxyconf-html.in (1.15): Transition to Doxygen 1.2.17 completed. 2002-08-08 Thursday 08:15 Roberto Bagnara * tests/.cvsignore (1.6): Ignore also the newly added tests. 2002-08-07 Wednesday 23:35 Roberto Bagnara * interfaces/Prolog/XSB/: .cvsignore (1.2), Makefile.am (1.7): Support building in the sources' directory. 2002-08-07 Wednesday 22:56 Roberto Bagnara * interfaces/Prolog/XSB/: Makefile.am (1.6), expected2 (1.1): XSB interface now fully operational. 2002-08-07 Wednesday 19:33 Roberto Bagnara * interfaces/Prolog/XSB/: Makefile.am (1.5), expected (1.1), ppl_xsb.cc (1.5), xsb_clpq.P (1.3), xsb_clpq2.P (1.1): Bug fixed. Tests with clpq.pl now working. 2002-08-07 Wednesday 18:11 Roberto Bagnara * interfaces/Prolog/XSB/Makefile.am (1.4): Improve the `make check' mechanism. 2002-08-07 Wednesday 17:57 Roberto Bagnara * interfaces/Prolog/XSB/Makefile.am (1.3): MOSTLYCLEANFILES integrated. 2002-08-07 Wednesday 11:17 Roberto Bagnara * interfaces/Prolog/XSB/xsb_clpq.P (1.2): Unneeded parentheses removed. 2002-08-07 Wednesday 11:15 Roberto Bagnara * interfaces/Prolog/XSB/: Makefile.am (1.2), xsb_clpq.P (1.1): Towards a working XSB interface. 2002-08-06 Tuesday 19:48 Roberto Bagnara * interfaces/C/ppl_c.h (1.38): Better comment for the closing #endif of the multiple inclusion guard. 2002-08-06 Tuesday 19:47 Roberto Bagnara * interfaces/Prolog/XSB/ppl_xsb.cc (1.4): Wrong initializations fixed. 2002-08-06 Tuesday 18:11 Roberto Bagnara * interfaces/Prolog/XSB/ppl_xsb.cc (1.3): Try to get around bugs in XSB 2.5 foreign language interface (several foreign language interface functions do not properly dereference their arguments). 2002-08-05 Monday 17:26 Roberto Bagnara * src/: AskTell.defs.hh (1.5), AskTell.inlines.hh (1.6), PowerSet.inlines.hh (1.7): Some cleaning. 2002-08-04 Sunday 18:25 Roberto Bagnara * src/: AskTell.defs.hh (1.4), AskTell.inlines.hh (1.5), Determinate.defs.hh (1.3), Determinate.inlines.hh (1.4), PowerSet.defs.hh (1.6), PowerSet.inlines.hh (1.6): All the entails() functions became definitely_entails() methods. More cleaning. 2002-08-04 Sunday 14:49 Roberto Bagnara * src/: AskTell.defs.hh (1.3), AskTell.inlines.hh (1.4), PowerSet.defs.hh (1.5), PowerSet.inlines.hh (1.5): More cleaning. 2002-08-04 Sunday 13:35 Roberto Bagnara * src/AskTell.inlines.hh (1.3), src/Determinate.defs.hh (1.2), src/Determinate.inlines.hh (1.3), src/PowerSet.defs.hh (1.4), src/PowerSet.inlines.hh (1.4), tests/mc91.cc (1.3): CS::operator*=() renamed CS::meet_assign(). CS::operator+=() renamed CS::upper_bound_assign(). 2002-08-04 Sunday 13:17 Roberto Bagnara * src/: Makefile.am (1.47), PowerSet.defs.hh (1.3), PowerSet.inlines.hh (1.3): Use the new classes also for the documentation. The PowerSet construction is now implemented using a sequence. PowerSet::omega_reduction() reimplemented. 2002-08-03 Saturday 21:35 Roberto Bagnara * src/: PowerSet.defs.hh (1.2), PowerSet.inlines.hh (1.2): Complete redesign started. 2002-08-02 Friday 11:40 Roberto Bagnara * src/AskTell.defs.hh (1.2), src/AskTell.inlines.hh (1.2), tests/mc91.cc (1.2): Move all code to AskTell.inlines.hh. Minor improvements. 2002-08-02 Friday 10:47 Roberto Bagnara * tests/: exceptions1.cc (1.11), exceptions2.cc (1.7), print.hh (1.10), randphull1.cc (1.2): Include . 2002-08-02 Friday 09:33 Roberto Bagnara * configure.ac (1.56): Check whether the Mercury compiler is installed. 2002-08-01 Thursday 18:03 Roberto Bagnara * tests/: Makefile.am (1.81), mc91.cc (1.1): Test the constraint systems' constructions with McCarthy's 91 function. 2002-08-01 Thursday 17:57 Roberto Bagnara * src/Makefile.am (1.46): Activate the new constraint systems' files. 2002-08-01 Thursday 17:56 Roberto Bagnara * src/Determinate.inlines.hh (1.2): Inclusion guard comment fixed. 2002-08-01 Thursday 17:55 Roberto Bagnara * src/: PowerSet.defs.hh (1.1), PowerSet.inlines.hh (1.1), PowerSet.types.hh (1.1): Initial implementation for the class `PowerSet': the powerset construction on constraint systems. 2002-08-01 Thursday 17:24 Roberto Bagnara * src/: AskTell.defs.hh (1.1), AskTell.inlines.hh (1.1), AskTell.types.hh (1.1): Initial implementation for the class `AskTell': the ask and tell construction on constraint systems. 2002-08-01 Thursday 16:42 Roberto Bagnara * src/: LCompare.defs.hh (1.1), LCompare.inlines.hh (1.1), LCompare.types.hh (1.1): Initial implementation for the class `LCompare': a function object for lexical comparison. 2002-08-01 Thursday 16:16 Roberto Bagnara * src/: Determinate.defs.hh (1.1), Determinate.inlines.hh (1.1), Determinate.types.hh (1.1): Initial implementation for the class `Determinate': it wraps a polyhedron class into a determinate constraint system interface. 2002-07-30 Tuesday 11:14 Roberto Bagnara * configure.ac (ppl-0_4-branch.3): Update version. 2002-07-30 Tuesday 11:14 Roberto Bagnara * Watchdog/ChangeLog, ChangeLog (ppl-0_4-branch.[2,4]): Mark ChangeLog. 2002-07-30 Tuesday 09:50 Roberto Bagnara * ChangeLog (ppl-0_4-branch.3): Updated. 2002-07-29 Monday 20:04 Roberto Bagnara * COPYING (1.2), INSTALL (1.4), config.guess (1.12), config.sub (1.11), depcomp (1.3), install-sh (1.3), missing (1.5), mkinstalldirs (1.4): Updated to the respective latest versions. 2002-07-29 Monday 10:06 Enea Zaffanella * src/Polyhedron.cc (1.196): Added an assertions to add_constraints(ConSys& cs). Also added a test for emptyness, to avoid adding constraints to a polyhedron already known to be empty. 2002-07-29 Monday 07:39 Roberto Bagnara * interfaces/Prolog/pl_check.pl (1.21): Comment removed. 2002-07-29 Monday 07:35 Roberto Bagnara * interfaces/Prolog/pl_check.pl (ppl-0_4-branch.1): Comment removed. 2002-07-29 Monday 07:26 Roberto Bagnara * NEWS (ppl-0_4-branch.3): Mention the fixes to Polyhedron::check_universe() and NNC_Polyhedron::NNC_Polyhedron(ConSys& cs). 2002-07-29 Monday 01:08 Enea Zaffanella * src/ConSys.cc, src/GenSys.cc, tests/universe6.cc, src/Polyhedron.cc (ppl-0_4-branch.[1,1,1,2]): The following corrections made on HEAD are now reported in the ppl-0_4-branch: - fixed a bug in ConSys/GenSys.adjust_topology_and_dimension() - fixed a bug in Polyhedron::check_universe(). 2002-07-29 Monday 00:49 Enea Zaffanella * src/Polyhedron.cc (1.195): Fixed a bug in check_universe(), which was returning the wrong result when called by a zero-dim universe polyhedron. 2002-07-29 Monday 00:46 Enea Zaffanella * src/: ConSys.cc (1.39), GenSys.cc (1.58): Methods adjust_topology_and_dimension() now behave properly even on constraint/generator systems having no rows. 2002-07-29 Monday 00:43 Enea Zaffanella * tests/universe6.cc (1.2): Added a new test, showing two bugs: - the first bug has to do with an invariant that was not fullfilled when creating an NNC polyehdron starting from an empty constraint system; this bug was only visible when compiling with assertions turned on. - the second bug was due to the fact that check_universe() returns the wrong result when applied to a zero-dim-universe polyhedron. 2002-07-28 Sunday 20:06 Roberto Bagnara * interfaces/Prolog/XSB/.cvsignore (1.1): Put under CVS control. 2002-07-28 Sunday 20:04 Roberto Bagnara * interfaces/Prolog/pl_check.pl (1.20): Properly initialize and finalize the library. 2002-07-28 Sunday 19:58 Roberto Bagnara * interfaces/Prolog/: Ciao/ppl_ciao.cc (1.13), GNU/ppl_gprolog_sd.cc (1.8), SICStus/ppl_sicstus_sd.cc (1.24), SWI/ppl_swiprolog.cc (1.48), YAP/ppl_yap.cc (1.40): Fixed some comments and assertions. 2002-07-28 Sunday 19:36 Roberto Bagnara * interfaces/Prolog/XSB/ppl_xsb.cc (1.2): Several bugs fixed. 2002-07-28 Sunday 12:09 Roberto Bagnara * ChangeLog (ppl-0_4-branch.2): Updated. 2002-07-28 Sunday 11:57 Roberto Bagnara * README (ppl-0_4-branch.1): Updated for version 0.4.1. 2002-07-28 Sunday 11:45 Roberto Bagnara * NEWS (ppl-0_4-branch.2): Add news for version 0.4.1. 2002-07-28 Sunday 11:44 Roberto Bagnara * configure.ac (ppl-0_4-branch.2): Bump version number. 2002-07-28 Sunday 11:32 Roberto Bagnara * src/: Integer.types.hh, Makefile.am (ppl-0_4-branch.[1,1]): Document the fact that Parma_Polyhedra_Library::Integer is a synonym for GMP's mpz_class. 2002-07-24 Wednesday 14:28 Roberto Bagnara * interfaces/Prolog/Ciao/Makefile.am (1.8): Ciao Prolog library renamed. 2002-07-24 Wednesday 14:26 Roberto Bagnara * src/: Integer.types.hh (1.3), Makefile.am (1.45): Document the fact that Parma_Polyhedra_Library::Integer is a synonym for GMP's mpz_class. 2002-07-23 Tuesday 18:48 Enea Zaffanella * src/Generator.defs.hh (1.70): Corrected doxygen comments to shorthands functions line, ray, point. 2002-07-23 Tuesday 18:44 Enea Zaffanella * doc/definitions.dox (1.88): Small correction in the example of the use of an extended generator system. 2002-07-22 Monday 15:37 Roberto Bagnara * interfaces/Prolog/: Ciao/ppl_ciao.cc (1.12), GNU/ppl_gprolog_sd.cc (1.7), SICStus/ppl_sicstus_sd.cc (1.23), SWI/ppl_swiprolog.cc (1.47), YAP/ppl_yap.cc (1.39): Comments fixed. Avoid macros with unused parameters. 2002-07-22 Monday 15:33 Roberto Bagnara * configure.ac (1.55), interfaces/Prolog/Makefile.am (1.19), interfaces/Prolog/XSB/Makefile.am (1.1), interfaces/Prolog/XSB/ppl_xsb.H (1.1), interfaces/Prolog/XSB/ppl_xsb.cc (1.1): New Prolog interface. 2002-07-22 Monday 14:29 Enea Zaffanella * src/Polyhedron.cc, tests/Makefile.am, tests/polydifference2.cc (ppl-0_4-branch.[1,1,1]): The corrections of the bug identified in revisions 1.193 and 1.194 of the HEAD branch are now reported in the ppl-0_4-branch. The same for the test that outlighted the bug. 2002-07-10 Wednesday 12:52 Enea Zaffanella * tests/polydifference2.cc (1.3): Don't be noisy. 2002-07-10 Wednesday 12:40 Enea Zaffanella * src/Polyhedron.cc (1.194): Corrected a bug in poly_difference_assign(const Polyhedron& y). No longer ignoring the equality constraints of `y' (the bug was affecting both C and NNC computations). 2002-07-10 Wednesday 12:01 Enea Zaffanella * tests/polydifference2.cc (1.2): Output improved. 2002-07-10 Wednesday 11:58 Enea Zaffanella * src/Polyhedron.cc (1.193): Corrected a bug in Polyhedron::operator=(...). When assigning to *this a polyhedron declared to be empty, we now call set_empty() to also clear the constraint and generator systems, therefore enforcing the corresponding invariant. 2002-07-10 Wednesday 11:55 Enea Zaffanella * tests/: Makefile.am (1.80), polydifference2.cc (1.1): Added a new test showing two bugs: - the assignment operator on Polyhedron breaks the invariant saying that an empty polyhedron has a constraint system with either no rows or a single unsatisfiable constraint; - the current implementation of poly_difference_assign() is wrong in that it disregards equality constraints. 2002-07-03 Wednesday 15:22 Roberto Bagnara * interfaces/Prolog/Ciao/: fake_main.pl (1.1), ppl_ciao.pl (1.20): Wrong declarations fixed (thanks to Jose Morales). The file fake_main.pl is a kludge to convince ciaoc to produce object code (the `-c' option is broken in Ciao Prolog 1.8 #2). Missing predicate declarations have been added. 2002-07-02 Tuesday 22:56 Roberto Bagnara * interfaces/Prolog/Ciao/ppl_ciao.pl (1.19): Some bugs have been fixed. 2002-07-02 Tuesday 22:02 Roberto Bagnara * configure.ac (1.54): Version bumped: we are now in the 0.5 era. 2002-07-02 Tuesday 22:00 Roberto Bagnara * configure.ac (1.53), interfaces/Prolog/Makefile.am (1.18): The Ciao Prolog interface has been re-enabled. 2002-07-02 Tuesday 21:52 Roberto Bagnara * configure.ac (1.52), Watchdog/configure.ac (1.9): Shared libraries are again turned off by default. 2002-07-02 Tuesday 21:49 Roberto Bagnara * NEWS (ppl-0_4-branch.1), NEWS (1.28): Cut and paste error fixed. 2002-07-01 Monday 18:24 Roberto Bagnara * configure.ac (ppl-0_4-branch.1): Update version. 2002-07-01 Monday 18:23 Roberto Bagnara * Watchdog/ChangeLog, ChangeLog (ppl-0_4-branch.[1,1]): Mark ChangeLog. 2002-07-01 Monday 18:12 Roberto Bagnara * ChangeLog (1.9): Updated. 2002-07-01 Monday 16:54 Roberto Bagnara * config.guess (1.11), config.sub (1.10), ltmain.sh (1.5): Updated. 2002-07-01 Monday 08:02 Roberto Bagnara * NEWS (1.27): Updated. 2002-06-30 Sunday 22:39 Roberto Bagnara * STANDARDS (1.4): Use the same form of headings. 2002-06-30 Sunday 22:37 Roberto Bagnara * README (1.12): Mention the support for NNC polyhedra. Updated for PPL 0.4. Organization of source distributions updated. 2002-06-30 Sunday 22:08 Patricia M. Hill * interfaces/Prolog/GNU/ppl_gprolog.pl (1.16): Bug fixed in limited_H79_widening_assign. 2002-06-30 Sunday 21:15 Roberto Bagnara * ppl.spec.in (1.15): Mention not necessarily closed convex polyhedra in the main %description. 2002-06-30 Sunday 20:21 Roberto Bagnara * interfaces/Prolog/: check_script (1.3), expected (1.2): Test ack.clpq with the easier query `?- ack(2, 1, Z).'. 2002-06-30 Sunday 20:15 Roberto Bagnara * Watchdog/: Watchdog.defs.hh (1.5), Watchdog.inlines.hh (1.4): Implementation of inline functions moved to Watchdog.inlines.hh. 2002-06-30 Sunday 17:08 Roberto Bagnara * Watchdog/ChangeLog (1.2): This file will no longer be empty. 2002-06-30 Sunday 15:21 Roberto Bagnara * configure.ac (1.51), Watchdog/configure.ac (1.8): Invocations to AC_PROG_* macros repositioned. 2002-06-30 Sunday 15:20 Roberto Bagnara * src/Generator.defs.hh (1.69): Friend declaration split differently. 2002-06-30 Sunday 15:17 Roberto Bagnara * Watchdog/: Watchdog.defs.hh (1.4), Watchdog.inlines.hh (1.3): Use methods instead of friends for binary operators over Time. 2002-06-30 Sunday 12:40 Roberto Bagnara * interfaces/Prolog/: GNU/.cvsignore (1.4), SICStus/.cvsignore (1.4), SWI/.cvsignore (1.4), YAP/.cvsignore (1.4): Added files to be ignored. 2002-06-30 Sunday 12:37 Roberto Bagnara * interfaces/Prolog/: Ciao/.cvsignore (1.3), GNU/.cvsignore (1.3), SICStus/.cvsignore (1.3), YAP/.cvsignore (1.3): For those building in the sources' directory. 2002-06-30 Sunday 10:38 Roberto Bagnara * configure.ac (1.50): Make building shared libraries the default. 2002-06-29 Saturday 21:44 Patricia M. Hill * interfaces/Prolog/: Prolog_interface.dox (1.60), ppl_prolog.icc (1.60), Ciao/ppl_ciao.pl (1.18), GNU/ppl_gprolog.pl (1.15), SICStus/ppl_sicstus_sd.cc (1.22), SWI/ppl_swiprolog.cc (1.46), YAP/ppl_yap.cc (1.38): Added documentation for Prolog interface predicates bounds from above/below and moved definitions to follow that of is_bounded. 2002-06-29 Saturday 14:38 Patricia M. Hill * interfaces/Prolog/: pl_check.pl (1.19), ppl_prolog.icc (1.59), Ciao/ppl_ciao.pl (1.17), GNU/ppl_gprolog.pl (1.14), SICStus/ppl_sicstus_sd.cc (1.21), SWI/ppl_swiprolog.cc (1.45), YAP/ppl_yap.cc (1.37): Predicates for bounds_from_above/below added to Prolog interface. 2002-06-29 Saturday 08:23 Roberto Bagnara * interfaces/C/: ppl_c.cc (1.41), ppl_c.h (1.37): Added ppl_Polyhedron_bounds_from_above() and ppl_Polyhedron_bounds_from_below(). 2002-06-29 Saturday 08:21 Roberto Bagnara * src/: Polyhedron.cc (1.192), Polyhedron.defs.hh (1.132), Polyhedron.inlines.hh (1.39): Added bool bounds_from_above(const LinExpression&) const and bool bounds_from_below(const LinExpression&) const: both are implemented in terms of the new bool bounds(const LinExpression& expr, bool from_above) const. 2002-06-28 Friday 22:07 Roberto Bagnara * src/Polyhedron.cc (1.191): Polyhedron::is_bounded() improved. 2002-06-28 Friday 22:05 Roberto Bagnara * interfaces/Prolog/: clpq2.pl (1.21), expected2 (1.5): Undo the changes corresponding to the last two commits of clpq2.pl and to the last commit of expected2. 2002-06-28 Friday 17:06 Patricia M. Hill * interfaces/Prolog/: clpq2.pl (1.20), expected2 (1.4): Updated the expected2 file to match current clpq2.pl clpq2.pl has a minor bug fixed when writing equality bindings that were not included as constraints (this does not affect the results of the check_script2). 2002-06-28 Friday 09:09 Roberto Bagnara * tests/: memory1.cc (1.5), timings.cc (1.2): Improved error handling. 2002-06-28 Friday 09:03 Roberto Bagnara * tests/memory1.cc (1.4): Cleaned and improved error handling. 2002-06-27 Thursday 09:38 Enea Zaffanella * src/ConSys.defs.hh (1.60), src/ConSys.inlines.hh (1.22), src/GenSys.defs.hh (1.74), src/GenSys.inlines.hh (1.24), tests/NNCminimize1.cc (1.4), tests/NNCminimize2.cc (1.4), tests/NNCminimize3.cc (1.4), tests/NNCminimize4.cc (1.6): Added public method clear() to ConSys and GenSys. Added a FIXME comment to NNCminimize* tests. 2002-06-27 Thursday 09:22 Roberto Bagnara * src/: ConSys.defs.hh (1.59), ConSys.inlines.hh (1.21), Constraint.defs.hh (1.65), Constraint.inlines.hh (1.37), GenSys.defs.hh (1.73), GenSys.inlines.hh (1.23), Generator.defs.hh (1.68), Generator.inlines.hh (1.34), LinExpression.defs.hh (1.47), LinExpression.inlines.hh (1.20): Added several versions of swap() to cope with the private inheritance problems caused by the departure of PPL_HIDDEN. 2002-06-27 Thursday 08:20 Roberto Bagnara * src/Generator.inlines.hh (1.33): Avoid redefinition of default arguments. 2002-06-26 Wednesday 19:24 Roberto Bagnara * src/: GenSys.cc (1.57), GenSys.defs.hh (1.72): Added std::ostream& operator<<(std::ostream&, const GenSys&) and std::istream& operator>>(std::istream&, GenSys&). 2002-06-26 Wednesday 19:11 Roberto Bagnara * src/: ConSys.cc (1.38), ConSys.defs.hh (1.58), Matrix.cc (1.39): Added std::ostream& operator<<(std::ostream&, const ConSys&) and std::istream& operator>>(std::istream&, ConSys&). 2002-06-26 Wednesday 18:55 Roberto Bagnara * doc/devref-browse.doxyconf-latex.in (1.20), doc/devref-print.doxyconf-latex.in (1.20), doc/devref.doxyconf-html.in (1.21), interfaces/C/Makefile.am (1.10), interfaces/C/ppl_c.cc (1.40), interfaces/Prolog/Ciao/Makefile.am (1.7), interfaces/Prolog/GNU/Makefile.am (1.23), interfaces/Prolog/SICStus/Makefile.am (1.28), interfaces/Prolog/SWI/Makefile.am (1.25), interfaces/Prolog/YAP/Makefile.am (1.15), src/ConSys.defs.hh (1.57), src/Constraint.defs.hh (1.64), src/GenSys.defs.hh (1.71), src/Generator.defs.hh (1.67), src/LinExpression.defs.hh (1.46), src/Makefile.am (1.44), src/Poly_Con_Relation.defs.hh (1.9), src/Poly_Gen_Relation.defs.hh (1.8), src/ppl_filter_doxygen.sed (1.3), src/ppl_filter_install.sed (1.3): PPL_HIDDEN has gone. 2002-06-26 Wednesday 18:32 Patricia M. Hill * src/: ConSys.defs.hh (1.56), Constraint.defs.hh (1.63), GenSys.defs.hh (1.70): Minor improvements to comments (just English). 2002-06-26 Wednesday 18:12 Roberto Bagnara * src/: Generator.defs.hh (1.66), Generator.inlines.hh (1.32), Makefile.am (1.43): Added new shorthand non-member functions for creting generators: Generator line(const LinExpression&), Generator ray(const LinExpression&), Generator point(const LinExpression&, const Integer&), Generator closure_point(const LinExpression&, const Integer&). 2002-06-26 Wednesday 18:10 Roberto Bagnara * interfaces/: C/ppl_c.cc (1.39), Prolog/ppl_prolog.icc (1.58): Use the new static members of Generator to construct generatos. 2002-06-26 Wednesday 15:44 Enea Zaffanella * src/LinExpression.defs.hh (1.45): Removed spurious duplicated declaration (was already commented out). 2002-06-26 Wednesday 15:33 Roberto Bagnara * src/: Row.cc (1.40), Row.defs.hh (1.50), globals.cc (1.8), globals.hh (1.19): const Integer& operator*(const Constraint&, const Generator&) and const Integer& reduced_scalar_product(const Constraint&, const Generator&) moved from Row.* to globals.*. 2002-06-26 Wednesday 14:55 Enea Zaffanella * src/: Constraint.defs.hh (1.62), Generator.cc (1.35), Generator.defs.hh (1.65), LinExpression.defs.hh (1.44), Makefile.am (1.42), Polyhedron.cc (1.190), Row.cc (1.39), Row.defs.hh (1.49): Started getting rid of preprocessing flag PPL_HIDDEN (work still in progress - build broken). 2002-06-26 Wednesday 14:51 Enea Zaffanella * src/: ConSys.defs.hh (1.55), GenSys.defs.hh (1.69): Input and output operator for Polyhedron made friends of ConSys and GenSys. 2002-06-26 Wednesday 14:48 Enea Zaffanella * src/ConSys.cc (1.37): Comment alignment fixed. 2002-06-26 Wednesday 08:59 Patricia M. Hill * doc/definitions.dox (1.87): Improved and corrected affine image paragraph. 2002-06-25 Tuesday 16:35 Patricia M. Hill * doc/definitions.dox (1.86): More improvements to paragraph on affine image operations. 2002-06-25 Tuesday 16:16 Enea Zaffanella * doc/definitions.dox (1.85): For uniformity, using \cQ instead of \cP' in the section about widening. 2002-06-25 Tuesday 16:11 Enea Zaffanella * doc/definitions.dox (1.84): Improved the section about addition/removal of space dimensions. 2002-06-25 Tuesday 16:10 Enea Zaffanella * src/Polyhedron.defs.hh (1.131): The documentation for the swap function on Polyhedron objects now appears in the user manuals too. 2002-06-25 Tuesday 15:15 Roberto Bagnara * src/Polyhedron.types.hh (1.3): Added comments to `namespace std'. 2002-06-25 Tuesday 15:07 Patricia M. Hill * doc/definitions.dox (1.83): Added more on an affine preimage. 2002-06-25 Tuesday 15:03 Roberto Bagnara * Watchdog/.cvsignore (1.3), src/.cvsignore (1.6), tests/.cvsignore (1.5): For those building in the sources' directory. 2002-06-25 Tuesday 15:01 Enea Zaffanella * doc/definitions.dox (1.82): Added formal definition of the time-elapse operator. 2002-06-25 Tuesday 14:16 Patricia M. Hill * doc/definitions.dox (1.81): Changed rows and columns round in the affine paragraph. 2002-06-25 Tuesday 14:10 Enea Zaffanella * doc/definitions.dox (1.80), src/Polyhedron.defs.hh (1.130): Adding some references to the introduction to the documentation of operators. 2002-06-25 Tuesday 14:09 Enea Zaffanella * doc/: devref-browse.doxyconf-latex.in (1.19), devref-print.doxyconf-latex.in (1.19), devref.doxyconf-html.in (1.20): No longer including the second part of the introduction in the devref's manuals, since it is not up-to-date. 2002-06-25 Tuesday 13:50 Patricia M. Hill * doc/definitions.dox (1.79): Examples added to explanation of affine image operator. 2002-06-25 Tuesday 13:26 Patricia M. Hill * doc/definitions.dox (1.78): Started explaining the affine operators. 2002-06-25 Tuesday 12:00 Enea Zaffanella * doc/definitions.dox (1.77), src/Polyhedron.defs.hh (1.129): In the widening and poly-difference comments, using the \anchor doxygen command to link to a specific paragraph of the introduction. 2002-06-25 Tuesday 11:34 Enea Zaffanella * src/Polyhedron.defs.hh (1.128): A few docuemntation errors corrected. Added a note about methods ending in _and_minimize(), to explain the menaing of their return value. From all of their brief doxygen comments, moved the corresponding sentence on their return value, which is now placed in the detailed doxygen comment, using the \return command. 2002-06-25 Tuesday 11:25 Patricia M. Hill * doc/definitions.dox (1.76): Renamed variables in example in paragraph wrt adding dimensions. 2002-06-25 Tuesday 11:08 Patricia M. Hill * interfaces/Prolog/clpq2.pl (1.19): Improved version of clpq2.pl: - Code formatting corrected; - Unused predicate definitions removed; - Predicates renamed to match functionality; - Much more efficient as it projects unwanted dimensions away; - Allows input variables to bind to Herbrand terms; - Allows integer expressions as input (eg fib(2, X+1)). 2002-06-25 Tuesday 10:38 Patricia M. Hill * doc/definitions.dox (1.75): Added paragraphs on adding and removing dimensions. 2002-06-25 Tuesday 08:57 Patricia M. Hill * interfaces/Prolog/pl_check.pl (1.18): More tidying of the tests. 2002-06-25 Tuesday 08:48 Roberto Bagnara * configure.ac (1.49): Version number bumped. 2002-06-25 Tuesday 08:47 Patricia M. Hill * src/: ConSys.cc (1.36), Generator.defs.hh (1.64), Polyhedron.cc (1.189), Polyhedron.defs.hh (1.127), conversion.cc (1.29): In all files, changed reference to Introduction to the relevant section. In Polyhedron.defs.hh: - A few minor changes to English expressions. - An x_1 changed to y. 2002-06-25 Tuesday 08:13 Roberto Bagnara * NEWS (1.26), doc/definitions.dox (1.74), interfaces/C/ppl_c.cc (1.38), interfaces/C/ppl_c.h (1.36), interfaces/Prolog/Prolog_interface.dox (1.59), interfaces/Prolog/pl_check.pl (1.17), interfaces/Prolog/ppl_prolog.icc (1.57), interfaces/Prolog/Ciao/ppl_ciao.pl (1.16), interfaces/Prolog/GNU/ppl_gprolog.pl (1.13), interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.20), interfaces/Prolog/SWI/ppl_swiprolog.cc (1.44), interfaces/Prolog/YAP/ppl_yap.cc (1.36), src/Polyhedron.cc (1.188), src/Polyhedron.defs.hh (1.126), tests/.cvsignore (1.4), tests/Makefile.am (1.79), tests/exceptions1.cc (1.10), tests/h79widening1.cc (1.1), tests/h79widening2.cc (1.1), tests/h79widening3.cc (1.1), tests/limitedh79widening1.cc (1.1), tests/limitedh79widening2.cc (1.1), tests/limitedwideningcc921.cc (1.2), tests/limitedwideningcc922.cc (1.2), tests/permute.cc (1.18), tests/wideningcc921.cc (1.3), tests/wideningcc922.cc (1.3), tests/wideningcc923.cc (1.2): The widening is now called H79 not to confuse the user. 2002-06-25 Tuesday 06:39 Roberto Bagnara * ppl.spec.in (1.14): %files section for gprolog package fixed. 2002-06-24 Monday 23:16 Roberto Bagnara * ppl.spec.in (1.13): %files section fixed for the yap package. 2002-06-24 Monday 22:35 Roberto Bagnara * interfaces/Prolog/YAP/Makefile.am (1.14): Do not forget yap_clpq2.pl. 2002-06-24 Monday 21:47 Roberto Bagnara * interfaces/Prolog/Prolog_interface.dox (1.58): Should now contain all the information need to use the Prolog interface. 2002-06-24 Monday 18:16 Enea Zaffanella * src/: Polyhedron.cc (1.187), Polyhedron.defs.hh (1.125): The detailed comments about class Polyhedron improved. Better marking the start of detailed doxygen sections in the documentation of Polyhedron methods (using /*! ... */ instead of multi-line //!). Adjusted a couple of old comments saying that the return value of minimize() was `true' when the polyhedron is found to be empty. 2002-06-24 Monday 17:59 Roberto Bagnara * interfaces/Prolog/GNU/Makefile.am (1.22): Added definitions for libppl_gprolog_la_LIBADD and libppl_gprolog_la_LDFLAGS. 2002-06-24 Monday 17:58 Roberto Bagnara * ppl.spec.in (1.12): The %files sections of each package are now complete. 2002-06-24 Monday 17:57 Roberto Bagnara * interfaces/Prolog/Prolog_interface.dox (1.57): Dealt with the issue of initialization and finalization. 2002-06-24 Monday 17:24 Roberto Bagnara * interfaces/Prolog/GNU/Makefile.am (1.21): Install also ppl_gprolog.pl. 2002-06-24 Monday 17:23 Roberto Bagnara * interfaces/Prolog/Prolog_interface.dox (1.56): Reorganization started. 2002-06-24 Monday 15:47 Patricia M. Hill * NEWS (1.25), STANDARDS (1.3): Minor spelling/grammar corrections. 2002-06-24 Monday 15:21 Enea Zaffanella * src/: Polyhedron.defs.hh (1.124), Polyhedron.inlines.hh (1.38): Adding short doxygen comment to Polyhedron related functions. 2002-06-24 Monday 14:57 Enea Zaffanella * STANDARDS (1.2): Sketching the first rules to obtain a somewhat standard Doxygen documentation style. 2002-06-24 Monday 14:37 Roberto Bagnara * src/Polyhedron.cc (1.186): Polyhedron::remove_dimensions() fixed. 2002-06-24 Monday 14:11 Roberto Bagnara * tests/removedim6.cc (1.6): This test was carefully written so as to cover a bug in the library: fixed. 2002-06-24 Monday 13:07 Patricia M. Hill * interfaces/Prolog/clpq2.pl (1.18): Final delete_Polyhedron for Q now replaced by cleanup call and by adding polyhedron Q to list of used polyhedra in head of solve_query. 2002-06-24 Monday 13:05 Enea Zaffanella * src/: Polyhedron.cc (1.185), Polyhedron.defs.hh (1.123): Going on enforcing new rules on doxygen comments of class Polyhedron. 2002-06-24 Monday 12:51 Patricia M. Hill * interfaces/Prolog/pl_check.pl (1.16): Improved layout and comments. Simplified and renamed some tests while adding others. 2002-06-24 Monday 12:23 Roberto Bagnara * Watchdog/configure.ac (1.7): Fixed typo in a comment. 2002-06-24 Monday 12:23 Roberto Bagnara * configure.ac (1.48): Effectively disable the interface/Prolog/Ciao directory. 2002-06-24 Monday 11:07 Enea Zaffanella * src/: ConSys.defs.hh (1.54), GenSys.defs.hh (1.68), Generator.defs.hh (1.63): Added examples to ConSys and GenSys documentation using strict inequalities and closure points. Improved terminology note point/vertex in Generator. 2002-06-24 Monday 11:05 Enea Zaffanella * src/Poly_Con_Relation.defs.hh (1.8): Missing full stop added. 2002-06-24 Monday 08:48 Roberto Bagnara * interfaces/Prolog/SWI/Makefile.am (1.24): Distribute also ppl_swiprolog.pl. 2002-06-24 Monday 00:22 Enea Zaffanella * src/: Polyhedron.cc (1.184), Polyhedron.defs.hh (1.122), Polyhedron.inlines.hh (1.37): Started uniformizing doxygen comments of class Polyehdron according to new rules. 2002-06-24 Monday 00:21 Enea Zaffanella * src/: ConSys.inlines.hh (1.20), GenSys.inlines.hh (1.22), LinExpression.inlines.hh (1.19), Row.inlines.hh (1.27), SatMatrix.inlines.hh (1.13), SatRow.inlines.hh (1.16): Relating std::swap functions to the corresponding classes. 2002-06-23 Sunday 22:23 Enea Zaffanella * src/Row.defs.hh (1.48): Surrounding the #define EXTRA_NORMALIZATION 0 with #ifndef EXTRA_NORMALIZATION. 2002-06-23 Sunday 22:18 Roberto Bagnara * interfaces/Prolog/: Prolog_interface.dox (1.55), ppl_prolog.icc (1.56), Ciao/ppl_ciao.cc (1.11), GNU/ppl_gprolog_sd.cc (1.6), SICStus/ppl_sicstus_sd.cc (1.19), SWI/Makefile.am (1.23), SWI/ppl_swiprolog.cc (1.43), SWI/ppl_swiprolog.pl (1.1), YAP/Makefile.am (1.13), YAP/ppl_yap.cc (1.35): Avoid unnecessary differences in the implementation of the various Prolog interfaces. Hook ppl_Prolog_sysdep_deinit() added. 2002-06-23 Sunday 22:16 Enea Zaffanella * src/: ConSys.cc (1.35), ConSys.defs.hh (1.53), GenSys.cc (1.56), Matrix.cc (1.38), Matrix.defs.hh (1.28), Matrix.inlines.hh (1.24): Fixed doxygen comments in class Matrix. Changed raw output methods get() and print() to also read/write information about topology. Changed the corresponding methods of ConSys and GenSys so that they no longer output this information. 2002-06-23 Sunday 18:33 Enea Zaffanella * src/: Constraint.cc (1.28), Generator.cc (1.34): Using flag EXTRA_NORMALIZATION instead of STRONG_NORMALIZATION. 2002-06-23 Sunday 18:31 Enea Zaffanella * src/Init.defs.hh (1.3): Added short doxygen comment to class Init. 2002-06-23 Sunday 18:30 Enea Zaffanella * src/Polyhedron.cc (1.183), tests/timeelapse5.cc (1.2): Implementation of time_elapse corrected and cleaned. The test timeelapse5 corrected according to the new specification. 2002-06-23 Sunday 15:10 Roberto Bagnara * interfaces/Prolog/Makefile.am (1.17): The Ciao-Prolog interface will not be included in PPL 0.4. 2002-06-23 Sunday 15:09 Roberto Bagnara * interfaces/Prolog/YAP/: Makefile.am (1.12), ppl_yap.cc (1.34), yap_clpq.pl (1.5), yap_clpq2.pl (1.1): The YAP interface is now complete and running. 2002-06-22 Saturday 11:08 Roberto Bagnara * src/Topology.hh (1.5): Nothing (apart comments) should follow #endif. 2002-06-22 Saturday 08:24 Enea Zaffanella * src/globals.hh (1.18): Long comment for class Throwable improved. Function maybe_abandon() related to class Throwable. 2002-06-22 Saturday 08:21 Enea Zaffanella * src/: Poly_Con_Relation.defs.hh (1.7), Poly_Gen_Relation.defs.hh (1.7): Comments of *_Relation classes adapted to new doxygen rules. 2002-06-21 Friday 23:21 Enea Zaffanella * src/: ConSys.defs.hh (1.52), GenSys.defs.hh (1.67), Generator.defs.hh (1.62), Topology.hh (1.4): Adapted doxygen comments of classes ConSys and GenSys to the new style. Added short description for the enumeration Topology (in the devref manual). 2002-06-21 Friday 22:03 Roberto Bagnara * interfaces/C/ppl_c.h (1.35): No longer use __BEGIN_DECLS and __END_DECLS (so as not to provoke pollution). Use a brief only description for the opaque pointers. Undefine PPL_TYPE_DECLARATION as soon as we are done with it. Documentation for all the *_OK() functions improved: they do not always make noise (if the compilation was done with NDEBUG defined, they do not make any noise). 2002-06-21 Friday 21:49 Roberto Bagnara * src/C_Polyhedron.defs.hh (1.11): Alignment fixed in a comment. 2002-06-21 Friday 19:40 Enea Zaffanella * src/: Constraint.cc (1.27), Constraint.defs.hh (1.61), Constraint.inlines.hh (1.36), Generator.defs.hh (1.61), LinExpression.defs.hh (1.43): Documentation of classes LinExpression, Constraint and Generator adapted to the new doxygen rules. 2002-06-21 Friday 19:38 Enea Zaffanella * src/: C_Polyhedron.defs.hh (1.10), NNC_Polyhedron.defs.hh (1.14): Avoiding repetitions due to REPEAT_BRIEF = YES. 2002-06-21 Friday 19:36 Enea Zaffanella * doc/: devref-browse.doxyconf-latex.in (1.18), devref-print.doxyconf-latex.in (1.18), devref.doxyconf-html.in (1.19), user-browse.doxyconf-latex.in (1.12), user-print.doxyconf-latex.in (1.12), user.doxyconf-html.in (1.14): Changed doxygen configuration files so that brief comments are always repeated at the beginning of long comments (REPEAT_BRIEF = YES). 2002-06-21 Friday 15:57 Enea Zaffanella * src/: C_Polyhedron.defs.hh (1.9), NNC_Polyhedron.defs.hh (1.13): For classes C_Polyhedron and NNC_Polyhedron, adopting the new doxygen standards about brief/long comments. 2002-06-21 Friday 15:56 Enea Zaffanella * src/: Matrix.defs.hh (1.27), Row.inlines.hh (1.26): Non-friend but related functions should have the \relates special doxygen command. 2002-06-21 Friday 15:54 Enea Zaffanella * src/SatRow.cc (1.9): As things are now, doxygen comments to friend functions should not have the \relates special command. 2002-06-21 Friday 09:12 Roberto Bagnara * configure.ac (1.47): Use C to test the presence and usability of . Use the new style AC_LANG(LANGUAGE) macro. 2002-06-21 Friday 08:15 Roberto Bagnara * interfaces/Prolog/GNU/Makefile.am (1.20): Additions MOSTLYCLEANFILES. 2002-06-20 Thursday 22:51 Roberto Bagnara * interfaces/Prolog/: Prolog_interface.dox (1.54), track_allocation.hh (1.6): Prolog allocation tracking properly reimplemented. 2002-06-20 Thursday 22:48 Roberto Bagnara * interfaces/Prolog/clpq2.pl (1.17): Singleton variable renamed so as to disable the corresponding warning. 2002-06-20 Thursday 22:47 Roberto Bagnara * tests/print.cc (1.2): Do not redefine the default arguments. 2002-06-20 Thursday 21:22 Enea Zaffanella * doc/definitions.dox (1.73): A few improvements in the first paragraph of the introduction. Better explained what a preimage is and some chnages to the paragraph on the DD method. 2002-06-20 Thursday 21:20 Enea Zaffanella * src/: Row.cc (1.38), Row.defs.hh (1.47), Row.inlines.hh (1.25), SatMatrix.cc (1.17), SatMatrix.defs.hh (1.19), SatMatrix.inlines.hh (1.12), SatRow.cc (1.8), SatRow.defs.hh (1.15), SatRow.inlines.hh (1.15), Status.defs.hh (1.17): Added \relates doxygen commands to match related function declarations and definitions. 2002-06-20 Thursday 13:50 Patricia M. Hill * doc/definitions.dox (1.72): Reordered the bibliography to be alphabetical. Changed the syntax in Bounded Polyhedra. Moved Rational Polyhedra to end of section on representations (it needs the definition of constraint representation). Comment in Generators Representation wrt this moved to the Rational one. Small change of wording to Points... paragraph. 2002-06-20 Thursday 13:42 Patricia M. Hill * interfaces/Prolog/Prolog_interface.dox (1.53): Corrected the grammar rules for Rational and made other changes related to this. 2002-06-20 Thursday 12:31 Roberto Bagnara * interfaces/C/ppl_c.cc (1.37): Functions dealing with closure points and strict inequalities were still commented out: fixed. 2002-06-20 Thursday 12:18 Patricia M. Hill * interfaces/Prolog/Prolog_interface.dox (1.52): Improvements to grammar rules. List_of_Constraints and List_of_Generators now specified formally as Constraint_System and Generator_System. 2002-06-20 Thursday 12:01 Patricia M. Hill * interfaces/Prolog/Prolog_interface.dox (1.51): Improved description of "relation with" predicates. 2002-06-20 Thursday 11:46 Patricia M. Hill * interfaces/Prolog/Prolog_interface.dox (1.50): In the grammar rules Numerator and Denominator are non-terminals and should start with capitals. 2002-06-20 Thursday 11:33 Patricia M. Hill * interfaces/Prolog/Prolog_interface.dox (1.49): Many improvements, including: Where comments were repeated elswhere (ie compatibility rules) they have been removed. Where possible, references to relevant sections in the introduction have been made. Grammar rule for Relation added. 2002-06-20 Thursday 11:28 Patricia M. Hill * doc/definitions.dox (1.71): Improved the paragraph on topological compatibility. 2002-06-20 Thursday 09:58 Patricia M. Hill * interfaces/Prolog/clpq2.pl (1.16): Cleaned up previous changes. 2002-06-20 Thursday 08:59 Patricia M. Hill * interfaces/Prolog/clpq2.pl (1.15): Revised the way unwanted polyhedron are removed. It has not been checked yet for leaks. 2002-06-20 Thursday 08:09 Roberto Bagnara * interfaces/Prolog/clpq2.pl (1.14): PPL is the right acronym in normal text. 2002-06-20 Thursday 08:08 Roberto Bagnara * interfaces/Prolog/expected2 (1.3): Corrected with the right results. 2002-06-20 Thursday 07:46 Patricia M. Hill * interfaces/Prolog/clpq2.pl (1.13): Bug fixed and I hope the variable ordering is now stable so that the constraints are presented uniformly in all Prologs. 2002-06-19 Wednesday 23:36 Enea Zaffanella * src/: Constraint.defs.hh (1.60), Generator.defs.hh (1.60), Generator.inlines.hh (1.31), Variable.defs.hh (1.19): Using the \relates doxygen special command to have non-member and non-friend functions listed in the related classes. 2002-06-19 Wednesday 22:38 Roberto Bagnara * interfaces/Prolog/: ppl_prolog.icc (1.55), track_allocation.hh (1.5): Leave the responsibility of TRACK_ALLOCATION to track_allocation.hh. 2002-06-19 Wednesday 22:21 Roberto Bagnara * interfaces/Prolog/clpq2.pl (1.12): A couple of trivial formatting changes. 2002-06-19 Wednesday 20:40 Roberto Bagnara * Makefile.am (1.20), STANDARDS (1.1): The `STANDARDS' file will contain a description of our coding standards. 2002-06-19 Wednesday 20:22 Roberto Bagnara * interfaces/Prolog/: clpq.pl (1.12), clpq2.pl (1.11): Use a uniform coding style. 2002-06-19 Wednesday 18:21 Roberto Bagnara * interfaces/Prolog/GNU/Makefile.am (1.19): Use the 2nd CLP(Q) interpreter for regression testing. 2002-06-19 Wednesday 18:20 Roberto Bagnara * interfaces/Prolog/SWI/Makefile.am (1.22): Fixed the dependencies of the `check-local' target. 2002-06-19 Wednesday 18:19 Roberto Bagnara * interfaces/Prolog/clpq2.pl (1.10): Fixed calls meant to be to ppl_delete_Polyhedron/1. 2002-06-19 Wednesday 18:17 Roberto Bagnara * interfaces/Prolog/: expected2 (1.2), check_script2 (1.2): Trailing blank line removed. 2002-06-19 Wednesday 17:27 Patricia M. Hill * interfaces/Prolog/Prolog_interface.dox (1.48): Many ongoing changes. 2002-06-19 Wednesday 16:25 Roberto Bagnara * interfaces/Prolog/Makefile.am (1.16): Distributes also check_script2 and expected2. 2002-06-19 Wednesday 16:18 Enea Zaffanella * interfaces/Prolog/Prolog_interface.dox (1.47): Corrected a typo in the first paragraph about the SICStus Prolog interface. 2002-06-19 Wednesday 16:13 Enea Zaffanella * interfaces/C/ppl_c.h (1.34): Corrected a typo in the documentation of PPL_CONSTRAINT_TYPE_GREATER_THAN. 2002-06-19 Wednesday 16:05 Enea Zaffanella * src/Variable.defs.hh (1.18): Adjusted comment about the constructor. 2002-06-19 Wednesday 16:01 Patricia M. Hill * doc/definitions.dox (1.70): Improvements to the space dimension and the relation with paragraphs. 2002-06-19 Wednesday 15:24 Enea Zaffanella * src/: Polyhedron.defs.hh (1.121), globals.hh (1.17): Added a short description for class Throwable. Corrected a typo in comment for remove_dimensions. 2002-06-19 Wednesday 15:18 Patricia M. Hill * doc/definitions.dox (1.69): Bounding box paragraph improved a little. 2002-06-19 Wednesday 14:52 Enea Zaffanella * doc/definitions.dox (1.68): Corrected spurious uses of the macro \mathord. Some improvements in the paragraph on bounding boxes: the standard notation for the i-th vector of the canonical base is \vect{e}_i. 2002-06-19 Wednesday 14:48 Patricia M. Hill * doc/definitions.dox (1.67): Changes to relation-wirh and widening paragraphs. 2002-06-19 Wednesday 14:46 Roberto Bagnara * interfaces/Prolog/SICStus/sp_clpq.pl (1.7): Import append/3 and member/2 from library(lists). 2002-06-19 Wednesday 14:45 Roberto Bagnara * interfaces/Prolog/clpq2.pl (1.9): Avoid defining append/3 and member/2, since they are defined as built-ins or provided as library predicates by any supported Prolog implementation (SWI-Prolog seems to be annoyed if a user program tries to redefine them). 2002-06-19 Wednesday 14:34 Roberto Bagnara * ltmain.sh (1.4): Upgraded from the CVS version of libtool. 2002-06-19 Wednesday 14:31 Roberto Bagnara * interfaces/Prolog/SICStus/: Makefile.am (1.27), sp_clpq.pl (1.6): Use the 2nd CLP(Q) interpreter for regression testing. 2002-06-19 Wednesday 14:30 Roberto Bagnara * interfaces/Prolog/Makefile.am (1.15): Distribute also the tests for strict inequalities. 2002-06-19 Wednesday 14:18 Enea Zaffanella * doc/definitions.dox (1.66): Changes in the paragraph on the relation-with operators. 2002-06-19 Wednesday 13:56 Roberto Bagnara * interfaces/Prolog/: GNU/Makefile.am (1.18), SWI/Makefile.am (1.21): Use the configured version of libtool. 2002-06-19 Wednesday 11:43 Patricia M. Hill * interfaces/Prolog/Prolog_interface.dox (1.46): Changed the description for the assignment predicates. 2002-06-19 Wednesday 11:23 Patricia M. Hill * doc/definitions.dox (1.65): A first draft for a paragraph on the relation-with operators. 2002-06-19 Wednesday 10:29 Enea Zaffanella * doc/definitions.dox (1.64): Using the macro \nonnegRset in the paragraph defiing extreme rays. 2002-06-19 Wednesday 10:14 Enea Zaffanella * doc/: definitions.dox (1.63), ppl.sty (1.10): Some improvements in the introduction. Redefined the command \vec following llncs.cls. 2002-06-19 Wednesday 08:03 Patricia M. Hill * interfaces/Prolog/: Prolog_interface.dox (1.45), pl_check.pl (1.15), ppl_prolog.icc (1.54), Ciao/ppl_ciao.pl (1.15), GNU/ppl_gprolog.pl (1.12), SICStus/ppl_sicstus_sd.cc (1.18), SWI/ppl_swiprolog.cc (1.42), YAP/ppl_yap.cc (1.33): Predicates ppl_Polyhedron_topological_closure_assign and ppl_Polyhedron_is_topologically_closed added. 2002-06-19 Wednesday 08:02 Enea Zaffanella * interfaces/C/ppl_c.cc (1.36), interfaces/C/ppl_c.h (1.33), src/Polyhedron.defs.hh (1.120): Added topological closure test and assignment to the C interface. 2002-06-19 Wednesday 07:32 Roberto Bagnara * interfaces/Prolog/schedule.clpq (1.3): Use a uniform syntax. 2002-06-19 Wednesday 07:30 Roberto Bagnara * interfaces/Prolog/YAP/Makefile.am (1.11): Checking mechanism fixed (but still commented out). 2002-06-19 Wednesday 07:30 Roberto Bagnara * interfaces/Prolog/: check_script2 (1.1), expected2 (1.1), SWI/Makefile.am (1.20): Test also with clpq2.pl. 2002-06-19 Wednesday 07:29 Roberto Bagnara * interfaces/Prolog/: clpq.pl (1.11), clpq2.pl (1.8): Improved the query for more solutions. 2002-06-18 Tuesday 18:10 Roberto Bagnara * interfaces/Prolog/Ciao/ppl_ciao.pl (1.14): Use use_foreign_library/1 instead of use_foreign_source/1. 2002-06-18 Tuesday 17:47 Roberto Bagnara * interfaces/Prolog/ppl_prolog.icc (1.53): Indentation fixed. 2002-06-18 Tuesday 17:45 Roberto Bagnara * interfaces/Prolog/Ciao/ppl_ciao.pl (1.13): Declarations completed. 2002-06-18 Tuesday 17:00 Enea Zaffanella * doc/definitions.dox (1.62): Corrected a typo in the definition of closed polyhedra. Improved the paragraph on dimension compatibility to make it independent from th epolyhedra topology. 2002-06-18 Tuesday 15:51 Patricia M. Hill * interfaces/Prolog/clpq2.pl (1.7): Just a little more robust in that it fails if there are variables in non-integer positions in a query rather than crashing. 2002-06-18 Tuesday 15:42 Patricia M. Hill * interfaces/Prolog/pl_check.pl (1.14): Tidied the tests on bounding boxes. 2002-06-18 Tuesday 14:27 Roberto Bagnara * interfaces/Prolog/: Prolog_interface.dox (1.44), pl_check.pl (1.13), ppl_prolog.icc (1.52), Ciao/ppl_ciao.pl (1.12), GNU/ppl_gprolog.pl (1.11), SICStus/ppl_sicstus_sd.cc (1.17), SWI/ppl_swiprolog.cc (1.41), YAP/ppl_yap.cc (1.32): ppl_new_Polyhedron_from_ConSys and ppl_new_Polyhedron_from_GenSys renamed ppl_new_Polyhedron_from_constraints and ppl_new_Polyhedron_from_generators, respectively. 2002-06-18 Tuesday 12:23 Patricia M. Hill * doc/definitions.dox (1.61): Added a preamble based on the ppl home web page. 2002-06-18 Tuesday 12:02 Patricia M. Hill * doc/definitions.dox (1.60): Reorganised the introductory sections. 2002-06-18 Tuesday 11:49 Enea Zaffanella * src/Constraint.inlines.hh (1.35): Corrected a trivial bug just introduced in Constraint operator>(const LinExpression& e1, const LinExpression& e2). 2002-06-18 Tuesday 10:48 Patricia M. Hill * interfaces/Prolog/schedule.clpq (1.2): Improved layout. 2002-06-18 Tuesday 10:44 Patricia M. Hill * interfaces/Prolog/: clpq2.pl (1.6), schedule.clpq (1.1): clpq2.pl now allows Herbrand terms as arguments including lists. schedule.clpq tests the strict inequalities in clpq2.pl 2002-06-18 Tuesday 10:16 Enea Zaffanella * src/Constraint.inlines.hh (1.34): Avoiding the creation of temporaries in Constraint operator>(const LinExpression& e1, const LinExpression& e2) Constraint operator>(const Integer& n, const LinExpression& e) Constraint operator>(const LinExpression& e, const Integer& n). 2002-06-18 Tuesday 08:57 Patricia M. Hill * doc/definitions.dox (1.59): Paragraph for widening improved. Paragraph for time-elapse added (just a reference to the 1997 Halbwachs paper). 2002-06-18 Tuesday 07:35 Roberto Bagnara * interfaces/Prolog/YAP/ppl_yap.cc (1.31): Code for testing YAP exceptions temporarily included. 2002-06-18 Tuesday 00:06 Enea Zaffanella * src/: Polyhedron.cc (1.182), Polyhedron.defs.hh (1.119): Private methods strongly_minimize* now return a boolean which is false if the result is an empty polyhedron (this is consistent with the behavior of private method minimize()). Patched method widening_CC92_assign() to also work for NNC polyhedra. 2002-06-17 Monday 23:28 Roberto Bagnara * interfaces/Prolog/YAP/: Makefile.am (1.10), ppl_yap.pl (1.5), yap_clpq.pl (1.4): Some progress in the support for YAP. 2002-06-17 Monday 22:29 Roberto Bagnara * src/: Row.cc (1.37), Row.defs.hh (1.46), Row.inlines.hh (1.24): The NDEBUG symbol no longer changes data layout. Now, to obtain a version of Row where each object remembers its own capacity, the macro EXTRA_ROW_DEBUG must evaluate to true (whether this capacity is tested in run-time assertions or not depends, as usual, on the NDEBUG macro not being or being defined). 2002-06-17 Monday 18:28 Enea Zaffanella * tests/: Makefile.am (1.78), wideningcc921.cc (1.2), wideningcc922.cc (1.2), wideningcc923.cc (1.1): Added a new tests showing a bug in the current implementation of widening_CC92_assign, when the arguments are NNC polyhedra. Corrected the output of the other widening tests. 2002-06-17 Monday 18:05 Roberto Bagnara * src/: Constraint.inlines.hh (1.33), LinExpression.cc (1.12), LinExpression.defs.hh (1.42), LinExpression.inlines.hh (1.18): Added LinExpression& operator-=(LinExpression& e1, const LinExpression& e2), LinExpression& operator-=(LinExpression& e, const Variable& v), and LinExpression& operator-=(LinExpression& e, const Integer& n). Useless creation of a temporary avoided thanks to the second of those. 2002-06-17 Monday 17:44 Patricia M. Hill * doc/definitions.dox (1.58), interfaces/Prolog/Prolog_interface.dox (1.43): Added the condition that the CC92-widening requires the polyhedra to have the same topology. 2002-06-17 Monday 17:37 Roberto Bagnara * TODO (1.23): We now have complete support for bounding boxes. List a couple of pending efficiency issues. 2002-06-17 Monday 17:32 Patricia M. Hill * doc/definitions.dox (1.57), interfaces/C/ppl_c.h (1.32), interfaces/Prolog/Prolog_interface.dox (1.42), src/Polyhedron.cc (1.181), src/Polyhedron.defs.hh (1.118): Added a draft paragraph about widening (and CC92-widening) to definitions.dox. Replaced "widening" by CC92-widening" in the comments about the widening operators. 2002-06-17 Monday 16:19 Enea Zaffanella * src/: GenSys.cc (1.55), Polyhedron.cc (1.180): All the FIXME's in Polyhedron.cc and GenSys.cc transformed into TODO's, since they were just place-holders for possible performance improvements. 2002-06-17 Monday 16:00 Enea Zaffanella * interfaces/C/: ppl_c.cc (1.35), ppl_c.h (1.31): Added interfaces function for the copy constructors of classes Constraint and Generators and for the constructors of a LinExpression from a Constraint/Generator. 2002-06-17 Monday 15:39 Roberto Bagnara * interfaces/Prolog/GNU/ppl_gprolog.pl (1.10): The two widening predicates have been renamed. 2002-06-17 Monday 15:23 Roberto Bagnara * NEWS (1.24), interfaces/C/ppl_c.cc (1.34), interfaces/C/ppl_c.h (1.30), interfaces/Prolog/Prolog_interface.dox (1.41), interfaces/Prolog/pl_check.pl (1.12), interfaces/Prolog/ppl_prolog.icc (1.51), interfaces/Prolog/Ciao/ppl_ciao.pl (1.11), interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.16), interfaces/Prolog/SWI/ppl_swiprolog.cc (1.40), interfaces/Prolog/YAP/ppl_yap.cc (1.30), src/Polyhedron.cc (1.179), src/Polyhedron.defs.hh (1.117), tests/.cvsignore (1.3), tests/Makefile.am (1.77), tests/exceptions1.cc (1.9), tests/limitedwidening1.cc (1.8), tests/limitedwidening2.cc (1.5), tests/limitedwideningcc921.cc (1.1), tests/limitedwideningcc922.cc (1.1), tests/permute.cc (1.17), tests/widening1.cc (1.5), tests/widening2.cc (1.3), tests/wideningcc921.cc (1.1), tests/wideningcc922.cc (1.1): Widening methods, functions and test programs renamed so as to make clear that (currently) our widenings are extensions of the one proposed in the PLILP'92 paper by Cousot & Cousot. 2002-06-17 Monday 13:57 Enea Zaffanella * interfaces/C/ppl_c.h (1.29): Added comment to functions building polyhedra from bounding boxes. 2002-06-17 Monday 12:47 Patricia M. Hill * interfaces/Prolog/clpq.pl (1.10): clpq.pl only uses C polyhedron again. 2002-06-17 Monday 12:42 Enea Zaffanella * src/: C_Polyhedron.defs.hh (1.8), NNC_Polyhedron.defs.hh (1.12), Polyhedron.defs.hh (1.116), globals.hh (1.16): Added documentation for constructor of C_ and NNC_ polyhedra out of a bounding box. The comment on the C_Polyhedron destructor is now a proper doxygen comment. Added a short description doc for struct FromBoundingBox to avoid cluttering the ``PPL Compound List'' page. 2002-06-17 Monday 11:25 Enea Zaffanella * src/LinExpression.defs.hh (1.41): Corrected typo in documentation of explicit LinExpression(const Generator& g); 2002-06-17 Monday 10:54 Enea Zaffanella * src/Polyhedron.defs.hh (1.115): Improved documentation of poly_difference_assign* methods, stating that topological closure is enforced when *this is a C_Polyhedron. 2002-06-17 Monday 10:24 Enea Zaffanella * src/LinExpression.defs.hh (1.40): Constructors of a LinExpression out of a Constraint/Generator made public. Added a more detailed comment about the unicity of the built expression. 2002-06-17 Monday 10:04 Enea Zaffanella * src/Constraint.inlines.hh (1.32): Removed FIXME's about the efficiency of row-type setting methods. 2002-06-17 Monday 08:59 Patricia M. Hill * interfaces/Prolog/: Prolog_interface.dox (1.40), clpq.pl (1.9): clpq.pl is updated to allow for strict constraints. Improved comments for new polyhedron predicates from consys, gensys and boxes. 2002-06-17 Monday 08:47 Patricia M. Hill * doc/definitions.dox (1.56): Paragraphs on intervals and bounding boxes improved. 2002-06-17 Monday 08:07 Roberto Bagnara * Watchdog/: Watchdog.cc (1.5), Watchdog.defs.hh (1.3): Use #ifdef to test configuration symbols that may be undefined or defined to 1. 2002-06-17 Monday 08:05 Roberto Bagnara * src/Matrix.cc (1.37): It is non-standard to omit the second argument of std::vector::iterator std::vector::insert(iterator position, const T& x). 2002-06-17 Monday 07:50 Roberto Bagnara * src/: ConSys.inlines.hh (1.19), Constraint.cc (1.26), Constraint.inlines.hh (1.31), GenSys.inlines.hh (1.21), Generator.inlines.hh (1.30), LinExpression.inlines.hh (1.17), Row.defs.hh (1.45): Reduce our dependence on the PPL_HIDDEN trick. 2002-06-16 Sunday 22:42 Roberto Bagnara * interfaces/C/ppl_c.h (1.28): Remove non-standard trailing comma. 2002-06-16 Sunday 22:08 Roberto Bagnara * src/: Constraint.inlines.hh (1.30), Generator.inlines.hh (1.29), Matrix.inlines.hh (1.23), Polyhedron.inlines.hh (1.36), Row.inlines.hh (1.23): Make sure the first use of each inline function follows its definition. 2002-06-16 Sunday 20:26 Enea Zaffanella * interfaces/Prolog/SICStus/Makefile.am (1.26): Modified SICStus interface makefile to find the ppl library even when this has not been installed yet. 2002-06-16 Sunday 19:58 Roberto Bagnara * src/: ConSys.defs.hh (1.51), GenSys.defs.hh (1.66), LinExpression.defs.hh (1.39): Reposition friend declarations. Always put the public section before the protected one before the private one. 2002-06-16 Sunday 19:20 Roberto Bagnara * src/LinExpression.defs.hh (1.38): LinExpression(const Constraint&) and LinExpression(const Generator&) made private again, since they expose the library's internals. 2002-06-16 Sunday 19:02 Roberto Bagnara * src/: GenSys.cc (1.54), Polyhedron.cc (1.178), minimize.cc (1.21), simplify.cc (1.16): No space before question mark in comments. 2002-06-16 Sunday 18:55 Roberto Bagnara * tests/: generators1.cc (1.6), generators2.cc (1.3): Include . 2002-06-16 Sunday 17:43 Enea Zaffanella * src/: Constraint.cc (1.25), Constraint.inlines.hh (1.29), Polyhedron.cc (1.177): Removed CHECKME comments from a few methods of classes Constraint and Polyhedron. A few FIXME changed to CHECKME. 2002-06-16 Sunday 17:20 Roberto Bagnara * src/Interval.cc (1.2): Replace `and' by `&&'. 2002-06-16 Sunday 17:19 Roberto Bagnara * src/: BoundingBox.defs.hh (1.2), BoundingBox.inlines.hh (1.3), C_Polyhedron.defs.hh (1.7), ConSys.defs.hh (1.50), Constraint.defs.hh (1.59), GenSys.defs.hh (1.65), Generator.defs.hh (1.59), Init.defs.hh (1.2), Integer.defs.hh (1.4), Interval.defs.hh (1.4), LinExpression.defs.hh (1.37), Matrix.defs.hh (1.26), NNC_Polyhedron.defs.hh (1.11), Poly_Con_Relation.defs.hh (1.6), Poly_Gen_Relation.defs.hh (1.6), Polyhedron.defs.hh (1.114), Row.defs.hh (1.44), SatMatrix.defs.hh (1.18), SatRow.defs.hh (1.14), Status.defs.hh (1.16), Variable.defs.hh (1.17): Use uniform guards against multiple inclusion. Include Interval.defs.hh in BoundingBox.defs.hh. 2002-06-16 Sunday 16:51 Roberto Bagnara * src/: Row.inlines.hh (1.22), SatRow.inlines.hh (1.14): Fully qualify `vector' as `std::vector'. 2002-06-16 Sunday 16:46 Roberto Bagnara * src/C_Polyhedron.cc (1.3), interfaces/C/ppl_c.cc (1.33): Include . 2002-06-16 Sunday 16:45 Roberto Bagnara * src/: Generator.inlines.hh (1.28), Integer.inlines.hh (1.4), LinExpression.defs.hh (1.36), LinExpression.inlines.hh (1.16): Remove unnecessary include files and add some necessary one. 2002-06-16 Sunday 16:39 Roberto Bagnara * src/: BoundingBox.inlines.hh (1.2), C_Polyhedron.inlines.hh (1.6), ConSys.inlines.hh (1.18), Constraint.inlines.hh (1.28), GenSys.inlines.hh (1.20), Generator.inlines.hh (1.27), Init.inlines.hh (1.2), Integer.inlines.hh (1.3), LinExpression.inlines.hh (1.15), Matrix.inlines.hh (1.22), NNC_Polyhedron.inlines.hh (1.8), Poly_Con_Relation.inlines.hh (1.6), Poly_Gen_Relation.inlines.hh (1.6), Polyhedron.inlines.hh (1.35), Row.inlines.hh (1.21), SatMatrix.inlines.hh (1.11), SatRow.inlines.hh (1.13), Status.inlines.hh (1.8), Variable.inlines.hh (1.9): Guard against multiple inclusion. 2002-06-16 Sunday 16:17 Roberto Bagnara * src/: ConSys.defs.hh (1.49), GenSys.defs.hh (1.64), LinExpression.defs.hh (1.35), Matrix.defs.hh (1.25), Variable.defs.hh (1.16): Avoid being pedantic when commenting constructors. 2002-06-16 Sunday 15:56 Roberto Bagnara * src/: ConSys.defs.hh (1.48), GenSys.defs.hh (1.63): All the OK() methods must be public. 2002-06-16 Sunday 15:48 Roberto Bagnara * doc/devref-browse.doxyconf-latex.in (1.17), doc/devref-print.doxyconf-latex.in (1.17), doc/devref.doxyconf-html.in (1.18), interfaces/C/Makefile.am (1.9), interfaces/Prolog/Ciao/Makefile.am (1.6), interfaces/Prolog/GNU/Makefile.am (1.17), interfaces/Prolog/SICStus/Makefile.am (1.25), interfaces/Prolog/SWI/Makefile.am (1.19), interfaces/Prolog/YAP/Makefile.am (1.9), src/ConSys.defs.hh (1.47), src/Constraint.defs.hh (1.58), src/GenSys.defs.hh (1.62), src/Generator.defs.hh (1.58), src/LinExpression.defs.hh (1.34), src/Makefile.am (1.41), src/Polyhedron.defs.hh (1.113), src/Row.defs.hh (1.43), src/ppl_filter_doxygen.sed (1.2), src/ppl_filter_install.sed (1.2): PPL_INTERNAL has gone: replaced with `private' everywhere. 2002-06-16 Sunday 15:40 Roberto Bagnara * interfaces/Prolog/SICStus/: Makefile.am (1.24), sp_clpq.pl (1.5): Simplify `make check' in the SICStus directory and solve a `make distcheck' problem. 2002-06-16 Sunday 08:44 Roberto Bagnara * interfaces/Prolog/GNU/Makefile.am (1.16): Generation of gp_clpq fixed. 2002-06-16 Sunday 00:17 Roberto Bagnara * interfaces/Prolog/ppl_prolog.icc (1.50), src/ConSys.cc (1.34), src/ConSys.defs.hh (1.46), src/ConSys.inlines.hh (1.17), src/Constraint.defs.hh (1.57), src/GenSys.cc (1.53), src/GenSys.defs.hh (1.61), src/GenSys.inlines.hh (1.19), src/Generator.defs.hh (1.57), src/LinExpression.defs.hh (1.33), src/Makefile.am (1.40), src/Polyhedron.defs.hh (1.112), src/Polyhedron.inlines.hh (1.34): Phasing out PPL_INTERNAL. 2002-06-15 Saturday 18:50 Roberto Bagnara * tests/: memory1.cc (1.3), watchdog1.cc (1.8): Be quiet. 2002-06-15 Saturday 18:42 Roberto Bagnara * interfaces/C/ppl_c.cc (1.32), interfaces/Prolog/ppl_prolog.icc (1.49), src/C_Polyhedron.defs.hh (1.6), src/C_Polyhedron.inlines.hh (1.5), src/ConSys.defs.hh (1.45), src/Constraint.defs.hh (1.56), src/GenSys.defs.hh (1.60), src/NNC_Polyhedron.defs.hh (1.10), src/NNC_Polyhedron.inlines.hh (1.7), tests/boundingbox2.cc (1.7): Start replacing our ad hoc protection mechanisms with friendship. Got around the GCC bug described in http://gcc.gnu.org/bugs.html#known by exchanging the order of arguments in the constructors from bounding boxes of C_Polyhedron and NNC_Polyhedron. The test program boundingbox2.cc has been cleaned up consequently. 2002-06-15 Saturday 17:23 Roberto Bagnara * ltmain.sh (1.3): Revert previous change: the CVS version of libtool causes more problems than it solves. 2002-06-15 Saturday 17:12 Roberto Bagnara * tests/Makefile.am (1.76): Always distribute the sources for watchdog1. 2002-06-15 Saturday 16:05 Roberto Bagnara * ltmain.sh (1.2), missing (1.4): Updated to the CVS version of libtool. 2002-06-15 Saturday 14:48 Roberto Bagnara * .cvsignore (1.6): For those building in the sources' directory. 2002-06-15 Saturday 14:47 Roberto Bagnara * Watchdog/Makefile.am (1.5): dist-hook goes into the unconditional section. 2002-06-15 Saturday 14:46 Roberto Bagnara * tests/Makefile.am (1.75): Always distribute $(watchdog1_SOURCES). 2002-06-15 Saturday 14:01 Roberto Bagnara * interfaces/Prolog/SWI/.cvsignore (1.3), tests/.cvsignore (1.2): For those building in the sources' directory. 2002-06-15 Saturday 13:25 Enea Zaffanella * src/: NNC_Polyhedron.cc (1.9), NNC_Polyhedron.defs.hh (1.9), Polyhedron.cc (1.176): Corrected method Polyhedron::limited_widening_assign to work with NNC polyehdra. Removed the overriding method from NNC_Polyhedron. 2002-06-15 Saturday 13:23 Enea Zaffanella * src/Constraint.defs.hh (1.55): Added comment for construct_eps_geq_zero(). 2002-06-15 Saturday 12:39 Roberto Bagnara * interfaces/Prolog/: Ciao/.cvsignore (1.2), GNU/.cvsignore (1.2), SWI/.cvsignore (1.2), YAP/.cvsignore (1.2), YAP/ppl_yap.cc (1.29), YAP/yap_clpq.pl (1.3): Minor changes to YAP support. Changes for those building in the sources' directory. 2002-06-15 Saturday 12:28 Roberto Bagnara * interfaces/Prolog/SICStus/Makefile.am (1.23): Removed ppl_sicstus.pl and sp_clpq.pl from MOSTLYCLEANFILES. 2002-06-14 Friday 23:19 Roberto Bagnara * interfaces/Prolog/YAP/ppl_yap.cc (1.28): Support for YAP almost completed. 2002-06-14 Friday 23:18 Roberto Bagnara * interfaces/Prolog/ppl_prolog.icc (1.48): Include initializer.hh. 2002-06-14 Friday 23:17 Roberto Bagnara * src/initializer.hh (1.2): Added the guard against multiple inclusion. Include Init.defs.hh. 2002-06-14 Friday 20:06 Roberto Bagnara * src/: ConSys.defs.hh (1.44), Constraint.defs.hh (1.54), GenSys.defs.hh (1.59): Temporary kludges removed. 2002-06-14 Friday 19:56 Roberto Bagnara * interfaces/Prolog/: ppl_prolog.icc (1.47), Ciao/Makefile.am (1.5), Ciao/ppl_ciao.cc (1.10), GNU/Makefile.am (1.15), GNU/ppl_gprolog_sd.cc (1.5), SICStus/Makefile.am (1.22), SICStus/ppl_sicstus_sd.cc (1.15), SWI/Makefile.am (1.18), SWI/ppl_swiprolog.cc (1.39), YAP/Makefile.am (1.8), YAP/ppl_yap.cc (1.27): Include the true sources. 2002-06-14 Friday 19:06 Roberto Bagnara * interfaces/Prolog/YAP/ppl_yap.cc (1.26): Prolog_raise_exception() written. 2002-06-14 Friday 18:43 Roberto Bagnara * src/: Interval.defs.hh (1.3), Interval.inlines.hh (1.4): Provide a copy constructor and assignment operator for ExtendedRational. 2002-06-14 Friday 18:32 Patricia M. Hill * tests/boundingbox1.cc (1.16): Made it quiet and corrected a comment. 2002-06-14 Friday 18:24 Patricia M. Hill * tests/: boundingbox1.cc (1.15), boundingbox2.cc (1.6): Test file boundingbox1.cc tidied. Small changes to comments in boundingbox2.cc. 2002-06-14 Friday 17:45 Roberto Bagnara * src/: BoundingBox.cc (1.2), BoundingBox.defs.hh (1.1), BoundingBox.hh (1.7), BoundingBox.inlines.hh (1.1), BoundingBox.types.hh (1.1), Interval.defs.hh (1.2), Interval.inlines.hh (1.3), Makefile.am (1.39), Polyhedron.inlines.hh (1.33): template void Polyhedron::shrink_bounding_box(Box&) redesigned and simplified. Many other improvements in the code for dealing with bounding boxes. 2002-06-14 Friday 17:32 Patricia M. Hill * tests/boundingbox2.cc (1.5): Made boundingbox2.cc quiet. 2002-06-14 Friday 16:29 Patricia M. Hill * tests/boundingbox2.cc (1.4): Some tidying of the tests. 2002-06-14 Friday 14:49 Enea Zaffanella * doc/definitions.dox (1.55), src/Polyhedron.cc (1.175), src/Polyhedron.defs.hh (1.111): Removed strange mixing of short and detailed style doxygen comments, that was causing a warning when building the documentation. Improved the user introduction, adding definition of poly-differences. 2002-06-14 Friday 12:45 Patricia M. Hill * interfaces/Prolog/ppl_prolog.icc (1.46): Added to term_to_boundary checks that the input numerator and denominator are integers and that the denominator is positive. 2002-06-14 Friday 10:20 Roberto Bagnara * interfaces/Prolog/ppl_prolog.icc (1.45): ppl_new_Polyhedron_from_bounding_box() fixed and simplified. 2002-06-14 Friday 10:15 Patricia M. Hill * interfaces/Prolog/Prolog_interface.dox (1.39): Added a short description for new_Polyhedron_from_bounding_box. 2002-06-14 Friday 09:52 Patricia M. Hill * interfaces/Prolog/: pl_check.pl (1.11), ppl_prolog.icc (1.44): Some tidying of the code for ppl_new_Polyhedron_from_bounding_box. 2002-06-14 Friday 08:58 Patricia M. Hill * tests/boundingbox2.cc (1.3): Some bugs fixed. 2002-06-13 Thursday 22:02 Roberto Bagnara * interfaces/Prolog/ppl_prolog.icc (1.43): Fixed two occurrences of assignment where a test for equality was intended. 2002-06-13 Thursday 16:52 Patricia M. Hill * interfaces/Prolog/ppl_prolog.icc (1.42): In ppl_new_Polyhedron_from_bounding_box it now fails (ie PROLOG_FAILURE is returned) if the list is not properly terminated or it is not a list. A few comments added to the code. 2002-06-13 Thursday 16:33 Patricia M. Hill * interfaces/Prolog/: pl_check.pl (1.10), ppl_prolog.icc (1.41), Ciao/ppl_ciao.pl (1.10), GNU/ppl_gprolog.pl (1.9), SICStus/ppl_sicstus_sd.cc (1.14), YAP/ppl_yap.cc (1.25): Completed the code for ppl_new_Polyhedron_from_bounding_box/3. 2002-06-13 Thursday 14:02 Roberto Bagnara * interfaces/Prolog/Prolog_interface.dox (1.38): Prepare to explain the not-so-easy situation with GNU Prolog. 2002-06-13 Thursday 13:17 Roberto Bagnara * src/: BoundingBox.cc (1.1), BoundingBox.hh (1.6): Start completing the BoundingBox class. 2002-06-13 Thursday 12:42 Patricia M. Hill * tests/: boundingbox1.cc (1.14), boundingbox2.cc (1.2): More tests added. 2002-06-13 Thursday 11:21 Enea Zaffanella * src/Polyhedron.inlines.hh (1.32), tests/Makefile.am (1.74), tests/boundingbox2.cc (1.1): A bug corrected in the constructor of a Polyhedron from a Box. Added a new test boundingbox2. 2002-06-13 Thursday 08:59 Roberto Bagnara * src/BoundingBox.hh (1.5): Fixed two bugs whereby call-by-value was used instead of call-by-reference. 2002-06-12 Wednesday 19:40 Roberto Bagnara * interfaces/Prolog/SWI/ppl_swiprolog.cc (1.38): ppl_new_Polyhedron_from_bounding_box/3 added. 2002-06-12 Wednesday 17:29 Patricia M. Hill * interfaces/Prolog/ppl_prolog.icc (1.40): A start in completing ppl_new_Polyhedron_from_bounding_box. 2002-06-12 Wednesday 15:39 Roberto Bagnara * interfaces/Prolog/SWI/: pl_clpq.cc (1.5), ppl_pl.cc (1.5), ppl_swiprolog.cc (1.37): Also uninstall() "returns" install_t. 2002-06-12 Wednesday 14:44 Roberto Bagnara * interfaces/Prolog/SWI/: pl_clpq.cc (1.4), ppl_pl.cc (1.4), ppl_swiprolog.cc (1.36): Make sure the library is always uninstalled. 2002-06-12 Wednesday 10:47 Roberto Bagnara * ppl.spec.in (1.11): Added file list for package gprolog. Updated file list for package swi. 2002-06-12 Wednesday 10:43 Roberto Bagnara * interfaces/Prolog/SWI/Makefile.am (1.17): Create dynamic libraries but link statically until we understand whether and if libtool can be made to interoperate with plld. 2002-06-12 Wednesday 10:43 Roberto Bagnara * interfaces/Prolog/GNU/Makefile.am (1.14): Create dynamic libraries but link statically until we understand whether and if libtool can be made to interoperate with gplc. 2002-06-12 Wednesday 08:45 Roberto Bagnara * interfaces/Prolog/Prolog_interface.dox (1.37): Started writing the documentation for the GNU Prolog interface. 2002-06-12 Wednesday 08:45 Roberto Bagnara * src/globals.hh (1.15): Document struct From_Bounding_Box. 2002-06-11 Tuesday 17:28 Enea Zaffanella * doc/definitions.dox (1.54): Added a few words on the double description method. Adjusted capitalizations. 2002-06-11 Tuesday 15:02 Enea Zaffanella * src/: GenSys.cc (1.52), Polyhedron.cc (1.174): Enforcing normalization of constraints and generators in Polyhedron methods strongly_minimize_generators(), add_generator(), time_elapse_assign() and topological_closure_assign(); the same for method GenSys::add_corresponding_closure_points(). 2002-06-11 Tuesday 12:40 Enea Zaffanella * src/: Constraint.cc (1.24), Constraint.defs.hh (1.53), Generator.cc (1.33): Added method Constraint::OK() to check for normalization of constraints. Added the same check to method Generator::OK(). 2002-06-11 Tuesday 11:54 Enea Zaffanella * src/: GenSys.cc (1.51), GenSys.defs.hh (1.58), GenSys.inlines.hh (1.18), Polyhedron.cc (1.173): Added method GenSys::const_iterator::skip_forward(): if the generator currently pointed is a closure point and the next generator is the point matching this closure point, then it skips to the next generator. This method is used to skip redundant closure points when iterating through strongly-minimized generator systems. Added note to Polyhedron::strongly_minimize_generators() stating that the approach is correct if the generator system is sorted. 2002-06-11 Tuesday 11:16 Enea Zaffanella * src/ConSys.defs.hh (1.43): Corrected comment to the method skip_forward(). 2002-06-11 Tuesday 11:15 Enea Zaffanella * src/: Constraint.inlines.hh (1.27), Generator.cc (1.32): Enforcing the normalization of constraints and generators. 2002-06-11 Tuesday 09:56 Enea Zaffanella * doc/: definitions.dox (1.53), ppl.sty (1.9): Better explaning affine transformations. 2002-06-11 Tuesday 09:19 Patricia M. Hill * interfaces/Prolog/: Prolog_interface.dox (1.36), pl_check.pl (1.9): Grammar for boxes and description of ppl_Polyhedron_get_bounding_box improved. 2002-06-11 Tuesday 08:41 Patricia M. Hill * doc/definitions.dox (1.52): Added a paragraph on topologies and topological compatibility. 2002-06-10 Monday 19:54 Roberto Bagnara * interfaces/Prolog/SICStus/Makefile.am (1.21): Fix packaging problem. 2002-06-10 Monday 19:53 Roberto Bagnara * tests/boundingbox1.cc (1.13): Updated so as to abide by the new interfaces. 2002-06-10 Monday 18:39 Roberto Bagnara * interfaces/C/ppl_c.cc (1.31), interfaces/C/ppl_c.h (1.27), src/BoundingBox.hh (1.4), src/ConSys.defs.hh (1.42), src/Polyhedron.defs.hh (1.110), src/Polyhedron.inlines.hh (1.31): This should be the final version of the interfaces for dealing with bounding boxes. 2002-06-10 Monday 18:05 Patricia M. Hill * doc/definitions.dox (1.51): Several improvements and a few corrections. 2002-06-10 Monday 17:30 Roberto Bagnara * src/: Polyhedron.defs.hh (1.109), Polyhedron.inlines.hh (1.30): Improvements to the documentation of template Polyhedron::Polyhedron(Topology topol, const Box& box). 2002-06-10 Monday 17:09 Patricia M. Hill * doc/definitions.dox (1.50): A first attempt to define intervals, boxes and bounding boxes. 2002-06-10 Monday 16:19 Enea Zaffanella * src/: Polyhedron.defs.hh (1.108), Polyhedron.inlines.hh (1.29): Finished the implementation of constructor template Polyhedron(Topology topol, const Box& box); Changed comments to require that class Box provides a method bool is_empty(); 2002-06-10 Monday 15:37 Patricia M. Hill * doc/definitions.dox (1.49): Minor improvements and bug fixed in paragraph on the generators representation. 2002-06-10 Monday 14:45 Roberto Bagnara * src/Polyhedron.inlines.hh (1.28): Avoid a couple of compiler's warnings. 2002-06-10 Monday 13:45 Patricia M. Hill * interfaces/Prolog/Prolog_interface.dox (1.35): Added grammar for intervals and description for ppl_Polyhedron_get_bounding_box/2 2002-06-10 Monday 11:45 Patricia M. Hill * tests/boundingbox1.cc (1.12): Now it exits with return value 1 if the boxes are not as expected. 2002-06-10 Monday 11:07 Roberto Bagnara * interfaces/Prolog/ppl_prolog.icc (1.39), src/BoundingBox.hh (1.3), src/ConSys.defs.hh (1.41), src/Constraint.defs.hh (1.52), src/GenSys.defs.hh (1.57): ppl_new_Polyhedron_from_bounding_box/3 sketched. Class Parma_Polyhedra_Library::BoundingBox fixed. Inserted several temporary kludges related to the interaction of templates, access control, and the way we produce ppl_install.hh. 2002-06-10 Monday 10:31 Patricia M. Hill * interfaces/Prolog/clpq2.pl (1.5): clpq2.pl now can handle strict constraints. 2002-06-10 Monday 10:13 Roberto Bagnara * src/BoundingBox.hh (1.2): Complete this implementation of bounding boxes. 2002-06-10 Monday 10:03 Roberto Bagnara * src/Polyhedron.defs.hh (1.107): Fix the comment fix. 2002-06-10 Monday 10:02 Roberto Bagnara * src/Polyhedron.defs.hh (1.106): Comment fixed. 2002-06-10 Monday 09:56 Roberto Bagnara * tests/boundingbox1.cc (1.11): Added operator==() and operator!=() for BInterval and BBox. 2002-06-10 Monday 09:40 Roberto Bagnara * interfaces/Prolog/ppl_prolog.icc (1.38): Formatting changes. 2002-06-10 Monday 09:13 Patricia M. Hill * tests/boundingbox1.cc (1.10): Further small improvements to test file boundingbox1.cc 2002-06-10 Monday 08:41 Patricia M. Hill * interfaces/Prolog/clpq2.pl (1.4), tests/boundingbox1.cc (1.9): boundingbox1.cc is improved but needs further testing. clpq2.pl now works with changed interface predicates. 2002-06-10 Monday 08:32 Roberto Bagnara * tests/print.hh (1.9): Only declarations here. 2002-06-09 Sunday 19:43 Roberto Bagnara * src/Polyhedron.defs.hh (1.105): Useless `explicit' qualification removed. 2002-06-09 Sunday 19:22 Roberto Bagnara * interfaces/Prolog/: Makefile.am (1.14), ppl_prolog.pl (1.4), GNU/Makefile.am (1.13), GNU/ppl_gprolog.pl (1.8), GNU/ppl_gprolog_sd.pl (1.11), SICStus/Makefile.am (1.20), SICStus/ppl_sicstus.pl (1.21), SICStus/ppl_sicstus_sd.pl (1.3): Reorganization due to the fact that ppl_prolog.pl was obsolete. 2002-06-09 Sunday 19:20 Roberto Bagnara * interfaces/C/ppl_c.cc (1.30): Use the new bounding box constructors. 2002-06-09 Sunday 19:14 Roberto Bagnara * src/: C_Polyhedron.defs.hh (1.5), C_Polyhedron.inlines.hh (1.4), NNC_Polyhedron.defs.hh (1.8), NNC_Polyhedron.inlines.hh (1.6), globals.hh (1.14): Differentiate the bounding box constructors for C_Polyhedron and NNC_Polyhedron from all the other constructors. 2002-06-09 Sunday 18:08 Roberto Bagnara * interfaces/Prolog/: Prolog_interface.dox (1.34), exceptions.hh (1.6), pl_check.pl (1.8), track_allocation.hh (1.4), Ciao/ppl_ciao.pl (1.9), GNU/gp_clpq.pl (1.5), GNU/ppl_gprolog_sd.pl (1.10), SICStus/ppl_sicstus_sd.pl (1.2), SICStus/sp_clpq.pl (1.4), SWI/pl_clpq.cc (1.3), SWI/pl_clpq.pl (1.3), SWI/ppl_pl.cc (1.3), YAP/ppl_yap.pl (1.4), YAP/yap_clpq.pl (1.2): Copyright and "no warranty" notices added. 2002-06-09 Sunday 16:55 Roberto Bagnara * ppl.lsm.in (1.3): Updated. 2002-06-09 Sunday 16:36 Roberto Bagnara * Watchdog/: Makefile.am (1.4), configure.ac (1.6): Consistent spelling for Autoconf and Automake. 2002-06-09 Sunday 16:34 Roberto Bagnara * configure.ac (1.46): Set CFLAGS properly. Quote systematically. 2002-06-09 Sunday 16:33 Roberto Bagnara * Watchdog/configure.ac (1.5): Set CFLAGS properly. Check for header files and library functions only if we are building the library. 2002-06-09 Sunday 16:15 Roberto Bagnara * configure.ac (1.45), Watchdog/configure.ac (1.4): Be more friendly to compilers different from GCC. 2002-06-09 Sunday 14:36 Roberto Bagnara * interfaces/C/: ppl_c.cc (1.29), ppl_c.h (1.26): Added ppl_new_C_Polyhedron_from_bounding_box() and ppl_new_NNC_Polyhedron_from_bounding_box(). 2002-06-09 Sunday 14:33 Roberto Bagnara * src/: C_Polyhedron.defs.hh (1.4), C_Polyhedron.inlines.hh (1.3), NNC_Polyhedron.defs.hh (1.7), NNC_Polyhedron.inlines.hh (1.5), Polyhedron.defs.hh (1.104), Polyhedron.inlines.hh (1.27): Added template C_Polyhedron::C_Polyhedron(const Box& box) and template NNC_Polyhedron::NNC_Polyhedron(const Box& box). Added the declaration and documentation and sketched the implementation of template Polyhedron::Polyhedron(Topology topol, const Box& box): these constructor allow to builds a polyhedron out of a generic, interval-based bounding box. Documentation of Polyhedron::shrink_bounding_box(Box& box) revised: we now promise to communicate rational numbers using fractions in canonical form. The fraction n/d is in canonical form if and only if n and d have no common factors and d is positive, 0/1 being the unique representation for zero. 2002-06-09 Sunday 12:31 Patricia M. Hill * doc/definitions.dox (1.48): Added definitions of "minimized" constraints and generators. 2002-06-09 Sunday 11:46 Patricia M. Hill * doc/definitions.dox (1.47): Further updating of the user manual to allow for NNC polyhedra. Minkowski's and Weil's theorems and some definitions moved to the developers part. 2002-06-09 Sunday 08:09 Roberto Bagnara * src/Interval.inlines.hh (1.2): Removed redundant and erroneous default argument specification. 2002-06-08 Saturday 17:41 Roberto Bagnara * interfaces/Prolog/: Interval.hh (1.3), Makefile.am (1.13), ppl_prolog.icc (1.37): Use the new implementation of bounding boxes. 2002-06-08 Saturday 17:40 Roberto Bagnara * tests/addconstraints2.cc (1.12): Shut up if not noisy. 2002-06-08 Saturday 17:39 Roberto Bagnara * src/: BoundingBox.hh (1.1), Interval.cc (1.1), Interval.defs.hh (1.1), Interval.inlines.hh (1.1), Interval.types.hh (1.1), Makefile.am (1.38): New implementation of bounding boxes. 2002-06-08 Saturday 17:23 Roberto Bagnara * tests/: Makefile.am (1.73), addconstraints2.cc (1.11), boundingbox1.cc (1.8), ehandlers.cc (1.1), ehandlers.hh (1.4), memory1.cc (1.2), print.cc (1.1), print.hh (1.8), smm1.cc (1.5), watchdog1.cc (1.7): Better implementation for auxiliary functions. Some more cleaning. 2002-06-08 Saturday 12:23 Roberto Bagnara * interfaces/Prolog/: Interval.hh (1.2), ppl_prolog.icc (1.36), Ciao/ppl_ciao.cc (1.9), Ciao/ppl_ciao.pl (1.8), GNU/gp_clpq.pl (1.4), GNU/ppl_gprolog_sd.pl (1.9), SICStus/ppl_sicstus_sd.cc (1.13), SWI/ppl_swiprolog.cc (1.35), YAP/ppl_yap.cc (1.24): Initial implementation for ppl_Polyhedron_get_bounding_box/2. ppl_init/0 removed (was an inferior duplicate of ppl_initialize/0). 2002-06-07 Friday 17:31 Patricia M. Hill * doc/definitions.dox (1.46): On-going reorganisation of introduction based on some of the items suggested by Enea. 2002-06-07 Friday 16:40 Roberto Bagnara * interfaces/Prolog/: exceptions.hh (1.5), ppl_prolog.icc (1.35): The function term_to_polyhedron_handle() replaces get_ph_pointer(). The new function either return a plausible polyhedron handle or throws the `not_a_polyhedron_handle' exception. All sites that used to call get_ph_pointer() have been consequently simplified. 2002-06-07 Friday 16:14 Roberto Bagnara * interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.12): Stub declarations fixed. 2002-06-07 Friday 14:23 Enea Zaffanella * src/Polyhedron.cc (1.172): Corrected a bug in strongly_minimize_constraints() whereby sat_c was declared up-to-date even if it was not the case. 2002-06-07 Friday 13:40 Enea Zaffanella * doc/: definitions.dox (1.45), ppl.sty (1.8): Some further step toward the reorganization of user-manual intro. 2002-06-07 Friday 13:33 Patricia M. Hill * interfaces/Prolog/Prolog_interface.dox (1.33): Documentation for the Prolog interface updated to allow for the change to more generic predicates. 2002-06-07 Friday 13:23 Enea Zaffanella * tests/exceptions2.cc (1.6): Typos fixed. 2002-06-07 Friday 12:02 Patricia M. Hill * interfaces/Prolog/: clpq.pl (1.8), pl_check.pl (1.7), ppl_prolog.icc (1.34), Ciao/ppl_ciao.pl (1.7), GNU/ppl_gprolog_sd.pl (1.8), SICStus/ppl_sicstus_sd.cc (1.11), SWI/ppl_swiprolog.cc (1.34), YAP/ppl_yap.cc (1.23): All predicates specific to C or NNC now removed and replaced by generic predicates. Documentation needs to be updated. 2002-06-07 Friday 11:38 Patricia M. Hill * interfaces/Prolog/: pl_check.pl (1.6), ppl_prolog.icc (1.33), SWI/ppl_swiprolog.cc (1.33): Predicates ppl_new_Polyhedron_from_Polyhedron/4, ppl_new_Polyhedron_from_ConSys/3, and ppl_new_Polyhedron_from_GenSys/3 added - just defined in SWI Prolog in this commit. 2002-06-07 Friday 11:10 Roberto Bagnara * interfaces/Prolog/Prolog_interface.dox (1.32): Explain how to enable polyhedra allocation tracking. 2002-06-07 Friday 10:59 Roberto Bagnara * interfaces/Prolog/ppl_prolog.icc (1.32): Creation and disposal of polyhedra is enabled only if explicitely requested. 2002-06-07 Friday 10:10 Roberto Bagnara * interfaces/Prolog/ppl_prolog.icc (1.31): Remove useless inclusion and using namespace directives. 2002-06-07 Friday 10:08 Roberto Bagnara * interfaces/Prolog/ppl_prolog.icc (1.30): Avoid quoting for better output. 2002-06-07 Friday 10:03 Roberto Bagnara * interfaces/Prolog/: exceptions.hh (1.4), ppl_prolog.icc (1.29): New internal_exception: not_a_polyhedron_kind. New function term_to_polyhedron_kind() replaces term_to_atom(). 2002-06-07 Friday 08:32 Roberto Bagnara * interfaces/Prolog/ppl_prolog.icc (1.28): `a_closed' renamed `a_c'. 2002-06-07 Friday 08:25 Roberto Bagnara * interfaces/Prolog/: ppl_prolog.icc (1.27), Ciao/ppl_ciao.cc (1.8), GNU/ppl_gprolog_sd.cc (1.4), SICStus/ppl_sicstus_sd.cc (1.10), SWI/ppl_swiprolog.cc (1.32), YAP/ppl_yap.cc (1.22): Prolog_get_name_arity() renamed Prolog_get_compound_name_arity(). 2002-06-07 Friday 08:17 Roberto Bagnara * interfaces/Prolog/: ppl_prolog.icc (1.26), Ciao/ppl_ciao.cc (1.7), GNU/ppl_gprolog_sd.cc (1.3), SICStus/ppl_sicstus_sd.cc (1.9), SWI/ppl_swiprolog.cc (1.31), YAP/ppl_yap.cc (1.21): Prolog_get_atom_name() added. 2002-06-07 Friday 07:19 Roberto Bagnara * interfaces/Prolog/: Ciao/ppl_ciao.cc (1.6), Ciao/ppl_ciao.pl (1.6), GNU/ppl_gprolog_sd.cc (1.2), SICStus/ppl_sicstus_sd.cc (1.8), SWI/ppl_swiprolog.cc (1.30), YAP/ppl_yap.cc (1.20): Prolog_is_atom() added. 2002-06-06 Thursday 18:30 Patricia M. Hill * interfaces/Prolog/: pl_check.pl (1.5), ppl_prolog.icc (1.25), SWI/ppl_swiprolog.cc (1.29): Added 2 generic predicates ppl_new_Polyhedron_from_dimension/3 and ppl_new_Polyhedron_empty_from_dimension/3 where the 1st argument must be c or nnc. The only Prolog system with interface changed is SWI. 2002-06-06 Thursday 17:45 Roberto Bagnara * ppl.spec.in (1.10): The `swi' package has now its `%files' section. 2002-06-06 Thursday 17:18 Roberto Bagnara * configure.ac (1.44): Version number bumped. 2002-06-06 Thursday 17:17 Roberto Bagnara * interfaces/Prolog/: Prolog_interface.dox (1.31), SWI/Makefile.am (1.16), SWI/pl_clpq.cc (1.2), SWI/ppl_pl.cc (1.2), SWI/ppl_swiprolog.cc (1.28): Support for SWI-Prolog completed and documented. 2002-06-06 Thursday 15:13 Enea Zaffanella * doc/definitions.dox (1.44): Slowly progressing. 2002-06-06 Thursday 12:46 Enea Zaffanella * doc/: definitions.dox (1.43), ppl.sty (1.7): Started rewriting the introduction to the user manual. 2002-06-06 Thursday 10:50 Roberto Bagnara * interfaces/Prolog/Prolog_interface.dox (1.30): Explained how to use the library from SICStus Prolog. 2002-06-06 Thursday 09:40 Elisa Ricci * src/: ConSys.defs.hh (1.40), Constraint.defs.hh (1.51), Generator.defs.hh (1.56), LinExpression.defs.hh (1.32), Matrix.defs.hh (1.24), Polyhedron.defs.hh (1.103), Row.defs.hh (1.42), SatMatrix.defs.hh (1.17), SatRow.defs.hh (1.13), Status.defs.hh (1.15): Now, a Doxygen comment is separated by an empty line from the C++ item that precedes it. 2002-06-05 Wednesday 22:34 Roberto Bagnara * interfaces/Prolog/SWI/: Makefile.am (1.15), ppl_pl.cc (1.1), pplpl.cc (1.2): Renamed pplpl.cc to ppl_pl.cc. 2002-06-05 Wednesday 22:18 Roberto Bagnara * ppl.spec.in (1.9): We will build several RPM packages out of our source tree. 2002-06-05 Wednesday 17:39 Roberto Bagnara * NEWS (1.23): Added support for timeout-guarded operations. 2002-06-05 Wednesday 17:28 Roberto Bagnara * tests/: Makefile.am (1.72), timings.cc (1.1), timings.hh (1.1), watchdog1.cc (1.6): When NOISY, watchdog1 prints the time after which the timeout exception has been received. 2002-06-05 Wednesday 17:25 Patricia M. Hill * interfaces/Prolog/Prolog_interface.dox (1.29): Added documentation for the minimized_constraints and minimized_generators predicates. Removed comments that SWI, GNU, YAP are not yet supported. 2002-06-05 Wednesday 17:12 Enea Zaffanella * interfaces/C/: ppl_c.cc (1.28), ppl_c.h (1.25): Added support for minimized_constraints() and minimized_generators() to the C interface. 2002-06-05 Wednesday 16:49 Enea Zaffanella * interfaces/Prolog/: ppl_prolog.icc (1.24), Ciao/ppl_ciao.pl (1.5), GNU/ppl_gprolog_sd.pl (1.7), SICStus/ppl_sicstus_sd.cc (1.7), SWI/ppl_swiprolog.cc (1.27), YAP/ppl_yap.cc (1.19): All Prolog interfaces now have methods for accessing the minimized constraint and generator systems. 2002-06-05 Wednesday 16:45 Roberto Bagnara * src/globals.hh (1.13): Simpler and more efficient implementation of Parma_Polyhedra_Library::maybe_abandon(). 2002-06-05 Wednesday 16:43 Roberto Bagnara * src/: conversion.cc (1.28), globals.hh (1.12): Documentation of `abandon_exponential_computations' changed: we now provide a quite strong guarantee, which is implemented in Polyhedron::conversion(). 2002-06-05 Wednesday 15:55 Enea Zaffanella * src/Polyhedron.defs.hh (1.102), tests/NNCminimize1.cc (1.3), tests/NNCminimize2.cc (1.3), tests/NNCminimize3.cc (1.3), tests/NNCminimize4.cc (1.5), tests/NNCminimize6.cc (1.4): Methods strongly_minimize(), strongly_minimize_constraints() and strongly_minimize_generators() are now private; tests changed to call the public methods minimized_constraints() and minimized_generators(), instead. 2002-06-05 Wednesday 15:37 Roberto Bagnara * NEWS (1.22): More news. 2002-06-05 Wednesday 14:42 Roberto Bagnara * NEWS (1.21): News items added. List sorted to match the (subjective) relative importance of the innovations. 2002-06-05 Wednesday 12:51 Roberto Bagnara * TODO (1.22): Removed some obsolete entries. 2002-06-05 Wednesday 12:49 Roberto Bagnara * NEWS (1.20): Mention the addition of the time-elapse operation. 2002-06-05 Wednesday 08:20 Roberto Bagnara * Makefile.am (1.19), configure.ac (1.43), doc/Makefile.am (1.18), interfaces/Makefile.am (1.5), interfaces/C/Makefile.am (1.8), interfaces/Prolog/Makefile.am (1.12), interfaces/Prolog/Ciao/Makefile.am (1.4), interfaces/Prolog/GNU/Makefile.am (1.12), interfaces/Prolog/SICStus/Makefile.am (1.19), interfaces/Prolog/SWI/Makefile.am (1.14), interfaces/Prolog/YAP/Makefile.am (1.7), m4/Makefile.am (1.6), src/Makefile.am (1.37), tests/Makefile.am (1.71): File description improved. 2002-06-05 Wednesday 08:13 Roberto Bagnara * Makefile.am (1.18): Improved formatting. 2002-06-04 Tuesday 20:48 Roberto Bagnara * config.guess (1.10), config.sub (1.9): Updated. 2002-06-04 Tuesday 18:08 Roberto Bagnara * INSTALL (1.3), ChangeLog (1.8): Updated. 2002-06-04 Tuesday 17:53 Roberto Bagnara * CREDITS (1.3): Updated. 2002-06-04 Tuesday 17:42 Roberto Bagnara * BUGS (1.2): Written. 2002-06-04 Tuesday 15:37 Roberto Bagnara * interfaces/Prolog/SWI/Makefile.am (1.13): Do not assume the library has already been installed. 2002-06-04 Tuesday 15:37 Roberto Bagnara * interfaces/Prolog/GNU/Makefile.am (1.11): Do not assume `.' is the first item of the current PATH. 2002-06-04 Tuesday 12:02 Roberto Bagnara * interfaces/Prolog/GNU/Makefile.am (1.10): No longer require that the library is already installed for a successful `make check'. 2002-05-31 Friday 11:28 Roberto Bagnara * config.h.in (1.14), configure.ac (1.42), interfaces/C/Makefile.am (1.7): Improvements in automatic configuration and make file generation. 2002-05-31 Friday 11:27 Roberto Bagnara * tests/: Makefile.am (1.70), memory1.cc (1.1): To test the allocation error recovery facility of the library. Not yet operational. 2002-05-31 Friday 11:26 Roberto Bagnara * tests/watchdog1.cc (1.5): Minor improvements. 2002-05-30 Thursday 16:42 Enea Zaffanella * src/Polyhedron.cc (1.171): Modified methos strongly_minimize() according to the recent findings by Pat. 2002-05-30 Thursday 15:39 Enea Zaffanella * src/Polyhedron.cc (1.170): In method strongly_minimize_constraints(), corrected handling of the sorted flag for the constraint system and of the changed boolean flag. 2002-05-30 Thursday 15:30 Enea Zaffanella * src/Polyhedron.cc (1.169): In methods strongly_minimize_*(), keeping track of whether or not we modify the considered system. If there has been no changes, the dual system is not flagged as out-of-date at the end of the method. 2002-05-30 Thursday 11:01 Enea Zaffanella * src/Polyhedron.cc (1.168): The method strongly_minimize_generators() now forces all point encodings to have the same epsilon-coordinate (which is 1). 2002-05-29 Wednesday 18:11 Patricia M. Hill * interfaces/Prolog/: Prolog_interface.dox (1.28), pl_check.pl (1.4): Documentation now introduces the C and NNC polyhedra. The grammar rules allow for strict inequalities and closure points. The test file has minor improvements; checking that redundant strict inequalities are ignored when creating a C polyhedron as a copy of an NNC polyhedra. 2002-05-29 Wednesday 15:53 Enea Zaffanella * tests/: NNCminimize1.cc (1.2), NNCminimize2.cc (1.2), NNCminimize3.cc (1.2), NNCminimize4.cc (1.4), NNCminimize6.cc (1.3): Methods NNC_minimize* renamed as strongly_minimize* 2002-05-29 Wednesday 15:53 Enea Zaffanella * src/: Polyhedron.cc (1.167), Polyhedron.defs.hh (1.101): Methods NNC_minimize* renamed as strongly_minimize* and implemented (almost) according to the technical report Q286. When strongly minimizing a constraint system, we now always remove any eps-upper-bound constraint and we later insert back the constraint eps-leq-one only if that is needed to obtain an epsilon-representation. 2002-05-29 Wednesday 07:58 Roberto Bagnara * tests/: NNCinclusion1.cc (1.2), NNCminimize6.cc (1.2), boundingbox1.cc (1.7), watchdog1.cc (1.4), widening2.cc (1.2): Be quiet. 2002-05-28 Tuesday 16:35 Enea Zaffanella * src/Polyhedron.cc (1.166): Several simplifications in strong minmization of constraints and generators and in check for topological closure of a NNC polyhedron. 2002-05-28 Tuesday 16:34 Enea Zaffanella * src/: Generator.cc (1.31), Generator.defs.hh (1.55): Method is_corresponding_closure_point() renamed as is_matching_closure_point(). 2002-05-28 Tuesday 13:07 Roberto Bagnara * .cvsignore (1.5), Watchdog/.cvsignore (1.2), interfaces/C/.cvsignore (1.2), interfaces/Prolog/ppl_prolog.icc (1.23), interfaces/Prolog/SICStus/.cvsignore (1.2): For those building in the sources' tree. 2002-05-28 Tuesday 13:01 Roberto Bagnara * tests/watchdog1.cc (1.3): Adapted to the new version of the Watchdog library and "abandon" mechanism. 2002-05-28 Tuesday 12:59 Roberto Bagnara * src/: globals.cc (1.7), globals.hh (1.11): Improved implementation of the "abandon" mechanism. 2002-05-28 Tuesday 12:58 Roberto Bagnara * Watchdog/: Watchdog.cc (1.4), Watchdog.defs.hh (1.2), Watchdog.inlines.hh (1.2): Better implementation using templates. 2002-05-28 Tuesday 12:12 Elisa Ricci * src/Polyhedron.cc (1.165): Corrected an error in Polyhedron::topological_closure_assign(): if we modify the system of constraints or of generators, it is no longer minimized. 2002-05-27 Monday 17:19 Patricia M. Hill * interfaces/Prolog/: pl_check.pl (1.3), ppl_prolog.icc (1.22): Bug in ppl_prolog.icc corrected. Tests in pl_check.pl amended to use poly_hull and poly_difference instead of convex_hull and convex_difference. 2002-05-27 Monday 16:10 Roberto Bagnara * src/.cvsignore (1.5): For those that build in the source directory. 2002-05-27 Monday 16:07 Roberto Bagnara * src/ppl_header.bottom (1.4): Undefine all autoconf macros. 2002-05-27 Monday 16:04 Roberto Bagnara * interfaces/C/Makefile.am (1.6), interfaces/Prolog/Ciao/Makefile.am (1.3), interfaces/Prolog/GNU/Makefile.am (1.9), interfaces/Prolog/SICStus/Makefile.am (1.18), interfaces/Prolog/SWI/Makefile.am (1.12), interfaces/Prolog/YAP/Makefile.am (1.6), src/Makefile.am (1.36): INCLUDES is deprecated: use AM_CPPFLAGS instead. 2002-05-27 Monday 16:01 Roberto Bagnara * tests/: Makefile.am (1.69), watchdog1.cc (1.2): Stress test for the timeout facility. 2002-05-27 Monday 15:57 Roberto Bagnara * Watchdog/: Makefile.am (1.3), README (1.3), Timeout.hh (1.3), Watchdog.cc (1.3), Watchdog.defs.hh (1.1), Watchdog.hh (1.3), Watchdog.inlines.hh (1.1), Watchdog.types.hh (1.1), configure.ac (1.3), pwl_filter_doxygen.sed (1.1), pwl_filter_install.sed (1.1), pwl_header.bottom (1.1), pwl_header.middle (1.1), pwl_header.top (1.1): The Watchdog library is now complete. 2002-05-27 Monday 13:21 Patricia M. Hill * interfaces/Prolog/Prolog_interface.dox (1.27): Prolog interface predicates and their names in the documentation now agree with each other. 2002-05-26 Sunday 14:36 Roberto Bagnara * src/Polyhedron.cc (1.164): Assertion fixed in time_elapse_assign(). 2002-05-26 Sunday 14:32 Roberto Bagnara * src/Polyhedron.cc (1.163): Properly identify time_elapse_assign() when throwing an exception from there. 2002-05-25 Saturday 18:59 Roberto Bagnara * src/: Makefile.am (1.35), Row.cc (1.36), SatMatrix.cc (1.16), maxmin.hh (1.3): Baking our own versions of max() and min() was a bad idea. 2002-05-25 Saturday 16:26 Elisa Ricci * src/Polyhedron.cc (1.162), src/Polyhedron.defs.hh (1.100), tests/timeelapse1.cc (1.2), tests/timeelapse2.cc (1.2), tests/timeelapse3.cc (1.2), tests/timeelapse4.cc (1.2): Changed the function Polyhedron::time_elapse_assign() so that only polyhedra that are topology-compatible can be used and modified the tests so that the polyhedra satisfy this condition. 2002-05-24 Friday 11:49 Enea Zaffanella * src/Polyhedron.cc (1.161): Corrected method topological_closure_assign(): inserting the constraint eps_leq_one after modifying the polyhedron to enforce the epsilon upper bound. 2002-05-24 Friday 10:34 Elisa Ricci * src/Constraint.cc (1.23): Corrected an error in the function Constraint::is_trivial_true(): a strict inequality such as `lhs - k > 0' can not be trivial true if `k' is a non negative integer. 2002-05-24 Friday 07:27 Roberto Bagnara * configure.ac (1.41), tests/Makefile.am (1.68), tests/watchdog1.cc (1.1): Prepare for testing the timeout facility. 2002-05-24 Friday 07:26 Roberto Bagnara * Makefile.am (1.17): If we are building the Watchdog library, make sure it is built before entering the `tests' directory. 2002-05-24 Friday 07:25 Roberto Bagnara * Watchdog/: Makefile.am (1.2), README (1.2), Timeout.hh (1.2), Watchdog.cc (1.2), Watchdog.hh (1.2), config.h.in (1.2), configure.ac (1.2): Several improvement (but still not operational). 2002-05-24 Friday 07:15 Roberto Bagnara * interfaces/Prolog/Prolog_interface.dox (1.26): Be more specific about how to use the library in SICStus Prolog. 2002-05-23 Thursday 10:49 Roberto Bagnara * tests/widening2.cc (1.1): widening2.cc shows a precision problem in Polyhedron::widening_assign(). 2002-05-23 Thursday 09:50 Roberto Bagnara * tests/Makefile.am (1.67): widening2.cc shows a precision problem in Polyhedron::widening_assign(). 2002-05-22 Wednesday 13:37 Roberto Bagnara * src/globals.cc (1.6): Definition of abandon_exponential_computations fixed again. 2002-05-22 Wednesday 13:24 Roberto Bagnara * src/conversion.cc (1.27): Added a call to maybe_abandon(): this is supposed to be called on all the exponential paths within the library and, in such paths, invocations to it should be separated from one another by a distance that is bounded from above by a polynomial of the size of the input to conversion(). 2002-05-22 Wednesday 13:16 Roberto Bagnara * src/globals.cc (1.5): Definition of abandon_exponential_computations fixed. 2002-05-22 Wednesday 11:53 Enea Zaffanella * tests/: convexdifference1.cc (1.10), convexhull1.cc (1.7), convexhull2.cc (1.6), convexhull3.cc (1.6), convexhull4.cc (1.5), randchull1.cc (1.15): Removed and replaced by tests named "poly*". 2002-05-22 Wednesday 11:52 Enea Zaffanella * tests/: Makefile.am (1.66), NNCminimize5.cc (1.2), append1.cc (1.11), append2.cc (1.12), exceptions1.cc (1.8), permute.cc (1.16), polydifference1.cc (1.1), polyhull1.cc (1.1), polyhull2.cc (1.1), polyhull3.cc (1.1), polyhull4.cc (1.1), randchull1.cc (1.14), randphull1.cc (1.1), widening1.cc (1.4): Renaming convex-hull into poly-hull. 2002-05-22 Wednesday 11:50 Enea Zaffanella * src/Polyhedron.cc (1.160), src/Polyhedron.defs.hh (1.99), interfaces/C/ppl_c.cc (1.27), interfaces/C/ppl_c.h (1.24), interfaces/Prolog/Prolog_interface.dox (1.25), interfaces/Prolog/pl_check.pl (1.2), interfaces/Prolog/ppl_prolog.icc (1.21), interfaces/Prolog/Ciao/ppl_ciao.pl (1.4), interfaces/Prolog/GNU/ppl_gprolog_sd.pl (1.6), interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.6), interfaces/Prolog/SWI/ppl_swiprolog.cc (1.26), interfaces/Prolog/YAP/ppl_yap.cc (1.18): Renamed convex-hull into poly-hull. 2002-05-22 Wednesday 11:32 Roberto Bagnara * interfaces/Prolog/SWI/Makefile.am (1.11): Build the SWI Prolog interface only if SWI Prolog is installed. 2002-05-22 Wednesday 11:02 Roberto Bagnara * Makefile.am (1.16), configure.ac (1.40), Watchdog/.cvsignore (1.1), Watchdog/BUGS (1.1), Watchdog/COPYING (1.1), Watchdog/CREDITS (1.1), Watchdog/ChangeLog (1.1), Watchdog/INSTALL (1.1), Watchdog/Makefile.am (1.1), Watchdog/NEWS (1.1), Watchdog/README (1.1), Watchdog/Timeout.hh (1.1), Watchdog/Watchdog.cc (1.1), Watchdog/Watchdog.hh (1.1), Watchdog/config.h.in (1.1), Watchdog/configure.ac (1.1): Even though the Watchdog library is completely independent from the PPL, it will live with it, at least for a while. 2002-05-22 Wednesday 08:56 Roberto Bagnara * src/: Makefile.am (1.34), globals.cc (1.4), globals.hh (1.10): New timeout mechanisms. 2002-05-22 Wednesday 08:29 Roberto Bagnara * src/Polyhedron.cc (1.159): Typo fixed. 2002-05-22 Wednesday 08:25 Roberto Bagnara * src/GenSys.cc (1.50): Useless emphasis removed. 2002-05-22 Wednesday 08:22 Roberto Bagnara * interfaces/Prolog/: Makefile.am (1.11), Ciao/Makefile.am (1.2): Compile also the Ciao Prolog interface, if Ciao Prolog is available. 2002-05-22 Wednesday 08:15 Roberto Bagnara * doc/: devref-browse.doxyconf-latex.in (1.16), devref-print.doxyconf-latex.in (1.16), devref.doxyconf-html.in (1.17): Fixes and additions for the developer's documentation of Prolog interfaces. 2002-05-18 Saturday 16:56 Elisa Ricci * src/Polyhedron.cc (1.158), src/Polyhedron.defs.hh (1.98), tests/Makefile.am (1.65), tests/exceptions1.cc (1.7), tests/timeelapse1.cc (1.1), tests/timeelapse2.cc (1.1), tests/timeelapse3.cc (1.1), tests/timeelapse4.cc (1.1), tests/timeelapse5.cc (1.1): Added the function void time_elapse_assign(const Polyhedron&) and some tests for it. 2002-05-17 Friday 07:23 Roberto Bagnara * interfaces/Prolog/YAP/ppl_yap.cc (1.17): Commented out statement removed. 2002-05-17 Friday 07:22 Roberto Bagnara * interfaces/Prolog/Ciao/: .cvsignore (1.1), Makefile.am (1.1), ppl_ciao.cc (1.5): Rewritten using the interface provided by Ciao Prolog 1.8 (still not operational). 2002-05-14 Tuesday 09:38 Patricia M. Hill * interfaces/Prolog/pl_check.pl (1.1): pl_check.pl can be used to run all the interface predicates with simple tests. 2002-05-14 Tuesday 09:08 Patricia M. Hill * interfaces/Prolog/: clpq.pl (1.7), ppl_prolog.icc (1.20), GNU/ppl_gprolog_sd.pl (1.5), SICStus/ppl_sicstus_sd.cc (1.5), SWI/ppl_swiprolog.cc (1.25), YAP/ppl_yap.cc (1.16): All interface predicates now renamed and completed apart from shrink_bounding_box predicate. 2002-05-13 Monday 18:17 Patricia M. Hill * interfaces/Prolog/: ppl_prolog.icc (1.19), GNU/ppl_gprolog_sd.pl (1.4), SICStus/ppl_sicstus_sd.cc (1.4), SWI/ppl_swiprolog.cc (1.24), YAP/ppl_yap.cc (1.15): Prolog interface predicates for removing dimensions renamed. 2002-05-13 Monday 17:58 Patricia M. Hill * interfaces/Prolog/: ppl_prolog.icc (1.18), ppl_prolog.pl (1.3), GNU/ppl_gprolog_sd.pl (1.3), SICStus/ppl_sicstus_sd.cc (1.3), SWI/ppl_swiprolog.cc (1.23), YAP/ppl_yap.cc (1.14): The "add" predicates renamed or added to the Prolog interface. 2002-05-13 Monday 15:23 Patricia M. Hill * interfaces/Prolog/: clpq.pl (1.6), ppl_prolog.icc (1.17), GNU/ppl_gprolog_sd.pl (1.2), SICStus/ppl_sicstus_sd.cc (1.2), SWI/ppl_swiprolog.cc (1.22), YAP/ppl_yap.cc (1.13): More interface predicates updated for NNC polyhedra 2002-05-13 Monday 10:39 Roberto Bagnara * Makefile.am (1.15), configure.ac (1.39): Use --enable-shared when making distcheck. Make sure we really have the Prolog systems. 2002-05-13 Monday 10:37 Roberto Bagnara * interfaces/Prolog/: Makefile.am (1.10), ppl_prolog.icc (1.16): Always enter subdirectories. Source file ppl_prolog.icc is a C++ file. 2002-05-13 Monday 10:36 Roberto Bagnara * interfaces/Prolog/GNU/: Makefile.am (1.8), ppl_gprolog.cc (1.13), ppl_gprolog.pl (1.7), ppl_gprolog_sd.cc (1.1), ppl_gprolog_sd.pl (1.1): Cleaned up. 2002-05-13 Monday 10:34 Roberto Bagnara * interfaces/Prolog/SICStus/: Makefile.am (1.17), ppl_sicstus.cc (1.54), ppl_sicstus.pl (1.20), ppl_sicstus_sd.cc (1.1), ppl_sicstus_sd.pl (1.1), sp_clpq.pl (1.3): Cleaned up: works both with static and dynamic linking. 2002-05-13 Monday 10:32 Roberto Bagnara * interfaces/Prolog/YAP/: Makefile.am (1.5), ppl_yap.cc (1.12), ppl_yap.pl (1.3): Cleaned up, but still not operational. 2002-05-10 Friday 13:01 Roberto Bagnara * configure.ac (1.38), interfaces/Prolog/SICStus/Makefile.am (1.16): Some Progress with the SICStus interface. 2002-04-28 Sunday 22:29 Roberto Bagnara * src/Polyhedron.inlines.hh (1.26): Formatting change. 2002-04-24 Wednesday 21:49 Roberto Bagnara * interfaces/Prolog/ppl_prolog.icc (1.15): Fixed two declarations of std::ostringstream's. 2002-04-20 Saturday 22:52 Patricia M. Hill * src/Polyhedron.inlines.hh (1.25), tests/boundingbox1.cc (1.6): shrink_bounding_box now works for NNC polyhedra defined both with and without strict inequalites. The test file boundingbox1.cc has been also updated to deal with NNC polyhedra. Extra tests have been added to check the changes. 2002-04-19 Friday 17:20 Patricia M. Hill * interfaces/Prolog/ppl_prolog.icc (1.14): Now including the closure points in the list of generators is ok when creating new polyhedra from lists of generators in the Prolog interface. 2002-04-19 Friday 16:23 Patricia M. Hill * interfaces/Prolog/: ppl_prolog.icc (1.13), GNU/ppl_gprolog.pl (1.6): Predicates for GNU Prolog brought in line with the Prolog interface. 2002-04-19 Friday 15:18 Roberto Bagnara * interfaces/Prolog/ppl_prolog.icc (1.12): Now constraint_term() supports strict inequalities. 2002-04-19 Friday 15:03 Roberto Bagnara * tests/inclusion1.cc (1.2): Be quiet. 2002-04-19 Friday 14:58 Roberto Bagnara * interfaces/Prolog/ppl_prolog.icc (1.11): a_strictly_greater_than and a_strictly_less_than renamed a_greater_than and a_less_than. 2002-04-19 Friday 14:50 Roberto Bagnara * interfaces/Prolog/ppl_prolog.icc (1.10): Throw an exception instead of aborting in generator_term(). 2002-04-19 Friday 14:13 Roberto Bagnara * interfaces/Prolog/: ppl_prolog.icc (1.9), GNU/ppl_gprolog.cc (1.12), SICStus/ppl_sicstus.cc (1.53), SWI/ppl_swiprolog.cc (1.21), YAP/ppl_yap.cc (1.11): General cleanup. 2002-04-19 Friday 13:45 Patricia M. Hill * interfaces/Prolog/: clpq.pl (1.5), ppl_prolog.icc (1.8): The order of arguments in the revised predicates is input followed by output. The ppl_prolog.icc now has code to handle strict inequalities and closure points. clpq.pl has been updated to use the revised predicates. 2002-04-19 Friday 11:52 Roberto Bagnara * interfaces/Prolog/SWI/ppl_swiprolog.cc (1.20): ppl_delete_polyhedron/2 renamed ppl_delete_Polyhedron/2. 2002-04-19 Friday 11:44 Patricia M. Hill * interfaces/Prolog/: ppl_prolog.icc (1.7), SICStus/ppl_sicstus.cc (1.52), SWI/ppl_swiprolog.cc (1.19), YAP/ppl_yap.cc (1.10): The code for ppl_new_NNC_Polyhedron_from_GenSys uncommented. 2002-04-19 Friday 10:45 Roberto Bagnara * interfaces/Prolog/: ppl_prolog.icc (1.6), SICStus/ppl_sicstus.cc (1.51), SWI/ppl_swiprolog.cc (1.18): ppl_delete_polyhedron renamed ppl_delete_Polyhedron. SP_STUB_0 macro fixed. 2002-04-19 Friday 10:44 Roberto Bagnara * interfaces/Prolog/YAP/ppl_yap.cc (1.9): Added missing semicolons. 2002-04-19 Friday 10:17 Patricia M. Hill * interfaces/Prolog/ppl_prolog.icc (1.5): In the copy methods/predicates the arguments have been reversed to match the corresponding ones in the C interface. Now the 1st argument unifies with a handle for the new polyhedron and the 2nd argument is the handle for the source/original polyhedron. Predicates affected are: ppl_new_C_Polyhedron_from_C_Polyhedron, ppl_new_NNC_Polyhedron_from_NNC_Polyhedron, ppl_new_C_Polyhedron_from_NNC_Polyhedron, ppl_new_NNC_Polyhedron_from_C_Polyhedron. 2002-04-19 Friday 10:03 Patricia M. Hill * interfaces/Prolog/: ppl_prolog.icc (1.4), SICStus/ppl_sicstus.cc (1.50), SWI/ppl_swiprolog.cc (1.17), YAP/ppl_yap.cc (1.8): Predicates: ppl_new_C_Polyhedron_from_ConSys, ppl_new_NNC_Polyhedron_from_ConSys, ppl_new_C_Polyhedron_from_GenSys added. 2002-04-19 Friday 08:34 Patricia M. Hill * interfaces/Prolog/: ppl_prolog.icc (1.3), SICStus/ppl_sicstus.cc (1.49), SWI/ppl_swiprolog.cc (1.16), YAP/ppl_yap.cc (1.7): The new, new_empty and copy predicates have been replaced by ones that allow for C and NNC polyhedra to match the same methods in the C interface. Propositions ppl_initialize and ppl_finalize added. 2002-04-16 Tuesday 09:53 Enea Zaffanella * src/Polyhedron.cc (1.157): Test NNCminimize6 has shown that our check for topological closure was relying on a false invariant (namely, that in a weakly minimized constraint system any strict inequality can be made redundant by another strict inequality only). Corrected the implementation of is_topologically_closed(). 2002-04-15 Monday 10:00 Enea Zaffanella * src/ConSys.cc (1.33): Corrected a memory allocation bug in ConSys::insert(const Constraint& c). Now test NNCminimize6 shows that the strong minimization of constraints for NNC polyhedra does not fully minimize constraint systems, yet. 2002-04-15 Monday 09:57 Enea Zaffanella * tests/: Makefile.am (1.64), NNCminimize6.cc (1.1): Example NNCminimize6 shows a memory allocation bug in method ConSys::insert(const Constraint&). 2002-04-14 Sunday 17:11 Roberto Bagnara * src/Generator.cc (1.30): Avoid redundant test. 2002-04-14 Sunday 17:11 Roberto Bagnara * src/Constraint.cc (1.22): Factorize some calls to operator<<(std::ostream&, ...). 2002-04-13 Saturday 19:02 Roberto Bagnara * src/Polyhedron.inlines.hh (1.24): Avoid shadowing in Polyhedron::shrink_bounding_box(). 2002-04-12 Friday 20:54 Enea Zaffanella * tests/: Makefile.am (1.63), NNCminimize4.cc (1.3), NNCminimize5.cc (1.1): Test NNCminimize5 is a fake test showing that strong minimization problems can arise even when the user is only allowed to interact using constraint systems. 2002-04-12 Friday 20:50 Enea Zaffanella * src/Polyhedron.cc (1.156): When performing strong minimization of constraints, no longer preventing the removal of the \esilon \leq 1 constraint. This modification is justified by the relaxation of the invariant on the class Generator, where we no longer require the coordinate of \epsilon to be \leq 1. 2002-04-12 Friday 09:18 Roberto Bagnara * config.guess (1.9), config.sub (1.8): Updated. 2002-04-11 Thursday 18:32 Roberto Bagnara * interfaces/Prolog/: Interval.hh (1.1), Makefile.am (1.9), ppl_prolog.icc (1.2): Progress in the implementation of ppl_get_bounding_box(). 2002-04-11 Thursday 18:30 Roberto Bagnara * interfaces/Prolog/: Makefile.am (1.8), ppl_prolog.icc (1.1), ppl_prolog.outlines.hh (1.26), GNU/ppl_gprolog.cc (1.11), SICStus/ppl_sicstus.cc (1.48), SWI/ppl_swiprolog.cc (1.15), YAP/ppl_yap.cc (1.6): The file `ppl_prolog.outlines.hh' has been renamed `ppl_prolog.icc'. 2002-04-10 Wednesday 12:28 Enea Zaffanella * src/Generator.cc (1.29): The OK() function for Generator no longer checks that, for points, the epsilon coordinate is less than or equal to 1 (because strong minimization does not maintain this invariant). 2002-04-10 Wednesday 10:13 Roberto Bagnara * interfaces/Prolog/: SICStus/ppl_sicstus.cc (1.47), SWI/ppl_swiprolog.cc (1.14), YAP/ppl_yap.cc (1.5): Provided the ppl_Prolog_sysdep_init() hook for system-dependent initialization. 2002-04-10 Wednesday 10:12 Roberto Bagnara * interfaces/Prolog/GNU/ppl_gprolog.cc (1.10): Prolog_raise_exception() implemented. Provided the ppl_Prolog_sysdep_init() hook for system-dependent initialization. 2002-04-10 Wednesday 10:06 Roberto Bagnara * interfaces/Prolog/ppl_prolog.outlines.hh (1.25): Started playing with the ppl_get_bounding_box() interface function. 2002-04-09 Tuesday 18:19 Enea Zaffanella * src/: Polyhedron.cc (1.155), Polyhedron.defs.hh (1.97): Added methods const ConSys& Polyhedron::minimized_constraints() const; const GenSys& Polyhedron::minimized_generators() const; together with the corresponding (unoptimized) implementations. 2002-04-08 Monday 22:35 Enea Zaffanella * src/Polyhedron.cc (1.154): Typo fixed. 2002-04-08 Monday 22:31 Enea Zaffanella * src/: GenSys.cc (1.49), GenSys.defs.hh (1.56), Polyhedron.cc (1.153), Polyhedron.defs.hh (1.96): Added first draft for the method Polyhedron::topological_closure_assign(). Also added method GenSys::add_corresponding_points(). 2002-04-07 Sunday 15:09 Roberto Bagnara * interfaces/C/: ppl_c.cc (1.26), ppl_c.h (1.23): Two bugs fixed. The swap functions have been removed. 2002-04-07 Sunday 13:44 Roberto Bagnara * src/Polyhedron.cc (1.152): Avoid an inconsistent mixture of useless emphasizers. 2002-04-07 Sunday 13:42 Roberto Bagnara * tests/: Makefile.am (1.62), inclusion1.cc (1.1): Test C_Polyhedron::operator<=(). 2002-04-07 Sunday 12:13 Roberto Bagnara * tests/: exceptions1.cc (1.6), exceptions2.cc (1.5): Replace "impossible" with "illegal" when the latter was meant. 2002-04-07 Sunday 12:08 Roberto Bagnara * src/Polyhedron.cc (1.151): There is no such a thing as the reduced scalar product operator^. 2002-04-06 Saturday 08:01 Roberto Bagnara * m4/ac_check_gmp.m4 (1.4): Fixed two instances of the use of an inexistent GMP assignment operator from `char*'. These gave no error because of the C++ pointer to `bool' conversion feature and because GMP had an assignment operator from `bool'. 2002-04-05 Friday 12:55 Patricia M. Hill * tests/boundingbox1.cc (1.5): Improved printed results: now says "none" when the denominator of the bound is 0. 2002-04-05 Friday 12:36 Patricia M. Hill * src/Polyhedron.inlines.hh (1.23), tests/boundingbox1.cc (1.4): The dimension() method removed from BBox. 2002-04-05 Friday 10:38 Patricia M. Hill * src/Polyhedron.inlines.hh (1.22), tests/boundingbox1.cc (1.3): In Polyhedron.inlines.hh: shrink_bounding_box now handles the empty polyhedron correctly. In boundingbox1.cc: BBox and Interval improved and many tests added. 2002-04-04 Thursday 14:21 Patricia M. Hill * src/Polyhedron.inlines.hh (1.21): Initial implementation of Polyhedron::shrink_bounding_box(). 2002-04-04 Thursday 13:43 Enea Zaffanella * src/: ConSys.cc (1.32), GenSys.cc (1.48), Polyhedron.cc (1.150), Row.cc (1.35), Row.defs.hh (1.41): PPL::operator^(const Row&, const Row&) renamed as "reduced_scalar_product". 2002-04-04 Thursday 12:20 Roberto Bagnara * tests/boundingbox1.cc (1.2): Use a more concrete bounding-box class. 2002-04-04 Thursday 11:01 Enea Zaffanella * doc/: devref-browse.doxyconf-latex.in (1.15), devref-print.doxyconf-latex.in (1.15), devref.doxyconf-html.in (1.16): Configuration files updated after class names changes. 2002-04-04 Thursday 11:00 Enea Zaffanella * src/PolyBase.types.hh (1.3): Forgot to remove this one. 2002-04-04 Thursday 10:26 Enea Zaffanella * src/: PolyBase.cc (1.25), PolyBase.defs.hh (1.17), PolyBase.inlines.hh (1.5): Getting rid of these old files. 2002-04-04 Thursday 10:22 Enea Zaffanella * src/: Polyhedron.cc (1.149), Polyhedron.defs.hh (1.95), Polyhedron.inlines.hh (1.20): All functions created to throw exceptions are now private methods of the class Polyhedron. Exception messages modified to reflect the changes in the names of the classes and in the names of methods (e.g., add_constraint instead of insert). Added topology-compatibility test to method swap(Polyhedron& y). In all public methods, we now first check for topology inconsistencies, then we check for dimension inconsistencies. 2002-04-04 Thursday 10:11 Roberto Bagnara * interfaces/C/: ppl_c.cc (1.25), ppl_c.h (1.22): Add copy-conversion functions. 2002-04-04 Thursday 08:46 Roberto Bagnara * interfaces/C/: ppl_c.cc (1.24), ppl_c.h (1.21): Basic interface for the NNC polyhedra. 2002-04-03 Wednesday 19:33 Roberto Bagnara * interfaces/: C/ppl_c.cc (1.23), Prolog/ppl_prolog.outlines.hh (1.24): Allow the manipulation of closed polyhedra only (for the moment). 2002-04-03 Wednesday 19:31 Roberto Bagnara * src/Polyhedron.defs.hh (1.94): Make the destructor public (for the moment). 2002-04-03 Wednesday 18:26 Enea Zaffanella * src/Polyhedron.defs.hh (1.93): Modified doxygen comments to account for the possibility of exceptions caused by incompatible topologies. 2002-04-03 Wednesday 17:15 Enea Zaffanella * src/C_Polyhedron.types.hh (1.2): Cutted (redundant) brief namespace description to avoid a Doxygen warning. 2002-04-03 Wednesday 17:10 Enea Zaffanella * src/: Row.defs.hh (1.40), Row.inlines.hh (1.20): Some cleaning in the Row::Type class: - removed the useless static methods; - the constants NNC and RPI are now tied to the Topology and Row::Kind enumerations. 2002-04-03 Wednesday 15:36 Enea Zaffanella * src/: Polyhedron.cc (1.148), Polyhedron.defs.hh (1.92): All the assertions regarding topology compatibility (but those inside the non-public methods) replaced by run-time checks so that, When identifying a topology mismatch, we now throw an exception. Since wrapper classes C_Polyhedron and NNC_Polyhedron will not override the methods of base class Polyhedron (they will just inherit them), all implementation specific members of Polyhedron, apart from the constructors and assignment, are now declared "private" instead of "protected". 2002-04-03 Wednesday 15:04 Roberto Bagnara * tests/: Makefile.am (1.61), boundingbox1.cc (1.1): To test Polyhedron::shrink_bounding_box(). 2002-04-03 Wednesday 12:29 Enea Zaffanella * src/: C_Polyhedron.defs.hh (1.3), NNC_Polyhedron.cc (1.8), NNC_Polyhedron.defs.hh (1.6), Polyhedron.cc (1.147), Polyhedron.defs.hh (1.91): The method bool is_topologycally_closed() const; is now a method of the _base_ class Polyhedron, trivially returning true if the polyhedron is necessarily closed. 2002-04-03 Wednesday 11:49 Enea Zaffanella * src/C_Polyhedron.cc (1.2), src/C_Polyhedron.defs.hh (1.2), src/C_Polyhedron.inlines.hh (1.2), src/Makefile.am (1.33), src/NNC_Polyhedron.cc (1.7), src/NNC_Polyhedron.defs.hh (1.5), src/NNC_Polyhedron.inlines.hh (1.4), src/Polyhedron.cc (1.146), src/Polyhedron.defs.hh (1.90), src/Polyhedron.inlines.hh (1.19), src/conversion.cc (1.26), src/minimize.cc (1.20), src/simplify.cc (1.15), tests/print.hh (1.7): Base class PolyBase renamed (back) as Polyhedron. 2002-04-03 Wednesday 10:52 Enea Zaffanella * src/Makefile.am (1.32), src/NNC_Polyhedron.cc (1.6), src/NNC_Polyhedron.defs.hh (1.4), tests/addconstraints1.cc (1.6), tests/addconstraints10.cc (1.5), tests/addconstraints11.cc (1.6), tests/addconstraints2.cc (1.10), tests/addconstraints3.cc (1.3), tests/addconstraints4.cc (1.5), tests/addconstraints5.cc (1.6), tests/addconstraints6.cc (1.7), tests/addconstraints7.cc (1.6), tests/addconstraints8.cc (1.6), tests/addconstraints9.cc (1.7), tests/adddimensions1.cc (1.8), tests/adddimensions2.cc (1.4), tests/adddimensions3.cc (1.6), tests/adddimensions4.cc (1.4), tests/addgenerators1.cc (1.7), tests/addgenerators2.cc (1.7), tests/addgenerators3.cc (1.6), tests/addgenerators4.cc (1.6), tests/addgenerators5.cc (1.6), tests/addgenerators6.cc (1.6), tests/addgenerators7.cc (1.2), tests/affineimage1.cc (1.6), tests/affineimage2.cc (1.5), tests/affinepreimage1.cc (1.5), tests/affinepreimage2.cc (1.5), tests/affinepreimage3.cc (1.5), tests/affinepreimage4.cc (1.6), tests/affinetrans.cc (1.9), tests/append1.cc (1.10), tests/append2.cc (1.11), tests/bounded1.cc (1.3), tests/convexdifference1.cc (1.9), tests/convexhull1.cc (1.6), tests/convexhull2.cc (1.5), tests/convexhull3.cc (1.5), tests/convexhull4.cc (1.4), tests/empty1.cc (1.7), tests/exceptions1.cc (1.5), tests/exceptions2.cc (1.4), tests/generators1.cc (1.5), tests/generators2.cc (1.2), tests/inters1.cc (1.10), tests/inters2.cc (1.13), tests/inters3.cc (1.6), tests/inters4.cc (1.5), tests/inters5.cc (1.7), tests/inters6.cc (1.6), tests/inters7.cc (1.3), tests/limitedwidening1.cc (1.7), tests/limitedwidening2.cc (1.4), tests/onepoint.cc (1.5), tests/permute.cc (1.15), tests/randchull1.cc (1.13), tests/relations1.cc (1.3), tests/relations2.cc (1.4), tests/relations3.cc (1.4), tests/relations4.cc (1.4), tests/relations5.cc (1.4), tests/relations6.cc (1.3), tests/relations7.cc (1.3), tests/relations8.cc (1.3), tests/relations9.cc (1.4), tests/removedim1.cc (1.5), tests/removedim2.cc (1.9), tests/removedim3.cc (1.5), tests/removedim4.cc (1.6), tests/removedim5.cc (1.4), tests/removedim6.cc (1.5), tests/smm1.cc (1.4), tests/universe1.cc (1.3), tests/universe2.cc (1.4), tests/universe3.cc (1.4), tests/universe4.cc (1.4), tests/universe5.cc (1.5), tests/widening1.cc (1.3): Wrapper class Polyhedron renamed as C_Polyhedron. All test programs modified accordingly. 2002-04-03 Wednesday 10:48 Enea Zaffanella * src/: C_Polyhedron.cc (1.1), C_Polyhedron.defs.hh (1.1), C_Polyhedron.inlines.hh (1.1), C_Polyhedron.types.hh (1.1): Added wrapper class C_Polyhedron to implement necessarily closed polyhedra. 2002-04-02 Tuesday 19:25 Enea Zaffanella * src/PolyBase.cc (1.24), tests/addconstraints6.cc (1.6): Corrected stupid bugs related to a misinterpretation of the value returned by minimize(). 2002-04-02 Tuesday 18:10 Roberto Bagnara * interfaces/C/: ppl_c.cc (1.22), ppl_c.h (1.20): All the *_and_minimize functions return a positive integer if the reulting polyhedron is non-empty; they return 0 if it is empty (and, as usual, return a negative number if an error occurred). 2002-04-02 Tuesday 17:41 Enea Zaffanella * TODO (1.21): Dealt with the first item (the *_and_minimize one). 2002-04-02 Tuesday 17:40 Enea Zaffanella * src/: PolyBase.cc (1.23), PolyBase.defs.hh (1.16): All the public methods of PolyBase whose name ends in "_and_minimize" now return a boolean value (which is `false' iff the resulting polyhedron is empty). 2002-04-02 Tuesday 16:48 Elisa Ricci * tests/: Makefile.am (1.60), removedim7.cc (1.1), universe6.cc (1.1): Added a test for the functions remove_higher_dimensions() and remove_dimensions() and one for the function check_universe for NNC_Polyhedron. 2002-04-02 Tuesday 16:43 Elisa Ricci * tests/exceptions1.cc (1.4): Added a test to show when an exception is thrown in the function convex_difference_assign(ph). 2002-04-02 Tuesday 12:08 Elisa Ricci * tests/: Makefile.am (1.59), adddimensions5.cc (1.1), adddimensions6.cc (1.1), adddimensions7.cc (1.1): Added tests for the functions add_dimensions_and_embed and add_dimensions_and_project for NNC_Polyhedron. 2002-04-02 Tuesday 09:43 Elisa Ricci * tests/: Makefile.am (1.58), addgenerators7.cc (1.1), print.hh (1.6): Add a test for the function add_generators_and_minimize(gs) for a NNC_Polyhedron. Changed the functions to print the polyhedra so that they can be used to print also for the NNC polyhedra. 2002-04-02 Tuesday 08:19 Roberto Bagnara * src/PolyBase.cc (1.22): Some nonsense removed from PolyBase::affine_image() and PolyBase::affine_preimage(). 2002-04-02 Tuesday 08:07 Roberto Bagnara * src/PolyBase.cc (1.21): PolyBase::limited_widening_assign() fixed: it was not checking the return value of PolyBase::update_generators(). 2002-03-31 Sunday 23:20 Roberto Bagnara * TODO (1.20), interfaces/C/Makefile.am (1.5), interfaces/C/ppl_c.cc (1.21), interfaces/Prolog/Prolog_interface.dox (1.24), interfaces/Prolog/ppl_prolog.outlines.hh (1.23), interfaces/Prolog/ppl_prolog.pl (1.2), interfaces/Prolog/Ciao/ppl_ciao.cc (1.4), interfaces/Prolog/Ciao/ppl_ciao.pl (1.3), interfaces/Prolog/GNU/ppl_gprolog.pl (1.5), interfaces/Prolog/SICStus/ppl_sicstus.cc (1.46), interfaces/Prolog/SWI/ppl_swiprolog.cc (1.13), interfaces/Prolog/YAP/ppl_yap.cc (1.4), src/PolyBase.cc (1.20), src/PolyBase.defs.hh (1.15), tests/addconstraints11.cc (1.5), tests/addconstraints2.cc (1.9), tests/addconstraints4.cc (1.4), tests/addconstraints6.cc (1.5), tests/addconstraints7.cc (1.5), tests/addconstraints8.cc (1.5), tests/addconstraints9.cc (1.6), tests/adddimensions1.cc (1.7), tests/adddimensions3.cc (1.5), tests/addgenerators1.cc (1.6), tests/addgenerators2.cc (1.6), tests/addgenerators3.cc (1.5), tests/addgenerators4.cc (1.5), tests/addgenerators5.cc (1.5), tests/addgenerators6.cc (1.5), tests/affineimage1.cc (1.5), tests/affineimage2.cc (1.4), tests/affinepreimage2.cc (1.4), tests/affinepreimage3.cc (1.4), tests/affinepreimage4.cc (1.5), tests/append1.cc (1.9), tests/append2.cc (1.10), tests/bounded1.cc (1.2), tests/convexhull3.cc (1.4), tests/convexhull4.cc (1.3), tests/exceptions1.cc (1.3), tests/exceptions2.cc (1.3), tests/inters1.cc (1.9), tests/inters2.cc (1.12), tests/inters3.cc (1.5), tests/inters4.cc (1.4), tests/inters5.cc (1.6), tests/inters6.cc (1.5), tests/inters7.cc (1.2), tests/limitedwidening1.cc (1.6), tests/onepoint.cc (1.4), tests/permute.cc (1.14), tests/randchull1.cc (1.12), tests/relations9.cc (1.3), tests/removedim6.cc (1.4), tests/smm1.cc (1.3), tests/universe2.cc (1.3), tests/universe3.cc (1.3), tests/universe4.cc (1.3), tests/universe5.cc (1.4), tests/widening1.cc (1.2): Renamed Polyhedron::insert(const Constraint&) to Polyhedron::add_constraint(const Constraint&). Likewise, renamed Polyhedron::insert(const Generator&) to Polyhedron::add_generator(const Generator&). 2002-03-31 Sunday 21:35 Roberto Bagnara * configure.ac (1.37), interfaces/C/Makefile.am (1.4): Added a first starting draft of `lpenum', a program to solve linear programming problems by vertex/point enumeration. Just a toy to test the C interface of the library. 2002-03-31 Sunday 20:55 Roberto Bagnara * src/: Generator.cc (1.28), Matrix.cc (1.36), PolyBase.cc (1.19), Row.cc (1.34), SatMatrix.cc (1.15): All the OK() methods are now silent if the NDEBUG symbol is defined. 2002-03-31 Sunday 19:26 Roberto Bagnara * src/PolyBase.cc (1.18): Always provide default cases in switches. 2002-03-31 Sunday 19:19 Roberto Bagnara * src/: ConSys.defs.hh (1.39), ConSys.inlines.hh (1.16), Constraint.inlines.hh (1.26), GenSys.defs.hh (1.55), GenSys.inlines.hh (1.17), Generator.inlines.hh (1.26), Matrix.cc (1.35), Matrix.defs.hh (1.23), Matrix.inlines.hh (1.21), PolyBase.cc (1.17), PolyBase.defs.hh (1.14), Row.defs.hh (1.39), Row.inlines.hh (1.19): Do not shadow the members of *this. 2002-03-31 Sunday 11:45 Roberto Bagnara * src/PolyBase.cc (1.16): Started exploiting the return value of PolyBase::minimize(). 2002-03-31 Sunday 11:42 Roberto Bagnara * tests/: Makefile.am (1.57), widening1.cc (1.1): Test Polyhedron::widening_assign() with empty polyhedra. 2002-03-31 Sunday 10:31 Roberto Bagnara * src/PolyBase.cc (1.15): PolyBase::intersection_assign_and_minimize() fixed. 2002-03-31 Sunday 10:10 Roberto Bagnara * tests/: Makefile.am (1.56), inters7.cc (1.1): Test Polyhedron::intersection_assign_and_minimize() with empty polyhedra (exposes bugs in the current implementation of that method). 2002-03-31 Sunday 10:06 Roberto Bagnara * src/: PolyBase.cc (1.14), PolyBase.defs.hh (1.13): PolyBase::minimize() now returns a Boolean: false if and only if *this turns out to be empty. Handling of empty polyhedra fixed in PolyBase::convex_hull_assign_and_minimize(). 2002-03-31 Sunday 09:58 Roberto Bagnara * tests/convexhull4.cc (1.2): Exercise PolyBase::convex_hull_assign_and_minimize() with empty polyhedra in all possible ways (exposes more bugs in the current PolyBase implementation). 2002-03-31 Sunday 08:49 Roberto Bagnara * src/PolyBase.cc (1.13): PolyBase::convex_hull_assign_and_minimize() fixed. 2002-03-31 Sunday 00:40 Roberto Bagnara * tests/: Makefile.am (1.55), convexhull4.cc (1.1): Test Polyhedron::convex_hull_assign_and_minimize() with an empty parameter polyhedron. 2002-03-30 Saturday 22:56 Roberto Bagnara * interfaces/C/: ppl_c.cc (1.20), ppl_c.h (1.19): New interface functions. 2002-03-30 Saturday 15:39 Roberto Bagnara * src/: PolyBase.cc (1.12), PolyBase.defs.hh (1.12): PolyBase::generators() fixed: no longer ignoring the return value of PolyBase::update_generators(). 2002-03-30 Saturday 11:51 Enea Zaffanella * src/PolyBase.cc (1.11): Corrected bugs in methods insert(g), add_generators(gs) and add_generators_and_minimize(gs): in the case of NNC topology, we were not adding the closure points corresponding to each added point. 2002-03-30 Saturday 11:48 Enea Zaffanella * src/: GenSys.cc (1.47), GenSys.defs.hh (1.54): Added method GenSys::add_corresponding_closure_points(). 2002-03-30 Saturday 11:39 Roberto Bagnara * interfaces/C/: ppl_c.cc (1.19), ppl_c.h (1.18): Fixed ppl_assign_Coefficient_from_mpz_t() and ppl_Generator_type(). 2002-03-30 Saturday 10:42 Roberto Bagnara * interfaces/C/: ppl_c.cc (1.18), ppl_c.h (1.17): More functions to deal with coefficients. New function to get the type of a generator. 2002-03-30 Saturday 10:41 Roberto Bagnara * src/PolyBase.inlines.hh (1.4): Added an empty implementation for PolyBase::shrink_bounding_box(). 2002-03-30 Saturday 10:39 Roberto Bagnara * tests/: Makefile.am (1.54), generators2.cc (1.1): New test computing the generators of an empty polyhedron. 2002-03-30 Saturday 09:07 Roberto Bagnara * interfaces/C/: ppl_c.cc (1.17), ppl_c.h (1.16): New functions and bug fixes. 2002-03-29 Friday 14:51 Enea Zaffanella * src/PolyBase.cc (1.10), src/PolyBase.defs.hh (1.11), tests/NNCminimize4.cc (1.2): Added methods NNC_minimize_generators() and NNC_minimize_constraints(), which enforce NNC-minimization on only one system. They have a common kernel, which might be factored out in a "generic" NNC-minimization function (something like the simplify() method). Now test NNCminimize4.cc uses the (more lazy) NNC_minimize_constraints() function. 2002-03-29 Friday 10:14 Enea Zaffanella * tests/: Makefile.am (1.53), NNCminimize4.cc (1.1): New test put under CVS control. 2002-03-28 Thursday 22:08 Roberto Bagnara * interfaces/C/: ppl_c.cc (1.16), ppl_c.h (1.15): ppl_Polyhedron_shrink_bounding_box() added to the C interface. 2002-03-28 Thursday 20:07 Enea Zaffanella * src/: Generator.cc (1.27), Generator.defs.hh (1.54), Matrix.cc (1.34), NNC_Polyhedron.cc (1.5), PolyBase.cc (1.9): Added method bool Generator::is_corresponding_closure_point(const Generator&) const; Methods NNC_Polyhedron::is_necessarily_closed() and PolyBase::NNC_minimize() updated to use the above method; this also corrects a bug in the previous implementations. Added a \param Doxygen command in Matrix.cc to avoid a warning. 2002-03-28 Thursday 16:46 Roberto Bagnara * src/PolyBase.defs.hh (1.10): Redeclared `shrink_bounding_box' as template void shrink_bounding_box(Box& box) const; the previous declaration was too concrete. 2002-03-28 Thursday 16:13 Roberto Bagnara * src/PolyBase.defs.hh (1.9): Added the declaration and documentation of template void shrink_bounding_box(std::vector& box) const. 2002-03-28 Thursday 15:42 Enea Zaffanella * tests/: Makefile.am (1.52), NNCinclusion1.cc (1.1), NNCminimize1.cc (1.1), NNCminimize2.cc (1.1), NNCminimize3.cc (1.1): Added a test on the inclusion method for NNC_Polyhedron and three tests for the full minimization of NNC_Polyhedron. 2002-03-28 Thursday 15:40 Enea Zaffanella * src/: PolyBase.cc (1.8), PolyBase.defs.hh (1.8): Added method PolyBase::NNC_minimize() performing "full" minimization of constraint and generator systems of a NNC_Polyhedron. Temporarily public for testing and debugging purposes. 2002-03-28 Thursday 15:37 Enea Zaffanella * src/Generator.cc (1.26): Printing closure points as c(lin-expr). 2002-03-28 Thursday 09:53 Enea Zaffanella * src/: ConSys.cc (1.31), GenSys.cc (1.46): Methods get() and print() of classes ConSys and GenSys modified in order to: - read (and print) the new kinds of constraint/generators types; - check for the correspondence between declared and actual row types when reading them in; - check for the well-formedness of the read ConSys/GenSys, using OK(). 2002-03-27 Wednesday 19:22 Roberto Bagnara * NEWS (1.19), TODO (1.19): Updated. 2002-03-27 Wednesday 19:12 Roberto Bagnara * TODO (1.18), interfaces/C/ppl_c.cc (1.15), interfaces/Prolog/ppl_prolog.outlines.hh (1.22), src/Constraint.defs.hh (1.50), src/Constraint.inlines.hh (1.25), src/Generator.inlines.hh (1.25), src/Row.defs.hh (1.38), src/Row.inlines.hh (1.18): Constraint::coefficient(void) and Row::coefficient(void) renamed to Constraint::inhomogeneous_term(void) and Row::inhomogeneous_term(void). 2002-03-27 Wednesday 18:54 Roberto Bagnara * src/PolyBase.defs.hh (1.7): Documentation for PolyBase::OK() improved. 2002-03-27 Wednesday 18:45 Roberto Bagnara * TODO (1.17), interfaces/C/ppl_c.cc (1.14), src/NNC_Polyhedron.cc (1.4), src/PolyBase.cc (1.7), src/PolyBase.defs.hh (1.6), src/Polyhedron.cc (1.145): Now the default for PolyBase::OK() is not to check for non-emptiness. This is more consistent since OK() without arguments now checks for well-formedness only as all the other methods with the same name. Use OK(true) if you want the extra service of non-emptiness checking. 2002-03-27 Wednesday 18:08 Enea Zaffanella * src/: ConSys.cc (1.30), ConSys.defs.hh (1.38), Constraint.cc (1.21), Constraint.defs.hh (1.49), Constraint.inlines.hh (1.24), GenSys.cc (1.45), GenSys.defs.hh (1.53), Generator.cc (1.25), LinExpression.defs.hh (1.31), Matrix.cc (1.33), Matrix.defs.hh (1.22), Matrix.inlines.hh (1.20), NNC_Polyhedron.cc (1.3), NNC_Polyhedron.inlines.hh (1.3), PolyBase.cc (1.6), PolyBase.defs.hh (1.5), Poly_Con_Relation.defs.hh (1.5), Poly_Gen_Relation.defs.hh (1.5), Row.defs.hh (1.37), Row.inlines.hh (1.17), Topology.hh (1.3): Replaced everywhere "non_necessarily_closed" by "not_necessarily_closed". Improved the documentation of class Constraint to consider examples using strict inequalities. Added brief description for classes Poly_xxx_Relation and for the const_iterators of ConSys and GenSys. 2002-03-27 Wednesday 16:43 Roberto Bagnara * src/PolyBase.cc (1.5): PolyBase::OK(bool check_not_empty) was disregarding its argument in some cases. This bug was hiding two bogus assertions in PolyBase::add_constraints() and PolyBase::add_constraints_and_minimize(). 2002-03-27 Wednesday 16:42 Roberto Bagnara * tests/addconstraints1.cc (1.5): Unused variable removed. 2002-03-27 Wednesday 16:03 Enea Zaffanella * src/: NNC_Polyhedron.defs.hh (1.3), Polyhedron.defs.hh (1.89): Removed duplicate documentation stuff from Polyhedron.defs.hh. Documented constructors of classes Polyhedron and NNC_Polyhedron. Provided a brief explanation of the reason why we do have 2 classes. 2002-03-27 Wednesday 15:37 Roberto Bagnara * TODO (1.16): At a closer scrutiny, the and tags are actually superior to any other alternative. Remove the TODO item that suggested not to use them. 2002-03-27 Wednesday 12:01 Enea Zaffanella * src/: ConSys.defs.hh (1.37), GenSys.defs.hh (1.52), Generator.defs.hh (1.53), PolyBase.defs.hh (1.4), Row.cc (1.33): Started adjusting the documentation to made it aware of the new kind of constraints and generators. Corrected a couple of docuementation problems causing Doxygen warnings. 2002-03-27 Wednesday 10:05 Enea Zaffanella * src/PolyBase.cc (1.4): One FIXME removed: was related to an efficiency concern where we really do not have any efficiency problem. 2002-03-27 Wednesday 08:58 Roberto Bagnara * src/: GenSys.cc (1.44), PolyBase.cc (1.3): Merged the changes made to the `strict' branch after yesterday's merge. 2002-03-27 Wednesday 08:52 Roberto Bagnara * TODO (1.15), src/ConSys.defs.hh (1.36), src/ConSys.inlines.hh (1.15), src/Constraint.defs.hh (1.48), src/Constraint.inlines.hh (1.23), src/GenSys.defs.hh (1.51), src/GenSys.inlines.hh (1.16), src/Generator.defs.hh (1.52), src/Generator.inlines.hh (1.24), src/Integer.defs.hh (1.3), src/LinExpression.defs.hh (1.30), src/LinExpression.inlines.hh (1.14), src/Matrix.defs.hh (1.21), src/Matrix.inlines.hh (1.19), src/PolyBase.defs.hh (1.3), src/PolyBase.inlines.hh (1.3), src/Row.defs.hh (1.36), src/Row.inlines.hh (1.16), src/SatMatrix.defs.hh (1.16), src/SatMatrix.inlines.hh (1.10), src/SatRow.defs.hh (1.12), src/SatRow.inlines.hh (1.12): Added a specialization of the the std:swap() function for LinExpression. Solved several documentation and stylistic issues concerning our specializations of std::swap(). 2002-03-27 Wednesday 08:21 Enea Zaffanella * src/: GenSys.cc, PolyBase.cc (strict.[13,31]): Method GenSys::relation_with(c) now supports all the possible combinations of topology and type for both *this and the constraint parameter c. 2002-03-27 Wednesday 08:07 Roberto Bagnara * TODO (1.14), src/Constraint.defs.hh (1.47), src/Generator.defs.hh (1.51): Avoid using \enum when it is not strictly necessary. 2002-03-26 Tuesday 23:56 Roberto Bagnara * doc/devref-browse.doxyconf-latex.in (1.14), doc/devref-print.doxyconf-latex.in (1.14), doc/devref.doxyconf-html.in (1.15), interfaces/Prolog/GNU/ppl_gprolog.pl (1.4), src/ConSys.cc (1.29), src/ConSys.defs.hh (1.35), src/ConSys.inlines.hh (1.14), src/Constraint.cc (1.20), src/Constraint.defs.hh (1.46), src/Constraint.inlines.hh (1.22), src/GenSys.cc (1.43), src/GenSys.defs.hh (1.50), src/GenSys.inlines.hh (1.15), src/Generator.cc (1.24), src/Generator.defs.hh (1.50), src/Generator.inlines.hh (1.23), src/LinExpression.cc (1.11), src/LinExpression.defs.hh (1.29), src/LinExpression.inlines.hh (1.13), src/Makefile.am (1.31), src/Matrix.cc (1.32), src/Matrix.defs.hh (1.20), src/Matrix.inlines.hh (1.18), src/NNC_Polyhedron.cc (1.2), src/NNC_Polyhedron.defs.hh (1.2), src/NNC_Polyhedron.inlines.hh (1.2), src/NNC_Polyhedron.types.hh (1.2), src/PolyBase.cc (1.2), src/PolyBase.defs.hh (1.2), src/PolyBase.inlines.hh (1.2), src/PolyBase.types.hh (1.2), src/Polyhedron.cc (1.144), src/Polyhedron.defs.hh (1.88), src/Polyhedron.inlines.hh (1.18), src/Row.cc (1.32), src/Row.defs.hh (1.35), src/Row.inlines.hh (1.15), src/Topology.hh (1.2), src/conversion.cc (1.25), src/minimize.cc (1.19), src/simplify.cc (1.14), tests/Makefile.am (1.51), tests/exceptions2.cc (1.2), tests/relations9.cc (1.2): The `strict' branch has been merged. 2002-03-26 Tuesday 21:00 Roberto Bagnara * interfaces/C/: ppl_c.cc (1.13), ppl_c.h (1.14): Implemented the error handling and reporting mechanisms. Many other improvements. 2002-03-26 Tuesday 19:17 Roberto Bagnara * src/minimize.cc (1.18): Throw `std::runtime_error' instead of `std::invalid_argument'. Removed the inclusion of two unneeded header. 2002-03-26 Tuesday 18:16 Roberto Bagnara * interfaces/C/: Makefile.am (1.3), ppl_c.cc (1.12), ppl_c.h (1.13): All the interface functions should be there now. 2002-03-26 Tuesday 17:54 Elisa Ricci * src/: GenSys.cc, Polyhedron.cc, Polyhedron.defs.hh, minimize.cc (positive.[2,6,4,12]): Some changes in the part controlled by "POSITIVE_TRANSFORMATION". 2002-03-26 Tuesday 17:35 Enea Zaffanella * src/GenSys.cc (strict.12): Some progresses in the generalization of method GenSys::relation_with(c) to work with a NNC system of generators. 2002-03-26 Tuesday 17:23 Patricia M. Hill * interfaces/Prolog/Prolog_interface.dox (1.23): Refer to handles rather than addresses. 2002-03-26 Tuesday 16:41 Elisa Ricci * tests/exceptions2.cc (strict.3): Added other two tests to show when an exception is thrown. 2002-03-26 Tuesday 16:15 Roberto Bagnara * src/LinExpression.defs.hh (1.28): Friend declarations fixed. 2002-03-26 Tuesday 16:06 Enea Zaffanella * src/Poly_Con_Relation.inlines.hh (strict.1): Bug (related to operator precedence) corrected in method implies(). 2002-03-26 Tuesday 14:34 Enea Zaffanella * tests/: Makefile.am, relations9.cc (strict.[2,1]): Test relations9 calls method PolyBase::relation_with(c) when *this is a necessarily closed polyhedron and c is a strict inequality. 2002-03-26 Tuesday 13:58 Enea Zaffanella * src/: GenSys.cc, PolyBase.cc (strict.[11,30]): Methods PolyBase::relation_with(c) and GenSys::relation_with(c) modified to work as expected when *this.topology() == NECESSARILY_CLOSED and the c.type() == STRICT_INEQUALITY. 2002-03-26 Tuesday 11:34 Enea Zaffanella * src/: ConSys.cc, GenSys.cc, PolyBase.cc, PolyBase.defs.hh (strict.[13,10,29,9]): Some cleaning in ConSys/GenSys methods adjust_topology_and_dimension(). Adjusted a few comments and removed a few FIXME and CHECKME notes. 2002-03-26 Tuesday 11:06 Roberto Bagnara * TODO (1.13): More things to do after the `strict' merge. 2002-03-26 Tuesday 11:05 Patricia M. Hill * interfaces/Prolog/: GNU/ppl_gprolog.pl (1.3), SICStus/ppl_sicstus.cc (1.45), YAP/ppl_yap.cc (1.3): Update so that they are all consistent with each other and SWI 2002-03-25 Monday 21:21 Enea Zaffanella * src/: NNC_Polyhedron.cc, NNC_Polyhedron.defs.hh, PolyBase.defs.hh, Polyhedron.cc, Polyhedron.defs.hh (strict.[3,3,8,4,4]): Added explicit constructors (to be used as conversion functions) for building a Polyhedron starting from a NNC_Polyhedron, and viceversa. Added method bool NNC_Polyhedron::is_topologucally_closed() used in the above constructor to check if the argument is legal. NNC_Polyhedron::limited_widening_assign() reimplemented using the new constructor functions. 2002-03-25 Monday 21:17 Enea Zaffanella * src/PolyBase.cc (strict.28): Corrected a bug in the assignment operator, which was not clearing matrices when a zero-dim polyhedron was assigned. 2002-03-25 Monday 19:43 Roberto Bagnara * TODO (1.12): More things to do after the merge with the `strict' branch. 2002-03-25 Monday 19:40 Roberto Bagnara * interfaces/C/: ppl_c.cc (1.11), ppl_c.h (1.12): More interface functions added. 2002-03-25 Monday 17:08 Roberto Bagnara * interfaces/C/: ppl_c.cc (1.10), ppl_c.h (1.11): Widenings added. 2002-03-25 Monday 17:01 Enea Zaffanella * src/: NNC_Polyhedron.cc, NNC_Polyhedron.defs.hh (strict.[2,2]): Method limited_widening_assign() overridden in NNC_Polyhedron to avoid an annoying problem when testing with china. 2002-03-25 Monday 17:00 Enea Zaffanella * src/PolyBase.cc (strict.27): When looping on constraints in widening_assign(), now going upward so as to avoid reversing the ordering of constraints. 2002-03-25 Monday 16:57 Roberto Bagnara * interfaces/C/: ppl_c.cc (1.9), ppl_c.h (1.10): Added an interface for the Polyhedron::relation_with() methods. 2002-03-25 Monday 16:57 Patricia M. Hill * interfaces/Prolog/SWI/ppl_swiprolog.cc (1.12): Predicate add_dimensions_and_constraints/2 added. 2002-03-25 Monday 16:56 Enea Zaffanella * src/ConSys.cc (strict.12): Trivially true constraints (such as 1 > 0, the eps_leq_one constraint) should not be considered by method "has_strict_inequalities()". 2002-03-25 Monday 15:59 Roberto Bagnara * src/: Poly_Gen_Relation.defs.hh (1.4), Poly_Gen_Relation.inlines.hh (1.5): Provide a hidden Poly_Gen_Relation::get_flags() method for use by the foreign language interfaces. 2002-03-25 Monday 15:51 Roberto Bagnara * src/: Poly_Con_Relation.defs.hh (1.4), Poly_Con_Relation.inlines.hh (1.5): Provide a hidden Poly_Con_Relation::get_flags() method for use by the foreign language interfaces. 2002-03-25 Monday 15:50 Roberto Bagnara * src/: Polyhedron.cc (1.143), Polyhedron.defs.hh (1.87): Both Polyhedron::relation_with() methods were erroneously not declared const. 2002-03-25 Monday 14:55 Roberto Bagnara * interfaces/C/: ppl_c.cc (1.8), ppl_c.h (1.9): Added more interface functions for ordinary polyhedra. 2002-03-24 Sunday 21:07 Enea Zaffanella * src/PolyBase.cc (strict.26): Coorected trivial bug in check_universe(). 2002-03-24 Sunday 20:29 Roberto Bagnara * interfaces/C/: ppl_c.cc (1.7), ppl_c.h (1.8): All the functionality provided by the C++ classes Constraint, ConSys, Generator and GenSys is now available to the C user. 2002-03-24 Sunday 20:02 Enea Zaffanella * src/PolyBase.cc (strict.25): Method check_universe() is now correct for NNC polyhedra. Try to exploit the boolean value returned by update_generators() to shorthen computations when possible. 2002-03-24 Sunday 16:32 Enea Zaffanella * src/: PolyBase.cc, PolyBase.defs.hh (strict.[24,7]): Methods obtain_sorted_constraints(), obtain_sorted_generators(), obtain_sorted_constraints_with_sat_c(), obtain_sorted_generators_with_sat_g() now declared const, since they do not logically modify the polyhedron. As a consequence, simplified (by removing the const_cast's) the methods constraints(), generators(), intersection_assign(), convex_hull_assign(), convex_hull_assign_and_minimize(). 2002-03-24 Sunday 15:12 Roberto Bagnara * interfaces/C/: ppl_c.cc (1.6), ppl_c.h (1.7): Added all the functions for the handling of generators and generators' systems. 2002-03-24 Sunday 10:15 Enea Zaffanella * src/PolyBase.cc (strict.23): Patched method convex_hull_assign(). The error (not correctly handling the sorting of gen_sys rows for the parameter y) was NOT related to the changes done in the strict branch. Changed (detailed) doxygen comments for the methods obtain_sorted_constraints() and obtain_sorted_generators(). 2002-03-23 Saturday 19:05 Roberto Bagnara * interfaces/C/: ppl_c.cc (1.5), ppl_c.h (1.6): Finished the implementation of const iterators for constraints. 2002-03-23 Saturday 14:06 Roberto Bagnara * config.h.in (1.13), configure.ac (1.36): Support C compilers that do not support `const' and/or `inline'. 2002-03-23 Saturday 14:03 Roberto Bagnara * interfaces/C/: ppl_c.cc (1.4), ppl_c.h (1.5): Started interfacing ConSys::const_iterator. 2002-03-23 Saturday 14:00 Roberto Bagnara * interfaces/Prolog/GNU/: Makefile.am (1.7), gp_clpq.pl (1.3), ppl_gprolog.cc (1.9): The GNU Prolog interface is finally operational. The problem was that a GNU Prolog integer is not wide enough to hold a memory address: now memory addresses are represented by terms of the form `[u1|u2]' where `u1' and `u2' are GNU Prolog integers. 2002-03-23 Saturday 13:58 Roberto Bagnara * interfaces/Prolog/track_allocation.hh (1.3): This was always commented out due to a typo. Missing qualification added. 2002-03-22 Friday 20:18 Enea Zaffanella * src/ConSys.cc (strict.11): Method satisfies_all_constraints(g) reimplemented to work with NNC polyhedra and to correctly deal with potential (legal) topology mismatches. As a consequence, now PolyBase::relation_with(g) also works for NNC polyhedra and/or an NNC generator parameter g. 2002-03-22 Friday 20:15 Enea Zaffanella * src/PolyBase.cc (strict.22): The inclusion operator<= re-implemented: - using the new scalaro product operator ^ when appropriate; - changed the order of the two nested loops to factor out some tests that were repeated unnecessarily. 2002-03-22 Friday 20:12 Enea Zaffanella * src/: Row.cc, Row.defs.hh (strict.[2,3]): Added the "strict" scalar product operator (PPL::operator^) computing the scalar product of two Row objects but ignoring the last coefficient of the first row. 2002-03-22 Friday 15:42 Enea Zaffanella * src/: ConSys.cc, GenSys.cc, PolyBase.cc (strict.[10,9,21]): Metods GenSys::affine_image(v, e, d) and ConSys::affine_preimage(v, e, d) no longer require the expression `e' to have the _same_ number of columns of the matrix; now they only require dimension compatibility. This change, while allowing a correct implementation for NNC topology matrices, also turns out to be a potentially remarkable performance improvement. The corresponding methods of PolyBase changed accordingly: - no longer performing the dangerous const_cast on the expression; - missing assertion OK(false) placed on exit. 2002-03-22 Friday 12:24 Enea Zaffanella * src/PolyBase.cc (strict.20): Cleaned the code trying to preserve the sortedness of matrices when swapping epsilon columns in methods add_dimensions*. In operator<=, avoiding repeated tests on the generator kind when computing the scalar products for NNC polyhedra. 2002-03-22 Friday 10:01 Enea Zaffanella * src/PolyBase.cc (strict.19): Corrected a bug in add_dimensions_and_constraint(). The OK() assertion at the end of limited_widening_assign() changed into OK(false), because the parameter cs may cause the polyhedron to become inconsistent. In widening_assign(), now adding the epsilon constraints (instead of the positivity one) when the topology requires them. 2002-03-21 Thursday 18:08 Elisa Ricci * src/: GenSys.cc, GenSys.defs.hh, Matrix.defs.hh, Polyhedron.cc, Polyhedron.defs.hh, conversion.cc, minimize.cc (positive.[1,1,2,5,3,6,11]): Started to implement the new method that use a transformation to compute the system of constraints of a positive polyhedron described by its system of generators: this method is controlled by the flag "POSITIVE_TRANSFORMATION". 2002-03-21 Thursday 16:33 Enea Zaffanella * src/PolyBase.cc (strict.18): Corrected a bug in the constructor PolyBase(t, gs): we were breaking the correctenss of the sortedness flag. 2002-03-21 Thursday 16:03 Enea Zaffanella * src/PolyBase.cc (strict.17): Added missing OK(bool) assertions on exit of constructors and methos operator<=, intersection_assign(ph), convex_difference_assign(ph), insert(g), insert(c), add_dimensions_and_constraints(), add_generators_and_minimize(). Corrected \epsilon-swapping bugs in methods add_dimensions(...), add_dimensions_and_project(), add_dimensions_and_embed() and add_dimensions_and_constraints(). Patched topology-related bug in limited_widening_assign(). 2002-03-21 Thursday 15:38 Enea Zaffanella * src/: ConSys.cc, GenSys.cc (strict.[9,8]): Methods get() and print(), i.e., input/output operators >> and <<, now also handle topology information. 2002-03-21 Thursday 10:22 Patricia M. Hill * interfaces/Prolog/Prolog_interface.dox (1.22): Added a note to try and explain when the _and_minimize predicates should be used. 2002-03-21 Thursday 09:35 Patricia M. Hill * interfaces/Prolog/Prolog_interface.dox (1.21): Two bugs corrected in the description of the "relation_with" predicates. 2002-03-20 Wednesday 19:02 Enea Zaffanella * src/PolyBase.cc (strict.16): Patched methods add_dimensions_and_embed(), add_dimensions_and_project() and add_dimensions() to properly handle the "sorted" flag of matrices. Corrected a small bug in add_dimensions_and_constraints(), where we were trying to swap a column with itself. 2002-03-20 Wednesday 17:47 Enea Zaffanella * src/PolyBase.cc (strict.15): In constructors for NNC polyhedra, add the \epsilon constraint in the order that is likely to preserve the sorted flag. 2002-03-20 Wednesday 17:34 Enea Zaffanella * src/: Constraint.inlines.hh, Generator.cc (strict.[5,3]): Just a few spaces added for style. 2002-03-20 Wednesday 17:32 Enea Zaffanella * src/ConSys.cc (strict.8): Corrected a bug in has_strict_inequalities() whereby we were returning "true" when finding the epsilon_geq_zero() constraint. 2002-03-20 Wednesday 16:48 Enea Zaffanella * src/: Constraint.inlines.hh, PolyBase.cc (strict.[4,14]): A strict inequality has a _negative_ \epsilon coefficient (previously, we were testing for a _non-zero_ coefficient, causing a bug in method operator<=(PolyBase&, PolyBase&). 2002-03-20 Wednesday 16:46 Enea Zaffanella * src/PolyBase.defs.hh (strict.6): Constructors of the base class PolyBase are now protected, so that the user _has_ to create objects of the derived classes Polyhedron and NNC_Polyhedron. 2002-03-20 Wednesday 15:37 Enea Zaffanella * src/PolyBase.cc (strict.13): Corrected a bug in operator<= for the NNC case. 2002-03-20 Wednesday 14:44 Enea Zaffanella * src/PolyBase.cc (strict.12): Implemented operator<= for NNC polyhedra. Added a couple of missing assertions to add_generators(). 2002-03-20 Wednesday 13:49 Enea Zaffanella * src/: ConSys.cc, GenSys.cc, Matrix.cc (strict.[7,7,8]): In Matrix::OK(), restored the test checking that num_columns() == 0 whenever num_rows() == 0. Added assertions to ConSys::adjust_topology_and_dimension() and GenSys::adjust_topology_and_dimension(). 2002-03-20 Wednesday 12:24 Enea Zaffanella * src/: Matrix.cc, Matrix.defs.hh, Matrix.inlines.hh (strict.[7,4,3]): Corrected bugs: - set_necessarily_closed() and set_non_necessarily_closed() now also set the right topology for all the rows in the matrix; - grow(...) no longer asserts OK() on exit, because it may leave the matrix in a state where num_rows() == 0 and num_columns() > 0; - grow(...) was comparing the first row to be added with the last row in the matrix even when there were no rows in the matrix; - insert(...) no longer swaps a coefficient with itself when num_columns() and row.size() do match. 2002-03-20 Wednesday 11:20 Elisa Ricci * tests/exceptions2.cc (strict.2): Added some other tests that show when an exception is thrown: one of them shows that there is still a problem with the function Matrix::grow(). 2002-03-19 Tuesday 19:02 Elisa Ricci * tests/: Makefile.am, exceptions2.cc (strict.[1,1]): In "exceptions2.cc" put two tests that show that an exception is thrown if we want to built a Polyhedron starting from a system of constraints that contains strict-inequalities or a a system of generators that contains closure_points. 2002-03-19 Tuesday 18:20 Enea Zaffanella * src/PolyBase.cc (strict.11): The method OK() improved to check invariants for both NC and NNC polyhedra. 2002-03-19 Tuesday 18:17 Enea Zaffanella * src/Matrix.cc (strict.6): One of the new tests added to OK() was causing Matrix::grow() to fail. Temporarily commented out. 2002-03-19 Tuesday 16:26 Enea Zaffanella * src/ConSys.cc (strict.6): Method OK() now merely calls Matrix::OK(), since there are no other meaningful tests to perform. Overriding used just for better documenting this fact. 2002-03-19 Tuesday 16:17 Enea Zaffanella * src/Matrix.cc (strict.5): In method OK(), added a check on matrices with no rows. 2002-03-19 Tuesday 16:02 Enea Zaffanella * src/GenSys.cc (strict.6): In method OK(), no longer checking for topology mismatches between the systems and its generators (this is already done when calling Matrix::OK()). No longer checking for the existence of a point, because points are only required if the GenSys is representing a polyhedron (check has to be performed by PolyBase::OK()). 2002-03-19 Tuesday 15:59 Enea Zaffanella * src/Matrix.cc (strict.4): Method OK() now checks for topology mismatches between the matrix and its rows. The check on the minimum number of columns updated to work correctly with NNC topology matrices. 2002-03-19 Tuesday 15:55 Enea Zaffanella * src/: Generator.cc, Generator.inlines.hh (strict.[2,4]): Method OK() updated to perform checks of invariants for generators defined on the NNC topology. 2002-03-19 Tuesday 15:52 Enea Zaffanella * src/Row.cc (strict.1): In method OK(), added a check on the minimum number of coefficients of a row (the minimum depends on the row topology). 2002-03-19 Tuesday 13:15 Enea Zaffanella * src/GenSys.cc (strict.5): In function OK(), when checking for the existence of a point, we now use is_point() to (correctly) disregard closure points. Also checking for topology mismatches between gen_sys and its elements. 2002-03-19 Tuesday 11:42 Enea Zaffanella * src/PolyBase.cc (strict.10): Exploiting the new explicit conversions from Constraint/Generator to LinExpression in PolyBase methods - insert(const Constraint&) - insert(const Generator&) - convex_difference_assign(const PolyBase&). 2002-03-19 Tuesday 11:38 Enea Zaffanella * src/LinExpression.cc (strict.2): Corrected a bug in the newly introduced constructors. 2002-03-19 Tuesday 11:22 Enea Zaffanella * src/: LinExpression.cc, LinExpression.defs.hh (strict.[1,1]): Added explicit constructors taking a constraint/generator as parameter: they are PPL_INTERNAL and extract from the parameter a "necessarily closed" copy of the corresponding linear expression. 2002-03-19 Tuesday 01:09 Enea Zaffanella * doc/devref-browse.doxyconf-latex.in, doc/devref-print.doxyconf-latex.in, doc/devref.doxyconf-html.in, src/Makefile.am (strict.[1,1,1,3]): Added files NNC_Polyhedron.* and PolyBase_* to Makefile.am and to the INPUT_FILE flags for doxygen devref configuration files. 2002-03-19 Tuesday 01:07 Enea Zaffanella * src/PolyBase.cc (strict.9): Consistency modification: all static functions defined to just throw an exception now print the class name of the invoking object (dirty kludge using the topology() accessor; may be improved). Added a whole set of such functions for reporting topology clashes and illegal generator systems. Adjusted several comments. In method remove_dimensions, the case when we remove _all_ dimensions captured earlier. Provided a temporary patches for the methods PolyBase::insert(const Constraint&) and PolyBase::insert(const Generator&). Added topology-inconsistency checks to add_generators(gs). 2002-03-19 Tuesday 00:50 Enea Zaffanella * src/Polyhedron.inlines.hh (strict.4): Methods reordered according to Polyhedron.defs.hh. 2002-03-19 Tuesday 00:47 Enea Zaffanella * src/PolyBase.defs.hh (strict.5): Method topology() made public. 2002-03-19 Tuesday 00:45 Enea Zaffanella * src/: NNC_Polyhedron.cc, NNC_Polyhedron.defs.hh, NNC_Polyhedron.inlines.hh, NNC_Polyhedron.types.hh (strict.[1,1,1,1]): Put under CVS control. 2002-03-19 Tuesday 00:43 Enea Zaffanella * src/Polyhedron.defs.hh (strict.3): Removed useless include directives (already included by PolyBase.defs.hh). 2002-03-19 Tuesday 00:41 Enea Zaffanella * src/minimize.cc (strict.2): In both minimize(...) methods, modified the emptyness check after conversion in order to work for NNC Polyhedra too. 2002-03-18 Monday 22:39 Roberto Bagnara * doc/user-browse.doxyconf-latex.in (1.11), doc/user-print.doxyconf-latex.in (1.11), doc/user.doxyconf-html.in (1.13), interfaces/C/ppl_c.cc (1.3), interfaces/C/ppl_c.h (1.4): Several improvements to the C interface. 2002-03-18 Monday 17:57 Roberto Bagnara * doc/Makefile.am (1.17), doc/devref-browse.doxyconf-latex.in (1.13), doc/devref-print.doxyconf-latex.in (1.13), doc/devref.doxyconf-html.in (1.14), doc/user-browse.doxyconf-latex.in (1.10), doc/user-print.doxyconf-latex.in (1.10), doc/user.doxyconf-html.in (1.12), interfaces/C/ppl_c.cc (1.2), interfaces/C/ppl_c.h (1.3), src/LinExpression.defs.hh (1.27): Started merging the new C interface. 2002-03-18 Monday 17:54 Roberto Bagnara * TODO (1.11): Another thing to remember. 2002-03-18 Monday 15:33 Enea Zaffanella * src/PolyBase.cc (strict.8): Corrected a (just introduced) bug in add_dimensions_and_constraints(ConSys& cs). 2002-03-18 Monday 14:59 Roberto Bagnara * TODO (1.10): More things we should not forget to do. 2002-03-18 Monday 14:58 Enea Zaffanella * src/: GenSys.defs.hh, PolyBase.cc (strict.[4,7]): Patched method PolyBase::add_generators_and_minimize(gs). 2002-03-18 Monday 14:08 Enea Zaffanella * src/PolyBase.cc (strict.6): Patched method PolyBase::add_dimensions_and_constraints(cs). 2002-03-18 Monday 13:51 Roberto Bagnara * TODO (1.9): Things todo just after merging the `strict' branch. 2002-03-18 Monday 11:43 Enea Zaffanella * src/PolyBase.cc (strict.5): Adding topology-compatibility checks where needed, throwing exceptions if necessary. Consistently using the methods [ConSys/GenSys]::adjust_topology_and_dimension when building a new polyhedron (or augmenting an existing one) starting from a ConSys or a GenSys. When building an NNC polyhedron using the constructor PolyBase(GenSys&), we now add a closure point for each point in the GenSys. Patched the specification of convex_difference_assign() to work correctly for NNC polyhedra. Patched the methods add_dimensions_and_* and remove*_dimensions() to work correctly for NNC polyhedra. Added a few "placeholder" exceptions to point out places where the current implementation is still not correct. 2002-03-18 Monday 11:30 Enea Zaffanella * src/PolyBase.defs.hh (strict.4): In doxygen comments, added specification for exceptions that should be thrown when identifying a topology-incompatibility. 2002-03-18 Monday 11:27 Enea Zaffanella * src/GenSys.cc (strict.4): Using Matrix::swap_columns. Corrected a bug in GenSys::insert(g). 2002-03-18 Monday 11:24 Enea Zaffanella * src/: ConSys.cc, ConSys.defs.hh (strict.[5,3]): Method contains_strict_inequalities() renamed as has_strict_inequalities(). Using Matrix::swap_columns(i, j) whene swapping the \epsilon coefficients after dimension changes. 2002-03-18 Monday 11:22 Enea Zaffanella * src/: Matrix.cc, Matrix.defs.hh (strict.[3,3]): Added method Matrix::swap_columns(size_t i, size_t j) to factorize the several places where we swap the column of \epsilon coefficients. 2002-03-18 Monday 11:16 Enea Zaffanella * src/: Generator.defs.hh, Generator.cc, Generator.inlines.hh (strict.[2,1,3]): Implemented friend function closure_point(...) returning a closure point. Added static method zero_dim_closure_point(). 2002-03-17 Sunday 14:49 Enea Zaffanella * src/: GenSys.cc, GenSys.defs.hh (strict.[3,3]): Added methods adjust_topology_and_dimensions(), has_closure_points() and has_points() to help checking for legality and automatically adjusting generator systems when building polyhedra. 2002-03-17 Sunday 14:45 Enea Zaffanella * src/ConSys.cc (strict.4): Optimized the method contains_strict_inequalities() by factoring out the topology tests. 2002-03-17 Sunday 11:30 Roberto Bagnara * interfaces/Prolog/YAP/: Makefile.am (1.4), ppl_yap.cc (1.2), ppl_yap.pl (1.2): Slow and difficult progress on the YAP interface. 2002-03-17 Sunday 11:05 Roberto Bagnara * doc/: definitions.dox (1.42), ppl.sty (1.6): Introcude the macro \cone. Fix the macro \linspace. Define commands using the \{new,renew,provide}command* form. 2002-03-17 Sunday 11:00 Roberto Bagnara * configure.ac (1.35): Configuration for producing dlopen modules and WIN32 dlls. 2002-03-17 Sunday 08:15 Roberto Bagnara * src/Polyhedron.inlines.hh (strict.3): Add missing `inline' qualifiers. 2002-03-17 Sunday 00:38 Enea Zaffanella * src/: PolyBase.cc, PolyBase.defs.hh, PolyBase.inlines.hh (strict.[4,3,3]): The Topology parameter is now the first one in constructors. Added the missing topology consistency assertion to limited_widening_assign. Using the static Constraint members for adding the positivity and epsilon related constraints in the constructors. Constructor PolyBase(Topology, ConSys) now automatically adjust the constraint system according to the first parameter, throwing an exception if we try to insert a strict inequality into a Polyhedron. 2002-03-17 Sunday 00:28 Enea Zaffanella * src/: Polyhedron.cc, Polyhedron.defs.hh, Polyhedron.inlines.hh (strict.[3,2,2]): Added the assignment operator. All methods are now inlined. 2002-03-17 Sunday 00:27 Enea Zaffanella * src/: GenSys.defs.hh, GenSys.inlines.hh (strict.[2,3]): The Topology parameter is now the first one in constructors. 2002-03-17 Sunday 00:24 Enea Zaffanella * src/: ConSys.cc, ConSys.defs.hh, ConSys.inlines.hh (strict.[3,2,3]): Added methods adjust_topology_and_dimensions() and contains_strict_inequality() to help checking for legality and automatically adjusting constraint systems when building polyhedra. Now the Topology parameter is the first one in constructors. 2002-03-17 Sunday 00:19 Enea Zaffanella * src/: Constraint.cc, Constraint.defs.hh, Constraint.inlines.hh (strict.[3,2,3]): Added static methods to produce the two (zero-dim) epsilon constraints replacing the positivity constraint in NNC polyhedra (0 \leq \epsilon \leq 1). Methods is_trivial_true() and is_trivial_false() modified to also work for strict inequalities. 2002-03-16 Saturday 13:57 Enea Zaffanella * src/: ConSys.cc, ConSys.defs.hh, ConSys.inlines.hh, Constraint.cc, Constraint.inlines.hh, GenSys.cc, GenSys.defs.hh, GenSys.inlines.hh, Generator.inlines.hh, Makefile.am, Matrix.cc, Matrix.defs.hh, Matrix.inlines.hh, PolyBase.cc, PolyBase.defs.hh, PolyBase.inlines.hh, Polyhedron.cc, Row.defs.hh, Row.inlines.hh, conversion.cc (strict.[2,1,2,2,2,2,1,2,2,2,2,2,2,3,2,2,2,2,3,3]): In constructors, now using an element of the enum Topology in order to control the kind of object created (instead of the previous boolean). Started adding controls on Topology mismatches and automatic conversions of objects when needed. 2002-03-16 Saturday 13:55 Enea Zaffanella * src/Topology.hh (strict.1): Put under CVS control: new header file for the enumeration controlling the topological kind of Row, Matrix, Constraint, Generator, ConSys, GenSys and PolyBase objects. 2002-03-15 Friday 11:29 Enea Zaffanella * src/Row.inlines.hh (strict.2): Re-ordering the initializer in Row constrauctors to avoid the warnings. 2002-03-15 Friday 10:51 Enea Zaffanella * src/: ConSys.cc, ConSys.inlines.hh, Constraint.cc, Constraint.defs.hh, Constraint.inlines.hh, GenSys.cc, GenSys.inlines.hh, Generator.defs.hh, Generator.inlines.hh, LinExpression.inlines.hh, Matrix.cc, Matrix.defs.hh, Matrix.inlines.hh, Row.defs.hh, Row.inlines.hh, conversion.cc (strict.[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2]): Removed enumeration Type from class Row: added enumerations PolyhedronKind and RowKind; they are merged into a single object using new class Row::Type. Rows now rememberif they have or not the \epsilon coefficient. Constructors for Matrix now have a boolean flag indicating whether or not the matrix has the \epsilon coefficient. The flag is remembered in order to correctly set the type of new rows. Added support for creating constraints that are strict inequalities and generators that are closure points. Added support for adding these two new kind of objects to constraint systems and generator systems (with automatic detection and resizing if needed). Constraints, generators and the respective systems space-dimensions now depend on the Polyhedron kind of the corresponding rows. 2002-03-15 Friday 08:55 Elisa Ricci * doc/definitions.dox (1.41): Improved the proposition that is before the definition of the ray space: we were using an object that was not defined before. 2002-03-14 Thursday 15:57 Patricia M. Hill * interfaces/Prolog/Prolog_interface.dox (1.20): Draft descriptions for all the new predicates added. A few other small improvements made. 2002-03-14 Thursday 13:34 Patricia M. Hill * interfaces/Prolog/ppl_prolog.outlines.hh (1.21): Improved ppl_affine_image and ppl_affine_preimage. 2002-03-14 Thursday 12:22 Elisa Ricci * doc/definitions.dox (1.40): Improved the definition of minimal proper face. 2002-03-14 Thursday 10:56 Elisa Ricci * doc/definitions.dox (1.39): Corrected two errors in the definition of minimal proper face: I have written "C" instead of "P". 2002-03-14 Thursday 09:21 Elisa Ricci * doc/definitions.dox (1.38): Improved the documentation about the faces of a polyhedron. 2002-03-13 Wednesday 21:29 Roberto Bagnara * tests/: Makefile.am (1.50), relations9.cc (1.1): New test. 2002-03-13 Wednesday 20:16 Roberto Bagnara * interfaces/Prolog/ppl_prolog.outlines.hh (1.20), interfaces/Prolog/GNU/ppl_gprolog.pl (1.2), interfaces/Prolog/SICStus/ppl_sicstus.cc (1.44), interfaces/Prolog/SWI/ppl_swiprolog.cc (1.11), src/Poly_Con_Relation.defs.hh (1.3), src/Poly_Con_Relation.inlines.hh (1.4), src/Poly_Gen_Relation.defs.hh (1.3), src/Poly_Gen_Relation.inlines.hh (1.4): Poly_Con_Relation::implies() and Poly_Gen_Relation::implies() were wrong because of missing parentheses. Poly_Con_Relation::operator!() and Poly_Gen_Relation::operator!() were ill-designed: removed. Added Poly_Con_Relation operator-(const Poly_Con_Relation& x, const Poly_Con_Relation& y) and the similar operator dealing with Poly_Gen_Relation. Prolog interface functions ppl_relation_with_constraint/2 and ppl_relation_with_generator/2 changed accordingly. New Prolog interface functions made available to GNU, SICStus, and SWI Prolog. 2002-03-13 Wednesday 18:28 Patricia M. Hill * interfaces/Prolog/ppl_prolog.outlines.hh (1.19): ppl_affine_image and ppl_affine_preimage corrected and ppl_add_domensions_and_constraints added. 2002-03-13 Wednesday 17:35 Enea Zaffanella * src/PolyBase.cc (strict.2): When constructing a PolyBase, now we store the value of the newly introduced boolean flag in the corresponding private member. 2002-03-13 Wednesday 17:04 Enea Zaffanella * src/: Makefile.am, PolyBase.cc, PolyBase.defs.hh, PolyBase.inlines.hh, PolyBase.types.hh, Polyhedron.cc, Polyhedron.defs.hh, Polyhedron.inlines.hh, conversion.cc, minimize.cc, simplify.cc (strict.[1,1,1,1,1,1,1,1,1,1,1]): Class Polyhedron renamed into PolyBase. Added a private boolean flag "necessarily_closed_" and modified all constructors (but not the copy constructor) to also accept a boolean argument (which is ignored, for the moment). Created a new class Polyhedron inheriting public-ly from PolyBase. This will be the class defining "necessarily closed" polyhedra. 2002-03-13 Wednesday 16:38 Roberto Bagnara * interfaces/Prolog/ppl_prolog.outlines.hh (1.18): ppl_relation_with_constraint/3 and ppl_relation_with_generator/3 added. 2002-03-13 Wednesday 16:36 Roberto Bagnara * src/: Poly_Con_Relation.defs.hh (1.2), Poly_Con_Relation.inlines.hh (1.3), Poly_Gen_Relation.defs.hh (1.2), Poly_Gen_Relation.inlines.hh (1.3): The implies() methods were not qualified as const. Poly_Con_Relation::operator!() and Poly_Gen_Relation::operator!() added. 2002-03-13 Wednesday 16:20 Patricia M. Hill * interfaces/Prolog/: ppl_prolog.outlines.hh (1.17), SWI/ppl_swiprolog.cc (1.10): ppl_affine_image and ppl_affine_preimage added. 2002-03-13 Wednesday 14:58 Roberto Bagnara * interfaces/Prolog/SICStus/ppl_sicstus.cc (1.43): Misspelled functions fixed. ppl_polyhedron_strictly_included/2 added. 2002-03-13 Wednesday 14:02 Patricia M. Hill * interfaces/Prolog/ppl_prolog.outlines.hh (1.16): Definitions of equal, included_or_equal and strictly_included predicates corrected. 2002-03-13 Wednesday 11:56 Patricia M. Hill * interfaces/Prolog/: ppl_prolog.outlines.hh (1.15), SWI/ppl_swiprolog.cc (1.9): Some corrections to some of the new predicates definitions. 2002-03-13 Wednesday 07:38 Roberto Bagnara * interfaces/Prolog/SWI/Makefile.am (1.10): Always build `pplpl' and `pl_clpq'. 2002-03-13 Wednesday 07:11 Roberto Bagnara * interfaces/Prolog/ppl_prolog.outlines.hh (1.14): Added new atoms for the relations of polyhedra with constraints and generators. 2002-03-13 Wednesday 07:11 Roberto Bagnara * interfaces/Prolog/SICStus/ppl_sicstus.cc (1.42): Missing semicolons added. 2002-03-12 Tuesday 20:46 Roberto Bagnara * interfaces/Prolog/SICStus/ppl_sicstus.cc (1.41): Macro SP_STUB_3 added and used for ppl_limited_widening_assign/3. 2002-03-12 Tuesday 19:46 Patricia M. Hill * interfaces/Prolog/: ppl_prolog.outlines.hh (1.13), SICStus/ppl_sicstus.cc (1.40), SWI/ppl_swiprolog.cc (1.8): <=, ==, and < added as ppl predicates. SWI and SICStus interfaces updated with <= and == predicates. 2002-03-12 Tuesday 19:08 Patricia M. Hill * interfaces/Prolog/: ppl_prolog.outlines.hh (1.12), SICStus/ppl_sicstus.cc (1.39), SWI/ppl_swiprolog.cc (1.7): Added ppl_add_generators_and_minimize, ppl_check_universe, and ppl_is_bounded. SICStus and SWI updated to use the new predicates. 2002-03-12 Tuesday 18:57 Patricia M. Hill * interfaces/Prolog/ppl_prolog.outlines.hh (1.11): ppl_add_generators_and_minimize added. 2002-03-12 Tuesday 17:50 Patricia M. Hill * interfaces/Prolog/Prolog_interface.dox (1.19): Restored comment for ppl_copy_polyhedron, small change to notation and added draft documentation for three predicates that were missing. 2002-03-12 Tuesday 17:06 Patricia M. Hill * interfaces/Prolog/ppl_prolog.outlines.hh (1.10): Code for ppl_limited_widening_assign, ppl_relation_with_constraint and ppl_relation_with_generator added. 2002-03-12 Tuesday 15:18 Enea Zaffanella * NEWS (1.18): Added a note on the change of terminology vertex/point. 2002-03-12 Tuesday 15:13 Enea Zaffanella * interfaces/Prolog/: ppl_prolog.outlines.hh (1.9), Ciao/ppl_ciao.cc (1.3): Using "point" instead of "vertex". 2002-03-12 Tuesday 15:12 Enea Zaffanella * tests/: addconstraints9.cc (1.5), adddimensions1.cc (1.6), adddimensions3.cc (1.4), addgenerators1.cc (1.5), addgenerators2.cc (1.5), addgenerators3.cc (1.4), addgenerators4.cc (1.4), addgenerators5.cc (1.4), addgenerators6.cc (1.4), affineimage1.cc (1.4), affinepreimage1.cc (1.4), affinepreimage3.cc (1.3), affinepreimage4.cc (1.4), affinetrans.cc (1.8), convexdifference1.cc (1.8), convexhull1.cc (1.5), convexhull2.cc (1.4), convexhull3.cc (1.3), error1.cc (1.8), error10.cc (1.2), error11.cc (1.2), error12.cc (1.2), error13.cc (1.2), error14.cc (1.2), error15.cc (1.2), error16.cc (1.2), error17.cc (1.2), error18.cc (1.3), error19.cc (1.2), error2.cc (1.10), error20.cc (1.3), error21.cc (1.4), error22.cc (1.3), error23.cc (1.2), error24.cc (1.2), error25.cc (1.4), error26.cc (1.3), error27.cc (1.3), error28.cc (1.3), error29.cc (1.3), error3.cc (1.10), error4.cc (1.5), error5.cc (1.6), error6.cc (1.4), error7.cc (1.3), error8.cc (1.2), error9.cc (1.3), exceptions1.cc (1.2), generators1.cc (1.4), inters2.cc (1.11), inters5.cc (1.5), inters6.cc (1.4), onepoint.cc (1.3), randchull1.cc (1.11), relations2.cc (1.3), relations3.cc (1.3), relations4.cc (1.3), relations5.cc (1.3), removedim1.cc (1.4), removedim2.cc (1.8), removedim4.cc (1.5): In all the tests, now using "point" instead of "vertex". Removed the old tests "errorN.cc", which are now all subsumed by the single test "exceptions1.cc". 2002-03-12 Tuesday 15:11 Enea Zaffanella * src/: ConSys.cc (1.28), Constraint.defs.hh (1.45), Constraint.inlines.hh (1.21), GenSys.cc (1.42), GenSys.defs.hh (1.49), GenSys.inlines.hh (1.14), Generator.cc (1.23), Generator.defs.hh (1.49), Generator.inlines.hh (1.22), LinExpression.defs.hh (1.26), Matrix.cc (1.31), Polyhedron.cc (1.142), Polyhedron.defs.hh (1.86), Row.cc (1.31), Row.defs.hh (1.34), Row.inlines.hh (1.14), conversion.cc (1.24), minimize.cc (1.17), simplify.cc (1.13): The term "vertex" replaced almost everywhere by "point": this is because these kind of generators are not necessarily vertices of the polyhedron. All comments adjusted accordingly. 2002-03-12 Tuesday 15:02 Elisa Ricci * src/minimize.cc (positive.10): Some changes in the part controlled by the flag " POS_SIMPLEX_TRICK". 2002-03-12 Tuesday 14:38 Patricia M. Hill * interfaces/Prolog/Prolog_interface.dox (1.18): Description of some of the Prolog predicates improved. 2002-03-12 Tuesday 13:53 Roberto Bagnara * src/Polyhedron.cc (1.141): Do not use the amsmath's \text{} macro in contexts like $a_\text{var}$. Use $a_\mathrm{var}$ instead. 2002-03-12 Tuesday 12:25 Roberto Bagnara * src/Makefile.am (1.30): Do not use the `-e' option of GNU grep (this solves a portability problem on Solaris). 2002-03-12 Tuesday 11:44 Enea Zaffanella * src/: Constraint.defs.hh (1.44), Generator.defs.hh (1.48), Generator.inlines.hh (1.21): The method Constraint::type() and the corresponding enum Constraint::Type are now public. Added new public type tests to Generator, is_ray() and is_vertex(); also, the existing method is_line() is now public. 2002-03-12 Tuesday 11:23 Enea Zaffanella * src/: Generator.cc (1.22), Generator.defs.hh (1.47), Generator.inlines.hh (1.20): We were still throwing an exception from the inlined method divisor(); added a non-inline function for that purpose. 2002-03-12 Tuesday 11:13 Roberto Bagnara * interfaces/Prolog/: GNU/Makefile.am (1.6), SWI/Makefile.am (1.9), YAP/Makefile.am (1.3): More packaging glitches have been fixed. 2002-03-12 Tuesday 09:32 Roberto Bagnara * interfaces/Prolog/: Makefile.am (1.7), GNU/Makefile.am (1.5), SICStus/Makefile.am (1.15), SWI/Makefile.am (1.8), YAP/Makefile.am (1.2): A first go at fixing the packaging problems. 2002-03-11 Monday 19:02 Roberto Bagnara * NEWS (1.17), src/Polyhedron.defs.hh (1.85): Visibility bug fixed: Polyhedron::is_empty() must be private. 2002-03-11 Monday 18:44 Roberto Bagnara * src/Polyhedron.inlines.hh (1.17): Fixed a severe performance bug in operator<(const Polyhedron& x, const Polyhedron& y). 2002-03-11 Monday 14:54 Enea Zaffanella * src/: ConSys.defs.hh (1.34), Constraint.defs.hh (1.43), GenSys.defs.hh (1.48), Generator.defs.hh (1.46), Matrix.defs.hh (1.19), Row.defs.hh (1.33): Added a few missing doxygen comments to avoid warnings. 2002-03-11 Monday 14:53 Enea Zaffanella * src/Matrix.inlines.hh (1.17): Fixed a \relates doxygen comment pointing to the wrong class. 2002-03-11 Monday 14:52 Enea Zaffanella * src/Variable.defs.hh (1.15): Removed a redundant namespace qualification. 2002-03-11 Monday 14:49 Enea Zaffanella * doc/: devref-browse.doxyconf-latex.in (1.12), devref-print.doxyconf-latex.in (1.12), devref.doxyconf-html.in (1.13): Set the WARN_IF_UNDOCUMENTED flag to YES. This will have no effect until we will set EXTRACT_ALL to NO. Added the *.types.hh files to the INPUT variable. 2002-03-11 Monday 14:23 Patricia M. Hill * interfaces/Prolog/Prolog_interface.dox (1.17): Documentation describing the PPL Prolog predicates revised. 2002-03-11 Monday 12:22 Patricia M. Hill * interfaces/Prolog/Prolog_interface.dox (1.16): Documentation for ppl_copy_polyhedron corrected. 2002-03-11 Monday 12:06 Roberto Bagnara * interfaces/Prolog/: clpq.pl (1.4), clpq2.pl (1.3): Now consulting 'file' will try also 'file.pl' in case 'file' does not exist or is not readable. 2002-03-11 Monday 01:02 Enea Zaffanella * src/: Constraint.cc (1.19), Constraint.defs.hh (1.42), Generator.cc (1.21), Generator.defs.hh (1.45), Matrix.cc (1.30), Matrix.defs.hh (1.18), Matrix.inlines.hh (1.16), Polyhedron.cc (1.140), Polyhedron.defs.hh (1.84), Row.cc (1.30), Row.defs.hh (1.32), Row.inlines.hh (1.13), SatMatrix.cc (1.14), SatMatrix.defs.hh (1.15), SatRow.cc (1.7), SatRow.defs.hh (1.11), SatRow.inlines.hh (1.11), Status.cc (1.11), Status.defs.hh (1.14), Variable.cc (1.6), Variable.defs.hh (1.14), Variable.inlines.hh (1.8): Placing the doxygen \relates command before function definitions (instead of declarations) to avoid warnings for unmatched functions. 2002-03-11 Monday 00:54 Enea Zaffanella * doc/: devref-browse.doxyconf-latex.in (1.11), devref-print.doxyconf-latex.in (1.11), devref.doxyconf-html.in (1.12): Added the newer (and old ones too) source files to the INPUT tag. Turned on the STRIP_CODE_COMMENTS flag, to avoid outputting dosygen comments in the devref detailed comments for enumerations (e.g., Generator::Type). 2002-03-10 Sunday 21:27 Roberto Bagnara * src/: ConSys.cc (1.27), LinExpression.defs.hh (1.25), Polyhedron.cc (1.139): Just formatting. 2002-03-10 Sunday 21:14 Roberto Bagnara * src/: Row.cc (1.29), Row.defs.hh (1.31): Avoid the creation of temporaries in operator*(const Row& x, const Row& y). This results in a speedup of at least 3%. 2002-03-10 Sunday 16:08 Roberto Bagnara * src/: ConSys.cc (1.26), GenSys.cc (1.41): Missing full-stops added. 2002-03-10 Sunday 16:05 Roberto Bagnara * src/: ConSys.cc (1.25), GenSys.cc (1.40): ConSys::affine_preimage() and GenSys::affine_image() shortened and slightly optimized. Moreover, each contained a wrong assertion. 2002-03-10 Sunday 15:27 Roberto Bagnara * src/ConSys.cc (1.24): Avoid a useless temporary in ConSys::affine_preimage(). 2002-03-10 Sunday 14:54 Roberto Bagnara * src/: ConSys.cc (1.23), ConSys.defs.hh (1.33), ConSys.inlines.hh (1.13), Constraint.defs.hh (1.41), Constraint.inlines.hh (1.20), GenSys.cc (1.39), GenSys.defs.hh (1.47), GenSys.inlines.hh (1.13), LinExpression.defs.hh (1.24), LinExpression.inlines.hh (1.12), Matrix.cc (1.29), Matrix.defs.hh (1.17), Polyhedron.cc (1.138), Row.defs.hh (1.30), Row.inlines.hh (1.12), SatMatrix.cc (1.13), SatMatrix.defs.hh (1.14), SatMatrix.inlines.hh (1.9), Variable.defs.hh (1.13), Variable.inlines.hh (1.7): Compile cleanly with gcc's -Wshadow. 2002-03-10 Sunday 13:26 Roberto Bagnara * configure.ac (1.34): The configure options --with-cflags and --with-cxxflags now add more compiler options (as opposed to replace them). In addition the --with-cflags options was simply broken. 2002-03-10 Sunday 13:24 Roberto Bagnara * interfaces/Prolog/SWI/ppl_swiprolog.cc (1.6): Assertion fixed. 2002-03-10 Sunday 00:55 Enea Zaffanella * src/: Constraint.cc (1.18), Generator.cc (1.20): Useless namespace qualification in argument was causing a doxygen warning. 2002-03-10 Sunday 00:47 Enea Zaffanella * doc/: devref-browse.doxyconf-latex.in (1.10), devref-print.doxyconf-latex.in (1.10), devref.doxyconf-html.in (1.11), user-browse.doxyconf-latex.in (1.9), user-print.doxyconf-latex.in (1.9), user.doxyconf-html.in (1.11): New configuration files obtained by using the -u options of doxygen 1.2.14 and a bit of manual editing. 2002-03-09 Saturday 19:44 Roberto Bagnara * interfaces/C/: Makefile.am (1.2), ppl_c.c (1.2), ppl_c.cc (1.1), ppl_c.h (1.2): Slow progress. The C interface is implemented in C++ (of course). 2002-03-09 Saturday 13:41 Roberto Bagnara * configure.ac (1.33), interfaces/Makefile.am (1.4), interfaces/C/.cvsignore (1.1), interfaces/C/Makefile.am (1.1), interfaces/C/ppl_c.c (1.1), interfaces/C/ppl_c.h (1.1): C interface started. 2002-03-08 Friday 22:03 Roberto Bagnara * TODO (1.8): More things to do. 2002-03-08 Friday 12:16 Roberto Bagnara * configure.ac (1.32): The SICStus Prolog interface is only built if the user has SICStus Prolog 3.9.0 or a later version. 2002-03-08 Friday 11:38 Roberto Bagnara * interfaces/Prolog/: GNU/ppl_gprolog.cc (1.8), SICStus/ppl_sicstus.cc (1.38), SWI/ppl_swiprolog.cc (1.5): Minor improvements. 2002-03-08 Friday 11:37 Roberto Bagnara * configure.ac (1.31), interfaces/Prolog/YAP/.cvsignore (1.1), interfaces/Prolog/YAP/Makefile.am (1.1), interfaces/Prolog/YAP/ppl_yap.cc (1.1), interfaces/Prolog/YAP/ppl_yap.pl (1.1), interfaces/Prolog/YAP/yap_clpq.pl (1.1): YAP Prolog interface started. 2002-03-08 Friday 10:54 Enea Zaffanella * tests/: relations1.cc (1.2), relations2.cc (1.2), relations3.cc (1.2), relations4.cc (1.2), relations5.cc (1.2), relations6.cc (1.2), relations7.cc (1.2), relations8.cc (1.2): Tests updated to correctly use the new classes Poly_Con_Relation and Poly_Gen_Relation. 2002-03-08 Friday 10:54 Enea Zaffanella * src/: GenSys.cc (1.38), GenSys.defs.hh (1.46), Polyhedron.cc (1.137), Polyhedron.defs.hh (1.83): Methods relation_with(...) updated to correctly use the new classes Poly_Con_Relation and Poly_Gen_Relation. 2002-03-08 Friday 10:38 Roberto Bagnara * src/: ConSys.defs.hh (1.32), ConSys.inlines.hh (1.12), Constraint.cc (1.17), Constraint.defs.hh (1.40), Constraint.inlines.hh (1.19), GenSys.defs.hh (1.45), GenSys.inlines.hh (1.12), Generator.cc (1.19), Generator.defs.hh (1.44), LinExpression.cc (1.10), LinExpression.defs.hh (1.23), LinExpression.inlines.hh (1.11), Matrix.cc (1.28), Matrix.defs.hh (1.16), Matrix.inlines.hh (1.15), Poly_Con_Relation.cc (1.2), Poly_Gen_Relation.cc (1.2), Polyhedron.cc (1.136), Polyhedron.defs.hh (1.82), Polyhedron.inlines.hh (1.16), Row.cc (1.28), Row.defs.hh (1.29), Row.inlines.hh (1.11), SatMatrix.cc (1.12), SatMatrix.defs.hh (1.13), SatMatrix.inlines.hh (1.8), SatRow.cc (1.6), SatRow.defs.hh (1.10), SatRow.inlines.hh (1.10), Status.cc (1.10), Status.defs.hh (1.13), Status.inlines.hh (1.7), Variable.cc (1.5), Variable.defs.hh (1.12), Variable.inlines.hh (1.6): For each operator name @ different from `new' and `delete', the syntax `operator@()' has to be preferred to `operator @'. 2002-03-08 Friday 10:25 Roberto Bagnara * src/: Poly_Con_Relation.inlines.hh (1.2), Poly_Gen_Relation.inlines.hh (1.2): Add missing `inline' qualifiers. 2002-03-08 Friday 10:00 Roberto Bagnara * src/: GenSys.cc (1.37), GenSys.defs.hh (1.44), Makefile.am (1.29), Poly_Con_Relation.cc (1.1), Poly_Con_Relation.defs.hh (1.1), Poly_Con_Relation.inlines.hh (1.1), Poly_Con_Relation.types.hh (1.1), Poly_Gen_Relation.cc (1.1), Poly_Gen_Relation.defs.hh (1.1), Poly_Gen_Relation.inlines.hh (1.1), Poly_Gen_Relation.types.hh (1.1), Polyhedron.cc (1.135), Polyhedron.defs.hh (1.81), relations.cc (1.2), relations.hh (1.3): New classes for polyhedron/constraint and polyhedron/generator relations. 2002-03-08 Friday 09:59 Roberto Bagnara * src/: Status.defs.hh (1.12), Status.inlines.hh (1.6): Only esthetics. 2002-03-07 Thursday 19:37 Roberto Bagnara * interfaces/Prolog/: GNU/Makefile.am (1.4), GNU/gp_clpq.pl (1.2), GNU/ppl_gprolog.cc (1.7), SWI/Makefile.am (1.7): GNU Prolog CLP(Q) interpreter almost working (the ack.clpq test provokes a segmentation fault though). 2002-03-07 Thursday 16:35 Patricia M. Hill * doc/definitions.dox (1.37): First part of Section 1.2 - Homogeneous Systems of the developer's manual, revised. 2002-03-07 Thursday 14:02 Roberto Bagnara * TODO (1.7): Started adding the list of minor things to do. 2002-03-07 Thursday 12:48 Elisa Ricci * tests/: Makefile.am (1.49), includes1.cc (1.7), includes2.cc (1.6), includes3.cc (1.6), includes4.cc (1.6), relations1.cc (1.1), relations2.cc (1.1), relations3.cc (1.1), relations4.cc (1.1), relations5.cc (1.1), relations6.cc (1.1), relations7.cc (1.1), relations8.cc (1.1), satisfies1.cc (1.8), satisfies2.cc (1.6), satisfies3.cc (1.7), satisfies4.cc (1.5): The tests includes1, includes2, includes3, includes4 are now renamed relations1, relations2, relations3, relations4 and the tests satisfies1, satisfies2,satisfies3, satisfies4 are renamed relations5, relations6, relations7, relations8. 2002-03-07 Thursday 12:24 Elisa Ricci * tests/: Makefile.am (1.48), exceptions1.cc (1.1): All the tests for the exceptions are now put in this file. 2002-03-07 Thursday 12:11 Roberto Bagnara * interfaces/Prolog/: check_script (1.2), clpq.pl (1.3), SICStus/sp_clpq.pl (1.2), SWI/Makefile.am (1.6), SWI/pl_clpq.cc (1.1), SWI/pl_clpq.pl (1.2): The CLP(Q) interpreter now behaves the same under SICStus and SWI-Prolog. The two version now implement the same `make check' procedure. 2002-03-07 Thursday 11:52 Enea Zaffanella * NEWS (1.16): Corrected a cut&paste error and added a note on the bug fixed in Polyhedron::add_constraints(). 2002-03-07 Thursday 11:32 Roberto Bagnara * interfaces/Prolog/: ppl_prolog.outlines.hh (1.8), GNU/ppl_gprolog.cc (1.6), SICStus/ppl_sicstus.cc (1.37), SWI/Makefile.am (1.5), SWI/ppl_swiprolog.cc (1.4): Use the names Prolog_is_cons and Prolog_get_cons instead of the ambiguous Prolog_is_list and Prolog_get_list. Bugs fixed. The CLP(Q) interpreter now works also under SWI-Prolog. 2002-03-07 Thursday 11:21 Enea Zaffanella * src/GenSys.cc (1.36): Adjusted a few comments in GenSys::relation_with(c). Also avoided using the boolean variable first_vertex_or_nonsaturating_ray when c is an equality constraint. 2002-03-07 Thursday 10:10 Enea Zaffanella * src/GenSys.cc (1.35), tests/satisfies4.cc (1.4): Method Polyhedron::relation_with(c) corrected to work as expected when c is an equality. Test satisfies4, modified to test for the right thing, now is correctly handled. 2002-03-07 Thursday 08:39 Enea Zaffanella * src/Polyhedron.cc (1.134): "steel" corrected to "steal". 2002-03-06 Wednesday 19:47 Roberto Bagnara * interfaces/Prolog/: Makefile.am (1.6), check_script (1.1), clpq.pl (1.2), clpq2.pl (1.2), expected (1.1), GNU/Makefile.am (1.3), GNU/gp_clpq.pl (1.1), GNU/ppl_gprolog.cc (1.5), SICStus/Makefile.am (1.14), SICStus/check_script (1.2), SICStus/expected (1.5), SWI/Makefile.am (1.4), SWI/pl_clpq.pl (1.1): Slow progress on the unified Prolog interfaces. 2002-03-06 Wednesday 19:22 Enea Zaffanella * src/Polyhedron.defs.hh (1.80), tests/error21.cc (1.3), tests/error22.cc (1.2), tests/includes1.cc (1.6), tests/includes2.cc (1.5), tests/includes3.cc (1.5), tests/includes4.cc (1.5): Small fix in a comment of Polyhedron.defs.hh. Modified a few tests to let them compile after the API changes. 2002-03-06 Wednesday 15:20 Enea Zaffanella * NEWS (1.15), src/relations.hh (1.2): Small change in a comment to enum Relation_Poly_Con. Added to NEWS information about the replacement of includes() and satisfies() by methods relation_with(). 2002-03-06 Wednesday 15:13 Enea Zaffanella * src/GenSys.cc (1.34), src/GenSys.defs.hh (1.43), src/Makefile.am (1.28), src/Polyhedron.cc (1.133), src/Polyhedron.defs.hh (1.79), src/relations.cc (1.1), src/relations.hh (1.1), tests/satisfies1.cc (1.7), tests/satisfies2.cc (1.5), tests/satisfies3.cc (1.6), tests/satisfies4.cc (1.3): Put under CVS control. 2002-03-06 Wednesday 15:06 Roberto Bagnara * interfaces/Prolog/: ack.clpq (1.1), ackn.clpq (1.1), clpq.pl (1.1), clpq2.pl (1.1), fib.clpq (1.1), mc91.clpq (1.1), ppl_prolog.pl (1.1), smm.clpq (1.1), smmdiff.clpq (1.1), sumto.clpq (1.1), tak.clpq (1.1), SICStus/Makefile.am (1.13), SICStus/ack.clpq (1.4), SICStus/ackn.clpq (1.2), SICStus/clpq.pl (1.28), SICStus/clpq2.pl (1.4), SICStus/fib.clpq (1.3), SICStus/mc91.clpq (1.2), SICStus/ppl_sicstus.pl (1.19), SICStus/smm.clpq (1.2), SICStus/smmdiff.clpq (1.3), SICStus/sp_clpq.pl (1.1), SICStus/sumto.clpq (1.2), SICStus/tak.clpq (1.2): Share as much sources as possible among all supported Prolog implementations. 2002-03-06 Wednesday 13:58 Roberto Bagnara * interfaces/Prolog/: ppl_prolog.outlines.hh (1.7), track_allocation.hh (1.2), SICStus/ppl_sicstus.cc (1.36), SICStus/ppl_sicstus.pl (1.18): GNU Prolog, SICStus Prolog and SWI-Prolog interfaces now share most of the code. 2002-03-06 Wednesday 11:39 Enea Zaffanella * src/GenSys.cc (1.33): In GenSys::affine_image(), rays and lines can be mapped into the origin only if the transformation is NOT invertible. 2002-03-06 Wednesday 11:27 Enea Zaffanella * src/Polyhedron.cc (1.132): Invertible affine transformations preserve both the minimality and the saturation relations of constraints and generators. 2002-03-06 Wednesday 08:00 Roberto Bagnara * interfaces/Prolog/: exceptions.hh (1.3), ppl_prolog.outlines.hh (1.6), track_allocation.hh (1.1), GNU/ppl_gprolog.cc (1.4), SWI/ppl_swiprolog.cc (1.3): GNU Prolog interface fixed. More common code between the GNU Prolog and the SWI Prolog interfaces. Allocation tracking implemented in a separate file. 2002-03-05 Tuesday 20:15 Roberto Bagnara * interfaces/Prolog/GNU/ppl_gprolog.cc (1.3): Work around a couple of bugs in GNU Prolog 1.2.8. 2002-03-05 Tuesday 19:07 Enea Zaffanella * src/GenSys.cc (1.32): Now GenSys::satisfy() correctly handles the case when c is an equality. Still have to check the case of c being an inequality. 2002-03-05 Tuesday 16:46 Enea Zaffanella * tests/satisfies4.cc (1.2): Corrected the test just inserted (and set NOISY = 0). 2002-03-05 Tuesday 15:46 Enea Zaffanella * tests/: Makefile.am (1.47), satisfies4.cc (1.1): The test satisfies4 shows a bug whereby we return SOME_SATISFY even when the considered equality constraint has an empty intersection with the polyhedron. 2002-03-05 Tuesday 14:57 Enea Zaffanella * src/Polyhedron.cc (1.131): Corrected a bug in satisfies() for the case when *this is a zero-dim univ. polyhedron. Now the test satisfies3 should pass. 2002-03-05 Tuesday 14:49 Enea Zaffanella * tests/satisfies3.cc (1.5): Test satisfies3 modified to check all the possibilities when calling Polyhedron::satisfies() on a zero-dim-universe polyhedron. The old test was meaningless, since it was saying that the wrong result was ok. This new test shows a bug that I am going to correct. 2002-03-05 Tuesday 12:31 Enea Zaffanella * src/Constraint.defs.hh (1.39): A couple of spelling errors in comments fixed. 2002-03-04 Monday 22:50 Roberto Bagnara * doc/: devref-browse.doxyconf-latex.in (1.9), devref-print.doxyconf-latex.in (1.9), devref.doxyconf-html.in (1.10): Include the Prolog interfaces into the documentation for developers. 2002-03-04 Monday 22:34 Roberto Bagnara * interfaces/Prolog/: SICStus/ppl_sicstus.cc (1.35), SWI/ppl_swiprolog.cc (1.2): Small improvements. 2002-03-04 Monday 22:33 Roberto Bagnara * interfaces/Prolog/GNU/: Makefile.am (1.2), ppl_gprolog.cc (1.2), ppl_gprolog.pl (1.1): GNU Prolog interface almost complete. 2002-03-04 Monday 17:24 Enea Zaffanella * src/simplify.cc (1.12): Adjusted the comments in the part where we check the independence rule for inequalities. 2002-03-04 Monday 17:20 Roberto Bagnara * interfaces/Prolog/: GNU/.cvsignore (1.1), SWI/.cvsignore (1.1): Put under CVS control. 2002-03-04 Monday 17:18 Roberto Bagnara * configure.ac (1.30), interfaces/Prolog/GNU/Makefile.am (1.1), interfaces/Prolog/GNU/ppl_gprolog.cc (1.1): GNU Prolog interface started. 2002-03-04 Monday 17:18 Roberto Bagnara * interfaces/Prolog/SICStus/: Makefile.am (1.12), ppl_sicstus.cc (1.34): Comment added. Do not use the preprocessor to declare constants. 2002-03-04 Monday 17:16 Roberto Bagnara * interfaces/Prolog/SWI/: Makefile.am (1.3), ppl_swi.cc (1.7), ppl_swiprolog.cc (1.1): Renamed. 2002-03-04 Monday 17:02 Roberto Bagnara * interfaces/Prolog/SWI/ppl_swi.cc (1.6): More interface functions added. 2002-03-04 Monday 16:48 Roberto Bagnara * interfaces/Prolog/SWI/Makefile.am (1.2), src/Makefile.am (1.27): Comments fixed. 2002-03-04 Monday 16:47 Roberto Bagnara * ppl.spec.in (1.8): Updated. 2002-03-04 Monday 15:39 Roberto Bagnara * configure.ac (1.29), interfaces/Prolog/exceptions.hh (1.2), interfaces/Prolog/ppl_prolog.outlines.hh (1.5), interfaces/Prolog/SICStus/ppl_sicstus.cc (1.33), interfaces/Prolog/SICStus/ppl_sicstus.pl (1.17), interfaces/Prolog/SWI/Makefile.am (1.1), interfaces/Prolog/SWI/ppl_swi.cc (1.5), interfaces/Prolog/SWI/pplpl.cc (1.1): SWI Prolog interface almost complete. 2002-03-04 Monday 14:12 Enea Zaffanella * src/Polyhedron.cc (1.130): Since the Row::capacity() method is accessible only during debugging, we no longer swap rows in Polyhedron::add_constraints() (we always swap the coefficeints). 2002-03-03 Sunday 11:13 Enea Zaffanella * src/: minimize.cc (1.16), simplify.cc (1.11): Started polishing the comments, and also the code in a few places, for the function simplify(). Adjusted a few comments in minimize(), regarding the saturation matrix. 2002-03-02 Saturday 17:27 Roberto Bagnara * interfaces/Prolog/exceptions.hh (1.1): Exceptions to be used by the Prolog interfaces. 2002-03-02 Saturday 17:25 Roberto Bagnara * interfaces/Prolog/: ppl_prolog.outlines.hh (1.4), SICStus/ppl_sicstus.cc (1.32), SICStus/ppl_sicstus.pl (1.16), SWI/ppl_swi.cc (1.4): Progress on the SWI and SICStus interfaces. More error checking added. 2002-03-02 Saturday 14:32 Roberto Bagnara * interfaces/Prolog/: ppl_prolog.outlines.hh (1.3), SICStus/ppl_sicstus.cc (1.31), SWI/ppl_swi.cc (1.3): SICStus and SWI interfaces reconciled. 2002-03-02 Saturday 09:25 Enea Zaffanella * src/Polyhedron.cc (1.129): In add_constraints(), corrected a bug whereby we were mixing constraints having different row's capoacities into a single constraint system. 2002-03-02 Saturday 09:23 Enea Zaffanella * src/minimize.cc (1.15): Small change in a comment. 2002-03-02 Saturday 09:20 Enea Zaffanella * src/Generator.defs.hh (1.43): Added the right doxygen comments to enumeration Generator::Type. The special command \hideinitializer allows to mask implementation details. 2002-03-02 Saturday 07:15 Roberto Bagnara * interfaces/Prolog/: ppl_prolog.outlines.hh (1.2), SICStus/ppl_sicstus.cc (1.30), SWI/ppl_swi.cc (1.2): Some progress on the combined SICStus/SWI interface. 2002-03-01 Friday 16:55 Enea Zaffanella * src/: Polyhedron.defs.hh (1.78), minimize.cc (1.14): Polished the function add_and_minimize(...). No longer using variable `index', which was useless. Some style changes to made the code more uniform wrt what is done in function minimize(...). Also, con_to_ray renamed into con_to_gen. 2002-03-01 Friday 16:14 Roberto Bagnara * interfaces/Prolog/SWI/ppl_swi.cc (1.1): This will become the SWI-Prolog stub. 2002-03-01 Friday 15:54 Roberto Bagnara * interfaces/Prolog/SICStus/ppl_sicstus.cc (1.29): Use ppl_prolog.outlines.hh. 2002-03-01 Friday 15:53 Roberto Bagnara * interfaces/Prolog/: Makefile.am (1.5), ppl_prolog.outlines.hh (1.1): Will try to derive as much Prolog interfaces as possible from this one. 2002-03-01 Friday 14:56 Enea Zaffanella * interfaces/Prolog/Ciao/: ppl_ciao.cc (1.2), ppl_ciao.pl (1.2): Ciao only handles integer type `int'. Added placeholders for linker and compiler options. 2002-03-01 Friday 14:20 Enea Zaffanella * interfaces/Prolog/Ciao/: ppl_ciao.cc (1.1), ppl_ciao.pl (1.1): Put under CVS control. The structure of ppl_ciao.pl is basically there, even if there still are gaps to be filled. ppl_ciao.cc, for the moment, is just a bare copy of the code written for SICStus. 2002-03-01 Friday 12:42 Elisa Ricci * src/: conversion.cc, minimize.cc (positive.[5,9]): Tried to implement a new method to compute the system of constraints of a positive polyhedron defined by its system of generators: it is controlled by the flag "POS_SIMPLEX_TRICK". 2002-02-28 Thursday 17:08 Elisa Ricci * src/conversion.cc, src/minimize.cc, src/simplify.cc, tests/Makefile.am, tests/bug7.cc, tests/bug7.dat (positive.[4,8,4,8,1,1]): We need the equalities that derived from the constraints of positivity of the variables: this resolves "bug6". Added a test that still fails. 2002-02-28 Thursday 12:44 Roberto Bagnara * TODO (1.6): Reference added. 2002-02-28 Thursday 08:44 Elisa Ricci * src/: Generator.defs.hh (1.42), Row.defs.hh (1.28): Changed the place of the comment about the inhomogeneous term of a vertex. 2002-02-27 Wednesday 19:50 Roberto Bagnara * NEWS (1.14): Better explanations. 2002-02-27 Wednesday 19:32 Roberto Bagnara * doc/: devref-browse.doxyconf-latex.in (1.8), devref-print.doxyconf-latex.in (1.8), devref.doxyconf-html.in (1.9): Predefine PPL_INTERNAL and PPL_HIDDEN. 2002-02-27 Wednesday 18:26 Elisa Ricci * NEWS (1.13), src/Polyhedron.cc (1.128), src/Polyhedron.defs.hh (1.77), tests/Makefile.am (1.46), tests/bounded1.cc (1.1): Added the function Polyhedron::is_bounded() that returns true if and only if the polyhedron is bounded. Added a test for this function. 2002-02-27 Wednesday 17:32 Enea Zaffanella * src/minimize.cc (1.13): In minimize(), added an assertion saying that matrix source is not empty. Removed a FIXME and added a comment explaining why dest is initialized as what would be a non-legal generator matrix. 2002-02-27 Wednesday 16:52 Elisa Ricci * NEWS (1.12): Added the new feature that says that PPL does not call abort(), but we have an error message and the correction of the bug of the negative denominator of the vertex. 2002-02-27 Wednesday 16:36 Elisa Ricci * src/: Generator.cc (1.18), Generator.defs.hh (1.41), Polyhedron.cc (1.127): Considered the fact that a vertex must always have a positive denominator. 2002-02-27 Wednesday 14:17 Roberto Bagnara * TODO (1.5): Non-Necessarily-Closed Polyhedra. 2002-02-27 Wednesday 14:14 Roberto Bagnara * TODO (1.4): Constructions on polyhedra. 2002-02-27 Wednesday 13:49 Roberto Bagnara * tests/generators1.cc (1.3): Print something only when NOISY. 2002-02-27 Wednesday 13:40 Roberto Bagnara * TODO (1.3): Started with the definition of strict weak ordering and with a statement about why we need one or more of them. 2002-02-27 Wednesday 11:16 Elisa Ricci * src/minimize.cc (1.12), tests/generators1.cc (1.2): Used the exception instead of the abort() and modified the test. 2002-02-27 Wednesday 10:47 Roberto Bagnara * NEWS (1.11), configure.ac (1.28), src/Makefile.am (1.26): We are now in the 0.4 era. 2002-02-27 Wednesday 10:35 Enea Zaffanella * src/minimize.cc (1.11): Polishing the comments in function minimize(). Small changes to the code (no longer using the flag empty_or_illegal). 2002-02-27 Wednesday 09:18 Elisa Ricci * tests/: Makefile.am (1.45), generators1.cc (1.1): Added a test for a polyhedron built form a system of generators with a vertex with negative denominator. 2002-02-26 Tuesday 14:16 Roberto Bagnara * configure.ac (1.27): Release number back to 0.3 i order to generate the Web pages' documentation. 2002-02-26 Tuesday 12:58 Roberto Bagnara * README (ppl-0_3-branch.2), README (1.11): Fixed. 2002-02-26 Tuesday 12:27 Roberto Bagnara * NEWS (ppl-0_3-branch.1), NEWS (1.10): Updated. 2002-02-26 Tuesday 12:20 Roberto Bagnara * README (1.10): Updated. 2002-02-26 Tuesday 12:15 Roberto Bagnara * README (ppl-0_3-branch.1): Updated. 2002-02-26 Tuesday 12:08 Roberto Bagnara * configure.ac (1.26): Bump version number: the main trunk is now in the 0.4 era. 2002-02-26 Tuesday 12:02 Roberto Bagnara * configure.ac (ppl-0_3-branch.1): Update version. 2002-02-26 Tuesday 12:02 Roberto Bagnara * ChangeLog (ppl-0_3-branch.1): Mark ChangeLog. 2002-02-26 Tuesday 11:59 Roberto Bagnara * interfaces/Prolog/SICStus/: Makefile.am (ppl-0_3-branch.1), Makefile.am (1.11): Ignore all space when comparing results. 2002-02-26 Tuesday 11:26 Roberto Bagnara * ChangeLog (1.7): Updated. 2002-02-26 Tuesday 11:21 Roberto Bagnara * NEWS (1.9): Updated. 2002-02-26 Tuesday 11:19 Roberto Bagnara * ChangeLog (1.6), config.guess (1.8), doc/definitions.dox (1.36), interfaces/Prolog/SICStus/clpq.pl (1.27), interfaces/Prolog/SICStus/clpq2.pl (1.3), interfaces/Prolog/SICStus/expected (1.4), interfaces/Prolog/SICStus/fib.clpq (1.2), interfaces/Prolog/SICStus/smmdiff.clpq (1.2), src/Constraint.defs.hh (1.38), src/GenSys.cc (1.31), src/Polyhedron.cc (1.126), tests/addconstraints11.cc (1.4), tests/addconstraints5.cc (1.5), tests/adddimensions1.cc (1.5), tests/convexdifference1.cc (1.7), tests/error28.cc (1.2), tests/error29.cc (1.2), tests/universe5.cc (1.3): Trailing blanks removed. 2002-02-26 Tuesday 10:34 Elisa Ricci * src/Polyhedron.defs.hh (1.76): Added the documentation for the exception thrown in the function Polyhedron::add_generators and Polyhedron::add_generators_and_minimize if the polyhedron is empty and the system of generators has no vertices. 2002-02-26 Tuesday 09:15 Roberto Bagnara * src/Constraint.defs.hh (1.37): Simplified the example showing how to use the Constraint::coefficient() methods. 2002-02-26 Tuesday 08:58 Roberto Bagnara * interfaces/Prolog/Prolog_interface.dox (1.15): ppl_convex_difference_assign/2 mentioned. 2002-02-26 Tuesday 02:01 Enea Zaffanella * src/conversion.cc (1.23): Another big pass on all the comments, trying to uniformize the terminology. Small changes in the code to avoid repeating tests that are useless under certain conditions. 2002-02-25 Monday 22:15 Enea Zaffanella * src/Constraint.defs.hh (1.36): Small changes in the documentation. 2002-02-25 Monday 22:01 Roberto Bagnara * Makefile.am (1.14), configure.ac (1.25), doc/Makefile.am (1.16), interfaces/Makefile.am (1.3), interfaces/Prolog/Makefile.am (1.4), interfaces/Prolog/SICStus/Makefile.am (1.10), m4/Makefile.am (1.5), m4/ac_check_gmp.m4 (1.3), src/Makefile.am (1.25), tests/Makefile.am (1.44): Limit the exceptions to the GPL. 2002-02-25 Monday 21:08 Enea Zaffanella * src/Generator.defs.hh (1.40): The example on the use of coefficient(v) modified to keep into account the divisor of the vertex and to actually check that g1 is a vertex. 2002-02-25 Monday 18:02 Enea Zaffanella * src/: Constraint.defs.hh (1.35), Generator.defs.hh (1.39): Modified the example of the use of coefficient(v) for a generator. Modified also the similar example for a constraint, now using the assignment operator. 2002-02-25 Monday 17:28 Elisa Ricci * tests/: Makefile.am (1.43), addconstraints10.cc (1.4), addconstraints11.cc (1.3), addconstraints2.cc (1.8), addconstraints4.cc (1.3), addconstraints5.cc (1.4), addconstraints6.cc (1.4), addconstraints7.cc (1.4), addconstraints8.cc (1.4), addconstraints9.cc (1.4), adddimensions1.cc (1.4), adddimensions2.cc (1.3), adddimensions3.cc (1.3), adddimensions4.cc (1.3), addgenerators1.cc (1.4), addgenerators2.cc (1.4), addgenerators3.cc (1.3), addgenerators4.cc (1.3), addgenerators5.cc (1.3), addgenerators6.cc (1.3), affineimage1.cc (1.3), affineimage2.cc (1.3), affinepreimage1.cc (1.3), affinepreimage2.cc (1.3), affinepreimage3.cc (1.2), affinepreimage4.cc (1.3), convexdifference1.cc (1.6), convexhull1.cc (1.4), convexhull2.cc (1.3), error28.cc (1.1), error29.cc (1.1), includes2.cc (1.4), includes3.cc (1.4), includes4.cc (1.4), inters3.cc (1.4), inters4.cc (1.3), inters5.cc (1.4), inters6.cc (1.3), limitedwidening1.cc (1.5), removedim2.cc (1.7), removedim3.cc (1.4), removedim4.cc (1.4), removedim5.cc (1.3), removedim6.cc (1.3), satisfies1.cc (1.6), satisfies2.cc (1.4), satisfies3.cc (1.4), universe1.cc (1.2), universe2.cc (1.2), universe3.cc (1.2), universe4.cc (1.2), universe5.cc (1.2): We use the functions of the file print.hh to print when it is possible. Added two tests for the functions Polyhedron::add_generators() and Polyhedron::add_generators_and_minimize(). 2002-02-25 Monday 17:23 Elisa Ricci * src/Polyhedron.cc (1.125): In functions Polyhedron::add_generators() and Polyhedron::add_generators_and_minimize, we throw an exception if we add a system of generators with no vertex to an empty polyhedron. 2002-02-25 Monday 17:07 Roberto Bagnara * src/globals.hh (1.9): Qualified name is not allowed in namespace member declaration. 2002-02-25 Monday 17:02 Roberto Bagnara * src/: Constraint.defs.hh (1.34), Constraint.inlines.hh (1.18), Generator.defs.hh (1.38), Generator.inlines.hh (1.19), Row.defs.hh (1.27), Row.inlines.hh (1.10): Assignments operators added for Constraint and Generator. Some cleaning meanwhile. 2002-02-25 Monday 15:32 Enea Zaffanella * src/Constraint.defs.hh (1.33): Changed the example showing how to use method coefficient(v) and is_equality(). This shows that we probably miss a public method that is capable to set the relational operator of a constraint. 2002-02-25 Monday 15:02 Elisa Ricci * tests/: addconstraints1.cc (1.4), addconstraints10.cc (1.3), addconstraints5.cc (1.3), addconstraints6.cc (1.3), addconstraints7.cc (1.3), addconstraints8.cc (1.3), addconstraints9.cc (1.3), error25.cc (1.3), includes1.cc (1.5), includes2.cc (1.3), includes3.cc (1.3), includes4.cc (1.3), inters5.cc (1.3), satisfies2.cc (1.3), satisfies3.cc (1.3): Corrected some errors in the tests. 2002-02-25 Monday 14:51 Enea Zaffanella * src/: Constraint.cc (1.16), Constraint.defs.hh (1.32), Constraint.inlines.hh (1.17), Generator.cc (1.17), Generator.defs.hh (1.37), Generator.inlines.hh (1.18): Added non-inlined methods that throw exceptions. These are now called by the inline methods coefficient(v). 2002-02-25 Monday 14:34 Roberto Bagnara * config.guess (1.7), config.sub (1.7): Updated. 2002-02-25 Monday 14:31 Roberto Bagnara * src/: Polyhedron.cc (1.124), Row.cc (1.27), Row.defs.hh (1.26): Row::first(), Row::last(), Row::next() and Row::prev() are gone. 2002-02-25 Monday 13:14 Enea Zaffanella * src/conversion.cc (1.22): Started polishing comments. Avoided swapping rows with themselves. A few other tiny improvements. 2002-02-25 Monday 12:21 Roberto Bagnara * tests/: addconstraints10.cc (1.2), addconstraints11.cc (1.2), addconstraints2.cc (1.7), addconstraints4.cc (1.2), addconstraints5.cc (1.2), addconstraints6.cc (1.2), addconstraints7.cc (1.2), addconstraints8.cc (1.2), addconstraints9.cc (1.2), adddimensions1.cc (1.3), adddimensions2.cc (1.2), adddimensions3.cc (1.2), adddimensions4.cc (1.2), addgenerators1.cc (1.3), addgenerators2.cc (1.3), addgenerators3.cc (1.2), addgenerators4.cc (1.2), addgenerators5.cc (1.2), addgenerators6.cc (1.2), affineimage2.cc (1.2), affinepreimage1.cc (1.2), affinepreimage2.cc (1.2), affinepreimage4.cc (1.2), affinetrans.cc (1.7), convexdifference1.cc (1.5), convexhull1.cc (1.3), convexhull2.cc (1.2), convexhull3.cc (1.2), error18.cc (1.2), error20.cc (1.2), error21.cc (1.2), error25.cc (1.2), error26.cc (1.2), error27.cc (1.2), error6.cc (1.3), error7.cc (1.2), error9.cc (1.2), includes1.cc (1.4), includes2.cc (1.2), includes3.cc (1.2), includes4.cc (1.2), inters3.cc (1.3), inters4.cc (1.2), inters5.cc (1.2), inters6.cc (1.2), permute.cc (1.13), print.hh (1.5), removedim3.cc (1.3), removedim4.cc (1.3), removedim5.cc (1.2), removedim6.cc (1.2), satisfies1.cc (1.5), satisfies2.cc (1.2), satisfies3.cc (1.2): Started putting some order in the way results are returned how objects are built, and how we print things in NOISY mode. While at it, a zillion of trailing blanks have been removed. 2002-02-25 Monday 12:10 Roberto Bagnara * src/Constraint.cc (1.15): Unwanted change retracted. 2002-02-25 Monday 11:43 Roberto Bagnara * src/: ConSys.defs.hh (1.31), Constraint.cc (1.14), Constraint.defs.hh (1.31), GenSys.defs.hh (1.42), Generator.defs.hh (1.36), Makefile.am (1.24), ppl_filter_doxygen.sed (1.1), ppl_filter_install.sed (1.1): Now PPL_INTERNAL means `private' everywhere we are not compiling the library itself. PPL_HIDDEN, instead, is `private' only to keep doxygen from including documentation that is not for the user. 2002-02-25 Monday 10:02 Elisa Ricci * tests/: Makefile.am (1.42), addconstraints10.cc (1.1), addconstraints11.cc (1.1), addconstraints4.cc (1.1), addconstraints5.cc (1.1), addconstraints6.cc (1.1), addconstraints7.cc (1.1), addconstraints8.cc (1.1), addconstraints9.cc (1.1), adddimensions2.cc (1.1), adddimensions3.cc (1.1), adddimensions4.cc (1.1), addgenerators3.cc (1.1), addgenerators4.cc (1.1), addgenerators5.cc (1.1), addgenerators6.cc (1.1), affineimage2.cc (1.1), affinepreimage1.cc (1.1), affinepreimage2.cc (1.1), affinepreimage3.cc (1.1), affinepreimage4.cc (1.1), convexhull2.cc (1.1), convexhull3.cc (1.1), error10.cc (1.1), error11.cc (1.1), error12.cc (1.1), error13.cc (1.1), error14.cc (1.1), error15.cc (1.1), error16.cc (1.1), error17.cc (1.1), error18.cc (1.1), error19.cc (1.1), error20.cc (1.1), error21.cc (1.1), error22.cc (1.1), error23.cc (1.1), error24.cc (1.1), error25.cc (1.1), error26.cc (1.1), error27.cc (1.1), error6.cc (1.2), error7.cc (1.1), error8.cc (1.1), error9.cc (1.1), includes2.cc (1.1), includes3.cc (1.1), includes4.cc (1.1), inters4.cc (1.1), inters5.cc (1.1), inters6.cc (1.1), removedim5.cc (1.1), removedim6.cc (1.1), satisfies2.cc (1.1), satisfies3.cc (1.1), universe1.cc (1.1), universe2.cc (1.1), universe3.cc (1.1), universe4.cc (1.1), universe5.cc (1.1): Added new tests for the functions of the Polyhedron class. 2002-02-25 Monday 09:22 Roberto Bagnara * src/conversion.cc (1.21): Two kludges (with FIXME) to continue supporting GCC 2.96. 2002-02-25 Monday 08:40 Roberto Bagnara * interfaces/Prolog/Prolog_interface.dox (1.14): Minor typos fixed. 2002-02-25 Monday 08:36 Roberto Bagnara * interfaces/Prolog/Prolog_interface.dox (1.13): Add CIAO Prolog to the list of (to be) supported systems and sort the list of prologs alphabetically. 2002-02-25 Monday 01:00 Enea Zaffanella * src/: Constraint.defs.hh (1.30), Generator.defs.hh (1.35): Added examples on the use of methods coefficient(v), coefficient() and divisor(), as well as (en passant) the method Generator::type(). 2002-02-25 Monday 00:56 Enea Zaffanella * src/Row.defs.hh (1.25): Added comments to methods first(), last(), next(...) and prev(...). 2002-02-24 Sunday 22:14 Roberto Bagnara * tests/: addconstraints2.cc (1.6), includes1.cc (1.3), satisfies1.cc (1.4): Do not use private methods. 2002-02-24 Sunday 21:28 Roberto Bagnara * src/: Init.cc (1.1), Init.defs.hh (1.1), Init.inlines.hh (1.1), Init.types.hh (1.1), Makefile.am (1.23), Row.cc (1.26), conversion.cc (1.20), globals.cc (1.3), globals.hh (1.8), initializer.hh (1.1): New standard compliant mechanism for the library initialization and finalization. New implementation for tmp_Integer (worth a speedup greater than 3%). 2002-02-24 Sunday 19:31 Enea Zaffanella * src/SatRow.inlines.hh (1.9): Spurious space in comment removed. 2002-02-24 Sunday 19:30 Enea Zaffanella * src/Generator.cc (1.16): Using function all_homogeneous_terms_are_zero() when building a ray or line to check their validity. 2002-02-24 Sunday 19:28 Enea Zaffanella * src/Generator.inlines.hh (1.17): Throwing an exception if Generator::coefficient(v) is called with a variable beyond the space-dimension. 2002-02-24 Sunday 19:27 Enea Zaffanella * src/Constraint.inlines.hh (1.16): We now throw an exception if Constraint::coefficient(v) is called with a variable which is beyond the current space-dimension. 2002-02-24 Sunday 19:25 Enea Zaffanella * src/Polyhedron.cc (1.123): Many comments adjusted. We now use the BE_LAZY flag in Polyhedron::operator<=, where we do not necessarily minimize given arguments. 2002-02-24 Sunday 19:18 Enea Zaffanella * src/GenSys.cc (1.30): Using "satisfy" instead of "verify" when talking about the relation between a generator and a constraint. 2002-02-24 Sunday 12:14 Roberto Bagnara * Makefile.am (1.13), README (1.9), configure.ac (1.24), doc/Makefile.am (1.15), doc/definitions.dox (1.35), interfaces/Makefile.am (1.2), interfaces/Prolog/Makefile.am (1.3), interfaces/Prolog/SICStus/Makefile.am (1.9), interfaces/Prolog/SICStus/clpq.pl (1.26), interfaces/Prolog/SICStus/clpq2.pl (1.2), interfaces/Prolog/SICStus/expected (1.3), m4/Makefile.am (1.4), m4/ac_check_gmp.m4 (1.2), src/ConSys.cc (1.22), src/ConSys.defs.hh (1.30), src/ConSys.inlines.hh (1.11), src/ConSys.types.hh (1.2), src/Constraint.cc (1.13), src/Constraint.defs.hh (1.29), src/Constraint.inlines.hh (1.15), src/Constraint.types.hh (1.2), src/GenSys.cc (1.29), src/GenSys.defs.hh (1.41), src/GenSys.inlines.hh (1.11), src/GenSys.types.hh (1.2), src/Generator.cc (1.15), src/Generator.defs.hh (1.34), src/Generator.inlines.hh (1.16), src/Generator.types.hh (1.2), src/Integer.cc (1.2), src/Integer.defs.hh (1.2), src/Integer.inlines.hh (1.2), src/Integer.types.hh (1.2), src/LinExpression.cc (1.9), src/LinExpression.defs.hh (1.22), src/LinExpression.inlines.hh (1.10), src/LinExpression.types.hh (1.2), src/Makefile.am (1.22), src/Matrix.cc (1.27), src/Matrix.defs.hh (1.15), src/Matrix.inlines.hh (1.14), src/Matrix.types.hh (1.2), src/Polyhedron.cc (1.122), src/Polyhedron.defs.hh (1.75), src/Polyhedron.inlines.hh (1.15), src/Polyhedron.types.hh (1.2), src/Row.cc (1.25), src/Row.defs.hh (1.24), src/Row.inlines.hh (1.9), src/Row.types.hh (1.2), src/SatMatrix.cc (1.11), src/SatMatrix.defs.hh (1.12), src/SatMatrix.inlines.hh (1.7), src/SatMatrix.types.hh (1.2), src/SatRow.cc (1.5), src/SatRow.defs.hh (1.9), src/SatRow.inlines.hh (1.8), src/SatRow.types.hh (1.2), src/Status.cc (1.9), src/Status.defs.hh (1.11), src/Status.inlines.hh (1.5), src/Status.types.hh (1.2), src/Variable.cc (1.4), src/Variable.defs.hh (1.11), src/Variable.inlines.hh (1.5), src/Variable.types.hh (1.2), src/conversion.cc (1.19), src/globals.hh (1.7), src/minimize.cc (1.10), src/ppl_header.top (1.3), src/simplify.cc (1.10), tests/Makefile.am (1.41), tests/addconstraints1.cc (1.3), tests/addconstraints2.cc (1.5), tests/addconstraints3.cc (1.2), tests/adddimensions1.cc (1.2), tests/addgenerators1.cc (1.2), tests/addgenerators2.cc (1.2), tests/affineimage1.cc (1.2), tests/affinetrans.cc (1.6), tests/append1.cc (1.8), tests/append2.cc (1.9), tests/convexdifference1.cc (1.4), tests/convexhull1.cc (1.2), tests/ehandlers.hh (1.3), tests/empty1.cc (1.6), tests/error1.cc (1.7), tests/error2.cc (1.9), tests/error3.cc (1.9), tests/error4.cc (1.4), tests/error5.cc (1.5), tests/includes1.cc (1.2), tests/inters1.cc (1.8), tests/inters2.cc (1.10), tests/inters3.cc (1.2), tests/limitedwidening1.cc (1.4), tests/limitedwidening2.cc (1.3), tests/onepoint.cc (1.2), tests/permute.cc (1.12), tests/randchull1.cc (1.10), tests/removedim1.cc (1.3), tests/removedim2.cc (1.6), tests/removedim3.cc (1.2), tests/removedim4.cc (1.2), tests/satisfies1.cc (1.3), tests/smm1.cc (1.2), doc/devref.tex (1.7), doc/user.tex (1.8): Copyright year bumped. 2002-02-23 Saturday 17:58 Roberto Bagnara * tests/convexdifference1.cc (1.3): Do not be noisy. 2002-02-23 Saturday 17:52 Roberto Bagnara * src/Polyhedron.cc (1.121), tests/convexdifference1.cc (1.2): Polyhedron::convex_difference_assign() fixed. 2002-02-23 Saturday 16:57 Enea Zaffanella * src/Polyhedron.cc (1.120): Method Polyhedron::convex_diffrence_assign corrected. The new version forces the result to be a _closed_ polyhedron. 2002-02-23 Saturday 14:06 Roberto Bagnara * NEWS (1.8), src/Polyhedron.cc (1.119), src/Polyhedron.defs.hh (1.74), tests/Makefile.am (1.40), tests/convexdifference1.cc (1.1): New methods Polyhedron::convex_difference_assign(const Polyhedron&) and Polyhedron::convex_difference_assign_and_minimize(const Polyhedron&). They assigns to *this the convex hull of the set-theoretic difference of *this and the argument (possibly non minimized or minimized, respectively). Polyhedron::convex_hull_assign() was missing the final assert(OK()). 2002-02-22 Friday 22:16 Roberto Bagnara * NEWS (1.7), src/Polyhedron.cc (1.118), src/Polyhedron.defs.hh (1.73), tests/limitedwidening1.cc (1.3), tests/limitedwidening2.cc (1.2): Polyhedron::limited_widening_assign(const Polyhedron&, ConSys&) was erroneously returning a (random) boolean: it is now a void method. 2002-02-22 Friday 19:47 Roberto Bagnara * tests/: Makefile.am (1.39), limitedwidening2.cc (1.1): New test to check that the case where the passed constraint system is inconsistent with respect to the widened polyhedron. Note: it currently fails, since Polyhedron::limited_widening_assign() is buggy, as it is now. 2002-02-22 Friday 19:45 Roberto Bagnara * tests/limitedwidening1.cc (1.2): Improved: now we check also the returned boolean. 2002-02-22 Friday 19:45 Roberto Bagnara * tests/print.hh (1.4): New functions to print the constraints and the generators. 2002-02-22 Friday 19:42 Roberto Bagnara * src/Polyhedron.cc (1.117): Readability improvements to Polyhedron::limited_widening_assign(). 2002-02-22 Friday 18:18 Roberto Bagnara * src/Polyhedron.cc (1.116): Slightly optimized operator <=(const Polyhedron& x, const Polyhedron& y). 2002-02-22 Friday 08:12 Roberto Bagnara * NEWS (1.6): Updated for release 0.3. 2002-02-20 Wednesday 19:13 Roberto Bagnara * ChangeLog (1.5): Updated. 2002-02-20 Wednesday 13:26 Enea Zaffanella * src/Polyhedron.cc (1.115): In Polyhedron::add_constraints(ConSys& cs), turned on the BE_LAZY version which does not sort matrices and does not perform unnecessary copies. 2002-02-17 Sunday 23:02 Roberto Bagnara * tests/satisfies1.cc (1.2): Avoid a compiler warning when NOISY is 0. 2002-02-17 Sunday 21:39 Roberto Bagnara * acinclude.m4 (1.2), configure.ac (1.23), interfaces/Prolog/SICStus/Makefile.am (1.8), m4/Makefile.am (1.3), m4/ac_check_gmp.m4 (1.1), m4/ac_check_gmp_exceptions.m4 (1.3), m4/ac_check_have_gmp.m4 (1.3), tests/Makefile.am (1.38): GMP configuration machinery rewritten (this should help people trying to build the PPL under CygWin). 2002-02-15 Friday 16:55 Roberto Bagnara * tests/bug6.dat (positive.2): This is the correct test data. 2002-02-15 Friday 16:37 Roberto Bagnara * tests/: bug1.cc, bug2.cc, bug3.cc, bug4.cc, bug5.cc, bug6.cc (positive.[3,2,2,2,2,2]): All the invocations of Polyhedron::OK() were misplaced. 2002-02-15 Friday 15:04 Roberto Bagnara * tests/: Makefile.am, bug6.cc, bug6.dat (positive.[7,1,1]): bug6 shows that problems minimizations problems persist. 2002-02-14 Thursday 14:05 Roberto Bagnara * configure.ac (1.22), src/Integer.cc (1.1), src/Integer.defs.hh (1.1), src/Integer.inlines.hh (1.1), src/Integer.types.hh (1.1), src/Makefile.am (1.21): Integer stuff moved up one level. 2002-02-14 Thursday 13:22 Roberto Bagnara * tests/: Makefile.am (1.37), affine_image1.cc (1.2), affineimage1.cc (1.1): For consistency, affine_image1.cc has been renamed affineimage1.cc. 2002-02-14 Thursday 13:17 Elisa Ricci * tests/: Makefile.am (1.36), adddimensions1.cc (1.1), convexhull1.cc (1.1), inters3.cc (1.1), limitedwidening1.cc (1.1), removedim4.cc (1.1): Added tests for the functions Polyhedron::add_dimensions_and_project(), Polyhedron::convex_hull_assign(), Polyhedron::intersection_assign(), Polyhedron::limited_widening_assign() and Polyhedron::remove_higher_dimensions(). 2002-02-14 Thursday 11:34 Enea Zaffanella * src/Polyhedron.cc (1.114): Added comments regarding the handling of the `sorted' flag in methods remove_dimensions and remove_higher_dimensions. 2002-02-14 Thursday 11:32 Enea Zaffanella * src/GenSys.cc (1.28): In method remove_invalid_lines_and_rays(), we do not need to keep the generators sorted (this saves efficiency, since we were always calling it with a possibly non-sorted system). Using remove_invalid_lines_and_rays() in affine_image. 2002-02-14 Thursday 10:04 Elisa Ricci * src/Generator.cc (1.14): Changed the error message and the comment in function Generator::OK(). 2002-02-14 Thursday 09:50 Enea Zaffanella * src/: GenSys.cc (1.27), Polyhedron.cc (1.113): Avoiding all shadowing of the space_dim member of a Polyhedron. Now using the accessor Polyhedron::space_dimension() only when needed. Fixed a few comments. 2002-02-14 Thursday 09:37 Elisa Ricci * src/Polyhedron.cc (1.112), tests/Makefile.am (1.35), tests/includes1.cc (1.1): Erased the abort() at the end of function Polyhedron::includes(g) and added a test for this function. 2002-02-13 Wednesday 23:45 Roberto Bagnara * configure.ac (1.21): Bump version number. 2002-02-13 Wednesday 23:42 Roberto Bagnara * src/: GenSys.cc (1.26), GenSys.defs.hh (1.40): Overload the output operator for GenSys_Con_Rel. 2002-02-13 Wednesday 23:41 Roberto Bagnara * tests/: Makefile.am (1.34), affine_image1.cc (1.1), satisfies1.cc (1.1): New test programs. 2002-02-13 Wednesday 19:08 Elisa Ricci * src/: GenSys.cc (1.25), Polyhedron.cc (1.111): Modified the function Polyhedron::satisfies(...). In function GenSys::affine_image(...) we erase the rows that have all the terms equal to zero. 2002-02-13 Wednesday 12:07 Elisa Ricci * src/minimize.cc (positive.7): In functions minimize() and add_and_minimize(), to obtain the system of constraints in the case !con_to_gen now we use conversion(). 2002-02-12 Tuesday 15:16 Roberto Bagnara * tests/: Makefile.am, bug5.cc, bug5.dat (positive.[6,1,1]): bug5 shows that we still have problems with minimization. 2002-02-12 Tuesday 10:10 Elisa Ricci * src/minimize.cc (positive.6): We must simplify also `dest' in function minimize to erase all redundant constraints in the case !con_to_gen. In functions minimize() and add_and_minimize(), in the case !con_to_gen, there was an error when we choose the constraints to erase. 2002-02-11 Monday 12:29 Roberto Bagnara * tests/: Makefile.am, bug4.cc, bug4.dat (positive.[5,1,1]): bug4 shows that we still have minimization problems. 2002-02-11 Monday 11:49 Elisa Ricci * src/minimize.cc (positive.5): In function add_and_minimize, we must simplify `dest' in the case !con_to_gen because it can contain redundant constraints. 2002-02-11 Monday 10:57 Elisa Ricci * src/: conversion.cc, minimize.cc, simplify.cc (positive.[3,4,3]): In function add_and_minimize and in the case of !con_to_gen, the system of constraints (that in this case is `dest') must contain the constraints of positivity of variables. In minimize and add_and_minimize, we must erase the constraints that are a linear combination of an equality and a constraint of positivity of variables. 2002-02-09 Saturday 07:53 Roberto Bagnara * src/Polyhedron.cc (positive.4): Error message made more specific. 2002-02-07 Thursday 16:25 Roberto Bagnara * tests/: Makefile.am, bug3.cc, bug3.dat (positive.[4,1,1]): bug3 shows that Polyhedron::minimize() does not minimize. 2002-02-07 Thursday 14:12 Roberto Bagnara * src/: SatMatrix.cc, SatMatrix.inlines.hh (positive.[1,1]): SatMatrix::columns_erase_to_end() fixed (and no longer inline). 2002-02-07 Thursday 12:25 Elisa Ricci * src/: Row.cc, minimize.cc (positive.[3,3]): Corrected an error in the function Row::only_a_term_is_positive(). In minimize and in the case !con_to_gen we must call simplify() also for the `dest' because there is the possibility that constraints that are redundant with the constraints of positivity of variables are present in dest. 2002-02-06 Wednesday 08:06 Roberto Bagnara * tests/: Makefile.am, bug2.cc, bug2.dat (positive.[3,1,1]): bug2 shows another problem this time cropping up in SatMatrix::columns_erase_to_end(). 2002-02-06 Wednesday 08:03 Roberto Bagnara * tests/bug1.cc (positive.2): Assert that the input polyhedra are OK. 2002-02-06 Wednesday 07:48 Roberto Bagnara * src/Polyhedron.cc (1.110): Error messages improved. 2002-02-05 Tuesday 22:21 Roberto Bagnara * tests/: Makefile.am, bug1.cc, bug1.dat (positive.[2,1,1]): bug1 shows a problem with Polyhedron::convex_hull_assign_and_minimize(). 2002-02-05 Tuesday 22:19 Roberto Bagnara * src/Polyhedron.cc (positive.3): The input operator now handles the `positive' flag. 2002-02-05 Tuesday 16:02 Elisa Ricci * src/Matrix.cc, src/Matrix.defs.hh, src/Polyhedron.cc, src/Polyhedron.defs.hh, src/Polyhedron.inlines.hh, src/Row.cc, src/Row.defs.hh, src/conversion.cc, src/minimize.cc, src/simplify.cc, tests/Makefile.am, tests/addconstraints1.cc, tests/addconstraints2.cc, tests/addconstraints3.cc, tests/addgenerators1.cc, tests/addgenerators2.cc, tests/affinetrans.cc, tests/append1.cc, tests/append2.cc, tests/empty1.cc, tests/error2.cc, tests/error3.cc, tests/error4.cc, tests/error5.cc, tests/error6.cc, tests/inters1.cc, tests/inters2.cc, tests/onepoint.cc, tests/permute.cc, tests/randchull1.cc, tests/removedim1.cc, tests/removedim2.cc, tests/removedim3.cc, tests/smm1.cc (positive.[1,1,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]): Considered the case of a positive poited cone (i.e. a polyhedron composed by points that satisfies the constraints of positivity of all variables). Added a test that shows that we can not add or insert a line in a positive pointed cone. All the tests use positive pointed cones. 2002-02-04 Monday 22:48 Roberto Bagnara * src/Polyhedron.cc (1.109): More concise usage of stringstreams. 2002-02-03 Sunday 07:56 Roberto Bagnara * config.guess (1.6), config.sub (1.6): Updated. 2002-02-01 Friday 15:08 Roberto Bagnara * src/: Polyhedron.cc, Polyhedron.defs.hh, Polyhedron.inlines.hh, Row.cc, Row.defs.hh, conversion.cc, minimize.cc, simplify.cc (positive.[1,1,1,1,1,1,1,1]): The work on positive polyhedra is being moved onto the `positive' branch. Phase 2: latest changes reapplied on the branch. 2002-02-01 Friday 15:02 Roberto Bagnara * src/: Polyhedron.cc (1.108), Polyhedron.defs.hh (1.72), Polyhedron.inlines.hh (1.14), Row.cc (1.24), Row.defs.hh (1.23), conversion.cc (1.18), minimize.cc (1.9), simplify.cc (1.9): The work on positive polyhedra is being moved onto the `positive' branch. Phase 1: latest changes undone. 2002-01-31 Thursday 08:35 Elisa Ricci * src/: Polyhedron.cc (1.107), Polyhedron.defs.hh (1.71), Polyhedron.inlines.hh (1.13), Row.cc (1.23), Row.defs.hh (1.22), conversion.cc (1.17), minimize.cc (1.8), simplify.cc (1.8): Started to consider the case of positive polyhedra: this part is controlled by POSITIVE. 2002-01-29 Tuesday 17:55 Roberto Bagnara * configure.ac (1.20): Tell the user how to configure GMP. 2002-01-29 Tuesday 15:41 Elisa Ricci * src/Polyhedron.cc (1.106): In function Polyhedron::remove_higher_dimensions, erased the command `size_t space_dim = space_dimension()' because it caused a problem. 2002-01-29 Tuesday 11:10 Roberto Bagnara * configure.ac (1.19), interfaces/Prolog/SICStus/ppl_sicstus.cc (1.28), m4/ac_check_gmp_exceptions.m4 (1.2), m4/ac_check_have_gmp.m4 (1.2), src/Constraint.cc (1.12), src/Constraint.inlines.hh (1.14), src/Generator.cc (1.13), src/Generator.defs.hh (1.33), src/LinExpression.cc (1.8), src/LinExpression.inlines.hh (1.9), src/Matrix.cc (1.26), src/Matrix.inlines.hh (1.13), src/Polyhedron.defs.hh (1.70), src/Row.cc (1.22), src/Row.defs.hh (1.21), src/conversion.cc (1.16), src/globals.hh (1.6), tests/randchull1.cc (1.9): We now use the integer C++ class of GMP, instead of baking our own. Note: we now require GMP 4.0.1 or higher. 2002-01-29 Tuesday 08:45 Roberto Bagnara * src/Makefile.am (1.20): Finish backing out the unwanted commit. 2002-01-29 Tuesday 08:34 Roberto Bagnara * src/Polyhedron.cc (1.105): Better formatting for error messages. 2002-01-29 Tuesday 08:33 Roberto Bagnara * src/: Constraint.cc (1.11), Constraint.inlines.hh (1.13), Generator.cc (1.12), Generator.defs.hh (1.32), LinExpression.cc (1.7), LinExpression.inlines.hh (1.8), Matrix.cc (1.25), Matrix.defs.hh (1.14), Matrix.inlines.hh (1.12), Polyhedron.cc (1.104), Polyhedron.defs.hh (1.69), Row.cc (1.21), Row.defs.hh (1.20), conversion.cc (1.15), globals.hh (1.5): Back out previous commit. 2002-01-29 Tuesday 08:23 Roberto Bagnara * src/: Constraint.cc (1.10), Constraint.inlines.hh (1.12), Generator.cc (1.11), Generator.defs.hh (1.31), LinExpression.cc (1.6), LinExpression.inlines.hh (1.7), Makefile.am (1.19), Matrix.cc (1.24), Matrix.defs.hh (1.13), Matrix.inlines.hh (1.11), Polyhedron.cc (1.103), Polyhedron.defs.hh (1.68), Row.cc (1.20), Row.defs.hh (1.19), conversion.cc (1.14), globals.hh (1.4): Better formatting for error messages. 2002-01-29 Tuesday 07:53 Roberto Bagnara * interfaces/Prolog/SICStus/ppl_sicstus.cc (1.27): Fix a couple of namespace and include file glitches. 2002-01-27 Sunday 22:42 Roberto Bagnara * configure.ac (1.18), ppl.spec.in (1.7), doc/Makefile.am (1.14), interfaces/Prolog/SICStus/Makefile.am (1.7), src/Makefile.am (1.18), tests/Makefile.am (1.33): The move to libtool is complete: we can now build and distribute (with, e.g., RPM) static and dynamic versions of the library. 2002-01-27 Sunday 17:44 Roberto Bagnara * config.h.in (1.12), configure.ac (1.17), ltmain.sh (1.1): Start to migrate to libtool. 2002-01-27 Sunday 15:36 Enea Zaffanella * src/Constraint.defs.hh (1.28): Fixed a typo in a (documentation) comment. 2002-01-19 Saturday 15:43 Roberto Bagnara * src/: ConSys.defs.hh (1.29), ConSys.inlines.hh (1.10), GenSys.defs.hh (1.39), GenSys.inlines.hh (1.10): ConSys and GenSys were both missing the assignment operator. 2002-01-14 Monday 08:39 Roberto Bagnara * config.guess (1.5), config.sub (1.5): Updated. 2001-12-23 Sunday 22:28 Roberto Bagnara * src/Row.cc (1.19): Include maxmin.hh. 2001-12-20 Thursday 09:21 Elisa Ricci * src/Polyhedron.cc (1.102): Modified the part of function Polyhedron::add_constraints(cs) that is controlled by "#if 0": used Matrix::grow(size_t, size_t) instead of resize(size_t, size_t) and swap instead of "=", where it is possible. 2001-12-15 Saturday 11:58 Roberto Bagnara * interfaces/Prolog/SICStus/Makefile.am (1.6): Distribute also clpq2.pl. 2001-12-15 Saturday 11:45 Roberto Bagnara * src/: Matrix.cc (1.23), Polyhedron.cc (1.101), conversion.cc (1.13): Some comments fixed. 2001-12-14 Friday 16:06 Patricia M. Hill * interfaces/Prolog/SICStus/smmdiff.clpq (1.1): smmdiff.clpq is based on smm.clpq and solves the classic send-more-money problem so that each variable is bound to a unique number. 2001-12-14 Friday 16:04 Patricia M. Hill * interfaces/Prolog/SICStus/clpq2.pl (1.1): clpq2.pl is an alternative meta-interpreter with some extra features, including disjunction. 2001-12-13 Thursday 16:52 Elisa Ricci * tests/: Makefile.am (1.32), addgenerators1.cc (1.1), addgenerators2.cc (1.1): Added a test for the function Polyhedron::add_generators_and_minimize(gs) and one for the function Polyhedron::add_generators(gs). 2001-12-13 Thursday 16:50 Elisa Ricci * src/: Polyhedron.cc (1.100), Polyhedron.defs.hh (1.67): The function Polyhedron::add_generators(gs) now is called Polyhedron::add_generators_and_minimize(gs). Added the function Polyhedron::add_generators(gs) that adds the system of generators "gs" to the polyhedron without minimizing the resulting polyhedron. 2001-12-13 Thursday 11:35 Elisa Ricci * src/Polyhedron.cc (1.99): In functions Polyhedron::add_constraints() and add_constraints_and_minimize() improved the comments for the case of a zero-dimensional polyhedron. 2001-12-13 Thursday 08:59 Roberto Bagnara * src/Polyhedron.cc (1.98): Some comments have been improved. 2001-12-12 Wednesday 18:43 Roberto Bagnara * tests/: Makefile.am (1.31), bug1.cc (1.2), bug2.cc (1.2): Obsolete bug witnesses removed. 2001-12-12 Wednesday 18:41 Roberto Bagnara * tests/: Makefile.am (1.30), addconstraints3.cc (1.1): New test. 2001-12-12 Wednesday 18:31 Roberto Bagnara * src/: Generator.cc (1.10), Generator.defs.hh (1.30), LinExpression.defs.hh (1.21), Matrix.cc (1.22), Polyhedron.cc (1.97), Polyhedron.defs.hh (1.66), Polyhedron.inlines.hh (1.12), Row.cc (1.18), Row.defs.hh (1.18), conversion.cc (1.12), minimize.cc (1.7), simplify.cc (1.7): Kill trailing blanks. 2001-12-12 Wednesday 18:26 Roberto Bagnara * src/Row.cc (1.17): The function compare(const Row& x, const Row& y) can now compare rows of different size. 2001-12-12 Wednesday 17:16 Elisa Ricci * src/: Polyhedron.cc (1.96), Polyhedron.inlines.hh (1.11): The function Polyhedron::set_zero_dim_univ() is now in Polyhedron.cc (instead of Polyhedron.inlines.hh), says that a zero-dimensional polyhedron is in a 0-dimensional space and clears the system of the polyhedron. Used "space_dim" instead of "space_dimension()" (where we call this function many times). 2001-12-12 Wednesday 14:58 Roberto Bagnara * src/Polyhedron.cc (1.95): Some minor improvements. 2001-12-11 Tuesday 22:39 Roberto Bagnara * src/Polyhedron.cc (1.94): Bad uses of the negation operator `!' have been fixed. Some comments improved. 2001-12-11 Tuesday 19:10 Roberto Bagnara * src/: SatMatrix.cc (1.10), SatMatrix.defs.hh (1.11): Wrong comments fixed. 2001-12-11 Tuesday 19:05 Roberto Bagnara * src/SatMatrix.defs.hh (1.10): Spurious declarations removed: two methods were declared and never used nor implemented. 2001-12-11 Tuesday 18:59 Roberto Bagnara * src/: Matrix.defs.hh (1.12), Matrix.inlines.hh (1.10): Comments for Matrix::clear() adjusted. 2001-12-11 Tuesday 18:59 Roberto Bagnara * src/: SatMatrix.cc (1.9), SatMatrix.defs.hh (1.9), SatMatrix.inlines.hh (1.6): SatMatrix::clear() was complete nonsense: rewritten. 2001-12-11 Tuesday 17:10 Roberto Bagnara * src/Matrix.inlines.hh (1.9): Matrix::clear() now releases as much memory as possible. 2001-12-11 Tuesday 16:44 Roberto Bagnara * doc/: devref.tex (1.6), user.tex (1.7): People that are no longer contributing or willing to contribute take a back seat (will simplify the publication of the documentation as a technical report). 2001-12-11 Tuesday 11:21 Roberto Bagnara * src/SatRow.inlines.hh (1.7): Much more efficient (and concise) implementation for SatRow::clear_from(). 2001-12-11 Tuesday 10:18 Roberto Bagnara * src/: Polyhedron.cc (1.93), Polyhedron.defs.hh (1.65): Comments added for Polyhedron::remove_higher_dimensions(). 2001-12-11 Tuesday 09:53 Roberto Bagnara * src/Polyhedron.cc (1.92): Polyhedron::Polyhedron(ConSys& cs) improved. 2001-12-11 Tuesday 00:09 Roberto Bagnara * src/: Matrix.cc (1.21), Matrix.defs.hh (1.11): Always compile Matrix::check_sorted(). Matrix::OK() fixed: the symbols `cerr' and `endl' live in the `std' namespace. 2001-12-11 Tuesday 00:04 Roberto Bagnara * src/: Matrix.cc (1.20), Matrix.inlines.hh (1.8), Polyhedron.cc (1.91): A default-constructed (empty) Matrix is now declared as sorted. Matrix::grow() was not handling the `sorted' flag correctly: fixed. Matrix::add_zero_columns() is now an inline method. Matrix::OK() now checks that the `sorted' flag is set only if the matrix is actually sorted. Matrix::add_rows_and_columns() now asserts OK() before returning. Some comments fixed. 2001-12-10 Monday 16:26 Roberto Bagnara * src/SatMatrix.cc (1.8): SatMatrix::resize() was not shrinking the matrix when requested to do so: fixed. 2001-12-10 Monday 12:31 Roberto Bagnara * src/SatMatrix.cc (1.7): Added speculative memory allocation for SatMatrix. 2001-12-10 Monday 08:35 Roberto Bagnara * src/: Polyhedron.cc (1.90), Row.defs.hh (1.17): Some comments have been fixed. 2001-12-09 Sunday 11:26 Roberto Bagnara * configure.ac (1.16): Bump version number so as to avoid confusion. 2001-12-08 Saturday 10:40 Roberto Bagnara * interfaces/Prolog/SICStus/expected (1.2), src/Row.defs.hh (1.16): EXTRA_NORMALIZATION defaults to 0. Expected outcome from the clpq test updated. 2001-12-05 Wednesday 18:58 Elisa Ricci * src/: ConSys.cc (1.21), GenSys.cc (1.24), Matrix.cc (1.19), Matrix.defs.hh (1.10), Polyhedron.cc (1.89), Row.cc (1.16), Row.defs.hh (1.15), conversion.cc (1.11): The method Row::normalize() has been restored so that it only ensures coefficients are mutually prime. The new method Row::strong_normalize() also ensures that the first non-zero coefficient of lines and equalities is negative. The new method Matrix::strong_normalize() that calls strongly normalizes each row. Strong normalization is now used wherever it is guaranteed to be both safe and efficient. The "EXTRA_NORMALIZATION" flag is used to decide whether strong_normalization is also used in Row::libear_combine() (since in this case strong normalization can incur performance penalties). 2001-12-03 Monday 09:16 Elisa Ricci * src/Row.cc (1.15): Changed the function Row::normalize() so that the first coefficient different from zero is negative (and not positive). 2001-12-02 Sunday 16:09 Elisa Ricci * src/: Matrix.cc (1.18), Polyhedron.cc (1.88), Row.cc (1.14): In Polyhedron::intersection_assign_and_minimize added the assertion to verify if the resulting polyhedron is OK. In function Row::normalize() if we normalize an equality or a line, we decide that the first element of the corresponding row is positive. In function Matrix::back_substitute(), if we call linear_combine with an equality and an inequality, we must change the coefficients of the equality so that the coefficient of the inequality in the linear combination is non-negative. 2001-11-26 Monday 17:59 Roberto Bagnara * config.guess (1.4), config.sub (1.4): Updated. 2001-11-26 Monday 17:25 Roberto Bagnara * interfaces/Prolog/SICStus/ppl_sicstus.cc (1.26): Typo fixed. 2001-11-21 Wednesday 19:26 Elisa Ricci * src/Polyhedron.cc (1.87): Changed the message of some exceptions: where it is possible we use the functions `throw_different_dimensions' and `throw_dimension_incompatible'. 2001-11-20 Tuesday 20:42 Roberto Bagnara * interfaces/Prolog/SICStus/clpq.pl (1.25): End-of-line characters left behind be read_term/2 are now eaten. 2001-11-13 Tuesday 21:57 Roberto Bagnara * ChangeLog (1.4): Updated. 2001-11-13 Tuesday 21:55 Roberto Bagnara * NEWS (1.5): Mention that we have greatly improved the documentation. 2001-11-13 Tuesday 21:48 Roberto Bagnara * ChangeLog (1.3): Updated. 2001-11-13 Tuesday 21:27 Roberto Bagnara * interfaces/Prolog/Prolog_interface.dox (1.12): Use `| ?-' everywhere a goal is introduced. 2001-11-13 Tuesday 21:16 Roberto Bagnara * interfaces/Prolog/Prolog_interface.dox (1.11): `E.g.' and `i.e.' must always be followed by comma. There are no exceptions to this rule. 2001-11-13 Tuesday 18:14 Patricia M. Hill * interfaces/Prolog/Prolog_interface.dox (1.10): Documentation for ppl_add_consraints_and _minimize and for ppl_copy_polyhedron added. Two examples for ppl_insert_constraints added that compare with examples for those for ppl_add_consraints_and_minimize. Introductory sentence added. "To be written" replaced by "Support for XXX ...future release." 2001-11-13 Tuesday 17:38 Roberto Bagnara * README (1.8): Updated for release 0.2. 2001-11-13 Tuesday 17:29 Roberto Bagnara * configure.ac (1.15): Version number bumped to 0.2. 2001-11-13 Tuesday 17:21 Roberto Bagnara * NEWS (1.4): PPL 0.2 will be released on November 14, 2001. 2001-11-13 Tuesday 16:48 Roberto Bagnara * interfaces/Prolog/SICStus/Makefile.am (1.5): Packaging issues solved. 2001-11-13 Tuesday 15:48 Roberto Bagnara * interfaces/Prolog/SICStus/: Makefile.am (1.4), check_script (1.1), expected (1.1): Use the meta-interpreter for `make check'. 2001-11-13 Tuesday 15:47 Roberto Bagnara * interfaces/Prolog/SICStus/clpq.pl (1.24): reconsult(File) command fixed. 2001-11-13 Tuesday 15:04 Roberto Bagnara * interfaces/Prolog/SICStus/ppl_check.pl (1.7): Gone, at last. 2001-11-13 Tuesday 15:03 Roberto Bagnara * interfaces/Prolog/SICStus/clpq.pl (1.23): Legalese added. 2001-11-13 Tuesday 10:02 Roberto Bagnara * interfaces/Prolog/SICStus/clpq.pl (1.22): Better support for debugging. Now the `spy' command works as expected by most Prolog users. 2001-11-13 Tuesday 09:20 Roberto Bagnara * interfaces/Prolog/SICStus/tak.clpq (1.1): New test program. 2001-11-13 Tuesday 09:20 Roberto Bagnara * interfaces/Prolog/SICStus/: ack.clpq (1.3), ackn.clpq (1.1): ack.clpq is the original version whereas ackn.clpq is the normalized version. 2001-11-12 Monday 22:33 Roberto Bagnara * interfaces/Prolog/SICStus/clpq.pl (1.21): Fixed a bug whereby original_goal_variables/1 was not retracted in some cases. Multiple clauses for original_goal_variables/1 were causing the use of already discarded polyhedra. 2001-11-12 Monday 22:31 Roberto Bagnara * interfaces/Prolog/SICStus/ppl_sicstus.cc (1.25): When compiled with run-time assertions switched on, the interface now checks that the Prolog caller is not messing around with Polyhedron's addresses. 2001-11-12 Monday 17:42 Roberto Bagnara * interfaces/Prolog/SICStus/clpq.pl (1.20): Use ppl_add_constraints_and_minimize/2 instead of adding one constraint at a time and then checking for emptiness. 2001-11-12 Monday 17:41 Roberto Bagnara * interfaces/Prolog/SICStus/: ppl_sicstus.cc (1.24), ppl_sicstus.pl (1.15): New interface predicate ppl_add_constraints_and_minimize/2. 2001-11-12 Monday 16:57 Roberto Bagnara * interfaces/Prolog/SICStus/clpq.pl (1.19): Fixed bug in read_clauses/1: now unit clauses are read correctly. 2001-11-12 Monday 16:48 Roberto Bagnara * interfaces/Prolog/SICStus/clpq.pl (1.18): The meta-interpreter core has been rewritten. Computed answer constraints are also output in a readable way with variables named as in the original goal. 2001-11-12 Monday 16:44 Patricia M. Hill * interfaces/Prolog/Prolog_interface.dox (1.9): General improvements throughout the file. 2001-11-12 Monday 09:23 Patricia M. Hill * interfaces/Prolog/Prolog_interface.dox (1.8): A linear expression for defining constraints or generators can only have integer coefficients. Therefore division by a number is not allowed and option removed from the grammar rules. Also a number can multiply a PPL variable but not an arbitrary linear expression. 2001-11-11 Sunday 18:19 Roberto Bagnara * config.guess (1.3), config.sub (1.3): Updated. 2001-11-11 Sunday 18:18 Roberto Bagnara * interfaces/Prolog/SICStus/Makefile.am (1.3): Missing dependency added: pplsp depends on the library. Do not assume `.' is in PATH. 2001-11-11 Sunday 17:31 Roberto Bagnara * src/: Constraint.defs.hh (1.27), Constraint.inlines.hh (1.11), Generator.defs.hh (1.29), Generator.inlines.hh (1.15), Row.defs.hh (1.14): std::swap() specialized both for Constraint and Generator. Less verbose comments for such a simple operation. 2001-11-11 Sunday 17:29 Roberto Bagnara * src/GenSys.cc (1.23): Spurious assertions removed. 2001-11-11 Sunday 17:27 Roberto Bagnara * src/: ConSys.defs.hh (1.28), ConSys.inlines.hh (1.9), GenSys.cc (1.22), GenSys.defs.hh (1.38), GenSys.inlines.hh (1.9): ConSys::swap() and GenSys::swap() removed: they are inherited from Matrix. GenSys::remove_invalid_lines_and_rays() implemented. 2001-11-11 Sunday 16:03 Roberto Bagnara * src/: GenSys.cc (1.21), GenSys.defs.hh (1.37), Polyhedron.cc (1.86): Use Constraint::trivial_true() and Constraint::trivial_false(). Prepare to remove invalid line and rays from a GenSys. This is necessary in the Polyhedron::remove_...() methods. 2001-11-11 Sunday 16:01 Roberto Bagnara * src/ConSys.cc (1.20): Use Constraint::is_trivial_true(). 2001-11-11 Sunday 15:43 Roberto Bagnara * src/: Generator.cc (1.9), Generator.defs.hh (1.28): Added `bool Generator::OK() const'. 2001-11-11 Sunday 15:40 Roberto Bagnara * src/: Constraint.cc (1.9), Constraint.defs.hh (1.26): Constraint::is_trivial() renamed is_trivial_true(). Constraint::is_unsatisfiable() renamed is_trivial_false(). Both now use Row::all_homogeneous_terms_are_zero(). 2001-11-11 Sunday 15:38 Roberto Bagnara * src/: Row.cc (1.13), Row.defs.hh (1.13): Added `bool Row::all_homogeneous_terms_are_zero() const'. 2001-11-11 Sunday 12:05 Roberto Bagnara * src/Polyhedron.cc (1.85): All other things being equal, prefer pre-increment/decrement to post-increment/decrement. 2001-11-10 Saturday 20:51 Roberto Bagnara * tests/: append1.cc (1.7), append2.cc (1.8), permute.cc (1.11): Infamous relops are already neutralized in ppl_install.hh. 2001-11-09 Friday 19:49 Roberto Bagnara * tests/: Makefile.am (1.29), smm1.cc (1.1): New test program. 2001-11-09 Friday 18:28 Patricia M. Hill * interfaces/Prolog/SICStus/clpq.pl (1.17): Now clpq.pl does not require the lists module. 2001-11-09 Friday 17:45 Patricia M. Hill * interfaces/Prolog/SICStus/clpq.pl (1.16): Now a vertex is inserted before any lines or rays. This avoids a bug when inserting generators into the empty polyhedron. 2001-11-09 Friday 16:21 Roberto Bagnara * interfaces/Prolog/SICStus/clpq.pl (1.15): Now the interpreter answers "yes" or "no". The listing/0 command has been improved. 2001-11-09 Friday 15:50 Roberto Bagnara * src/: Matrix.cc (1.17), Matrix.defs.hh (1.9), Polyhedron.cc (1.84), Row.cc (1.12), Row.defs.hh (1.12), conversion.cc (1.10): Another go at smart memory allocation. 2001-11-09 Friday 15:49 Roberto Bagnara * tests/addconstraints2.cc (1.4): Catch standard exceptions. 2001-11-09 Friday 14:22 Patricia M. Hill * interfaces/Prolog/Prolog_interface.dox (1.7): Corrections and improvements as suggested by Enea implemented. Other corrections done and examples added. 2001-11-09 Friday 13:19 Patricia M. Hill * interfaces/Prolog/SICStus/clpq.pl (1.14): Now there are no calls to the ppl_convex_hull_assign operation. This version keeps the list of generators and uses that to recover from failure paths. 2001-11-09 Friday 08:48 Patricia M. Hill * interfaces/Prolog/SICStus/clpq.pl (1.13): Now many of the unwanted temporary copies of polyhedra are deleted earlier. 2001-11-08 Thursday 22:23 Patricia M. Hill * interfaces/Prolog/Prolog_interface.dox (1.6): More detailed specification of the interface predicates with many examples added. Introduction includes grammar rules and list of some important issues wrt using the PPL in Prolog. 2001-11-08 Thursday 17:37 Patricia M. Hill * interfaces/Prolog/SICStus/clpq.pl (1.12): Each constraint output on a new line. 2001-11-08 Thursday 15:32 Patricia M. Hill * interfaces/Prolog/SICStus/ppl_sicstus.pl (1.14): Comment containing documentation removed. 2001-11-08 Thursday 15:30 Patricia M. Hill * interfaces/Prolog/SICStus/clpq.pl (1.11): The main polyhedron is now deleted when solve(goal) fails. 2001-11-08 Thursday 12:52 Patricia M. Hill * interfaces/Prolog/SICStus/clpq.pl (1.10): Unwanted polyhedra are deleted now when calls to solve/7 fail. 2001-11-08 Thursday 11:37 Roberto Bagnara * src/Matrix.cc (1.16): Matrix::resize_no_copy() now deals with the case where the vector of rows must be reallocated. 2001-11-08 Thursday 10:34 Patricia M. Hill * interfaces/Prolog/Prolog_interface.dox (1.5): Detailed predicate descriptions drafted for SICStus Prolog. 2001-11-08 Thursday 08:33 Patricia M. Hill * interfaces/Prolog/SICStus/clpq.pl (1.9): Some improvements to the efficiency by replacing calls to member/2 by member_check/2 and by reducing the number of calls to ppl_check_empty. Also, numbervars/3 replaced by numvars/3 defined within clpq.pl. 2001-11-07 Wednesday 13:38 Patricia M. Hill * interfaces/Prolog/SICStus/ppl_sicstus.pl (1.13): First draft of documentation for ppl_sicstus.pl the interface for Prolog. 2001-11-07 Wednesday 11:20 Patricia M. Hill * interfaces/Prolog/SICStus/clpq.pl (1.8): This version tries to reduce the amount of memory leakage between requests for more solutions and between tests. 2001-11-06 Tuesday 16:55 Patricia M. Hill * interfaces/Prolog/SICStus/clpq.pl (1.7): More small improvements made. 2001-11-06 Tuesday 16:04 Patricia M. Hill * interfaces/Prolog/SICStus/: ack.clpq (1.2), clpq.pl (1.6): clpq.pl: The comments have been corrected and some simplifications to the code. ack.clpq: A bug in the second clause corrected. 2001-11-06 Tuesday 15:20 Patricia M. Hill * interfaces/Prolog/SICStus/clpq.pl (1.5): Temporary version. This is working but needs commenting and further checking. 2001-11-05 Monday 11:36 Elisa Ricci * src/ConSys.cc (1.19), src/ConSys.defs.hh (1.27), src/GenSys.cc (1.20), src/GenSys.defs.hh (1.36), src/Polyhedron.cc (1.83), src/Polyhedron.defs.hh (1.64), tests/affinetrans.cc (1.5), tests/error2.cc (1.8): Changed the name of some functions: Polyhedron::assign_variable --> Polyhedron::affine_image Polyhedron::substitute_variable --> Polyhedron::affine_preimage GenSys::assign_variable --> GenSys::affine_image ConSys::substitute_variable --> ConSys::affine_preimage The new names are used in the examples and in the tests. 2001-11-05 Monday 10:49 Roberto Bagnara * interfaces/Prolog/SICStus/smm.clpq (1.1): A new example program. 2001-11-05 Monday 09:57 Elisa Ricci * src/Polyhedron.cc (1.82): At the end of the functions Polyhedron::add_dimensions_and_project and Polyhedron::add_dimensions_and_constraints, we can have an empty polyhedron without the flag EMPTY sets: so, the assertion OK() is modified not to verify if the system of constraints is satisfiable. 2001-11-05 Monday 09:00 Roberto Bagnara * interfaces/Prolog/SICStus/: ack.clpq (1.1), fib.clpq (1.1), mc91.clpq (1.1), sumto.clpq (1.1): Small programs to test clpq.pl. 2001-11-05 Monday 08:57 Roberto Bagnara * src/Polyhedron.cc (1.81): The final OK() assertion of Polyhedron::add_dimensions_and_embed() has been modified so as to allow for empty polyhedra. Needs checking. A similar analysis must be conducted on Polyhedron::add_dimensions_and_project(). 2001-11-05 Monday 08:29 Roberto Bagnara * interfaces/Prolog/SICStus/clpq.pl (1.4): Let `.clpq' be the default extension. 2001-11-05 Monday 07:56 Roberto Bagnara * src/: Makefile.am (1.17), Matrix.cc (1.15), Matrix.inlines.hh (1.7), Row.defs.hh (1.11), Row.inlines.hh (1.8), globals.hh (1.3): Speculative memory allocation is now completely implemented. The function `size_t compute_capacity(size_t requested_size)' is now in namespace scope, since it is used both for Row's and for Matrix columns. Its current implementation (2*(requested_size+1)) is to be considered experimental. 2001-11-04 Sunday 22:18 Roberto Bagnara * doc/definitions.dox (1.34): Doxygen no longer causes a spurious string of characters in the user manual. 2001-11-04 Sunday 22:16 Roberto Bagnara * src/Matrix.cc (1.14): In Matrix(const Matrix& y) the right row-capacity is computed for the copy. 2001-11-04 Sunday 19:11 Roberto Bagnara * src/Matrix.cc (1.13): The methods Matrix::add_row(...) are now careful with respect to reallocation of the `rows' vector. The stage is now ready for speculative memory allocation. 2001-11-04 Sunday 19:08 Roberto Bagnara * src/: Constraint.defs.hh (1.25), Constraint.inlines.hh (1.10), Polyhedron.cc (1.80): Added and used `const Constraint& Constraint::zero_dim_positivity()'. 2001-11-04 Sunday 15:59 Elisa Ricci * src/Polyhedron.cc (1.79): 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). 2001-11-04 Sunday 15:28 Roberto Bagnara * src/Polyhedron.cc (1.78): Polyhedron::remove_...() methods improved. 2001-11-04 Sunday 12:56 Elisa Ricci * src/Matrix.cc (1.12): A wrong comment erased: it is not true that the Row::linear_combine changes the flag `sorted' of the matrix. 2001-11-04 Sunday 12:22 Elisa Ricci * src/Polyhedron.cc (1.77): 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. 2001-11-04 Sunday 12:01 Elisa Ricci * src/Matrix.cc (1.11): 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. 2001-11-04 Sunday 10:25 Roberto Bagnara * interfaces/Prolog/SICStus/ppl_sicstus.cc (1.23): ppl_intersection_assign/2 calls Polyhedron::intersection_assign(). 2001-11-04 Sunday 09:38 Roberto Bagnara * src/: ConSys.cc (1.18), GenSys.cc (1.19), Makefile.am (1.16), Matrix.cc (1.10), Matrix.defs.hh (1.8), Matrix.inlines.hh (1.6), Polyhedron.cc (1.76), Row.cc (1.11), Row.defs.hh (1.10), Row.inlines.hh (1.7), SatRow.inlines.hh (1.6), conversion.cc (1.9), globals.cc (1.2), globals.hh (1.2), minimize.cc (1.6): OK() methods changed to allow for ConSys and GenSys with a single column. Temporary Integer's now incapsulated into a function: the source globals.cc is no longer necessary. The funcionality of Matrix::compute_row_capacity() is now provided by Row::compute_capacity(). Tracking of capacity improved (there are still several problems though). Matrix::sort_rows() rewritten: the STL algorithms keep the freedom of making copies of rows and we cannot accept that. Temporaty kludges added to the Matrix::add_row() methods: if the rows vector must grow, the implementation will copy the rows changing their capacity. A proper solution to this problem must be found. OK() safety checks added tp Polyhedron::remove_dimensions() and Polyhedron::remove_higher_dimensions(). Polyhedron::remove_dimensions() and Polyhedron::remove_higher_dimensions() where not clearing the "generators are minimized" flag. With this change the flag is cleared a bit too often. A proper solution must be found. Polyhedron::remove_dimensions() and Polyhedron::remove_higher_dimensions() now use Matrix::resize_no_copy() instead of Matrix::resize() in order to shrink matrices. Row::OK() added and used. When compiling with assertions each rows brings its own capacity in the capacity_ flag. The consistency of this information is checked by Row::OK() which, in turn, is called by Matrix::OK() for each row of the matrix. For internal use, the capacity_ field can be accessed by `size_t Row::capacity() const'. `void Row::assign(Row& y)' added to assign the implementation of y to *this. `std::iter_swap()' specialized both for vector and vector. 2001-11-04 Sunday 08:50 Roberto Bagnara * tests/: Makefile.am (1.28), bug2.cc (1.1): bug2.cc shows a problem whereby we do not correctly keep track of the status of saturation matrices. 2001-11-04 Sunday 08:29 Roberto Bagnara * tests/: Makefile.am (1.27), bug1.cc (1.1): bug1.cc shows a problem with the tracking of matrix sortedness. 2001-11-03 Saturday 17:08 Roberto Bagnara * tests/append1.cc (1.6): Two assertions added: they prove that Polyhedron::remove_dimensions() is broken. 2001-11-03 Saturday 13:49 Enea Zaffanella * src/: ConSys.defs.hh (1.26), GenSys.defs.hh (1.35): "no guarantee at all" changed into "no guarantees" as suggested by Pat. 2001-11-03 Saturday 10:45 Elisa Ricci * src/Polyhedron.cc (1.75): In a comment correct an error: there was "systemo" instead of "system". 2001-11-03 Saturday 10:40 Elisa Ricci * interfaces/Prolog/SICStus/ppl_sicstus.cc (1.22), src/Polyhedron.cc (1.74), src/Polyhedron.defs.hh (1.63), tests/inters1.cc (1.7), tests/inters2.cc (1.9): The function Polyhedron::intersection_assign now is Polyhedron::intersection_assign_and_minimize. Added a new function Polyhedron::intersection_assign that computes the intersection between x and y without minimizing the result. 2001-11-02 Friday 17:55 Roberto Bagnara * interfaces/Prolog/SICStus/clpq.pl (1.3): Use ppl_remove_higher_dimensions/2. 2001-11-02 Friday 17:54 Roberto Bagnara * interfaces/Prolog/SICStus/: ppl_sicstus.cc (1.21), ppl_sicstus.pl (1.12): Added ppl_remove_higher_dimensions/2. 2001-11-02 Friday 17:53 Roberto Bagnara * src/: Polyhedron.cc (1.73), Polyhedron.defs.hh (1.62): New method drafted: void Polyhedron::remove_higher_dimensions(size_t new_dimension). 2001-11-02 Friday 17:22 Elisa Ricci * src/Polyhedron.cc (1.72), src/Polyhedron.defs.hh (1.61), tests/addconstraints1.cc (1.2), tests/append1.cc (1.5), tests/append2.cc (1.7), tests/error3.cc (1.8), tests/permute.cc (1.10): The Polyhedron::add_constraints now is Polyhedron::add_constraints_and_minimize, while Polyhedron::add_constraints_lazy now is only Polyhedron::add_constraints. The Polyhedron::convex_hull_assign now is Polyhedron::convex_hull_assign_and_minimize, while Polyhedron::convex_hull_assign_lazy now is Polyhedron::convex_hull_assign. 2001-11-02 Friday 16:48 Roberto Bagnara * interfaces/Prolog/SICStus/clpq.pl (1.2): Some infrastructure added to simplify loading programs and trying them. 2001-11-02 Friday 15:18 Enea Zaffanella * doc/definitions.dox (1.33), src/ConSys.defs.hh (1.25), src/Constraint.defs.hh (1.24), src/GenSys.defs.hh (1.34), src/Generator.defs.hh (1.27), src/LinExpression.defs.hh (1.20), src/Polyhedron.defs.hh (1.60): A further scan on almost all user documentation in order to better comment on space-dimensionality checks. 2001-11-02 Friday 14:09 Roberto Bagnara * interfaces/Prolog/SICStus/: clpq.pl (1.1), solve.pl (1.19): Renamed. 2001-11-02 Friday 14:00 Roberto Bagnara * src/Matrix.cc (1.9): Matrix::resize_no_copy() improved. It now preserves the sortedness flag in the easy cases. 2001-11-02 Friday 13:28 Patricia M. Hill * interfaces/Prolog/SICStus/solve.pl (1.18): Comments added throughout. 2001-11-02 Friday 09:01 Elisa Ricci * src/Row.cc (1.10): In a comment of operator *(Row, Row) used "dimension-compatible", instead of "dimension-compatibility". 2001-11-02 Friday 08:24 Patricia M. Hill * interfaces/Prolog/SICStus/solve.pl (1.17): An improved version of the interpreter. This is a bit faster. 2001-11-01 Thursday 19:08 Roberto Bagnara * tests/Makefile.am (1.26): Link the GMP library after the PPL. 2001-11-01 Thursday 19:04 Roberto Bagnara * configure.ac (1.14): The --with-cc configure option has been fixed (it affected CXX instead of CC). 2001-11-01 Thursday 18:08 Patricia M. Hill * interfaces/Prolog/SICStus/solve.pl (1.16): Now only use the copied polyhedron when trying a clause. 2001-11-01 Thursday 17:27 Patricia M. Hill * interfaces/Prolog/SICStus/solve.pl (1.15): Bug is fixed and test added to check bug is dead. Also, more care is taken to remove polyhedron that are no longer needed. 2001-11-01 Thursday 15:44 Patricia M. Hill * interfaces/Prolog/SICStus/solve.pl (1.14): Now, delete_polyhedron is used when the call to solve((A,B)...) fails as well as when it succeeds. 2001-11-01 Thursday 15:36 Elisa Ricci * src/: ConSys.cc (1.17), GenSys.cc (1.18), Row.cc (1.9), Row.defs.hh (1.9): Erased the function projected_scalar_prod(x, y) and used instead of it the operator * that it is changed to support also the case of x.size() < y.size (operator * so can be used in the case x.size <= y.size). The functions GenSys::satisfy(Constraint) and ConSys::satisfies_all_constraints(Generator) are modified to use only the operator *. 2001-11-01 Thursday 14:34 Patricia M. Hill * interfaces/Prolog/SICStus/solve.pl (1.13): Names of terms made more descriptive. 2001-11-01 Thursday 14:04 Enea Zaffanella * src/: Matrix.cc (1.8), Matrix.inlines.hh (1.5), Polyhedron.inlines.hh (1.10), Row.cc (1.8), Row.defs.hh (1.8), SatMatrix.defs.hh (1.8), SatMatrix.inlines.hh (1.5), SatRow.defs.hh (1.8), SatRow.inlines.hh (1.5), Status.cc (1.8), Status.defs.hh (1.10), Status.inlines.hh (1.4), Variable.inlines.hh (1.4): Using the \related doxygen command everywhere appropriate (but not using it for specialization of std::swap functions). All inline functions enclosed in namespace delimiters: removed redundant namespace qualifiers accordingly. 2001-11-01 Thursday 13:53 Patricia M. Hill * interfaces/Prolog/SICStus/solve.pl (1.12): Now temporary polyhedra are deleted when they are no longer needed. 2001-11-01 Thursday 13:04 Patricia M. Hill * interfaces/Prolog/SICStus/solve.pl (1.11): Old code for ppl_renew_polyhedron that does not use ppl_delete_polyhedron has been restored. 2001-11-01 Thursday 11:49 Patricia M. Hill * interfaces/Prolog/SICStus/solve.pl (1.10): Now all but the head variables are projected away. Other general improvements and corrections done. 2001-11-01 Thursday 10:42 Enea Zaffanella * src/: Matrix.defs.hh (1.7), Polyhedron.cc (1.71), Row.defs.hh (1.7), Row.inlines.hh (1.6): Using the \relates doxygen command for Row and Matrix. Enclosing inline functions in the namespace delimiters. Avoiding useless namespace qualifiers. 2001-11-01 Thursday 07:48 Roberto Bagnara * NEWS (1.3): Drafted. 2001-10-31 Wednesday 22:32 Roberto Bagnara * interfaces/Prolog/SICStus/ppl_sicstus.cc (1.20): Removed false_constraint_term(): it is no longer needed. 2001-10-31 Wednesday 22:31 Roberto Bagnara * interfaces/Prolog/SICStus/: ppl_sicstus.cc (1.19), ppl_sicstus.pl (1.11), solve.pl (1.9): ppl_copy_polyhedron/2 is now provided by the interface. 2001-10-31 Wednesday 22:09 Roberto Bagnara * interfaces/Prolog/SICStus/ppl_sicstus.cc (1.18): In ppl_get_constraints/2, no longer treat empty polyhedra specially. get_generator() renamed generator_term(). 2001-10-31 Wednesday 21:29 Roberto Bagnara * interfaces/Prolog/SICStus/ppl_sicstus.cc (1.17): In ppl_get_generators/2, no longer abort if the polyhedron is zero-dimensional. 2001-10-31 Wednesday 21:22 Enea Zaffanella * src/: Constraint.defs.hh (1.23), Generator.defs.hh (1.26), Polyhedron.defs.hh (1.59), Variable.defs.hh (1.10): Exploiting the doxygen special command \relates to put the documentation of non-friend functions inside the documentation of the related class. 2001-10-31 Wednesday 21:20 Roberto Bagnara * interfaces/Prolog/SICStus/ppl_sicstus.cc (1.16): All C++ exceptions are now handled and translated into Prolog exceptions. 2001-10-31 Wednesday 18:25 Elisa Ricci * src/: Matrix.cc (1.7), Polyhedron.cc (1.70): Now, the function merge_row_assign resizes the second matrix if it is necessary: it means that in functions add_constraints_lazy and limited_widening_assign we do not resize the matrix cs. In Polyhedron::OK the check of the number of columns is not necessary. 2001-10-31 Wednesday 15:37 Elisa Ricci * src/Polyhedron.cc (1.69): In function Polyhedron::OK() the case of is_empty == true is considered. 2001-10-31 Wednesday 14:45 Patricia M. Hill * interfaces/Prolog/SICStus/solve.pl (1.8): Now, backtracking works for some queries including fibonacci. Also it works with a test that checks deeper backtracking. 2001-10-31 Wednesday 14:36 Enea Zaffanella * src/Polyhedron.cc (1.68): In the checking function OK, we were forgetting return or jump to the appropriate code after having checked the correctness of a 0-space dim polyhedron. 2001-10-31 Wednesday 12:52 Enea Zaffanella * src/Polyhedron.cc (1.67): A missing "return" added inside "add_dimensions_and_constraints". 2001-10-31 Wednesday 12:10 Enea Zaffanella * src/Polyhedron.defs.hh (1.58): Added specification for add_dimensions_and_constraints(ConSys& cs). 2001-10-31 Wednesday 11:52 Elisa Ricci * src/Polyhedron.cc (1.66): In functions Polyhedron::widening_assign and Polyhedron::limited_widening_assign considered the case of the polyhedra in a zero-dimensional space. In function Polyhedron::limited_widening_assign considered the case of cs.space_dimension() < space_dimension(). 2001-10-31 Wednesday 11:32 Roberto Bagnara * src/GenSys.defs.hh (1.33): Added an example where a system of generators is printed by using more features of the STL. 2001-10-31 Wednesday 11:26 Enea Zaffanella * src/Polyhedron.cc (1.65): When the user invokes Polyhedron::constraints() on an empty polyhedron, we now return the inconsistent constraint of the right dimension. This also implies that a polyhedron with the EMPTY flag set can still have a non-empty con_sys; therefore, we clear the con_sys whenever we change the dimension of an empty polyhedron. 2001-10-31 Wednesday 10:28 Elisa Ricci * src/: ConSys.cc (1.16), Polyhedron.cc (1.64): In functions Polyhedron::includes and ConSys::satisfies_all_constraints the cases of a polyhedron in a zero-dimensional space and of g.space_dimension < space_dimension are considered. 2001-10-31 Wednesday 09:56 Elisa Ricci * src/: GenSys.cc (1.17), Polyhedron.cc (1.63), Row.cc (1.7), Row.defs.hh (1.6): The function projected_scalar_prod() moved in `namespace Parma_Polyhedra_Library'. The case of c.space_dimension < polyhedron.space_dimension is considered in functions Polyhedron::satisfies and GenSys::satisy. In function Polyhedron::satisfies the cases of empty polyhedron and of the polyhedron is a zero-dimensional space are considered. 2001-10-31 Wednesday 08:47 Elisa Ricci * src/LinExpression.defs.hh (1.19): The copy-constructor of a linear expression with a specified dimension is PPL_INTERNAL and not public. 2001-10-30 Tuesday 22:01 Elisa Ricci * tests/affinetrans.cc (1.4): We can use the linear expression `x + 4' instead of `x + 0*y + 4'. 2001-10-30 Tuesday 21:57 Elisa Ricci * src/: LinExpression.defs.hh (1.18), Polyhedron.cc (1.62): In functions Polyhedron::assign_variable and Polyhedron::substitutte_variable considered the cases of an empty polyhedron and of space_dimension of linear expression < space_dimension of polyhedron. In LinExpression the copy-constructor with the size of the new linear expression is now public. 2001-10-30 Tuesday 18:50 Enea Zaffanella * src/: Constraint.cc (1.8), Constraint.defs.hh (1.22): Added PPL_INTERNAL method Constraint::is_unsatisfiable(). 2001-10-30 Tuesday 18:01 Patricia M. Hill * interfaces/Prolog/SICStus/solve.pl (1.7): Now it allows for constants in the head. 2001-10-30 Tuesday 17:41 Patricia M. Hill * interfaces/Prolog/SICStus/solve.pl (1.6): The interpreter now accepts repeated variables in the head. 2001-10-30 Tuesday 17:39 Enea Zaffanella * src/Polyhedron.cc (1.61), src/Polyhedron.defs.hh (1.57), tests/addconstraints2.cc (1.3): Method add_dimensions_and_constraints_lazy renamed as add_dimensions_and_constraints; signature changed (the argument is no longer const); in the implementation, we swap coefficients instead of copying them. 2001-10-30 Tuesday 15:54 Elisa Ricci * src/: Row.cc (1.6), Row.defs.hh (1.5): Added the function Integer projected_scalar_prod(const Row&, const Row&). 2001-10-30 Tuesday 15:32 Patricia M. Hill * src/Polyhedron.defs.hh (1.56): Spelling of "poject" to "project" changed. 2001-10-30 Tuesday 15:17 Enea Zaffanella * src/Polyhedron.cc (1.60): Spelling error corrected in an output message; for consistency, try always to use the dimension-compatibility concept in error messages. 2001-10-30 Tuesday 15:12 Patricia M. Hill * interfaces/Prolog/SICStus/solve.pl (1.5): Adjusted to allow for = instead of == for equality. 2001-10-30 Tuesday 14:56 Enea Zaffanella * src/: LinExpression.defs.hh (1.17), LinExpression.inlines.hh (1.6): Added method space_dimension. 2001-10-30 Tuesday 14:54 Elisa Ricci * src/Polyhedron.defs.hh (1.55): We do not have any exception if we use the function Polyhedron::constraints() with an empty polyhedron of the function Polyhedron::generators() with a zero-dimensional polyhedron. 2001-10-30 Tuesday 14:47 Roberto Bagnara * interfaces/Prolog/SICStus/ppl_sicstus.cc (1.15): Use '='/2 instead of '=='/2 to denote equality. Fixed a bug whereby the sign of the inhomogeneous term of constraints was inverted. 2001-10-30 Tuesday 14:40 Enea Zaffanella * src/Polyhedron.cc (1.59): Started using the methods space_dimension() of classes Constraint, Generator, ConSys and GenSys. 2001-10-30 Tuesday 14:30 Elisa Ricci * src/Polyhedron.cc (1.58): In functions Polyhedron::insert used the function space_dimension() (of a constraint or of a generator) instead of size() - 1. 2001-10-30 Tuesday 13:25 Patricia M. Hill * interfaces/Prolog/SICStus/solve.pl (1.4): More improvements. 2001-10-30 Tuesday 12:26 Enea Zaffanella * src/: ConSys.defs.hh (1.24), ConSys.inlines.hh (1.8), GenSys.defs.hh (1.32), GenSys.inlines.hh (1.8): Added method space_dimension() to both ConSys and GenSys. 2001-10-30 Tuesday 12:25 Elisa Ricci * src/Polyhedron.cc (1.57): In function add_dimensions_and_constraints_lazy, if we are lazy we only say that the system of constraints is not sorted, otherwise we sort the system of constraints. 2001-10-30 Tuesday 12:17 Elisa Ricci * tests/addconstraints2.cc (1.2): Changed the second system of constraints (ConSys c2) to have a non-empty polyhedron. 2001-10-30 Tuesday 12:08 Enea Zaffanella * src/Polyhedron.cc (1.56): insert(const Generator&) improved. 2001-10-30 Tuesday 11:56 Patricia M. Hill * interfaces/Prolog/SICStus/solve.pl (1.3): Now upgraded to accept user predicates as well as constraints. 2001-10-30 Tuesday 11:47 Elisa Ricci * tests/: Makefile.am (1.25), addconstraints2.cc (1.1): Added the test for the function add_dimensions_and_constraints_lazy. 2001-10-30 Tuesday 11:39 Enea Zaffanella * src/Polyhedron.cc (1.55): In add_constraints, after adding NO constraints at all we still need to check for the emptyness of the polyhedron. In insert(const Constraint&), adjusted assertions and added triviality check when inserting into a zero-dim space polyhedron. 2001-10-30 Tuesday 11:29 Elisa Ricci * src/: Polyhedron.cc (1.54), Polyhedron.defs.hh (1.54): Added the function add_dimensions_and_constraints_lazy(const ConSys& cs). 2001-10-30 Tuesday 11:05 Enea Zaffanella * src/Polyhedron.cc (1.53): In add_constraints(_lazy), if a zero-dim space polyhedron is considered, using ConSys iterators to see if an inconsistent polyhedron is created. 2001-10-30 Tuesday 10:54 Enea Zaffanella * tests/: Makefile.am (1.24), addconstraints1.cc (1.1): Added test for the addition of consistent and inconsistent zero-dim constraints to a zero-dim space polyhedron. Tests re-ordered alphabetically. 2001-10-30 Tuesday 10:32 Patricia M. Hill * interfaces/Prolog/SICStus/solve.pl (1.2): Some small bugs fixed. 2001-10-30 Tuesday 10:16 Enea Zaffanella * tests/: Makefile.am (1.23), removedim3.cc (1.1): Added simple test on the removal of dimensions from an empty polyhedron. 2001-10-30 Tuesday 09:45 Enea Zaffanella * src/: Polyhedron.cc (1.52), Polyhedron.defs.hh (1.53): BE_LAZY used also in Polyhedron::add_dimensions_and_project. A couple of assertions added and old code (already commented out) removed. 2001-10-30 Tuesday 09:07 Patricia M. Hill * interfaces/Prolog/SICStus/solve.pl (1.1): A first start/attempt at a simple meta-interpreter for CLP(Q). There is a bug to be fixed. 2001-10-29 Monday 21:20 Roberto Bagnara * src/Polyhedron.cc (1.51): Be lazy. 2001-10-29 Monday 21:18 Roberto Bagnara * src/: conversion.cc (1.8), minimize.cc (1.5), simplify.cc (1.6): Comments fixed: the class is called Polyhedron, not Poly. 2001-10-29 Monday 18:26 Roberto Bagnara * interfaces/Prolog/SICStus/ppl_sicstus.cc (1.14): Use Constraint/Generator::space_dimension() instead of the no longer existing last_variable(). 2001-10-29 Monday 16:47 Enea Zaffanella * src/: Constraint.defs.hh (1.21), Constraint.inlines.hh (1.9), Generator.defs.hh (1.25), Generator.inlines.hh (1.14): Removed methods last_variable() and added method space_dimension() to Constraint and Generator. 2001-10-29 Monday 16:46 Elisa Ricci * src/Polyhedron.cc (1.50): In Polyhedron(size_t num_dimensions, Degenerate_Kind kind) if we build an universe polyhedron the system of constraints is in the minimal form. In the function insert(Constraint) added the comment that specify why when we insert the constraint the polyhedron is non-empty. 2001-10-29 Monday 16:30 Enea Zaffanella * src/: ConSys.cc (1.15), Constraint.cc (1.7), Constraint.defs.hh (1.20): Constraint::is_non_trivial() transformed into Constraint::is_trivial(). Btw, the old evrsion was still wrong. 2001-10-29 Monday 16:26 Elisa Ricci * src/Polyhedron.cc (1.49): In function add_constraints, add_constraints_lazy and add_generators the case of cs(gs)_num_columns == 1 && space_dimension() == 0 is considered. 2001-10-29 Monday 16:17 Roberto Bagnara * missing (1.3): Updated. 2001-10-29 Monday 14:59 Roberto Bagnara * src/Constraint.cc (1.6): Constraint::is_nontrivial() fixed. 2001-10-29 Monday 14:29 Enea Zaffanella * src/Polyhedron.cc (1.48): In add_dimensions_and_embed, when embedding a zero-dim universe polyhedron the creation of the system of generators is now guarded by pre-proc flag BE_LAZY. 2001-10-29 Monday 13:33 Enea Zaffanella * src/: GenSys.cc (1.16), GenSys.defs.hh (1.31), GenSys.inlines.hh (1.7), Polyhedron.cc (1.47): Added static member function GenSys::zero_dim_univ() to replace static member GenSys::zero_dim_univ. All inline functions enclosed in the namespace. 2001-10-29 Monday 13:23 Enea Zaffanella * src/: Generator.cc (1.8), Generator.defs.hh (1.24), Generator.inlines.hh (1.13): Added static member function Generator::zero_dim_vertex(). Functions vertex, ray and line are no longer inlined; for ray and line we now check that the argument does not represent the origin of the space. 2001-10-29 Monday 13:11 Roberto Bagnara * src/ConSys.defs.hh (1.23): Must include . 2001-10-29 Monday 12:59 Enea Zaffanella * src/: ConSys.cc (1.14), ConSys.defs.hh (1.22), ConSys.inlines.hh (1.7), Polyhedron.cc (1.46): Added static member function ConSys::zero_dim_empty(). 2001-10-29 Monday 12:37 Enea Zaffanella * src/: Constraint.cc (1.5), Constraint.defs.hh (1.19), Constraint.inlines.hh (1.8): Added static memebr function Constraint::zero_dim_false(). All inline functions enclosed in the namespace. 2001-10-29 Monday 12:35 Enea Zaffanella * src/: LinExpression.cc (1.5), LinExpression.defs.hh (1.16), LinExpression.inlines.hh (1.5): Added static member function LinExpression::zero() in place of static member LinExpression zero. All inline functions enclosed in the scope of namespace. 2001-10-29 Monday 11:12 Enea Zaffanella * src/Polyhedron.cc (1.45): Polyhedron::Polyhedron(GenSys& gs) improved. 2001-10-29 Monday 10:21 Roberto Bagnara * configure.ac (1.13): Require autoconf 2.52e. 2001-10-29 Monday 10:18 Elisa Ricci * tests/: affinetrans.cc (1.3), append2.cc (1.6), empty1.cc (1.5), error1.cc (1.6), error2.cc (1.7), error3.cc (1.7), error4.cc (1.3), error5.cc (1.4), inters1.cc (1.6), inters2.cc (1.8), permute.cc (1.9), randchull1.cc (1.8), removedim1.cc (1.2), removedim2.cc (1.5): Added the comment to the tests, the inclusion of the file "ehandlers.hh", use the function set_handlers() and added some NOISY-print of the polyhedra (where they are necessary). 2001-10-29 Monday 09:33 Enea Zaffanella * tests/Makefile.am (1.22): Committing Makefile.am was unwanted (error6 is a non-meaningful dummy test). 2001-10-29 Monday 06:47 Roberto Bagnara * src/: Generator.cc (1.7), Polyhedron.defs.hh (1.52), conversion.cc (1.7): The Integer constants 0 and 1 are now provided by the static methods Integer::zero() and Integer::one(). 2001-10-28 Sunday 21:41 Enea Zaffanella * src/ConSys.cc (1.13), src/ConSys.defs.hh (1.21), src/ConSys.inlines.hh (1.6), src/GenSys.cc (1.15), src/GenSys.defs.hh (1.30), src/GenSys.inlines.hh (1.6), src/Generator.defs.hh (1.23), src/Polyhedron.cc (1.44), tests/Makefile.am (1.21): Added static members denoting the zero-dim usatisfiable constraint, teh corresponding constraint system and the system of generators corresponding to the zero-dim universe. 2001-10-28 Sunday 20:05 Enea Zaffanella * src/: Constraint.cc (1.4), Constraint.defs.hh (1.18): is_non_trivial() now correctly handles inconsistent constraints, which should NOT be considered trivial. Output operator now correctly prints inconsistent constraints. 2001-10-28 Sunday 18:50 Roberto Bagnara * interfaces/Prolog/: Prolog_interface.dox (1.4), SICStus/ppl_sicstus.pl (1.10): Added ppl_insert_constraints/2 and ppl_insert_generators/2. 2001-10-28 Sunday 18:38 Roberto Bagnara * interfaces/Prolog/: Prolog_interface.dox (1.3), SICStus/ppl_sicstus.cc (1.13), SICStus/ppl_sicstus.pl (1.9): Added ppl_add_dimensions_and_embed/2 and ppl_add_dimensions_and_project/2. 2001-10-28 Sunday 18:25 Roberto Bagnara * interfaces/Prolog/: Prolog_interface.dox (1.2), SICStus/ppl_check.pl (1.6), SICStus/ppl_sicstus.cc (1.12), SICStus/ppl_sicstus.pl (1.8): ppl_remove_dimensions/2 added. 2001-10-28 Sunday 14:56 Roberto Bagnara * config.h.in (1.11), configure.ac (1.12), interfaces/Prolog/Makefile.am (1.2): Try not to bother people without the SICStus include file. 2001-10-28 Sunday 14:20 Enea Zaffanella * src/: Generator.cc (1.6), Generator.defs.hh (1.22), Generator.inlines.hh (1.12), LinExpression.cc (1.4), LinExpression.defs.hh (1.15): Now the friend function vertex(e, d) has also its first argument optional; calling vertex() creates the origin of the zero-dim vector space. Added zero-dim checks to ray(e) and line(e). 2001-10-28 Sunday 13:46 Roberto Bagnara * doc/Makefile.am (1.13), doc/devref-browse.doxyconf-latex.in (1.7), doc/devref-print.doxyconf-latex.in (1.7), doc/devref.doxyconf-html.in (1.8), doc/user-browse.doxyconf-latex.in (1.8), doc/user-print.doxyconf-latex.in (1.8), doc/user.doxyconf-html.in (1.10), interfaces/Prolog/Prolog_interface.dox (1.1): Provide a framework for the Prolog interface documentation. 2001-10-28 Sunday 11:12 Enea Zaffanella * tests/removedim2.cc (1.4): Moved creation of lin-expr infrastructure outside the loop. 2001-10-28 Sunday 10:39 Roberto Bagnara * interfaces/Prolog/SICStus/: ppl_check.pl (1.5), ppl_sicstus.cc (1.11), ppl_sicstus.pl (1.7): Added ppl_get_constraints/2 and ppl_get_generators/2. 2001-10-28 Sunday 10:38 Roberto Bagnara * src/Polyhedron.defs.hh (1.51): Do not create yet another Integer set to one to use as default parameter: use Integer::one instead. 2001-10-28 Sunday 10:38 Roberto Bagnara * src/: Constraint.defs.hh (1.17), Generator.defs.hh (1.21), Generator.inlines.hh (1.11): New methods of Generator: last_variable(), coefficient(), and divisor(). Harmonized with the ones of Constraint. Do not create yet another Integer set to one to use as default parameter: use Integer::one instead. 2001-10-28 Sunday 08:37 Enea Zaffanella * src/Polyhedron.cc (1.43): Corrected the error making test `randchull1' fail (I was forgetting to clear flags after insertion of the generator). 2001-10-27 Saturday 22:53 Roberto Bagnara * tests/onepoint.cc (1.1): New test on the creation of a one-point polyhedron. 2001-10-27 Saturday 22:52 Roberto Bagnara * tests/: Makefile.am (1.20), error1.cc (1.5), error2.cc (1.6), error3.cc (1.6), error4.cc (1.2), error5.cc (1.3), removedim.cc (1.3), removedim1.cc (1.1), removedim2.cc (1.3): Try to be consistent. 2001-10-27 Saturday 18:32 Roberto Bagnara * src/: Constraint.defs.hh (1.16), Constraint.inlines.hh (1.7): New Constraint methods: last_variable(), coefficient(Variable v) and coefficient() to return the last variable, the homogeneous and inhomogeneous coefficients. 2001-10-27 Saturday 17:59 Roberto Bagnara * interfaces/Prolog/SICStus/: ppl_check.pl (1.4), ppl_sicstus.cc (1.10), ppl_sicstus.pl (1.6): ppl_new_polyhedron/1 replaced with ppl_new_polyhedron/2 and ppl_new_empty_polyhedron/2. 2001-10-27 Saturday 16:08 Roberto Bagnara * doc/definitions.dox (1.32), src/Constraint.defs.hh (1.15), src/Constraint.inlines.hh (1.6), src/Generator.cc (1.5), src/Generator.defs.hh (1.20), src/Generator.inlines.hh (1.10), src/Polyhedron.cc (1.42), src/Polyhedron.defs.hh (1.50), src/Polyhedron.inlines.hh (1.9), src/Status.cc (1.7), src/Status.defs.hh (1.9), src/Status.inlines.hh (1.3), tests/Makefile.am (1.19), tests/affinetrans.cc (1.2), tests/append1.cc (1.4), tests/append2.cc (1.5), tests/empty1.cc (1.4), tests/error3.cc (1.5), tests/error5.cc (1.2), tests/inters2.cc (1.7), tests/permute.cc (1.8), tests/print.hh (1.3), tests/randchull1.cc (1.7), tests/removedim.cc (1.2), tests/removedim2.cc (1.2): All changes on the `space_dim' branch have been merged to the main trunk. 2001-10-27 Saturday 15:30 Enea Zaffanella * src/Polyhedron.cc (space_dim.12): In Polyhedron::insert(const Generator&) added generator type check. 2001-10-27 Saturday 15:24 Enea Zaffanella * src/: Constraint.defs.hh, Constraint.inlines.hh, Polyhedron.cc, Polyhedron.defs.hh (space_dim.[1,1,11,6]): Default constructor for Constraint is now private and not implemented. In Polyhedron::insert(const Generator&) we should check that the generator is a vertex if the polyhedron is empty (we cannot add just a ray or a line). 2001-10-27 Saturday 15:12 Roberto Bagnara * interfaces/Prolog/SICStus/: ppl_sicstus.cc (1.9), ppl_sicstus.pl (1.5): ppl_widening_assign/2 added. 2001-10-27 Saturday 15:00 Roberto Bagnara * interfaces/Prolog/SICStus/: ppl_sicstus.cc (1.8), ppl_sicstus.pl (1.4): ppl_intersection_assign/2 and ppl_convex_hull_assign/2 added. Try to be as const-correct as possible. 2001-10-27 Saturday 14:45 Roberto Bagnara * interfaces/Prolog/SICStus/: ppl_check.pl (1.3), ppl_sicstus.cc (1.7), ppl_sicstus.pl (1.3): ppl_check_empty/1 added. 2001-10-27 Saturday 14:31 Roberto Bagnara * interfaces/Prolog/SICStus/ppl_sicstus.cc (1.6): SP_register_atom() and SP_unregister_atom() can fail. 2001-10-27 Saturday 14:14 Roberto Bagnara * interfaces/Prolog/SICStus/: ppl_check.pl (1.2), ppl_sicstus.cc (1.5), ppl_sicstus.pl (1.2): ppl_insert_generator/2 added. 2001-10-27 Saturday 12:35 Enea Zaffanella * src/Polyhedron.cc, src/Polyhedron.defs.hh, src/Polyhedron.inlines.hh, src/Status.cc, src/Status.defs.hh, src/Status.inlines.hh, tests/empty1.cc, tests/inters2.cc, tests/print.hh, tests/randchull1.cc (space_dim.[10,5,2,1,1,1,1,1,1,1]): The zero_dim flag (and methods) in Status changed into more meaningful "zero_dim_univ". A lot of small changes to have a consistent dimension-checking. Now there is one "default" constructor for Polyhedron having two optional arguments: the space dimension (default 0) and the degenerate kind (default UNIVERSE). Tests adapted to use the new constructor and to avoid using the removed Polyhedron::is_zero_dim(). 2001-10-27 Saturday 12:26 Enea Zaffanella * doc/definitions.dox (1.31): Proposition after Minkowsky's theorem corrected (we can CHOOSE extreme rays so that they have rational coefficients). 2001-10-27 Saturday 11:54 Elisa Ricci * tests/: affinetrans.cc, error3.cc (space_dim.[2,2]): To build the polyhedron that we want using the system of generators, we must create the system of generators and then use Polyhedron ph(gs). (If we use Polyhedron ph(num_dim), we have the universe polyhedron and then when we add the generators we do not have our polyhedron but the universe one). 2001-10-27 Saturday 11:49 Elisa Ricci * src/Polyhedron.defs.hh (space_dim.4): Added an example for the function remove_dimensions (the example 8). In the examples when we build a polyhedron we must specify the dimension of the space if then we use the function Polyhedron::insert(Constraint). We can not do the same thing if then we want to use the function Polyhedron::insert(Generator) In fact, in this case we build the universe polyhedron and then we add the generators. To build a polyhedron starting from the system of generators we must create the system of generators and then use Polyhedron ph(gs). 2001-10-27 Saturday 11:02 Roberto Bagnara * configure.ac (1.11): Version number bumped so as to avoid confusion: 0.2-pre1. 2001-10-27 Saturday 10:59 Roberto Bagnara * configure.ac (1.10), interfaces/Prolog/SICStus/Makefile.am (1.2), interfaces/Prolog/SICStus/ppl_check.pl (1.1), interfaces/Prolog/SICStus/ppl_sicstus.cc (1.4), interfaces/Prolog/SICStus/ppl_sicstus.pl (1.1): Check to see whether `sicstus' is installed: if it is, tests can be performed. Some progress in the interface itself. 2001-10-27 Saturday 10:58 Roberto Bagnara * src/Polyhedron.cc (1.41): ConSys and GenSys do not yet provide a `bool empty() const' method. 2001-10-27 Saturday 10:55 Roberto Bagnara * src/Makefile.am (1.15): Distribute ppl_header.middle. 2001-10-26 Friday 21:24 Roberto Bagnara * interfaces/Prolog/SICStus/ppl_sicstus.cc (1.3): Exception handling improved. 2001-10-26 Friday 19:04 Enea Zaffanella * src/Polyhedron.cc, tests/Makefile.am, tests/removedim2.cc (space_dim.[9,4,1]): Polyhedron::remove_dimensions(...) rewritten from scratch. Added a new test to check its correctness. 2001-10-26 Friday 18:54 Roberto Bagnara * interfaces/Prolog/SICStus/ppl_sicstus.cc (1.2): Can now insert constraints into a polyhedron. 2001-10-26 Friday 16:57 Roberto Bagnara * src/: Makefile.am, ppl_header.middle (space_dim.[1,1]): Get around a bug in GCC versions prior to 3 whereby the header is wrongly guarded against multiple inclusion. 2001-10-26 Friday 16:56 Roberto Bagnara * Makefile.am (1.12), config.h.in (1.10), configure.ac (1.9), interfaces/.cvsignore (1.1), interfaces/Makefile.am (1.1), interfaces/Prolog/.cvsignore (1.1), interfaces/Prolog/Makefile.am (1.1), interfaces/Prolog/SICStus/.cvsignore (1.1), interfaces/Prolog/SICStus/Makefile.am (1.1), interfaces/Prolog/SICStus/ppl_sicstus.cc (1.1): Start working on the Prolog interfaces. 2001-10-26 Friday 16:51 Roberto Bagnara * src/Makefile.am (1.14): ppl_install.hh depends also on ppl_header.middle. 2001-10-26 Friday 16:46 Roberto Bagnara * src/: Makefile.am (1.13), ppl_header.middle (1.1): Get around a bug in GCC versions prior to 3 whereby the header is wrongly guarded against multiple inclusion. 2001-10-26 Friday 16:45 Roberto Bagnara * src/: Polyhedron.cc (1.40), Variable.defs.hh (1.9): Just formatting. 2001-10-26 Friday 13:11 Enea Zaffanella * src/Polyhedron.cc (space_dim.8): A few trivial errors inside assertions fixed. 2001-10-26 Friday 12:29 Elisa Ricci * src/Polyhedron.cc (space_dim.7): In function add_generators we resize the matrix gs that we want to add if space_dimension() > num_columns() - 1. 2001-10-26 Friday 12:14 Elisa Ricci * src/Polyhedron.cc (space_dim.6): Added the dimension-consistency check in the function add_constraints_lazy and add_generators. In functions add_constraints and add_generators we use if(check_empty()) instead of minimize() if(is_empty()) In functions add_constraints and add_constraints_lazy we resize the matrix of constraints that we add if num_columns - 1 < space_dimension(). 2001-10-26 Friday 12:08 Enea Zaffanella * src/: Generator.defs.hh, Generator.inlines.hh (space_dim.[1,1]): The default constructor for Generator is now private and unimplemented. 2001-10-26 Friday 11:22 Enea Zaffanella * tests/: Makefile.am, error5.cc, removedim.cc (space_dim.[3,1,2]): New test for dimension-compatibility in Polyhedron::remove_dimensions. The test still fails because objects of set do not provide ordered access to their elements (yet). 2001-10-26 Friday 10:42 Enea Zaffanella * tests/: Makefile.am, removedim.cc, remuvedim.cc (space_dim.[2,1,2]): Test file "remuvedim.cc" renamed. 2001-10-26 Friday 10:38 Enea Zaffanella * src/Polyhedron.cc (space_dim.5): Using begin() instead of max() to select the highest dimension variable from a set of variables. 2001-10-26 Friday 10:34 Elisa Ricci * tests/: Makefile.am, remuvedim.cc (space_dim.[1,1]): Added a test for the function remuve_dimensions(...). 2001-10-26 Friday 10:34 Enea Zaffanella * src/Polyhedron.cc (space_dim.4): Some comments improved. Added dimension-compatibility checks to Polyhedron::remove_dimensions(...). 2001-10-25 Thursday 23:21 Enea Zaffanella * src/Polyhedron.cc, tests/affinetrans.cc, tests/append1.cc, tests/append2.cc, tests/error3.cc, tests/permute.cc (space_dim.[3,1,1,1,1,2]): Going on ading the right dimension-compatibility checks. Now the tests are all passed (some of them changed to declare polyhedra dimensions in the constructors, other changed by calling operator add_dimensions_and_embed). 2001-10-25 Thursday 20:59 Enea Zaffanella * src/Generator.cc (space_dim.1): Strange code indentation fixed. 2001-10-25 Thursday 20:36 Elisa Ricci * src/Polyhedron.cc (space_dim.2): In operator <=(x,y) we only need the generators of x and the constraints of y. In functions intersection_assign and convex_hull, we did two checks of the dimension of the space (one with space_dimension() and the other with num_columns()). In functions add_dimensions_and_embed and add_dimensions_and_project we have both the system of constraints and the system of generators minimized when we add some dimensions to a polyhedron in a 0-dimensional space. 2001-10-25 Thursday 16:45 Enea Zaffanella * src/Polyhedron.cc, src/Polyhedron.defs.hh, src/Polyhedron.inlines.hh, tests/permute.cc (space_dim.[1,3,1,1]): Added private member Polyhedron::space_dim, which stores the number of dimensions of the enclosing space. Public member Polyhedron::num_dimensions() renamed into Polyhedron::space_dimension() and now reads the member space_dim. Started modifying methods of the class Polyhedron so that they consistently use space_dimension() and space_dim. Started guarding methods by suitable dimension-compatibility checks. 2001-10-25 Thursday 11:28 Enea Zaffanella * src/Polyhedron.defs.hh (space_dim.2): All comparison operators on Polyhedron throw an exception when the two polyhedra are dimension-incompatible. 2001-10-25 Thursday 11:18 Enea Zaffanella * doc/definitions.dox, src/Polyhedron.defs.hh (space_dim.[1,1]): Added an informal specification for dimension-compatibility. The specification of Polyhedron::insert now says that an exception is thrown if the argument is dimension-incompatible with the polyhedron. 2001-10-24 Wednesday 20:16 Enea Zaffanella * src/: Generator.defs.hh (1.19), Polyhedron.cc (1.39), Polyhedron.defs.hh (1.49): Exceptions are thrown when polyhedra are dimension-incompatible. 2001-10-24 Wednesday 20:15 Enea Zaffanella * doc/definitions.dox (1.30): Better explained the difference between the dimension of the polyhedron and the dimension of the enclosing space. The terminology "dimension-consistent" added. Pointed out what seems to be a problem with empty polyhedrons (what is the dimensions of their enclosing space?) 2001-10-24 Wednesday 14:57 Enea Zaffanella * doc/definitions.dox (1.29): A full scan on the user-manual portion of the introduction. In particular: - added a proposition after Minkowsky's theorem for rational polyhedra; - preferring the use of \lambda wrt \mu for scalars; - yet another variation on the definition of extreme rays; - "non-negative" combinations are now "positive" combinations; - better explaining the border-line cases of the generators representation. 2001-10-24 Wednesday 10:47 Enea Zaffanella * doc/definitions.dox (1.28): Doxygen does not accept "\f(" [and neither the potentially correct "\f\("] as a way to enter LaTeX mathematical environment. Indexes of vectors goes from 0 to the dim-1. 2001-10-23 Tuesday 20:15 Roberto Bagnara * README (1.7): Ready for distribution. 2001-10-23 Tuesday 19:43 Roberto Bagnara * Makefile.am (1.11): Distribute also the BUGS file. 2001-10-23 Tuesday 19:36 Roberto Bagnara * doc/Makefile.am (1.12): Produce and make available HTML documentation to be used off-line. 2001-10-23 Tuesday 19:35 Roberto Bagnara * BUGS (1.1), NEWS (1.2), TODO (1.2): Initial versions of these files. 2001-10-23 Tuesday 19:23 Elisa Ricci * tests/: Makefile.am (1.18), affinetrans.cc (1.1): Added a test for the functions assign_variable and substitute_variable. 2001-10-23 Tuesday 19:21 Elisa Ricci * src/Polyhedron.cc (1.38): In function assign_variable and substitute_variable we must have size_t num_columns = x.num_dimensions() + 1 instead of size_t num_columns = x.con_sys(gen_sys).num_columns() because at this point we do not know which system we have. 2001-10-23 Tuesday 18:52 Enea Zaffanella * doc/definitions.dox (1.27): A small improvement on the explanation of the representation by generators. 2001-10-23 Tuesday 18:50 Enea Zaffanella * src/: Polyhedron.cc (1.37), Polyhedron.defs.hh (1.48): Polyhedron::constraints() no longer throws an exception when *this is a zero-dimensional polyhedron (now it returns the empty system of constraints). Polyhedron::generators() no longer throws an exception when *this is an empty polyhedron (now it returns the empty system of generators). 2001-10-23 Tuesday 18:12 Elisa Ricci * src/minimize.cc (1.4): We see the definitions in the Introduction and not in the file definition.dox. 2001-10-23 Tuesday 18:09 Elisa Ricci * src/Polyhedron.defs.hh (1.47): Typo fixed. 2001-10-23 Tuesday 18:05 Enea Zaffanella * tests/: Makefile.am (1.17), error4.cc (1.1): Added a test on the exception thrown when building a polyhedron by using a non-empty system of generators with no vertices. 2001-10-23 Tuesday 17:57 Elisa Ricci * src/Polyhedron.defs.hh (1.46): Added the explanation of why a parameter of a function is non-constant. 2001-10-23 Tuesday 17:54 Enea Zaffanella * src/Polyhedron.cc (1.36): Exception messages now use the "function: message" convention. The comment in PPL::Polyhedron::Polyhedron(GenSys& gs) related to the existence of a vertex improved. 2001-10-23 Tuesday 17:27 Enea Zaffanella * doc/definitions.dox (1.26): In the proposition after the definition of rays, we need to consider a non-empty polyhedron and a non-zero vector \vect{r}. It is NOT true that extreme rays define _all_ the directions in which an arbitrary polyhedron is infinite. Definition of line simplified. A typo fixed in definition of Minkowsky's sum. 2001-10-23 Tuesday 16:50 Elisa Ricci * src/Polyhedron.cc (1.35): In function Polyhedron::insert(Constraint), if we add a constraint to an empty polyhedron it remains empty. 2001-10-23 Tuesday 16:35 Elisa Ricci * src/: Polyhedron.cc (1.34), Polyhedron.defs.hh (1.45): When a polyhedron is built starting from a system of generators, this must have at least a vertex; otherwise an exception is thrown. 2001-10-23 Tuesday 16:17 Roberto Bagnara * src/: Generator.cc (1.4), Generator.inlines.hh (1.9), Polyhedron.cc (1.33), Polyhedron.inlines.hh (1.8): Inlining is no longer requested for functions that may throw. 2001-10-23 Tuesday 16:11 Roberto Bagnara * config.h.in (1.9), configure.ac (1.8), src/Makefile.am (1.12), src/Row.defs.hh (1.4), src/ppl_header.bottom (1.3), src/ppl_header.top (1.2): Better configuration and macro handling. 2001-10-23 Tuesday 14:33 Roberto Bagnara * src/Polyhedron.cc (1.32): DLEVEL noise removed. 2001-10-23 Tuesday 14:28 Roberto Bagnara * config.h.in (1.8), configure.ac (1.7), src/ConSys.cc (1.12), src/ConSys.defs.hh (1.20), src/ConSys.inlines.hh (1.5), src/Constraint.cc (1.3), src/Constraint.defs.hh (1.14), src/Constraint.inlines.hh (1.5), src/GenSys.cc (1.14), src/GenSys.defs.hh (1.29), src/GenSys.inlines.hh (1.5), src/Generator.cc (1.3), src/Generator.defs.hh (1.18), src/Generator.inlines.hh (1.8), src/LinExpression.cc (1.3), src/LinExpression.defs.hh (1.14), src/LinExpression.inlines.hh (1.4), src/Makefile.am (1.11), src/Matrix.cc (1.6), src/Matrix.defs.hh (1.6), src/Matrix.inlines.hh (1.4), src/Polyhedron.cc (1.31), src/Polyhedron.defs.hh (1.44), src/Polyhedron.inlines.hh (1.7), src/Row.cc (1.5), src/Row.defs.hh (1.3), src/Row.inlines.hh (1.5), src/SatMatrix.cc (1.6), src/SatMatrix.defs.hh (1.7), src/SatMatrix.inlines.hh (1.4), src/SatRow.cc (1.4), src/SatRow.defs.hh (1.7), src/SatRow.inlines.hh (1.4), src/Status.cc (1.6), src/Status.defs.hh (1.8), src/Status.inlines.hh (1.2), src/Variable.cc (1.3), src/Variable.defs.hh (1.8), src/Variable.inlines.hh (1.3), src/ppl_header.bottom (1.2): The INLINE/OUTLINE mechanism has gone: it caused too many problems. 2001-10-23 Tuesday 14:08 Enea Zaffanella * src/: GenSys.defs.hh (1.28), GenSys.inlines.hh (1.4): Inserting a generator in a GenSys automatically adjust the dimensions. Specialization of std:swap for GenSys's added. 2001-10-23 Tuesday 14:07 Enea Zaffanella * src/: ConSys.defs.hh (1.19), ConSys.inlines.hh (1.4): Better documented the fact that, when inserting constraints in a ConSys, dimensions are automatically adjusted. Added the specialization of function std:swap for ConSys's. 2001-10-23 Tuesday 13:40 Patricia M. Hill * doc/: definitions.dox (1.25), ppl.sty (1.5): Changes to allow for a decomposition when there are no vertices. 2001-10-23 Tuesday 11:42 Roberto Bagnara * src/Polyhedron.defs.hh (1.43): Brackets closing a namespace should be marked as in namespace Parma_Polyhedra_Library { ... } // namespace Parma_Polyhedra_Library 2001-10-23 Tuesday 11:40 Roberto Bagnara * src/SatMatrix.inlines.hh (1.3): Must include . 2001-10-23 Tuesday 11:39 Roberto Bagnara * src/maxmin.hh (1.2): Put everything in our namespace. 2001-10-23 Tuesday 10:58 Patricia M. Hill * doc/definitions.dox (1.24): Changes to user introduction to clarify why a polyhedron represented by a system of generators needs a vertex. On-going improvements to the developer's guide including the removal of some repeated definitions. Minor bugs fixed. 2001-10-23 Tuesday 10:02 Roberto Bagnara * tests/Makefile.am (1.16): INCLUDES now includes @extra_includes@. 2001-10-23 Tuesday 09:53 Elisa Ricci * src/: ConSys.cc (1.11), GenSys.cc (1.13), simplify.cc (1.5): For the definitions and the rules, we must see the Introduction instead of the file definitions.dox. In the functions assign_variable and substitute_variable, the parameter "expr" is the "numerator" of affine expression. 2001-10-23 Tuesday 09:47 Roberto Bagnara * src/: ConSys.cc (1.10), Constraint.cc (1.2), Constraint.inlines.hh (1.4), GenSys.cc (1.12), LinExpression.cc (1.2), Matrix.cc (1.5), Matrix.inlines.hh (1.3), Row.cc (1.4), Row.inlines.hh (1.4), SatMatrix.cc (1.5): Do not request the inlining of functions containing loops. Be consistent in the use of namespace names and aliases. 2001-10-23 Tuesday 08:22 Roberto Bagnara * config.h.in (1.7), configure.ac (1.6), doc/user-browse.doxyconf-latex.in (1.7), doc/user-print.doxyconf-latex.in (1.7), doc/user.doxyconf-html.in (1.9), src/Makefile.am (1.10), src/Polyhedron.inlines.hh (1.6), src/ppl.cc (1.3), src/ppl_header.bottom (1.1), src/ppl_header.top (1.1), src/protect.sed (1.3), src/restore.sed (1.3), tests/append1.cc (1.3), tests/append2.cc (1.4), tests/empty1.cc (1.3), tests/error1.cc (1.4), tests/error2.cc (1.5), tests/error3.cc (1.4), tests/inters1.cc (1.5), tests/inters2.cc (1.6), tests/permute.cc (1.7), tests/print.hh (1.2), tests/randchull1.cc (1.6): The mechanism for automatically generating the header files has been rewritten from scratch. We no longer depend on kcc: we use CXXCPP instead. Avoid checking for header files we do not use. Try to convince Doxygen not to sort things the way he wants, at least in user's documentation (SORT_MEMBER_DOCS = no). Using std::invalid argument requires including . All tests should include the header file that will be installed (ppl_install.hh) so that we avoid checking against an already installed header (ppl.hh). 2001-10-23 Tuesday 08:14 Roberto Bagnara * src/Status.cc (1.5): Do not fight against emacs indentation rules. 2001-10-22 Monday 19:13 Enea Zaffanella * src/: ConSys.defs.hh (1.18), GenSys.defs.hh (1.27): When using the doxygen command \code, indentation really matters and, for consistency, we should start with a 2-spaces indentation. 2001-10-22 Monday 19:11 Enea Zaffanella * src/Generator.defs.hh (1.17): Example on how to build vertices split into two parts: the first one shows how to build a generic vertex and, in particular, the origin of the space; the second one shows how to use the optional denominator argument. 2001-10-22 Monday 19:07 Enea Zaffanella * src/: Status.cc (1.4), Status.defs.hh (1.7): An annoying warning about an unused argument dealt with by exploiting pre-processing macro NDEBUG. 2001-10-22 Monday 16:18 Elisa Ricci * src/: Polyhedron.cc (1.30), conversion.cc (1.6), simplify.cc (1.4): Used the notation of "vect{..}" for all the vectors that are in the comments. The definitions and the rules must be seen in the "Introduction" instead of "definitions.dox" or "user_definitions.dox". 2001-10-22 Monday 16:08 Enea Zaffanella * src/: Polyhedron.cc (1.29), Polyhedron.defs.hh (1.42): Now the argument `denominator' for methods Polyhedron::assign_variable and Polyhedron::substitute_variable is a _const_ Integer&, optional and with a default value of 1. 2001-10-22 Monday 15:58 Roberto Bagnara * ChangeLog (1.2): Updated. 2001-10-22 Monday 15:18 Enea Zaffanella * tests/: error1.cc (1.3), error2.cc (1.4), error3.cc (1.3), inters2.cc (1.5), randchull1.cc (1.5): All tests updated to use the new functions line, ray and vertex. 2001-10-22 Monday 15:10 Enea Zaffanella * src/: ConSys.cc (1.9), ConSys.defs.hh (1.17), GenSys.cc (1.11), GenSys.defs.hh (1.26), Generator.defs.hh (1.16), Generator.inlines.hh (1.7), Polyhedron.defs.hh (1.41): Operators |, ^, /= have now been replaced by functions `line', 'ray' and 'vertex'. Note that the function vertex has an _optional_ second argument (the denominator), with default value 1. Hopefully, all the documentation has been changed accordingly (please check). In GenSys and ConSys, now the functions assign_variable and substitute_variable take a _const_ Integer& as their third argument. The same change cannot be applied to the corresponding functions defined on Polyhedron, since we perform a swap on this argument, so that it cannot be const. However, I am now seeing if it is possible to have also these as "optional" arguments, with a default value of 1. Alas, I need to read the C++ manual in order to see how I can define a default value for a non-const argument passed by reference. 2001-10-22 Monday 15:05 Roberto Bagnara * config.h.in (1.6), configure.ac (1.5), doc/devref-browse.doxyconf-latex.in (1.6), doc/devref-print.doxyconf-latex.in (1.6), doc/devref.doxyconf-html.in (1.7), src/.cvsignore (1.4), src/Makefile.am (1.9), src/SatRow.cc (1.3), src/SatRow.defs.hh (1.6), src/SatRow.inlines.hh (1.3): SatRow reimplemented from scratch: we no longer depend on the BitSet class. 2001-10-22 Monday 14:26 Patricia M. Hill * doc/definitions.dox (1.23): Changed \alpha in the definition of affine transformations to \lambda. Added a comment after the definition of "Combinations" that the empty sum is the origin. 2001-10-22 Monday 10:34 Patricia M. Hill * doc/definitions.dox (1.22): Changes to wording and restructuring of the definition of Polyhedra. New headings added : Constraints representation and Rational polyheron. Heading "Generators" replaced by "Generators representation". Wording in this definition changed 2001-10-22 Monday 10:02 Elisa Ricci * src/Polyhedron.defs.hh (1.40): In the comments, there was a system of constraints called "constraints" instead of "cs" and a variable called "var" instead of "v". 2001-10-22 Monday 09:54 Patricia M. Hill * src/Generator.defs.hh (1.15): Wording of comment on how to build a generator changed. Also minor changes to wording in the following examples. 2001-10-22 Monday 09:52 Patricia M. Hill * doc/definitions.dox (1.21): I was wrong to remove the "^\transpose" in Weil's theorem - restored. 2001-10-22 Monday 09:25 Elisa Ricci * src/Polyhedron.defs.hh (1.39): In two examples, erased the spaces between the factor and the variable. 2001-10-22 Monday 09:04 Patricia M. Hill * doc/definitions.dox (1.20): Comment at the end of Weil's theorem had "convex" and "positive" and "rays" and "vertices" wrong way round. Minor change to wording introducing the two theorems. In final comment of user part, "blurb" removed. 2001-10-22 Monday 08:49 Patricia M. Hill * doc/definitions.dox (1.19): Removed spurious ^\transpose (^T) in Weil's theorem. Added "dual representation" as heading and emphasised in text at end of user definitions. 2001-10-21 Sunday 15:50 Enea Zaffanella * src/: ConSys.defs.hh (1.16), GenSys.defs.hh (1.25), Generator.defs.hh (1.14), Generator.inlines.hh (1.6), LinExpression.defs.hh (1.13), LinExpression.inlines.hh (1.3), Polyhedron.defs.hh (1.38): Systems of constraints and generators do not define polyhedra; rather, they may "correspond to" a given polyhedron (the one that would be built by applying the adequate constructor). A system of generator does not need to include a vertex, in general. The vertex is needed if the system of generators is meant to correspond to a non-empty polyhedron. The detailed description of class Generator changed to highlight that vertices, lines and rays are represented as a type plus a direction in the space. 2001-10-21 Sunday 14:00 Roberto Bagnara * Makefile.am (1.10): CREDITS added to the distribution. 2001-10-21 Sunday 13:04 Enea Zaffanella * src/: Constraint.defs.hh (1.13), Constraint.inlines.hh (1.3): In the documentation, used n to denote the dimension of the space. In the renaming operator >>, the parameter p renamed into offset, consistently with the comment. In the examples, removed spaces between factor and variable when specifying a linear expression (e.g., "3 * x + 4 * y" now is written "3*x + 4*y"). 2001-10-21 Sunday 13:01 Enea Zaffanella * doc/definitions.dox (1.18): When specifying the coordinates of a point, indexes should range from 0 to n-1, if n is the dimension of the space. This is to be consistent with definition of class Variable. Change applied to the definitions of scalar-product, of polytope and to Weil's theorem. Note: I do not like to say a polyhedron is "open" in one direction; I prefer the terminology "unbounded", so I changed it. 2001-10-21 Sunday 12:09 Elisa Ricci * doc/definitions.dox (1.17): Restored some mathematical changes and used the notation "\vect{..}" for all the vectors (also in the part that is not in the user manual). 2001-10-21 Sunday 11:56 Enea Zaffanella * src/: Constraint.defs.hh (1.12), Generator.defs.hh (1.13), Polyhedron.defs.hh (1.37), Variable.cc (1.2), Variable.defs.hh (1.7): In the documentation of the namespace PPL, all non-friend operators are now grouped consistently. I do not like very much the current header of each group ("Non-friend operators on objects ..." is maybe too much implementation-aware), but in any case it is definitely better than the default grouping header ("Functions"). 2001-10-21 Sunday 11:53 Enea Zaffanella * README (1.6): Now it is in sync with the home page of the www documentation. 2001-10-21 Sunday 11:14 Enea Zaffanella * doc/: definitions.dox (1.16), ppl.sty (1.4): The new macro \vect inserted in ppl.sty; now the macro simply uses the latex command \mathbf, but we can modify its meaning as we like. Had a run on definitions.dox to consistently use the new macro: be careful, in the future, to use 0 when a scalar is meant, and \vect{0} when the origin of the space is meant. Also made small, readability related changes to Minkowsky's and Weil's theorems. 2001-10-20 Saturday 21:30 Roberto Bagnara * README (1.5): Equation -> equality. 2001-10-20 Saturday 16:33 Roberto Bagnara * README (1.4): Almost complete: only the directory structure is missing. 2001-10-20 Saturday 16:33 Roberto Bagnara * CREDITS (1.2): Just a formatting change. 2001-10-20 Saturday 16:25 Roberto Bagnara * doc/: definitions.dox (1.15), devref.tex (1.5), user.tex (1.6): Footers fixed. Put the blame on Doxygen. 2001-10-20 Saturday 16:22 Roberto Bagnara * AUTHORS (1.2), CREDITS (1.1): Renamed and completed. 2001-10-20 Saturday 12:22 Elisa Ricci * doc/definitions.dox (1.14), src/Polyhedron.defs.hh (1.36): Moved the definition of the universe polyhedron after the definition of the polyhedron. 2001-10-20 Saturday 11:47 Elisa Ricci * src/: GenSys.cc (1.10), GenSys.defs.hh (1.24), Polyhedron.cc (1.28), Polyhedron.defs.hh (1.35), Status.defs.hh (1.6), conversion.cc (1.5): Now, we always use `system of' instead of `set of' for GenSys and ConSys. In the comment of polyhedron added the explanation of what an universal polyhedron is. Some changes to the comment of the exception: we say that they "have different dimension" instead of that they "do not have the same dimension". 2001-10-20 Saturday 10:26 Elisa Ricci * src/LinExpression.defs.hh (1.12): In the second part of the example, we can use LinExpression e = LinExpression(14) instead of LinExpression e = LinExpression(Integer(14)). 2001-10-19 Friday 20:07 Roberto Bagnara * doc/: user-browse.doxyconf-latex.in (1.6), user-print.doxyconf-latex.in (1.6), user.doxyconf-html.in (1.8): No INTERNAL_DOCS, no INHERIT_DOCS, no FILE_PATTERNS, and no EXCLUDE_PATTERNS. 2001-10-19 Friday 19:57 Roberto Bagnara * src/: ConSys.defs.hh (1.15), GenSys.defs.hh (1.23): Use PPL_INTERNAL inheritance. 2001-10-19 Friday 18:13 Patricia M. Hill * doc/definitions.dox (1.13): Generators and associated terminology now defined in the user section. There is now some repetition of definitions in the developer's section. 2001-10-19 Friday 17:27 Elisa Ricci * src/: Polyhedron.cc (1.27), Polyhedron.defs.hh (1.34), Polyhedron.inlines.hh (1.5): Simplified the comment to the function swap. Used `v' instead of `var', `dim' instead of `add_dim'. All the ConSys are called `cs' and all the GenSys are called `gs'. Used the expression "thrown if" to introduce the comment to the exceptions. The variable is "substituted" in the function substitute_variable. 2001-10-19 Friday 17:19 Elisa Ricci * src/: ConSys.cc (1.8), ConSys.defs.hh (1.14), GenSys.cc (1.9), GenSys.defs.hh (1.22): The Generator is called `g' instead of `r' and the number that indicates the variable is called `v' instead of 'var'. 2001-10-19 Friday 17:12 Elisa Ricci * src/: Constraint.defs.hh (1.11), Generator.defs.hh (1.12): Constraint and Generator are :: PPL_INTERNAL Row instead of :: public Row (like LinExpression). 2001-10-19 Friday 14:24 Roberto Bagnara * Makefile.am (1.9), depcomp (1.2), install-sh (1.2), ppl.spec.in (1.6), doc/Makefile.am (1.11), doc/definitions.dox (1.12), doc/devref-browse.doxyconf-latex.in (1.5), doc/devref-print.doxyconf-latex.in (1.5), doc/devref.doxyconf-html.in (1.6), doc/gpl.dox (1.2), doc/user-browse.doxyconf-latex.in (1.5), doc/user-print.doxyconf-latex.in (1.5), doc/user.doxyconf-html.in (1.7), src/ConSys.cc (1.7), src/ConSys.defs.hh (1.13), src/ConSys.inlines.hh (1.3), src/Constraint.defs.hh (1.10), src/GenSys.cc (1.8), src/GenSys.defs.hh (1.21), src/GenSys.inlines.hh (1.3), src/Generator.defs.hh (1.11), src/LinExpression.defs.hh (1.11), src/Makefile.am (1.8), src/Matrix.cc (1.4), src/Matrix.defs.hh (1.5), src/Matrix.inlines.hh (1.2), src/Polyhedron.cc (1.26), src/Polyhedron.defs.hh (1.33), src/Polyhedron.inlines.hh (1.4), src/Row.cc (1.3), src/Row.inlines.hh (1.3), src/SatMatrix.cc (1.4), src/SatMatrix.defs.hh (1.6), src/SatMatrix.inlines.hh (1.2), src/SatRow.defs.hh (1.5), src/SatRow.inlines.hh (1.2), src/Status.cc (1.3), src/Status.defs.hh (1.5), src/conversion.cc (1.4), src/minimize.cc (1.3), src/simplify.cc (1.3), tests/Makefile.am (1.15), tests/append2.cc (1.3), tests/error2.cc (1.3), tests/inters1.cc (1.4), tests/inters2.cc (1.4), tests/permute.cc (1.6): Annoying trailing blanks removed. 2001-10-19 Friday 14:15 Roberto Bagnara * src/: LinExpression.defs.hh (1.10), LinExpression.inlines.hh (1.2): We now have only one sizing constructor, and it is private. 2001-10-19 Friday 12:49 Roberto Bagnara * src/: conversion.cc (1.3), minimize.cc (1.2), simplify.cc (1.2), Matrix.cc (1.3): Old junk removed. 2001-10-19 Friday 12:15 Elisa Ricci * src/: Polyhedron.cc (1.25), Polyhedron.defs.hh (1.32): In functions widening_assign and limited_widening_assign considered the case of empty-polyhedron and the exception for the different dimension of the polyhedra and the matrix (this for the limited_widening); added some explanations for the parameters. In function assign_variable and substitute_variable considered the exceptions for the variable that is not inside the polyhedron and the expression that does not have the right dimension. 2001-10-19 Friday 09:57 Elisa Ricci * doc/definitions.dox (1.11): Some mathematical changes. 2001-10-19 Friday 09:42 Roberto Bagnara * config.h.in (1.5), configure.ac (1.4): Add checks to determine the size of ints and longs. 2001-10-19 Friday 09:06 Patricia M. Hill * src/Polyhedron.defs.hh (1.31): Examples 4 to 7 simplified. 2001-10-19 Friday 08:56 Patricia M. Hill * src/: Polyhedron.defs.hh (1.30), Variable.defs.hh (1.6): Changes to English. 2001-10-18 Thursday 18:51 Elisa Ricci * src/: Polyhedron.cc (1.24), Polyhedron.defs.hh (1.29), Polyhedron.inlines.hh (1.3): In function add_dimensions_and_embed and add_dimensions_and_project the case of "add_dim" = 0 and the case of the empty polyhedron are considered. In functions add_constraints, add_constraints_lazy, add_generators, generators and constraints instead of some assertion some exceptions are added. 2001-10-18 Thursday 15:36 Patricia M. Hill * src/: GenSys.defs.hh (1.20), LinExpression.defs.hh (1.9), Polyhedron.defs.hh (1.28): More improvements to the English. 2001-10-18 Thursday 15:29 Elisa Ricci * src/GenSys.defs.hh (1.19): The real name of the function is GenSys_Con_Rel satisfy(const Constraint& c) const and not GenSys_Con_Rel satisfy_constraint(const Constraint& c) const. 2001-10-18 Thursday 14:01 Patricia M. Hill * src/GenSys.defs.hh (1.18): Just "specify" changed to "specifies". 2001-10-18 Thursday 13:20 Patricia M. Hill * src/: ConSys.defs.hh (1.12), Constraint.defs.hh (1.9), GenSys.defs.hh (1.17), Generator.defs.hh (1.10): Changes to English. In GenSys.defs.hh the explanation about a system of generators changed to: An object of the class GenSys is a system of generators, i.e. a container of objects of the class Generator (lines, rays and vertices). The set of generators must include at least one vertex. This is needed since a line or ray only specify a direction and a point is needed to indicate its position. 2001-10-18 Thursday 12:40 Elisa Ricci * src/: Polyhedron.cc (1.23), Polyhedron.defs.hh (1.27): Now the function GenSys_Con_Rel poly_satisfies_constraint(const Constraint& con) is called GenSys_Con_Rel satisfies(const Constraint& c). Added the exception for the functions convex_hull_lazy(), satisfies() and includes(). 2001-10-18 Thursday 12:37 Elisa Ricci * src/: GenSys.cc (1.7), GenSys.defs.hh (1.16): Now the function PPL::GenSys::satisfy_constraint(const Constraint& c) const is called PPL::GenSys::satisfy(const Constraint& c) const. 2001-10-18 Thursday 11:36 Roberto Bagnara * tests/ehandlers.hh (1.2): Call exit(1) instead of abort(). 2001-10-18 Thursday 11:34 Roberto Bagnara * tests/: Makefile.am (1.14), append1.cc (1.2), ehandlers.hh (1.1): Set the handlers for unexpected and uncaught exceptions. 2001-10-18 Thursday 09:38 Patricia M. Hill * src/GenSys.defs.hh (1.15): Small change to wording in GenSys_Con_Rel comment. 2001-10-18 Thursday 09:07 Patricia M. Hill * tests/permute.cc (1.5): Now the termination conditions are checked. 2001-10-18 Thursday 08:32 Patricia M. Hill * tests/permute.cc (1.4): Instead of giving the number of variables explicitly, it is obtained as needed using Polyhedron.num_dimensions. 2001-10-18 Thursday 08:13 Roberto Bagnara * doc/Makefile.am (1.10): Now `make world' also produces the licenses in various formats. 2001-10-17 Wednesday 20:18 Roberto Bagnara * src/Polyhedron.cc (1.22): throw_different_dimensions() fixed. 2001-10-17 Wednesday 20:17 Roberto Bagnara * tests/: Makefile.am (1.13), permute.cc (1.3): Made quiet. 2001-10-17 Wednesday 20:17 Roberto Bagnara * tests/error3.cc (1.2): Fixed and made quiet. 2001-10-17 Wednesday 20:15 Roberto Bagnara * tests/append.cc (1.4): Renamed append1.cc. 2001-10-17 Wednesday 20:14 Roberto Bagnara * tests/: append1.cc (1.1), append2.cc (1.2): Renamed. 2001-10-17 Wednesday 19:37 Elisa Ricci * tests/error3.cc (1.1): Tests whether convex_hull assign throws when it should. 2001-10-17 Wednesday 19:33 Elisa Ricci * src/: Polyhedron.cc (1.21), Polyhedron.defs.hh (1.26): Polyhedron::intersection_assign() and Polyhedron::convex_hull_assign() now throw an exception if asked to operate on polyhedra of different dimensions. 2001-10-17 Wednesday 16:56 Roberto Bagnara * tests/permute.cc (1.2): We now use the intended constraints. Termination is guaranteed by using Polyhedron::widening_assign(). 2001-10-17 Wednesday 16:31 Elisa Ricci * src/: ConSys.defs.hh (1.11), ConSys.inlines.hh (1.2), GenSys.defs.hh (1.14), GenSys.inlines.hh (1.2): Added the function swap for GenSys and ConSys. 2001-10-17 Wednesday 16:21 Patricia M. Hill * tests/: Makefile.am (1.12), append2.cc (1.1), my_append.cc (1.2), permute.cc (1.1): The file my_append.cc renamed to append2.cc A new test program permute.cc added. Makefile.am updated to include these tests. 2001-10-17 Wednesday 16:08 Elisa Ricci * src/: Polyhedron.cc (1.20), Polyhedron.defs.hh (1.25): Added comments of the parameters to some public functions of Polyhedron. 2001-10-17 Wednesday 15:27 Elisa Ricci * src/: ConSys.defs.hh (1.10), Constraint.defs.hh (1.8), GenSys.defs.hh (1.13), Polyhedron.defs.hh (1.24): Now, the definitions of the variables used in the examples are before the examples (they are not inside the examples). 2001-10-17 Wednesday 15:03 Patricia M. Hill * tests/my_append.cc (1.1): A modified version of append.cc where code is structured into two procedures, one for the initial polyhedra and one for the fix-point. 2001-10-17 Wednesday 12:55 Patricia M. Hill * doc/definitions.dox (1.10): Definitions of linearly independent and affinely independent improved. 2001-10-17 Wednesday 12:38 Elisa Ricci * src/: Constraint.defs.hh (1.7), Generator.defs.hh (1.9), LinExpression.defs.hh (1.8): Now, "friend" mathods are inside the class documentation of these class. In the "Detail Description" of the class LinExpression there is the paragraph "How to build a linear expression". 2001-10-17 Wednesday 12:03 Elisa Ricci * src/Polyhedron.defs.hh (1.23): Used "check_not_empty" instead of "check_satisfiable" also in the comment of function Polyhedron::OK(). 2001-10-17 Wednesday 12:01 Elisa Ricci * src/: ConSys.defs.hh (1.9), GenSys.defs.hh (1.12), Matrix.defs.hh (1.4), Polyhedron.cc (1.19), Polyhedron.defs.hh (1.22), SatMatrix.cc (1.3), SatMatrix.defs.hh (1.5), SatRow.defs.hh (1.4), Status.defs.hh (1.4): Changed the comments in the function OK(). In function Polyhedron::OK() used "check_not_empty" instead of "check_satisfiable". 2001-10-17 Wednesday 11:05 Elisa Ricci * src/: ConSys.cc (1.6), ConSys.defs.hh (1.8), GenSys.cc (1.6), GenSys.defs.hh (1.11), Polyhedron.cc (1.18), Polyhedron.defs.hh (1.21): In function assign_variable and substitute_variable and in their comments used "expr" instead of "coefficient". Used the concatenation of two strings in the argument of std::invalid_argument(...). 2001-10-17 Wednesday 11:03 Elisa Ricci * src/Generator.inlines.hh (1.5): Used the concatenation of two strings in the argument of std::invalid_argument(...). 2001-10-17 Wednesday 10:14 Elisa Ricci * src/Polyhedron.defs.hh (1.20): Erased the temporary debug constructor of a polyhedron. 2001-10-17 Wednesday 09:19 Elisa Ricci * src/: ConSys.cc (1.5), ConSys.defs.hh (1.7), GenSys.cc (1.5), GenSys.defs.hh (1.10), Matrix.cc (1.2), Matrix.defs.hh (1.3), Polyhedron.cc (1.17), Polyhedron.defs.hh (1.19), SatMatrix.cc (1.2), SatMatrix.defs.hh (1.4), SatRow.cc (1.2), SatRow.defs.hh (1.3), Status.cc (1.2), Status.defs.hh (1.3): Now, there is not NDEBUG before the function OK. 2001-10-17 Wednesday 07:47 Roberto Bagnara * src/: ConSys.cc (1.4), GenSys.cc (1.4), Generator.inlines.hh (1.4), Makefile.am (1.7), Polyhedron.cc (1.16), Row.cc (1.2), Row.inlines.hh (1.2): Now Integer and BitSet are in the PPL namespace. Other namespace-related fixes. Exception strings improved. 2001-10-16 Tuesday 19:05 Elisa Ricci * src/: Constraint.defs.hh (1.6), Generator.defs.hh (1.8): Changed the place of the paragraph "How to build ...". In the comment of 'Generator operator /=' used std::invalid_argument instead of invalid_argument. 2001-10-16 Tuesday 18:59 Elisa Ricci * src/Polyhedron.defs.hh (1.18): Used std::invalid_argument instead of invalid_argument in the documentation of exception. 2001-10-16 Tuesday 18:54 Patricia M. Hill * doc/: definitions.dox (1.9), ppl.sty (1.3): More definitions added to ppl.sty. New definitions used in definitions.dox. Layout of formula in Minkowski's theorem improved. 2001-10-16 Tuesday 18:23 Elisa Ricci * src/: ConSys.defs.hh (1.6), GenSys.defs.hh (1.9), Polyhedron.cc (1.15), Polyhedron.defs.hh (1.17), Status.defs.hh (1.2), conversion.cc (1.2): Used "\Rset" instead of "\mathbb{R}". 2001-10-16 Tuesday 18:18 Enea Zaffanella * src/: Constraint.defs.hh (1.5), LinExpression.defs.hh (1.7), Variable.defs.hh (1.5): Examples on the creation of linear expressions and constraints moved to the right place. Comment about variable names moved into the definition of the class Variable. 2001-10-16 Tuesday 18:06 Enea Zaffanella * src/Generator.defs.hh (1.7): The examples on how to build generators moved to the right place. 2001-10-16 Tuesday 17:34 Roberto Bagnara * tests/: error1.cc (1.2), error2.cc (1.2): There is no point in including print.hh. 2001-10-16 Tuesday 17:33 Patricia M. Hill * doc/: definitions.dox (1.8), ppl.sty (1.2): Some logic notation and "things that hold by definition" added to ppl.sty \mathbb{R} replaced by \Rset in definitions.dox 2001-10-16 Tuesday 17:32 Roberto Bagnara * src/Polyhedron.cc (1.14), src/Polyhedron.defs.hh (1.16), src/Variable.defs.hh (1.4), src/Variable.inlines.hh (1.2), tests/append.cc (1.3): The argument of Polyhedron::remove_dimensions() has changed again. Now it is remove_dimensions(const std::set& to_be_removed). 2001-10-16 Tuesday 17:24 Elisa Ricci * tests/: Makefile.am (1.11), error2.cc (1.1): Added a test for the expception of Polyhedron::assign_variable. 2001-10-16 Tuesday 17:12 Elisa Ricci * src/Polyhedron.defs.hh (1.15): Commented the exception for the function assign_variable and substitute_variable. Now, some important puclic function are in the user manual. 2001-10-16 Tuesday 17:10 Elisa Ricci * src/Generator.defs.hh (1.6): Commented the exception of the constructor of a vertex. 2001-10-16 Tuesday 17:09 Elisa Ricci * src/Generator.inlines.hh (1.3): A line has the inhomogeneus term equal to zero (like a ray). 2001-10-16 Tuesday 16:40 Elisa Ricci * src/GenSys.defs.hh (1.8): Added two examples that show that at least a vertex is necessary in a set of generators. 2001-10-16 Tuesday 15:20 Elisa Ricci * src/Polyhedron.cc (1.13): In functions assign_variable and substitute_variable tha case of denominator == 0 is considered. 2001-10-16 Tuesday 15:11 Enea Zaffanella * src/: LinExpression.defs.hh (1.6), Variable.defs.hh (1.3): No longer using modules (\ingroup, \addgroup, etc.). 2001-10-16 Tuesday 12:26 Elisa Ricci * src/Polyhedron.cc (1.12): Erased a print. 2001-10-16 Tuesday 12:23 Elisa Ricci * src/: ConSys.cc (1.3), ConSys.defs.hh (1.5), GenSys.cc (1.3), GenSys.defs.hh (1.7): Corrected my previous error. 2001-10-16 Tuesday 12:09 Elisa Ricci * src/: Polyhedron.cc (1.11), Polyhedron.defs.hh (1.14): The functions assingn_variable and substitute_variable use a Variable instead od a size_t and a const LinExpression instead of a vector. In this functions, we use a copy of the `coeff' to find the inverse transformations. Changed the example in according to these changes. 2001-10-16 Tuesday 12:04 Elisa Ricci * src/: ConSys.cc (1.2), ConSys.defs.hh (1.4): Now substitute_variable uses LinExpression instead of a vector. 2001-10-16 Tuesday 12:03 Elisa Ricci * src/: GenSys.cc (1.2), GenSys.defs.hh (1.6): Now assign_variable(..) uses an LinExpression instead of a vector. 2001-10-16 Tuesday 11:59 Elisa Ricci * src/LinExpression.defs.hh (1.5): Now LinExpression is PPL_INTERNAL Row, instead of private Row. 2001-10-16 Tuesday 10:56 Roberto Bagnara * src/Generator.inlines.hh (1.2), tests/Makefile.am (1.10), tests/error1.cc (1.1): Throw an invalid_argument exception if Generator operator /=(const LinExpression& e, const Integer& n) is called with n == 0. New test program error1.cc to test whether this situation is correctly handled. 2001-10-16 Tuesday 10:54 Roberto Bagnara * README (1.3): New incipit. 2001-10-16 Tuesday 10:53 Enea Zaffanella * src/: Matrix.defs.hh (1.2), Row.defs.hh (1.2), SatMatrix.defs.hh (1.3), SatRow.defs.hh (1.2): All the specializations of the std::swap function related to implementation classes are now hidden from the user guide. 2001-10-16 Tuesday 10:53 Roberto Bagnara * ppl.spec.in (1.5): Summary changed. Packager also changed in view of PGP signatures. 2001-10-16 Tuesday 10:20 Enea Zaffanella * src/Polyhedron.defs.hh (1.13): The parameter name of the "default" constructor for Polyhedron is `kind'. Hal the comment was using a different parameter name (`full'). 2001-10-16 Tuesday 10:15 Enea Zaffanella * src/GenSys.defs.hh (1.5): In the examples, replaced "\=" by "/=". 2001-10-16 Tuesday 10:13 Enea Zaffanella * src/Generator.defs.hh (1.5): In the examples for defining vectors, all "\=" replaced by "/=". 2001-10-16 Tuesday 08:31 Roberto Bagnara * ppl.lsm.in (1.2), src/Polyhedron.cc (1.10), src/Polyhedron.defs.hh (1.12), tests/append.cc (1.2): New interface for remove_dimensions(const std::vector& to_be_removed). Note: BitSet is an implementation detail that should not surface in the API. 2001-10-16 Tuesday 07:38 Roberto Bagnara * ppl.spec.in (1.4): First attempt at the LSM (Linux Software Map) entry form. 2001-10-15 Monday 20:15 Roberto Bagnara * tests/: Makefile.am (1.9), append.cc (1.1): A first at the append's analysis test. 2001-10-15 Monday 20:15 Roberto Bagnara * tests/randchull1.cc (1.4): Do less work. 2001-10-15 Monday 20:14 Roberto Bagnara * tests/empty1.cc (1.2): Must return an int, not a bool. 2001-10-15 Monday 18:35 Elisa Ricci * src/Polyhedron.cc (1.9): Erased the "assert(OK())" from the function Polyhedron::insert(const Generator&): after an insertion of a generator the polyhedron can be not OK. 2001-10-15 Monday 18:24 Elisa Ricci * src/Polyhedron.defs.hh (1.11): Added a new example to show the use of the function Polyhedron::insert(...). 2001-10-15 Monday 18:13 Roberto Bagnara * src/Polyhedron.cc (1.8), src/Polyhedron.defs.hh (1.10), tests/Makefile.am (1.8), tests/empty1.cc (1.1): It is not possible to overload bool and unsigned int. New enumeration Degenerate_Kind added with vales ZERO_DIMENSIONAL and EMPTY. The constructor Polyhedron(Degenerate_Kind kind = ZERO_DIMENSIONAL) does the expected thing. The program empty1.cc exemplifies two methods of obtaining an empty polyhedron. 2001-10-15 Monday 18:09 Roberto Bagnara * doc/Makefile.am (1.9): ppl.sty must also be distributed. 2001-10-15 Monday 17:14 Elisa Ricci * src/: Polyhedron.cc (1.7), Polyhedron.defs.hh (1.9): Now the default constructor of a polyhedron has a default argument. If `full' is false, it builds an empty polyhedron (it has the flag set to empty); otherwise, if it has the default value (i.e. true), it bulids a zero-dimensional polyhedron. 2001-10-15 Monday 16:44 Elisa Ricci * src/Polyhedron.cc (1.6): If we build a polyhedron starting from a matrix of generators with no rows the polyhedron is empty. 2001-10-15 Monday 16:15 Roberto Bagnara * doc/Makefile.am (1.8): Use an absolute path for adding to TEXINPUTS. 2001-10-15 Monday 15:40 Roberto Bagnara * src/.cvsignore (1.3): Here is the Integer class again. 2001-10-15 Monday 15:40 Roberto Bagnara * src/Polyhedron.inlines.hh (1.2): Multiple inclusion guard added. 2001-10-15 Monday 15:20 Elisa Ricci * src/Polyhedron.cc (1.5): In the constructors of a polyhedron that use a system of constraints or a set of generators these matrices must be at least two columns. In the function remove_dimensions(..) if the matrix of generators does not have at least two columns (i.e num_columns() <= 1) the polyhedron becomes zero-dimensional and so we clear the `con_sys' and `gen_sys'. In function insert(const Constraint& c) if the polyhedron is zero-dimensional we add also the positivity constraint. In functions insert(...) it is no longer necessary clear `con_sys' and `gen_sys' before adding a row if the polyhedron is zero-dimensional. In function OK(), we verify if in a zero-dimensional polyhedron `con_sys' and `gen_sys' have no rows. 2001-10-15 Monday 15:08 Roberto Bagnara * doc/: Makefile.am (1.7), devref-browse.doxyconf-latex.in (1.4), devref-print.doxyconf-latex.in (1.4), devref.doxyconf-html.in (1.5), devref.tex (1.4), ppl.sty (1.1), user-browse.doxyconf-latex.in (1.4), user-print.doxyconf-latex.in (1.4), user.doxyconf-html.in (1.6), user.tex (1.5): New LaTeX commands can now be defined in ppl.sty and then freely used in the doxygen and LaTeX sources. This works also when producing HTML pages. 2001-10-15 Monday 13:59 Elisa Ricci * src/Polyhedron.defs.hh (1.8): Rewrite a part of the brief description of the class Polyhedron. Added some more expanation for the examples 5 and 6. 2001-10-15 Monday 12:19 Elisa Ricci * src/SatMatrix.defs.hh (1.2): Added a briefly description for the saturation matrix. 2001-10-15 Monday 11:59 Roberto Bagnara * ppl.spec.in (1.3): Now we build a relocatable package. 2001-10-15 Monday 11:34 Roberto Bagnara * ppl.spec.in (1.2): A first cut at a working RPM spec file. 2001-10-15 Monday 09:37 Roberto Bagnara * src/Makefile.am (1.6): It is now possible for the build directory to be the same as the source directory. 2001-10-14 Sunday 22:32 Roberto Bagnara * INSTALL (1.2), missing (1.2), mkinstalldirs (1.3): Updated. 2001-10-14 Sunday 21:28 Roberto Bagnara * Makefile.am (1.8), configure.ac (1.3), doc/Makefile.am (1.6), m4/Makefile.am (1.2), src/Makefile.am (1.5), tests/Makefile.am (1.7): Several packaging bugs have been fixed: now `make distcheck' is OK. 2001-10-14 Sunday 21:26 Roberto Bagnara * doc/: devref-browse.doxyconf-latex.in (1.3), devref-print.doxyconf-latex.in (1.3), devref.doxyconf-html.in (1.4), user-browse.doxyconf-latex.in (1.3), user-print.doxyconf-latex.in (1.3), user.doxyconf-html.in (1.5): The sysdep directory does not exist anymore. 2001-10-14 Sunday 14:03 Roberto Bagnara * Makefile.am (1.7), doc/Makefile.am (1.5), doc/definitions.dox (1.7), doc/devref-browse.doxyconf-latex.in (1.2), doc/devref-print.doxyconf-latex.in (1.2), doc/devref.doxyconf-html.in (1.3), doc/fdl.dox (1.1), doc/fdl.tex (1.1), doc/gfdl.dox (1.2), doc/gpl.tex (1.1), doc/gpl.texi (1.2), doc/gpl.texinfo (1.2), doc/texinfo.tex (1.2), doc/user-browse.doxyconf-latex.in (1.2), doc/user-print.doxyconf-latex.in (1.2), doc/user.doxyconf-html.in (1.4): Documentation reorganized. 2001-10-14 Sunday 11:46 Elisa Ricci * src/Polyhedron.cc (1.4): In functions Polyhedron::insert(const Constraint& c) e Polyhedron::insert(const Constraint& c) the case of a zero-dimensional polyhedron is considered. 2001-10-13 Saturday 21:16 Roberto Bagnara * doc/Polyhedra.texinfo (1.3): Was never meant to be here. 2001-10-13 Saturday 19:06 Roberto Bagnara * config.h.in (1.4), configure.ac (1.2): Configuration fixed in various respects. Please note that: - debugging (-g) is ON by default; - standard optimization (-O2) is THE default; - run-time assertions are OFF by default. 2001-10-13 Saturday 19:04 Roberto Bagnara * src/: Makefile.am (1.4), ppl.cc (1.2), protect.sed (1.2), restore.sed (1.2): Generation of libppl.a and ppl.hh fixed. 2001-10-13 Saturday 19:03 Roberto Bagnara * tests/: Makefile.am (1.6), inters1.cc (1.3), inters2.cc (1.3), randchull1.cc (1.3): Programs using the PPL need only include ppl.hh. 2001-10-13 Saturday 19:01 Roberto Bagnara * src/Polyhedron.cc (1.3), tests/randchull1.cc (1.2): It is now possible to insert a generator into an empty polyhedron. 2001-10-13 Saturday 16:37 Roberto Bagnara * Makefile.am (1.6), acconfig.h (1.2), acinclude.m4 (1.1), config.guess (1.2), config.h.in (1.3), config.sub (1.2), configure.ac (1.1), configure.in (1.5), doc/Makefile.am (1.4), m4/.cvsignore (1.1), src/Makefile.am (1.3), tests/Makefile.am (1.5): Upgraded to newer versions of autoconf. Use the new checks for detecting GMP. 2001-10-13 Saturday 12:08 Roberto Bagnara * Makefile.am (1.5), m4/Makefile.am (1.1), m4/ac_check_gmp_exceptions.m4 (1.1), m4/ac_check_have_gmp.m4 (1.1): New tests to check whether GMP is installed and, if so, whether it was compiled with -fexceptions. 2001-10-13 Saturday 10:56 Roberto Bagnara * .cvsignore (1.4), Makefile.am (1.4), Makefile.in (1.4), aclocal.m4 (1.2), configure (1.5), stamp-h.in (1.2), doc/.cvsignore (1.1), doc/Makefile.am (1.3), doc/Makefile.in (1.3), src/.cvsignore (1.2), src/Makefile.in (1.3), tests/.cvsignore (1.1), tests/Makefile.in (1.5): Automatically generated files should not be in the repository and their presence in the directory structure should be ignored. 2001-10-12 Friday 22:27 Roberto Bagnara * configure (1.4), configure.in (1.4), doc/Makefile.am (1.2), doc/Makefile.in (1.2), doc/devref-browse.doxyconf-latex.in (1.1), doc/devref-print.doxyconf-latex.in (1.1), doc/devref.doxyconf-pdf.in (1.3), doc/devref.tex (1.3), doc/user-browse.doxyconf-latex.in (1.1), doc/user-print.doxyconf-latex.in (1.1), doc/user.doxyconf-pdf.in (1.4), doc/user.tex (1.4): Several improvements to the documentation. We now produce docs for printing and docs for browsing 2001-10-12 Friday 18:07 Roberto Bagnara * doc/: devref.doxyconf-html.in (1.2), devref.doxyconf-pdf.in (1.2), user.doxyconf-html.in (1.3), user.doxyconf-pdf.in (1.3), user.tex (1.3): The project name is "Parma Polyhedra Library", "PPL" for short. 2001-10-12 Friday 18:01 Roberto Bagnara * tests/: Makefile.am (1.4), Makefile.in (1.4), randchull1.cc (1.1): New test computing convex-hulls of random polytopes. 2001-10-12 Friday 17:19 Patricia M. Hill * doc/definitions.dox (1.6): Title of document changed. Sections changed so that there are two sections, an introduction to polyhedra and a more advanced section which talks about the PPL implementation. Comment about vertices differing from rays only in the n+1'th term moved to before "Valid linear inequalities" paragraph. 2001-10-12 Friday 17:09 Roberto Bagnara * src/: Makefile.am (1.2), Makefile.in (1.2): Header file ppl.hh is now guarded against multiple inclusion. 2001-10-12 Friday 17:08 Roberto Bagnara * src/Generator.cc (1.2): Bug fixed: a vertex in the origin was printed as "v()" instead of "v(0)". 2001-10-12 Friday 16:51 Elisa Ricci * src/: Polyhedron.cc (1.2), Polyhedron.defs.hh (1.7): Added the function Polyhedron::insert(const Generator& g). 2001-10-12 Friday 16:36 Elisa Ricci * src/Polyhedron.defs.hh (1.6): Added other two examples: one is for the use of assign_variable(...) and the other is for the use of substitute_variable(...). 2001-10-12 Friday 15:44 Elisa Ricci * src/Polyhedron.defs.hh (1.5): Corrected a my error: to build a vertex "/=" is needed instead of "\=". 2001-10-12 Friday 15:12 Elisa Ricci * src/Polyhedron.defs.hh (1.4): Added two examples to the comment: one to specify the use of add_dimensions_and_embed(..) and the other to specify the use of add_dimensions_and_project(...). Corrected an error in a formula: now in the comment of convex_hull(...) and convex_hull_lazy(..) there is \f$\cup\f$ instead of \f$\union\f$ (that caused an error in Latex). 2001-10-12 Friday 15:07 Roberto Bagnara * tests/inters2.cc (1.2): Fixed and extended. 2001-10-12 Friday 14:20 Roberto Bagnara * tests/: Makefile.am (1.3), Makefile.in (1.3), inters1.cc (1.2), inters2.cc (1.1), print.hh (1.1): print.hh contains functions that are useful for printing polyhedra. inters1.cc improved. New test inters2.cc computing the intersection of a pyramid with an half-space of variable height, then counting the number of vertices of the resulting polytope (the empty polyhedron, a proper frustum, or a singleton). 2001-10-12 Friday 13:20 Patricia M. Hill * doc/definitions.dox (1.5): Section on the "equivalence of homogeneous and inhomogeneous systems" (up to the paragraph called "Valid linear inequalities") changed and reworded. Title of section changed to "Homogeneous systems". 2001-10-12 Friday 10:04 Roberto Bagnara * README (1.2), doc/Polyhedra.texinfo (1.2), tests/Makefile.am (1.2), tests/Makefile.in (1.2): Bump copyright year. 2001-10-12 Friday 09:55 Roberto Bagnara * Makefile.am (1.3), Makefile.in (1.3), config.h.in (1.2), configure (1.3), configure.in (1.3), tests/Makefile.am (1.1), tests/Makefile.in (1.1), tests/inters1.cc (1.1): Infrastructure for the tests directory and `make check'. inters1.cc is a first example of how test programs could be written. 2001-10-11 Thursday 17:37 Enea Zaffanella * src/Polyhedron.defs.hh (1.3): Added a backslash to mathbb in the second example. Removing empty lines that were causing Examples 1 and 2 to end prematurely. 2001-10-11 Thursday 17:00 Elisa Ricci * src/Polyhedron.defs.hh (1.2): Added two examples to the comment: one is for the construction of a square using the constraints and the generators. The other is for the construction of an half-strip using the constraints and the generators. 2001-10-11 Thursday 16:57 Elisa Ricci * src/GenSys.defs.hh (1.4): Added another example for the construction of a set of generators (it builds an half-strip). 2001-10-11 Thursday 16:56 Elisa Ricci * src/ConSys.defs.hh (1.3): Added another example for the constraction of a system of constraints (it builds an half-strip). 2001-10-11 Thursday 16:41 Patricia M. Hill * doc/definitions.dox (1.4): The paragraph "The Minkowski's theorem" renamed to "Minkowski's theorem. The condition "rank(A) = n" changed to "where A is a matrix of rank n". The note following the definition is reworded so that the conditions are not bracketed. "Linear equalities and inequalities" has been changed to "constraints". "positive multiples of each inequality and ray" has been changed to "positive multiples of each constraint and ray". The word "the" inserted where necessary. The paragraph "The Weil's theorem" renamed to "Weil's theorem. 2001-10-11 Thursday 16:07 Enea Zaffanella * src/Constraint.defs.hh (1.4): In the examples, variable "cs" renamed into "inequal" and "equal". 2001-10-11 Thursday 15:49 Patricia M. Hill * doc/definitions.dox (1.3): In the definition of rays: P is defined before P_0; A and b are defined; inserted "any point" before r; The comment that a ray is the direction in which P is infinite, moved from within the statement of the proposition to before the proposition and reworded. In the definition of lines, wording improved. Comment relating opposite rays with lines made into a separate paragraph. It is not part of the definition. 2001-10-11 Thursday 14:38 Enea Zaffanella * src/LinExpression.defs.hh (1.4): In the first two examples, variable z now has index 2 (using index 5 was correct, but a bit misleading). 2001-10-11 Thursday 14:33 Enea Zaffanella * src/Generator.defs.hh (1.4): IN the first example, variable "g" renamed as "line". 2001-10-11 Thursday 14:32 Enea Zaffanella * src/Generator.defs.hh (1.3): Examples modified: - using more meaningful names (line, ray and vertex) for Generator variables; - explained that the first argument of operators | and ^ is meaningless; - explained how to use the second argument of /= to obtain vertices with non-integral coefficients. 2001-10-11 Thursday 14:28 Enea Zaffanella * src/GenSys.defs.hh (1.3): In the first example, Variable y(0) changed in Variable y(1) to avoid dimension clash with Variable x(0). In the second example, the computation of the past-the-end iterator moved outside the for-loop. 2001-10-11 Thursday 13:53 Enea Zaffanella * src/: ConSys.defs.hh (1.2), Constraint.defs.hh (1.3), Constraint.inlines.hh (1.2): Friend members building a constraint using operators < and > removed. Example changed accordingly. In the example on the use of iterators for ConSys, the past-the-end iterator is now computed only once before the for-loop. 2001-10-11 Thursday 13:49 Roberto Bagnara * doc/: user.doxyconf-html.in (1.2), user.doxyconf-pdf.in (1.2): Do not show inheritance graphs or diagrams. Do not show a thousands times that the only PPL header file is ppl.hh. 2001-10-11 Thursday 13:44 Roberto Bagnara * doc/: devref.tex (1.2), user.tex (1.2): Tatiana's email address fixed. Better titles. 2001-10-11 Thursday 13:03 Patricia M. Hill * doc/definitions.dox (1.2): In the definition of the combinations, the p_1,...,p_k are changed to x_1,...,x_k. In the definition of scalar product: "vector" is changed to "vectors". In the definition of polyhedra there are a number of changes to notation, the definitions of the notation and to the wording. 2001-10-11 Thursday 12:38 Enea Zaffanella * src/: LinExpression.defs.hh (1.3), Variable.defs.hh (1.2): Some errors (just introduced by me) removed. Methods of class Variable added to group LinExpression. 2001-10-11 Thursday 12:00 Enea Zaffanella * src/LinExpression.defs.hh (1.2): A few changes in the example. 2001-10-11 Thursday 11:22 Elisa Ricci * src/Generator.defs.hh (1.2): Added three examples: one for the construction of a line, one for the construction of a ray and the other for the construction of a vertex. 2001-10-11 Thursday 11:19 Elisa Ricci * src/GenSys.defs.hh (1.2): Added an example in the comment: it is useful to specify the construction of a set of generators. 2001-10-11 Thursday 11:16 Elisa Ricci * src/Constraint.defs.hh (1.2): Added two examples in the comment: one for the building of an inequality and the other for the building of an equality. 2001-10-11 Thursday 08:39 Roberto Bagnara * Makefile.am (1.2), Makefile.in (1.2), configure (1.2), configure.in (1.2): Disable the test directory. 2001-10-11 Thursday 08:33 Roberto Bagnara * .cvsignore (1.3), src/.cvsignore (1.1): My mistake: BitSet and Integer are subdirectories of src. 2001-10-11 Thursday 08:29 Roberto Bagnara * .cvsignore (1.2): Ignore the BitSet and Integer subdirectories: they must be here and must be ignored by CVS. 2001-10-10 Wednesday 21:50 Roberto Bagnara * mkinstalldirs (1.2): $Id tag removed. 2001-10-10 Wednesday 21:45 Roberto Bagnara * .cvsignore (1.1.1.1), AUTHORS (1.1.1.1), COPYING (1.1.1.1), ChangeLog (1.1.1.1), INSTALL (1.1.1.1), Makefile.am (1.1.1.1), Makefile.in (1.1.1.1), NEWS (1.1.1.1), README (1.1.1.1), TODO (1.1.1.1), acconfig.h (1.1.1.1), aclocal.m4 (1.1.1.1), config.guess (1.1.1.1), config.h.in (1.1.1.1), config.sub (1.1.1.1), configure (1.1.1.1), configure.in (1.1.1.1), depcomp (1.1.1.1), install-sh (1.1.1.1), missing (1.1.1.1), mkinstalldirs (1.1.1.1), ppl.lsm.in (1.1.1.1), ppl.spec.in (1.1.1.1), stamp-h.in (1.1.1.1), doc/Makefile.am (1.1.1.1), doc/Makefile.in (1.1.1.1), doc/Polyhedra.texinfo (1.1.1.1), doc/definitions.dox (1.1.1.1), doc/devref.doxyconf-html.in (1.1.1.1), doc/devref.doxyconf-pdf.in (1.1.1.1), doc/devref.tex (1.1.1.1), doc/gfdl.dox (1.1.1.1), doc/gpl.dox (1.1.1.1), doc/gpl.texi (1.1.1.1), doc/gpl.texinfo (1.1.1.1), doc/texinfo.tex (1.1.1.1), doc/user.doxyconf-html.in (1.1.1.1), doc/user.doxyconf-pdf.in (1.1.1.1), doc/user.tex (1.1.1.1), src/ConSys.cc (1.1.1.1), src/ConSys.defs.hh (1.1.1.1), src/ConSys.inlines.hh (1.1.1.1), src/ConSys.types.hh (1.1.1.1), src/Constraint.cc (1.1.1.1), src/Constraint.defs.hh (1.1.1.1), src/Constraint.inlines.hh (1.1.1.1), src/Constraint.types.hh (1.1.1.1), src/GenSys.cc (1.1.1.1), src/GenSys.defs.hh (1.1.1.1), src/GenSys.inlines.hh (1.1.1.1), src/GenSys.types.hh (1.1.1.1), src/Generator.cc (1.1.1.1), src/Generator.defs.hh (1.1.1.1), src/Generator.inlines.hh (1.1.1.1), src/Generator.types.hh (1.1.1.1), src/LinExpression.cc (1.1.1.1), src/LinExpression.defs.hh (1.1.1.1), src/LinExpression.inlines.hh (1.1.1.1), src/LinExpression.types.hh (1.1.1.1), src/Makefile.am (1.1.1.1), src/Makefile.in (1.1.1.1), src/Matrix.cc (1.1.1.1), src/Matrix.defs.hh (1.1.1.1), src/Matrix.inlines.hh (1.1.1.1), src/Matrix.types.hh (1.1.1.1), src/Polyhedron.cc (1.1.1.1), src/Polyhedron.defs.hh (1.1.1.1), src/Polyhedron.inlines.hh (1.1.1.1), src/Polyhedron.types.hh (1.1.1.1), src/Row.cc (1.1.1.1), src/Row.defs.hh (1.1.1.1), src/Row.inlines.hh (1.1.1.1), src/Row.types.hh (1.1.1.1), src/SatMatrix.cc (1.1.1.1), src/SatMatrix.defs.hh (1.1.1.1), src/SatMatrix.inlines.hh (1.1.1.1), src/SatMatrix.types.hh (1.1.1.1), src/SatRow.cc (1.1.1.1), src/SatRow.defs.hh (1.1.1.1), src/SatRow.inlines.hh (1.1.1.1), src/SatRow.types.hh (1.1.1.1), src/Status.cc (1.1.1.1), src/Status.defs.hh (1.1.1.1), src/Status.inlines.hh (1.1.1.1), src/Status.types.hh (1.1.1.1), src/Variable.cc (1.1.1.1), src/Variable.defs.hh (1.1.1.1), src/Variable.inlines.hh (1.1.1.1), src/Variable.types.hh (1.1.1.1), src/conversion.cc (1.1.1.1), src/globals.cc (1.1.1.1), src/globals.hh (1.1.1.1), src/maxmin.hh (1.1.1.1), src/minimize.cc (1.1.1.1), src/ppl.cc (1.1.1.1), src/protect.sed (1.1.1.1), src/restore.sed (1.1.1.1), src/simplify.cc (1.1.1.1): Imported into the new repository. 2001-10-10 Wednesday 21:45 Roberto Bagnara * .cvsignore (1.1), AUTHORS (1.1), COPYING (1.1), ChangeLog (1.1), INSTALL (1.1), Makefile.am (1.1), Makefile.in (1.1), NEWS (1.1), README (1.1), TODO (1.1), acconfig.h (1.1), aclocal.m4 (1.1), config.guess (1.1), config.h.in (1.1), config.sub (1.1), configure (1.1), configure.in (1.1), depcomp (1.1), install-sh (1.1), missing (1.1), mkinstalldirs (1.1), ppl.lsm.in (1.1), ppl.spec.in (1.1), stamp-h.in (1.1), doc/Makefile.am (1.1), doc/Makefile.in (1.1), doc/Polyhedra.texinfo (1.1), doc/definitions.dox (1.1), doc/devref.doxyconf-html.in (1.1), doc/devref.doxyconf-pdf.in (1.1), doc/devref.tex (1.1), doc/gfdl.dox (1.1), doc/gpl.dox (1.1), doc/gpl.texi (1.1), doc/gpl.texinfo (1.1), doc/texinfo.tex (1.1), doc/user.doxyconf-html.in (1.1), doc/user.doxyconf-pdf.in (1.1), doc/user.tex (1.1), src/ConSys.cc (1.1), src/ConSys.defs.hh (1.1), src/ConSys.inlines.hh (1.1), src/ConSys.types.hh (1.1), src/Constraint.cc (1.1), src/Constraint.defs.hh (1.1), src/Constraint.inlines.hh (1.1), src/Constraint.types.hh (1.1), src/GenSys.cc (1.1), src/GenSys.defs.hh (1.1), src/GenSys.inlines.hh (1.1), src/GenSys.types.hh (1.1), src/Generator.cc (1.1), src/Generator.defs.hh (1.1), src/Generator.inlines.hh (1.1), src/Generator.types.hh (1.1), src/LinExpression.cc (1.1), src/LinExpression.defs.hh (1.1), src/LinExpression.inlines.hh (1.1), src/LinExpression.types.hh (1.1), src/Makefile.am (1.1), src/Makefile.in (1.1), src/Matrix.cc (1.1), src/Matrix.defs.hh (1.1), src/Matrix.inlines.hh (1.1), src/Matrix.types.hh (1.1), src/Polyhedron.cc (1.1), src/Polyhedron.defs.hh (1.1), src/Polyhedron.inlines.hh (1.1), src/Polyhedron.types.hh (1.1), src/Row.cc (1.1), src/Row.defs.hh (1.1), src/Row.inlines.hh (1.1), src/Row.types.hh (1.1), src/SatMatrix.cc (1.1), src/SatMatrix.defs.hh (1.1), src/SatMatrix.inlines.hh (1.1), src/SatMatrix.types.hh (1.1), src/SatRow.cc (1.1), src/SatRow.defs.hh (1.1), src/SatRow.inlines.hh (1.1), src/SatRow.types.hh (1.1), src/Status.cc (1.1), src/Status.defs.hh (1.1), src/Status.inlines.hh (1.1), src/Status.types.hh (1.1), src/Variable.cc (1.1), src/Variable.defs.hh (1.1), src/Variable.inlines.hh (1.1), src/Variable.types.hh (1.1), src/conversion.cc (1.1), src/globals.cc (1.1), src/globals.hh (1.1), src/maxmin.hh (1.1), src/minimize.cc (1.1), src/ppl.cc (1.1), src/protect.sed (1.1), src/restore.sed (1.1), src/simplify.cc (1.1): Initial revision