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 with the specified columns.

`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.