Thread overview
ndslice help.
Dec 30, 2015
Zz
Dec 30, 2015
Ilya Yaroshenko
Dec 30, 2015
Zz
December 30, 2015
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
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
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