Module Base__Int
include Base__.Int_intf.Int_without_module_types
include Base__.Int_intf.S with type t = int
val of_float : float -> tval to_float : t -> floatval of_int_exn : int -> tval to_int_exn : t -> intval hash_fold_t : Base.Hash.state -> t -> Base.Hash.stateval hash : t -> Base.Hash.hash_valueval t_of_sexp : Base.Sexp.t -> tval sexp_of_t : t -> Base.Sexp.tval of_string : string -> tval to_string : t -> stringval (>=) : t -> t -> boolval (<=) : t -> t -> boolval (=) : t -> t -> boolval (>) : t -> t -> boolval (<) : t -> t -> boolval (<>) : t -> t -> boolval equal : t -> t -> boolval compare : t -> t -> intval min : t -> t -> tval max : t -> t -> tval ascending : t -> t -> intval descending : t -> t -> intval between : t -> low:t -> high:t -> boolval clamp_exn : t -> min:t -> max:t -> tval clamp : t -> min:t -> max:t -> t Base.Or_error.t
val comparator : (t, comparator_witness) Base.Comparator.comparatorval validate_lbound : min:t Base.Maybe_bound.t -> t Base.Validate.checkval validate_ubound : max:t Base.Maybe_bound.t -> t Base.Validate.checkval validate_bound : min:t Base.Maybe_bound.t -> max:t Base.Maybe_bound.t -> t Base.Validate.checkval pp : Base.Formatter.t -> t -> unitval validate_positive : t Base.Validate.checkval validate_non_negative : t Base.Validate.checkval validate_negative : t Base.Validate.checkval validate_non_positive : t Base.Validate.checkval is_positive : t -> boolval is_non_negative : t -> boolval is_negative : t -> boolval is_non_positive : t -> boolval sign : t -> Base__.Sign0.t
module Hex : sig ... endval to_string_hum : ?delimiter:char -> t -> stringdelimiteris an underscore by default.
val zero : tval one : tval minus_one : tval (+) : t -> t -> tval (-) : t -> t -> tval (*) : t -> t -> tval (**) : t -> t -> tInteger exponentiation
val neg : t -> tval (~-) : t -> tval (/%) : t -> t -> tval (%) : t -> t -> tval (/) : t -> t -> tval rem : t -> t -> tval (//) : t -> t -> floatFloat division of integers.
val round : ?dir:[ `Down | `Nearest | `Up | `Zero ] -> t -> to_multiple_of:t -> tval round_towards_zero : t -> to_multiple_of:t -> tval round_down : t -> to_multiple_of:t -> tval round_up : t -> to_multiple_of:t -> tval round_nearest : t -> to_multiple_of:t -> tval abs : t -> tReturns the absolute value of the argument. May be negative if the input is
min_value.
val succ : t -> tval pred : t -> tval pow : t -> t -> tpow base exponentreturnsbaseraised to the power ofexponent. It is OK ifbase <= 0.powraises ifexponent < 0, or an integer overflow would occur.
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.
val decr : t Caml.ref -> unitval incr : t Caml.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_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.
val num_bits : intThe number of bits available in this integer type. Note that the integer representations are signed.
val max_value : tThe largest representable integer.
val min_value : tThe smallest representable integer.
val shift_right_logical : t -> int -> tShifts right, filling in with zeroes, which will not preserve the sign of the input.
val ceil_pow2 : t -> tceil_pow2 xreturns the smallest power of 2 that is greater than or equal tox. The implementation may only be called forx > 0. Example:ceil_pow2 17 = 32
val floor_pow2 : t -> tfloor_pow2 xreturns the largest power of 2 that is less than or equal tox. The implementation may only be called forx > 0. Example:floor_pow2 17 = 16
val ceil_log2 : t -> intceil_log2 xreturns the ceiling of log-base-2 ofx, and raises ifx <= 0.
val floor_log2 : t -> intfloor_log2 xreturns the floor of log-base-2 ofx, and raises ifx <= 0.
val is_pow2 : t -> boolis_pow2 xreturns true iffxis a power of 2.is_pow2raises ifx <= 0.
module O : sig ... endA sub-module designed to be opened to make working with ints more convenient.
val max_value_30_bits : tmax_value_30_bits = 2^30 - 1. It is useful for writing tests that work on both 64-bit and 32-bit platforms.
Conversion functions
val of_int : int -> tval to_int : t -> intval of_int32 : int32 -> t optionval to_int32 : t -> int32 optionval of_int64 : int64 -> t optionval of_nativeint : nativeint -> t optionval to_nativeint : t -> nativeint
Truncating conversions
These functions return the least-significant bits of the input. In cases where optional conversions return Some x, truncating conversions return x.
module type Hexable = sig ... end
module type Int_without_module_types = sig ... endmodule type Operators = sig ... endmodule type Operators_unbounded = sig ... endmodule type Round = sig ... endmodule type S = sig ... endmodule type S_common = sig ... endmodule type S_unbounded = sig ... end