Module Prelude.Float

Type-specialized operators and comparisons; satisifes ARITH.

include module type of struct include Stdlib.Float end
val zero : float
val one : float
val minus_one : float
val neg : float -> float
val add : float -> float -> float
val sub : float -> float -> float
val mul : float -> float -> float
val div : float -> float -> float
val fma : float -> float -> float -> float
val rem : float -> float -> float
val succ : float -> float
val pred : float -> float
val abs : float -> float
val infinity : float
val neg_infinity : float
val nan : float
val pi : float
val max_float : float
val min_float : float
val epsilon : float
val is_finite : float -> bool
val is_infinite : float -> bool
val is_nan : float -> bool
val is_integer : float -> bool
val of_int : int -> float
val to_int : float -> int
val of_string : string -> float
val of_string_opt : string -> float option
val to_string : float -> string
type fpclass = Stdlib.fpclass =
  1. | FP_normal
  2. | FP_subnormal
  3. | FP_zero
  4. | FP_infinite
  5. | FP_nan
val classify_float : float -> fpclass
val pow : float -> float -> float
val sqrt : float -> float
val cbrt : float -> float
val exp : float -> float
val exp2 : float -> float
val log : float -> float
val log10 : float -> float
val log2 : float -> float
val expm1 : float -> float
val log1p : 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 hypot : float -> float -> float
val cosh : float -> float
val sinh : float -> float
val tanh : float -> float
val acosh : float -> float
val asinh : float -> float
val atanh : float -> float
val erf : float -> float
val erfc : float -> float
val trunc : float -> float
val round : float -> float
val ceil : float -> float
val floor : float -> float
val next_after : float -> float -> float
val copy_sign : float -> float -> float
val sign_bit : float -> bool
val frexp : float -> float * int
val ldexp : float -> int -> float
val modf : float -> float * float
val equal : float -> float -> bool
val min_max : float -> float -> float * float
val min_num : float -> float -> float
val max_num : float -> float -> float
val min_max_num : float -> float -> float * float
val hash : float -> int
module Array : sig ... end
module ArrayLabels : sig ... end
type t = float

Type t = float.

val compare : float -> float -> int

Specialized and inlined version of compare.

Specialized and inlined versions of arithmetic operators.

val (+) : float -> float -> float
val (-) : float -> float -> float
val (*) : float -> float -> float
val (/) : float -> float -> float
val max : float -> float -> float

Specialized and inlined version of Stdlib.Float.max.

val min : float -> float -> float

Specialized and inlined version of Stdlib.Float.min.

val bankers : float -> float

(bankers x) converts x to the nearest float whose fractional part is zero (i.e. the nearest integer, represented as a float so as to preserve NaN) using Banker's Rounding aka round-half-to-even as tie-breaking rule. See Wikipedia.

val roundto : float -> float -> float

(roundto m x) rounds x to the nearest multiple of m.

For example, round 2.1784 dollars to whole cents:

  • (roundto 0.01 2.1784) = 2.18
val random : unit -> float

(random ()) is a random float.