[numeric.ops.gcd] (original) (raw)

26 Algorithms library [algorithms]

26.10 Generalized numeric operations [numeric.ops]

26.10.14 Greatest common divisor [numeric.ops.gcd]

template<class M, class N> constexpr common_type_t<M, N> gcd(M m, N n);

Mandates: M and N both are integer types other thancv bool.

Preconditions: |m| and |n|are representable as a value of common_type_t<M, N>.

[Note 1:

These requirements ensure, for example, that is representable as a value of type M.

— _end note_]

Returns: Zero when m and n are both zero.

Otherwise, returns the greatest common divisor of |m| and |n|.