Top Description Inners Fields Constructors Methods
jdk.incubator.vector

public abstract Class DoubleVector

extends AbstractVector<Double>
Class Inheritance
Known Direct Subclasses
jdk.incubator.vector.Double128Vector, jdk.incubator.vector.Double256Vector, jdk.incubator.vector.Double512Vector, jdk.incubator.vector.Double64Vector, jdk.incubator.vector.DoubleMaxVector
Annotations
@SuppressWarnings:cast
Imports
java.lang.foreign.MemorySegment, .ValueLayout, java.nio.ByteOrder, java.util.Arrays, .Objects, java.util.function.Function, jdk.internal.foreign.AbstractMemorySegmentImpl, jdk.internal.misc.ScopedMemoryAccess, .Unsafe, jdk.internal.vm.annotation.ForceInline, jdk.internal.vm.vector.VectorSupport

A specialized Vector representing an ordered immutable sequence of double values.

Nested and Inner Type Summary

Modifier and TypeClass and Description
pack-priv static class
DoubleVector.DoubleSpecies

Class representing DoubleVector's of the same VectorShape.

pack-priv static interface
pack-priv static interface
pack-priv static interface
pack-priv static interface
pack-priv static interface
pack-priv static interface
pack-priv static interface
pack-priv static interface
pack-priv static interface

Field Summary

Modifier and TypeField and Description
pack-priv static final long
pack-priv static final int
private static final VectorOperators.ImplCache<VectorOperators.Binary, VectorSupport.BinaryOperation<DoubleVector, VectorMask<Double>>>
pack-priv static final ValueLayout.OfDouble
pack-priv static final int
private static final double
private static final double
private static final VectorOperators.ImplCache<VectorOperators.Associative, VectorSupport.ReductionOperation<DoubleVector, VectorMask<Double>>>
public static final VectorSpecies<Double>
public static final VectorSpecies<Double>
public static final VectorSpecies<Double>
public static final VectorSpecies<Double>
SPECIES_64

Species representing DoubleVectors of VectorShape.S_64_BIT.

public static final VectorSpecies<Double>
public static final VectorSpecies<Double>
SPECIES_PREFERRED

Preferred species for DoubleVectors.

private static final VectorOperators.ImplCache<VectorOperators.Ternary, VectorSupport.TernaryOperation<DoubleVector, VectorMask<Double>>>
private static final VectorOperators.ImplCache<VectorOperators.Unary, VectorSupport.UnaryOperation<DoubleVector, VectorMask<Double>>>
Inherited from jdk.incubator.vector.AbstractVector:
NATIVE_ENDIANOFFSET_IN_RANGEOFFSET_OUT_OF_RANGEREGISTER_ENDIAN

Constructor Summary

AccessConstructor and Description
pack-priv
DoubleVector(double[] vec)

Method Summary

Modifier and TypeMethod and Description
public final DoubleVector
abs()

Implements abstract jdk.incubator.vector.Vector.abs.

Returns the absolute value of this vector.
public final DoubleVector
add(Vector<Double>
a second input vector
v
)

Implements abstract jdk.incubator.vector.Vector.add.

Adds this vector to a second input vector.
public final DoubleVector

Returns:

the result of adding each lane of this vector to the scalar
add
(double
the input scalar
e
)

Adds this vector to the broadcast of an input scalar.

public final DoubleVector
add(Vector<Double>
the second input vector
v
,
VectorMask<Double>
the mask controlling lane selection
m
)

Implements abstract jdk.incubator.vector.Vector.add.

Adds this vector to a second input vector, selecting lanes under the control of a mask.
public final DoubleVector

Returns:

the result of adding each lane of this vector to the scalar
add
(double
the input scalar
e
,
VectorMask<Double>
the mask controlling lane selection
m
)

Adds this vector to the broadcast of an input scalar, selecting lane elements controlled by a mask.

public abstract DoubleVector
addIndex(int
the number to multiply by each lane index N, typically 1
scale
)

Implements abstract jdk.incubator.vector.Vector.addIndex.

Adds the lanes of this vector to their corresponding lane numbers, scaled by a given constant.
pack-priv final DoubleVector
addIndexTemplate(int scale)

pack-priv static long
arrayAddress(double[] a, int index)

private static VectorSupport.BinaryOperation<DoubleVector, VectorMask<Double>>
binaryOperations(int opc_)

public abstract DoubleVector
blend(Vector<Double>
the second input vector, containing replacement lane values
v
,
VectorMask<Double>
the mask controlling lane selection from the second input vector
m
)

Implements abstract jdk.incubator.vector.Vector.blend.

Replaces selected lanes of this vector with corresponding lanes from a second input vector under the control of a mask.
public final DoubleVector

Returns:

the result of blending the lane elements of this vector with the scalar value
blend
(double
the input scalar, containing the replacement lane value
e
,
VectorMask<Double>
the mask controlling lane selection of the scalar
m
)

Replaces selected lanes of this vector with a scalar value under the control of a mask.

