APIdia Launch Partner
Top Fields Constructors Methods
jdk.incubator.vector

pack-priv abstract sealed Class AbstractShuffle<E>

extends VectorShuffle<E>
permits ByteShuffle64, ByteShuffle128, ByteShuffle256, ByteShuffle512, ByteShuffleMax, DoubleShuffle64, DoubleShuffle128, DoubleShuffle256, DoubleShuffle512, DoubleShuffleMax, FloatShuffle64, FloatShuffle128, FloatShuffle256, FloatShuffle512, FloatShuffleMax, IntShuffle64, IntShuffle128, IntShuffle256, IntShuffle512, IntShuffleMax, LongShuffle64, LongShuffle128, LongShuffle256, LongShuffle512, LongShuffleMax, ShortShuffle64, ShortShuffle128, ShortShuffle256, ShortShuffle512, ShortShuffleMax
Class Inheritance
Known Direct Subclasses
jdk.incubator.vector.ByteVector128.ByteShuffle128, jdk.incubator.vector.ByteVector256.ByteShuffle256, jdk.incubator.vector.ByteVector512.ByteShuffle512, jdk.incubator.vector.ByteVector64.ByteShuffle64, jdk.incubator.vector.ByteVectorMax.ByteShuffleMax, jdk.incubator.vector.DoubleVector128.DoubleShuffle128, jdk.incubator.vector.DoubleVector256.DoubleShuffle256, jdk.incubator.vector.DoubleVector512.DoubleShuffle512, jdk.incubator.vector.DoubleVector64.DoubleShuffle64, jdk.incubator.vector.FloatVector128.FloatShuffle128, jdk.incubator.vector.FloatVector256.FloatShuffle256, jdk.incubator.vector.FloatVector512.FloatShuffle512, jdk.incubator.vector.FloatVector64.FloatShuffle64, jdk.incubator.vector.FloatVectorMax.FloatShuffleMax, jdk.incubator.vector.IntVector128.IntShuffle128, jdk.incubator.vector.IntVector256.IntShuffle256, jdk.incubator.vector.IntVector512.IntShuffle512, jdk.incubator.vector.IntVector64.IntShuffle64, jdk.incubator.vector.IntVectorMax.IntShuffleMax, jdk.incubator.vector.LongVector256.LongShuffle256, jdk.incubator.vector.LongVector512.LongShuffle512, jdk.incubator.vector.LongVector64.LongShuffle64, jdk.incubator.vector.LongVectorMax.LongShuffleMax, jdk.incubator.vector.ShortVector128.ShortShuffle128, jdk.incubator.vector.ShortVector256.ShortShuffle256, jdk.incubator.vector.ShortVector512.ShortShuffle512, jdk.incubator.vector.ShortVector64.ShortShuffle64, jdk.incubator.vector.ShortVectorMax.ShortShuffleMax, jdk.incubator.vector.DoubleVectorMax.DoubleShuffleMax, jdk.incubator.vector.LongVector128.LongShuffle128
Imports
java.util.function.IntUnaryOperator, jdk.internal.vm.annotation.ForceInline, jdk.internal.vm.vector.VectorSupport

Field Summary

Modifier and TypeField and Description
pack-priv static final IntUnaryOperator

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
public final <F> VectorShuffle<F>
cast(VectorSpecies<F> s)

Implements abstract jdk.incubator.vector.VectorShuffle.cast.

Converts this shuffle to a shuffle of the given species of element type F.

public final <F> VectorShuffle<F>
check(VectorSpecies<F> species)

Implements abstract jdk.incubator.vector.VectorShuffle.check.

Checks that this shuffle has the given species, and returns this shuffle unchanged.

public final int
checkIndex(int index)

Implements abstract jdk.incubator.vector.VectorShuffle.checkIndex.

Validation function for lane indexes which may be out of the valid range of [0..VLENGTH-1].

pack-priv static int
checkIndex0(int index, int laneCount, byte mode)

public final VectorShuffle<E>
checkIndexes()

Implements abstract jdk.incubator.vector.VectorShuffle.checkIndexes.

Apply the checkIndex() validation function to all lanes, throwing IndexOutOfBoundsException if there are any exceptional indexes in this shuffle.

private static IndexOutOfBoundsException
checkIndexFailed(int index, int laneCount)

pack-priv static int
partiallyWrapIndex(int index, int laneCount)

Return invalid indexes partially wrapped mod VLENGTH to negative values.

public final int[]
toArray()

Implements abstract jdk.incubator.vector.VectorShuffle.toArray.

Returns an int array containing the lane source indexes of this shuffle.

pack-priv abstract AbstractVector<?>
pack-priv abstract AbstractVector<?>
pack-priv final AbstractVector<?>
public final VectorSpecies<E>
vectorSpecies()

Implements abstract jdk.incubator.vector.VectorShuffle.vectorSpecies.

Returns the species of this shuffle.

