Newer
Older
(*************************************************************************)
(* This file is part of Colibri2. *)
(* *)
(* Copyright (C) 2014-2021 *)
(* CEA (Commissariat à l'énergie atomique et aux énergies *)
(* alternatives) *)
(* OCamlPro *)
(* *)
(* you can redistribute it and/or modify it under the terms of the GNU *)
(* Lesser General Public License as published by the Free Software *)
(* Foundation, version 2.1. *)
(* *)
(* It is distributed in the hope that it will be useful, *)
(* but WITHOUT ANY WARRANTY; without even the implied warranty of *)
(* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *)
(* GNU Lesser General Public License for more details. *)
(* *)
(* See the GNU Lesser General Public License version 2.1 *)
(* for more details (enclosed in the file licenses/LGPLv2.1). *)
(*************************************************************************)
open Colibri2_core
open Colibri2_popop_lib
open Popop_stdlib
Egraph.wt -> int -> (DInt.S.t DInt.M.t * DInt.t DInt.M.t) option
end
module Id_dom : sig
val set_id : Egraph.wt -> Node.t -> unit
val get_id : Egraph.wt -> Node.t -> int
val register_merge_hook :
(Egraph.wt -> Node.t * int -> Node.t * int -> bool -> unit) ->
module Index_Id_dom : sig
val set_id : Egraph.wt -> Node.t -> unit
val get_id : Egraph.wt -> Node.t -> int
val register_merge_hook :
Egraph.wt ->
(Egraph.wt -> Node.t * int -> Node.t * int -> bool -> unit) ->
unit
val eq_arrays_norm : Egraph.wt -> Node.t * int -> Node.t * int -> bool -> unit
val eq_indices_norm : Egraph.wt -> Node.t * int -> Node.t * int -> bool -> unit
val update : Egraph.wt -> Node.t -> Node.t -> Node.t -> Node.t -> unit
val get_neighbours : Egraph.wt -> int -> DInt.S.t