public final DoubleVector

Returns:

the result of blending the lane elements of this vector with the scalar value
blend
(long
the input scalar, containing the replacement lane value
e
,
VectorMask<Double>
the mask controlling lane selection of the scalar
m
)

Implements abstract jdk.incubator.vector.Vector.blend.

Replaces selected lanes of this vector with a scalar value under the control of a mask.
pack-priv final <M extends VectorMask<Double>> DoubleVector
blendTemplate(Class<M> maskType, DoubleVector v, M m)

pack-priv abstract DoubleVector
pack-priv abstract DoubleVector
pack-priv final DoubleVector
pack-priv final DoubleVector
public abstract DoubleVector

Returns:

a vector where all lane elements are set to the primitive value e
broadcast
(double
the value to broadcast
e
)

Returns a vector of the same species as this one where all lane elements are set to the primitive value e.

public static DoubleVector

Returns:

a vector where all lane elements are set to the primitive value e
broadcast
(VectorSpecies<Double>
species of the desired vector
species
,
double
the value to broadcast
e
)

Returns a vector of the given species where all lane elements are set to the primitive value e.

public abstract DoubleVector
broadcast(long
the value to broadcast
e
)

Implements abstract jdk.incubator.vector.Vector.broadcast.

Returns a vector of the same species as this one where all lane elements are set to the primitive value e.
public static DoubleVector

Returns:

a vector where all lane elements are set to the primitive value e
broadcast
(VectorSpecies<Double>
species of the desired vector
species
,
long
the value to broadcast
e
)

Returns a vector of the given species where all lane elements are set to the primitive value e.

pack-priv final DoubleVector
pack-priv final DoubleVector
pack-priv final AbstractMask<Double>
pack-priv static long
byteArrayAddress(byte[] a, int index)

private static void
checkMaskFromIndexSize(int offset, DoubleVector.DoubleSpecies vsp, VectorMask<Double> m, int scale, int limit)

private static void
checkMaskFromIndexSize(long offset, DoubleVector.DoubleSpecies vsp, VectorMask<Double> m, int scale, long limit)

public abstract VectorMask<Double>
compare(VectorOperators.Comparison
the operation used to compare lane values
op
,
Vector<Double>
a second input vector
v
)

Implements abstract jdk.incubator.vector.Vector.compare.

Tests this vector by comparing it with another input vector, according to the given comparison operation.
public abstract VectorMask<Double>

Returns:

the mask result of testing lane-wise if this vector compares to the input, according to the selected comparison operator
compare
(VectorOperators.Comparison
the operation used to compare lane values
op
,
double
the input scalar
e
)

Tests this vector by comparing it with an input scalar, according to the given comparison operation.

public final VectorMask<Double>

Returns:

the mask result of testing lane-wise if this vector compares to the input, according to the selected comparison operator, and only in the lanes selected by the mask
compare
(VectorOperators.Comparison
the operation used to compare lane values
op
,
double
the input scalar
e
,
VectorMask<Double>
the mask controlling lane selection
m
)

Tests this vector by comparing it with an input scalar, according to the given comparison operation, in lanes selected by a mask.

public abstract VectorMask<Double>
compare(VectorOperators.Comparison
the operation used to compare lane values
op
,
long
the input scalar
e
)

Implements abstract jdk.incubator.vector.Vector.compare.

Tests this vector by comparing it with an input scalar, according to the given comparison operation.
public final VectorMask<Double>
compare(VectorOperators.Comparison
the operation used to compare lane values
op
,
long
the input scalar
e
,
VectorMask<Double>
the mask controlling lane selection
m
)

Implements abstract jdk.incubator.vector.Vector.compare.

Tests this vector by comparing it with an input scalar, according to the given comparison operation, in lanes selected by a mask.
pack-priv final <M extends VectorMask<Double>> M
pack-priv final <M extends VectorMask<Double>> M
pack-priv final <M extends VectorMask<Double>> M
compareTemplate(Class<M> maskType, VectorOperators.Comparison op, double e)

pack-priv final <M extends VectorMask<Double>> M
private static boolean
compareWithOp(int cond, double a, double b)

public abstract DoubleVector
compress(VectorMask<Double>
the mask controlling the compression
m
)

Implements abstract jdk.incubator.vector.Vector.compress.

Compresses the lane elements of this vector selecting lanes under the control of a specific mask.
pack-priv static DoubleVector
pack-priv final <M extends AbstractMask<Double>> DoubleVector
compressTemplate(Class<M> masktype, M m)

private void
conditionalStoreNYI(int offset, DoubleVector.DoubleSpecies vsp, VectorMask<Double> m, int scale, int limit)

public final DoubleVector
div(Vector<Double>
a second input vector
v
)

Implements abstract jdk.incubator.vector.Vector.div.

Divides this vector by a second input vector.
public final DoubleVector

Returns:

the result of dividing each lane of this vector by the scalar
div
(double
the input scalar
e
)

