A SIMD vector of a fixed number of elements.
SDK
- Xcode 10.2+
Framework
- Swift Standard Library
A SIMD vector of a fixed number of elements.
SDK
Framework
associatedtype Mask Storage
The mask type resulting from pointwise comparisons of this vector type.
Required.
init<S>(S)
Creates a vector from the given sequence.
init(Self .Scalar)
Deprecatedinit(repeating: Self .Scalar)
A vector with the specified value in all lanes.
var indices: Range<Int>
The valid indices for subscripting the vector.
static var one: Self
A vector with one in all lanes.
static var one: Self
A vector with one in all lanes.
static var zero: Self
A vector with zero in all lanes.
static var zero: Self
A vector with zero in all lanes.
func max() -> Self .Scalar
Returns the greatest scalar in the vector.
func max() -> Self .Scalar
The greatest element in the vector.
func min() -> Self .Scalar
Returns the least scalar in the vector.
func min() -> Self .Scalar
The least element in the vector.
func replace(with: Self .Scalar, where: SIMDMask<Self .Mask Storage>)
Replaces elements of this vector with other
in the lanes where mask
is true
.
func replace(with: Self, where: SIMDMask<Self .Mask Storage>)
Replaces elements of this vector with elements of other
in the lanes where mask
is true
.
func replacing(with: Self .Scalar, where: SIMDMask<Self .Mask Storage>) -> Self
Returns a copy of this vector, with elements other
in the lanes where mask
is true
.
func replacing(with: Self, where: SIMDMask<Self .Mask Storage>) -> Self
Returns a copy of this vector, with elements replaced by elements of other
in the lanes where mask
is true
.
func sum() -> Self .Scalar
Returns the sum of the scalars in the vector.
func wrapped Sum() -> Self .Scalar
Returns the sum of the scalars in the vector, computed with wrapping addition.
static func random(in: Closed Range<Self .Scalar>) -> Self
Returns a vector with random values from within the specified range in all lanes.
static func random(in: Range<Self .Scalar>) -> Self
Returns a vector with random values from within the specified range in all lanes.
static func random(in: Closed Range<Self .Scalar>) -> Self
Returns a vector with random values from within the specified range in all lanes.
static func random(in: Range<Self .Scalar>) -> Self
Returns a vector with random values from within the specified range in all lanes.
static func random<T>(in: Closed Range<Self .Scalar>, using: inout T) -> Self
Returns a vector with random values from within the specified range in all lanes, using the given generator as a source for randomness.
static func random<T>(in: Range<Self .Scalar>, using: inout T) -> Self
Returns a vector with random values from within the specified range in all lanes, using the given generator as a source for randomness.
static func random<T>(in: Closed Range<Self .Scalar>, using: inout T) -> Self
Returns a vector with random values from within the specified range in all lanes, using the given generator as a source for randomness.
static func random<T>(in: Range<Self .Scalar>, using: inout T) -> Self
Returns a vector with random values from within the specified range in all lanes, using the given generator as a source for randomness.
static func - (Self) -> Self
Deprecatedstatic func .!= (Self .Scalar, Self) -> SIMDMask<Self .Mask Storage>
Returns a vector mask with the result of a pointwise inequality comparison.
static func .!= (Self, Self .Scalar) -> SIMDMask<Self .Mask Storage>
Returns a vector mask with the result of a pointwise inequality comparison.
static func .!= (Self, Self) -> SIMDMask<Self .Mask Storage>
Returns a vector mask with the result of a pointwise inequality comparison.
static func .< (Self .Scalar, Self) -> SIMDMask<Self .Mask Storage>
Returns a vector mask with the result of a pointwise less than comparison.
static func .< (Self, Self .Scalar) -> SIMDMask<Self .Mask Storage>
Returns a vector mask with the result of a pointwise less than comparison.
static func .< (Self, Self) -> SIMDMask<Self .Mask Storage>
Returns a vector mask with the result of a pointwise less than comparison.
static func .<= (Self .Scalar, Self) -> SIMDMask<Self .Mask Storage>
Returns a vector mask with the result of a pointwise less than or equal comparison.
static func .<= (Self, Self .Scalar) -> SIMDMask<Self .Mask Storage>
Returns a vector mask with the result of a pointwise less than or equal comparison.
static func .<= (Self, Self) -> SIMDMask<Self .Mask Storage>
Returns a vector mask with the result of a pointwise less than or equal comparison.
static func .== (Self .Scalar, Self) -> SIMDMask<Self .Mask Storage>
Returns a vector mask with the result of a pointwise equality comparison.
static func .== (Self, Self .Scalar) -> SIMDMask<Self .Mask Storage>
Returns a vector mask with the result of a pointwise equality comparison.
static func .== (Self, Self) -> SIMDMask<Self .Mask Storage>
Returns a vector mask with the result of a pointwise equality comparison.
static func .> (Self .Scalar, Self) -> SIMDMask<Self .Mask Storage>
Returns a vector mask with the result of a pointwise greater than comparison.
static func .> (Self, Self .Scalar) -> SIMDMask<Self .Mask Storage>
Returns a vector mask with the result of a pointwise greater than comparison.
static func .> (Self, Self) -> SIMDMask<Self .Mask Storage>
Returns a vector mask with the result of a pointwise greater than comparison.
static func .>= (Self .Scalar, Self) -> SIMDMask<Self .Mask Storage>
Returns a vector mask with the result of a pointwise greater than or equal comparison.
static func .>= (Self, Self .Scalar) -> SIMDMask<Self .Mask Storage>
Returns a vector mask with the result of a pointwise greater than or equal comparison.
static func .>= (Self, Self) -> SIMDMask<Self .Mask Storage>
Returns a vector mask with the result of a pointwise greater than or equal comparison.
static func == (Self, Self) -> Bool
Returns a Boolean value indicating whether two vectors are equal.
protocol SIMDScalar
A type that can be used as an element in a SIMD vector.
protocol SIMDStorage
A type that can function as storage for a SIMD vector type.