package colibri2

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

Represents product of sign of nodes

type t
include Colibri2_popop_lib.Popop_stdlib.Datatype with type t := t
include Colibri2_popop_lib.Popop_stdlib.OrderedHashedType with type t := t
val equal : t -> t -> bool
val hash_fold_t : t Base.Hash.folder
module S : Colibri2_popop_lib.Map_intf.Set with type 'a M.t = 'a M.t and type M.key = M.key
include Base.Hashtbl.Key.S with type t := t
val compare : t Base__Ppx_compare_lib.compare
val sexp_of_t : t -> Sexplib0.Sexp.t
val hash : t -> int
type cst =
  1. | Pos
  2. | Neg
val of_one_node : Colibri2_core.Node.t -> t

Build a value that represent one node

val of_one_node_non_zero : Colibri2_core.Node.t -> t

Build a value that represent one node when it is known to be non-zero

val is_one_node : t -> Colibri2_core.Node.t option

Test if a value represents one node

val subst : t -> Colibri2_core.Node.t -> t -> t option

subst p n q substitute n by q in p, if n is not in p None is returned, otherwise the result of the substitution is returned

val normalize : t -> f:(Colibri2_core.Node.t -> t) -> t

norm p ~f normalize p using f

type data

An abstract type to avoid translating the map to sets in nodes

nodes t returns the node which are present in t

val mul : t -> t -> t
type extracted =
  1. | Plus_one
  2. | Minus_one
  3. | Zero
  4. | Var of Colibri2_core.Node.t * t
  5. | NoNonZero
val extract : t -> extracted
type extract_cst =
  1. | Pos
  2. | Neg
  3. | Zero
val extract_cst : t -> extract_cst * t
val remove : Colibri2_core.Node.t -> t -> t
val common : t -> t -> t

Return the common part

val one : t
val minus_one : t
val zero : t
type kind =
  1. | PLUS_ONE
  2. | MINUS_ONE
  3. | ZERO
  4. | NODE of cst * Colibri2_core.Node.t
  5. | PRODUCT
val classify : t -> kind
type presolve =
  1. | Zero
  2. | NonZero
  3. | OneNonZero of Colibri2_core.Node.t
  4. | Other
val presolve : t -> presolve
OCaml

Innovation. Community. Security.