Commit Graph

88 Commits

Author SHA1 Message Date
Sylvain Pion 380ab517f0 - Removed the "want_exceptions" stuff completely. 1999-08-23 12:51:41 +00:00
Sylvain Pion e9553717f0 - Added "static bool Interval_nt_advanced::want_exceptions = true".
- Updated overlap_action() to use it.
- Removed the ugly macros CGAL_IA_NO_EXCEPTION and CGAL_IA_NO_WARNING.
1999-08-05 17:29:58 +00:00
Sylvain Pion edcc8519bd - Changed overlap_action() to be static. 1999-08-05 17:13:43 +00:00
Sylvain Pion e35c3d7889 - Replaced:
#ifdef CGAL_IA_DEBUG
      CGAL_assertion(FPU_get_cw() == FPU_cw_up);
  #endif
 by:
      CGAL_expensive_assertion(FPU_empiric_test() == FPU_cw_up);
1999-08-01 13:20:53 +00:00
Sylvain Pion b4c82b2fc0 - Don't use the GNU extension of "Named return value" anymore. 1999-08-01 12:49:29 +00:00
Sylvain Pion 0190817cda - Use FPU_get_and_set_cw(). 1999-07-15 18:15:31 +00:00
Sylvain Pion 65853b8d3d - Remade unsafe_comparison a proper struct{}, no need for a typedef.
(undo the change from 1999/04/20)
1999-07-13 16:23:54 +00:00
Sylvain Pion 1a25f67f07 - Use CGAL_IA_STOP_CPROP() in the ctors. 1999-07-13 13:35:33 +00:00
Sylvain Pion e21bb0d4fd - Removed obsolete member functions {lower|upper}_bound(). 1999-06-27 15:55:24 +00:00
Sylvain Pion ad2a5f5bc4 - Make number_type_tag() take a const & as argument. 1999-06-23 14:48:20 +00:00
Sylvain Pion b3a2ef6ed9 - Moved operator<< and operator>> to libCGAL, no inline anymore. 1999-06-23 11:22:11 +00:00
Sylvain Pion bed589241e - sqrt(): moved CGAL_IA_FORCE_TO_DOUBLE() deeper. 1999-05-07 11:15:39 +00:00
Sylvain Pion 60588365dc - Moved operator/ (double, Interval_nt), because could not be inlined. 1999-05-04 16:03:55 +00:00
Sylvain Pion 308e05b1ec - Added (currently disabled) code to stop constant propagation inside the
constructors.
1999-05-04 15:51:33 +00:00
Sylvain Pion b08fa90fda - Removed operator+ (double) and operator- (double).
- Added some rounding mode check (when CGAL_IA_DEBUG) where needed.
- Added some operator?? (double, Interval_nt) so that the rounding mode is ok.
1999-05-04 12:08:33 +00:00
Sylvain Pion 947f394b1c - Fixed a bug in the division code !!!???!!!
- Added operator/ (const double d, const Interval_nt & t).
- Removed useless () around boolean tests.
1999-05-04 09:38:11 +00:00
Sylvain Pion 7edafed41a - Introduced the macro CGAL_IA_FORCE_TO_DOUBLE() to work around a Intel
processor "feature" that breaks the interval computation when there is
  underflow or overflow (the exponent of the FP registers a larger than those
  of doubles).
1999-05-03 16:07:14 +00:00
Sylvain Pion 815ee80905 - unsafe_comparison is a type, not an object. 1999-04-20 13:07:51 +00:00
Sylvain Pion 09829b6da4 - Tried workaround for MipsPro based on convert_from_to() and
CGAL_CFG_NO_EXPLICIT_TEMPLATE_FUNCTION_ARGUMENT_SPECIFICATION.
1999-04-13 15:49:17 +00:00
Sylvain Pion a7cd3afe15 - Removed commented include headers.
- Made overlap_action return void, and modify the calling functions
  accordingly.
- Removed all friend functions, and replaced them using .inf() and .sup(), so
  that they don't need to be friend anymore (this should even make SunPro 5.0
  happy).
