cgal/Old_Packages/CLN/include/CGAL/cl_real.h

63 lines
1.8 KiB
C

// ============================================================================
//
// Copyright (c) 1998,1999 The CGAL Consortium
//
// This software and related documentation is part of an INTERNAL release
// of the Computational Geometry Algorithms Library (CGAL). It is not
// intended for general use.
//
// ----------------------------------------------------------------------------
//
// release :
// release_date :
//
// file : include/CGAL/cl_real.h
// revision : $Revision$
// revision_date : $Date$
// package : CLN
// author(s) : Sylvain Pion <Sylvain.Pion@sophia.inria.fr>
//
// coordinator : INRIA Sophia-Antipolis (<Mariette.Yvinec@sophia.inria.fr>)
//
// ============================================================================
#ifndef CGAL_CL_REAL_H
#define CGAL_CL_REAL_H
#include <CGAL/number_utils.h>
#include <CGAL/number_type_tags.h>
#include <CGAL/IO/io_tags.h>
#define WANT_OBFUSCATING_OPERATORS
#include <cl_real.h>
#include <cl_io.h>
CGAL_BEGIN_NAMESPACE
// Requirements.
inline bool is_valid (const cl_R & ) { return true; }
inline bool is_finite (const cl_R & ) { return true; }
inline double to_double (const cl_R &I) { return cl_double_approx(I); }
// Specialized utilities.
inline bool is_negative (const cl_R &I) { return minusp(I); }
inline bool is_positive (const cl_R &I) { return plusp(I); }
inline bool is_zero (const cl_R &I) { return zerop(I); }
inline Comparison_result compare (const cl_R &I, const cl_R &J)
{ return Comparison_result(cl_compare(I,J)); }
// Tags.
inline io_Operator io_tag (const cl_R&) { return io_Operator(); }
inline Number_tag number_type_tag (const cl_R&) { return Number_tag(); }
CGAL_END_NAMESPACE
// #ifdef CGAL_INTERVAL_ARITHMETIC_H
// #include <CGAL/Interval_arithmetic/IA_cl_real.h>
// #endif
#endif // CGAL_CL_REAL_H