package containers

  1. Overview
  2. Docs
A modular, clean and powerful extension of the OCaml standard library

Install

dune-project
 Dependency

Authors

Maintainers

Sources

containers-3.18.tbz
sha256=52eeff91ce42b52305e6aaa8a58b88ce8f0a5a984199e59ca7e2fd9ebabe61d7
sha512=dc7337e6cbc9850542c7c9228d3bcb4e4add57a55e2a2992f21fb4761b3e10a68ef1d57ca37a7f5b303fc875fe3df5ecb69dbf2930bfcd1561ce03f7ae83e24b

doc/containers/CCInt/index.html

Module CCIntSource

Basic Int functions

Integers

Sourcetype t = int

The type for integer values.

Sourceval zero : int

zero is the integer 0.

Sourceval one : int

one is the integer 1.

Sourceval minus_one : int

minus_one is the integer -1.

Sourceval neg : int -> int

neg x is ~-x.

Sourceval add : int -> int -> int

add x y is the addition x + y.

Sourceval sub : int -> int -> int

sub x y is the subtraction x - y.

Sourceval mul : int -> int -> int

mul x y is the multiplication x * y.

Sourceval div : int -> int -> int

div x y is the division x / y. See Stdlib.(/) for details.

Sourceval succ : int -> int

succ x is add x 1.

Sourceval pred : int -> int

pred x is sub x 1.

Sourceval abs : int -> int

abs x is the absolute value of x. That is x if x is positive and neg x if x is negative. Warning. This may be negative if the argument is min_int.

Sourceval max_int : int

max_int is the greatest representable integer, 2Sys.int_size - 1-1.

Sourceval min_int : int

min_int is the smallest representable integer, -2Sys.int_size - 1.

Sourceval logand : int -> int -> int

logand x y is the bitwise logical and of x and y.

Sourceval logor : int -> int -> int

logor x y is the bitwise logical or of x and y.

Sourceval logxor : int -> int -> int

logxor x y is the bitwise logical exclusive or of x and y.

Sourceval lognot : int -> int

lognot x is the bitwise logical negation of x.

Sourceval shift_left : int -> int -> int

shift_left x n shifts x to the left by n bits. The result is unspecified if n < 0 or n > Sys.int_size.

Sourceval shift_right : int -> int -> int

shift_right x n shifts x to the right by n bits. This is an arithmetic shift: the sign bit of x is replicated and inserted in the vacated bits. The result is unspecified if n < 0 or n > Sys.int_size.

Sourceval shift_right_logical : int -> int -> int

shift_right x n shifts x to the right by n bits. This is a logical shift: zeroes are inserted in the vacated bits regardless of the sign of x. The result is unspecified if n < 0 or n > Sys.int_size.

Predicates and comparisons

Sourceval equal : int -> int -> bool

equal x y is true if and only if x = y.

Sourceval compare : int -> int -> int

compare x y is Stdlib.compare x y but more efficient.

Sourceval min : int -> int -> int

Return the smaller of the two arguments.

  • since 4.13
Sourceval max : int -> int -> int

Return the greater of the two arguments.

  • since 4.13

Converting

Sourceval to_float : int -> float

to_float x is x as a floating point number.

Sourceval of_float : float -> int

of_float x truncates x to an integer. The result is unspecified if the argument is nan or falls outside the range of representable integers.

Sourceval to_string : int -> string

to_string x is the written representation of x in decimal.

Sourceval seeded_hash : int -> int -> int

A seeded hash function for ints, with the same output value as Hashtbl.seeded_hash. This function allows this module to be passed as argument to the functor Hashtbl.MakeSeeded.

  • since 5.1
Sourceval hash : t -> int

hash x computes the hash of x.

Sourceval sign : t -> int

sign x return 0 if x = 0, -1 if x < 0 and 1 if x > 0. Same as compare x 0.

Sourceval pow : t -> t -> t

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

  • since 0.11
Sourceval floor_div : t -> t -> t

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

  • since 1.2
Sourceval rem : t -> t -> t

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

  • since 1.2
Sourcetype 'a printer = Format.formatter -> 'a -> unit
Sourcetype 'a random_gen = Random.State.t -> 'a
Sourcetype 'a iter = ('a -> unit) -> unit
Sourceval random : int -> t random_gen
Sourceval random_small : t random_gen
Sourceval random_range : int -> int -> t random_gen
Sourceval pp : t printer

pp ppf x prints the integer x on ppf.

Sourceval of_string : string -> t option

of_string s converts the given string s into an integer. Safe version of of_string_exn.

  • since 0.13
Sourceval of_string_exn : string -> t

of_string_exn s converts the given string s to an integer. Alias to int_of_string.

  • since 3.0
Sourceval pp_binary : t printer

pp_binary ppf x prints x on ppf. Print as "0b00101010".

  • since 0.20
Sourceval to_string_binary : t -> string

to_string_binary x returns the string representation of the integer x, in binary.

  • since 0.20
Sourceval range_by : step:t -> t -> t -> t iter

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.

  • since 1.2
Sourceval range : t -> t -> t iter

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

  • since 1.2
Sourceval range' : t -> t -> t iter

range' i j is like range but the second bound j is excluded. For instance range' 0 5 = Iter.of_list [0;1;2;3;4].

  • since 1.2
Sourceval popcount : t -> int

Number of bits set to 1

  • since 3.0

Infix Operators

  • since 0.17
Sourcemodule Infix : sig ... end
include module type of Infix
Sourceval (=) : t -> t -> bool
  • since 0.17
Sourceval (<>) : t -> t -> bool
  • since 0.17
Sourceval (<) : t -> t -> bool
  • since 0.17
Sourceval (>) : t -> t -> bool
  • since 0.17
Sourceval (<=) : t -> t -> bool
  • since 0.17
Sourceval (>=) : t -> t -> bool
  • since 0.17
Sourceval (--) : t -> t -> t iter

Alias to range.

  • since 1.2
Sourceval (--^) : t -> t -> t iter

Alias to range'.

  • since 1.2
Sourceval (+) : t -> t -> t
  • since 2.1
Sourceval (-) : t -> t -> t
  • since 2.1
Sourceval (~-) : t -> t
  • since 2.1
Sourceval (*) : t -> t -> t
  • since 2.1
Sourceval (/) : t -> t -> t
  • since 2.1
Sourceval (**) : t -> t -> t
  • since 2.4
Sourceval (mod) : t -> t -> t
  • since 2.1
Sourceval (land) : t -> t -> t
  • since 2.1
Sourceval (lor) : t -> t -> t
  • since 2.1
Sourceval (lxor) : t -> t -> t
  • since 2.1
Sourceval lnot : t -> t
  • since 2.1
Sourceval (lsl) : t -> int -> t
  • since 2.1
Sourceval (lsr) : t -> int -> t
  • since 2.1
Sourceval (asr) : t -> int -> t
  • since 2.1