Divides this vector by the broadcast of an input scalar.

public final DoubleVector
div(Vector<Double>
a second input vector
v
,
VectorMask<Double>
the mask controlling lane selection
m
)

Implements abstract jdk.incubator.vector.Vector.div.

Divides this vector by a second input vector under the control of a mask.
public final DoubleVector

Returns:

the result of dividing each lane of this vector by the scalar
div
(double
the input scalar
e
,
VectorMask<Double>
the mask controlling lane selection
m
)

Divides this vector by the broadcast of an input scalar, selecting lane elements controlled by a mask.

public final VectorMask<Double>
eq(Vector<Double>
a second input vector
v
)

Implements abstract jdk.incubator.vector.Vector.eq.

Tests if this vector is equal to another input vector.
public final VectorMask<Double>

Returns:

the result mask of testing if this vector is equal to e
eq
(double
the input scalar
e
)

Tests if this vector is equal to an input scalar.

public final boolean
equals(Object
the reference object with which to compare.
obj
)

Implements abstract jdk.incubator.vector.Vector.equals.

Indicates whether this vector is identical to some other object.
public abstract DoubleVector
expand(VectorMask<Double>
the mask controlling the compression
m
)

Implements abstract jdk.incubator.vector.Vector.expand.

Expands the lane elements of this vector under the control of a specific mask.
pack-priv static DoubleVector
pack-priv final <M extends AbstractMask<Double>> DoubleVector
expandTemplate(Class<M> masktype, M m)

public final DoubleVector

Returns:

the product of this vector and the second input vector summed with the third input vector, using extended precision for the intermediate result
fma
(Vector<Double>
the second input vector, supplying multiplier values
b
,
Vector<Double>
the third input vector, supplying addend values
c
)

Multiplies this vector by a second input vector, and sums the result with a third.

public final DoubleVector

Returns:

the product of this vector and the scalar multiplier summed with scalar addend, using extended precision for the intermediate result
fma
(double
the scalar multiplier
b
,
double
the scalar addend
c
)

Multiplies this vector by a scalar multiplier, and sums the result with a scalar addend.

public static DoubleVector

Returns:

the vector loaded from an array
fromArray
(VectorSpecies<Double>
species of desired vector
species
,
double[]
the array
a
,
int
the offset into the array
offset
)

Loads a vector from an array of type double[] starting at an offset.

public static DoubleVector

Returns:

the vector loaded from an array
fromArray
(VectorSpecies<Double>
species of desired vector
species
,
double[]
the array
a
,
int
the offset into the array
offset
,
VectorMask<Double>
the mask controlling lane selection
m
)

Loads a vector from an array of type double[] starting at an offset and using a mask.

public static DoubleVector

Returns:

the vector loaded from the indexed elements of the array
fromArray
(VectorSpecies<Double>
species of desired vector
species
,
double[]
the array
a
,
int
the offset into the array, may be negative if relative indexes in the index map compensate to produce a value within the array bounds
offset
,
int[]
the index map
indexMap
,
int
the offset into the index map
mapOffset
)

Gathers a new vector composed of elements from an array of type double[], using indexes obtained by adding a fixed offset to a series of secondary offsets from an index map.

public static DoubleVector

Returns:

the vector loaded from the indexed elements of the array
fromArray
(VectorSpecies<Double>
species of desired vector
species
,
double[]
the array
a
,
int
the offset into the array, may be negative if relative indexes in the index map compensate to produce a value within the array bounds
offset
,
int[]
the index map
indexMap
,
int
the offset into the index map
mapOffset
,
VectorMask<Double>
the mask controlling lane selection
m
)

Gathers a new vector composed of elements from an array of type double[], under the control of a mask, and using indexes obtained by adding a fixed offset to a series of secondary offsets from an index map.

pack-priv abstract DoubleVector
fromArray0(double[] a, int offset)

pack-priv abstract DoubleVector
fromArray0(double[] a, int offset, VectorMask<Double> m, int offsetInRange)

pack-priv abstract DoubleVector
fromArray0(double[] a, int offset, int[] indexMap, int mapOffset, VectorMask<Double> m)

pack-priv final DoubleVector
fromArray0Template(double[] a, int offset)

pack-priv final <M extends VectorMask<Double>> DoubleVector
fromArray0Template(Class<M> maskClass, double[] a, int offset, M m, int offsetInRange)

pack-priv final <M extends VectorMask<Double>> DoubleVector
fromArray0Template(Class<M> maskClass, double[] a, int offset, int[] indexMap, int mapOffset, M m)

pack-priv static double
fromBits(long bits)

public static DoubleVector

Returns:

a vector loaded from the memory segment
fromMemorySegment
(VectorSpecies<Double>
species of desired vector
species
,
MemorySegment
the memory segment
ms
,
long
the offset into the memory segment
offset
,
ByteOrder
the intended byte order
bo
)

Loads a vector from a memory segment starting at an offset into the memory segment.

public static DoubleVector

Returns:

