A vector of four scalar values.
SDK
- Xcode 10.2+
Framework
- Swift Standard Library
A vector of four scalar values.
SDK
Framework
typealias SIMD4 .Array Literal Element
The type of the elements of an array literal.
typealias SIMD4 .Mask Storage
The mask type resulting from pointwise comparisons of this vector type.
init()
Creates a vector with zero in all lanes.
init<S>(S)
Creates a vector from the given sequence.
init<Other>(SIMD4<Other>)
Creates a new vector from the given vector of floating-point values.
init<Other>(SIMD4<Other>)
Creates a new vector from the given vector of integers.
init(SIMD3<Scalar>, Scalar)
A four-element vector created by appending a scalar to a three-element vector.
init(Scalar, Scalar, Scalar, Scalar)
Creates a new vector from the given elements.
init<Other>(SIMD4<Other>, rounding: Floating Point Rounding Rule)
Creates a new vector from the given vector, rounding the given vector’s of elements using the specified rounding rule.
init(array Literal: Scalar...)
Creates a vector from the specified elements.
init<Other>(clamping: SIMD4<Other>)
Creates a new vector from the given vector, clamping the values of the given vector’s elements if necessary.
init(from: Decoder)
Creates a new vector by decoding scalars from the given decoder.
init(low Half: SIMD2<Scalar>, high Half: SIMD2<Scalar>)
Creates a new vector from two half-length vectors.
init(repeating: Scalar)
A vector with the specified value in all lanes.
init<Other>(truncating If Needed: SIMD4<Other>)
Creates a new vector from the given vector, truncating the bit patterns of the given vector’s elements if necessary.
init(x: Scalar, y: Scalar, z: Scalar, w: Scalar)
Creates a new vector from the given elements.
var debug Description: String
A textual representation of this instance, suitable for debugging.
var description: String
A textual description of the vector.
var even Half: SIMD2<Scalar>
A half-length vector made up of the even elements of the vector.
var hash Value: Int
The hash value.
var high Half: SIMD2<Scalar>
A half-length vector made up of the high elements of the vector.
var indices: Range<Int>
The valid indices for subscripting the vector.
var low Half: SIMD2<Scalar>
A half-length vector made up of the low elements of the vector.
var odd Half: SIMD2<Scalar>
A half-length vector made up of the odd elements of the vector.
var scalar Count: Int
The number of scalars in the vector.
var w: Scalar
The fourth element of the vector.
var x: Scalar
The first element of the vector.
var y: Scalar
The second element of the vector.
var z: Scalar
The third element of the vector.
static var one: SIMD4<Scalar>
A vector with one in all lanes.
static var one: SIMD4<Scalar>
A vector with one in all lanes.
static var scalar Count: Int
The number of scalars, or elements, in a vector of this type.
static var zero: SIMD4<Scalar>
A vector with zero in all lanes.
static var zero: SIMD4<Scalar>
A vector with zero in all lanes.
func encode(to: Encoder)
Encodes the scalars of this vector into the given encoder in an unkeyed container.
func hash(into: inout Hasher)
Hashes the elements of the vector using the given hasher.
func max() -> Scalar
Returns the greatest scalar in the vector.
func max() -> Scalar
The greatest element in the vector.
func min() -> Scalar
Returns the least scalar in the vector.
func min() -> Scalar
The least element in the vector.
func replace(with: Scalar, where: SIMDMask<SIMD4<Scalar .SIMDMask Scalar>>)
Replaces elements of this vector with other
in the lanes where mask
is true
.
func replace(with: SIMD4<Scalar>, where: SIMDMask<SIMD4<Scalar .SIMDMask Scalar>>)
Replaces elements of this vector with elements of other
in the lanes where mask
is true
.
func replacing(with: Scalar, where: SIMDMask<SIMD4<Scalar .SIMDMask Scalar>>) -> SIMD4<Scalar>
Returns a copy of this vector, with elements other
in the lanes where mask
is true
.
func replacing(with: SIMD4<Scalar>, where: SIMDMask<SIMD4<Scalar .SIMDMask Scalar>>) -> SIMD4<Scalar>
Returns a copy of this vector, with elements replaced by elements of other
in the lanes where mask
is true
.
func sum() -> Scalar
Returns the sum of the scalars in the vector.
func wrapped Sum() -> Scalar
Returns the sum of the scalars in the vector, computed with wrapping addition.
static func random(in: Closed Range<Scalar>) -> SIMD4<Scalar>
Returns a vector with random values from within the specified range in all lanes.
static func random(in: Range<Scalar>) -> SIMD4<Scalar>
Returns a vector with random values from within the specified range in all lanes.
static func random(in: Closed Range<Scalar>) -> SIMD4<Scalar>
Returns a vector with random values from within the specified range in all lanes.
static func random(in: Range<Scalar>) -> SIMD4<Scalar>
Returns a vector with random values from within the specified range in all lanes.
static func random<T>(in: Closed Range<Scalar>, using: inout T) -> SIMD4<Scalar>
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<Scalar>, using: inout T) -> SIMD4<Scalar>
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<Scalar>, using: inout T) -> SIMD4<Scalar>
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<Scalar>, using: inout T) -> SIMD4<Scalar>
Returns a vector with random values from within the specified range in all lanes, using the given generator as a source for randomness.
subscript(Int) -> Scalar
Accesses the scalar at the specified position.
subscript<Index>(SIMD2<Index>) -> SIMD2<Scalar>
Extracts the scalars at specified indices to form a SIMD2.
subscript<Index>(SIMD3<Index>) -> SIMD3<Scalar>
Extracts the scalars at specified indices to form a SIMD3.
subscript<Index>(SIMD4<Index>) -> SIMD4<Scalar>
Extracts the scalars at specified indices to form a SIMD4.
subscript<Index>(SIMD8<Index>) -> SIMD8<Scalar>
Extracts the scalars at specified indices to form a SIMD8.
subscript<Index>(SIMD16<Index>) -> SIMD16<Scalar>
Extracts the scalars at specified indices to form a SIMD16.
subscript<Index>(SIMD32<Index>) -> SIMD32<Scalar>
Extracts the scalars at specified indices to form a SIMD32.
subscript<Index>(SIMD64<Index>) -> SIMD64<Scalar>
Extracts the scalars at specified indices to form a SIMD64.
static func .!= (Scalar, SIMD4<Scalar>) -> SIMDMask<SIMD4<Scalar .SIMDMask Scalar>>
Returns a vector mask with the result of a pointwise inequality comparison.
static func .!= (SIMD4<Scalar>, Scalar) -> SIMDMask<SIMD4<Scalar .SIMDMask Scalar>>
Returns a vector mask with the result of a pointwise inequality comparison.
static func .!= (SIMD4<Scalar>, SIMD4<Scalar>) -> SIMDMask<SIMD4<Scalar .SIMDMask Scalar>>
Returns a vector mask with the result of a pointwise inequality comparison.
static func .< (Scalar, SIMD4<Scalar>) -> SIMDMask<SIMD4<Scalar .SIMDMask Scalar>>
Returns a vector mask with the result of a pointwise less than comparison.
static func .< (SIMD4<Scalar>, Scalar) -> SIMDMask<SIMD4<Scalar .SIMDMask Scalar>>
Returns a vector mask with the result of a pointwise less than comparison.
static func .< (SIMD4<Scalar>, SIMD4<Scalar>) -> SIMDMask<SIMD4<Scalar .SIMDMask Scalar>>
Returns a vector mask with the result of a pointwise less than comparison.
static func .<= (Scalar, SIMD4<Scalar>) -> SIMDMask<SIMD4<Scalar .SIMDMask Scalar>>
Returns a vector mask with the result of a pointwise less than or equal comparison.
static func .<= (SIMD4<Scalar>, Scalar) -> SIMDMask<SIMD4<Scalar .SIMDMask Scalar>>
Returns a vector mask with the result of a pointwise less than or equal comparison.
static func .<= (SIMD4<Scalar>, SIMD4<Scalar>) -> SIMDMask<SIMD4<Scalar .SIMDMask Scalar>>
Returns a vector mask with the result of a pointwise less than or equal comparison.
static func .== (Scalar, SIMD4<Scalar>) -> SIMDMask<SIMD4<Scalar .SIMDMask Scalar>>
Returns a vector mask with the result of a pointwise equality comparison.
static func .== (SIMD4<Scalar>, Scalar) -> SIMDMask<SIMD4<Scalar .SIMDMask Scalar>>
Returns a vector mask with the result of a pointwise equality comparison.
static func .== (SIMD4<Scalar>, SIMD4<Scalar>) -> SIMDMask<SIMD4<Scalar .SIMDMask Scalar>>
Returns a vector mask with the result of a pointwise equality comparison.
static func .> (Scalar, SIMD4<Scalar>) -> SIMDMask<SIMD4<Scalar .SIMDMask Scalar>>
Returns a vector mask with the result of a pointwise greater than comparison.
static func .> (SIMD4<Scalar>, Scalar) -> SIMDMask<SIMD4<Scalar .SIMDMask Scalar>>
Returns a vector mask with the result of a pointwise greater than comparison.
static func .> (SIMD4<Scalar>, SIMD4<Scalar>) -> SIMDMask<SIMD4<Scalar .SIMDMask Scalar>>
Returns a vector mask with the result of a pointwise greater than comparison.
static func .>= (Scalar, SIMD4<Scalar>) -> SIMDMask<SIMD4<Scalar .SIMDMask Scalar>>
Returns a vector mask with the result of a pointwise greater than or equal comparison.
static func .>= (SIMD4<Scalar>, Scalar) -> SIMDMask<SIMD4<Scalar .SIMDMask Scalar>>
Returns a vector mask with the result of a pointwise greater than or equal comparison.
static func .>= (SIMD4<Scalar>, SIMD4<Scalar>) -> SIMDMask<SIMD4<Scalar .SIMDMask Scalar>>
Returns a vector mask with the result of a pointwise greater than or equal comparison.
static func == (SIMD4<Scalar>, SIMD4<Scalar>) -> Bool
Returns a Boolean value indicating whether two vectors are equal.
struct SIMD2
A vector of two scalar values.
struct SIMD3
A vector of three scalar values.
struct SIMD8
A vector of eight scalar values.
struct SIMD16
A vector of 16 scalar values.
struct SIMD32
A vector of 32 scalar values.
struct SIMD64
A vector of 64 scalar values.