5 type 'a region = {base: 'a array,
11 datatype traversal = RowMajor | ColMajor
13 val array: int * int * 'a -> 'a array
14 val fromList: 'a list list -> 'a array
15 val tabulate: traversal -> (int * int * (int * int -> 'a)) -> 'a array
16 val sub: 'a array * int * int -> 'a
17 val update: 'a array * int * int * 'a -> unit
18 val dimensions: 'a array -> int * int
19 val nRows: 'a array -> int
20 val nCols: 'a array -> int
21 val row: 'a array * int -> 'a vector
22 val column: 'a array * int -> 'a vector
23 val copy: {src: 'a region,
27 val appi: traversal -> (int * int * 'a -> unit) -> 'a region -> unit
28 val app: traversal -> ('a -> unit) -> 'a array -> unit
29 val foldi: traversal -> (int * int * 'a * 'b -> 'b) -> 'b -> 'a region -> 'b
30 val fold: traversal -> ('a * 'b -> 'b) -> 'b -> 'a array -> 'b
31 val modifyi: traversal -> (int * int * 'a -> 'a) -> 'a region -> unit
32 val modify: traversal -> ('a -> 'a) -> 'a array -> unit