☰
wrapping_integer
wrapping_integer
multiplication, with check for overflow
exponentiation for positive exponent
'zero ** zero' is permitted and results in 'one'.
'zero ** zero' is permitted and results in 'one'.
exponentiation with overflow checking semantics
'zero **? zero' is permitted and results in 'one'.
'zero **? zero' is permitted and results in 'one'.
exponentiation with saturating semantics
'zero **^ zero' is permitted and results in 'one'.
'zero **^ zero' is permitted and results in 'one'.
exponentiation with wrap-around semantics
'zero **° zero' is permitted and results in 'one'.
'zero **° zero' is permitted and results in 'one'.
addition, with check for overflow
subtraction, with check for overflow
check if this type of wrapping_integer is bounded
wrapping_integers are assumed to be a bound set by default, so
this returns true unless redefined by an implementation
wrapping_integers are assumed to be a bound set by default, so
this returns true unless redefined by an implementation
count the number of 1 bits in the binary representation of this
integer.
integer.
would addition wrapping_integer.this + other cause an overflow or underflow?
would exponentiation 'this ** other' cause an overflow?
would multiplication wrapping_integer.this * other cause an overflow or underflow?
would subtraction wrapping_integer.this - other cause an overflow or underflow?
negation, with check for overflow
preconditions used in 'numeric' for basic operations: true if the
operation is permitted for the given values
operation is permitted for the given values
overflow checking operations
neg, add, sub, mul with wrap-around semantics
would negation -wrapping_integer.this cause an overflow?
wrapping_integer is the abstract ancestor of integer numbers that have min and
max values and operations with wrap-around semantics.