This is the mail archive of the
gsl-discuss@sourceware.org
mailing list for the GSL project.
Re: GSL 2.0 roadmap
On Thu, 27 Aug 2009, Jordi Burguet Castell wrote:
You may want to check the extensions "tensor" and "marray" that I also
developed a while ago:
http://www.gnu.org/software/gsl/#extensions
I don't know how much overlap they have with your ideas, the main
thing for them is to manipulate tensors of arbitrary rank and do the
common operations on them.
I'll try to look when I get a chance. Unfortunately none of my current
projects are using tensors much these days, so it may take me some time
to get to it. Basically my approach was to build a fairly
systematically creating ***...whatever pointers with arbitrary index
limits, creating a linear data object, and suitably packing the offsets
into the toplevel, castable tensor pointer. The overall tensor object
was a struct with the requisite pieces and e.g. limit information
available inside the struct, with a create/destroy function that
allocated and packed and unpacked and freed respectively, but the
approach allowed one to directly access the tensor in array notation,
whatever[i][j][k]... Not terribly subtle, in other words. Your
extension is probably better thought out.
This may also interest you, quoting from the web: "If you want to add
a feature to GSL we recommend that you make it an extension first. We
will list it here so that people can try it out. Extensions can be
incorporated after they have been tested in real use (see "How to
help" for more information)." So maybe you can consider making your
code an extension if it is not already?
Yes, I recall that, although it was a pretty long time ago when I wrote
these particular extensions and I'm not sure that this was yet standard
policy. Maybe it was, I don't know; I do remember asking if anybody was
interested in them at that time and nobody suggested making them a
formal extension instead. My dieharder program is listed in this sort
of way (including, I imagine, the extra GSL-compatible rngs and an
"add-rng" function that basically makes the GSL list extensible). I
could probably turn at least that part into a formal extension pretty
easily, and it is arguably the most useful piece of what I've got.
Thanks!
rgb
Cheers,
Jordi
Robert G. Brown http://www.phy.duke.edu/~rgb/
Duke University Dept. of Physics, Box 90305
Durham, N.C. 27708-0305
Phone: 1-919-660-2567 Fax: 919-660-2525 email:rgb@phy.duke.edu