Lazy concatenation and padding utilities

Ilya Yaroshenko via Digitalmars-d digitalmars-d at puremagic.com
Thu Mar 9 00:59:28 PST 2017


Hello

Ndslice got [1] lazy multidimensional concatenation and padding 
utilities:
  1. stack
  2. pad
  2. padEdge
  3. padSymmetric
  4. padWrap


`stack` can be used for ndslices instead of `chain`.

---
import mir.ndslice.allocation: slice;
import mir.ndslice.stack: stack;

auto d = stack(a, b, c).slice;
---

ndslice allocation and assign utilities are optimised to work 
with stacks. For example the code above is significantly faster 
then

---
import std.array: array;
import std.range: chain;

auto d = chain(a, b, c).array;
---

because `slice` uses external iteration for `Stack` data 
structure.

[1] http://docs.algorithm.dlang.io/latest/mir_ndslice_stack.html

Best regards,
Ilya



More information about the Digitalmars-d mailing list