cgal/Packages/Interval_arithmetic/changes.txt

237 lines
9.0 KiB
Plaintext

Changes done to the Interval Arithmetic package.
Version 4.22 on 2 August 1999
- New class Static_filter_error (in Static_filter_error.h) that helps
computing static errors for static filters.
- New class Restricted_double, which is a double with restricted
functionnality.
- New filtering scheme Static_adaptatif_filter [not 100% ready yet].
- Added predicates/sign_of_determinant.h to the list of parsed files.
- Added missing "template <>" to keep MipsPro 7.3 happy.
- New function "FPU_CW_t FPU_empiric_test()" used by expensive checks.
- Replaced CGAL_IA_DEBUG by expensive checks.
Version 4.21 on 20 July 1999
- Removed the buggy [1;-1] interval, users just have to write good code.
- New flag (disabled by default) -DCGAL_IA_STOP_CONSTANT_PROPAGATION, that
stops the constant propagation done by the compiler.
- New FPU_get_and_set_cw() function.
- Big rewrite of the Perl script.
- CGAL_DONT_NEED_FILTER replaced by C++ comments //CGAL_NO_FILTER_BEGIN {END}.
Version 4.20 on 8 July 1999
- Changed back __asm__ to asm.
- Removed tstlink in the test-suite (which was not submitted anyway).
- Test CGAL_USE_GMP before using Gmpz.h.
- Documented the caching feature Cache_t of Filtered_Exact<>.
- Documented Interval_nt_advanced::number_of_failures.
- Documented .exact(), .interval() and .value().
Version 4.19 on 6 July 1999
- The script now locally (in the produced file) defines
"CGAL_DONT_NEED_FILTER", so the user can conditionnaly exclude some code
in the produced file with "#ifndef CGAL_DONT_NEED_FILTER". For example,
some predicates that don't need to be filtered because they are already
exact (e.g. lexico*).
- Fix for MipsPro.
- New function force_ieee_double_precision(), that sets the correct IEEE
double precision on Intel only.
- CygWin compiles.
Version 4.18 on 30 June 1999
- Cleaned up _FPU.h, no more CGAL_*ASSEMBLY* macros, using GNU libc macros
on Linux/PPC (x86 keeps the old asm() for compatibility with libc5).
- _FPU.h ported to M$ VC++, though it needs testing.
- Removed obsolete lower_bound() and upper_bound().
- CGAL_IA_FORCE_TO_DOUBLE() revised on __i386__, it should be slightly faster.
- Removed the template ctor for Filtered_exact<>.
- Added "std::" where missing.
Version 4.17 on 24 June 1999
- Removed the ".pure" and src/*.o files.
- Removed include/CGAL/Arithmetic_filter/predicates_on_rtH2.h.
- Updates the other specialization files.
Version 4.16 on 24 June 1999
- Added specializations for the regular triangulation predicates.
- The script now adds "CGAL::", so that it works for the predicates
outside namespace CGAL.
- IO operators are now in libCGAL, not inlined anymore.
- Preliminary not-working-yet Linux/PowerPC support contributed
by Pierre Angelier.
- Removed the old FPU_set_rounding_to_{zero|nearest|...} functions.
Version 4.15 on 25 May 1999 [CGAL release 2.0]
- fixed the test-suite for MipsPro.
Version 4.14 on 25 May 1999
- src/workaround_4_irix.s.IRIX renamed to workaround_4_irix6.s.
Version 4.13 on 11 May 1999
- New test file, that should emit a warning with a smart compiler.
- Moved some documentation files.
- Removed calls to convert_to from the test-suite (MipsPro...).
- Minor doc updates for 2.0.
Version 4.12 on 7 May 1999
- Fixed a bug in std::istream & operator>>().
- Fixed the definition of CGAL_IA_CACHE for the MipsPro workaround.
- Removed a useless assertion(false) in the predicates.
- ship workaround_4_irix as assembly file instead of object.
Version 4.11 on 4 May 1999
- Introduced macro CGAL_IA_FORCE_TO_DOUBLE to workaround an Intel processors
"feature", breaking the intervals that underflow or overflow.
- The test-suite should not say "n" when LEDA is not there.
- Fixed a bug in the division !
- Some operator?(Interval_nt) didn't change the rounding mode: fixed.
- Fixed MipsPro.
Version 4.1 on 30 April 1999
- Fixed typo breaking MipsPro.
Version 4.0 on 22 April 1999
- Fixed typo preventing use of assembly versions...
Version 3.9 on 20 April 1999
- Big clean up of the caching stuff. Seems to be done the Right Way [tm] now.
Version 3.8 on 20 April 1999
- Fixed small bugs.
- Updated documentation.
Version 3.7 on 15 April 1999
- Partial workaround for lack of partial specialization of the predicates.
- New template parameter "Filter_Cache" to Filtered_exact<CT,ET> to allow
caching of the conversion to intervals (default is off).
Version 3.6 on 15 April 1999
- Final (hopefully) workaround for the rounding modes on IRIX.
- Workaround for lack of convert_to<target>(source), replaced by
convert_from_to(target(), source).
Version 3.5 on 1 April 1999
- Header include files order fixes.
- Use CGAL::to_double.
- Introduced .inf() and .sup().
- Removed friend functions for SunPro 5.0.
Version 3.4 on 26 March 1999
- Fix for IRIX.
- More std compliance.
Version 3.3 on 19 March 1999
- Forgot the src/ directory in the package :(
Version 3.2 on 19 March 1999
- Changed max<double> to std::max, idem for min().
Version 3.1 on 12 March 1999
- New functions FPU_get_cw() and FPU_set_cw() replace the old ones.
- Major cleanup of _FPU.h.
- Updated documentation.
- Added a counter of failures "Interval_nt_advanced::number_of_failures".
Version 3.0 on 11 March 1999
- Namespace CGAL.
- Introduced .exact() and .interval() member functions to the filtered type.
- Removed SunPro comments in the doc.
- Support standard headers.
- More operators (intervals with doubles) supported.
- Union and intersection on intervals (operators || and &&).
- Quotient<RT> supported by the filtering stuff.
- function "convert_to<>()" replaced by "struct converter::do_it()".
Version 2.7 on 22 December 1998
- Hopefully the last fixes for the 1.2 release.
- Added CGAL_square(), and benchmark for it.
- Added lots of checks enabled with CGAL_IA_DEBUG.
- Updated rtH2 predicates.
- Fixed CGAL_convert_to<>() functions with respect to rounding mode, and
template<>.
- Assembly for Mips disabled.
- Added CGAL_FPU_get_rounding_mode() and CGAL_FPU_set_rounding_mode(). Not
documented for the moment. And test program tst0.C for that.
Version 2.6 on 10 December 1998
- Big renaming that does:
- /Filter/ -> /Arithmetic_filter/
- Filter.h -> Arithmetic_filter.h
- CGAL_FILTER_H -> CGAL_ARITHMETIC_FILTER_H
- CGAL_Filtering -> CGAL_Filtered_exact
- CGAL_to_exact_type -> CGAL_convert_to
- CGAL_to_IA[advanced]-> CGAL_convert_to<IA[advanced]> ()
- SunPro and MipsPro are definitely not supported anymore.
- Support for ftC3 and rtH2 (partially) is included.
- Massive doc update.
- The whole thing is supposed to be really "frozen for 1.2" now.
- Mips assembly enabled back, hopefully Geert-Jan has upgraded to 1.1.1,
and the problem will be fixed.
Version 2.5 on 26 November 1998
- Mips assembly commented out, it fails for the test-suite...
- Filtering stuff in place, doc updated.
Version 2.4 on 12 November 1998
- Mips + GNU uses assembly versions (thanks to Christoph Burnikel).
- CGAL_{sign,compare,abs,min,max,is_valid,is_finite} specialized for speed and
correctness.
- <CGAL/Filter.h>: new file containing the wrapper for filtered predicates.
- include/CGAL/Filter/predicates_on_ft_C2.h: new file containing the
specializations for the filtering scheme.
Version 2.3 on 23 October 1998
- the test-suite now includes some benchmark.
- the code is optimized, even uses the GNU extension "named return value".
Version 2.2 on 16 October 1998
- removed more spurious constructors.
- removed bugs in _FPU.h
- much improved test suite, 100% coverage (except casts).
Version 2.1 on 11 September 1998
- "lines too long" problem fixed.
- removed temporary objects => faster.
Version 2.0 on 17 August 1998.
- Added CGAL_to_interval_nt() cast functions for Gmpz and
leda_{real,rational,integer,bigfloat}.
- Added operators +=, -=, *=, /=, as required for all CGAL NTs.
- Moved private files to the directory CGAL/Interval_arithmetic
- Doc update: cgal.bib removed, geombib is updated.
- Using CVS.
- [sent Stefan the necessary updates to other NTs].
Version 1.6 on 10 May 1998.
- "package" line added in the headers.
- Added a CGAL_warning_msg() when you compare 2 overlapping intervals,
disabled by the compilation flag CGAL_IA_NO_WARNINGS (or CGAL_NO_WARNINGS).
- New private member function: overlap() (same semantic as operator==()).
- Doc updates:
- better introduction.
- fixed bugs shown by the HTML version.
- update the support status for the Alpha.
- modifications from Remco for 1.0.
- reference to our (BBP) ACM SoCG'98 paper added.
- ChangeLog file created.
Version 1.5 on 26 February 1998.
- Added "#include <assert.h>" forgotten in 1.4.
Version 1.4 on 6 February 1998.
- Changed _FPU_* to CGAL_FPU_*.
- Doc updates.
Version 1.3 on 16 December 1997.
- Added an assertion when defining an interval with the lower bound greater
than the upper. Disabled when CGAL_NO_PRECONDITIONS is defined.
Version 1.2 on 16 December 1997.
- Added support for old Irix 5.3 include files.
Version 1.1 on 16 December 1997.
- lines too long problem fixed.
Version 1.0 on 3 December 1997.
- initial version based on some C code, and 2 C++ wrapper classes for CGAL.