\( \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.3 - Number Types
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
CGAL Namespace Reference

Namespaces

 cpp11
 

Classes

class  Compact_container_base
 
class  Compact_container
 
class  Compact_container_traits
 
class  Compact
 
class  Fast
 
class  Default
 
class  Fourtuple
 
class  Cast_function_object
 
class  Compare_to_less
 
class  Creator_1
 
class  Creator_2
 
class  Creator_3
 
class  Creator_4
 
class  Creator_5
 
class  Creator_uniform_2
 
class  Creator_uniform_3
 
class  Creator_uniform_4
 
class  Creator_uniform_5
 
class  Creator_uniform_6
 
class  Creator_uniform_7
 
class  Creator_uniform_8
 
class  Creator_uniform_9
 
class  Creator_uniform_d
 
class  Dereference
 
class  Get_address
 
class  Identity
 
class  Project_facet
 
class  Project_next
 
class  Project_next_opposite
 
class  Project_normal
 
class  Project_opposite_prev
 
class  Project_plane
 
class  Project_point
 
class  Project_prev
 
class  Project_vertex
 
class  In_place_list_base
 
class  In_place_list
 
class  Const_oneset_iterator
 
class  Counting_iterator
 
class  Dispatch_or_drop_output_iterator
 
class  Dispatch_output_iterator
 
class  Emptyset_iterator
 
class  Filter_iterator
 
class  Insert_iterator
 
class  Inverse_index
 
class  Join_input_iterator_1
 
class  Join_input_iterator_2
 
class  Join_input_iterator_3
 
class  N_step_adaptor
 
class  Oneset_iterator
 
class  Random_access_adaptor
 
class  Random_access_value_adaptor
 
class  Location_policy
 
class  Multiset
 
class  Object
 
class  Sixtuple
 
class  Boolean_tag
 
struct  Null_functor
 
struct  Sequential_tag
 
struct  Parallel_tag
 
class  Null_tag
 
class  Threetuple
 
class  Twotuple
 
class  Uncertain
 
class  Quadruple
 
class  Triple
 
class  Algebraic_structure_traits
 
class  Euclidean_ring_tag
 
class  Field_tag
 
class  Field_with_kth_root_tag
 
class  Field_with_root_of_tag
 
class  Field_with_sqrt_tag
 
class  Integral_domain_tag
 
class  Integral_domain_without_division_tag
 
class  Unique_factorization_domain_tag
 
class  Coercion_traits
 
class  Fraction_traits
 
class  Real_embeddable_traits
 
class  Modular_traits
 
class  Residue
 
class  Algebraic_kernel_for_circles_2_2
 
class  Circular_arc_2
 
class  Circular_arc_point_2
 
class  Circular_kernel_2
 
class  Exact_circular_kernel_2
 
class  Line_arc_2
 
class  Polynomial_1_2
 
class  Polynomial_for_circles_2_2
 
class  Root_for_circles_2_2
 
class  Aff_transformation_2
 
class  Aff_transformation_3
 
class  Identity_transformation
 
class  Reflection
 
class  Rotation
 
class  Scaling
 
class  Translation
 
class  Bbox_2
 
class  Bbox_3
 
class  Cartesian
 
class  Cartesian_converter
 
class  Circle_2
 
class  Circle_3
 
class  Ambient_dimension
 
class  Dimension_tag
 
class  Dynamic_dimension_tag
 
class  Feature_dimension
 
class  Direction_2
 
class  Direction_3
 
class  Exact_predicates_exact_constructions_kernel
 
class  Exact_predicates_exact_constructions_kernel_with_sqrt
 
class  Exact_predicates_inexact_constructions_kernel
 
class  Filtered_kernel_adaptor
 
class  Filtered_kernel
 
class  Filtered_predicate
 
class  Homogeneous
 
class  Homogeneous_converter
 
class  Iso_cuboid_3
 
class  Iso_rectangle_2
 
class  Kernel_traits
 
class  Line_2
 
class  Line_3
 
class  Null_vector
 
class  Origin
 
class  Plane_3
 
class  Point_2
 
class  Point_3
 
class  Projection_traits_xy_3
 
class  Projection_traits_xz_3
 
class  Projection_traits_yz_3
 
class  Ray_2
 
class  Ray_3
 
class  Segment_2
 
class  Segment_3
 
class  Simple_cartesian
 
class  Simple_homogeneous
 
class  Sphere_3
 
class  Tetrahedron_3
 
class  Triangle_2
 
class  Triangle_3
 
class  Vector_2
 
class  Vector_3
 
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  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
 
typedef Interval_nt< false > Interval_nt_advanced
 
typedef Hilbert_policy< Median > Hilbert_sort_median_policy
 
typedef Hilbert_policy< Middle > Hilbert_sort_middle_policy
 
typedef Hilbert_policy< Median > Hilbert_sort_median_policy
 
typedef Hilbert_policy< Middle > Hilbert_sort_middle_policy
 
typedef Interval_nt< false > Interval_nt_advanced
 
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.
 

Functions

NT abs (const NT &x)
 
result_type compare (const NT &x, const NT &y)
 
result_type div (const NT1 &x, const NT2 &y)
 
void div_mod (const NT1 &x, const NT2 &y, result_type &q, result_type &r)
 
result_type gcd (const NT1 &x, const NT2 &y)
 
result_type integral_division (const NT1 &x, const NT2 &y)
 
NT inverse (const NT &x)
 
result_type is_negative (const NT &x)
 
result_type is_one (const NT &x)
 
result_type is_positive (const NT &x)
 
result_type is_square (const NT &x)
 
result_type is_square (const NT &x, NT &y)
 
result_type is_zero (const NT &x)
 
NT kth_root (int k, const NT &x)
 
result_type mod (const NT1 &x, const NT2 &y)
 
NT root_of (int k, InputIterator begin, InputIterator end)
 
result_type sign (const NT &x)
 
void simplify (const NT &x)
 
NT sqrt (const NT &x)
 
NT square (const NT &x)
 
double to_double (const NT &x)
 
std::pair< double, double > to_interval (const NT &x)
 
NT unit_part (const NT &x)
 
void Assert_circulator (const C &c)
 
void Assert_iterator (const I &i)
 
void Assert_circulator_or_iterator (const IC &i)
 
void Assert_input_category (const I &i)
 
void Assert_output_category (const I &i)
 
void Assert_forward_category (const IC &ic)
 
void Assert_bidirectional_category (const IC &ic)
 
void Assert_random_access_category (const IC &ic)
 
C::difference_type circulator_distance (C c, C d)
 
C::size_type circulator_size (C c)
 
bool is_empty_range (const IC &i, const IC &j)
 
iterator_traits< IC >
::difference_type 
iterator_distance (IC ic1, IC ic2)
 
Iterator_tag query_circulator_or_iterator (const I &i)
 
Circulator_tag query_circulator_or_iterator (const C &c)
 
Mode get_mode (std::ios &s)
 
Mode set_ascii_mode (std::ios &s)
 
Mode set_binary_mode (std::ios &s)
 
Mode set_mode (std::ios &s, IO::Mode m)
 
Mode set_pretty_mode (std::ios &s)
 
bool is_ascii (std::ios &s)
 
bool is_binary (std::ios &s)
 
bool is_pretty (std::ios &s)
 
Output_rep< T > oformat (const T &t)
 
Input_rep< T > iformat (const T &t)
 
Output_rep< T, F > oformat (const T &t, F)
 
ostream & operator<< (ostream &os, Class c)
 
istream & operator>> (istream &is, Class c)
 
Polynomial_traits_d
< Polynomial_d >
::Canonicalize::result_type 
canonicalize (const Polynomial_d &p)
 
Polynomial_traits_d
< Polynomial_d >
::Compare::result_type 
compare (const Polynomial_d &p, const Polynomial_d &q)
 
Polynomial_traits_d
< Polynomial_d >
::Degree::result_type 
degree (const Polynomial_d &p, int i, index=Polynomial_traits_d< Polynomial_d >::d-1)
 
Polynomial_traits_d
< Polynomial_d >
::Degree_vector::result_type 
degree_vector (const Polynomial_d &p)
 
Polynomial_traits_d
< Polynomial_d >
::Differentiate::result_type 
differentiate (const Polynomial_d &p, index=Polynomial_traits_d< Polynomial_d >::d-1)
 
Polynomial_traits_d
< Polynomial_d >
::Evaluate_homogeneous::result_type 
evaluate_homogeneous (const Polynomial_d &p, Polynomial_traits_d< Polynomial_d >::Coefficient_type u, Polynomial_traits_d< Polynomial_d >::Coefficient_type v)
 
Polynomial_traits_d
< Polynomial_d >
::Evaluate::result_type 
evaluate (const Polynomial_d &p, Polynomial_traits_d< Polynomial_d >::Coefficient_type x)
 
Polynomial_traits_d
< Polynomial_d >
::Gcd_up_to_constant_factor::result_type 
gcd_up_to_constant_factor (const Polynomial_d &p, const Polynomial_d &q)
 
Polynomial_traits_d
< Polynomial_d >
::get_coefficient::result_type 
get_coefficient (const Polynomial_d &p, int i)
 
Polynomial_traits_d
< Polynomial_d >
::get_innermost_coefficient::result_type 
get_innermost_coefficient (const Polynomial_d &p, Exponent_vector ev)
 
Polynomial_traits_d
< Polynomial_d >
::Innermost_leading_coefficient::result_type 
innermost_leading_coefficient (const Polynomial_d &p)
 
Polynomial_traits_d
< Polynomial_d >
::Integral_division_up_to_constant_factor::result_type 
integral_division_up_to_constant_factor (const Polynomial_d &p, const Polynomial_d &q)
 
Polynomial_traits_d
< Polynomial_d >
::Invert::result_type 
invert (const Polynomial_d &p, int index=Polynomial_traits_d< Polynomial_d >::d-1)
 
Polynomial_traits_d
< Polynomial_d >
::Is_square_free::result_type 
is_square_free (const Polynomial_d &p)
 
Polynomial_traits_d
< Polynomial_d >
::Is_zero_at_homogeneous::result_type 
is_zero_at_homogeneous (const Polynomial_d &p, InputIterator begin, InputIterator end)
 
Polynomial_traits_d
< Polynomial_d >
::Is_zero_at::result_type 
is_zero_at (const Polynomial_d &p, InputIterator begin, InputIterator end)
 
Polynomial_traits_d
< Polynomial_d >
::Leading_coefficient::result_type 
leading_coefficient (const Polynomial_d &p)
 
Polynomial_traits_d
< Polynomial_d >
::Make_square_free::result_type 
make_square_free (const Polynomial_d &p)
 
Polynomial_traits_d
< Polynomial_d >
::Move::result_type 
move (const Polynomial_d &p, int i, int j)
 
Polynomial_traits_d
< Polynomial_d >
::Multivariate_content::result_type 
multivariate_content (const Polynomial_d &p)
 
Polynomial_traits_d
< Polynomial_d >
::Negate::result_type 
negate (const Polynomial_d &p, int index=Polynomial_traits_d< Polynomial_d >::d-1)
 
int number_of_real_roots (Polynomial_d f)
 
int number_of_real_roots (InputIterator start, InputIterator end)
 
Polynomial_traits_d
< Polynomial_d >
::Permute::result_type 
permute (const Polynomial_d &p, InputIterator begin, InputIterator end)
 
OutputIterator polynomial_subresultants (Polynomial_d p, Polynomial_d q, OutputIterator out)
 
OutputIterator1 polynomial_subresultants_with_cofactors (Polynomial_d p, Polynomial_d q, OutputIterator1 sres_out, OutputIterator2 coP_out, OutputIterator3 coQ_out)
 
OutputIterator principal_sturm_habicht_sequence (typename Polynomial_d f, OutputIterator out)
 
OutputIterator principal_subresultants (Polynomial_d p, Polynomial_d q, OutputIterator out)
 
void pseudo_division (const Polynomial_d &f, const Polynomial_d &g, Polynomial_d &q, Polynomial_d &r, Polynomial_traits_d< Polynomial_d >::Coefficient_type &D)
 
Polynomial_traits_d
< Polynomial_d >
::Pseudo_division_quotient::result_type 
pseudo_division_quotient (const Polynomial_d &p, const Polynomial_d &q)
 
Polynomial_traits_d
< Polynomial_d >
::Pseudo_division_remainder::result_type 
pseudo_division_remainder (const Polynomial_d &p, const Polynomial_d &q)
 
Polynomial_traits_d
< Polynomial_d >
::Resultant::result_type 
resultant (const Polynomial_d &p, const Polynomial_d &q)
 
Polynomial_traits_d
< Polynomial_d >
::Scale_homogeneous::result_type 
scale_homogeneous (const Polynomial_d &p, const Polynomial_traits_d< Polynomial_d >::Innermost_coefficient_type &u, const Polynomial_traits_d< Polynomial_d >::Innermost_coefficient_type &v, int index=Polynomial_traits_d< Polynomial_d >::d-1)
 
Polynomial_traits_d
< Polynomial_d >
::Scale::result_type 
scale (const Polynomial_d &p, const Polynomial_traits_d< Polynomial_d >::Innermost_coefficient_type &a, int index=Polynomial_traits_d< Polynomial_d >::d-1)
 
Polynomial_traits_d
< Polynomial_d >
::Shift::result_type 
shift (const Polynomial_d &p, int i, int index=Polynomial_traits_d< Polynomial_d >::d-1)
 
Polynomial_traits_d
< Polynomial_d >
::Sign_at_homogeneous::result_type 
sign_at_homogeneous (const Polynomial_d &p, InputIterator begin, InputIterator end)
 
Polynomial_traits_d
< Polynomial_d >
::Sign_at::result_type 
sign_at (const Polynomial_d &p, InputIterator begin, InputIterator end)
 
OutputIterator square_free_factorize (const Polynomial_d &p, OutputIterator it, Polynomial_traits_d< Polynomial >::Innermost_coefficient &a)
 
OutputIterator square_free_factorize (const Polynomial_d &p, OutputIterator it)
 
OutputIterator square_free_factorize_up_to_constant_factor (const Polynomial_d &p, OutputIterator it)
 
OutputIterator sturm_habicht_sequence (Polynomial_d f, OutputIterator out)
 
OutputIterator1 sturm_habicht_sequence_with_cofactors (Polynomial_d f, OutputIterator1 stha_out, OutputIterator2 cof_out, OutputIterator3 cofx_out)
 
CGAL::Coercion_traits
< Polynomial_traits_d
< Polynomial_d >
::Innermost_coefficient,
std::iterator_traits
< Input_iterator >::value_type >
::Type 
substitute_homogeneous (const Polynomial_d &p, InputIterator begin, InputIterator end)
 
CGAL::Coercion_traits
< Polynomial_traits_d
< Polynomial_d >
::Innermost_coefficient,
std::iterator_traits
< Input_iterator >::value_type >
::Type 
substitute (const Polynomial_d &p, InputIterator begin, InputIterator end)
 
Polynomial_traits_d
< Polynomial_d >
::Swap::result_type 
swap (const Polynomial_d &p, int i, int j)
 
Polynomial_traits_d
< Polynomial_d >
::Total_degree::result_type 
total_degree (const Polynomial_d &p)
 
Polynomial_traits_d
< Polynomial_d >
::Translate_homogeneous::result_type 
translate_homogeneous (const Polynomial_d &p, const Polynomial_traits_d< Polynomial_d >::Innermost_coefficient_type &u, const Polynomial_traits_d< Polynomial_d >::Innermost_coefficient_type &v, int index=Polynomial_traits_d< Polynomial_d >::d-1)
 
Polynomial_traits_d
< Polynomial_d >
::Translate::result_type 
translate (const Polynomial_d &p, const Polynomial_traits_d< Polynomial_d >::Innermost_coefficient_type &a, int index=Polynomial_traits_d< Polynomial_d >::d-1)
 
Polynomial_traits_d
< Polynomial_d >
::Univariate_content::result_type 
univariate_content (const Polynomial_d &p)
 
Polynomial_traits_d
< Polynomial_d >
::Univariate_content_up_to_constant_factor::result_type 
univariate_content_up_to_constant_factor (const Polynomial_d &p)
 
bool has_in_x_range (const Circular_arc_2< CircularKernel > &ca, const Circular_arc_point_2< CircularKernel > &p)
 
bool has_in_x_range (const Line_arc_2< CircularKernel > &ca, const Circular_arc_point_2< CircularKernel > &p)
 
bool has_on (const Circle_2< CircularKernel > &c, const Circular_arc_point_2< CircularKernel > &p)
 
OutputIterator make_x_monotone (const Circular_arc_2< CircularKernel > &ca, OutputIterator res)
 
OutputIterator make_xy_monotone (const Circular_arc_2< CircularKernel > &ca, OutputIterator res)
 
Circular_arc_point_2
< CircularKernel
x_extremal_point (const Circle_2< CircularKernel > &c, bool b)
 
OutputIterator x_extremal_points (const Circle_2< CircularKernel > &c, OutputIterator res)
 
Circular_arc_point_2
< CircularKernel
y_extremal_point (const Circle_2< CircularKernel > &c, bool b)
 
OutputIterator y_extremal_points (const Circle_2< CircularKernel > &c, OutputIterator res)
 
CGAL::Comparison_result compare_y_to_right (const Circular_arc_2< CircularKernel > &ca1, const Circular_arc_2< CircularKernel > &ca2, Circular_arc_point_2< CircularKernel > &p)
 
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}\).
 
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...
 
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...
 
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...
 
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...
 
Rational simplest_rational_in_interval (double d1, double d2)
 computes the rational number with the smallest denominator in the interval [d1,d2]. More...
 
Rational to_rational (double d)
 computes the rational number that equals d. More...
 
bool is_valid (const T &x)
 Not all values of a type need to be valid. More...
 
max (const T &x, const T &y)
 The function max returns the larger of two values. More...
 
min (const T &x, const T &y)
 The function min returns the smaller of two values. More...
 
void hilbert_sort (RandomAccessIterator begin, RandomAccessIterator end, const Traits &traits=Default_traits, PolicyTag policy=Default_policy)
 
void spatial_sort (RandomAccessIterator begin, RandomAccessIterator end, const Traits &traits=Default_traits, PolicyTag policy=Default_policy, std::ptrdiff_t threshold_hilbert=default, std::ptrdiff_t threshold_multiscale=default, double ratio=default)