pack-priv abstract AbstractSpecies<E>
public final int
wrapIndex(int index)

Implements abstract jdk.incubator.vector.VectorShuffle.wrapIndex.

Validation function for lane indexes which may be out of the valid range of [0..VLENGTH-1].

Inherited from jdk.incubator.vector.VectorShuffle:
equalsfromArrayfromMemorySegmentfromOpfromValueshashCodeintoArrayintoMemorySegmentiotalaneIsValidlaneSourcelengthmakeUnzipmakeZiprearrangetoStringtoVectorwrapIndexes

Field Detail

IDENTITYback to summary
pack-priv static final IntUnaryOperator IDENTITY

Constructor Detail

AbstractShuffleback to summary
pack-priv AbstractShuffle(Object indices)

Method Detail

castback to summary
public final <F> VectorShuffle<F> cast(VectorSpecies<F> s)

Implements abstract jdk.incubator.vector.VectorShuffle.cast.

Doc from jdk.incubator.vector.VectorShuffle.cast.

Converts this shuffle to a shuffle of the given species of element type F. The various lane source indexes are unmodified. Exceptional source indexes remain exceptional and valid indexes remain valid.

Annotations
@Override
@ForceInline
checkback to summary
public final <F> VectorShuffle<F> check(VectorSpecies<F> species)

Implements abstract jdk.incubator.vector.VectorShuffle.check.

Doc from jdk.incubator.vector.VectorShuffle.check.

Checks that this shuffle has the given species, and returns this shuffle unchanged. The effect is similar to this pseudocode: species == vectorSpecies() ? this : throw new ClassCastException().

Annotations
@Override
@ForceInline
@SuppressWarnings:unchecked
checkIndexback to summary
public final int checkIndex(int index)

Implements abstract jdk.incubator.vector.VectorShuffle.checkIndex.

Doc from jdk.incubator.vector.VectorShuffle.checkIndex.

Validation function for lane indexes which may be out of the valid range of [0..VLENGTH-1]. If index is in this range, it is returned unchanged. Otherwise, an IndexOutOfBoundsException is thrown.

Annotations
@Override
@ForceInline
checkIndex0back to summary
pack-priv static int checkIndex0(int index, int laneCount, byte mode)
Annotations
@ForceInline
checkIndexesback to summary
public final VectorShuffle<E> checkIndexes()

Implements abstract jdk.incubator.vector.VectorShuffle.checkIndexes.

Doc from jdk.incubator.vector.VectorShuffle.checkIndexes.

Apply the checkIndex() validation function to all lanes, throwing IndexOutOfBoundsException if there are any exceptional indexes in this shuffle.

Annotations
@Override
@ForceInline
checkIndexFailedback to summary
private static IndexOutOfBoundsException checkIndexFailed(int index, int laneCount)
partiallyWrapIndexback to summary
pack-priv static int partiallyWrapIndex(int index, int laneCount)

Return invalid indexes partially wrapped mod VLENGTH to negative values.

Annotations
@ForceInline
toArrayback to summary
public final int[] toArray()

Implements abstract jdk.incubator.vector.VectorShuffle.toArray.

Doc from jdk.incubator.vector.VectorShuffle.toArray.

Returns an int array containing the lane source indexes of this shuffle.

This method behaves as if it stores this shuffle into an allocated array (using intoArray) and returns that array as follows:

int[] a = new int[this.length()];
  VectorShuffle.intoArray(a, 0);
  return a;
Annotations
@Override
@ForceInline
toBitsVectorback to summary
pack-priv abstract AbstractVector<?> toBitsVector()
toBitsVector0back to summary
pack-priv abstract AbstractVector<?> toBitsVector0()
toBitsVectorTemplateback to summary
pack-priv final AbstractVector<?> toBitsVectorTemplate()
Annotations
@ForceInline
vectorSpeciesback to summary
public final VectorSpecies<E> vectorSpecies()

Implements abstract jdk.incubator.vector.VectorShuffle.vectorSpecies.

Doc from jdk.incubator.vector.VectorShuffle.vectorSpecies.

Returns the species of this shuffle.

Annotations
@Override
@ForceInline
vspeciesback to summary
pack-priv abstract AbstractSpecies<E> vspecies()
wrapIndexback to summary
public final int wrapIndex(int index)

Implements abstract jdk.incubator.vector.VectorShuffle.wrapIndex.

Doc from jdk.incubator.vector.VectorShuffle.wrapIndex.

Validation function for lane indexes which may be out of the valid range of [0..VLENGTH-1]. The index is forced into this range by adding or subtracting a suitable multiple of VLENGTH. Specifically, the index is reduced into the required range by computing the value of length-floor, where floor=vectorSpecies().loopBound(length) is the next lower multiple of VLENGTH. As long as VLENGTH is a power of two, then the reduced index also equal to index & (VLENGTH - 1).

Annotations
@Override
@ForceInline