a vector loaded from the memory segment
fromMemorySegment
(VectorSpecies<Double>
species of desired vector
species
,
MemorySegment
the memory segment
ms
,
long
the offset into the memory segment
offset
,
ByteOrder
the intended byte order
bo
,
VectorMask<Double>
the mask controlling lane selection
m
)

Loads a vector from a memory segment starting at an offset into the memory segment and using a mask.

pack-priv abstract DoubleVector
pack-priv abstract DoubleVector
fromMemorySegment0(MemorySegment ms, long offset, VectorMask<Double> m, int offsetInRange)

pack-priv final DoubleVector
pack-priv final <M extends VectorMask<Double>> DoubleVector
fromMemorySegment0Template(Class<M> maskClass, MemorySegment ms, long offset, M m, int offsetInRange)

public final int
hashCode()

Implements abstract jdk.incubator.vector.Vector.hashCode.

Returns a hash code value for the vector.
public final void
intoArray(double[]
the array, of type double[]
a
,
int
the offset into the array
offset
)

Stores this vector into an array of type double[] starting at an offset.

public final void
intoArray(double[]
the array, of type double[]
a
,
int
the offset into the array
offset
,
VectorMask<Double>
the mask controlling lane storage
m
)

Stores this vector into an array of type double[] starting at offset and using a mask.

public final void
intoArray(double[]
the array
a
,
int
an offset to combine with the index map offsets
offset
,
int[]
the index map
indexMap
,
int
the offset into the index map
mapOffset
)

Scatters this vector into an array of type double[] using indexes obtained by adding a fixed offset to a series of secondary offsets from an index map.

public final void
intoArray(double[]
the array
a
,
int
an offset to combine with the index map offsets
offset
,
int[]
the index map
indexMap
,
int
the offset into the index map
mapOffset
,
VectorMask<Double>
the mask
m
)

Scatters this vector into an array of type double[], under the control of a mask, and using indexes obtained by adding a fixed offset to a series of secondary offsets from an index map.

pack-priv abstract void
intoArray0(double[] a, int offset)

pack-priv abstract void
intoArray0(double[] a, int offset, VectorMask<Double> m)

pack-priv abstract void
intoArray0(double[] a, int offset, int[] indexMap, int mapOffset, VectorMask<Double> m)

pack-priv final void
intoArray0Template(double[] a, int offset)

pack-priv final <M extends VectorMask<Double>> void
intoArray0Template(Class<M> maskClass, double[] a, int offset, M m)

pack-priv final <M extends VectorMask<Double>> void
intoArray0Template(Class<M> maskClass, double[] a, int offset, int[] indexMap, int mapOffset, M m)

public final void
intoMemorySegment(MemorySegment
the memory segment
ms
,
long
the offset into the memory segment
offset
,
ByteOrder
the intended byte order
bo
)

Implements abstract jdk.incubator.vector.Vector.intoMemorySegment.

Stores this vector into a memory segment starting at an offset using explicit byte order.
public final void
intoMemorySegment(MemorySegment
the memory segment
ms
,
long
the offset into the memory segment
offset
,
ByteOrder
the intended byte order
bo
,
VectorMask<Double>
the mask controlling lane selection
m
)

Implements abstract jdk.incubator.vector.Vector.intoMemorySegment.

Stores this vector into a memory segment starting at an offset using explicit byte order and a mask.
pack-priv final void
pack-priv abstract void
pack-priv final <M extends VectorMask<Double>> void
intoMemorySegment0Template(Class<M> maskClass, MemorySegment ms, long offset, M m)

public abstract double

Returns:

the lane element at lane index i
lane
(int
the lane index
i
)

Gets the lane element at lane index i

public abstract DoubleVector
lanewise(VectorOperators.Unary
the operation used to process lane values
op
)

Implements abstract jdk.incubator.vector.Vector.lanewise.

Operates on the lane values of this vector.
public abstract DoubleVector
lanewise(VectorOperators.Unary
the operation used to process lane values
op
,
VectorMask<Double>
the mask controlling lane selection
m
)

Implements abstract jdk.incubator.vector.Vector.lanewise.

Operates on the lane values of this vector, with selection of lane elements controlled by a mask.
public abstract DoubleVector
lanewise(VectorOperators.Binary
the operation used to combine lane values
op
,
Vector<Double>
the input vector
v
)

Implements abstract jdk.incubator.vector.Vector.lanewise.

Combines the corresponding lane values of this vector with those of a second input vector.
public abstract DoubleVector
lanewise(VectorOperators.Binary
the operation used to combine lane values
op
,
Vector<Double>
the second input vector
v
,
VectorMask<Double>
the mask controlling lane selection
m
)

Implements abstract jdk.incubator.vector.Vector.lanewise.

Combines the corresponding lane values of this vector with those of a second input vector, with selection of lane elements controlled by a mask.
public final DoubleVector

Returns:

the result of applying the operation lane-wise to the two input vectors
lanewise
(VectorOperators.Binary
the operation used to process lane values
op
,
double
the input scalar
e
)

