std.multidimarray

Vlad Levenfeld via Digitalmars-d digitalmars-d at puremagic.com
Mon May 25 11:11:30 PDT 2015


On Sunday, 24 May 2015 at 22:42:12 UTC, Dennis Ritchie wrote:
> On Sunday, 24 May 2015 at 20:45:56 UTC, Laeeth Isharc wrote:
>> You might take a look at Vlad Levenfeld's work too, although I 
>> think he would say that it is still at an early stage (if I 
>> understand correctly - looks very interesting to me, although 
>> I have not yet properly had time to explore it in depth)
>>
>> https://github.com/evenex/autodata
>
> Yes, at the moment it looks all pretty damp, but very 
> interesting. For example, this really is not enough:
>
> https://github.com/evenex/autodata/blob/master/source/spaces/matrix.d#L53-L68
>
> The fact that no library will not arrange me. I need the tools 
> to work with multidimensional arrays, which will necessarily be 
> built into Phobos!

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).

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.


More information about the Digitalmars-d mailing list