Structure

# simd_double2x2

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

## Topics

### Initializers

`init()`

Creates a new matrix.

`init(Double)`

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

`init(diagonal: SIMD2<Double>)`

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

`init([SIMD2<Double>])`

Creates a new matrix from an array.

`init(SIMD2<Double>, SIMD2<Double>)`

Creates a new matrix with the specified vectors as columns.

`init(columns: (simd_double2, simd_double2))`

Creates a new matrix with the specified columns.

`init(rows: [SIMD2<Double>])`

Creates a new matrix with the specified rows.

### Matrix Properties

`var determinant: Double`

The determinant of the matrix.

`var transpose: double2x2`

The transpose of the matrix.

`var debugDescription: String`

A representation of the matrix that is suitable for debugging.

### Equality Functions

`func simd_equal(simd_double2x2, simd_double2x2) -> 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_double2x2, simd_double2x2, Double) -> 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_double2x2, simd_double2x2, Double) -> simd_bool`

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

### Element Access

`subscript(Int) -> SIMD2<Double>`

Accesses the column at the specified position.

`subscript(Int, Int) -> Double`

Accesses the element at the specified position.

## Relationships

### Matrices: Double-Precision Values

`struct simd_double3x2`

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

`struct simd_double4x2`

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

`struct simd_double2x3`

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

`struct simd_double3x3`

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

`struct simd_double4x3`

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

`struct simd_double2x4`

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

`struct simd_double3x4`

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

`struct simd_double4x4`

A matrix of four columns and four rows containing double-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.