Combines the lane values of this vector with the value of a broadcast scalar.

public final DoubleVector

Returns:

the result of applying the operation lane-wise to the input vector and the scalar
lanewise
(VectorOperators.Binary
the operation used to process lane values
op
,
double
the input scalar
e
,
VectorMask<Double>
the mask controlling lane selection
m
)

Combines the lane values of this vector with the value of a broadcast scalar, with selection of lane elements controlled by a mask.

public final DoubleVector
lanewise(VectorOperators.Binary
the operation used to combine lane values
op
,
long
the input scalar
e
)

Implements abstract jdk.incubator.vector.Vector.lanewise.

Combines the lane values of this vector with the value of a broadcast scalar.
public final DoubleVector
lanewise(VectorOperators.Binary
the operation used to combine lane values
op
,
long
the input scalar
e
,
VectorMask<Double>
the mask controlling lane selection
m
)

Implements abstract jdk.incubator.vector.Vector.lanewise.

Combines the corresponding lane values of this vector with those of a second input vector, with selection of lane elements controlled by a mask.
public abstract DoubleVector
lanewise(VectorOperators.Ternary
the operation used to combine lane values
op
,
Vector<Double>
the second input vector
v1
,
Vector<Double>
the third input vector
v2
)

Implements abstract jdk.incubator.vector.Vector.lanewise.

Combines the corresponding lane values of this vector with the lanes of a second and a third input vector.
public abstract DoubleVector
lanewise(VectorOperators.Ternary
the operation used to combine lane values
op
,
Vector<Double>
the second input vector
v1
,
Vector<Double>
the third input vector
v2
,
VectorMask<Double>
the mask controlling lane selection
m
)

Implements abstract jdk.incubator.vector.Vector.lanewise.

Combines the corresponding lane values of this vector with the lanes of a second and a third input vector, with selection of lane elements controlled by a mask.
public final DoubleVector

Returns:

the result of applying the operation lane-wise to the input vector and the scalars
lanewise
(VectorOperators.Ternary
the operation used to combine lane values
op
,
double
the first input scalar
e1
,
double
the second input scalar
e2
)

Combines the lane values of this vector with the values of two broadcast scalars.

public final DoubleVector

Returns:

the result of applying the operation lane-wise to the input vector and the scalars
lanewise
(VectorOperators.Ternary
the operation used to combine lane values
op
,
double
the first input scalar
e1
,
double
the second input scalar
e2
,
VectorMask<Double>
the mask controlling lane selection
m
)

Combines the lane values of this vector with the values of two broadcast scalars, with selection of lane elements controlled by a mask.

public final DoubleVector

Returns:

the result of applying the operation lane-wise to the input vectors and the scalar
lanewise
(VectorOperators.Ternary
the operation used to combine lane values
op
,
Vector<Double>
the other input vector
v1
,
double
the input scalar
e2
)

Combines the lane values of this vector with the values of another vector and a broadcast scalar.

public final DoubleVector

Returns:

the result of applying the operation lane-wise to the input vectors and the scalar
lanewise
(VectorOperators.Ternary
the operation used to combine lane values
op
,
Vector<Double>
the other input vector
v1
,
double
the input scalar
e2
,
VectorMask<Double>
the mask controlling lane selection
m
)

Combines the lane values of this vector with the values of another vector and a broadcast scalar, with selection of lane elements controlled by a mask.

public final DoubleVector

Returns:

the result of applying the operation lane-wise to the input vectors and the scalar
lanewise
(VectorOperators.Ternary
the operation used to combine lane values
op
,
double
the input scalar
e1
,
Vector<Double>
the other input vector
v2
)

Combines the lane values of this vector with the values of another vector and a broadcast scalar.

public final DoubleVector

Returns:

the result of applying the operation lane-wise to the input vectors and the scalar
lanewise
(VectorOperators.Ternary
the operation used to combine lane values
op
,
double
the input scalar
e1
,
Vector<Double>
the other input vector
v2
,
VectorMask<Double>
the mask controlling lane selection
m
)

Combines the lane values of this vector with the values of another vector and a broadcast scalar, with selection of lane elements controlled by a mask.

pack-priv final DoubleVector
pack-priv final DoubleVector
pack-priv final DoubleVector
pack-priv final DoubleVector
pack-priv final DoubleVector
pack-priv final DoubleVector
pack-priv final DoubleVector
ldLongOp(MemorySegment memory, long offset, DoubleVector.FLdLongOp f)

pack-priv final DoubleVector
pack-priv final <M> DoubleVector
ldOp(M memory, int offset, DoubleVector.FLdOp<M> f)

pack-priv final <M> DoubleVector
ldOp(M memory, int offset, VectorMask<Double> m, DoubleVector.FLdOp<M> f)

public final VectorMask<Double>
lt(Vector<Double>
a second input vector
v
)

Implements abstract jdk.incubator.vector.Vector.lt.

