Structure

# simd_float3x3

A matrix of three columns and three 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: SIMD3<Float>)`

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

`init([SIMD3<Float>])`

Creates a new matrix from an array.

`init(simd_quatf)`

Creates a new matrix from the specified quarternion.

`init(SIMD3<Float>, SIMD3<Float>, SIMD3<Float>)`

Creates a new matrix with the specified vectors as columns.

`init(columns: (simd_float3, simd_float3, simd_float3))`

Creates a new matrix with the specified columns.

`init(rows: [SIMD3<Float>])`

Creates a new matrix with the specified rows.

### Matrix Properties

`var determinant: Float`

The determinant of the matrix.

`var transpose: float3x3`

The transpose of the matrix.

`var debugDescription: String`

A representation of the matrix that is suitable for debugging.

### Equality Functions

`func simd_equal(simd_float3x3, simd_float3x3) -> 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_float3x3, simd_float3x3, 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_float3x3, simd_float3x3, 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_float3x3, Float, simd_float3x3) -> simd_float3x3`

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

### Element Access

`subscript(Int) -> SIMD3<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_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.

`struct simd_float4x4`

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