I've been working with two, three, and four-dimensional arrays of data in image processing applications for several years now. These arrays have contained integer-valued and floating-point-valued grey- scale and color pixels, 32-bit floating-point numbers, pairs of 64- bit floating-point numbers interpreted as complex numbers, ... In the process, I've developed a library of code to manipulate what I call "generalized arrays" in a way that is fast (well, faster than writing loops in Matlab if the function you want isn't built in) and intuitive (if you're used to high-level functions and Scheme).
I'm looking for testers. I intend to submit an SRFI eventually, so I've written some preliminary documentation. There is test code that has pretty good coverage. I'm looking for more testers, comments, etc.
The code and documentation are at
http://www.math.purdue.edu/~lucier/array-code/
Warning: If you build gambc40b13 on MacOS X 10.4.1 with XCode 2.1 compilers and
env CC='gcc -mcpu=970 -m64' ./configure enable-single-host
and compile pixel-method.scm with
% gsc
(compile-file "pixel-method")
#t
and then try to (load "pixel-method") then it may crash your machine. It does mine, consistently. (Marc: You should try it on your new dual 1.8 G5, it's rather unbelievable. I'd like to get this fixed, however.) The code works fine on an Opteron machine running RHEL 3.0.
Brad