I am happy to announce the first release of crlibm, a binding to the proved correctly-rounded mathematical library CRlibm. For most of the usual functions, this library provides 4 versions, one rounded to the nearest, one rounded up, one rounded down and one rounded towards zero. Here is an example:
#require "crlibm";; ~/.opam/4.06.1/lib/crlibm: added to search path ~/.opam/4.06.1/lib/crlibm/crlibm.cma: loaded # pi;; - : float = 3.14159265358979312 # Crlibm.cos pi;; - : float = -1. # Crlibm.Low.cos pi;; - : float = -1. # Crlibm.High.cos pi;; - : float = -0.999999999999999889 # Crlibm.Zero.cos pi;; - : float = -0.999999999999999889
The project is hosted on Gihub.