Overview  Index  Help 
Standard ML Basis Library

ARRAY2

All Known Implementing Modules:

Array2


signature ARRAY2 =
sig
  eqtype 'a array
  type 'a region =
       {
         base : 'a array,
         row : int,
         col : int,
         nrows : int option,
         ncols : int option
       }
  datatype traversal = RowMajor | ColMajor
  val array : int * int * 'a -> 'a array
  val fromList : 'a list list -> 'a array
  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 copy
      : {src : 'a region, dst : 'a array, dst_row : int, dst_col : int} -> unit
  val appi : traversal -> (int * int * 'a -> unit) -> 'a region -> unit
  val app : traversal -> ('a -> unit) -> 'a array -> unit
  val modifyi : traversal -> (int * int * 'a -> 'a) -> 'a region -> unit
  val modify : traversal -> ('a -> 'a) -> 'a array -> unit
  val foldi : traversal -> (int * int * 'a * 'b -> 'b) -> 'b -> 'a region -> 'b
  val fold : traversal -> ('a * 'b -> 'b) -> 'b -> 'a array -> 'b
end

 
Type detail

array

eqtype 'a array


region

type 'a region =
     {
       base : 'a array,
       row : int,
       col : int,
       nrows : int option,
       ncols : int option
     }

 
Datatype detail

traversal

datatype traversal = RowMajor | ColMajor

 
DataConstructor detail

RowMajor

constructor RowMajor : traversal


ColMajor

constructor ColMajor : traversal

 
Value detail

array

val array : int * int * 'a -> 'a array


fromList

val fromList : 'a list list -> 'a array


tabulate

val tabulate : traversal -> int * int * (int * int -> 'a) -> 'a array


sub

val sub : 'a array * int * int -> 'a


update

val update : 'a array * int * int * 'a -> unit


dimensions

val dimensions : 'a array -> int * int


nCols

val nCols : 'a array -> int


nRows

val nRows : 'a array -> int


row

val row : 'a array * int -> 'a Vector.vector


column

val column : 'a array * int -> 'a Vector.vector


copy

val copy
    : {src : 'a region, dst : 'a array, dst_row : int, dst_col : int} -> unit


appi

val appi : traversal -> (int * int * 'a -> unit) -> 'a region -> unit


app

val app : traversal -> ('a -> unit) -> 'a array -> unit


modifyi

val modifyi : traversal -> (int * int * 'a -> 'a) -> 'a region -> unit


modify

val modify : traversal -> ('a -> 'a) -> 'a array -> unit


foldi

val foldi : traversal -> (int * int * 'a * 'b -> 'b) -> 'b -> 'a region -> 'b


fold

val fold : traversal -> ('a * 'b -> 'b) -> 'b -> 'a array -> 'b

 


Overview  Index  Help 
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).