sig
type t = float
val zero : float
val one : float
external neg : float -> float = "%negfloat"
val succ : float -> float
val pred : float -> float
external abs : float -> float = "%absfloat"
val add : float -> float -> float
val sub : float -> float -> float
val mul : float -> float -> float
val div : float -> float -> float
external modulo : float -> float -> float = "caml_fmod_float" "fmod"
[@@unboxed] [@@noalloc]
external pow : float -> float -> float = "caml_power_float" "pow"
[@@unboxed] [@@noalloc]
val compare : float -> float -> int
val equal : float -> float -> bool
val ord : float -> float -> BatOrd.order
external of_int : int -> float = "%floatofint"
external to_int : float -> int = "%intoffloat"
external of_float : float -> float = "%identity"
external to_float : float -> float = "%identity"
val of_string : string -> float
val to_string : float -> string
external ( + ) : BatFloat.t -> BatFloat.t -> BatFloat.t = "%addfloat"
external ( - ) : BatFloat.t -> BatFloat.t -> BatFloat.t = "%subfloat"
external ( * ) : BatFloat.t -> BatFloat.t -> BatFloat.t = "%mulfloat"
external ( / ) : BatFloat.t -> BatFloat.t -> BatFloat.t = "%divfloat"
external ( ** ) : BatFloat.t -> BatFloat.t -> BatFloat.t
= "caml_power_float" "pow" [@@unboxed] [@@noalloc]
val min : float -> float -> float
val max : float -> float -> float
val ( -- ) : BatFloat.t -> BatFloat.t -> BatFloat.t BatEnum.t
val ( --- ) : BatFloat.t -> BatFloat.t -> BatFloat.t BatEnum.t
val operations : BatFloat.t BatNumber.numeric
external sqrt : float -> float = "caml_sqrt_float" "sqrt" [@@unboxed]
[@@noalloc]
external exp : float -> float = "caml_exp_float" "exp" [@@unboxed]
[@@noalloc]
external log : float -> float = "caml_log_float" "log" [@@unboxed]
[@@noalloc]
external log10 : float -> float = "caml_log10_float" "log10" [@@unboxed]
[@@noalloc]
external cos : float -> float = "caml_cos_float" "cos" [@@unboxed]
[@@noalloc]
external sin : float -> float = "caml_sin_float" "sin" [@@unboxed]
[@@noalloc]
external tan : float -> float = "caml_tan_float" "tan" [@@unboxed]
[@@noalloc]
external acos : float -> float = "caml_acos_float" "acos" [@@unboxed]
[@@noalloc]
external asin : float -> float = "caml_asin_float" "asin" [@@unboxed]
[@@noalloc]
external atan : float -> float = "caml_atan_float" "atan" [@@unboxed]
[@@noalloc]
external atan2 : float -> float -> float = "caml_atan2_float" "atan2"
[@@unboxed] [@@noalloc]
external cosh : float -> float = "caml_cosh_float" "cosh" [@@unboxed]
[@@noalloc]
external sinh : float -> float = "caml_sinh_float" "sinh" [@@unboxed]
[@@noalloc]
external tanh : float -> float = "caml_tanh_float" "tanh" [@@unboxed]
[@@noalloc]
external ceil : float -> float = "caml_ceil_float" "ceil" [@@unboxed]
[@@noalloc]
external floor : float -> float = "caml_floor_float" "floor" [@@unboxed]
[@@noalloc]
val round : float -> float
val round_to_int : float -> int
val round_to_string : ?digits:int -> float -> string
val root : float -> int -> float
val signbit : float -> bool
val copysign : float -> float -> float
val is_nan : float -> bool
val is_special : float -> bool
val is_finite : float -> bool
val infinity : float
val neg_infinity : float
val nan : float
val epsilon : float
val e : float
val log2e : float
val log10e : float
val ln2 : float
val ln10 : float
val pi : float
val pi2 : float
val pi4 : float
val invpi : float
val invpi2 : float
val sqrtpi2 : float
val sqrt2 : float
val invsqrt2 : float
external frexp : float -> float * int = "caml_frexp_float"
external ldexp : float -> int -> float = "caml_ldexp_float"
external modf : float -> float * float = "caml_modf_float"
type fpkind =
Stdlib.Pervasives.fpclass =
FP_normal
| FP_subnormal
| FP_zero
| FP_infinite
| FP_nan
external classify : float -> BatFloat.fpkind = "caml_classify_float"
val approx_equal : ?epsilon:float -> float -> float -> bool
module Infix :
sig
type bat__infix_t = t
val ( + ) : bat__infix_t -> bat__infix_t -> bat__infix_t
val ( - ) : bat__infix_t -> bat__infix_t -> bat__infix_t
val ( * ) : bat__infix_t -> bat__infix_t -> bat__infix_t
val ( / ) : bat__infix_t -> bat__infix_t -> bat__infix_t
val ( ** ) : bat__infix_t -> bat__infix_t -> bat__infix_t
val ( -- ) : bat__infix_t -> bat__infix_t -> bat__infix_t BatEnum.t
val ( --- ) : bat__infix_t -> bat__infix_t -> bat__infix_t BatEnum.t
val ( =~ ) : ?epsilon:float -> float -> float -> bool
end
module Compare :
sig
type bat__compare_t = t
val ( <> ) : bat__compare_t -> bat__compare_t -> bool
val ( >= ) : bat__compare_t -> bat__compare_t -> bool
val ( <= ) : bat__compare_t -> bat__compare_t -> bool
val ( > ) : bat__compare_t -> bat__compare_t -> bool
val ( < ) : bat__compare_t -> bat__compare_t -> bool
val ( = ) : bat__compare_t -> bat__compare_t -> bool
end
type bat__refops_t = t
val ( += ) : bat__refops_t ref -> bat__refops_t -> unit
val ( -= ) : bat__refops_t ref -> bat__refops_t -> unit
val ( *= ) : bat__refops_t ref -> bat__refops_t -> unit
val ( /= ) : bat__refops_t ref -> bat__refops_t -> unit
type bounded = t
val min_num : bounded
val max_num : bounded
val print : (BatFloat.t, 'a) BatIO.printer
module Safe_float :
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 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
type bounded = t
val min_num : bounded
val max_num : bounded
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 =
Stdlib.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
end