mirror of https://github.com/CGAL/cgal
1100 lines
32 KiB
Plaintext
1100 lines
32 KiB
Plaintext
15 February 2006 Sylvain Pion
|
|
- Root_of_2 fixes.
|
|
|
|
10 February 2006 Sylvain Pion
|
|
- MP_Float : Add approximate_sqrt() and approximate_division() functions,
|
|
and disallow operator/() and sqrt() by default.
|
|
They can be enabled back using -DCGAL_MP_FLOAT_ALLOW_INEXACT.
|
|
|
|
10 February 2006 Sylvain Pion
|
|
- Move Root_of_2 from Algebraic_kernel to here.
|
|
|
|
21 December 2005 Sylvain Pion
|
|
- Add #include <CGAL/config.h> early in <CGAL/number_type_basic.h>
|
|
to avoid the need to #include <CGAL/basic.h> in Algebraic_kernel/basic.h.
|
|
|
|
14 December 2005 Sylvain Pion
|
|
- Change CGAL_CFG_HAS_TWO_STAGE_NAME_LOOKUP into
|
|
CGAL_CFG_NO_TWO_STAGE_NAME_LOOKUP.
|
|
|
|
10 September 2005 Sylvain Pion
|
|
- missing forward declaration of io_tag(CORE::Expr) required by g++ 4.1.
|
|
|
|
9 September 2005 Sylvain Pion
|
|
- Add NT_converter<double, double> specialization to disambiguate (spotted by
|
|
Nico).
|
|
|
|
9 August 2005 Sylvain Pion
|
|
- Rational_traits : add an overload of make_rational() that takes rational
|
|
arguments.
|
|
|
|
6 August 2005 Sylvain Pion
|
|
- Add functors Equal_to Not_equal_to Greater Less Greater_equal Less_equal
|
|
which take 2 arguments (with a default), and provide the Arity.
|
|
|
|
5 August 2005 Sylvain Pion
|
|
- Use Unary_function and Binary_function instead of the std:: counterpart.
|
|
|
|
5 August 2005 Sylvain Pion
|
|
- Remove traces of CGAL_STD and CGAL_CFG_NO_NAMESPACE.
|
|
- Fix result_type of CGAL::Sgn.
|
|
- Introduce number_utils_fwd.h.
|
|
|
|
4 August 2005 Sylvain Pion
|
|
- Fix *_fwd.h re-organization for some compilers.
|
|
- Move CGAL/known_bit_size_integers.h from Kernel_23.
|
|
|
|
3 August 2005 Sylvain Pion
|
|
- Rename CGAL/Interval_arithmetic.h to CGAL/Interval_nt.h.
|
|
- [doc] : update doc of Interval_nt.
|
|
|
|
2 August 2005 Sylvain Pion
|
|
- number_type_basic.h : Use forward #include <CGAL/*_fwd.h> instead of declaring
|
|
classes and functions from other packages.
|
|
|
|
2 August 2005 Sylvain Pion
|
|
- number_type_basic.h : update compare(Lazy_exact_nt<ET1>, Lazy_exact_nt<ET2>).
|
|
- Move Binary_operator_result.h here.
|
|
- Quotient.h : specialize Binary_operator_result<Quotient<NT>, NT>.
|
|
|
|
1 August 2005 Sylvain Pion
|
|
- Rational_traits<Quotient> : make numerator/denominator return by reference.
|
|
|
|
30 July 2005 Sylvain Pion
|
|
- Change return type of sign() and compare() of Interval_nt to Uncertain<>.
|
|
|
|
29 July 2005 Sylvain Pion
|
|
- Quotient : Add template ctor from Quotient<NT2>.
|
|
|
|
27 July 2005 Sylvain Pion
|
|
- NT_converter : Add specializations when converting to Interval_nt
|
|
(calls to_interval()), and when conversion to same type (saves a copy).
|
|
|
|
26 July 2005 Sylvain Pion
|
|
- Remove #include <CGAL/_QP_solver/Double.h> from CGAL/number_type_basic.h .
|
|
|
|
1 July 2005 Sylvain Pion
|
|
- Specialize NT_converter for double so that it calls to_double() instead of
|
|
attempting a conversion.
|
|
|
|
26 March 2005 Sylvain Pion
|
|
- Gmpq : add removed mpq_canonicalize().
|
|
|
|
26 March 2005 Sylvain Pion
|
|
- Gmpz/Gmpq : remove some copies.
|
|
|
|
13 March 2005 Sylvain Pion
|
|
- Quotient.h : Use Kernel/mpl.h's First_if_different<>, instead of redefining
|
|
a local equivalent.
|
|
|
|
8 March 2005 Sylvain Pion
|
|
- Use <boost/operators.hpp> to simplify Gmpz and Gmpq.
|
|
|
|
6 March 2005 Sylvain Pion
|
|
- Mark template ctor of Quotient<NT> explicit, as it is too greedy,
|
|
complement it by constructors from NT, int and double.
|
|
|
|
5 March 2005 Sylvain Pion
|
|
- Use <boost/operators.hpp> to simplify <CGAL/Quotient.h>.
|
|
- Add test program for the mixed operators of Quotient.
|
|
|
|
3 March 2005 Sylvain Pion
|
|
- long_double.h : SunPRO workaround.
|
|
|
|
8 February 2005 Sylvain Pion
|
|
- doc fix for Rational_traits<>.
|
|
|
|
6 February 2005 Sylvain Pion
|
|
- Add Number_type_checker<NT1, NT2, Comparator>.
|
|
|
|
1 February 2005 Sylvain Pion
|
|
- Fix fall out of long double support.
|
|
- Re-implement nearbyint() because of too painful portability issues.
|
|
|
|
29 January 2005 Sylvain Pion
|
|
- Make "long double" a model of number type.
|
|
- Add MP_Float constructors from float and long double.
|
|
|
|
=========================== CGAL 3.1 ============================
|
|
|
|
24 November 2004 Sylvain Pion
|
|
- Remove useless (and potentially misleading) reference to the obsolete
|
|
BigNum package (by Serpette, Vuillemin, Herve).
|
|
|
|
17 November 2004 Sylvain Pion
|
|
- Disable square(MP_Float) [minor] optimization until the bug is fixed.
|
|
|
|
30 September 2004 Sylvain Pion
|
|
- MP_Float : fix bug in constructor from double.
|
|
- MP_Float : add convertion function to rational types (e.g. Gmpq).
|
|
|
|
22 September 2004 Sylvain Pion
|
|
- Define CGAL::min/max() for Quotient, since LEDA defines template min/max
|
|
functions that clash with std::min/max through ADL.
|
|
|
|
15 September 2004 Sylvain Pion
|
|
- Add sqrt() for leda_integer and leda_bigfloat.
|
|
|
|
10 September 2004 Andreas Fabri
|
|
- yet another change in operator>>(iostrem&, Gmpz) as it still failed with VC7.1
|
|
|
|
6 September 2004 Menelaos Karavelas
|
|
- number_type_basic.h: added "#include<CGAL/_QP_solver/Double.h>"
|
|
|
|
5 September 2004 Menelaos Karavelas & Sylvain Pion
|
|
- added specs for the new number type tags: Has_exact_ring_operations,
|
|
Has_exact_division, Has_exact_sqrt
|
|
|
|
5 September 2004 Menelaos Karavelas
|
|
- number_type_basic.h: put declarations for GMP, GMPXX and CORE inside
|
|
the proper #ifdef CGAL_USE_* / #endif blocks
|
|
|
|
4 September 2004 Sylvain Pion
|
|
- Add UInteger64 again.
|
|
|
|
3 September 2004 Sylvain Pion
|
|
- Quotient.h : #include <CGAL/basic.h> before the protect macro.
|
|
|
|
3 September 2004 Sylvain Pion & Menelaos Karavelas
|
|
- resurect to_double(Quotient<Gmpz>).
|
|
|
|
2 September 2004 Menelaos Karavelas
|
|
- number_types_basic.h: added "#include <CGAL/MP_Float.h>"; needed for
|
|
specializations of Quotient
|
|
|
|
2 September 2004 Menelaos Karavelas
|
|
- removed occurences of CGAL_USE_ADL_FOR_NT
|
|
- number_types_basic.h: added declarations for CORE::Expr
|
|
|
|
2 September 2004 Sylvain Pion
|
|
- test for the precense of the Number_type_traits tags.
|
|
|
|
2 September 2004 Sylvain Pion & Menelaos Karavelas
|
|
- number_type_basic.h :
|
|
- Replace #includes by declarations (for g++ 3.4).
|
|
- added declarations for specializations for Quotient<MP_Float>
|
|
- added includes for Gmpz.h and Quotient.h, necessary for g++ 3.4
|
|
- Gmp.C : file removed and corresponding code was moved back to Gmpz.h
|
|
|
|
1 September 2004 Sylvain Pion
|
|
- Add missing #include <CGAL/Quotient.h> in src/MP_Float.C.
|
|
|
|
1 September 2004 Menelaos Karavelas
|
|
- added the following tags in number type traits: Has_exact_sqrt,
|
|
Has_exact_ring_operations, Has_exact_division
|
|
- created default Rational_traits and moved applied the old rational
|
|
traits to Quotient<NT>
|
|
- removed unsigned number types
|
|
|
|
1 September 2004 Sylvain Pion
|
|
- number_utils.h : remove #include <CGAL/kernel_basic.h>.
|
|
- Add src/Gmp.C to break cyclic include dependency with Quotient.
|
|
- include all number type files from CGAL/number_type_basic.h when
|
|
CGAL_CFG_HAS_TWO_STAGE_NAME_LOOKUP is defined (g++ 3.4).
|
|
|
|
21 August 2004 Sylvain Pion
|
|
- Undo last change
|
|
|
|
20 August 2004 Menelaos Karavelas
|
|
- first attempt towards the new number type traits
|
|
|
|
13 August 2004 Sylvain Pion
|
|
- Use MPFR to properly fix to_interval(GMP types).
|
|
|
|
11 August 2004 Andreas Fabri
|
|
- bug fix in operator>>(istream, Gmpz)
|
|
|
|
9 August 2004 Sylvain Pion
|
|
- Use std::ios instead of std::ios_base to please g++ 2.95.
|
|
|
|
4 August 2004 Sylvain Pion
|
|
- operator>>(Gmpz) : better failure handling.
|
|
|
|
24 June 2004 Sylvain Pion
|
|
- Protect some leda number type functions against CGAL_USE_ADL_FOR_NT.
|
|
|
|
24 June 2004 Sylvain Pion
|
|
- Use CGAL_NTS instead of CGAL:: in Quotient::to_double.
|
|
|
|
20 June 2004 Sylvain Pion
|
|
- Minor optimisation : to_double(double) returns a const reference.
|
|
|
|
20 June 2004 Sylvain Pion
|
|
- GMPXX : No need to forward abs() and sqrt() when CGAL_USE_ADL_FOR_NT.
|
|
|
|
20 June 2004 Sylvain Pion
|
|
- Use CGAL_USE_ADL_FOR_NT instead of hardcoding a test for g++ 3.4
|
|
in previous change.
|
|
|
|
20 June 2004 Sylvain Pion
|
|
- Define CGAL_NTS as empty for g++ 3.4 as a temporary attempt.
|
|
This enables Koenig Lookup, and allows experimenting with it.
|
|
|
|
20 June 2004 Sylvain Pion
|
|
- Use CGAL_NTS instead of CGAL:: for to_double/to_interval.
|
|
|
|
31 May 2004 Sylvain Pion
|
|
- Add simplify_quotient() function in Quotient operations, and make it
|
|
simplify the exponents for MP_Float (other number types do not do anything).
|
|
|
|
31 May 2004 Sylvain Pion
|
|
- Change the exponent of MP_Float to be a double instead of int.
|
|
(temporary improvement before using a multiprecision value)
|
|
|
|
31 May 2004 Sylvain Pion
|
|
- Document the limitation of the exponent of MP_Float.
|
|
|
|
30 Apr 2004 Sylvain Pion
|
|
- Fix to_interval() for all GMP types when there is overflow.
|
|
A really proper fix probably requires some work within GMP.
|
|
|
|
27 Apr 2004 Sylvain Pion
|
|
- Replace explicit compilers tests by CGAL_CFG_IEEE_754_BUG.
|
|
|
|
17 Apr 2004 Sylvain Pion
|
|
- MP_Float : Do not use an implementation-defined behavior (conversion to
|
|
signed integral type), which was making PGCC unhappy.
|
|
- MP_Float : add a split() function to convert a limb2 in 2 limbs.
|
|
|
|
12 Apr 2004 Sylvain Pion
|
|
- Added preconditions (denominator != 0) in operator/ of Gmpz and Gmpq.
|
|
|
|
10 Apr 2004 Sylvain Pion
|
|
- Added expensive_assertions in to_interval(CORE::Expr) since it was buggy.
|
|
|
|
9 Apr 2004 Sylvain Pion
|
|
- PGCC workarounds.
|
|
|
|
29 March 2004 Radu Ursu
|
|
- rolled back some changes in doc_tex/NumberTypeSupport_ref/main.tex
|
|
|
|
26 March 2004 Radu Ursu
|
|
-made doc work with the new implementation of the Manual tools
|
|
|
|
24 Feb 2004 Sylvain Pion
|
|
- Fix return void expression detected by MipsPro.
|
|
|
|
21 Feb 2004 Sylvain Pion
|
|
- Add swap() to Quotient and MP_Float.
|
|
|
|
13 Feb 2004 Sylvain Pion
|
|
- Remove traces of CLN.
|
|
|
|
1 Feb 2004 Sylvain Pion
|
|
- Improve the precision of to_interval(Quotient<MP_Float>).
|
|
|
|
4.131 (18 Jan 2004)
|
|
- Remove CGAL_CFG_RETURN_TYPE_BUG workarounds.
|
|
|
|
4.130 (18 Jan 2004)
|
|
- Remove obsolete *ITERATOR_TRAITS_POINTER_SPEC* workarounds.
|
|
|
|
4.129 (18 Jan 2004)
|
|
- Remove obsolete CGAL_CFG_MATCHING_BUG_2 workaround (VC++ <= 7.0).
|
|
|
|
4.128 (18 Jan 2004)
|
|
- Add tests for overflow in to_double(Gmpq and Quotient<MP_Float>).
|
|
|
|
4.127 (15 Dec 2003)
|
|
- Proper fix for SunPro.
|
|
|
|
4.126 (4 Dec 2003)
|
|
- Protect operator>>(MP_Float) against end of stream.
|
|
|
|
4.125 (1 Dec 2003)
|
|
- Quotient<NT> now supports sqrt() iff NT supports it.
|
|
|
|
4.124 (28 Nov 2003)
|
|
- SunPro 5.3 workaround.
|
|
|
|
4.123 (25 Nov 2003) [af]
|
|
- Added #include of gmpxx.h
|
|
|
|
====================================== CGAL 3.0 =============================
|
|
|
|
4.122 (28 October 2003)
|
|
- Protect to_double(Quotient<MP_Float>) against overflows like Quotient<Gmpz>.
|
|
|
|
4.121 (27 October 2003)
|
|
- Fix Gmpq's operator>> in case of end of stream.
|
|
|
|
4.120 (22 October 2003) [af]
|
|
- new headers
|
|
|
|
4.119 (1 October 2003) [af]
|
|
- Moved \chapter to main.tex
|
|
|
|
4.118 (23 September 2003) [af]
|
|
- Added constructor Gmqp(int,int) and replaced Gmpq(char*) with Gmpq(std::string)
|
|
- Replaced constructor Gmpz(char*) with Gmpz(std::string)
|
|
|
|
4.117 (18 September 2003)
|
|
- New headers
|
|
|
|
4.116 (10 September 2003)
|
|
- test/utilities.C : add Interval_nt<>.
|
|
|
|
4.115 (1 September 2003)
|
|
- Remove duplicate CGAL::sqrt(CORE::Expr)
|
|
- Remove buggy templates in number_utils.h.
|
|
|
|
4.114 (27 August 2003)
|
|
- Move test/NumberTypeSupport to test/Number_types
|
|
|
|
4.113 (27 August 2003)
|
|
- Change CGAL_NTS to be CGAL::, and change the number types accordingly.
|
|
|
|
4.112 (25 August 2003)
|
|
- Try to workaround a VC++ feature in Gmpz.
|
|
|
|
4.111 (25 August 2003)
|
|
- Better testing of to_rational() and simplest_rational_in_interval().
|
|
|
|
4.110 (7 August 2003)
|
|
- Remove Interval_converter.
|
|
- Derive NT_converter from std::unary_function.
|
|
|
|
4.109 (7 August 2003)
|
|
- Add To_double<> and To_interval<>
|
|
- Merge test_to_interval.[Ch] in test/utilities.C.
|
|
|
|
4.108 (7 August 2003)
|
|
- abs() was failing with g++ 2.95 and mpz_class due to ?:.
|
|
|
|
4.107 (30 July 2003)
|
|
- Move sign(CORE::EXpr) and compare(CORE::Expr) in CGAL::NTS.
|
|
|
|
4.106 (29 July 2003)
|
|
- Overload NTS::compare<Quotient> when partial spec is available.
|
|
|
|
4.105 (28 July 2003)
|
|
- Fix compare(mp[zq]_class), and remove one useless version.
|
|
- Fix Quotient.
|
|
|
|
4.104 (24 July 2003)
|
|
- Add mixed operators with int.
|
|
|
|
4.103 (20 July 2003)
|
|
- better handling of mpz_class and mpq_class by dealing with the expression
|
|
templates. Adding some tests for that.
|
|
|
|
4.102 (14 July 2003) [af]
|
|
- Added iterator_traits specializations for Quotient<Gmpz>
|
|
|
|
4.101 (22 June 2003) [af]
|
|
- Adaptions so that it works with Core_v1.6
|
|
|
|
4.100 (19 June 2003)
|
|
- Add an assertion for division by zero in MP_Float.
|
|
|
|
4.99 (3 June 2003)
|
|
- Doc fix.
|
|
|
|
4.98 (30 May 2003)
|
|
- Implement to_interval(mpz_class) and to_interval(mpq_class).
|
|
- Comment out mpf_class support (and documentation), it's probably useless.
|
|
|
|
4.97 (23 May 2003)
|
|
- Remove #include <CGAL/Interval_arithmetic.h> from number_type_basic.h.
|
|
- Add missing #includes.
|
|
|
|
4.96 (15 May 2003)
|
|
- Fix to_interval(leda_real).
|
|
|
|
4.95 (15 May 2003)
|
|
- Test and enable to_interval for GMP++ and CORE.
|
|
|
|
4.94 (13 May 2003) [af]
|
|
- Fix bug in to_interval(MP_Float)
|
|
|
|
4.93 (12 May 2003)
|
|
- Remove CLN support (still keep the CGAL/CLN/* for backward compatiblity).
|
|
|
|
4.92 (11 May 2003) [af]
|
|
- Removed Interval_base
|
|
- Function to_interval returns std::pair<double,double>
|
|
|
|
4.91 (5 May 03)
|
|
- Added CGAL_DEFINE_ITERATOR_TRAITS_POINTER_SPEC for Gmpz and Gmpq and MSC_VER==1300
|
|
|
|
4.90 (24 Feb 03)
|
|
- Remove g++ 2.95 warnings (windows end-of-line)
|
|
and MipsPro warnings (unused variables).
|
|
|
|
4.79 (11 Feb 03)
|
|
- Fix square(MP_Float).
|
|
|
|
4.78 (6 Feb 03)
|
|
- doc fix : GREATER -> LARGER.
|
|
|
|
4.77 (21 January 03)
|
|
- Fix typo __GUNG__ instead of __GNUG__...
|
|
|
|
4.76 (20 January 03)
|
|
- static to_double(Gmpz) seems to cause problems, so make it inline.
|
|
|
|
4.75 (20 January 03)
|
|
- Test-suite changes for newer GCC.
|
|
|
|
4.74 (17 January 03)
|
|
- Added specialization for to_double(Quotient<Gmpz>)
|
|
|
|
4.73 (20 December 02)
|
|
- Move Rational_traits into Number_type_traits.h.
|
|
- Introduce Number type tags.
|
|
- Fix namespace for Gmpq/z.
|
|
|
|
4.72 (11 December 02)
|
|
- CGAL_NTS abs(double) overloaded to call std::fabs() only for __GNUG__.
|
|
|
|
4.71 (25 November 02)
|
|
- Small cleanups.
|
|
|
|
4.70 (25 October 02)
|
|
- Rewrite iterator traits pointer specs.
|
|
|
|
4.69 (12 October 02)
|
|
- Remove Windows end of lines.
|
|
|
|
4.68 (5 October 02)
|
|
- Better support expression templates (GMP++).
|
|
|
|
4.67 (5 October 02)
|
|
- Rational_traits<mpq_class> didn't compile...
|
|
|
|
4.66 (5 September 02)
|
|
- forgot this entry for 4.65
|
|
- added a construction of an arbitrary size integer from a double
|
|
in simplest_rational_in_interval. This is not allowed by the spec
|
|
but it will work for the integers we use.
|
|
|
|
4.64 (13 August 02)
|
|
- Move to_interval(long long) from Interval_arithmetic.h to long_long.h.
|
|
|
|
4.63 (12 August 02)
|
|
- Shut up a valgrind warning in MP_Float.C.
|
|
|
|
4.62 (12 August 02)
|
|
- Use CGAL_USE_LONG_LONG
|
|
|
|
4.61 (7 August 02)
|
|
- Added files Rational_traits.h, to_rational.h, Gmpq.h,
|
|
and simplest_rational_in_interval.h
|
|
- Added Rational_traits for leda_rational, mpq_class, Quotient
|
|
|
|
4.60 (6 August 02)
|
|
- Get rid of is_integral(double) : it's unused (and clashes with boost).
|
|
|
|
4.59 (23 July 02)
|
|
- Add mpz_class, mpq_class, mpf_class, CORE::Expr.
|
|
- Merged _test_sign.h and utilities.C in utilities.h.
|
|
- Removed _test_sign.C.
|
|
|
|
4.58 (2 July 02)
|
|
- New square(MP_Float) overloading.
|
|
|
|
----------------------------- CGAL 2.4 -----------------------------
|
|
|
|
4.57 (29 April 02)
|
|
- split of user and reference manuals
|
|
|
|
4.56 (24 April 02)
|
|
- dont_submit makefile and cgal_test.
|
|
|
|
4.55 (23 April 02)
|
|
- Don't compile Filtered_Exact tests in utilities.C on VC++ (lack of partial
|
|
specialization).
|
|
|
|
4.54 (28 March 02)
|
|
- Added 3-arg min/max where using std::min/max does not work.
|
|
|
|
4.53 (28 March 02)
|
|
- Fixed cgal_test.
|
|
|
|
4.52 (27 March 02)
|
|
- Fixed test makefile to include utilities test.
|
|
|
|
4.51 (27 March 02)
|
|
- Fixed some unused parameter warnings.
|
|
|
|
4.50 (24 March 02)
|
|
- added missing creation variable in Sqrt functor doc.
|
|
|
|
4.49 (21 March 02)
|
|
- Kill lexicographical_sign.
|
|
|
|
4.48 (21 March 02)
|
|
- converted doc to new manual style
|
|
- improved test suite
|
|
- added gcd and div computations
|
|
|
|
4.47 (19 March 02)
|
|
- Introduce Number_type_traits.
|
|
|
|
4.46 (19 March 02)
|
|
- include/CGAL/leda_* -files were changed to support
|
|
LEDA versions with a namespace
|
|
|
|
4.45 (12 February 02)
|
|
- Remove spurious warnings from Purify with MP_Float.
|
|
|
|
4.44 (24 January 02)
|
|
- Fix Gmpz::operator=().
|
|
- CodeWarrior fixes.
|
|
|
|
4.43 (18 January 02)
|
|
- Fix memory leak in Gmpz.
|
|
|
|
4.42 (16 January 02)
|
|
- CodeWarrior support.
|
|
|
|
4.41 (8 January 02)
|
|
- CodeWarrior support.
|
|
|
|
4.40 (21 December 01)
|
|
- VC++ 7 support.
|
|
|
|
4.39 (19 December 01)
|
|
- Define CGAL_PI, since there's no standard macro for Pi (M_PI is not).
|
|
|
|
4.38 (19 December 01)
|
|
- Added Geert-Jan's Counted_number.h.
|
|
|
|
4.37 (20 November 01)
|
|
- Darwin support.
|
|
|
|
4.36 (29 October 01)
|
|
- Previous submission bug.
|
|
|
|
4.35 (26 October 01)
|
|
- std::ceil => CGAL_CLIB_STD::ceil for VC++.
|
|
|
|
4.34 (24 October 01)
|
|
- Gmpz now uses Handle_for.
|
|
- Missing std:: to ceil().
|
|
- Move stuff from basic.h to number_type_basic.h.
|
|
|
|
4.33 (17 September 01)
|
|
- Added missing #include <iterator> detected by GCC 3.1.
|
|
|
|
4.32 (29 August 01)
|
|
- changed ccSection commands to section commands since pdf converter that
|
|
creates bookmarks can't handle the former.
|
|
|
|
4.31 (15 August 01)
|
|
- Merge Quotient.C into Quotient.h. SunPro knows about automatic template
|
|
inclusion, but requires these template functions to be not inline, which
|
|
makes sense. Given that about all functions in Quotient.C are inline...
|
|
|
|
============================== CGAL 2.3 ==========================
|
|
|
|
4.30 (25 July 01)
|
|
- Fix MP_Float.tex.
|
|
|
|
4.29 (23 July 01)
|
|
- operator<<(MP_Float) now prints a double approximation.
|
|
|
|
4.28 (18 July 01)
|
|
- Add Lazy_exact_nt documentation.
|
|
|
|
4.27 (06 July 01)
|
|
- added Arity typedef to functors
|
|
- add Compare argument to Min/Max
|
|
|
|
4.26 (27 June 01)
|
|
- Workaround for VC++ in src/MP_Float.C.
|
|
|
|
4.25 (25 June 01)
|
|
- operator<<(MP_Float) was missing the approximation when zero.
|
|
|
|
4.24 (25 June 01)
|
|
- to_interval(Gmpz) is exact when < 2^53.
|
|
|
|
4.23 (21 June 01)
|
|
- Remove the specialization Quotient<int>
|
|
- Remove obsolete test program _test_Double.C.
|
|
- Update test-suite makefile.
|
|
|
|
4.22 (18 June 01)
|
|
- Update the Quotient documentation.
|
|
|
|
4.21 (14 June 01)
|
|
- Include IEEE_754_unions.h only for VC++ and BCC.
|
|
|
|
4.20 (7 June 01)
|
|
- Add MP_Float code, test and doc.
|
|
|
|
4.19 (6 June 01)
|
|
- Replace Quotient<>(double) by a template ctor.
|
|
|
|
4.18 (5 June 01)
|
|
- Remove src/Double.C and src/Float.C.
|
|
- Delete references to CGAL_NO_NTS_NAMESPACE.
|
|
|
|
4.17 (5 June 01)
|
|
- Add constructor from a double to Quotient<>.
|
|
|
|
4.16 (29 May 01)
|
|
- Fix to_interval(leda_integer).
|
|
|
|
4.15 (28 May 01)
|
|
- to_interval(leda_integer) improvement, by Michael Seel.
|
|
|
|
4.14 (1 Mar 01)
|
|
- Added operator% to Gmpz.
|
|
|
|
4.13 (25 Feb 01)
|
|
- Fix warning.
|
|
|
|
4.12 (21 Feb 01)
|
|
- Add NT_converter.h which contains NT_converter<A,B> and
|
|
Interval_converter<A>.
|
|
|
|
4.11 (21 Feb 01)
|
|
- Removed <utility> in Quotient.h.
|
|
- Fix test program typo for CLN.
|
|
|
|
4.10 (20 Feb 01)
|
|
- Add removed code again...
|
|
|
|
4.9 (20 Feb 01)
|
|
- Remove references to __GNUC__ and CGAL_NO_STL_PROVIDED_REL_OPS.
|
|
|
|
4.8 (13 Feb 01)
|
|
- Remove old style casts.
|
|
|
|
4.7 (25 Jan 01)
|
|
- Merge the CLN package.
|
|
|
|
4.6 (25 Jan 01)
|
|
- included the documentation source in the doc_tex directory
|
|
|
|
4.5 (24 Jan 01)
|
|
- to_interval() for built-in types moved to Interval*.h in order to avoid
|
|
a circular dependency with the #include files.
|
|
|
|
4.4 (18 Jan 01)
|
|
- known_bit_size_integers.h now defines CGAL_HAS_INTEGER64 when it defines
|
|
Integer64 (see long_long.h too).
|
|
|
|
4.3 (15 Jan 01)
|
|
- Removed gnu_integer and Double_eps.
|
|
|
|
4.2 (13 Dec 00)
|
|
|
|
- #inlcude <CGAL/double.h> replaced by #include <CGAL/basic.h> in src/Double.C
|
|
in order to fix a bug with building libCGAL
|
|
|
|
4.1 (10 Dec 00)
|
|
|
|
- test_to_interval corrected as suggested by Sylvain
|
|
- #include <CGAL/interval_arithmetic.h> added to CGAL/number_type_basics.h
|
|
- #include <CGAL/interval_arithmetic.h> removed from CGAL/leda_bigfloat.h
|
|
- #include <CGAL/interval_arithmetic.h> removed from CGAL/leda_integer.h
|
|
- #include <CGAL/interval_arithmetic.h> removed from CGAL/leda_rational.h
|
|
- #include <CGAL/interval_arithmetic.h> removed from CGAL/leda_real.h
|
|
- #include <CGAL/interval_arithmetic.h> removed from CGAL/Gmpz.h
|
|
- #include <CGAL/interval_arithmetic.h> removed from CGAL/Quotient.h
|
|
- to_interval() added in Int.h for short, int, long and long long
|
|
the code for long and long long is problematic
|
|
- In Quotient.h:
|
|
#include <CGAL/basic.h> moved outside #ifndef ... #define ...QUOTIENT...
|
|
|
|
4.0 (26 Nov 00)
|
|
|
|
- to_interval() added for Gmpz
|
|
- to_interval() added for Quotient
|
|
- to_interval() added for leda_bigfloat
|
|
- to_interval() added for leda_integer
|
|
- to_interval() added for leda_rational
|
|
- to_interval() added for leda_real
|
|
- to_interval() added for double
|
|
- to_interval() added for float
|
|
- test for to_interval added to test suite
|
|
|
|
3.4 (13 Jul 00)
|
|
|
|
- todouble() replaced by to_double() for leda_integer and
|
|
leda_rational
|
|
|
|
3.3 (27 Jun 00)
|
|
|
|
- CGAL:: replaced by CGAL_NTS with sign in number_utils.h
|
|
|
|
3.2 (08 Jun 00)
|
|
|
|
- CGAL_NTS used
|
|
- is_integral(double) added to double.h
|
|
|
|
3.1 (30 May 00)
|
|
|
|
- min and max are now handled in <basic.h>
|
|
(by using std::min; ... )
|
|
|
|
3.0 (25 May 00)
|
|
|
|
- namespace CGAL::NTS introduced
|
|
templates from <number_utils.h> moved there
|
|
smooth transition phase with warning about unused variable
|
|
e.g. inline bool is_zero(const NT& x)
|
|
{
|
|
#ifndef CGAL_NO_NTS_NAMESPACE
|
|
bool is_zero_is_obsolete__qualify_call_by_CGAL_NTS;
|
|
#endif // CGAL_NO_NTS_NAMESPACE
|
|
return x == NT(0);
|
|
}
|
|
|
|
|
|
2.7.2 (18 Apr 00)
|
|
|
|
- sized_integer.h revised leading _s removed
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%% R e l e a s e 2. 1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
2.7 -> 2.7.1 (04 Dec 99)
|
|
- CGAL_CLIB_STD used in <Gmpz.h> and <Quotient.C>
|
|
- dito in <double.h>
|
|
|
|
2.6.6 -> 2.7 (04 Dec 99)
|
|
- long long removed from <int.h>
|
|
definitions are now in <long_long.h>
|
|
|
|
2.6.5 -> 2.6.6 (22 Nov 99)
|
|
- added !=0 to mask tests in double.h and float.h as suggested
|
|
by Oren. Gives a performance warning on M$VC++ otherwise. Although
|
|
I think performance is now worse than before
|
|
|
|
2.6.4 -> 2.6.5 (20 Nov 99)
|
|
- Quotient<int>::normalize() removed (as suggested by Dima to
|
|
please Borland)
|
|
|
|
2.6.3 -> 2.6.4 (16 Nov 99)
|
|
- typedef modified in Quotient.C
|
|
|
|
2.6.2 -> 2.6.3 (14 Nov 99)
|
|
- some NumberType() replaced by NT() and a typedef
|
|
NumberType NT to please Borland
|
|
|
|
2.6.1 -> 2.6.2 (02 Nov 99)
|
|
- typedef in Quotient class used for NumberType
|
|
to workaround Borland problem
|
|
|
|
2.6 -> 2.6.1 (28 Oct 99)
|
|
- test for __BORLANDC__ added to double.h and float.h
|
|
|
|
2.5.6 -> 2.6 (28 Oct 99)
|
|
- CGAL::max and CGAL::min revived
|
|
|
|
2.5.5 -> 2.5.6 (25 Oct 99)
|
|
- substitution bugs fixed :) QUOTIENumberType_H
|
|
|
|
2.5.4 -> 2.5.5 (18 Oct 99)
|
|
- NT template parameter renamed to NumberType in Quotient
|
|
to please Borland :)
|
|
- to_double() qualified in leda_bigfloat.h
|
|
|
|
2.5.3 -> 2.5.4 (13 Oct 99)
|
|
- show(p) removed in double.h (left over from testing phase)
|
|
- #include <fp_class.h> moved out of namespace CGAL
|
|
|
|
2.5.2 -> 2.5.3 (12 Oct 99)
|
|
- #include <CGAL/basic.h> added to double.h and float.h
|
|
|
|
2.5.1 -> 2.5.2 (12 Oct 99)
|
|
- #include <iomanip> added to IEEE_754_unions.h
|
|
|
|
2.5 -> 2.5.1 (11 Oct 99)
|
|
- modified is_[valid|finite](); version using bitoperations
|
|
implemented and activated for _MSC_VER
|
|
can be activated also by -DCGAL_MASK_FINITE_VALID
|
|
- IEEE_754_unions.h added
|
|
|
|
2.4.3 -> 2.5 (08 Oct 99)
|
|
- modified _test_valid_finite.C: added std:: to sqrt(double)
|
|
- modified IEEE_double::show() to use C++ iostream stuff
|
|
#include <iomanip> added
|
|
- removed / from /rm in cgal_test :)
|
|
- new makefile created
|
|
- _test_valid_finite split into two tests, one for double
|
|
one for float
|
|
- is_[valid|finite]() on SGI revised
|
|
- test quotient_io.C revised
|
|
|
|
2.4.2 -> 2.4.3 (08 Oct 99)
|
|
- locale problem (isdigit) in Gmpz.h fixed (missing flag)
|
|
|
|
2.4.1 -> 2.4.2 (08 Oct 99)
|
|
- std::classic -> std::locale::classic in Quotient, Gmpz
|
|
|
|
2.4 -> 2.4.1 (05 Oct 99)
|
|
- include iterator_traits_pointer_specs_for_cartesian_quotient.h
|
|
added to Quotient.h
|
|
- test/NumberTypeSupport/include/CGAL/Ieee_double.h modified
|
|
- in cgal_test, '/bin' removed
|
|
|
|
2.3.5 -> 2.4 (17 Sep 99)
|
|
- inline double sqrt(double d) { return std::sqrt(d); }
|
|
added to double.h
|
|
- inline leda_real sqrt(const leda_real & r) { return ::sqrt(r); }
|
|
added to leda_real.h
|
|
|
|
2.3.4 -> 2.3.5 (02 Sep 99)
|
|
- added std::classic() as second argument to isspace(), isdigit()
|
|
cf. locale -- flagged by CGAL_CFG_NO_LOCALE
|
|
|
|
2.3.3 -> 2.3.4 (01 Sep 99)
|
|
- added std:: to isspace and isdigit in Gmpz and Quotient
|
|
|
|
2.3.2 -> 2.3.3 (31 Aug 99)
|
|
- test _test_valid_finite() modified such that it shows me the bits
|
|
if certain tests fail
|
|
|
|
2.3.1 -> 2.3.2 (19 Aug 99)
|
|
- test file quotient_io.C updated for std:: ...
|
|
|
|
2.3 -> 2.3.1 (06 Aug 99)
|
|
- makefile updated: $(OBJ_EXT)
|
|
|
|
2.2.1 -> 2.3 (04 Aug 99)
|
|
- Quotient.h revised for gcc-2.95:
|
|
num and den made public in order to make all friends non-friends
|
|
|
|
2.2 -> 2.2.1 (09 Jul 99)
|
|
- CGAL::compare(leda_real, ...) made inline
|
|
|
|
2.1.5 -> 2.2 (26 Jun 99)
|
|
- #include <CGAL/basic.h> added to
|
|
<CGAL/leda_[bigfloat|integer|rational|real].h>
|
|
- delete replaced by delete[] in Gmpz.h in ostream operator
|
|
(detected by Sylvain using purify)
|
|
- CGAL_ added to CHECK_... in Gmpz.h
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%% R e l e a s e 2. 0 %%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
2.1.4 -> 2.1.5 (09 May 99)
|
|
- placement of CGAL_KERNEL_INLINE corrected in Quotient.h (caused a warning)
|
|
|
|
2.1.3 -> 2.1.4 (02 May 99)
|
|
- flag CGAL_NO_NAMESPACE corrected in <leda_integer.h>
|
|
|
|
2.1.2 -> 2.1.3 (28 Apr 99)
|
|
- fix for change in 2.1.1
|
|
|
|
2.1.1 -> 2.1.2 (28 Apr 99)
|
|
- version number updated
|
|
|
|
2.1 -> 2.1.1 (28 Apr 99)
|
|
- used special code for __sgi for is_[finite|valid]()
|
|
- define abs specialisation only if namespaces are supported
|
|
|
|
2.0.13-> 2.1 (16 Apr 99)
|
|
- iostream parts prefixed by std::
|
|
- CGAL::compare(leda_real, leda_real) added
|
|
|
|
2.0.12-> 2.0.13 (06 Apr 99)
|
|
- flag CGAL_NO_QUOTIENT_INT_FRIENDS added to ease removing friend declarations
|
|
from specialisation Quotient<int>. These friend declarations cause problems
|
|
with latest egcs snapshots as reported by Sylvain.
|
|
|
|
2.0.11-> 2.0.12 (30 Mar 99)
|
|
- to_double encapsualted in #ifndef CGAL_NO_NAMESPACE for
|
|
bigfloat, integer, real, rational from LEDA
|
|
|
|
2.0.10-> 2.0.11 (30 Mar 99)
|
|
- sign() prefixed in lexicographical_sign() defined in <number_utils.h>
|
|
- CGAL_NO_STL_PROVIDED_REL_OPS defined in <Quotient.h> for g++-2.8.
|
|
|
|
2.0.9 -> 2.0.10 (28 Mar 99)
|
|
- inclusion of std files <cctype>, ... moved out of namespace CGAL
|
|
|
|
2.0.8 -> 2.0.9 (25 Mar 99)
|
|
- to_double() calls in Quotient::to_double 'prefixed' by CGAL::
|
|
|
|
2.0.7 -> 2.0.8 (23 Mar 99)
|
|
- flag CGAL_NO_NAMESPACE corrected :)
|
|
|
|
2.0.6 -> 2.0.7 (20 Mar 99)
|
|
- flag CGAL_NO_NAMESPACE corrected
|
|
|
|
2.0.5 -> 2.0.6 (15 Mar 99)
|
|
- fabs prefixed with std:: in Double.C
|
|
|
|
2.0.4 -> 2.0.5 (14 Mar 99)
|
|
- min()/max() removed from <number_utils.h>;
|
|
use std::min/max instead; defined in <algorithm>
|
|
<algorithm> included in <number_utils.h>.
|
|
- std::min, std::max used in <number_utils_classes.h>
|
|
- 'public std::' replaced by 'public CGAL_STD::' in <number_utils_classes.h>
|
|
- #ifdef CGAL_INTERVAL_ARITHMETIC_H
|
|
#include <CGAL/Interval_arithmetic/IA_Quotient.h>
|
|
#endif // CGAL_INTERVAL_ARITHMETIC_H
|
|
added to <CGAL/Quotient.h>
|
|
- #include <CGAL/config> moved to front in <CGAL/double.h> and <CGAL/float.h>
|
|
|
|
2.0.3 -> 2.0.4 (02 Mar 99)
|
|
- sign encapsulated in #ifndef CGAL_NO_NAMESPACES for
|
|
leda_[integer|rational|real] and global scope operator
|
|
added to call of sign in function definition.
|
|
|
|
2.0.2 -> 2.0.3 (25 Feb 99)
|
|
- CGAL_[BEGIN|END]_NAMESPACE used
|
|
- CGAL:: added to sign()-calls in
|
|
quotient_cmp(const Quotient<NT>& x, const Quotient<NT>& y)
|
|
|
|
2.0.1 -> 2.0.2 (16 Feb 99)
|
|
- std:: added to unary/binary_function in <number_utils_classes.h>
|
|
|
|
2.0 -> 2.0.1 (11 Feb 99)
|
|
- #ifdef CGAL_PROVIDE_STL_PROVIDED_REL_OPS changed to
|
|
#ifndef CGAL_NO_STL_PROVIDED_REL_OPS in <Quotient.h>,
|
|
thereby defining >, >=, <=, and != by default now.
|
|
- sign() defintion for leda_integer removed from <CGAL/leda_integer.h>
|
|
|
|
1.6 -> 2.0
|
|
- namespace CGAL { } introduced
|
|
- inclusion of <Quotient.h> removed from <number_type_basic.h>
|
|
- inclusion of <cctype> added to <Gmpz.h>
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%% R e l e a s e 1 . 2 %%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
1.5.4 -> 1.6
|
|
- bug (memory leak) in CGAL_Gmpz corrected:
|
|
e.g.: CGAL_Gmpz_rep* Res = new CGAL_Gmpz_rep();
|
|
mpz_add(Res->mpZ, ptr()->mpZ, z.ptr()->mpZ);
|
|
return CGAL_Gmpz(Res);
|
|
now replaces
|
|
mpz_t res; // <- limb not cleared !!!
|
|
mpz_init(res);
|
|
mpz_add(res, ptr()->mpZ, z.ptr()->mpZ);
|
|
return CGAL_Gmpz(res);
|
|
|
|
|
|
1.5.3 -> 1.5.4
|
|
- test order modified in _test_valid_finite.C
|
|
|
|
1.5.2 -> 1.5.3
|
|
- include <CGAL/enum.h> added to <CGAL/number_type_tags.h>
|
|
such that CGAL_Sign is known in files including the latter, e.g
|
|
<CGAL/leda_rational.h>
|
|
|
|
1.5.1 -> 1.5.2
|
|
- CGAL_sign() specialized for leda_[integer|rational|real]
|
|
_test_sign.C added
|
|
|
|
1.5 -> 1.5.1
|
|
- CGAL_square() and struct CGAL_Square added
|
|
|
|
1.4.5 -> 1.5
|
|
- Use of CGAL...INLINE made consistent between declarations and
|
|
definitions (otherwise SunPro CC 4.2 does not like it).
|
|
|
|
1.4.4 -> 1.4.5
|
|
- return type of Gmpz::sign() and CGAL_Sign(Gmpz) changed to CGAL_Sign
|
|
|
|
1.4.3 -> 1.4.4
|
|
- return true; added in <_test_valid_finite.C>
|
|
|
|
1.4.2 -> 1.4.3
|
|
- CGAL_KERNEL_INLINE replaced by inline for CGAL_abs(double)
|
|
|
|
1.4.1 -> 1.4.2
|
|
- CGAL_sign now returns a CGAL_Sign instead of an int
|
|
affects <number_utils.h> and <number_utils_classes.h>
|
|
- specialisation for CGAL_abs(double) (uses fabs()) added to <double.h>
|
|
|
|
1.4 -> 1.4.1
|
|
- added <test/NumberTypeSupport/_test_valid_finite.C> to package
|
|
|
|
1.3 -> 1.4
|
|
- valid(d) and finite(d) defined inline in double.h as
|
|
{ return (d == d); } and { return (d == d) && (CGAL_is_valid(d-d)); }
|
|
respectively, unless flag CGAL_OLD_FINITE_VALID is defined, which restores
|
|
the old situation
|
|
- same for float in float.h
|
|
- Double.C and Float.C in CGAL/src modified accordingly.
|
|
- comments with definitions of CGAL_abs(), CGAL_numerator(), CGAL_denominator()
|
|
removed from double.h and float.h
|
|
- DOUBLECOMP_H replaced by CGAL_DOUBLE_H in double.h
|
|
|
|
1.2.8 -> 1.3
|
|
- include statements for <CGAL/Interval_arithmetic/IA_*.h> added
|
|
for Gmpz, leda_integer, leda_real, leda_bigfloat, and leda_rational
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%% R e l e a s e 1 . 1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
1.2.7 -> 1.2.8
|
|
- correction for CGAL_PROVIDE_STL_PROVIDED_REL_OPS in Quotient.h
|
|
|
|
1.2.6 -> 1.2.7
|
|
- operator?( Quotient<NT>, NT ) and operator?( NT, Quotient<NT>)
|
|
for ? in { !=, >, >=, <= } put in
|
|
#ifdef CGAL_PROVIDE_STL_PROVIDED_REL_OPS
|
|
- buglet in doc fixed: operators +=, -=, *=, /= are now required
|
|
to return NT ( not bool as before)
|
|
|
|
1.2.5 -> 1.2.6
|
|
- bug in CGAL_is_one() fixed
|
|
- missing leda_-prefix in operator/= added
|
|
|
|
1.2.4 -> 1.2.5
|
|
- workaround for missing operator/= for leda_real added
|
|
- io_tags() for unsigned types added
|
|
|
|
1.2.3 -> 1.2.4
|
|
- rearranged order of definitions in Quotient.h to please
|
|
Borland C++ (specialization for int is now at the end of
|
|
Quotient.h)
|
|
- made input operator for Quotient more flexible: accepts now
|
|
also format ` num ' besides ` num/den '.
|
|
|
|
1.2.2 -> 1.2.3
|
|
- +=, -=, /= added for Gmpz
|
|
|
|
1.2.1 -> 1.2.2
|
|
- CGAL_CFG_NO_STL_PROVIDED_COMPARISONS renamed to
|
|
(!) CGAL_PROVIDE_STL_PROVIDED_REL_OPS in Quotient.
|
|
As a consequence of this, the rel ops defined as templates
|
|
in <utility> in namespace rel_ops nested in namespace std
|
|
are no longer defined (nor declared) by default for Quotient.
|
|
|
|
1.2 -> 1.2.1
|
|
- inline and CGAL_KERNEL_INLINE added to declaration of function
|
|
templates
|
|
|
|
1.1.4 -> 1.2
|
|
- made fit for egcs
|
|
uses CGAL_TEMPLATE_NULL macro with explicit specialization
|
|
|
|
1.1.3 -> 1.1.4
|
|
- inclusion of number_utils_classes.h postponed
|
|
|
|
1.1.2 -> 1.1.3
|
|
- CGAL_CFG_NO_STL_PROVIDED_COMPARISONS added in Quotient.h to reduce
|
|
problems with g++2.7.2.3 with early inclusion of function.h
|
|
|
|
1.1.1 -> 1.1.2
|
|
- inconsistencies between file names removed (double.h - float.h) in
|
|
Double.C, Float.C, Double_eps.C
|
|
|
|
1.1 -> 1.1.1
|
|
- number_utils_classes.h (written by Michael Hoffmann) added to the
|
|
package
|
|
|
|
1.0 -> 1.1
|
|
- Geert-Jan's new version of Double.C and Float.C added (including
|
|
testsuite)
|
|
- Quotient has now a specialisation for int and hence no more
|
|
problems with ambigous ctors
|
|
- operator<<(ostream, Quotient<NT>) is no longer a friend of the
|
|
class -> egcs compiles the kernel test if called with -fguided-decls
|
|
|
|
0.9 -> 1.0
|
|
- files not defining a new class start with lower case letters now
|
|
e.g. Int.h -> int.h
|
|
gnu_Integer.h -> gnu_integer.h
|
|
- furthermore leda number types got a prefix,
|
|
e.g. Integer.h -> leda_integer.h
|
|
- leda_bigloat support added
|
|
- new inline policy
|
|
|