package goblint

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module IntDomain0.IntervalArith

Parameters

Signature

type t = Ints_t.t * Ints_t.t
val equal : t -> t -> Ppx_deriving_runtime.bool
val compare : t -> t -> Ppx_deriving_runtime.int
val hash : t -> int
val show : (Ints_t.t * Ints_t.t) -> string
val min4 : Ints_t.t -> Ints_t.t -> Ints_t.t -> Ints_t.t -> Ints_t.t
val max4 : Ints_t.t -> Ints_t.t -> Ints_t.t -> Ints_t.t -> Ints_t.t
val shift_left : (Ints_t.t * Ints_t.t) -> (int * int) -> Ints_t.t * Ints_t.t
val div : (Ints_t.t * Ints_t.t) -> (Ints_t.t * Ints_t.t) -> (Ints_t.t * Ints_t.t) option * (Ints_t.t * Ints_t.t) option

Divide mathematical intervals. Excludes 0 from denominator - must be handled as desired by caller.

  • returns

    negative and positive denominator cases separately, if they exist.

val neg : (Ints_t.t * Ints_t.t) -> Ints_t.t * Ints_t.t
val one : Ints_t.t * Ints_t.t
val zero : Ints_t.t * Ints_t.t
val top_bool : Ints_t.t * Ints_t.t
val maximal : ('a * 'b) -> 'b
val minimal : ('a * 'b) -> 'a
val leq : (Ints_t.t * Ints_t.t) -> (Ints_t.t * Ints_t.t) -> bool
val join : (Ints_t.t * Ints_t.t) -> (Ints_t.t * Ints_t.t) -> Ints_t.t * Ints_t.t
val meet : (Ints_t.t * Ints_t.t) -> (Ints_t.t * Ints_t.t) -> (Ints_t.t * Ints_t.t) option
val to_int : (Ints_t.t * Ints_t.t) -> Ints_t.t option
val find_thresholds : WideningThresholds.Thresholds.t ResettableLazy.t -> WideningThresholds.Thresholds.t
val upper_threshold : Ints_t.t -> Ints_t.t -> Ints_t.t
val lower_threshold : Ints_t.t -> Ints_t.t -> Ints_t.t
val is_threshold : Ints_t.t -> WideningThresholds.Thresholds.t ResettableLazy.t -> bool
val is_upper_threshold : Ints_t.t -> bool
val is_lower_threshold : Ints_t.t -> bool