mirror of https://github.com/CGAL/cgal
44 lines
1.5 KiB
TeX
44 lines
1.5 KiB
TeX
\begin{ccRefConcept}{Modularizable}
|
|
|
|
\ccDefinition
|
|
|
|
An algebraic structure is called \ccRefName, if there is a suitable mapping
|
|
into an algebraic structure which is based on the type \ccc{CGAL::Residue}.
|
|
For scalar types, e.g. Integers, this mapping is just the canonical homomorphism
|
|
into the type \ccc{CGAL::Residue} with respect to the current prime.
|
|
For compound types, e.g. Polynomials,
|
|
the mapping is applied to the coefficients of the compound type.
|
|
|
|
The mapping is provided via \ccc{CGAL::Modular_traits<Modularizable>},
|
|
being a model of \ccc{ModularTraits}.
|
|
|
|
Note that types representing rationals, or types which do have some notion
|
|
of denominator, are not \ccc{Modularizable}.
|
|
This is due to the fact that the denominator may be zero modulo the prime,
|
|
which can not be represented.
|
|
|
|
%\ccRefIdfierPage{CORE::BigRat}\\
|
|
%\ccRefIdfierPage{CGAL::Gmpq}\\
|
|
%\ccRefIdfierPage{leda::rational}\\
|
|
%\ccRefIdfierPage{mpq_class}\\
|
|
%\ccRefIdfierPage{CGAL::Quotient<NT>}\\
|
|
|
|
\ccHasModels
|
|
|
|
\ccRefIdfierPage{int}\\
|
|
\ccRefIdfierPage{long}\\
|
|
\ccRefIdfierPage{CORE::BigInt}\\
|
|
\ccRefIdfierPage{CGAL::Gmpz}\\
|
|
\ccRefIdfierPage{leda::integer}\\
|
|
\ccRefIdfierPage{mpz_class}\\
|
|
|
|
The following types are \ccc{Modularizable} iff their template arguments are.
|
|
\ccRefIdfierPage{CGAL::Lazy_exact_nt<NT>}\\
|
|
\ccRefIdfierPage{CGAL::Sqrt_extension<NT,ROOT>}\\
|
|
\ccRefIdfierPage{CGAL::Polynomial<Coeff>}\\
|
|
|
|
\ccSeeAlso
|
|
\ccRefIdfierPage{CGAL::Residue}\\
|
|
\ccRefIdfierPage{CGAL::Modular_traits<T>}\\
|
|
|
|
\end{ccRefConcept} |