Floating-point numbers.
include sig ... endval typerep_of_t : t Typerep_lib.Std.Typerep.tval typename_of_t : t Typerep_lib.Std.Typename.tmodule Robust_compare : sig ... endThe results of robust comparisons on nan should be considered undefined.
include Robust_compare.Sval robust_comparison_tolerance : Core_kernel__.Import.floatintended to be a tolerance on human-entered floats
module O : sig ... endmodule Terse : sig ... endinclude Identifiable.S with type t := t and type comparator_witness := Base.Float.comparator_witnessinclude sig ... endval bin_t : t Bin_prot.Type_class.tval bin_read_t : t Bin_prot.Read.readerval __bin_read_t__ : (Core_kernel__.Import.int ‑> t) Bin_prot.Read.readerval bin_reader_t : t Bin_prot.Type_class.readerval bin_size_t : t Bin_prot.Size.sizerval bin_write_t : t Bin_prot.Write.writerval bin_writer_t : t Bin_prot.Type_class.writerval bin_shape_t : Bin_prot.Shape.tval hash_fold_t : Base.Hash.state ‑> t ‑> Base.Hash.stateval hash : t ‑> Base.Hash.hash_valueval t_of_sexp : Base.Sexp.t ‑> tval sexp_of_t : t ‑> Base.Sexp.tinclude Identifiable.S_common with type t := tinclude sig ... endval compare : t ‑> t ‑> Core_kernel__.Import.intval hash_fold_t : Base.Hash.state ‑> t ‑> Base.Hash.stateval hash : t ‑> Base.Hash.hash_valueval sexp_of_t : t ‑> Base.Sexp.tinclude Core_kernel__.Import.Stringable.S with type t := tval of_string : string ‑> tval to_string : t ‑> stringinclude Core_kernel__.Import.Pretty_printer.S with type t := tval pp : Base.Formatter.t ‑> t ‑> unitinclude Comparable.S_binable with type t := tinclude Core_kernel__.Comparable_intf.S_commoninclude Base.Comparable.Sinclude Base__.Comparable_intf.Polymorphic_compareascending is identical to compare. descending x y = ascending y x. These are
intended to be mnemonic when used like List.sort ~compare:ascending and List.sort
~cmp:descending, since they cause the list to be sorted in ascending or descending
order, respectively.
clamp_exn t ~min ~max returns t', the closest value to t such that
between t' ~low:min ~high:max is true.
Raises if not (min <= max).
val clamp : t ‑> min:t ‑> max:t ‑> t Base.Or_error.tinclude Base.Comparator.S with type t := tval comparator : (t, comparator_witness) Base.Comparator.comparatorinclude Base__.Comparable_intf.Validate with type t := tval validate_lbound : min:t Base.Maybe_bound.t ‑> t Base.Validate.checkval validate_ubound : max:t Base.Maybe_bound.t ‑> t Base.Validate.checkval validate_bound : min:t Base.Maybe_bound.t ‑> max:t Base.Maybe_bound.t ‑> t Base.Validate.checkmodule Replace_polymorphic_compare : Core_kernel__.Comparable_intf.Polymorphic_compare with type t := tinclude Core_kernel__.Comparable_intf.Map_and_set_binable with type t := t with type comparator_witness := comparator_witnessinclude Comparator.S with type t := tval comparator : (t, comparator_witness) Comparator.comparatormodule Map : Map.S_binable with type Key.t = t with type Key.comparator_witness = comparator_witnessmodule Set : Set.S_binable with type Elt.t = t with type Elt.comparator_witness = comparator_witnessinclude Hashable.S_binable with type t := tinclude sig ... endval hash_fold_t : Base.Hash.state ‑> t ‑> Base.Hash.stateval hash : t ‑> Base.Hash.hash_valueval hashable : t Hashtbl.Hashable.tmodule Table : Hashtbl.S_binable with type key = tmodule Hash_set : Hash_set.S_binable with type elt = tmodule Hash_queue : Hash_queue.S with type Key.t = tinclude module type of sig ... end with type t := t with module O := Base.Float.O with module Terse := Base.Float.Terseval of_float : float ‑> tval to_float : t ‑> floatval hash_fold_t : Base.Hash.state ‑> t ‑> Base.Hash.stateval hash : t ‑> Base.Hash.hash_valueval t_of_sexp : Base.Sexp.t ‑> tval sexp_of_t : t ‑> Base.Sexp.tval of_string : string ‑> tval clamp : t ‑> min:t ‑> max:t ‑> t Base.Or_error.tval comparator : (t, comparator_witness) Base.Comparator.comparatorval validate_lbound : min:t Base.Maybe_bound.t ‑> t Base.Validate.checkval validate_ubound : max:t Base.Maybe_bound.t ‑> t Base.Validate.checkval validate_bound : min:t Base.Maybe_bound.t ‑> max:t Base.Maybe_bound.t ‑> t Base.Validate.checkval pp : Base.Formatter.t ‑> t ‑> unitval validate_positive : t Base.Validate.checkval validate_non_negative : t Base.Validate.checkval validate_negative : t Base.Validate.checkval validate_non_positive : t Base.Validate.checkval is_positive : t ‑> boolval is_non_negative : t ‑> boolval is_negative : t ‑> boolval is_non_positive : t ‑> boolval validate_ordinary : t Base.Validate.checkval nan : tval infinity : tval neg_infinity : tval max_value : tval min_value : tval zero : tval one : tval minus_one : tval pi : tval sqrt_pi : tval sqrt_2pi : tval euler : tval epsilon_float : tval max_finite_value : tval min_positive_subnormal_value : tval min_positive_normal_value : tval to_int64_preserve_order : t ‑> int64 optionval to_int64_preserve_order_exn : t ‑> int64val of_int64_preserve_order : int64 ‑> tval of_int : int ‑> tval to_int : t ‑> intval of_int63 : Base.Int63.t ‑> tval of_int64 : int64 ‑> tval to_int64 : t ‑> int64val iround : ?dir:[ `Down | `Nearest | `Up | `Zero ] ‑> t ‑> int optionval iround_exn : ?dir:[ `Down | `Nearest | `Up | `Zero ] ‑> t ‑> intval iround_towards_zero : t ‑> int optionval iround_down : t ‑> int optionval iround_up : t ‑> int optionval iround_nearest : t ‑> int optionval iround_towards_zero_exn : t ‑> intval iround_down_exn : t ‑> intval iround_up_exn : t ‑> intval iround_nearest_exn : t ‑> intval int63_round_down_exn : t ‑> Base.Int63.tval int63_round_up_exn : t ‑> Base.Int63.tval int63_round_nearest_exn : t ‑> Base.Int63.tval iround_lbound : tval iround_ubound : tval is_nan : t ‑> boolval is_inf : t ‑> boolmodule Parts = Base__Float.Partsmodule O = Base__Float.Omodule O_dot = Base__Float.O_dotval to_string : t ‑> stringval to_string_hum : ?delimiter:char ‑> ?decimals:int ‑> ?strip_zero:bool ‑> t ‑> stringval to_padded_compact_string : t ‑> stringmodule Class = Base__Float.Classval is_finite : t ‑> boolval sign : t ‑> Base.Sign.tval sign_exn : t ‑> Base.Sign.tmodule Sign_or_nan = Base__Float.Sign_or_nanval sign_or_nan : t ‑> Sign_or_nan.tval create_ieee : negative:bool ‑> exponent:int ‑> mantissa:Base.Int63.t ‑> t Base.Or_error.tval create_ieee_exn : negative:bool ‑> exponent:int ‑> mantissa:Base.Int63.t ‑> tval ieee_negative : t ‑> boolval ieee_exponent : t ‑> intval ieee_mantissa : t ‑> Base.Int63.tmodule Terse = Base__Float.Tersemodule Private = Base__Float.Privateval to_string_12 : t ‑> Core_kernel__.Import.stringto_string_12 x builds a string representing x using up to 12 significant digits.
It loses precision. You can use "%{Float#12}" in formats, but consider "%.12g",
"%{Float#hum}", or "%{Float}" as alternatives.
val to_string : t ‑> Core_kernel__.Import.stringto_string x builds a string s representing the float x that guarantees the round
trip, i.e., Float.equal x (Float.of_string s).
It usually yields as few significant digits as possible. That is, it won't print
3.14 as 3.1400000000000001243. The only exception is that occasionally it will
output 17 significant digits when the number can be represented with just 16 (but
not 15 or fewer) of them.
val to_string_round_trippable : t ‑> Core_kernel__.Import.string(Formerly sign) Uses robust comparison (so sufficiently small numbers are mapped
to Zero). Also maps NaN to Zero. Using this function is weakly discouraged.
val gen_uniform_excl : t ‑> t ‑> t Quickcheck.Generator.tgen_uniform_excl lo hi creates a Quickcheck generator producing finite t values
between lo and hi, exclusive. The generator approximates a uniform distribution
over the interval (lo, hi). Raises an exception if lo is not finite, hi is not
finite, or the requested range is empty.
The implementation chooses values uniformly distributed between 0 (inclusive) and 1
(exclusive) up to 52 bits of precision, then scales that interval to the requested
range. Due to rounding errors and non-uniform floating point precision, the resulting
distribution may not be precisely uniform and may not include all values between lo
and hi.
val gen_incl : t ‑> t ‑> t Quickcheck.Generator.tgen_incl lo hi creates a Quickcheck generator that produces values between lo and
hi, inclusive, approximately uniformly distributed, with extra weight given to
generating the endpoints lo and hi. Raises an exception if lo is not finite,
hi is not finite, or the requested range is empty.
val gen_finite : t Quickcheck.Generator.tgen_finite produces all finite t values, excluding infinities and all NaN
values.
val gen_positive : t Quickcheck.Generator.tgen_positive produces all (strictly) positive finite t values.
val gen_negative : t Quickcheck.Generator.tgen_negative produces all (strictly) negative finite t values.
val gen_without_nan : t Quickcheck.Generator.tgen_without_nan produces all finite and infinite t values, excluding all NaN
values.