package codex

  1. Overview
  2. Docs
The Codex library for building static analysers based on abstract interpretation

Install

dune-project
 Dependency

Authors

Maintainers

Sources

1.0-rc4.tar.gz
md5=bc7266a140c6886add673ede90e335d3
sha512=8da42c0ff2c1098c5f9cb2b5b43b306faf7ac93b8f5ae00c176918cee761f249ff45b29309f31a05bbcf6312304f86a0d5a000eb3f1094d3d3c2b9b4c7f5c386

doc/codex.domains/Domains/Product/Make/argument-2-P2/Query/Binary_Lattice/index.html

Module Query.Binary_Lattice

include Datatype_sig.S
type t
val equal : t -> t -> bool

Any notion of equality is allowed, as long as it is an equivalence relation, and that if a == b, then equal a b.

val compare : t -> t -> int

compare is a total order, and should be compatible with equal.

val hash : t -> int

hash requires that equal values have the same hash.

val bottom : size:Units.In_bits.t -> t
val is_bottom : size:Units.In_bits.t -> t -> bool
val top : size:Units.In_bits.t -> t
val inter : size:Units.In_bits.t -> t -> t -> t
val join : size:Units.In_bits.t -> t -> t -> t
val pretty : size:Units.In_bits.t -> Format.formatter -> t -> unit
val widen : size:Units.In_bits.t -> previous:t -> t -> t
val includes : size:Units.In_bits.t -> t -> t -> bool
val includes_or_widen : size:Units.In_bits.t -> previous:t -> t -> bool * t
val singleton : size:Units.In_bits.t -> Z.t -> t
val is_singleton : size:Units.In_bits.t -> t -> Z.t option
val is_empty : size:Units.In_bits.t -> t -> bool

True if the binary cannot be concretized into any value.

val fold_crop_signed : size:Units.In_bits.t -> t -> inf:Z.t -> sup:Z.t -> 'a -> (Z.t -> 'a -> 'a) -> 'a

Fold on all integers contained in either the signed or unsigned representation of a binary.

val fold_crop_unsigned : size:Units.In_bits.t -> t -> inf:Z.t -> sup:Z.t -> 'a -> (Z.t -> 'a -> 'a) -> 'a
val to_known_bits : size:Units.In_bits.t -> t -> Z.t * Z.t
val to_unsigned_interval : size:Units.In_bits.t -> t -> Z.t * Z.t
val to_signed_interval : size:Units.In_bits.t -> t -> Z.t * Z.t