Azumanga <4z******@gmail.comwrote:

18.2.1.2 55 states that "A type is modulo if it is possible to add two

positive numbers together and have a result that wraps around to a

third number that is less".

This seems insufficent for the following reasons:

1) Doesn't define what that value recieved is.

2) Doesn't state the result is repeatable

3) Doesn't require that doing addition, subtraction and other

operations on all values is defined behaviour.

Suggest this text is ammeded to:

"A type is modulo if, given any operation involving +,- or * on values

of that type whose value would fall outside the range [min(), max()],

then the value returned differs from the true value by an integer

multiple of (max() - min() + 1) "

There is a discussion on this topic over on comp.std.c++:

http://groups.google.com/group/comp....bfd3c42666b5d/
--

Marcus Kwok

Replace 'invalid' with 'net' to reply