1999-04-01 14:10:22 +00:00
Sylvain Pion 21b93bb834 - to_double, is_valid, is_finite, sign, compare do not need to be friend
functions anymore, and they are not defined twice for the 2 classes.
- they use .inf() and .sup() to access the data members.
- overlap_action is now public.
1999-04-01 10:15:12 +00:00
Sylvain Pion fec6af0b1c - Changed .inf to ._inf, same for sup.
- Added .inf() and .sup().
1999-04-01 08:58:51 +00:00
Sylvain Pion e036bf3979 - Include files changes. 1999-04-01 08:43:16 +00:00
Sylvain Pion f7eb5d551c - Added std:: for the iostrem functions. 1999-03-26 17:32:36 +00:00
Sylvain Pion 496f9e4b57 - Replaced call of max<double>() to std::max. 1999-03-19 20:00:31 +00:00
Sylvain Pion 2aa2e5c7ae - Added a static data member "number_of_failures". 1999-03-12 16:52:58 +00:00
Sylvain Pion 0bd1826da5 - Moved a few #define in _FPU.h.
- Introduced the new FPU_get_cw() and FPU_set_cw().
1999-03-12 14:54:37 +00:00
Sylvain Pion 5e9d7ec2e4 - Comments. 1999-03-11 15:19:05 +00:00
Sylvain Pion 29ee98b567 - STORAGE CHANGED: "inf" now stores the lower bound, not the opposite anymore.
- => lots of "-" removals around the code.  Things are a LOT cleaner now,
  though probably slightly (<5%) slower.  Optimizing the compiler might be a
  good idea now.
- Added #include <CGAL/config.h> for CGAL_BEGIN_NAMESPACE.
- Replaced the static member constants by #defines, because the link fails
  otherwise (multiply defined symbols), and I _want_ constant propagation.
  CGAL_IA_MIN_DOUBLE, CGAL_IA_MAX_DOUBLE, CGAL_IA_SMALLEST, CGAL_IA_LARGEST
1999-03-04 17:42:06 +00:00
Sylvain Pion 48e0e74899 - Replaced sqrt (double) by std::sqrt. 1999-03-04 17:32:59 +00:00
Sylvain Pion 374430045a - Reformating. 1999-03-04 14:50:21 +00:00
Sylvain Pion d24e34bf46 - New member function .is_point() {return (inf == sup);}. 1999-03-03 09:46:43 +00:00
Sylvain Pion f69b19e8ea - Some reformating
- Added operators || (union) and && (intersection).
1999-03-03 09:43:34 +00:00
Sylvain Pion 6601da2073 - Introduced namespace CGAL. 1999-02-19 17:17:07 +00:00
Sylvain Pion 20f1a15273 - Standard header <iostream>.
- Added operators (double, IA) for +,-,*,/,<,>...
- Changed PRECONDITION to ASSERTION.
- Default constructor is the buggy interval [1;-1] to detect use before
  definition in the user's code.
- Fine-tuned the multiplication (once again :).
- Same for division.
- Various code looking clean up.
- Removed a useless test in CGAL_sign()'s equality case.
- About the same for CGAL_compare().
1999-02-19 15:04:17 +00:00
Sylvain Pion eb271e36dd - += and -= rely on + and -, no redefinition (it was for speed, but...).
- Added conditional include for Quotient<>.
1999-02-04 13:25:13 +00:00
Sylvain Pion f4213551e7 - moved conditionnal include lines at the beginning. 1999-01-19 16:17:36 +00:00
Sylvain Pion 8ac8cdf045 - Use CGAL_square<double>(), it's here now. 1999-01-05 19:14:32 +00:00
Sylvain Pion 5464c1b10d - Fixed bug in CGAL_square(): -a*a -> a*-a. 1998-12-23 12:18:50 +00:00
Sylvain Pion 6f0cf1d2f7 - CGAL_square(double) doesn't exist yet. 1998-12-22 12:51:17 +00:00
Sylvain Pion 34f5af32c1 - Replace the expensive checks by the flag CGAL_IA_DEBUG. 1998-12-22 12:40:01 +00:00
Sylvain Pion 8924234ce8 - Added CGAL_square() for both types.
- Rewrote the header of each function in a new style.
1998-12-17 17:37:54 +00:00
Sylvain Pion 3443c802fa - Added lots of preconditions on the rounding mode. 1998-12-13 17:38:37 +00:00
Sylvain Pion 632645e683 - line too long fixed. 1998-12-11 11:47:01 +00:00
Sylvain Pion f82270de10 - #include <CGAL/misc.h> for CGAL_convert_to<>(). 1998-12-10 16:06:12 +00:00
Sylvain Pion d1bb64cb4a - Moved the CGAL_convert_to<>() general template here.
(will be in kernel_basic.h normally).
1998-12-08 17:16:34 +00:00
Sylvain Pion 6e8540613c - Renamed CGAL_to_Interval_nt*() to CGAL_convert_to<CGAL_Interval_nt*>(). 1998-12-08 13:13:42 +00:00
Sylvain Pion 2ba0dea489 - Added member function bool overlap(const IA &d).
- Added flag CGAL_IA_NO_EXCEPTION, which prevents throwing.
1998-12-05 16:28:17 +00:00
Sylvain Pion 65df7a8b81 - Added forgottent definition of CGAL_to_double(IA_nt).
- Added istream operator>>(IA) (via a double).
1998-12-01 16:39:56 +00:00
Sylvain Pion 10afe69c95 Added conditionnal #include directive for IA/IA_Fixed.h. 1998-12-01 12:54:55 +00:00