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

pack-priv abstract sealed Class AbstractSpecies<E>

extends VectorSupport.VectorSpecies<E>
implements VectorSpecies<E>
permits ByteSpecies, DoubleSpecies, FloatSpecies, IntSpecies, LongSpecies, ShortSpecies
Class Inheritance
All Implemented Interfaces
jdk.incubator.vector.VectorSpecies
Known Direct Subclasses
jdk.incubator.vector.ByteVector.ByteSpecies, jdk.incubator.vector.DoubleVector.DoubleSpecies, jdk.incubator.vector.FloatVector.FloatSpecies, jdk.incubator.vector.IntVector.IntSpecies, jdk.incubator.vector.LongVector.LongSpecies, jdk.incubator.vector.ShortVector.ShortSpecies
Annotations
@TrustFinalFields
Imports
java.lang.reflect.Array, java.util.Arrays, java.util.function.Function, .IntUnaryOperator, jdk.internal.vm.annotation.ForceInline, .Stable, .TrustFinalFields

Nested and Inner Type Summary

Modifier and TypeClass and Description
pack-priv static interface
pack-priv static interface

Field Summary

Modifier and TypeField and Description
private static final AbstractSpecies<?>[][]
pack-priv AbstractVector<E>
pack-priv final VectorShape
pack-priv AbstractSpecies<Integer>
pack-priv final int
pack-priv final int
pack-priv final LaneType
pack-priv final Class<? extends AbstractMask<E>>
pack-priv final int
pack-priv final int
pack-priv final Class<? extends AbstractShuffle<E>>
pack-priv AbstractShuffle<Byte>
pack-priv final int
pack-priv final int
pack-priv final Function<Object, ? extends AbstractVector<E>>
pack-priv final VectorShape
pack-priv final Class<? extends AbstractVector<E>>

Constructor Summary

AccessConstructor and Description
pack-priv
AbstractSpecies(VectorShape vectorShape, LaneType laneType, Class<? extends AbstractVector<E>> vectorType, Class<? extends AbstractMask<E>> maskType, Class<? extends AbstractShuffle<E>> shuffleType, Function<Object, ? extends AbstractVector<E>> vectorFactory)

Method Summary

Modifier and TypeMethod and Description
pack-priv AbstractSpecies<?>
pack-priv AbstractSpecies<?>
pack-priv static final IllegalArgumentException
badArrayBits(Object iv, boolean isInt, long cv)

pack-priv final IllegalArgumentException
badElementBits(long iv, Object cv)

pack-priv abstract AbstractVector<E>
broadcastBits(long bits)

pack-priv AbstractSpecies<Byte>
pack-priv Class<E>
public final <F> VectorSpecies<F>
check(Class<F> elementType)

Implements jdk.incubator.vector.VectorSpecies.check.

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

pack-priv AbstractSpecies<E>
check(LaneType laneType)

pack-priv final <F> AbstractSpecies<F>
check0(Class<F> elementType)

pack-priv static ClassCastException
checkFailed(Object what, Object required)

Helper for throwing CheckCastExceptions, used by the various Vector*.check(*) methods.

pack-priv void
checkScale(int scale)

private IllegalArgumentException
checkScaleFailed(int scale)

private static AbstractSpecies<?>
pack-priv AbstractVector<E>
dummyVector()

Do not use a dummy except to call methods on it when you don't care about the lane values.

pack-priv final int
public final int
elementSize()

Implements jdk.incubator.vector.VectorSpecies.elementSize.

Returns the lane size, in bits, of vectors of this species.

public Class<E>
elementType()

Implements jdk.incubator.vector.VectorSpecies.elementType.

Returns the primitive element type of vectors of this species.

public final boolean
equals(Object obj)

Overrides java.lang.Object.equals.

Implements jdk.incubator.vector.VectorSpecies.equals.

Indicates whether this species is identical to some other object.

pack-priv static <E> AbstractSpecies<E>
findSpecies(Class<E> elementType, LaneType laneType, VectorShape shape)

pack-priv static AbstractSpecies<?>
findSpecies(LaneType laneType, VectorShape shape)

