package checked_oint
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Module Checked_oint.I128Source
The implementation of i128.
include S with type t = i128
The particular integer type.
The bitwise operations bit_not, bit_or, bit_and, bit_xor, shift_left, and shift_right assume that signed integers are represented in the two's complement notation.
NOTE: implementations may not support polymorphic comparison operators. Use equal and compare instead.
The number of bits of this integer type.
Whether this integer type is signed or not.
Constructs a value out of int; returns None on overflow/underflow.
Constructs a value out of string; returns None on overflow/underflow.
We allow the following classes of non-negative integers:
- Binary:
0b(0B) followed by a non-empty sequence of binary digits0and1. - Octal:
0o(0O) followed by a non-empty sequence of octal digits0, ...,7. - Decimal: a non-empty sequence of decimal digits
0, ...,9. - Hexadecimal:
0x(0X) followed by a non-empty sequence of decimal digits0, ...,9and lettersa, ...,f(A, ...,F).
A negative integer is described by the - character followed by a well-formed non-negative integer.
All other combinations of characters will return None.
Performs left shifting; returns None on overflow/underflow.
Performs right shifting; returns None on overflow/underflow.
This is a logical shift for unsigned integer types and arithmetic shift for signed integer types.
Same as of_int but raises Out_of_range instead of returning None.
Same as of_string but raises Out_of_range instead of returning None.
Finds a successor; raises Out_of_range on overflow.
Finds a predecessor; raises Out_of_range on underflow.
Performs unary negation; raises Out_of_range on overflow/underflow.
Finds an absolute value; raises Out_of_range on overflow.
Performs addition; raises Out_of_range on overflow/underflow.
Performs subtraction; raises Out_of_range on overflow/underflow.
Performs multiplication; raises Out_of_range on overflow/underflow.
Performs division; raises Out_of_range on overflow/underflow.
Finds a remainder; raises Out_of_range on overflow/underflow.
Performs left shifting; raises Out_of_range on overflow/underflow.
Performs right shifting; raises Out_of_range on overflow/underflow.
This is a logical shift for unsigned integer types and arithmetic shift for signed integer types.
Constructs a value out of generic; returns None on overflow/underflow.
Same as of_generic but raises Out_of_range instead of returning None.