include Sexpable.S with type t := t
val t_of_sexp : Sexplib0.Sexp.t -> tval sexp_of_t : t -> Sexplib0.Sexp.t
val t_sexp_grammar : Sexp.Private.Raw_grammar.t
include Floatable.S with type t := t
include Identifiable.S with type t := t
val hash_fold_t : Hash.state -> t -> Hash.stateval hash : t -> Hash.hash_value
include Sexpable.S with type t := t
val t_of_sexp : Sexplib0.Sexp.t -> tval sexp_of_t : t -> Sexplib0.Sexp.t
include Stringable.S with type t := t
include Comparable.S with type t := t
val ascending : t -> t -> intascendingis identical tocompare.descending x y = ascending y x. These are intended to be mnemonic when used likeList.sort ~compare:ascendingandList.sort ~cmp:descending, since they cause the list to be sorted in ascending or descending order, respectively.
val descending : t -> t -> intval between : t -> low:t -> high:t -> boolbetween t ~low ~highmeanslow <= t <= high
val clamp_exn : t -> min:t -> max:t -> tclamp_exn t ~min ~maxreturnst', the closest value totsuch thatbetween t' ~low:min ~high:maxis true.Raises if
not (min <= max).
val clamp : t -> min:t -> max:t -> t Or_error.t
include Comparator.S with type t := t
val comparator : (t, comparator_witness) Comparator.comparator
val validate_lbound : min:t Maybe_bound.t -> t Validate.checkval validate_ubound : max:t Maybe_bound.t -> t Validate.checkval validate_bound : min:t Maybe_bound.t -> max:t Maybe_bound.t -> t Validate.check
include Pretty_printer.S with type t := t
val pp : Formatter.t -> t -> unit
include Comparable.With_zero with type t := t
val validate_positive : t Validate.checkval validate_non_negative : t Validate.checkval validate_negative : t Validate.checkval validate_non_positive : t Validate.checkval is_positive : t -> boolval is_non_negative : t -> boolval is_negative : t -> boolval is_non_positive : t -> boolval sign : t -> Base__Sign0.tReturns
Neg,Zero, orPosin a way consistent with the above functions.
include Invariant.S with type t := t
val invariant : t -> unit
module Hex : sig ... endval to_string_hum : ?delimiter:char -> t -> stringdelimiteris an underscore by default.
Infix operators and constants
val zero : tval one : tval minus_one : tval (+) : t -> t -> tval (-) : t -> t -> tval (*) : t -> t -> tval (**) : t -> t -> tInteger exponentiation
val (/%) : t -> t -> tval (%) : t -> t -> tval (/) : t -> t -> tval rem : t -> t -> tval (//) : t -> t -> floatFloat division of integers.
Other common functions
val abs : t -> tReturns the absolute value of the argument. May be negative if the input is
min_value.
Successor and predecessor functions
Exponentiation
val pow : t -> t -> tpow base exponentreturnsbaseraised to the power ofexponent. It is OK ifbase <= 0.powraises ifexponent < 0, or an integer overflow would occur.
Bit-wise logical operations
val bit_and : t -> t -> tThese are identical to
land,lor, etc. except they're not infix and have different names.
val bit_or : t -> t -> tval bit_xor : t -> t -> tval bit_not : t -> tval popcount : t -> intReturns the number of 1 bits in the binary representation of the input.
Bit-shifting operations
Increment and decrement functions for integer references
Conversion functions to related integer types
val of_int32_exn : int32 -> tval to_int32_exn : t -> int32val of_int64_exn : int64 -> tval to_int64 : t -> int64val of_nativeint_exn : nativeint -> tval to_nativeint_exn : t -> nativeintval of_float_unchecked : float -> tof_float_uncheckedtruncates the given floating point number to an integer, rounding towards zero. The result is unspecified if the argument is nan or falls outside the range of representable integers.
module O : sig ... endA sub-module designed to be opened to make working with ints more convenient.