pack-priv abstract Vector<E>
fromIntValues(int[] values)

pack-priv Class<E>
public final int

Returns:

a hash code value for this shuffle
hashCode
()

Overrides java.lang.Object.hashCode.

Implements jdk.incubator.vector.VectorSpecies.hashCode.

Returns a hash code value for the shuffle, based on the lane source indexes and the vector species.

public final VectorMask<E>
indexInRange(int offset, int limit)

Implements jdk.incubator.vector.VectorSpecies.indexInRange.

Returns a mask of this species where only the lanes at index N such that the adjusted index N+offset is in the range [0..limit-1] are set.

public final VectorMask<E>
indexInRange(long offset, long limit)

Implements jdk.incubator.vector.VectorSpecies.indexInRange.

Returns a mask of this species where only the lanes at index N such that the adjusted index N+offset is in the range [0..limit-1] are set.

pack-priv final VectorShape
pack-priv AbstractSpecies<Integer>
pack-priv abstract AbstractVector<E>
iota()

pack-priv Object
public final VectorShuffle<E>
iotaShuffle(int start, int step, boolean wrap)

Implements jdk.incubator.vector.VectorSpecies.iotaShuffle.

Creates a shuffle using source indexes set to sequential values starting from start and stepping by the given step.

pack-priv final int
pack-priv final int
pack-priv int
public final int
length()

Implements jdk.incubator.vector.VectorSpecies.length.

Returns the number of lanes in a vector of this species.

public VectorMask<E>
loadMask(boolean[] bits, int offset)

Implements jdk.incubator.vector.VectorSpecies.loadMask.

Returns a mask of this species where lane elements are initialized from the given array at the given offset.

pack-priv abstract long
public final int
loopBound(int length)

Implements jdk.incubator.vector.VectorSpecies.loopBound.

Loop control function which returns the largest multiple of VLENGTH that is less than or equal to the given length value.

public final long
loopBound(long length)

Implements jdk.incubator.vector.VectorSpecies.loopBound.

Loop control function which returns the largest multiple of VLENGTH that is less than or equal to the given length value.

private AbstractVector<E>
private AbstractShuffle<Byte>
pack-priv AbstractMask<E>
maskFactory(boolean[] bits)

Build a mask by directly calling its constructor.

public final Class<? extends AbstractMask<E>>
maskType()

Implements jdk.incubator.vector.VectorSpecies.maskType.

Returns the vector mask type for this species.

pack-priv AbstractMask<E>
public int
partLimit(VectorSpecies<?> toSpecies, boolean lanewise)

Implements jdk.incubator.vector.VectorSpecies.partLimit.

Given this species and a second one, reports the net expansion or contraction of a (potentially) resizing reinterpretation cast or lane-wise conversion from this species to the second.

pack-priv abstract AbstractVector<E>
public final VectorShuffle<E>
shuffleFromArray(int[] sourceIndexes, int offset)

Implements jdk.incubator.vector.VectorSpecies.shuffleFromArray.

Creates a shuffle for this species from an int array starting at an offset.

public final VectorShuffle<E>
shuffleFromOp(IntUnaryOperator fn)

Implements jdk.incubator.vector.VectorSpecies.shuffleFromOp.

Creates a shuffle for this species from the successive values of an operator applied to the range [0..VLENGTH-1].

public final VectorShuffle<E>
shuffleFromValues(int... sourceIndexes)

Implements jdk.incubator.vector.VectorSpecies.shuffleFromValues.

Creates a shuffle for this species from a series of source indexes.

pack-priv final Class<? extends AbstractShuffle<E>>
pack-priv AbstractShuffle<Byte>
public final String
toString()

Overrides java.lang.Object.toString.

Implements jdk.incubator.vector.VectorSpecies.toString.

Returns a string of the form "Species[ETYPE, VLENGTH, SHAPE]", where ETYPE is the primitive lane type, VLENGTH is the vector lane count associated with the species, and SHAPE is the vector shape associated with the species.

public final int
vectorBitSize()

Implements jdk.incubator.vector.VectorSpecies.vectorBitSize.

Returns the total vector size, in bits, of any vector of this species.

