`sig type t = float val zero : float val one : float val neg : float -> float val succ : float -> float val pred : float -> float val abs : float -> float val add : float -> float -> float val sub : float -> float -> float val mul : float -> float -> float val div : float -> float -> float val modulo : float -> float -> float val pow : float -> float -> float val min_num : float val max_num : float val compare : float -> float -> int val of_int : int -> float val to_int : float -> int external of_float : float -> float = "%identity" external to_float : float -> float = "%identity" val of_string : string -> float val to_string : float -> string val ( + ) : BatFloat.Safe_float.t -> BatFloat.Safe_float.t -> BatFloat.Safe_float.t val ( - ) : BatFloat.Safe_float.t -> BatFloat.Safe_float.t -> BatFloat.Safe_float.t val ( * ) : BatFloat.Safe_float.t -> BatFloat.Safe_float.t -> BatFloat.Safe_float.t val ( / ) : BatFloat.Safe_float.t -> BatFloat.Safe_float.t -> BatFloat.Safe_float.t val ( ** ) : BatFloat.Safe_float.t -> BatFloat.Safe_float.t -> BatFloat.Safe_float.t val operations : BatFloat.Safe_float.t BatNumber.numeric val exp : float -> float val log : float -> float val log10 : float -> float val cos : float -> float val sin : float -> float val tan : float -> float val acos : float -> float val asin : float -> float val atan : float -> float val atan2 : float -> float -> float val cosh : float -> float val sinh : float -> float val tanh : float -> float val ceil : float -> float val floor : float -> float val infinity : float val neg_infinity : float val nan : float val is_nan : float -> bool val epsilon : float val pi : float val frexp : float -> float * int val ldexp : float -> int -> float val modf : float -> float * float type fpkind = Pervasives.fpclass = FP_normal | FP_subnormal | FP_zero | FP_infinite | FP_nan external classify : float -> BatFloat.Safe_float.fpkind = "caml_classify_float" val print : 'a BatInnerIO.output -> BatFloat.Safe_float.t -> unit end`