Module Packed_float_option.Ieee_nan

Operations where we use NaN semantics even though they are inconsistent with the remaining operators, e.g., >= violates the equivalance a >= b <-> a > b || a = b because it returns false for two none inputs.

Operations where we use NaN semantics even though they are inconsistent with the remaining operators, e.g., >= violates the equivalance a >= b <-> a > b || a = b because it returns false for two none inputs.

module Infix : sig ... end

Returns false if either operand is none

include module type of Infix
val (<) : float -> float -> bool
val (<=) : float -> float -> bool
val (>) : float -> float -> bool
val (>=) : float -> float -> bool
val max : float -> float -> float

The result of max will be none if either operand is. This is inconsistent with compare, which considers none values "smaller" than everything else

val clamp_exn : float -> min:float -> max:float -> float

Returns none if any argument is none.