Skip to content

Commit f99aaf2

Browse files
committed
rework map for LDC
1 parent 2786364 commit f99aaf2

File tree

1 file changed

+5
-8
lines changed

1 file changed

+5
-8
lines changed

source/mir/ndslice/topology.d

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2121,15 +2121,12 @@ template map(fun...)
21212121
{
21222122
alias It = SliceIterator!(TemplateArgsOf!(slice.DeepElemType));
21232123
auto sl = slice.universal;
2124+
auto outerLengths = cast(size_t[packs[0]]) sl._lengths[0 .. packs[0]];
2125+
auto outerStrides = cast(ptrdiff_t[packs[0]]) sl._strides[0 .. packs[0]];
2126+
auto lengths = cast(size_t[It._lengths.length]) sl._lengths[packs[0] .. packs[0] + It._lengths.length];
21242127
auto strides = cast(ptrdiff_t[It._strides.length]) sl._strides[packs[0] .. packs[0] + It._strides.length];
2125-
return Slice!(Universal, packs[0 .. 1], It)(
2126-
sl._lengths[0 .. packs[0]],
2127-
sl._strides[0 .. packs[0]],
2128-
It(
2129-
sl._lengths[packs[0] .. packs[0] + It._lengths.length],
2130-
strides,
2131-
sl._iterator,
2132-
));
2128+
auto it = It(lengths, strides, sl._iterator);
2129+
return Slice!(Universal, packs[0 .. 1], It)(outerLengths, outerStrides, it);
21332130
}
21342131
}
21352132
}

0 commit comments

Comments
 (0)