Structure

# simd_float4x4

A matrix of four columns and four rows containing single-precision values.

## Topics

### Initializers

init()

Creates a new matrix.

init(Float)

Creates a new matrix with the specified scalar value on the main diagonal.

init(diagonal: SIMD4<Float>)

Creates a new matrix with the specified vector on the main diagonal.

init([SIMD4<Float>])

Creates a new matrix from an array.

init(simd_quatf)

Creates a new matrix from the specified quarternion.

init(SCNMatrix4)

Creates a new matrix from the specified SceneKit matrix.

init(SCNMatrix4)

Creates a new matrix from the specified SceneKit matrix.

init(SIMD4<Float>, SIMD4<Float>, SIMD4<Float>, SIMD4<Float>)

Creates a new matrix with the specified vectors as columns.

init(columns: (simd_float4, simd_float4, simd_float4, simd_float4))

Creates a new matrix with the specified columns.

init(rows: [SIMD4<Float>])

Creates a new matrix with the specified rows.

### Matrix Properties

var determinant: Float

The determinant of the matrix.

var inverse: simd_float4x4

The inverse of the matrix.

var transpose: float4x4

The transpose of the matrix.

var debugDescription: String

A representation of the matrix that is suitable for debugging.

### Equality Functions

func simd_equal(simd_float4x4, simd_float4x4) -> simd_bool

Returns true if every element in a matrix is exactly equal to the corresponding element in a second matrix.

func simd_almost_equal_elements(simd_float4x4, simd_float4x4, Float) -> simd_bool

Returns true if every element in a matrix is within a specified tolerance to the corresponding element in a second matrix.

func simd_almost_equal_elements_relative(simd_float4x4, simd_float4x4, Float) -> simd_bool

Returns true if every element in a matrix is within a specified single-precision relative tolerance to the corresponding element in a second matrix.

### Linear Combination Function

func simd_linear_combination(Float, simd_float4x4, Float, simd_float4x4) -> simd_float4x4

Returns the linear combination of two scalar values and two matrices.

### Transpose Function

func simd_transpose(simd_float4x4) -> simd_float4x4

Returns the transpose of a matrix.

### Element Access

subscript(Int) -> SIMD4<Float>

Accesses the column at the specified position.

subscript(Int, Int) -> Float

Accesses the element at the specified position.

## Relationships

### Matrices: Single-Precision Values

struct simd_float2x2

A matrix of two columns and two rows containing single-precision values.

struct simd_float3x2

A matrix of three columns and two rows containing single-precision values.

struct simd_float4x2

A matrix of four columns and two rows containing single-precision values.

struct simd_float2x3

A matrix of two columns and three rows containing single-precision values.

struct simd_float3x3

A matrix of three columns and three rows containing single-precision values.

struct simd_float4x3

A matrix of four columns and three rows containing single-precision values.

struct simd_float2x4

A matrix of two columns and four rows containing single-precision values.

struct simd_float3x4

A matrix of three columns and four rows containing single-precision values.

Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.