1 signature MONO_ARRAY2 =
8 type region = {base: array,
14 datatype traversal = datatype Array2.traversal
16 val app: traversal -> (elem -> unit) -> array -> unit
17 val appi: traversal -> (int * int * elem -> unit) -> region -> unit
18 val array: int * int * elem -> array
19 val column: array * int -> vector
20 val copy: {src: region, dst: array, dst_row: int, dst_col: int} -> unit
21 val dimensions: array -> int * int
22 val fold: traversal -> (elem * 'b -> 'b) -> 'b -> array -> 'b
23 val foldi: traversal -> (int * int * elem * 'b -> 'b) -> 'b -> region -> 'b
24 val fromList: elem list list -> array
25 val modify: traversal -> (elem -> elem) -> array -> unit
26 val modifyi: traversal -> (int * int * elem -> elem) -> region -> unit
27 val nCols: array -> int
28 val nRows: array -> int
29 val row: array * int -> vector
30 val sub: array * int * int -> elem
31 val tabulate: traversal -> int * int * (int * int -> elem) -> array
32 val update: array * int * int * elem -> unit