How to sum multidimensional arrays?

p.shkadzko p.shkadzko at gmail.com
Thu Feb 27 22:07:17 UTC 2020


On Thursday, 27 February 2020 at 16:31:07 UTC, 9il wrote:
> On Thursday, 27 February 2020 at 14:15:26 UTC, p.shkadzko wrote:
>> Is there a better way without relying on mir.ndslice?
>
> ndslice Poker Face
>
> /+dub.sdl:
> dependency "mir-algorithm" version="~>3.7.17"
> dependency "mir-random" version="~>2.2.10"
> +/
> import mir.ndslice;
> import mir.random: threadLocal;
> import mir.random.variable: uniformVar;
> import mir.random.algorithm: randomSlice;
> import mir.random.engine.xorshift;
>
> void main() {
>     Slice!(int*, 2) m1 = 
> threadLocal!Xorshift.randomSlice(uniformVar!int(0, 10), [2, 3]);
>     Slice!(int*, 2) m2 = 
> threadLocal!Xorshift.randomSlice(uniformVar!int(0, 10), [2, 3]);
>     Slice!(int*, 2) c = slice(m1 + m2);
> }

Yes, mir.ndslice is a straightforward choice for multidimensional 
arrays. I shall do some benchmarks with it next. But first, I try 
to do it with standard D ops and see what's the rough difference 
against numpy's C.


More information about the Digitalmars-d-learn mailing list