Module CCInt

Basic Int functions

type t = int
val compare : t ‑> t ‑> int

The comparison function for integers with the same specification as Pervasives.compare.

val equal : t ‑> t ‑> bool

Equality function for integers.

val hash : t ‑> int
val sign : t ‑> int

sign i is one of -1, 0, 1.

val neg : t ‑> t

Unary negation. neg i = - i.

val pow : t ‑> t ‑> t

pow base exponent returns base raised to the power of exponent. pow a b = a^b for positive integers a and b. Raises Invalid_argument if a = b = 0 or b < 0.

val floor_div : t ‑> t ‑> t

floor_div a n is integer division rounding towards negative infinity. It satisfies a = m * floor_div a n + rem a n.

val rem : t ‑> t ‑> t

rem a n is the remainder of dividing a by n, with the same sign as n.

type 'a printer = Format.formatter ‑> 'a ‑> unit
type 'a random_gen = Random.State.t ‑> 'a
type 'a sequence = ('a ‑> unit) ‑> unit
val random : int ‑> t random_gen
val random_small : t random_gen
val random_range : int ‑> int ‑> t random_gen
val pp : t printer
val to_string : t ‑> string

Return the string representation of its argument, in signed decimal.

val of_string : string ‑> t option
val pp_binary : t printer

Print as "0b00101010".

val to_string_binary : t ‑> string
val min : t ‑> t ‑> t

The minimum of two integers.

val max : t ‑> t ‑> t

The maximum of two integers.

val range_by : step:t ‑> t ‑> t ‑> t sequence

range_by ~step i j iterates on integers from i to j included, where the difference between successive elements is step. Use a negative step for a decreasing list.

val range : t ‑> t ‑> t sequence

range i j iterates on integers from i to j included . It works both for decreasing and increasing ranges.

val range' : t ‑> t ‑> t sequence

Like range but the second bound is excluded. For instance range' 0 5 = Sequence.of_list [0;1;2;3;4].

Infix Operators

module Infix : sig ... end
include module type of Infix
val (=) : t ‑> t ‑> bool
  • Since: 0.17
val (<>) : t ‑> t ‑> bool
  • Since: 0.17
val (<) : t ‑> t ‑> bool
  • Since: 0.17
val (>) : t ‑> t ‑> bool
  • Since: 0.17
val (<=) : t ‑> t ‑> bool
  • Since: 0.17
val (>=) : t ‑> t ‑> bool
  • Since: 0.17
val (--) : t ‑> t ‑> t sequence

Alias to range.

  • Since: 1.2
val (--^) : t ‑> t ‑> t sequence

Alias to range'.

  • Since: 1.2
val (+) : t ‑> t ‑> t
  • Since: 2.1
val (-) : t ‑> t ‑> t
  • Since: 2.1
val (~-) : t ‑> t
  • Since: 2.1
val (*) : t ‑> t ‑> t
  • Since: 2.1
val (/) : t ‑> t ‑> t
  • Since: 2.1
val (mod) : t ‑> t ‑> t
  • Since: 2.1
val (land) : t ‑> t ‑> t
  • Since: 2.1
val (lor) : t ‑> t ‑> t
  • Since: 2.1
val (lxor) : t ‑> t ‑> t
  • Since: 2.1
val (lnot) : t ‑> t
  • Since: 2.1
val (lsl) : t ‑> int ‑> t
  • Since: 2.1
val (lsr) : t ‑> int ‑> t
  • Since: 2.1
val (asr) : t ‑> int ‑> t
  • Since: 2.1