Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- auto ndarray(size_t N, Range)(auto ref Slice!(N, Range) slice)
- {
- import std.array: array;
- static if (N == 1)
- {
- return slice.array;
- }
- else
- {
- import std.algorithm.iteration: map;
- return slice.map!(a => ndarray(a)).array;
- }
- }
- import std.range: iota;
- auto ar = ndarray(12.iota.sliced(3, 4));
- static assert(is(typeof(ar) == int[][]));
- assert(ar == [[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11]]);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement