CGAL 4.9 - Algebraic Foundations
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 a 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...