\( \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.8 - Algebraic Foundations

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Classes | Functions
CGAL Namespace Reference

## Classes
class | Algebraic_structure_traits
| An instance of `Algebraic_structure_traits` is a model of `AlgebraicStructureTraits`, where T is the associated type. More...
class | Euclidean_ring_tag
| Tag indicating that a type is a model of the `EuclideanRing` concept. More...
class | Field_tag
| Tag indicating that a type is a model of the `Field` concept. More...
class | Field_with_kth_root_tag
| Tag indicating that a type is a model of the `FieldWithKthRoot` concept. More...
class | Field_with_root_of_tag
| Tag indicating that a type is a model of the `FieldWithRootOf` concept. More...
class | Field_with_sqrt_tag
| Tag indicating that a type is a model of the `FieldWithSqrt` concept. More...
class | Integral_domain_tag
| Tag indicating that a type is a model of the `IntegralDomain` concept. More...
class | Integral_domain_without_division_tag
| Tag indicating that a type is a model of the `IntegralDomainWithoutDivision` concept. More...
class | Unique_factorization_domain_tag
| Tag indicating that a type is a model of the `UniqueFactorizationDomain` concept. More...
class | Coercion_traits
| An instance of `Coercion_traits` reflects the type coercion of the types A and B, it is symmetric in the two template arguments. More...
class | Fraction_traits
| An instance of `Fraction_traits` is a model of `FractionTraits`, where `T` is the associated type. More...
class | Real_embeddable_traits
| An instance of `Real_embeddable_traits` is a model of `RealEmbeddableTraits`, where T is the associated type. More...

## Functions
template<class NT >
NT | abs (const NT &x)
| The template function `abs()` returns the absolute value of a number. More...
template<class NT1 , class NT2 >
result_type | compare (const NT &x, const NT &y)
| The template function `compare()` compares the first argument with respect to the second, i.e. it returns `CGAL::LARGER` if \( x\) is larger then \( y\). More...
template<class NT1 , class NT2 >
result_type | div (const NT1 &x, const NT2 &y)
| The function `div()` computes the integral quotient of division with remainder. More...
template<class NT1 , class NT2 >
void | div_mod (const NT1 &x, const NT2 &y, result_type &q, result_type &r)
| computes the quotient \( q\) and remainder \( r\), such that \( x = q*y + r\) and \( r\) minimal with respect to the Euclidean Norm of the `result_type`. More...
template<class NT1 , class NT2 >
result_type | gcd (const NT1 &x, const NT2 &y)
| The function `gcd()` computes the greatest common divisor of two values. More...
template<class NT1 , class NT2 >
result_type | integral_division (const NT1 &x, const NT2 &y)
| The function `integral_division()` (a.k.a. exact division or division without remainder) maps ring elements \( (x,y)\) to ring element \( z\) such that \( x = yz\) if such a \( z\) exists (i.e. if \( x\) is divisible by \( y\)). More...
template<class NT >
NT | inverse (const NT &x)
| The function `inverse()` returns the inverse element with respect to multiplication. More...
result_type | is_negative (const NT &x)
| The template function `is_negative()` determines if a value is negative or not. More...
template<class NT >
result_type | is_one (const NT &x)
| The function `is_one()` determines if a value is equal to 1 or not. More...
result_type | is_positive (const NT &x)
| The template function `is_positive()` determines if a value is positive or not. More...
template<class NT >
result_type | is_square (const NT &x)
| An ring element \( x\) is said to be a square iff there exists a ring element \( y\) such that \( x= y*y\). More...
template<class NT >
result_type | is_square (const NT &x, NT &y)
| An ring element \( x\) is said to be a square iff there exists a ring element \( y\) such that \( x= y*y\). More...
template<class NT >
result_type | is_zero (const NT &x)
| The function `is_zero()` determines if a value is equal to 0 or not. More...
template<class NT >
NT | kth_root (int k, const NT &x)
| The function `kth_root()` returns the k-th root of a value. More...
template<class NT1 , class NT2 >
result_type | mod (const NT1 &x, const NT2 &y)
| The function `mod()` computes the remainder of division with remainder. More...
template<class InputIterator >
NT | root_of (int k, InputIterator begin, InputIterator end)
| returns the k-th real root of the univariate polynomial, which is defined by the iterator range, where begin refers to the constant term. More...
template<class NT >
result_type | sign (const NT &x)
| The template function `sign()` returns the sign of its argument. More...
template<class NT >
void | simplify (const NT &x)
| The function `simplify()` may simplify a given object. More...
template<class NT >
NT | sqrt (const NT &x)
| The function `sqrt()` returns the square root of a value. More...
template<class NT >
NT | square (const NT &x)
| The function `square()` returns the square of a number. More...
template<class NT >
double | to_double (const NT &x)
| The template function `to_double()` returns an double approximation of a number. More...
template<class NT >
std::pair< double, double > | to_interval (const NT &x)
| The template function `to_interval()` computes for a given real embeddable number \( x\) a double interval containing \( x\). More...
template<class NT >
NT | unit_part (const NT &x)
| The function `unit_part()` computes the unit part of a given ring element. More...