J Implementation? (and more "what is the task here?")
I'm trying to understand what all is going on in the J implementation.
First off, the obvious: this is a lot of different implementations of interpolation (for the 1d cases), bilinear interpolation (for the 2d cases) and what I suppose would be trilinear interpolation (for the 3d cases). It really warrants some good examples to illustrate what all is going on.
But some parts of it mystify me. For example, there is the commented out implementation of
combinations which seems to be another alternative for the Combinations task. But the only use of that routine is to compute
2 comb 3 [ require'stats' and even that is commented out. Why is that there?
Also, there's the structures
CORNERS is also a prefix of
N2. But the prefix of
(|."1)_1+2*#:i.8 and that
(|."1) part seems arbitrary, so I'm wondering how much of the rest of these constants is arbitrary. The use of A. already hints at something a bit arbitrary, and I guess I'd like to understand that better. For example, why isn't
N2 something like
(\:|)_1+3 3#:i.9? Is that because of something to do with parity? Anyways, I think this deserves some explanation.
And, finally, the page suggests this be used for image processing, which in turn suggests something like the approach used in the Image convolution task. (And, also, that only the 2 dimensional cases are relevant as anything other than exposition.) But that mostly just reminds me that Donal Fellows's question (above) remains unanswered. And, I guess I don't really understand what this task is about yet.
Anyways, there's what looks like some fun stuff here, but I'm thinking it might belong on the J wiki, rather than here on Rosetta code?