Go to the source code of this file.
|
| void | mat2_rmul (double *A, double const *B) |
| | In-place right matrix-matrix multiplication for 2x2 matrices. More...
|
| |
| void | mat2_lmul (double const *A, double *B) |
| | In-place left matrix-matrix multiplication for 2x2 matrices. More...
|
| |
| void | mat2_vfms (double *C, double const *A, double const *B) |
| | Fused multiply-subtract for 2x2 matrices. More...
|
| |
| void | mat2_inv (double *invA, double const *A) |
| | Matrix inverse for 2x2 matrix. More...
|
| |
| void | mat4_rmul (double *A, double const *B) |
| | In-place right matrix-matrix multiplication for 4x4 matrices. More...
|
| |
| void | mat4_lmul (double const *A, double *B) |
| | In-place left matrix-matrix multiplication for 4x4 matrices. More...
|
| |
| void | mat4_vfms (double *C, double const *A, double const *B) |
| | Fused multiply-subtract for 4x4 matrices. More...
|
| |
| void | mat4_inv (double *invA, const double *A) |
| | Matrix inverse for 4x4 matrix. More...
|
| |
| void | mat4_vinv (double *invA, double const *A) |
| | Matrix inverse for 4x4 matrix. More...
|
| |
| void | mat4_inv2 (float *A) |
| | Matrix inverse for 4x4 matrix. More...
|
| |
◆ mat2_inv()
| void mat2_inv |
( |
double * |
invA, |
|
|
double const * |
A |
|
) |
| |
Matrix inverse for 2x2 matrix.
- Parameters
-
| invA | Pointer to inverse matrix. |
| A | Pointer to input matrix. |
◆ mat2_lmul()
| void mat2_lmul |
( |
double const * |
A, |
|
|
double * |
B |
|
) |
| |
In-place left matrix-matrix multiplication for 2x2 matrices.
- Parameters
-
| A | Pointer to left input matrix. |
| B | Pointer to right input and output matrix. |
◆ mat2_rmul()
| void mat2_rmul |
( |
double * |
A, |
|
|
double const * |
B |
|
) |
| |
In-place right matrix-matrix multiplication for 2x2 matrices.
- Parameters
-
| A | Pointer to left input and output matrix. |
| B | Pointer to right input matrix. |
◆ mat2_vfms()
| void mat2_vfms |
( |
double * |
C, |
|
|
double const * |
A, |
|
|
double const * |
B |
|
) |
| |
Fused multiply-subtract for 2x2 matrices.
- Parameters
-
| C | Pointer to output matrix. |
| A | Pointer to left input matrix. |
| B | Pointer to right input matrix. |
◆ mat4_inv()
| void mat4_inv |
( |
double * |
invA, |
|
|
const double * |
A |
|
) |
| |
Matrix inverse for 4x4 matrix.
- Note
- This is a generic implementation without pivoting hardcoded for 4x4 matrices. Primary purpose is to confirm the avx2 implementations below
- Parameters
-
| invA | Pointer to inverse matrix. |
| A | Pointer to input matrix. |
◆ mat4_inv2()
| void mat4_inv2 |
( |
float * |
A | ) |
|
Matrix inverse for 4x4 matrix.
- Note
- This is a slightly modifed version of Intel's SSE single-precision 4x4 matrix inverse using Cramer's rule.
- Parameters
-
| invA | Pointer to inverse matrix. |
| A | Pointer to input matrix. |
◆ mat4_lmul()
| void mat4_lmul |
( |
double const * |
A, |
|
|
double * |
B |
|
) |
| |
In-place left matrix-matrix multiplication for 4x4 matrices.
- Note
- Function is optimized with avx2 intrinsics
- Parameters
-
| A | Pointer to left input matrix. |
| B | Pointer to right input and output matrix. |
◆ mat4_rmul()
| void mat4_rmul |
( |
double * |
A, |
|
|
double const * |
B |
|
) |
| |
In-place right matrix-matrix multiplication for 4x4 matrices.
- Note
- Function is optimized with avx2 intrinsics
- Parameters
-
| A | Pointer to left input and output matrix. |
| B | Pointer to right input matrix. |
◆ mat4_vfms()
| void mat4_vfms |
( |
double * |
C, |
|
|
double const * |
A, |
|
|
double const * |
B |
|
) |
| |
Fused multiply-subtract for 4x4 matrices.
- Note
- Function is optimized with avx2 intrinsics
- Parameters
-
| C | Pointer to output matrix. |
| A | Pointer to left input matrix. |
| B | Pointer to right input matrix. |
◆ mat4_vinv()
| void mat4_vinv |
( |
double * |
invA, |
|
|
double const * |
A |
|
) |
| |
Matrix inverse for 4x4 matrix.
- Note
- This is an avx2 double-precision translation of Intel's SSE single-precision 4x4 matrix inverse using Cramer's rule.
- Parameters
-
| invA | Pointer to inverse matrix. |
| A | Pointer to input matrix. |