package idds

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

Boolean variable on which a DD can branch. Morally just an integer, but kept abstract for safety.

type t
val equal : t -> t -> Ppx_deriving_runtime.bool
include Ppx_compare_lib.Comparable.S with type t := t
val compare : t -> t -> int
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 Ppx_hash_lib.Hashable.S with type t := t
val hash_fold_t : Base.Hash.state -> t -> Base.Hash.state
val hash : t -> Base.Hash.hash_value
include Base.Comparator.S with type t := t
type comparator_witness
val leaf_idx : Base.int
val inp : Base.int -> t
val out : Base.int -> t
val is_inp : t -> Base.bool
val is_out : t -> Base.bool
val index : t -> Base.int
val to_out : t -> t
val is_in_out_pair : t -> t -> Base.bool
type closer_to_root =
  1. | Left
  2. | Right
  3. | Equal
    (*

    closer_to_root v0 v1 says whether, if v0 and v1 were to appear in the same, ordered IDD, v0 or v1 would appear closer to the root.

    *)
val closer_to_root : t -> t -> closer_to_root
val idx_strictly_closer_to_root : Base.int -> Base.int -> Base.bool

idx_strictly_closer_to_root idx0 idx1 is whether a variable with index idx0 is closer to the root of an ordered IDD than a variable with index idx1

val to_string : t -> Base.string