| Standard ML Basis Library |
structure Array2 :> ARRAY2 =
struct
structure A = Array
type 'a array = {data : 'a A.array, nrows : int, ncols : int}
type 'a region =
{
base : 'a array,
row : int,
col : int,
nrows : int option,
ncols : int option
}
datatype traversal = RowMajor | ColMajor
datatype index = DONE | INDX of {i : int, r : int, c : int}
val ltu
val unsafeUpdate
val unsafeSub
val mkArray
val unsafeIndex
val index
val chkSize
val array : int * int * 'a -> 'a array
val fromList : 'a list list -> 'a array
val tabulateRM
val tabulateCM
val tabulate : traversal -> int * int * (int * int -> 'a) -> 'a array
val sub : 'a array * int * int -> 'a
val update : 'a array * int * int * 'a -> unit
val dimensions : 'a array -> int * int
val nCols : 'a array -> int
val nRows : 'a array -> int
val row : 'a array * int -> 'a Vector.vector
val column : 'a array * int -> 'a Vector.vector
val chkRegion
val copy
: {src : 'a region, dst : 'a array, dst_row : int, dst_col : int} -> unit
val iterateRM
val iterateCM
val appi : traversal -> (int * int * 'a -> unit) -> 'a region -> unit
val appRM
val appCM
val app : traversal -> ('a -> unit) -> 'a array -> unit
val modifyi : traversal -> (int * int * 'a -> 'a) -> 'a region -> unit
val modifyRM
val modifyCM
val modify : traversal -> ('a -> 'a) -> 'a array -> unit
val foldi : traversal -> (int * int * 'a * 'b -> 'b) -> 'b -> 'a region -> 'b
val foldRM
val foldCM
val fold : traversal -> ('a * 'b -> 'b) -> 'b -> 'a array -> 'b
end
Type detail |
---|
type 'a array = {data : 'a A.array, nrows : int, ncols : int}
type 'a region =
{
base : 'a array,
row : int,
col : int,
nrows : int option,
ncols : int option
}
Datatype detail |
---|
datatype traversal = RowMajor | ColMajor
datatype index = DONE | INDX of {i : int, r : int, c : int}
DataConstructor detail |
---|
constructor RowMajor : traversal
constructor ColMajor : traversal
constructor DONE : index
constructor INDX : {i : int, r : int, c : int} -> index
Value detail |
---|
val ltu
val unsafeUpdate
val unsafeSub
val mkArray
val unsafeIndex
val index
val chkSize
val array : int * int * 'a -> 'a array
val fromList : 'a list list -> 'a array
val tabulateRM
val tabulateCM
val tabulate : traversal -> int * int * (int * int -> 'a) -> 'a array
val sub : 'a array * int * int -> 'a
val update : 'a array * int * int * 'a -> unit
val dimensions : 'a array -> int * int
val row : 'a array * int -> 'a Vector.vector
val column : 'a array * int -> 'a Vector.vector
val chkRegion
val copy
: {src : 'a region, dst : 'a array, dst_row : int, dst_col : int} -> unit
val iterateRM
val iterateCM
val appi : traversal -> (int * int * 'a -> unit) -> 'a region -> unit
val appRM
val appCM
val app : traversal -> ('a -> unit) -> 'a array -> unit
val modifyi : traversal -> (int * int * 'a -> 'a) -> 'a region -> unit
val modifyRM
val modifyCM
val modify : traversal -> ('a -> 'a) -> 'a array -> unit
val foldi : traversal -> (int * int * 'a * 'b -> 'b) -> 'b -> 'a region -> 'b
val foldRM
val foldCM
val fold : traversal -> ('a * 'b -> 'b) -> 'b -> 'a array -> 'b
| Standard ML Basis Library |
This document may be distributed freely over the internet as long as the copyright notice and license terms below are prominently displayed within every machine-readable copy.
Copyright © 2003 AT&T and Lucent Technologies. All rights reserved.
Permission is granted for internet users to make one paper copy for their
own personal use. Further hardcopy reproduction is strictly prohibited.
Permission to distribute the HTML document electronically on any medium
other than the internet must be requested from the copyright holders by
contacting the editors.
Printed versions of the SML Basis Manual are available from Cambridge
University Press.
To order, please visit
www.cup.org (North America) or
www.cup.cam.ac.uk (outside North America). |