public final int
vectorByteSize()

Implements jdk.incubator.vector.VectorSpecies.vectorByteSize.

Returns the total vector size, in bytes, of any vector of this species.

public final VectorShape
vectorShape()

Implements jdk.incubator.vector.VectorSpecies.vectorShape.

Returns the shape of vectors produced by this species.

public Class<? extends AbstractVector<E>>
vectorType()

Implements jdk.incubator.vector.VectorSpecies.vectorType.

Returns the vector type of this species.

public final <F> VectorSpecies<F>
withLanes(Class<F> newType)

Implements jdk.incubator.vector.VectorSpecies.withLanes.

Finds a species with the given element type and the same shape as this species.

pack-priv final AbstractSpecies<?>
public final VectorSpecies<E>
withShape(VectorShape newShape)

Implements jdk.incubator.vector.VectorSpecies.withShape.

Finds a species with the given shape and the same elementType as this species.

public abstract AbstractVector<E>
zero()

Redeclares jdk.incubator.vector.VectorSpecies.zero.

Returns a vector of this species where all lane elements are set to the default primitive value, (ETYPE)0.

Field Detail

CACHESback to summary
private static final AbstractSpecies<?>[][] CACHES
Annotations
@Stable
dummyVectorback to summary
pack-priv AbstractVector<E> dummyVector
Annotations
@Stable
indexShapeback to summary
pack-priv final VectorShape indexShape
indexSpeciesback to summary
pack-priv AbstractSpecies<Integer> indexSpecies
Annotations
@Stable
laneCountback to summary
pack-priv final int laneCount
laneCountLog2P1back to summary
pack-priv final int laneCountLog2P1
laneTypeback to summary
pack-priv final LaneType laneType
maskTypeback to summary
pack-priv final Class<? extends AbstractMask<E>> maskType
maxScaleback to summary
pack-priv final int maxScale
minScaleback to summary
pack-priv final int minScale
shuffleTypeback to summary
pack-priv final Class<? extends AbstractShuffle<E>> shuffleType
swapBytesShuffleback to summary
pack-priv AbstractShuffle<Byte> swapBytesShuffle
Annotations
@Stable
vectorBitSizeback to summary
pack-priv final int vectorBitSize
vectorByteSizeback to summary
pack-priv final int vectorByteSize
vectorFactoryback to summary
pack-priv final Function<Object, ? extends AbstractVector<E>> vectorFactory
vectorShapeback to summary
pack-priv final VectorShape vectorShape
vectorTypeback to summary
pack-priv final Class<? extends AbstractVector<E>> vectorType

Constructor Detail

AbstractSpeciesback to summary
pack-priv AbstractSpecies(VectorShape vectorShape, LaneType laneType, Class<? extends AbstractVector<E>> vectorType, Class<? extends AbstractMask<E>> maskType, Class<? extends AbstractShuffle<E>> shuffleType, Function<Object, ? extends AbstractVector<E>> vectorFactory)

Method Detail

asFloatingback to summary
pack-priv AbstractSpecies<?> asFloating()
Annotations
@ForceInline
asIntegralback to summary
pack-priv AbstractSpecies<?> asIntegral()
Annotations
@ForceInline
badArrayBitsback to summary
pack-priv static final IllegalArgumentException badArrayBits(Object iv, boolean isInt, long cv)
badElementBitsback to summary
pack-priv final IllegalArgumentException badElementBits(long iv, Object cv)
broadcastBitsback to summary
pack-priv abstract AbstractVector<E> broadcastBits(long bits)
byteSpeciesback to summary
pack-priv AbstractSpecies<Byte> byteSpecies()
Annotations
@ForceInline
@SuppressWarnings:unchecked
carrierTypeback to summary
pack-priv Class<E> carrierType()
Annotations
@ForceInline
@SuppressWarnings:unchecked
checkback to summary
public final <F> VectorSpecies<F> check(Class<F> elementType)

Implements jdk.incubator.vector.VectorSpecies.check.

Doc from jdk.incubator.vector.VectorSpecies.check.

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

