sig
type float
type widen_hints
type t
val packed_descr : Structural_descr.pack
val compare : Float_interval_sig.S.t -> Float_interval_sig.S.t -> int
val equal : Float_interval_sig.S.t -> Float_interval_sig.S.t -> bool
val pretty : Stdlib.Format.formatter -> Float_interval_sig.S.t -> unit
val hash : Float_interval_sig.S.t -> int
val min_and_max :
Float_interval_sig.S.t ->
(Float_interval_sig.S.float * Float_interval_sig.S.float) option * bool
val nan : Float_interval_sig.S.t
val pos_infinity : Float_interval_sig.prec -> Float_interval_sig.S.t
val neg_infinity : Float_interval_sig.prec -> Float_interval_sig.S.t
val inject :
?nan:bool ->
Float_interval_sig.S.float ->
Float_interval_sig.S.float -> Float_interval_sig.S.t
val singleton : Float_interval_sig.S.float -> Float_interval_sig.S.t
val top : Float_interval_sig.prec -> Float_interval_sig.S.t
val top_finite : Float_interval_sig.prec -> Float_interval_sig.S.t
val is_included : Float_interval_sig.S.t -> Float_interval_sig.S.t -> bool
val join :
Float_interval_sig.S.t ->
Float_interval_sig.S.t -> Float_interval_sig.S.t
val widen :
Float_interval_sig.S.widen_hints ->
Float_interval_sig.prec ->
Float_interval_sig.S.t ->
Float_interval_sig.S.t -> Float_interval_sig.S.t
val narrow :
Float_interval_sig.S.t ->
Float_interval_sig.S.t -> Float_interval_sig.S.t Bottom.Type.or_bottom
val contains_a_zero : Float_interval_sig.S.t -> bool
val contains_pos_zero : Float_interval_sig.S.t -> bool
val contains_neg_zero : Float_interval_sig.S.t -> bool
val contains_non_zero : Float_interval_sig.S.t -> bool
val contains_pos_infinity : Float_interval_sig.S.t -> bool
val contains_neg_infinity : Float_interval_sig.S.t -> bool
val contains_nan : Float_interval_sig.S.t -> bool
val is_singleton : Float_interval_sig.S.t -> bool
val is_negative : Float_interval_sig.S.t -> Abstract_interp.Comp.result
val is_finite : Float_interval_sig.S.t -> Abstract_interp.Comp.result
val is_infinite : Float_interval_sig.S.t -> Abstract_interp.Comp.result
val is_not_nan : Float_interval_sig.S.t -> Abstract_interp.Comp.result
val backward_is_finite :
positive:bool ->
Float_interval_sig.prec ->
Float_interval_sig.S.t -> Float_interval_sig.S.t Bottom.Type.or_bottom
val backward_is_infinite :
positive:bool ->
Float_interval_sig.prec ->
Float_interval_sig.S.t -> Float_interval_sig.S.t Bottom.Type.or_bottom
val backward_is_nan :
positive:bool ->
Float_interval_sig.S.t -> Float_interval_sig.S.t Bottom.Type.or_bottom
val has_greater_min_bound :
Float_interval_sig.S.t -> Float_interval_sig.S.t -> int
val has_smaller_max_bound :
Float_interval_sig.S.t -> Float_interval_sig.S.t -> int
val forward_comp :
Abstract_interp.Comp.t ->
Float_interval_sig.S.t ->
Float_interval_sig.S.t -> Abstract_interp.Comp.result
val backward_comp_left_true :
Abstract_interp.Comp.t ->
Float_interval_sig.prec ->
Float_interval_sig.S.t ->
Float_interval_sig.S.t -> Float_interval_sig.S.t Bottom.or_bottom
val backward_comp_left_false :
Abstract_interp.Comp.t ->
Float_interval_sig.prec ->
Float_interval_sig.S.t ->
Float_interval_sig.S.t -> Float_interval_sig.S.t Bottom.Type.or_bottom
val neg : Float_interval_sig.S.t -> Float_interval_sig.S.t
val abs :
Float_interval_sig.prec ->
Float_interval_sig.S.t -> Float_interval_sig.S.t
val add :
Float_interval_sig.prec ->
Float_interval_sig.S.t ->
Float_interval_sig.S.t -> Float_interval_sig.S.t
val sub :
Float_interval_sig.prec ->
Float_interval_sig.S.t ->
Float_interval_sig.S.t -> Float_interval_sig.S.t
val mul :
Float_interval_sig.prec ->
Float_interval_sig.S.t ->
Float_interval_sig.S.t -> Float_interval_sig.S.t
val div :
Float_interval_sig.prec ->
Float_interval_sig.S.t ->
Float_interval_sig.S.t -> Float_interval_sig.S.t
val floor : Float_interval_sig.S.t -> Float_interval_sig.S.t
val ceil : Float_interval_sig.S.t -> Float_interval_sig.S.t
val trunc : Float_interval_sig.S.t -> Float_interval_sig.S.t
val fround : Float_interval_sig.S.t -> Float_interval_sig.S.t
val exp :
Float_interval_sig.prec ->
Float_interval_sig.S.t -> Float_interval_sig.S.t
val log :
Float_interval_sig.prec ->
Float_interval_sig.S.t -> Float_interval_sig.S.t
val log10 :
Float_interval_sig.prec ->
Float_interval_sig.S.t -> Float_interval_sig.S.t
val sqrt :
Float_interval_sig.prec ->
Float_interval_sig.S.t -> Float_interval_sig.S.t
val pow :
Float_interval_sig.prec ->
Float_interval_sig.S.t ->
Float_interval_sig.S.t -> Float_interval_sig.S.t
val fmod :
Float_interval_sig.prec ->
Float_interval_sig.S.t ->
Float_interval_sig.S.t -> Float_interval_sig.S.t
val cos :
Float_interval_sig.prec ->
Float_interval_sig.S.t -> Float_interval_sig.S.t
val sin :
Float_interval_sig.prec ->
Float_interval_sig.S.t -> Float_interval_sig.S.t
val acos :
Float_interval_sig.prec ->
Float_interval_sig.S.t -> Float_interval_sig.S.t
val asin :
Float_interval_sig.prec ->
Float_interval_sig.S.t -> Float_interval_sig.S.t
val atan :
Float_interval_sig.prec ->
Float_interval_sig.S.t -> Float_interval_sig.S.t
val atan2 :
Float_interval_sig.prec ->
Float_interval_sig.S.t ->
Float_interval_sig.S.t -> Float_interval_sig.S.t
val backward_add :
Float_interval_sig.prec ->
left:Float_interval_sig.S.t ->
right:Float_interval_sig.S.t ->
result:Float_interval_sig.S.t ->
(Float_interval_sig.S.t * Float_interval_sig.S.t) Bottom.Type.or_bottom
val backward_sub :
Float_interval_sig.prec ->
left:Float_interval_sig.S.t ->
right:Float_interval_sig.S.t ->
result:Float_interval_sig.S.t ->
(Float_interval_sig.S.t * Float_interval_sig.S.t) Bottom.Type.or_bottom
val forward_cast :
dst:Float_interval_sig.prec ->
Float_interval_sig.S.t -> Float_interval_sig.S.t
val backward_cast :
src:Float_interval_sig.prec ->
Float_interval_sig.S.t -> Float_interval_sig.S.t Bottom.Type.or_bottom
val cast_int_to_float :
Float_interval_sig.prec ->
Integer.t option -> Integer.t option -> Float_interval_sig.S.t
val bits_of_float64_list :
Float_interval_sig.S.t -> (Integer.t * Integer.t) list
val bits_of_float32_list :
Float_interval_sig.S.t -> (Integer.t * Integer.t) list
val subdivide :
Float_interval_sig.prec ->
Float_interval_sig.S.t -> Float_interval_sig.S.t * Float_interval_sig.S.t
end