Advertisement
Guest User

Untitled

a guest
Aug 25th, 2016
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.45 KB | None | 0 0
  1. auto ndarray(size_t N, Range)(auto ref Slice!(N, Range) slice)
  2. {
  3. import std.array: array;
  4. static if (N == 1)
  5. {
  6. return slice.array;
  7. }
  8. else
  9. {
  10. import std.algorithm.iteration: map;
  11. return slice.map!(a => ndarray(a)).array;
  12. }
  13. }
  14.  
  15. import std.range: iota;
  16. auto ar = ndarray(12.iota.sliced(3, 4));
  17. static assert(is(typeof(ar) == int[][]));
  18. assert(ar == [[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11]]);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement