CGAL 6.0 - Algebraic Foundations
Loading...
Searching...
No Matches
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.