Tests if this vector is less than another input vector.
public final VectorMask<Double>

Returns:

the mask result of testing if this vector is less than the input scalar
lt
(double
the input scalar
e
)

Tests if this vector is less than an input scalar.

pack-priv final AbstractMask<Double>
maskFactory(boolean[] bits)

Build a mask directly using my species.

public final DoubleVector
max(Vector<Double>
a second input vector
v
)

Implements abstract jdk.incubator.vector.Vector.max.

Computes the larger of this vector and a second input vector.
public final DoubleVector

Returns:

the result of multiplying this vector by the given scalar
max
(double
the input scalar
e
)

Computes the larger of this vector and the broadcast of an input scalar.

pack-priv final DoubleVector
pack-priv static double
memorySegmentGet(MemorySegment ms, long o, int i)

pack-priv static void
memorySegmentSet(MemorySegment ms, long o, int i, double e)

public final DoubleVector
min(Vector<Double>
a second input vector
v
)

Implements abstract jdk.incubator.vector.Vector.min.

Computes the smaller of this vector and a second input vector.
public final DoubleVector

Returns:

the result of multiplying this vector by the given scalar
min
(double
the input scalar
e
)

Computes the smaller of this vector and the broadcast of an input scalar.

public final DoubleVector
mul(Vector<Double>
a second input vector
v
)

Implements abstract jdk.incubator.vector.Vector.mul.

Multiplies this vector by a second input vector.
public final DoubleVector

Returns:

the result of multiplying this vector by the given scalar
mul
(double
the input scalar
e
)

Multiplies this vector by the broadcast of an input scalar.

public final DoubleVector
mul(Vector<Double>
the second input vector
v
,
VectorMask<Double>
the mask controlling lane selection
m
)

Implements abstract jdk.incubator.vector.Vector.mul.

Multiplies this vector by a second input vector under the control of a mask.
public final DoubleVector

Returns:

the result of muling each lane of this vector to the scalar
mul
(double
the input scalar
e
,
VectorMask<Double>
the mask controlling lane selection
m
)

Multiplies this vector by the broadcast of an input scalar, selecting lane elements controlled by a mask.

public final DoubleVector
neg()

Implements abstract jdk.incubator.vector.Vector.neg.

Negates this vector.
pack-priv static int
pack-priv static int
opCode(VectorOperators.Operator op, int requireKind)

pack-priv static boolean
public final DoubleVector

Returns:

the b-th power of this vector
pow
(Vector<Double>
a vector exponent by which to raise this vector
b
)

Raises this vector to the power of a second input vector.

public final DoubleVector

Returns:

the b-th power of this vector
pow
(double
a scalar exponent by which to raise this vector
b
)

Raises this vector to a scalar power.

public abstract DoubleVector
rearrange(VectorShuffle<Double>
the shuffle controlling lane index selection
m
)

Implements abstract jdk.incubator.vector.Vector.rearrange.

Rearranges the lane elements of this vector, selecting lanes under the control of a specific shuffle.
public abstract DoubleVector
rearrange(VectorShuffle<Double>
the shuffle controlling lane index selection
s
,
VectorMask<Double>
the mask controlling application of the shuffle
m
)

Implements abstract jdk.incubator.vector.Vector.rearrange.

Rearranges the lane elements of this vector, selecting lanes under the control of a specific shuffle and a mask.
public abstract DoubleVector
rearrange(VectorShuffle<Double>
the shuffle controlling lane selection from both input vectors
s
,
Vector<Double>
the second input vector
v
)

Implements abstract jdk.incubator.vector.Vector.rearrange.

Rearranges the lane elements of two vectors, selecting lanes under the control of a specific shuffle, using both normal and exceptional indexes in the shuffle to steer data.
pack-priv final <S extends VectorShuffle<Double>> DoubleVector
rearrangeTemplate(Class<S> shuffletype, S shuffle)

pack-priv final <S extends VectorShuffle<Double>, M extends VectorMask<Double>> DoubleVector
rearrangeTemplate(Class<S> shuffletype, Class<M> masktype, S shuffle, M m)

pack-priv final <S extends VectorShuffle<Double>> DoubleVector
rearrangeTemplate(Class<S> shuffletype, S shuffle, DoubleVector v)

public abstract double

Returns:

the accumulated result
reduceLanes
(VectorOperators.Associative
the operation used to combine lane values
op
)

Returns a value accumulated from all the lanes of this vector.

public abstract double

Returns:

the reduced result accumulated from the selected lane values
reduceLanes
(VectorOperators.Associative
the operation used to combine lane values
op
,
VectorMask<Double>
the mask controlling lane selection
m
)

Returns a value accumulated from selected lanes of this vector, controlled by a mask.

pack-priv final double
pack-priv final double
public abstract long
reduceLanesToLong(VectorOperators.Associative
the operation used to combine lane values
op
)

Implements abstract jdk.incubator.vector.Vector.reduceLanesToLong.

