Interface PermuteKernel
public interface PermuteKernel
-
Method Summary
Modifier and TypeMethodDescriptionstatic PermuteKernel
makePermuteKernel
(ChunkType chunkType) <T extends Any>
voidpermute
(Chunk<? extends T> inputValues, IntChunk<ChunkPositions> outputPositions, WritableChunk<? super T> outputValues) Permute the inputValues into outputValues according to the positions in outputPositions.<T extends Any>
voidpermute
(IntChunk<ChunkPositions> inputPositions, Chunk<? extends T> inputValues, IntChunk<ChunkPositions> outputPositions, WritableChunk<? super T> outputValues) Permute the inputValues into outputValues according to positions in inputPositions and outputPositions.<T extends Any>
voidpermuteInput
(Chunk<? extends T> inputValues, IntChunk<ChunkPositions> inputPositions, WritableChunk<? super T> outputValues) Permute the inputValues into outputValues according to the positions in inputPositions.
-
Method Details
-
makePermuteKernel
-
permute
<T extends Any> void permute(Chunk<? extends T> inputValues, IntChunk<ChunkPositions> outputPositions, WritableChunk<? super T> outputValues) Permute the inputValues into outputValues according to the positions in outputPositions.- Parameters:
inputValues
- a chunk of values, which must have the same size as outputPositionsoutputPositions
- a chunk of positions, parallel to inputValues, that indicates the position in outputValues for the corresponding inputValues valueoutputValues
- an output chunk, which must be at least as big as the largest value in outputPositions
-
permute
<T extends Any> void permute(IntChunk<ChunkPositions> inputPositions, Chunk<? extends T> inputValues, IntChunk<ChunkPositions> outputPositions, WritableChunk<? super T> outputValues) Permute the inputValues into outputValues according to positions in inputPositions and outputPositions.outputValues[outputPositions] = inputValues[inputPositions]
- Parameters:
inputPositions
- a chunk of positions that indicates the position in inputValues to copy to the outputValues chunkinputValues
- a chunk of values, which must be at least as large as the largest value in inputPositionsoutputPositions
- a chunk of positions, parallel to inputPositions, that indicates the position in outputValues for the corresponding inputValues valueoutputValues
- an output chunk, which must be at least as big as the largest value in outputPositions
-
permuteInput
<T extends Any> void permuteInput(Chunk<? extends T> inputValues, IntChunk<ChunkPositions> inputPositions, WritableChunk<? super T> outputValues) Permute the inputValues into outputValues according to the positions in inputPositions.- Parameters:
inputValues
- a chunk of values, which must be at least as big as the largest value in inputPositionsinputPositions
- a chunk of positions, parallel to outputValues, that indicates the position in inputValues for the corresponding outputValues valueoutputValues
- an output chunk, which must have the same size as inputPositions
-