Fix the implementation of exponentiation (xⁿ, n ∈ ℤ).
size…functions in favor of
The library is now organized as 4 packages:
interval_basedefines the module
Intervalthat groups the
functions that work on any IEEE-754 processor and offers
basic module signatures;
interval_intel: defines a module
instructions on Intel Processors;
interval_crlibm: defines a module
library CRlibm to evaluate standard functions (sometimes a bit
slower but proved enclosures in contrast to the Intel package for
which enclosures are not always 100% correct).
interval: a meta-package that install all above three.
Interval.Tis a module signature to form the base of what is
expected of any interval package.
New binary relations
I.half_pi∋ π/2 and
I.entirefor [-∞, +∞].
atanpi, not present
in the Intel version.
I.Ualso restores inequality relations.
Speed and documentation improvements.
Improved interface for the
Intervallibrary by using sub-modules
and standard mathematical names. In particular, all operations —
including infix operators — are in a sub-module
conveniently be used to introduce local scopes after issuing
Improved pretty-printing functions allowing to pass the format of
the interval bounds.
The library functions now signal errors by exceptions
Domain_errorthat are local to
Fpumodule has been redesigned: the rounding up or down of
functions is controlled by the sub-module (
High) to which
they belong. This allows for natural expressions such as
Low.(x**2. +. 2. *. x +. 1.).
Jbuilder/dune is used to compile and install the library.
TravisCI and AppVeyor continuous integration ensure the library
works on a variety of OCaml versions and platforms.