Module CCFloat
Basic operations on floating-point numbers
- since
- 0.6.1
type t
= float
type fpclass
= CCShims_.Stdlib.fpclass
=
|
FP_normal
|
FP_subnormal
|
FP_zero
|
FP_infinite
|
FP_nan
val nan : t
nan
is Not a Number (NaN). Equal toStdlib
.nan.
val max_value : t
max_value
is Positive infinity. Equal toStdlib
.infinity.
val min_value : t
min_value
is Negative infinity. Equal toStdlib
.neg_infinity.
val max_finite_value : t
max_finite_value
is the largest finite float value. Equal toStdlib
.max_float.
val epsilon : t
epsilon
is the smallest positive float x such that1.0 +. x <> 1.0
. Equal toStdlib
.epsilon_float.
val pi : t
pi
is the constant pi. The ratio of a circumference to its diameter.- since
- 3.0
val is_nan : t -> bool
is_nan f
returnstrue
if f is NaN,false
otherwise.
val abs : t -> t
abs x
is the absolute value of the floating-point numberx
. Equal toStdlib
.abs_float.
type 'a printer
= Stdlib.Format.formatter -> 'a -> unit
type 'a random_gen
= Stdlib.Random.State.t -> 'a
val pp : t printer
val hash : t -> int
val random : t -> t random_gen
val random_small : t random_gen
val random_range : t -> t -> t random_gen
val fsign : t -> t
fsign x
is one of-1., -0., +0., +1.
, ornan
ifx
is NaN.- since
- 0.7
val round : t -> t
round x
returns the closest integer value, either above or below. Forn + 0.5
,round
returnsn
.- since
- 0.20
val sign_exn : t -> int
sign_exn x
will return the sign ofx
as1, 0
or-1
, or raise an exceptionTrapNaN
ifx
is NaN. Note that infinities have defined signs in OCaml.- since
- 0.7
val to_int : t -> int
Alias to
int_of_float
. Unspecified if outside of the range of integers.
val of_int : int -> t
Alias to
float_of_int
.
val to_string : t -> string
val of_string_exn : string -> t
Alias to
float_of_string
.- raises Failure
in case of failure.
- since
- 1.2
val of_string_opt : string -> t option
- since
- 3.0
val equal_precision : epsilon:t -> t -> t -> bool
Equality with allowed error up to a non negative epsilon value.
val classify : t -> fpclass
classify x
returns the class of the given floating-point numberx
: normal, subnormal, zero, infinite or nan (not a number).
Infix Operators
- since
- 0.17
module Infix : sig ... end