A model of the AlgebraicKernel_d_1 concept is meant to provide the algebraic functionalities on univariate polynomials of general degree d.
A model of AlgebraicKernel_d_1 must provide:
 
A model of IntegralDomain and RealEmbeddable. ExplicitInteroperable with AlgebraicKernel_d_1::Bound.
 
 
A univariate polynomial that is a model of Polynomial_d,
where CGAL::Polynomial_traits_d<Polynomial_1>::Innermost_coefficient
is AlgebraicKernel_d_1::Coefficient.
 
 
A type that is used to represent real roots of univariate polynomials.
The type must be a model of DefaultConstructible,
CopyConstructible, Assignable and RealEmbeddable.
 
 
A type to represent upper and lower bounds of AlgebraicKernel_d_1::Algebraic_real_1. The type is ExplicitInteroperable with AlgebraicKernel_d_1::Coefficient and must be a model IntegralDomain, RealEmbeddable and dense in ℝ.
 
 
Size type (unsigned integral type).
 
 
Multiplicity type (unsigned integral type).

 
A model of AlgebraicKernel_d_1::ConstructAlgebraicReal_1.
 
 
A model of AlgebraicKernel_d_1::ComputePolynomial_1.
 
 
A model of AlgebraicKernel_d_1::Isolate_1.
 
 
A model of AlgebraicKernel_d_1::IsSquareFree_1.
 
 
A model of AlgebraicKernel_d_1::MakeSquareFree_1.
 
 
A model of AlgebraicKernel_d_1::SquareFreeFactorize_1.
 
 
A model of AlgebraicKernel_d_1::IsCoprime_1.
 
 
A model of AlgebraicKernel_d_1::MakeCoprime_1.
 
 
A model of AlgebraicKernel_d_1::Solve_1.
 
 
A model of AlgebraicKernel_d_1::NumberOfSolutions_1.
 
 
A model of AlgebraicKernel_d_1::SignAt_1.
 
 
A model of AlgebraicKernel_d_1::Compare_1.
 
 
A model of AlgebraicKernel_d_1::BoundBetween_1.
 
 
A model of AlgebraicKernel_d_1::ApproximateAbsolute_1.
 
 
A model of AlgebraicKernel_d_1::ApproximateRelative_1.

For each of the function objects above, there must exist a member function that requires no arguments and returns an instance of that function object. The name of the member function is the uncapitalized name of the type returned with the suffix _object appended. For example, for the function object AlgebraicKernel_d_1::Bound_between_1 the following member function must exist:
 