Annotations
@Override
@ForceInline
checkback to summary
pack-priv AbstractSpecies<E> check(LaneType laneType)
Annotations
@ForceInline
check0back to summary
pack-priv final <F> AbstractSpecies<F> check0(Class<F> elementType)
Annotations
@ForceInline
@SuppressWarnings:unchecked
checkFailedback to summary
pack-priv static ClassCastException checkFailed(Object what, Object required)

Helper for throwing CheckCastExceptions, used by the various Vector*.check(*) methods.

checkScaleback to summary
pack-priv void checkScale(int scale)
Annotations
@ForceInline
checkScaleFailedback to summary
private IllegalArgumentException checkScaleFailed(int scale)
computeSpeciesback to summary
private static AbstractSpecies<?> computeSpecies(LaneType laneType, VectorShape shape)
dummyVectorback to summary
pack-priv AbstractVector<E> dummyVector()

Do not use a dummy except to call methods on it when you don't care about the lane values. The main benefit of it is to populate the type profile, which then allows the JIT to derive constant values for dummy.species(), the current species, and then for all of its attributes: ETYPE, VLENGTH, VSHAPE, etc.

Annotations
@ForceInline
elementByteSizeback to summary
pack-priv final int elementByteSize()
Annotations
@ForceInline
elementSizeback to summary
public final int elementSize()

Implements jdk.incubator.vector.VectorSpecies.elementSize.

Doc from jdk.incubator.vector.VectorSpecies.elementSize.

Returns the lane size, in bits, of vectors of this species.

Annotations
@Override
@ForceInline
elementTypeback to summary
public Class<E> elementType()

Implements jdk.incubator.vector.VectorSpecies.elementType.

Doc from jdk.incubator.vector.VectorSpecies.elementType.

Returns the primitive element type of vectors of this species.

Annotations
@Override
@ForceInline
@SuppressWarnings:unchecked
equalsback to summary
public final boolean equals(Object obj)

Overrides java.lang.Object.equals.

Implements jdk.incubator.vector.VectorSpecies.equals.

Doc from jdk.incubator.vector.VectorSpecies.equals.

Indicates whether this species is identical to some other object. Two species are identical only if they have the same shape and same element type.

Annotations
@Override
findSpeciesback to summary
pack-priv static <E> AbstractSpecies<E> findSpecies(Class<E> elementType, LaneType laneType, VectorShape shape)
Annotations
@ForceInline
findSpeciesback to summary
pack-priv static AbstractSpecies<?> findSpecies(LaneType laneType, VectorShape shape)
Annotations
@ForceInline
fromIntValuesback to summary
pack-priv abstract Vector<E> fromIntValues(int[] values)
genericElementTypeback to summary
pack-priv Class<E> genericElementType()
Annotations
@ForceInline
@SuppressWarnings:unchecked
hashCodeback to summary
public final int hashCode()

Overrides java.lang.Object.hashCode.

Implements jdk.incubator.vector.VectorSpecies.hashCode.

Returns a hash code value for the shuffle, based on the lane source indexes and the vector species.

Returns:int

a hash code value for this shuffle

Annotations
@Override
indexInRangeback to summary
public final VectorMask<E> indexInRange(int offset, int limit)

Implements jdk.incubator.vector.VectorSpecies.indexInRange.

Doc from jdk.incubator.vector.VectorSpecies.indexInRange.

Returns a mask of this species where only the lanes at index N such that the adjusted index N+offset is in the range [0..limit-1] are set.

This method returns the value of the expression maskAll(true).indexInRange(offset, limit)

Annotations
@Override
@ForceInline
indexInRangeback to summary
public final VectorMask<E> indexInRange(long offset, long limit)

Implements jdk.incubator.vector.VectorSpecies.indexInRange.

Doc from jdk.incubator.vector.VectorSpecies.indexInRange.

Returns a mask of this species where only the lanes at index N such that the adjusted index N+offset is in the range [0..limit-1] are set.

This method returns the value of the expression maskAll(true).indexInRange(offset, limit)

