Thread overview | |||||
---|---|---|---|---|---|
|
December 30, 2015 ndslice help. | ||||
---|---|---|---|---|
| ||||
Hi, Just playing with ndslice and I couldn't figure how to get the following transformations. given. auto slicea = sliced(iota(6), 2, 3, 1); foreach (item; slicea) { writeln(item); } which gives. [[0][1][2]] [[3][4][5]] what transformation should i do to get the following from slicea. [[0][2][4]] [[1][3][5]] [[4][2][0]] [[5][3][1]] Zz |
December 30, 2015 Re: ndslice help. | ||||
---|---|---|---|---|
| ||||
Posted in reply to Zz | On Wednesday, 30 December 2015 at 18:53:15 UTC, Zz wrote: > Hi, > > Just playing with ndslice and I couldn't figure how to get the following transformations. > > given. > > auto slicea = sliced(iota(6), 2, 3, 1); > foreach (item; slicea) > { > writeln(item); > } > > which gives. > > [[0][1][2]] > [[3][4][5]] > > what transformation should i do to get the following from slicea. > > [[0][2][4]] > [[1][3][5]] > > [[4][2][0]] > [[5][3][1]] > > Zz Hi, void main() { auto slicea = sliced(iota(6), 2, 3, 1); auto sliceb = slicea.reshape(3, 2, 1).transposed!1; auto slicec = sliceb.reversed!1; writefln("%(%(%(%s%)\n%)\n\n%)", [slicea, sliceb, slicec]); } Output: [0][1][2] [3][4][5] [0][2][4] [1][3][5] [4][2][0] [5][3][1] Ilya |
December 30, 2015 Re: ndslice help. | ||||
---|---|---|---|---|
| ||||
Posted in reply to Ilya Yaroshenko | On Wednesday, 30 December 2015 at 20:43:21 UTC, Ilya Yaroshenko wrote:
> On Wednesday, 30 December 2015 at 18:53:15 UTC, Zz wrote:
>> Hi,
>>
>> Just playing with ndslice and I couldn't figure how to get the following transformations.
>>
>> given.
>>
>> auto slicea = sliced(iota(6), 2, 3, 1);
>> foreach (item; slicea)
>> {
>> writeln(item);
>> }
>>
>> which gives.
>>
>> [[0][1][2]]
>> [[3][4][5]]
>>
>> what transformation should i do to get the following from slicea.
>>
>> [[0][2][4]]
>> [[1][3][5]]
>>
>> [[4][2][0]]
>> [[5][3][1]]
>>
>> Zz
>
> Hi,
>
> void main()
> {
> auto slicea = sliced(iota(6), 2, 3, 1);
> auto sliceb = slicea.reshape(3, 2, 1).transposed!1;
> auto slicec = sliceb.reversed!1;
>
> writefln("%(%(%(%s%)\n%)\n\n%)", [slicea, sliceb, slicec]);
> }
>
> Output:
> [0][1][2]
> [3][4][5]
>
> [0][2][4]
> [1][3][5]
>
> [4][2][0]
> [5][3][1]
>
> Ilya
Thanks
|
Copyright © 1999-2021 by the D Language Foundation