Returns a value accumulated from all the lanes of this vector.
public abstract long
reduceLanesToLong(VectorOperators.Associative
the operation used to combine lane values
op
,
VectorMask<Double>
the mask controlling lane selection
m
)

Implements abstract jdk.incubator.vector.Vector.reduceLanesToLong.

Returns a value accumulated from selected lanes of this vector, controlled by a mask.
private static VectorSupport.ReductionOperation<DoubleVector, VectorMask<Double>>
public final ByteVector
reinterpretAsBytes()

Implements abstract jdk.incubator.vector.Vector.reinterpretAsBytes.

Views this vector as a vector of the same shape and contents but a lane type of byte, where the bytes are extracted from the lanes according to little-endian order.
pack-priv abstract double
pack-priv final double
pack-priv final double
public abstract DoubleVector
selectFrom(Vector<Double>
the vector supplying the result values
v
)

Implements abstract jdk.incubator.vector.Vector.selectFrom.

Using index values stored in the lanes of this vector, assemble values stored in second vector v.
public abstract DoubleVector
selectFrom(Vector<Double>
the vector supplying the result values
s
,
VectorMask<Double>
the mask controlling selection from v
m
)

Implements abstract jdk.incubator.vector.Vector.selectFrom.

Using index values stored in the lanes of this vector, assemble values stored in second vector, under the control of a mask.
pack-priv final DoubleVector
pack-priv final DoubleVector
public abstract DoubleVector
slice(int
the first input lane to transfer into the slice
origin
,
Vector<Double>
a second vector logically concatenated with the first, before the slice is taken (if omitted it defaults to zero)
v1
)

Implements abstract jdk.incubator.vector.AbstractVector.slice.

Slices a segment of adjacent lanes, starting at a given origin lane in the current vector, and continuing (as needed) into an immediately following vector.
public final DoubleVector
slice(int
the first input lane to transfer into the slice
origin
,
Vector<Double>
a second vector logically concatenated with the first, before the slice is taken (if omitted it defaults to zero)
w
,
VectorMask<Double>
the mask controlling lane selection into the resulting vector
m
)

Implements abstract jdk.incubator.vector.Vector.slice.

Slices a segment of adjacent lanes under the control of a mask, starting at a given origin lane in the current vector, and continuing (as needed) into an immediately following vector.
public abstract DoubleVector
slice(int
the first input lane to transfer into the slice
origin
)

Implements abstract jdk.incubator.vector.AbstractVector.slice.

Slices a segment of adjacent lanes, starting at a given origin lane in the current vector.
pack-priv final DoubleVector
sliceTemplate(int origin, Vector<Double> v1)

pack-priv final DoubleVector
sliceTemplate(int origin)

pack-priv static DoubleVector.DoubleSpecies

Returns:

a species for an element type of double and shape
species
(VectorShape
the shape
s
)

Finds a species for an element type of double and shape.

public final DoubleVector

Returns:

the square root of this vector
sqrt
()

Computes the square root of this vector.

pack-priv final void
stLongOp(MemorySegment memory, long offset, DoubleVector.FStLongOp f)

pack-priv final void
pack-priv final <M> void
stOp(M memory, int offset, DoubleVector.FStOp<M> f)

pack-priv final <M> void
stOp(M memory, int offset, VectorMask<Double> m, DoubleVector.FStOp<M> f)

public final DoubleVector
sub(Vector<Double>
a second input vector
v
)

Implements abstract jdk.incubator.vector.Vector.sub.

Subtracts a second input vector from this vector.
public final DoubleVector

Returns:

the result of subtracting the scalar from each lane of this vector
sub
(double
the input scalar
e
)

Subtracts an input scalar from this vector.

public final DoubleVector
sub(Vector<Double>
the second input vector
v
,
VectorMask<Double>
the mask controlling lane selection
m
)

Implements abstract jdk.incubator.vector.Vector.sub.

Subtracts a second input vector from this vector under the control of a mask.
public final DoubleVector

Returns:

the result of subtracting the scalar from each lane of this vector
sub
(double
the input scalar
e
,
VectorMask<Double>
the mask controlling lane selection
m
)

Subtracts an input scalar from this vector under the control of a mask.

private static VectorSupport.TernaryOperation<DoubleVector, VectorMask<Double>>
public abstract VectorMask<Double>
test(VectorOperators.Test
the operation used to test lane values
op
)

Implements abstract jdk.incubator.vector.Vector.test.

Tests the lanes of this vector according to the given operation.
public abstract VectorMask<Double>
test(VectorOperators.Test
the operation used to test lane values
op
,
VectorMask<Double>
the mask controlling lane selection
m
)

Implements abstract jdk.incubator.vector.Vector.test.

Test selected lanes of this vector, according to the given operation.
pack-priv final <M extends VectorMask<Double>> M
pack-priv final <M extends VectorMask<Double>> M
testTemplate(Class<M> maskType, VectorOperators.Test op, M mask)

public final double[]

Returns:

