package KaSim

  1. Overview
  2. Docs
type pervasives_bool = bool
type (!'mix, !'id) e =
  1. | BIN_ALG_OP of Operator.bin_alg_op * ('mix, 'id) e Locality.annot * ('mix, 'id) e Locality.annot
  2. | UN_ALG_OP of Operator.un_alg_op * ('mix, 'id) e Locality.annot
  3. | STATE_ALG_OP of Operator.state_alg_op
  4. | ALG_VAR of 'id
  5. | KAPPA_INSTANCE of 'mix
  6. | TOKEN_ID of 'id
  7. | CONST of Nbr.t
  8. | IF of ('mix, 'id) bool Locality.annot * ('mix, 'id) e Locality.annot * ('mix, 'id) e Locality.annot
  9. | DIFF_TOKEN of ('mix, 'id) e Locality.annot * 'id
  10. | DIFF_KAPPA_INSTANCE of ('mix, 'id) e Locality.annot * 'mix
and (!'mix, !'id) bool =
  1. | TRUE
  2. | FALSE
  3. | BIN_BOOL_OP of Operator.bin_bool_op * ('mix, 'id) bool Locality.annot * ('mix, 'id) bool Locality.annot
  4. | UN_BOOL_OP of Operator.un_bool_op * ('mix, 'id) bool Locality.annot
  5. | COMPARE_OP of Operator.compare_op * ('mix, 'id) e Locality.annot * ('mix, 'id) e Locality.annot
val e_to_yojson : filenames:int Mods.StringMap.t -> ('a -> Yojson.Basic.json) -> ('b -> Yojson.Basic.json) -> ('a, 'b) e -> Yojson.Basic.json
val e_of_yojson : filenames:string array -> (Yojson.Basic.json -> 'a) -> (Yojson.Basic.json -> 'b) -> Yojson.Basic.json -> ('a, 'b) e
val print : (Format.formatter -> 'a -> unit) -> (Format.formatter -> 'b -> unit) -> (Format.formatter -> 'b -> unit) -> Format.formatter -> ('a, 'b) e -> unit
val bool_to_yojson : filenames:int Mods.StringMap.t -> ('a -> Yojson.Basic.json) -> ('b -> Yojson.Basic.json) -> ('a, 'b) bool -> Yojson.Basic.json
val bool_of_yojson : filenames:string array -> (Yojson.Basic.json -> 'a) -> (Yojson.Basic.json -> 'b) -> Yojson.Basic.json -> ('a, 'b) bool
val print_bool : (Format.formatter -> 'a -> unit) -> (Format.formatter -> 'b -> unit) -> (Format.formatter -> 'b -> unit) -> Format.formatter -> ('a, 'b) bool -> unit
val const : Nbr.t -> ('a, 'b) e Locality.annot
val int : int -> ('a, 'b) e Locality.annot
val float : float -> ('a, 'b) e Locality.annot
val add : ('a, 'b) e Locality.annot -> ('a, 'b) e Locality.annot -> ('a, 'b) e Locality.annot
val minus : ('a, 'b) e Locality.annot -> ('a, 'b) e Locality.annot -> ('a, 'b) e Locality.annot
val mult : ('a, 'b) e Locality.annot -> ('a, 'b) e Locality.annot -> ('a, 'b) e Locality.annot
val div : ('a, 'b) e Locality.annot -> ('a, 'b) e Locality.annot -> ('a, 'b) e Locality.annot
val pow : ('a, 'b) e Locality.annot -> ('a, 'b) e Locality.annot -> ('a, 'b) e Locality.annot
val ln : ('a, 'b) e Locality.annot -> ('a, 'b) e Locality.annot
val uminus : ('a, 'b) e Locality.annot -> ('a, 'b) e Locality.annot
val sin : ('a, 'b) e Locality.annot -> ('a, 'b) e Locality.annot
val cos : ('a, 'b) e Locality.annot -> ('a, 'b) e Locality.annot
val sqrt : ('a, 'b) e Locality.annot -> ('a, 'b) e Locality.annot
val setup_alg_vars_rev_dep : unit NamedDecls.t -> (string Locality.annot * ('a, int) e Locality.annot) array -> Operator.DepSet.t * Operator.DepSet.t * Operator.DepSet.t array * Operator.DepSet.t array
val has_mix : ?var_decls:('b -> ('c, 'b) e) -> ('a, 'b) e -> pervasives_bool
val has_progress_dep : only_time:pervasives_bool -> (Operator.DepSet.t * Operator.DepSet.t * Operator.DepSet.t array * Operator.DepSet.t array) -> ('a, int) e Locality.annot -> pervasives_bool
val extract_connected_components : ('a, 'b) e Locality.annot -> 'a list
val extract_connected_components_bool : ('a, 'b) bool Locality.annot -> 'a list
val propagate_constant : ?max_time:float -> ?max_events:int -> int list -> (string Locality.annot * ('a, int) e Locality.annot) array -> ('a, int) e Locality.annot -> ('a, int) e Locality.annot
val propagate_constant_bool : ?max_time:float -> ?max_events:int -> int list -> (string Locality.annot * ('a, int) e Locality.annot) array -> ('a, int) bool Locality.annot -> ('a, int) bool Locality.annot
val is_equality_test_time : (Operator.DepSet.t * Operator.DepSet.t * Operator.DepSet.t array * Operator.DepSet.t array) -> ('a, int) bool -> pervasives_bool