160. Introducing layout reshaping
Let’s suppose that we have the following nested model (the exact same model as in Problem 158):
SequenceLayout innerSeq
= MemoryLayout.sequenceLayout(5, ValueLayout.JAVA_DOUBLE);
SequenceLayout outerSeq
= MemoryLayout.sequenceLayout(10, innerSeq);
Next, we define a VarHandle
via PathElement
and we populate this model accordingly with some random data (you can see the code listed in Problem 158).
Our goal is to reshape this model to look as follows:
SequenceLayout innerSeq
= MemoryLayout.sequenceLayout(25, ValueLayout.JAVA_DOUBLE);
SequenceLayout outerSeq
= MemoryLayout.sequenceLayout(2, innerSeq);
So, instead of having 10 sequences of 5 double
values each, we want 25 sequences of 2 double
values each. In order to accomplish this reshaping goal, we can rely on the reshape(long... elementCounts)
method. This method takes the elements of this sequence layout and re-arranges them into a multi-dimensional sequence layout...