integers

Various signed and unsigned integer types for OCaml
Library integers
Module Unsigned . UInt32
include S
type t
val add : t -> t -> t

Addition.

val sub : t -> t -> t

Subtraction.

val mul : t -> t -> t

Multiplication.

val div : t -> t -> t

Division. Raise Division_by_zero if the second argument is zero.

val rem : t -> t -> t

Integer remainder. Raise Division_by_zero if the second argument is zero.

val max_int : t

The greatest representable integer.

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 shift_left : t -> int -> t

shift_left x y shifts x to the left by y bits.

val shift_right : t -> int -> t

shift_right x y shifts x to the right by y bits.

val of_int : int -> t

Convert the given int value to an unsigned integer.

val to_int : t -> int

Convert the given unsigned integer value to an int.

val of_int64 : int64 -> t

Convert the given int64 value to an unsigned integer.

val to_int64 : t -> int64

Convert the given unsigned integer value to an int64.

val of_string : string -> t

Convert the given string to an unsigned integer. Raise Failure if the given string is not a valid representation of an unsigned integer.

val to_string : t -> string

Return the string representation of its argument.

val to_hexstring : t -> string

Return the hexadecimal string representation of its argument.

val zero : t

The integer 0.

val one : t

The integer 1.

val lognot : t -> t

Bitwise logical negation.

val succ : t -> t

Successor.

val pred : t -> t

Predecessor.

val compare : t -> t -> int

The comparison function for unsigned integers, with the same specification as Stdlib.compare.

val equal : t -> t -> bool

Tests for equality, with the same specification as Stdlib.(=).

val max : t -> t -> t

max x y is the greater of x and y

val min : t -> t -> t

min x y is the lesser of x and y

val of_string_opt : string -> t option

Convert the given string to an unsigned integer. Returns None if the given string is not a valid representation of an unsigned integer.

val pp : Format.formatter -> t -> unit

Output the result of to_string on a formatter.

val pp_hex : Format.formatter -> t -> unit

Output the result of to_hexstring on a formatter.

module Infix : Infix with type t := t
val of_int32 : int32 -> t

Convert the given 32-bit signed integer to an unsigned 32-bit integer.

If the signed integer fits within the unsigned range (in other words, if the signed integer is positive) then the numerical values represented by the signed and unsigned integers are the same.

Whether the signed integer fits or not, the function of_int32 is always the inverse of the function to_int32. In other words, to_int32 (of_int32 x) = x holds for all x : int32.

val to_int32 : t -> int32

Convert the given 32-bit unsigned integer to a signed 32-bit integer.

If the unsigned integer fits within the signed range (in other words, if the unsigned integer is less than Int32.max_int) then the numerical values represented by unsigned and signed integers are the same.

Whether the unsigned integer fits or not, the function to_int32 is always the inverse of the function of_int32. In other words, of_int32 (to_int32 x) = x holds for all x : t.