51 #define CGAL_FLOAT_H 1
53 #include <CGAL/basic.h>
75 #ifdef OLD_FINITE_VALID
90 switch (fp_class_f(f)) {
110 switch (fp_class_f(d)) {
128 #if defined(_MSC_VER) || defined(CGAL_MASK_FINITE_VALID) || defined(__BORLANDC__)
130 #define CGAL_EXPONENT_FLOAT_MASK 0x7f800000
131 #define CGAL_MANTISSA_FLOAT_MASK 0x007fffff
135 is_finite_by_mask_float(
unsigned int u)
137 unsigned int e = u & CGAL_EXPONENT_FLOAT_MASK;
138 return ( (e ^ CGAL_EXPONENT_FLOAT_MASK) != 0);
143 is_nan_by_mask_float(
unsigned int u)
145 if ( is_finite_by_mask_float(u) )
return false;
147 return ( (u & CGAL_MANTISSA_FLOAT_MASK) != 0);
156 return is_finite_by_mask_float( p->
c );
165 return !is_nan_by_mask_float( p->
c );
180 {
return (d == d) && (
is_valid(d-d)); }
182 #endif // MSC_VER || ...
185 #endif // OLD_FINITE_VALID
194 #endif // CGAL_FLOAT_H
io_Operator io_tag(double)
CGAL_BEGIN_NAMESPACE double to_double(double d)
#define CGAL_BEGIN_NAMESPACE
Number_tag number_type_tag(double)
#define CGAL_END_NAMESPACE