Module Stdint.Uint40

module Uint40: Int  with type t = uint40

type t 
The specific integer type

Constants

val zero : t
The value 0
val one : t
The value 1
val max_int : t
The greatest representable integer
val min_int : t
The smallest representable integer; for unsigned integers this is zero.
val bits : int
The number of bits used by this integer

Infix operations

val (+) : t -> t -> t
Addition
val (-) : t -> t -> t
Subtraction
val ( * ) : t -> t -> t
Multiplication
val (/) : t -> t -> t
Integer division. Raise Division_by_zero if the second argument is zero. This division rounds the real quotient of its arguments towards zero, as specified for (/).

Arithmetic operations

val add : t -> t -> t
Addition
val sub : t -> t -> t
Subtraction
val mul : t -> t -> t
Multiplication
val div : t -> t -> t
Integer division. Raise Division_by_zero if the second argument is zero. This division rounds the real quotient of its arguments towards zero, as specified for (/).
val rem : t -> t -> t
Integer remainder. If y is not zero, the result of rem x y satisfies the following property: x = add (mul (div x y) y) (rem x y). If y = 0, rem x y raises Division_by_zero.
val succ : t -> t
Successor. succ x is add x one.
val pred : t -> t
Predecessor. pred x is sub x one.
val abs : t -> t
Return the absolute value of its argument.
val neg : t -> t

Bitiwse operations

val logand : t -> t -> t
Bitwise logical and.
val logor : t -> t -> t
Bitwise logical or.
val logxor : t -> t -> t
Bitwise logical exclusive or.
val lognot : t -> t
Bitwise logical negation.
val shift_left : t -> int -> t
shift_left x y shifts x to the left by y bits. The result is unspecified if y < 0 or y >= bits.
val shift_right : t -> int -> t
shift_right x y shifts x to the right by y bits. If this is a signed integer, this is an arithmetic shift: the sign bit of x is replicated and inserted in the vacated bits. The result is unspecified if y < 0 or y >= bits. For an unsigned integer, this is identical to shift_right_logical.
val shift_right_logical : t -> int -> t
shift_right_logical x y shifts x to the right by y bits. This is a logical shift: zeroes are inserted in the vacated bits regardless if x is a signed or unsiged integer. The result is unspecified if y < 0 or y >= bits.

Numeric conversion functions

