Module type Matrix.MAT

module type MAT = sig .. end

type elt 
type t = elt array array 
val (+) : elt -> elt -> elt
val ( * ) : elt -> elt -> elt
val (-) : elt -> elt -> elt
val (~-) : elt -> elt
val (/) : elt -> elt -> elt
val elt_of_int : int -> elt
val dimx : t -> int
val dimy : t -> int
val zeroes : w:int -> h:int -> t
val init : (int -> int -> elt) -> w:int -> h:int -> t
Maps from an array to another array of possibly different type. bw and bh arguments must be greater than 0 (they default to 1), for matrix w*h the last visited index is w-bw,h-bh.
val map : ?bw:int ->
?bh:int ->
(int -> int -> elt -> 'a) -> t -> 'a array array
val iter : ?bw:int ->
?bh:int -> (int -> int -> elt -> unit) -> t -> unit
val fold : ?bw:int ->
?bh:int ->
('a -> int -> int -> elt -> 'a) -> 'a -> t -> 'a