head	1.6;
access;
symbols
	pre-typed:1.3;
locks; strict;
comment	@# @;


1.6
date	94.08.05.04.04.03;	author sls;	state Exp;
branches;
next	1.5;

1.5
date	94.08.03.12.03.08;	author sls;	state Exp;
branches;
next	1.4;

1.4
date	94.08.03.12.00.11;	author sls;	state Exp;
branches;
next	1.3;

1.3
date	94.07.28.23.18.42;	author sls;	state Exp;
branches;
next	1.2;

1.2
date	94.06.19.06.54.59;	author sls;	state Exp;
branches;
next	1.1;

1.1
date	94.06.19.06.29.30;	author sls;	state Exp;
branches;
next	;


desc
@@


1.6
log
@Add some stuff about where to get it, along with notes about the WWW
page.
@
text
@		    The NArray Extension, version 0.5
		(Multi-Dimensional Numeric Arrays in Tcl)
			Sam Shen <slshen@@lbl.gov>

In Brief
--------

NArray is an extension to help Tcl cope with large in-memory numeric
arrays.  NArray's require only a few more bytes than the storage
required by the array.  In addition to providing array referencing
and setting, narray allows functions to be mapped over each element
of the array.  These functions are compiled into byte code for
performance about 100x faster than straight tcl and only 5-10x slower
than C.  (These numbers are ball-park figures, actual results depend
on the situation.)

If you have netCDF, then narray's can be saved to and loaded from
netCDF files.

An Example
----------

Here's a example:

% narray create cube 64 64 64	;# cube is an 64x64x64 float array
cube
% cube status			;# 64x64x64 * sizeof(float) = 1MB
 1024.12KB used, debug 0
% cube aref 0 0 0		;# return the element (0,0,0)
0
% cube aset 0 0 0 10		;# set (0,0,0) to 10
10
% cube map { [] += 5; } 	;# add 5 to each element
% cube aref 0 0 0		;# (0,0,0) is now 15
15
% cube vset sum 0		;# set the variable sum to 0
0
% cube map { sum += $[]; }	;# sum the elements
% cube vref sum			;# get the value of the variable sum
1.31073e+06 			;# the sum of the elements is 1310730
% expr 64*64*64*5+10		;# just checking...
1310730

You can also bind other arrays to variables in the narray language,
call functions, call tcl, etc.  See the man page and other examples
for more information.

Where to Get It
---------------

The current version of the software should be available on
harbor.ecn.purdue.edu in the usual place, or in
ftp://overload.lbl.gov/pub/narray/.

Also, you may demo the software by pointing your forms-capable WWW
browser at http://www.lbl.gov/~sls/narray/.

$Id: README,v 1.5 1994/08/03 12:03:08 sls Exp sls $
@


1.5
log
@Correct a small typo.
@
text
@d1 1
a1 1
		    The NArray Extension, version 0.4
d48 11
a58 1
$Id: README,v 1.4 1994/08/03 12:00:11 sls Exp sls $
@


1.4
log
@Bump version to 0.4
@
text
@d14 2
a15 1
than C.
d39 1
a39 1
% cub vref sum			;# get the value of the variable sum
d44 3
a46 2
You can also bind other arrays to variables in the narray language.
See the man page and other examples for more information.
d48 1
a48 1
$Id: README,v 1.3 1994/07/28 23:18:42 sls Exp sls $
@


1.3
log
@note version number.
@
text
@d1 1
a1 3
	$Id: README,v 1.2 1994/06/19 06:54:59 sls Exp sls $

		    The NArray Extension, version 0.2
d45 2
@


1.2
log
@moved install instructions to INSTALL.  Added some description
and an example.
@
text
@d1 1
a1 1
	$Id: README,v 1.1 1994/06/19 06:29:30 sls Exp sls $
d3 1
a3 1
			The NArray Extension
@


1.1
log
@Initial revision
@
text
@d1 1
a1 1
	$Id$
d3 3
a5 2
To Install
----------
d7 2
a8 2
1. Run the configure script, specifying location of tcl, tk, and
optionally netcdf:
d10 7
a16 4
switch			meaning
----------------------- ----------------------------------------------------
--with-tcl=path		look for tcl.h in path/include, libtcl.a in path/lib
			(path defaults to /usr/local)
d18 2
a19 2
--with-tcl-include=path
--with-tcl-lib=path	look for tcl.h or libtcl.a in path
d21 2
a22 2
--with-tk=path		look for tk.h in path/include, libtka. in path/lib
			(path defaults to /usr/local)
d24 1
a24 5
--with-tk-include=path
--with-tk-lib=path	look for tk.h or libtk.a in path
		
--with-netcdf=path	look for netcdf.h in path/include, libnetcdf.a
			in path/lib (path defaults to /usr/local)
d26 18
a43 2
--with-netcdf-include=path
--with-netcdf-lib=path	look for netcdf.h or libnetcdf.a in path
d45 2
a46 3
2. Check config.status and re-run until it looks ok.

3. Run make, then make install.
@