val of_int : int -> t
Convert the given integer (type int) to this integer type.
val to_int : t -> int
Convert the given integer (type t) to an integer of type int.
val of_float : float -> t
Convert the given floating-point number to an integer of type t.
val to_float : t -> float
Convert the given integer to a floating-point number.
val of_nativeint : nativeint -> t
Convert the given integer (type t) to a native integer.
val to_nativeint : t -> nativeint
Convert the given native integer (type nativeint) to an integer (type t.
val of_int8 : Stdint.int8 -> t
Convert an integer of type int8 to an integer of type t.
val to_int8 : t -> Stdint.int8
Convert an integer of type t to an integer of type int8.
val of_int16 : Stdint.int16 -> t
Convert an integer of type int16 to an integer of type t.
val to_int16 : t -> Stdint.int16
Convert an integer of type t to an integer of type int16.
val of_int24 : Stdint.int24 -> t
Convert an integer of type int24 to an integer of type t.
val to_int24 : t -> Stdint.int24
Convert an integer of type t to an integer of type int24.
val of_int32 : int32 -> t
Convert an integer of type int32 to an integer of type t.
val to_int32 : t -> int32
Convert an integer of type t to an integer of type int32.
val of_int40 : Stdint.int40 -> t
Convert an integer of type int40 to an integer of type t.
val to_int40 : t -> Stdint.int40
Convert an integer of type t to an integer of type int40.
val of_int48 : Stdint.int48 -> t
Convert an integer of type int48 to an integer of type t.
val to_int48 : t -> Stdint.int48
Convert an integer of type t to an integer of type int48.
val of_int56 : Stdint.int56 -> t
Convert an integer of type int56 to an integer of type t.
val to_int56 : t -> Stdint.int56
Convert an integer of type t to an integer of type int56.
val of_int64 : int64 -> t
Convert an integer of type int64 to an integer of type t.
val to_int64 : t -> int64
Convert an integer of type t to an integer of type int64.
val of_int128 : Stdint.int128 -> t
Convert an integer of type int128 to an integer of type t.
val to_int128 : t -> Stdint.int128
Convert an integer of type t to an integer of type int128.
val of_uint8 : Stdint.uint8 -> t
Convert an integer of type uint8 to an integer of type t.
val to_uint8 : t -> Stdint.uint8
Convert an integer of type t to an integer of type uint8.
val of_uint16 : Stdint.uint16 -> t
Convert an integer of type uint16 to an integer of type t.
val to_uint16 : t -> Stdint.uint16
Convert an integer of type t to an integer of type uint16.
val of_uint24 : Stdint.uint24 -> t
Convert an integer of type uint24 to an integer of type t.
val to_uint24 : t -> Stdint.uint24
Convert an integer of type t to an integer of type uint24.
val of_uint32 : Stdint.uint32 -> t
Convert an integer of type uint32 to an integer of type t.
val to_uint32 : t -> Stdint.uint32
Convert an integer of type t to an integer of type uint32.
val of_uint40 : Stdint.uint40 -> t
Convert an integer of type uint40 to an integer of type t.
val to_uint40 : t -> Stdint.uint40
Convert an integer of type t to an integer of type uint40.
val of_uint48 : Stdint.uint48 -> t
Convert an integer of type uint48 to an integer of type t.
val to_uint48 : t -> Stdint.uint48
Convert an integer of type t to an integer of type uint48.
val of_uint56 : Stdint.uint56 -> t
Convert an integer of type uint56 to an integer of type t.
val to_uint56 : t -> Stdint.uint56
Convert an integer of type t to an integer of type uint56.
val of_uint64 : Stdint.uint64 -> t
Convert an integer of type uint64 to an integer of type t.
val to_uint64 : t -> Stdint.uint64
Convert an integer of type t to an integer of type uint64.
val of_uint128 : Stdint.uint128 -> t
Convert an integer of type uint128 to an integer of type t.
val to_uint128 : t -> Stdint.uint128
Convert an integer of type t to an integer of type uint128.

String conversion functions

val of_string : string -> t
Convert the given string to an integer of type t. The string is read in decimal (by default) or in hexadecimal, octal or binary if the string begins with 0x, 0o or 0b respectively. Raise Failure "*_of_string" if the given string is not a valid representation of an integer, or if the integer represented exceeds the range of integers representable in type t.
val to_string : t -> string
Return the string representation of its argument, in decimal.
val to_string_bin : t -> string
Return the string representation of its argument, in binary (beginning with 0b)
val to_string_oct : t -> string
Return the string representation of its argument, in octal (beginning with 0o)
val to_string_hex : t -> string
Return the string representation of its argument, in hex (beginning with 0x)
val printer : Format.formatter -> t -> unit
val printer_bin : Format.formatter -> t -> unit
val printer_oct : Format.formatter -> t -> unit
val printer_hex : Format.formatter -> t -> unit

Raw bytes conversion functions

val of_bytes_big_endian : Bytes.t -> int -> t
of_bytes_big_endian buffer offset creates an integer value of type t from the buffer buffer starting at offset offset. The byte order is interpreted to be big endian. If the buffer does not hold enough bytes for this integer, i.e. if (Bytes.length buffer) < (offset + (bits / 8)), the function will raise Invalid_argument "index out of bounds".
val of_bytes_little_endian : Bytes.t -> int -> t
of_bytes_big_endian buffer offset creates an integer value of type t from the buffer buffer starting at offset offset. The byte order is interpreted to be little endian. If the buffer does not hold enough bytes for this integer, i.e. if (Bytes.length buffer) < (offset + (bits / 8)), the function will raise Invalid_argument "index out of bounds".
val to_bytes_big_endian : t -> Bytes.t -> int -> unit
to_bytes_big_endian i buffer offset writes the integer i to the buffer buffer starting at offset offset. The byte order used is big endian. If the buffer does not hold enough bytes, i.e. if (Bytes.length buffer) < (offset + (bits / 8)), the function will raise Invalid_argument "index out of bounds".
val to_bytes_little_endian : t -> Bytes.t -> int -> unit
to_bytes_little_endian i buffer offset writes the integer i to the buffer buffer starting at offset offset. The byte order used is little endian. If the buffer does not hold enough bytes, i.e. if (Bytes.length buffer) < (offset + (bits / 8)), the function will raise Invalid_argument "index out of bounds".

Comparison function

val compare : t -> t -> int
The comparison function for integers of type t, with the same specification as compare. Along with the type t, this function compare allows this module to be passed as argument to the functors Set.Make and Map.Make.