CGAL 4.7 - Number Types: CGAL Namespace Reference

\( \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.7 - Number Types

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Classes | Typedefs | Functions
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 >
T | max (const T &x, const T &y)
| Returns the larger of two values. More...
template<typename T >
T | min (const T &x, const T &y)
| Returns the smaller of two values. More...