Class ByteCopyKernel
java.lang.Object
io.deephaven.engine.table.impl.util.copy.ByteCopyKernel
- All Implemented Interfaces:
CopyKernel
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.deephaven.engine.table.impl.util.copy.CopyKernel
CopyKernel.Utils
-
Field Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic <T extends Any>
voidconditionalCopy
(WritableByteChunk<T> output, byte[] baseInput, byte[] overInput, long[] useOverInput, int srcOffset, int dstOffset, int length) Copy values from baseInput / overInput into output.<T extends Any>
voidconditionalCopy
(WritableChunk<T> output, Object baseInput, Object overInput, long[] useOverInput, int srcOffset, int dstOffset, int length) Copy values from baseInput / overInput into output.
-
Field Details
-
INSTANCE
-
-
Method Details
-
conditionalCopy
public static <T extends Any> void conditionalCopy(WritableByteChunk<T> output, byte[] baseInput, byte[] overInput, long[] useOverInput, int srcOffset, int dstOffset, int length) Copy values from baseInput / overInput into output.Pseudo-implementation: output[i] = useOverInput.forBit(i) ? overInput[i] : baseInput[i];
Note that useOverInput should cover the same data range as baseInput such that
useOverInput.length == (overInput.length + 63) / 64
is true.- Parameters:
output
- the output chunkbaseInput
- the input array to use when bit in useOverInput is zero (array)overInput
- the input array to use when bit in useOverInput is one (array)useOverInput
- the bitset array to indicate whether to use baseInput or overInput for each elementsrcOffset
- the offset in baseInput/overInputdstOffset
- the offset in outputlength
- the number of elements to copy
-
conditionalCopy
public <T extends Any> void conditionalCopy(WritableChunk<T> output, Object baseInput, Object overInput, long[] useOverInput, int srcOffset, int dstOffset, int length) Description copied from interface:CopyKernel
Copy values from baseInput / overInput into output.Pseudo-implementation: output[i] = useOverInput.forBit(i) ? overInput[i] : baseInput[i];
Note that useOverInput should cover the same data range as baseInput such that
useOverInput.length == (overInput.length + 63) / 64
is true.- Specified by:
conditionalCopy
in interfaceCopyKernel
- Parameters:
output
- the output chunkbaseInput
- the input array to use when bit in useOverInput is zero (array)overInput
- the input array to use when bit in useOverInput is one (array)useOverInput
- the bitset array to indicate whether to use baseInput or overInput for each elementsrcOffset
- the offset in baseInput/overInputdstOffset
- the offset in outputlength
- the number of elements to copy
-