an array containing the lane values of this vector
toArray
()

Implements abstract jdk.incubator.vector.Vector.toArray.

Returns an array of type double[] containing all the lane values.
pack-priv static long
toBits(double e)

public final double[]
toDoubleArray()

Implements abstract jdk.incubator.vector.Vector.toDoubleArray.

Returns a double[] array containing all the lane values, converted to the type double.
public final int[]
toIntArray()

Implements abstract jdk.incubator.vector.Vector.toIntArray.

Returns an int[] array containing all the lane values, converted to the type int.
public final long[]
toLongArray()

Implements abstract jdk.incubator.vector.Vector.toLongArray.

Returns a long[] array containing all the lane values, converted to the type long.
pack-priv abstract DoubleVector
pack-priv abstract DoubleVector
pack-priv final DoubleVector
pack-priv final DoubleVector
private final VectorShuffle<Double>
pack-priv final VectorShuffle<Double>
toShuffleTemplate(Class<?> shuffleType)

public final String

Returns:

a string of the form "[0,1,2...]" reporting the lane values of this vector
toString
()

Implements abstract jdk.incubator.vector.Vector.toString.

Returns a string representation of this vector, of the form "[0,1,2...]", reporting the lane values of this vector, in lane order.
private static VectorSupport.UnaryOperation<DoubleVector, VectorMask<Double>>
unaryOperations(int opc_)

public abstract DoubleVector
unslice(int
the first output lane to receive the slice
origin
,
Vector<Double>
the background vector that (as two copies) will receive the inserted slice
w
,
int
the part number of the result (either zero or one)
part
)

Implements abstract jdk.incubator.vector.Vector.unslice.

Reverses a slice(), inserting the current vector as a slice within another "background" input vector, which is regarded as one or the other input to a hypothetical subsequent slice() operation.
public abstract DoubleVector
unslice(int
the first output lane to receive the slice
origin
,
Vector<Double>
the background vector that (as two copies) will receive the inserted slice, if they are set in m
w
,
int
the part number of the result (either zero or one)
part
,
VectorMask<Double>
the mask controlling lane selection from the current vector
m
)

Implements abstract jdk.incubator.vector.Vector.unslice.

Reverses a slice(), inserting (under the control of a mask) the current vector as a slice within another "background" input vector, which is regarded as one or the other input to a hypothetical subsequent slice() operation.
public abstract DoubleVector
unslice(int
the first output lane to receive the slice
origin
)

Implements abstract jdk.incubator.vector.Vector.unslice.

Reverses a slice(), inserting the current vector as a slice within a "background" input of zero lane values.
pack-priv final DoubleVector
unsliceTemplate(int origin, Vector<Double> w, int part)

pack-priv final <M extends VectorMask<Double>> DoubleVector
unsliceTemplate(Class<M> maskType, int origin, Vector<Double> w, int part, M m)

pack-priv final DoubleVector
unsliceTemplate(int origin)

pack-priv abstract DoubleVector
pack-priv abstract DoubleVector
pack-priv final DoubleVector
pack-priv final DoubleVector
pack-priv abstract double[]
vec()

pack-priv abstract DoubleVector
vectorFactory(double[] vec)

Build a vector directly using my own constructor.

public final DoubleVector
viewAsFloatingLanes()

Implements abstract jdk.incubator.vector.Vector.viewAsFloatingLanes.

Views this vector as a vector of the same shape, length, and contents, but a lane type that is a floating-point type.
public final LongVector
viewAsIntegralLanes()

Implements abstract jdk.incubator.vector.Vector.viewAsIntegralLanes.

Views this vector as a vector of the same shape, length, and contents, but a lane type that is not a floating-point type.
pack-priv final DoubleVector
pack-priv final DoubleVector
pack-priv abstract DoubleVector.DoubleSpecies
public abstract DoubleVector

Returns:

the result of replacing the lane element of this vector at lane index i with value e.
withLane
(int
the lane index of the lane element to be replaced
i
,
double
the value to be placed
e
)

Replaces the lane element of this vector at lane index i with value e.

private ArrayIndexOutOfBoundsException
public static DoubleVector

Returns:

a zero vector
zero
(VectorSpecies<Double>
species of the desired zero vector
species
)

Returns a vector of the given species where all lane elements are set to zero, the default primitive value.

Inherited from jdk.incubator.vector.AbstractVector:
asByteVectorRawasByteVectorRawTemplateasVectorRawasVectorRawTemplatecastShapecheckcheckcheckcheck0check0convertconvert0convertShapeconvertShapeTemplatedefaultCastdefaultReinterpretdefaultUCastdivZeroExceptioniotaShuffleiotaShufflemaskAllmaskFromArrayreinterpretAsDoublesreinterpretAsFloatsreinterpretAsIntsreinterpretAsLongsreinterpretAsShortsreinterpretShapeTemplateshapeChangeOriginshuffleFromArrayshuffleFromBytesshuffleFromOpspeciesswapBytesShuffle