\( \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 5.0.4 - Modular Arithmetic
ModularTraits Concept Reference

Definition

A model of ModularTraits is associated to a specific Type. In case this associated type is a model of Modularizable, this is indicated by the Boolean tag ModularTraits::Is_modularizable. The mapping into the Residue_type is provided by the functor ModularTraits::Modular_image.

Has Models:
CGAL::Modular_traits<T>
See also
CGAL::Residue
Modularizable

Concepts

conceptModularImage
 This AdaptableUnaryFunction computes the modular image of the given value with respect to a homomorphism \( \varphi\) from the ModularTraits::Type into the ModularTraits::Residue_type. More...
 
conceptModularImageRepresentative
 This AdaptableUnaryFunction returns a representative in the original type of a given modular image. More precisely, it implements the right inverse of a proper restriction of the homomorphism \( \varphi\), which is implemented by ModularTraits::ModularImage. More...
 

Types

A model of ModularTraits is supposed to provide:

typedef unspecified_type Type
 The associated type.
 
typedef unspecified_type Is_modularizable
 Tag indicating whether the associated type is modularizable. More...
 
typedef unspecified_type Residue_type
 The type of the modular image. More...
 

Functors

In case the associated type is a model of Modularizable all functors are provided.

In case a functor is not provided, it is set to CGAL::Null_functor.

typedef unspecified_type Modular_image
 A model of ModularTraits::ModularImage
 
typedef unspecified_type Modular_image_representative
 A model of ModularTraits::ModularImageRepresentative
 

Member Typedef Documentation

◆ Is_modularizable

Tag indicating whether the associated type is modularizable.

This is either CGAL::Tag_true or CGAL::Tag_false.

◆ Residue_type

The type of the modular image.

In case the associated type is not a model of Modularizable this is undefined.