module Matrix: sig .. end
unique w.r.t equal
type dim = int option
type matrix = Ctypes.c_object * dim list
val of_array : Ctypes.arrayinfo -> Ctypes.c_object * int option list
module KEY: functor (E : sigend) -> sig .. end
module COBJ: sig .. end
module MACHINE: KEY(Ctypes)
module NATURAL: KEY(COBJ)
val natural_id : Ctypes.c_object -> string
name for elements in NATURAL
val add_rank : Buffer.t -> int -> unit
val add_dim : Buffer.t -> int -> 'a option -> int
val id : 'a option list -> string
unique w.r.t equal
type denv = {
|
size_var : Lang.F.var list; |
|
size_val : Lang.F.term list; |
|
index_var : Lang.F.var list; |
|
index_val : Lang.F.term list; |
|
index_range : Lang.F.pred list; |
|
index_offset : Lang.F.term list; |
|
monotonic : bool; |
}
val collect : int -> 'a option list -> denv
val denv : int option list -> denv
val dval : int option list -> Lang.F.term list
val size : 'a * int option list -> Lang.F.term list
val tau : Ctypes.c_object -> 'a list -> Lang.tau
val do_merge : 'a option list -> 'a option list -> 'a option list
val merge : 'a option list -> 'a option list -> 'a option list option