Annotations
@Override
@ForceInline
indexShapeback to summary
pack-priv final VectorShape indexShape()
Annotations
@ForceInline
indexSpeciesback to summary
pack-priv AbstractSpecies<Integer> indexSpecies()
Annotations
@ForceInline
iotaback to summary
pack-priv abstract AbstractVector<E> iota()
iotaArrayback to summary
pack-priv Object iotaArray()
iotaShuffleback to summary
public final VectorShuffle<E> iotaShuffle(int start, int step, boolean wrap)

Implements jdk.incubator.vector.VectorSpecies.iotaShuffle.

Doc from jdk.incubator.vector.VectorSpecies.iotaShuffle.

Creates a shuffle using source indexes set to sequential values starting from start and stepping by the given step.

This method returns the value of the expression VectorSpecies.shuffleFromOp(i -> R(start + i * step)), where R is wrapIndex if wrap is true, and is the identity function otherwise.

If wrap is false each index is validated against the species VLENGTH, and (if invalid) is partially wrapped to an exceptional index in the range [-VLENGTH..-1]. Otherwise, if wrap is true, also reduce each index, as if by wrapIndex, to the valid range [0..VLENGTH-1].

Annotations
@Override
@ForceInline
laneCountback to summary
pack-priv final int laneCount()
Annotations
@ForceInline
laneCountLog2back to summary
pack-priv final int laneCountLog2()
Annotations
@ForceInline
laneTypeOrdinalback to summary
pack-priv int laneTypeOrdinal()
Annotations
@ForceInline
@SuppressWarnings:unchecked
lengthback to summary
public final int length()

Implements jdk.incubator.vector.VectorSpecies.length.

Doc from jdk.incubator.vector.VectorSpecies.length.

Returns the number of lanes in a vector of this species.

Annotations
@Override
@ForceInline
loadMaskback to summary
public VectorMask<E> loadMask(boolean[] bits, int offset)

Implements jdk.incubator.vector.VectorSpecies.loadMask.

Doc from jdk.incubator.vector.VectorSpecies.loadMask.

Returns a mask of this species where lane elements are initialized from the given array at the given offset. Equivalent to VectorMask.fromArray(this,a,offset).

Annotations
@Override
longToElementBitsback to summary
pack-priv abstract long longToElementBits(long e)
loopBoundback to summary
public final int loopBound(int length)

Implements jdk.incubator.vector.VectorSpecies.loopBound.

Doc from jdk.incubator.vector.VectorSpecies.loopBound.

Loop control function which returns the largest multiple of VLENGTH that is less than or equal to the given length value. Here, VLENGTH is the result of this.length(), and length is interpreted as a number of lanes. The resulting value R satisfies this inequality:

R <= length < R+VLENGTH

Specifically, this method computes length - floorMod(length, VLENGTH), where floorMod computes a remainder value by rounding its quotient toward negative infinity. As long as VLENGTH is a power of two, then the result is also equal to length & ~(VLENGTH - 1).

Annotations
@Override
@ForceInline
loopBoundback to summary
public final long loopBound(long length)

Implements jdk.incubator.vector.VectorSpecies.loopBound.

Doc from jdk.incubator.vector.VectorSpecies.loopBound.

Loop control function which returns the largest multiple of VLENGTH that is less than or equal to the given length value. Here, VLENGTH is the result of this.length(), and length is interpreted as a number of lanes. The resulting value R satisfies this inequality:

R <= length < R+VLENGTH

Specifically, this method computes length - floorMod(length, VLENGTH), where floorMod computes a remainder value by rounding its quotient toward negative infinity. As long as VLENGTH is a power of two, then the result is also equal to length & ~(VLENGTH - 1).

Annotations
@Override
@ForceInline
makeDummyVectorback to summary
private AbstractVector<E> makeDummyVector()
makeSwapBytesShuffleback to summary
private AbstractShuffle<Byte> makeSwapBytesShuffle()
maskFactoryback to summary
pack-priv AbstractMask<E> maskFactory(boolean[] bits)

Build a mask by directly calling its constructor. It is an error if the array is aliased elsewhere.

Annotations
@ForceInline
maskTypeback to summary
public final Class<? extends AbstractMask<E>> maskType()

Implements jdk.incubator.vector.VectorSpecies.maskType.

