Commit Graph

552 Commits

Author SHA1 Message Date
Sylvain Pion 85e80686d4 Fix "unused variable" warnings in CGAL_NDEBUG mode. 2008-08-20 09:06:34 +00:00
Sylvain Pion 4606422089 Capitalize protect macro names. 2008-08-20 08:52:46 +00:00
Sylvain Pion b7cfe82eb9 Add parens to remove GCC warnings 2008-08-19 09:46:56 +00:00
Sylvain Pion 1df108c0d7 Replace some CGAL_assertion(A && B) by CGAL_assertion(A & B).
In general this is safe: B would not be evaluated only if A would be false,
  that is, when the assertion would be raised anyway.  So what worse can happen
  in evaluating B than an assertion failure.  Not much I guess.
  And for Uncertain<> conditions, it is preferable to use & instead of &&.
  So I change some of these to see if it might become a global rule.
2008-08-12 14:59:20 +00:00
Sylvain Pion 5aae6c851a Rename CGAL_kernel_precondition to CGAL_precondition. 2008-08-12 13:56:33 +00:00
Sylvain Pion 9d989cfc46 Shuffle macro tests to avoid unreadable code duplication. 2008-08-12 13:09:51 +00:00
Sylvain Pion bf0491f96e CGAL_assertion now already includes possibly(), so no need to add it manually anymore. 2008-08-12 08:35:42 +00:00
Sylvain Pion 43144bb78f Rename CGAL_NUMBER_Type_BASIC_H to CGAL_NUMBER_TYPE_BASIC_H. 2008-08-11 12:31:35 +00:00
Sylvain Pion aff1bf74aa Replace CGAL::Interval_nt<>::number_of_failures() by a CGAL_PROFILER() counter. 2008-08-06 13:16:04 +00:00
Michael Hemmer 182c550580 warp up RealEbeddable_traits, i.e., mv RET_base into internal namespace 2008-08-05 13:42:15 +00:00
Michael Hemmer cff191916d changed name: CGAL::Modular -> CGAL::Residue
chnaged filenames accordingly 
changed: Modular_traits::Modular_NT -> Modular_traits::Residue_type
2008-08-04 15:09:13 +00:00
Michael Hemmer d2ee3a1eb3 added test of double interoperability in arithmetic operators. 2008-08-01 12:42:01 +00:00
Michael Hemmer f4f2d820a4 use split double in operator +=, etc. 2008-07-31 14:07:29 +00:00
Sylvain Pion d2fdfddb05 minor rewording 2008-07-31 13:46:10 +00:00
Sylvain Pion a8e8ecfdcf Replace Interval_nt_advanced::unsafe_comparison by Uncertain_conversion_exception.
(it was alrady the same type, but now the filtering code can be independent on Interval_nt_advanced
(think other interval types, or other types of filters).
2008-07-31 13:31:26 +00:00
Sylvain Pion 265ce473b4 Rename extract_singleton(Uncertain<T>) to get_certain() 2008-07-30 12:03:07 +00:00
Sylvain Pion f70c3779c7 Rename Uncertain::is_singleton() to is_certain() 2008-07-30 08:29:37 +00:00
Sylvain Pion dc3bf72707 Remove changes.txt files. 2008-07-24 17:47:16 +00:00
Michael Hoffmann 74ba7047c3 Another two Binary_functions... 2008-07-24 05:46:41 +00:00
Michael Hoffmann 4931e163ea Remove dependency on CGAL/functional -> replace Unary_function
and Binary_function by std:: counterparts.
2008-07-23 14:36:49 +00:00
Sylvain Pion 8c78a202b8 Remove obsolete functor arity tests. 2008-07-23 06:28:52 +00:00
Sylvain Pion 79864c0c8e Remove Arity_tag. 2008-07-22 12:29:01 +00:00
Sylvain Pion 173ef7c590 Allow propagation of Uncertain-ty in more places, to reduce the number of exceptions.
- Use K::Bool_type, K::Orientation... instead of bool, CGAL::Orientation...
- More functions around Uncertain<> : make_certain(), extract_singleton(),
                                      possible conversions tightenning.

Many conversions still remain, e.g. for switch and if statements, &&, ||...
2008-07-16 13:45:13 +00:00
Michael Hemmer 2e90fee8ea added functor divides, required by IntegralDomain 2008-07-16 09:40:46 +00:00
Michael Kerber 5395f847a4 replaced absolute preecision of 1024 to LONG_MAX 2008-07-10 09:40:30 +00:00
Sylvain Pion 08d1f279b0 - Stop g++ 4.3.1 -O2 constant propagation using CGAL_IA_STOP_CPROP().
- Remove unused function FPU_empiric_test_mul().
2008-06-15 18:31:52 +00:00
Sylvain Pion be98f10bc3 Disable CGAL_DISABLE_ROUNDING_MATH_CHECK on Intel/Linux as it is
too aggressive with constant propagation.
2008-06-15 18:01:13 +00:00
Sylvain Pion 2748d953e2 Add a flag CGAL_DISABLE_ROUNDING_MATH_CHECK to do what it says, since the
check is problematic in some cases (e.g. valgrind).
2008-06-02 18:08:35 +00:00
Michael Kerber 3f83eb92e1 Removed debug printout 2008-05-20 11:28:22 +00:00
Michael Kerber f84cbd6be5 Changed bugfix for hull-algorithm 2008-05-20 09:20:46 +00:00
Michael Kerber 2b555f767f Workaround for two problems with CORE::BigFloats 2008-05-19 12:30:39 +00:00
Michael Hemmer acabae22e2 readded interval_support.h for backward ccompatibility
to be removed again
2008-05-15 08:17:39 +00:00
Michael Hemmer f754b26311 added missing namespace qualifier
--Trhis line, and those below, will be ignored--

M    CGAL/CORE_BigFloat.h
2008-05-14 10:15:43 +00:00
Michael Hemmer 3f3c724b00 rm interval_support
added Interval_traits, Bigfloat_interval_traits
mv function convert_to_bfi into extra file convert_to_bfi.h
2008-05-14 10:10:35 +00:00
Michael Hemmer 4603598e7c rm interval_support
added Interval_traits, Bigfloat_interval_traits
mv function convert_to_bfi into extra file convert_to_bfi.h
2008-05-13 13:46:44 +00:00
Michael Hemmer 8320234d00 deprecated 2008-05-13 11:23:41 +00:00
Michael Hemmer 82fe4c5f04 added Interval_traits and test for intervals
- boost::numeric::interval<leda::bigfloat>
- CORE::BigFloat is considered as an Interval 
adapted Coercion_traits/Arithmetik_kernel
2008-05-13 08:42:27 +00:00
Fernando Cacciola f93437ca22 Removed *unmodified* auto-generated CMakeLists.txt (now created by create_internal_release) 2008-05-05 14:01:55 +00:00
Michael Hemmer 90d70842a3 Get_arithmetic_kernel is a struct (not a class) 2008-04-29 14:20:04 +00:00
Michael Hemmer 853db73f16 Needs_parents_as_product is a struct (not a class) 2008-04-29 14:08:02 +00:00
Michael Hemmer 34f55fa0f0 Chinese_remainder_traits is a class (not a struct) 2008-04-29 14:04:11 +00:00
Michael Hemmer 7d2514e5da consistent use of struct for traits 2008-04-28 08:20:30 +00:00
Michael Hemmer b985326401 Had changed in_zero to zero_in in the last commit by accident
However, it seems that this is the proper way to call it
This commit adds CGAL::in_zero for backward compatibility with other packages until the new name is decided.
2008-04-11 13:56:08 +00:00
Michael Hemmer e9fbff8a97 added new traits Interval_traits
Bigfoat_interval_traits currently derives from it. 
General Inerval Functors (Upper,Lower,...) are moved to Interval_traits
Several Functors are added e.g. Median (names are compliant with boost::interval)
Functor adapting functions are available
TODO: define/test/name get_significant_bits  ?log_relative_error?
2008-04-10 07:43:15 +00:00
Michael Hemmer 93284571db rm unused variable 2008-04-09 12:11:53 +00:00
Sylvain Pion c10a040c8e - Remove useless copy constructor needed for a workaround for g++ 3.0.
- Add a runtime test that tries to check if a user has forgotten -frounding-math.
- Make the code "more robust" (big quotes) against no-rounding-math compiler optimizations
  by systematically negating the second argument of CGAL_IA_MUL() and CGAL_IA_DIV()
  instead of the first, since it is the one which stops constant propagation
  (at least this way the test-suite passes even with -fno-rounding-math).
  This way -CGAL_IA_MUL(-a,b) which got wrongly optimized to CGAL_IA_MUL(a,b),
  doesn't anymore when in the form -CGAL_IA_MUL(a, -b).
  It is not bullet proof, as negations can come from further away.
  -frounding-math is still necessary.
  Getting rid of it would require more places where to call CGAL::IA_force_to_double(),
  and would be necessarily much slower.
2008-04-03 15:20:23 +00:00
Sylvain Pion 1d5c5f0100 Remove unused macro CGAL_IA_STOP_CPROP2 2008-04-03 14:38:16 +00:00
Sebastian Limbach 337eca5ccc Benchmark_rep specializations moved to CGAL. 2008-04-02 14:24:25 +00:00
Michael Hemmer 1f072cf403 CGAL_test_assert -> cassert 2008-04-01 10:15:15 +00:00
Michael Hemmer 9cbe349ce0 mv files for concept checking into Algebraic_foundations 2008-04-01 09:50:22 +00:00