\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)
CGAL 4.5 - Number Types
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
CGAL Namespace Reference

Classes

class  Protect_FPU_rounding
 The class Protect_FPU_rounding allows to reduce the number of rounding mode changes when evaluating sequences of interval arithmetic operations. More...
 
class  Set_ieee_double_precision
 The class Set_ieee_double_precision provides a mechanism to set the correct 53 bits precision for a block of code. More...
 
class  Gmpfi
 An object of the class Gmpfi is a closed interval, with endpoints represented as Gmpfr floating-point numbers. More...
 
class  Gmpfr
 An object of the class Gmpfr is a fixed precision floating-point number, based on the Mpfr library. More...
 
class  Gmpq
 An object of the class Gmpq is an arbitrary precision rational number based on the Gmp library. More...
 
class  Gmpz
 An object of the class Gmpz is an arbitrary precision integer based on the Gmp Library. More...
 
class  Gmpzf
 An object of the class Gmpzf is a multiple-precision floating-point number which can represent numbers of the form \( m*2^e\), where \( m\) is an arbitrary precision integer based on the Gmp library, and \( e\) is of type long. More...
 
class  Interval_nt
 The class Interval_nt provides an interval arithmetic number type. More...
 
class  Lazy_exact_nt
 An object of the class Lazy_exact_nt<NT> is able to represent any real embeddable number which NT is able to represent. More...
 
class  MP_Float
 An object of the class MP_Float is able to represent a floating point value with arbitrary precision. More...
 
class  Mpzf
 An object of the class Mpzf is a multiple-precision floating-point number which can represent numbers of the form \( m*2^e\), where \( m\) is an arbitrary precision integer based on the GMP library, and \( e\) is of type int. More...
 
class  NT_converter
 A number type converter usable as default, for Cartesian_converter and Homogeneous_converter. More...
 
class  Number_type_checker
 Number_type_checker is a number type whose instances store two numbers of types NT1 and NT2. More...
 
class  Quotient
 An object of the class Quotient<NT> is an element of the field of quotients of the integral domain type NT. More...
 
class  Rational_traits
 The class Rational_traits can be used to determine the type of the numerator and denominator of a rational number type as Quotient, Gmpq, mpq_class or leda_rational. More...
 
class  Root_of_traits
 For a RealEmbeddable IntegralDomain RT, the class template Root_of_traits<RT> associates a type Root_of_2, which represents algebraic numbers of degree 2 over RT. More...
 
class  Sqrt_extension
 An instance of this class represents an extension of the type NT by one square root of the type ROOT. More...
 
class  Is_valid
 Not all values of a type need to be valid. More...
 
class  Max
 The function object class Max returns the larger of two values. More...
 
class  Min
 The function object class Min returns the smaller of two values. More...
 

Typedefs

typedef Interval_nt< false > Interval_nt_advanced
 This typedef (at namespace CGAL scope) exists for backward compatibility, as well as removing the need to remember the Boolean value for the template parameter.
 
typedef unspecified_type Exact_integer
 Exact_integer is an exact integer number type. More...
 
typedef unspecified_type Exact_rational
 Exact_rational is an exact rational number type, constructible from double. More...
 

Functions

bool is_finite (double x)
 Determines whether the argument represents a value in \( \mathbb{R}\).
 
bool is_finite (float x)
 Determines whether the argument represents a value in \( \mathbb{R}\).
 
bool is_finite (long double x)
 Determines whether the argument represents a value in \( \mathbb{R}\).
 
template<typename RT , typename OutputIterator >
OutputIterator compute_roots_of_2 (const RT &a, const RT &b, const RT &c, OutputIterator oit)
 The function compute_roots_of_2() solves a univariate polynomial as it is defined by the coefficients given to the function. More...
 
template<typename RT >
Root_of_traits< RT >::Root_of_2 make_root_of_2 (const RT &a, const RT &b, const RT &c, bool s)
 The function make_root_of_2() constructs an algebraic number of degree 2 over a ring number type. More...
 
template<typename RT >
Root_of_traits< RT >::Root_of_2 make_root_of_2 (RT alpha, RT beta, RT gamma)
 The function make_root_of_2() constructs an algebraic number of degree 2 over a ring number type. More...
 
template<typename RT >
Root_of_traits< RT >::Root_of_2 make_sqrt (const RT &x)
 The function make_sqrt() constructs a square root of a given value of type \( RT\). More...
 
template<typename Rational >
Rational simplest_rational_in_interval (double d1, double d2)
 computes the rational number with the smallest denominator in the interval [d1,d2]. More...
 
template<typename Rational >
Rational to_rational (double d)
 computes the rational number that equals d. More...
 
template<typename T >
bool is_valid (const T &x)
 Not all values of a type need to be valid. More...
 
template<typename T >
max (const T &x, const T &y)
 Returns the larger of two values. More...
 
template<typename T >
min (const T &x, const T &y)
 Returns the smaller of two values. More...