Base.Sign_or_nan
An extension to Sign
with a Nan
constructor, for representing the sign of float-like numeric values.
val all : t list
val t_sexp_grammar : t Sexplib0.Sexp_grammar.t
This provides to_string
/of_string
, sexp conversion, Map, Hashtbl, etc.
include Identifiable.S with type t := t
val hash_fold_t : Hash.state -> t -> Hash.state
val hash : t -> Hash.hash_value
include Sexplib0.Sexpable.S with type t := t
val t_of_sexp : Sexplib0.Sexp.t -> t
val sexp_of_t : t -> Sexplib0.Sexp.t
include Comparable.S with type t := t
include Comparisons.S with type t := t
compare t1 t2
returns 0 if t1
is equal to t2
, a negative integer if t1
is less than t2
, and a positive integer if t1
is greater than t2
.
ascending
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 Or_error.t
include Comparator.S with type t := t
val comparator : (t, comparator_witness) Comparator.comparator
include Pretty_printer.S with type t := t
val pp : Formatter.t -> t -> unit
val hashable : t Hashable.t
val to_string_hum : t -> string
Returns the human-readable strings "positive", "negative", "zero", "not-a-number".
val of_int : int -> t
val to_int_exn : t -> int
Map Neg/Zero/Pos
to -1/0/1
respectively. Nan
raises.