cgal/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/AlgebraicStructureTraits_Di...

56 lines
1.6 KiB
TeX

\begin{ccRefFunctionObjectConcept}{AlgebraicStructureTraits::Divides}
\ccDefinition
\ccc{AdaptableBinaryFunction},
returns true if the first argument divides the second argument.
Integral division (a.k.a. exact division or division without remainder) maps
ring elements $(n,d)$ to ring element $c$ such that $n = dc$ if such a $c$
exists. In this case it is said that $d$ divides $n$.
This functor is required to provide two operators. The first operator takes two
arguments and returns true if the first argument divides the second argument.
The second operator returns $c$ via the additional third argument.
\ccRefines
\ccc{AdaptableBinaryFunction}
\ccTypes
\ccNestedType{result_type}
{ Is \ccc{AlgebraicStructureTraits::Boolean}.}
\ccGlue
\ccNestedType{first_argument}
{ Is \ccc{AlgebraicStructureTraits::Type}.}
\ccGlue
\ccNestedType{second_argument}
{ Is \ccc{AlgebraicStructureTraits::Type}.}
\ccOperations
\ccCreationVariable{divides}
\ccThree{xxxxxxxxxxx}{xxxxxxxxxxx}{}
\ccMethod{result_type operator()(first_argument_type d,
second_argument_type n);}
{ Computes whether $d$ divides $n$. }
\ccMethod{result_type operator()(
first_argument_type d,
second_argument_type n,
AlgebraicStructureTraits::Type& c);}
{
Computes whether $d$ divides $n$.
Moreover it computes $c$ if $d$ divides $n$,
otherwise the value of $c$ is undefined.
}
%\ccHasModels
\ccSeeAlso
\ccRefIdfierPage{AlgebraicStructureTraits}\\
\ccRefIdfierPage{AlgebraicStructureTraits::IntegralDivision}
\end{ccRefFunctionObjectConcept}