blob: 0c67144a596c3ba16ac74b43e319c67c7393e610 [file] [log] [blame] [edit]
(*
* OCaml lacks 32-bit floats, however we can emulate all the basic operations
* using 64-bit floats, as described in the paper
* "When is double rounding innocuous?" by Samuel A. Figueroa.
*)
include Fxx.Make
(struct
include Int32
let bitwidth = 32
let mantissa = 23
let pos_nan = 0x7fc0_0000l
let neg_nan = 0xffc0_0000l
let bare_nan = 0x7f80_0000l
let to_hex_string = Printf.sprintf "%lx"
end)