On Monday, 25 May 2015 at 18:11:32 UTC, Vlad Levenfeld wrote:
The matrix implementation is really just a placeholder, when I
have more time I would like to fill it out with compile-time
swappable backend implementations using the same matrix
frontend (eg forwarding arithmetic operations to gsl routines).
So yes, the matrix example is very raw (I assume by damp you
meant "siroi"). The other structures are much more fleshed out
and provide much better examples of what I'm going for (ie any
of the reimplemented Phobos adaptors: cycle, stride, etc).
Yes crude meaning "raw".
The library itself is meant to generate consistent, safe
interfaces for all manner of multidimensional structures (or,
at least those that resemble cartesian products of half open
intervals).
I can drop in a naive backend later this week as a concrete
demonstration.
Its unlikely, even in complete form, that this would be
suitable for inclusion in Phobos (it adds a lot of nonstandard
idioms), but many of the design issues surrounding
multidimensional structures with not-necessarily-integral
indices have been carefully addressed; their solutions may
prove useful in the effort to build a standard library package.
Yes, that's what I mean. Some common questions about working with
multidimensional arrays need to be addressed. For example, the
cycle `foreach` multiple iterators, etc.