CGAL 6.1 - Algebraic Foundations

Loading...
Searching...
No Matches
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...
struct | 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...
struct | Euclidean_ring_tag
| Tag indicating that a type is a model of the `EuclideanRing` concept. More...
struct | Field_tag
| Tag indicating that a type is a model of the `Field` concept. More...
struct | Field_with_kth_root_tag
| Tag indicating that a type is a model of the `FieldWithKthRoot` concept. More...
struct | Field_with_root_of_tag
| Tag indicating that a type is a model of the `FieldWithRootOf` concept. More...
struct | Field_with_sqrt_tag
| Tag indicating that a type is a model of the `FieldWithSqrt` concept. More...
class | Fraction_traits
| An instance of `Fraction_traits` is a model of `FractionTraits`, where `T` is the associated type. More...
struct | Integral_domain_tag
| Tag indicating that a type is a model of the `IntegralDomain` concept. More...
struct | Integral_domain_without_division_tag
| Tag indicating that a type is a model of the `IntegralDomainWithoutDivision` concept. More...
class | Real_embeddable_traits
| An instance of `Real_embeddable_traits` is a model of `RealEmbeddableTraits`, where T is the associated type. More...
struct | Unique_factorization_domain_tag
| Tag indicating that a type is a model of the `UniqueFactorizationDomain` concept. More...

## Functions
template<class NT >
NT | abs (const NT &x)
| The template function `abs()` returns the absolute value of a number.
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 than \( y\).
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.
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`.
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.
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\)).
template<class NT >
NT | inverse (const NT &x)
| The function `inverse()` returns the inverse element with respect to multiplication.
result_type | is_negative (const NT &x)
| The template function `is_negative()` determines if a value is negative or not.
template<class NT >
result_type | is_one (const NT &x)
| The function `is_one()` determines if a value is equal to 1 or not.
result_type | is_positive (const NT &x)
| The template function `is_positive()` determines if a value is positive or not.
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\).
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\).
template<class NT >
result_type | is_zero (const NT &x)
| The function `is_zero()` determines if a value is equal to 0 or not.
template<class NT >
NT | kth_root (int k, const NT &x)
| The function `kth_root()` returns the k-th root of a value.
template<class NT1 , class NT2 >
result_type | mod (const NT1 &x, const NT2 &y)
| The function `mod()` computes the remainder of division with remainder.
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.
template<class NT >
result_type | sign (const NT &x)
| The template function `sign()` returns the sign of its argument.
template<class NT >
void | simplify (const NT &x)
| The function `simplify()` may simplify a given object.
template<class NT >
NT | sqrt (const NT &x)
| The function `sqrt()` returns the square root of a value.
template<class NT >
NT | square (const NT &x)
| The function `square()` returns the square of a number.
template<class NT >
double | to_double (const NT &x)
| The template function `to_double()` returns a double approximation of a number.
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\).
template<class NT >
NT | unit_part (const NT &x)
| The function `unit_part()` computes the unit part of a given ring element.