QCaml/Utils/Charge.ml

26 lines
470 B
OCaml

type t = float
let of_float x = x
let of_int i = float_of_int i
let of_string s = float_of_string s
let to_float x = x
let to_int x = int_of_float x
let to_string x =
if x >= 0. then
Printf.sprintf "+%f" x
else
Printf.sprintf "%f" x
let ( + ) a b =
(to_float a) +. (to_float b) |> of_float
let ( - ) a b =
(to_float a) -. (to_float b) |> of_float
let ( * ) a b =
(to_float a) *. b |> of_float
let ( / ) a b =
(to_float a) /. b |> of_float