Doc from jdk.incubator.vector.VectorSpecies.maskType.

Returns the vector mask type for this species.

Annotations
@Override
@ForceInline
opmback to summary
pack-priv AbstractMask<E> opm(AbstractSpecies.FOpm f)
partLimitback to summary
public int partLimit(VectorSpecies<?> toSpecies, boolean lanewise)

Implements jdk.incubator.vector.VectorSpecies.partLimit.

Doc from jdk.incubator.vector.VectorSpecies.partLimit.

Given this species and a second one, reports the net expansion or contraction of a (potentially) resizing reinterpretation cast or lane-wise conversion from this species to the second. The sign and magnitude of the return value depends on the size difference between the proposed input and output shapes, and (optionally, if lanewise is true) also on the size difference between the proposed input and output lanes.

  • First, a logical result size is determined. If lanewise is false, this size that of the input VSHAPE. If lanewise is true, the logical result size is the product of the input VLENGTH times the size of the output ETYPE.
  • Next, the logical result size is compared against the size of the proposed output shape, to see how it will fit.
  • If the logical result fits precisely in the output shape, the return value is zero, signifying no net expansion or contraction.
  • If the logical result would overflow the output shape, the return value is the ratio (greater than one) of the logical result size to the (smaller) output size. This ratio can be viewed as measuring the proportion of "dropped input bits" which must be deleted from the input in order for the result to fit in the output vector. It is also the part limit, an upper exclusive limit on the part parameter to a method that would transform the input species to the output species.
  • If the logical result would drop into the output shape with room to spare, the return value is a negative number whose absolute value the ratio (greater than one) between the output size and the (smaller) logical result size. This ratio can be viewed as measuring the proportion of "extra padding bits" which must be added to the logical result to fill up the output vector. It is also the part limit, an exclusive lower limit on the part parameter to a method that would transform the input species to the output species.
Annotations
@Override
@ForceInline
rvOpback to summary
pack-priv abstract AbstractVector<E> rvOp(AbstractSpecies.RVOp f)
shuffleFromArrayback to summary
public final VectorShuffle<E> shuffleFromArray(int[] sourceIndexes, int offset)

Implements jdk.incubator.vector.VectorSpecies.shuffleFromArray.

Doc from jdk.incubator.vector.VectorSpecies.shuffleFromArray.

Creates a shuffle for this species from an int array starting at an offset.

For each shuffle lane, where N is the shuffle lane index, the array element at index i + N is validated against the species VLENGTH, and (if invalid) is partially wrapped to an exceptional index in the range [-VLENGTH..-1].

Annotations
@Override
@ForceInline
shuffleFromOpback to summary
public final VectorShuffle<E> shuffleFromOp(IntUnaryOperator fn)

Implements jdk.incubator.vector.VectorSpecies.shuffleFromOp.

Doc from jdk.incubator.vector.VectorSpecies.shuffleFromOp.

Creates a shuffle for this species from the successive values of an operator applied to the range [0..VLENGTH-1].

For each shuffle lane, where N is the shuffle lane index, the Nth index value is validated against the species VLENGTH, and (if invalid) is partially wrapped to an exceptional index in the range [-VLENGTH..-1].

Care should be taken to ensure VectorShuffle values produced from this method are consumed as constants to ensure optimal generation of code. For example, shuffle values can be held in static final fields or loop-invariant local variables.

This method behaves as if a shuffle is created from an array of mapped indexes as follows:

int[] a = new int[VLENGTH];
  for (int i = 0; i < a.length; i++) {
      a[i] = fn.applyAsInt(i);
  }
  return VectorShuffle.fromArray(this, a, 0);
Annotations
@Override
@ForceInline
shuffleFromValuesback to summary
public final VectorShuffle<E> shuffleFromValues(int... sourceIndexes)

Implements jdk.incubator.vector.VectorSpecies.shuffleFromValues.

Doc from jdk.incubator.vector.VectorSpecies.shuffleFromValues.

Creates a shuffle for this species from a series of source indexes.

