31 #if defined(ModuloComputer_RECURSES)
32 #error Recursive header files inclusion detected in ModuloComputer.h
35 #define ModuloComputer_RECURSES
37 #if !defined ModuloComputer_h
39 #define ModuloComputer_h
44 #include "DGtal/base/Common.h"
45 #include "DGtal/kernel/NumberTraits.h"
46 #include "DGtal/kernel/CInteger.h"
78 template <
typename TInteger>
204 template <
typename T>
209 object.selfDisplay( out );
218 #include "DGtal/arithmetic/ModuloComputer.ih"
225 #undef ModuloComputer_RECURSES
implements basic functions on modular arithmetic.
void decrement(UnsignedInteger &i) const
UnsignedInteger previous(UnsignedIntegerParamType i) const
NumberTraits< Integer >::ParamType IntegerParamType
void increment(UnsignedInteger &i) const
NumberTraits< TInteger >::UnsignedVersion UnsignedInteger
void selfDisplay(std::ostream &out) const
UnsignedInteger posDiff(UnsignedIntegerParamType j, UnsignedIntegerParamType i) const
NumberTraits< UnsignedInteger >::ParamType UnsignedIntegerParamType
UnsignedInteger next(UnsignedIntegerParamType i) const
ModuloComputer & operator=(const ModuloComputer &other)
ModuloComputer(UnsignedIntegerParamType m)
UnsignedInteger cast(IntegerParamType i) const
BOOST_CONCEPT_ASSERT((concepts::CInteger< Integer >))
bool less(UnsignedIntegerParamType i, UnsignedIntegerParamType j) const
ModuloComputer(const ModuloComputer &other)
DGtal is the top-level namespace which contains all DGtal functions and types.
std::ostream & operator<<(std::ostream &out, const ATu0v1< TKSpace, TLinearAlgebra > &object)
boost::call_traits< std::decay< T >::type >::param_type ParamType
Defines a type that represents the "best" way to pass a parameter of type T to a function.
Aim: The traits class for all models of Cinteger.
Aim: Concept checking for Integer Numbers. More precisely, this concept is a refinement of both CEucl...