Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] View of /sml/branches/FLINT/src/compiler/PervEnv/Basis/mono-array2.sig
ViewVC logotype

View of /sml/branches/FLINT/src/compiler/PervEnv/Basis/mono-array2.sig

Parent Directory Parent Directory | Revision Log Revision Log


Revision 139 - (download) (as text) (annotate)
Mon Sep 7 21:11:35 1998 UTC (21 years, 1 month ago) by monnier
File size: 1382 byte(s)
110.8
(* mono-array2.sig
 *
 * COPYRIGHT (c) 1997 AT&T Research.
 *)

signature MONO_ARRAY2 =
  sig

    eqtype array
    type vector
    type elem
    type region = {
	base : array,
	row : int, col : int,
	nrows : int option, ncols : int option
      }
    datatype traversal = datatype Array2.traversal

    val array : (int * int * elem) -> array
    val fromList : elem list list -> array
    val tabulate : traversal -> (int * int * ((int * int) -> elem)) -> array
    val sub : (array * int * int) -> elem
    val update : (array * int * int * elem) -> unit
    val dimensions : array -> (int * int)
    val nCols : array -> int
    val nRows : array -> int
    val row : (array * int) -> vector
    val column : (array * int) -> vector
    val copy : {
	    src : region, dst : array, dst_row : int, dst_col : int
	  } -> unit

    val appi    : traversal -> ((int * int * elem) -> unit) -> region -> unit
    val app     : traversal -> (elem -> unit) -> array -> unit
    val modifyi : traversal -> ((int * int * elem) -> elem) -> region -> unit
    val modify  : traversal -> (elem -> elem) -> array -> unit
    val foldi   : traversal -> ((int * int * elem * 'a) -> 'a) -> 'a -> region -> 'a
    val fold    : traversal -> ((elem * 'a) -> 'a) -> 'a -> array -> 'a

  end


(*
 * $Log: mono-array2.sig,v $
 * Revision 1.1.1.1  1998/04/08 18:40:03  george
 * Version 110.5
 *
 *)

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0