| 1 | signature MONO_ARRAY2 = |
| 2 | sig |
| 3 | eqtype array |
| 4 | |
| 5 | type elem |
| 6 | type vector |
| 7 | |
| 8 | type region = {base: array, |
| 9 | row: int, |
| 10 | col: int, |
| 11 | nrows: int option, |
| 12 | ncols: int option} |
| 13 | |
| 14 | datatype traversal = datatype Array2.traversal |
| 15 | |
| 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 |
| 33 | end |