Module Int32_u.O

val box : Base.int32 -> Base.int32
val unbox : Base.int32 -> Base.int32
val (+) : t -> t -> t
val (-) : t -> t -> t
val (*) : t -> t -> t

Inlined from Comparisons.Infix

val (>=) : t -> t -> Base.bool
val (<=) : t -> t -> Base.bool
val (=) : t -> t -> Base.bool
val (>) : t -> t -> Base.bool
val (<) : t -> t -> Base.bool
val (<>) : t -> t -> Base.bool
val (**) : t -> t -> t

Integer exponentiation

Negation

val neg : t -> t
val (~-) : t -> t

There are two pairs of integer division and remainder functions, /% and %, and / and rem. They both satisfy the same equation relating the quotient and the remainder:

  x = (x /% y * y) + (x % y);
  x = (x / y * y) + rem x y

The functions return the same values if x and y are positive. They all raise if y = 0.

The functions differ if x < 0 or y < 0.

If y < 0, then % and /% raise, whereas / and rem do not.

x % y always returns a value between 0 and y - 1, even when x < 0. On the other hand, rem x y returns a negative value if and only if x < 0; that value satisfies abs (rem x y) <= abs y - 1.

val (/%) : t -> t -> t
val (%) : t -> t -> t
val (/) : t -> t -> t
val rem : t -> t -> t
val (//) : t -> t -> Base.float

Float division of integers.

val (land) : t -> t -> t

Same as bit_and.

val (lor) : t -> t -> t

Same as bit_or.

val (lxor) : t -> t -> t

Same as bit_xor.

val lnot : t -> t

Same as bit_not.

val (lsl) : t -> Base.int -> t

Same as shift_left.

val (asr) : t -> Base.int -> t

Same as shift_right.

val (lsr) : t -> Base.int -> t

Same as shift_right_logical.

val abs : t -> t

Returns the absolute value of the argument. May be negative if the input is min_value.

val zero : Base.unit -> t