package interval_base

Legend:
Library
Module
Module type
Parameter
Class
Class type

Functions rounding down their results.

`include DIRECTED with type t = float`
`type t = float`

Type of numbers.

`val zero : t`

`val one : t`

The neutral element for multiplication.

`val pi : t`

Upper/lower bound on π.

`val two_pi : t`

Upper/lower bound on 2π.

`val half_pi : t`

Upper/lower bound on π/2.

`val euler : t`

Upper/lower bound on Euler's constant.

`val float : int -> t`

When `t = float`, the float function is exact on 32 bits machine but not on 64 bits machine with ints larger than 53 bits.

`val dist : t -> t -> t`

`dist x y` return the distance between `x` and `y` (i.e., |x-y|) rounded up or down according to the module.

• since 1.6
`val (+.) : t -> t -> t`
`val (-.) : t -> t -> t`
`val (*.) : t -> t -> t`
`val (/.) : t -> t -> t`
`val sqr : t -> t`

`sqr x` returns an upper/lower bound on `x`².

`val cbr : t -> t`

`cbr x` returns an upper/lower bound on `x`³.

`val pow_i : t -> int -> t`

`pow_i x n` return a upper/lower bound on `x`ⁿ.

`val sqrt : t -> t`

`sqrt x` return the square root of `x` rounded up/down.

`val hypot : t -> t -> t`

`hypot x y` returns `sqrt(x *. x + y *. y)` rounded up/down. Returns NaN if any of the arguments is NaN.

`module U = I.U`

Locally open to restore standard integer and floating point operators.