include Int_intf.S with type t = nativeintinclude Int_intf.S_commoninclude sig ... endval t_of_sexp : Base__.Sexplib.Sexp.t ‑> tval sexp_of_t : t ‑> Base__.Sexplib.Sexp.tval hash_fold_t : Base__.Ppx_hash_lib.Std.Hash.state ‑> t ‑> Base__.Ppx_hash_lib.Std.Hash.stateval hash : t ‑> Base__.Ppx_hash_lib.Std.Hash.hash_valueinclude Identifiable.S with type t := tinclude sig ... endval t_of_sexp : Base__.Sexplib.Sexp.t ‑> tval sexp_of_t : t ‑> Base__.Sexplib.Sexp.tval hash_fold_t : Base__.Ppx_hash_lib.Std.Hash.state ‑> t ‑> Base__.Ppx_hash_lib.Std.Hash.stateval hash : t ‑> Base__.Ppx_hash_lib.Std.Hash.hash_valueinclude Comparable.S with type t := tinclude Comparable_intf.Polymorphic_compareascending is identical to compare. descending x y = ascending y x. These are
intended to be mnemonic when used like List.sort ~cmp:ascending and List.sort
~cmp:descending, since they cause the list to be sorted in ascending or descending
order, respectively.
clamp_exn t ~min ~max returns t', the closest value to t such that
between t' ~low:min ~high:max is true.
Raises if not (min <= max).
val clamp : t ‑> min:t ‑> max:t ‑> t Or_error.tinclude Comparator.S with type t := tval comparator : (t, comparator_witness) Comparator.comparatorinclude Comparable_intf.Validate with type t := tval 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.checkinclude Comparable.With_zero with type t := tval 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, or Pos in a way consistent with the above functions.
val zero : tval one : tval minus_one : tThere 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.
include Int_intf.Round with type t := tround rounds an int to a multiple of a given to_multiple_of argument, according
to a direction dir, with default dir being `Nearest. round will raise if
to_multiple_of <= 0.
| `Down | rounds toward Int.neg_infinity |
| `Up | rounds toward Int.infinity |
| `Nearest | rounds to the nearest multiple, or `Up in case of a tie |
| `Zero | rounds toward zero |
Here are some examples for round ~to_multiple_of:10 for each direction:
| `Down | {10 .. 19} --> 10 | { 0 ... 9} --> 0 | {-10 ... -1} --> -10 |
| `Up | { 1 .. 10} --> 10 | {-9 ... 0} --> 0 | {-19 .. -10} --> -10 |
| `Zero | {10 .. 19} --> 10 | {-9 ... 9} --> 0 | {-19 .. -10} --> -10 |
| `Nearest | { 5 .. 14} --> 10 | {-5 ... 4} --> 0 | {-15 ... -6} --> -10 |
For convenience and performance, there are variants of round with dir hard-coded.
If you are writing performance-critical code you should use these.
pow base exponent returns base raised to the power of exponent. It is OK if
base <= 0. pow raises if exponent < 0, or an integer overflow would occur.
The results are unspecified for negative shifts and shifts >= num_bits
val decr : t Base__.Import.ref ‑> unitval incr : t Base__.Import.ref ‑> unitval 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_unchecked truncates 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.
val num_bits : intThe number of bits available in this integer type. Note that the integer representations are signed
module O : Int_intf.Operators with type t := tA sub-module designed to be opened to make working with ints more convenient.
val of_int : int ‑> tval to_int : t ‑> int optionval of_int32 : int32 ‑> tval to_int32 : t ‑> int32 optionval of_nativeint : nativeint ‑> tval to_nativeint : t ‑> nativeintval of_int64 : int64 ‑> t option