\( \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.13.2 - Algebraic Foundations
AlgebraicStructureTraits_::IntegralDivision Concept Reference

Definition

AdaptableBinaryFunction providing an integral division.

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\)). Otherwise the effect of invoking this operation is undefined. Since the ring represented is an integral domain, \( z\) is uniquely defined if it exists.

Refines:
AdaptableBinaryFunction
See also
AlgebraicStructureTraits
AlgebraicStructureTraits_::Divides

Types

typedef unspecified_type result_type
 Is AlgebraicStructureTraits::Type.
 
typedef unspecified_type first_argument
 Is AlgebraicStructureTraits::Type.
 
typedef unspecified_type second_argument
 Is AlgebraicStructureTraits::Type.
 

Operations

result_type operator() (first_argument_type x, second_argument_type y)
 returns \( x/y\), this is an integral division.
 
template<class NT1 , class NT2 >
result_type operator() (NT1 x, NT2 y)
 This operator is defined if NT1 and NT2 are ExplicitInteroperable with coercion type AlgebraicStructureTraits::Type.