Things like "CGAL_assertion(denominator != 0)" produced assertion failures for no gain.
So now, the assertion is triggered only if the condition is certain, using CGAL::certainly().
That is, change the following in all assertion files :
((EX)?(static_cast<void>(0)): ::CGAL::assertion_fail( # EX , __FILE__, __LINE__))
to :
(CGAL::certainly(EX)?(static_cast<void>(0)): ::CGAL::assertion_fail( # EX , __FILE__, __LINE__))
as the default is now the empty string "".
It should fix the problem that we have lost the assertion messages
(seeing "what(): basic_string::_S_construct NULL not valid" instead),
for packages that use package-specific assertion macros.
- made partial pricing also work for high constraint/variable ratio (needs to
be properly tested)
- added QSCORPIO as interesting additional example
- switched to quotient output in iteration log to avoid nans
- removed filter_failure example (after all, this particular example
was just an artifact of the bad to_double() routine of Gmpzf that I
fixed earlier
- added remark about possible filter failures
- added example where they occur, and how to fix them
- added benchmark section
- ref manual:
- documented pricing strategies
- code:
- made partial_filtered_dantzig the default for double input
- added timer output to test_solver
- added QP_solution page (the fat one)
- added package description and image
- some minor revisions
- code:
- renamed some QP_solution methods to make them more accessible
- mps reader is now derived from a model that allows to set
up and manipulate a program entrywise
- old copying models removed
- free models removed (they are utterly useless)
- a() -> get_a() etc.
- the solver can now solve problems with no variables :-)
- manual:
- added maker pages
- adapted to above changes
- changed unbounded direction w so that x + tw is the unbounded ray
- aded certificate iterators to QP_solution
- added example programs that demonstrate the certificates
- fixed examples so that 2D instead of D is given
- added test with random small QP's
- fixed some bugs discovered by this:
- output routine for programs is now printing symmetric D
- internal comparison routine is now ignoring bound value if it
was specified as infinite
- fixed sign error in subrotuine of ratio_test
- removed constant term from consideration in phase I
- test (and fixed) access to upper-diagonal entries in D
- MPS read/write disagreement now only triggers warning (small differences
may be ok if floating point numbers are used)
QP data that are no longer available after the constructor call)
- fixed copying models to only copy entries of D on/below the diagonal
- fixed are_equal_qp function to only access entries of D on/below the diagonal