# Module `Rel_query.Int`

Integers.

`val v : int -> int value`

`v i` is the literal integer `i`.

`val zero : int value`

`zero` is `v 0`.

`val one : int value`

`one` is `v 1`.

## Predicates and comparisons

`val equal : int value -> int value -> bool value`

`equal x y` is integer equality.

`val (=) : int value -> int value -> bool value`

`x = y` is integer equality.

`val (<>) : int value -> int value -> bool value`

`x <> y` is integer inequality.

`val (<) : int value -> int value -> bool value`

`x < y` is true iff `x` is stricly lower than `y`.

`val (<=) : int value -> int value -> bool value`

`x <= y` is true iff `x` is lower or equal than `y`.

`val (>) : int value -> int value -> bool value`

`x < y` is true iff `x` is stricly lower than `y`.

`val (>=) : int value -> int value -> bool value`

`x >= y` is true iff `x` is greater or equal than `y`.

## Arithmetic operators

`val (~-) : int value -> int value`

`~-x` is the negation of `x`.

`val (+) : int value -> int value -> int value`

`x + y` is integer addition.

`val (-) : int value -> int value -> int value`

`x + y` is integer subtraction.

`val (*) : int value -> int value -> int value`

`x * y` is integer addition.

`val (/) : int value -> int value -> int value`

`x / y` is integer division.

## Conversions

`val of_bool : bool value -> int value`

`of_bool b` is `b` as an integer value.

`val of_int64 : int64 value -> int value`

`of_int64 i` is `i` as an integer value. FIXME. Clarify conversion.

`val of_float : float value -> int value`

`of_float f` is `f` as an integer value. FIXME. Clarify conversion.

`val of_string : string value -> int value`

`of_string s` converts `s` to string if `s` can't be parsed this results in `0`.