For each shuffle lane, where N is the shuffle lane index, the Nth index value is validated against the species VLENGTH, and (if invalid) is partially wrapped to an exceptional index in the range [-VLENGTH..-1].

Annotations
@Override
@ForceInline
shuffleTypeback to summary
pack-priv final Class<? extends AbstractShuffle<E>> shuffleType()
Annotations
@ForceInline
swapBytesShuffleback to summary
pack-priv AbstractShuffle<Byte> swapBytesShuffle()
Annotations
@ForceInline
toStringback to summary
public final String toString()

Overrides java.lang.Object.toString.

Implements jdk.incubator.vector.VectorSpecies.toString.

Doc from jdk.incubator.vector.VectorSpecies.toString.

Returns a string of the form "Species[ETYPE, VLENGTH, SHAPE]", where ETYPE is the primitive lane type, VLENGTH is the vector lane count associated with the species, and SHAPE is the vector shape associated with the species.

Annotations
@Override
vectorBitSizeback to summary
public final int vectorBitSize()

Implements jdk.incubator.vector.VectorSpecies.vectorBitSize.

Doc from jdk.incubator.vector.VectorSpecies.vectorBitSize.

Returns the total vector size, in bits, of any vector of this species. This is the same value as this.vectorShape().vectorBitSize().

Annotations
@Override
@ForceInline
vectorByteSizeback to summary
public final int vectorByteSize()

Implements jdk.incubator.vector.VectorSpecies.vectorByteSize.

Doc from jdk.incubator.vector.VectorSpecies.vectorByteSize.

Returns the total vector size, in bytes, of any vector of this species. This is the same value as this.vectorShape().vectorBitSize() / Byte.SIZE.

Annotations
@Override
@ForceInline
vectorShapeback to summary
public final VectorShape vectorShape()

Implements jdk.incubator.vector.VectorSpecies.vectorShape.

Doc from jdk.incubator.vector.VectorSpecies.vectorShape.

Returns the shape of vectors produced by this species.

Annotations
@Override
@ForceInline
vectorTypeback to summary
public Class<? extends AbstractVector<E>> vectorType()

Implements jdk.incubator.vector.VectorSpecies.vectorType.

Doc from jdk.incubator.vector.VectorSpecies.vectorType.

Returns the vector type of this species. A vector is of this species if and only if it is of the corresponding vector type.

Annotations
@Override
@ForceInline
withLanesback to summary
public final <F> VectorSpecies<F> withLanes(Class<F> newType)

Implements jdk.incubator.vector.VectorSpecies.withLanes.

Doc from jdk.incubator.vector.VectorSpecies.withLanes.

Finds a species with the given element type and the same shape as this species. Returns the same value as VectorSpecies.of(newType, this.vectorShape()).

Annotations
@Override
@ForceInline
withLanesback to summary
pack-priv final AbstractSpecies<?> withLanes(LaneType newType)
Annotations
@ForceInline
withShapeback to summary
public final VectorSpecies<E> withShape(VectorShape newShape)

Implements jdk.incubator.vector.VectorSpecies.withShape.

Doc from jdk.incubator.vector.VectorSpecies.withShape.

Finds a species with the given shape and the same elementType as this species. Returns the same value as VectorSpecies.of(this.elementType(), newShape).

Annotations
@Override
@ForceInline
@SuppressWarnings:unchecked
zeroback to summary
public abstract AbstractVector<E> zero()

Redeclares jdk.incubator.vector.VectorSpecies.zero.

Doc from jdk.incubator.vector.VectorSpecies.zero.

Returns a vector of this species where all lane elements are set to the default primitive value, (ETYPE)0. Equivalent to IntVector.zero(this) or an equivalent zero method, on the vector type corresponding to this species.

jdk.incubator.vector back to summary

pack-priv Interface AbstractSpecies.FOpm


Method Summary

Modifier and TypeMethod and Description
public boolean
apply(int i)

Method Detail

applyback to summary
public boolean apply(int i)
jdk.incubator.vector back to summary

pack-priv Interface AbstractSpecies.RVOp


Method Summary

Modifier and TypeMethod and Description
public long
apply(int i)

Method Detail

applyback to summary
public long apply(int i)