Main Page | Modules | Class List | File List | Class Members | File Members

Extract Parts of a Fixed Size Matrix
[Fixed Size Matrices]


Functions

void gan_mat22_get_rows_s (const Gan_Matrix22 *A, Gan_Vector2 *p, Gan_Vector2 *q)
 Extract rows of 2x2 matrix.
void gan_mat22_get_cols_s (const Gan_Matrix22 *A, Gan_Vector2 *p, Gan_Vector2 *q)
 Extract columns of 2x2 matrix.
void gan_mat22_get_rows_q (const Gan_Matrix22 *A, Gan_Vector2 *p, Gan_Vector2 *q)
 Macro: Extract rows of 2x2 matrix.
void gan_mat22_get_cols_q (const Gan_Matrix22 *A, Gan_Vector2 *p, Gan_Vector2 *q)
 Macro: Extract columns of 2x2 matrix.
void gan_mat22f_get_rows_s (const Gan_Matrix22_f *A, Gan_Vector2_f *p, Gan_Vector2_f *q)
 Extract rows of 2x2 matrix.
void gan_mat22f_get_cols_s (const Gan_Matrix22_f *A, Gan_Vector2_f *p, Gan_Vector2_f *q)
 Extract columns of 2x2 matrix.
void gan_mat22f_get_rows_q (const Gan_Matrix22_f *A, Gan_Vector2_f *p, Gan_Vector2_f *q)
 Macro: Extract rows of 2x2 matrix.
void gan_mat22f_get_cols_q (const Gan_Matrix22_f *A, Gan_Vector2_f *p, Gan_Vector2_f *q)
 Macro: Extract columns of 2x2 matrix.
void gan_mat23_get_rows_s (const Gan_Matrix23 *A, Gan_Vector3 *p, Gan_Vector3 *q)
 Extract rows of 2x3 matrix.
void gan_mat23_get_cols_s (const Gan_Matrix23 *A, Gan_Vector2 *p, Gan_Vector2 *q, Gan_Vector2 *r)
 Extract columns of 2x3 matrix.
Gan_Matrix22 gan_mat23_get_m22l_s (const Gan_Matrix23 *A)
 Extract left-hand 2x2 part of 2x3 matrix.
Gan_Vector2 gan_mat23_get_v2r_s (const Gan_Matrix23 *A)
 Extract right-hand column of 2x3 matrix.
void gan_mat23_get_rows_q (const Gan_Matrix23 *A, Gan_Vector3 *p, Gan_Vector3 *q)
 Macro: Extract rows of 2x3 matrix.
void gan_mat23_get_cols_q (const Gan_Matrix23 *A, Gan_Vector2 *p, Gan_Vector2 *q, Gan_Vector2 *r)
 Macro: Extract columns of 2x3 matrix.
Gan_Matrix22gan_mat23_get_m22l_q (const Gan_Matrix23 *A, Gan_Matrix22 *B)
 Macro: Extract left-hand 2x2 part of 2x3 matrix.
Gan_Vector2gan_mat23_get_v2r_q (const Gan_Matrix23 *A, Gan_Vector2 *p)
 Macro: Extract right-hand column of 2x3 matrix.
void gan_mat23f_get_rows_s (const Gan_Matrix23_f *A, Gan_Vector3_f *p, Gan_Vector3_f *q)
 Extract rows of 2x3 matrix.
void gan_mat23f_get_cols_s (const Gan_Matrix23_f *A, Gan_Vector2_f *p, Gan_Vector2_f *q, Gan_Vector2_f *r)
 Extract columns of 2x3 matrix.
Gan_Matrix22_f gan_mat23f_get_m22l_s (const Gan_Matrix23_f *A)
 Extract left-hand 2x2 part of 2x3 matrix.
Gan_Vector2_f gan_mat23f_get_v2r_s (const Gan_Matrix23_f *A)
 Extract right-hand column of 2x3 matrix.
void gan_mat23f_get_rows_q (const Gan_Matrix23_f *A, Gan_Vector3_f *p, Gan_Vector3_f *q)
 Macro: Extract rows of 2x3 matrix.
void gan_mat23f_get_cols_q (const Gan_Matrix23_f *A, Gan_Vector2_f *p, Gan_Vector2_f *q, Gan_Vector2_f *r)
 Macro: Extract columns of 2x3 matrix.
Gan_Matrix22_fgan_mat23f_get_m22l_q (const Gan_Matrix23_f *A, Gan_Matrix22_f *B)
 Macro: Extract left-hand 2x2 part of 2x3 matrix.
Gan_Vector2_fgan_mat23f_get_v2r_q (const Gan_Matrix23_f *A, Gan_Vector2_f *p)
 Macro: Extract right-hand column of 2x3 matrix.
void gan_mat24_get_rows_s (const Gan_Matrix24 *A, Gan_Vector4 *p, Gan_Vector4 *q)
 Extract rows of 2x4 matrix.
void gan_mat24_get_cols_s (const Gan_Matrix24 *A, Gan_Vector2 *p, Gan_Vector2 *q, Gan_Vector2 *r, Gan_Vector2 *s)
 Extract columns of 2x4 matrix.
void gan_mat24_get_rows_q (const Gan_Matrix24 *A, Gan_Vector4 *p, Gan_Vector4 *q)
 Macro: Extract rows of 2x4 matrix.
void gan_mat24_get_cols_q (const Gan_Matrix24 *A, Gan_Vector2 *p, Gan_Vector2 *q, Gan_Vector2 *r, Gan_Vector2 *s)
 Macro: Extract columns of 2x4 matrix.
void gan_mat24f_get_rows_s (const Gan_Matrix24_f *A, Gan_Vector4_f *p, Gan_Vector4_f *q)
 Extract rows of 2x4 matrix.
void gan_mat24f_get_cols_s (const Gan_Matrix24_f *A, Gan_Vector2_f *p, Gan_Vector2_f *q, Gan_Vector2_f *r, Gan_Vector2_f *s)
 Extract columns of 2x4 matrix.
void gan_mat24f_get_rows_q (const Gan_Matrix24_f *A, Gan_Vector4_f *p, Gan_Vector4_f *q)
 Macro: Extract rows of 2x4 matrix.
void gan_mat24f_get_cols_q (const Gan_Matrix24_f *A, Gan_Vector2_f *p, Gan_Vector2_f *q, Gan_Vector2_f *r, Gan_Vector2_f *s)
 Macro: Extract columns of 2x4 matrix.
void gan_mat33_get_rows_s (const Gan_Matrix33 *A, Gan_Vector3 *p, Gan_Vector3 *q, Gan_Vector3 *r)
 Extract rows of 3x3 matrix.
void gan_mat33_get_cols_s (const Gan_Matrix33 *A, Gan_Vector3 *p, Gan_Vector3 *q, Gan_Vector3 *r)
 Extract columns of 3x3 matrix.
Gan_Matrix22 gan_mat33_get_m22tl_s (const Gan_Matrix33 *A)
 Extract top-left 2x2 part of 3x3 matrix.
Gan_Vector2 gan_mat33_get_v2tr_s (const Gan_Matrix33 *A)
 Extract top part of right hand column of 3x3 matrix.
void gan_mat33_get_parts_s (const Gan_Matrix33 *A, Gan_Matrix22 *B, Gan_Vector2 *p, Gan_Vector2 *q, double *s)
 Extract parts of 3x3 matrix.
void gan_symmat33_get_parts_s (const Gan_SquMatrix33 *A, Gan_SquMatrix22 *B, Gan_Vector2 *p, double *s)
 Extract parts of 3x3 symmetric matrix.
void gan_ltmat33_get_parts_s (const Gan_SquMatrix33 *A, Gan_SquMatrix22 *B, Gan_Vector2 *p, double *s)
 Extract parts of 3x3 lower triangular matrix.
void gan_mat33_get_rows_q (const Gan_Matrix33 *A, Gan_Vector3 *p, Gan_Vector3 *q, Gan_Vector3 *r)
 Macro: Extract rows of 3x3 matrix.
void gan_mat33_get_cols_q (const Gan_Matrix33 *A, Gan_Vector3 *p, Gan_Vector3 *q, Gan_Vector3 *r)
 Macro: Extract columns of 3x3 matrix.
Gan_Matrix22gan_mat33_get_m22tl_q (const Gan_Matrix33 *A, Gan_Matrix22 *B)
 Macro: Extract top-left 2x2 part of 3x3 matrix.
Gan_Vector2gan_mat33_get_v2tr_q (const Gan_Matrix33 *A, Gan_Vector2 *p)
 Macro: Extract top part of right hand column of 3x3 matrix.
void gan_mat33_get_parts_q (const Gan_Matrix33 *A, Gan_Matrix22 *B, Gan_Vector2 *p, Gan_Vector2 *q, double *s)
 Macro: Extract parts of 3x3 matrix.
void gan_symmat33_get_parts_q (const Gan_SquMatrix33 *A, Gan_SquMatrix22 *B, Gan_Vector2 *p, double *s)
 Macro: Extract parts of 3x3 symmetric matrix.
void gan_ltmat33_get_parts_q (const Gan_SquMatrix33 *A, Gan_SquMatrix22 *B, Gan_Vector2 *p, double *s)
 Macro: Extract parts of 3x3 lower triangular matrix.
void gan_mat33f_get_rows_s (const Gan_Matrix33_f *A, Gan_Vector3_f *p, Gan_Vector3_f *q, Gan_Vector3_f *r)
 Extract rows of 3x3 matrix.
void gan_mat33f_get_cols_s (const Gan_Matrix33_f *A, Gan_Vector3_f *p, Gan_Vector3_f *q, Gan_Vector3_f *r)
 Extract columns of 3x3 matrix.
Gan_Matrix22_f gan_mat33f_get_m22tl_s (const Gan_Matrix33_f *A)
 Extract top-left 2x2 part of 3x3 matrix.
Gan_Vector2_f gan_mat33f_get_v2tr_s (const Gan_Matrix33_f *A)
 Extract top part of right hand column of 3x3 matrix.
void gan_mat33f_get_parts_s (const Gan_Matrix33_f *A, Gan_Matrix22_f *B, Gan_Vector2_f *p, Gan_Vector2_f *q, float *s)
 Extract parts of 3x3 matrix.
void gan_symmat33f_get_parts_s (const Gan_SquMatrix33_f *A, Gan_SquMatrix22_f *B, Gan_Vector2_f *p, float *s)
 Extract parts of 3x3 symmetric matrix.
void gan_ltmat33f_get_parts_s (const Gan_SquMatrix33_f *A, Gan_SquMatrix22_f *B, Gan_Vector2_f *p, float *s)
 Extract parts of 3x3 lower triangular matrix.
void gan_mat33f_get_rows_q (const Gan_Matrix33_f *A, Gan_Vector3_f *p, Gan_Vector3_f *q, Gan_Vector3_f *r)
 Macro: Extract rows of 3x3 matrix.
void gan_mat33f_get_cols_q (const Gan_Matrix33_f *A, Gan_Vector3_f *p, Gan_Vector3_f *q, Gan_Vector3_f *r)
 Macro: Extract columns of 3x3 matrix.
Gan_Matrix22_fgan_mat33f_get_m22tl_q (const Gan_Matrix33_f *A, Gan_Matrix22_f *B)
 Macro: Extract top-left 2x2 part of 3x3 matrix.
Gan_Vector2_fgan_mat33f_get_v2tr_q (const Gan_Matrix33_f *A, Gan_Vector2_f *p)
 Macro: Extract top part of right hand column of 3x3 matrix.
void gan_mat33f_get_parts_q (const Gan_Matrix33_f *A, Gan_Matrix22_f *B, Gan_Vector2_f *p, Gan_Vector2_f *q, float *s)
 Macro: Extract parts of 3x3 matrix.
void gan_symmat33f_get_parts_q (const Gan_SquMatrix33_f *A, Gan_SquMatrix22_f *B, Gan_Vector2_f *p, float *s)
 Macro: Extract parts of 3x3 symmetric matrix.
void gan_ltmat33f_get_parts_q (const Gan_SquMatrix33_f *A, Gan_SquMatrix22_f *B, Gan_Vector2_f *p, float *s)
 Macro: Extract parts of 3x3 lower triangular matrix.
void gan_mat34_get_rows_s (const Gan_Matrix34 *A, Gan_Vector4 *p, Gan_Vector4 *q, Gan_Vector4 *r)
 Extract rows of 3x4 matrix.
void gan_mat34_get_cols_s (const Gan_Matrix34 *A, Gan_Vector3 *p, Gan_Vector3 *q, Gan_Vector3 *r, Gan_Vector3 *s)
 Extract columns of 3x4 matrix.
Gan_Matrix33 gan_mat34_get_m33l_s (const Gan_Matrix34 *A)
 Extract left-hand 3x3 part of 3x4 matrix.
Gan_Vector3 gan_mat34_get_v3r_s (const Gan_Matrix34 *A)
 Extract right-hand column of 3x4 matrix.
void gan_mat34_get_rows_q (const Gan_Matrix34 *A, Gan_Vector4 *p, Gan_Vector4 *q, Gan_Vector4 *r)
 Macro: Extract rows of 3x4 matrix.
void gan_mat34_get_cols_q (const Gan_Matrix34 *A, Gan_Vector3 *p, Gan_Vector3 *q, Gan_Vector3 *r, Gan_Vector3 *s)
 Macro: Extract columns of 3x4 matrix.
Gan_Matrix33gan_mat34_get_m33l_q (const Gan_Matrix34 *A, Gan_Matrix33 *B)
 Macro: Extract left-hand 3x3 part of 3x4 matrix.
Gan_Vector3gan_mat34_get_v3r_q (const Gan_Matrix34 *A, Gan_Vector3 *p)
 Macro: Extract right-hand column of 3x4 matrix.
void gan_mat34f_get_rows_s (const Gan_Matrix34_f *A, Gan_Vector4_f *p, Gan_Vector4_f *q, Gan_Vector4_f *r)
 Extract rows of 3x4 matrix.
void gan_mat34f_get_cols_s (const Gan_Matrix34_f *A, Gan_Vector3_f *p, Gan_Vector3_f *q, Gan_Vector3_f *r, Gan_Vector3_f *s)
 Extract columns of 3x4 matrix.
Gan_Matrix33_f gan_mat34f_get_m33l_s (const Gan_Matrix34_f *A)
 Extract left-hand 3x3 part of 3x4 matrix.
Gan_Vector3_f gan_mat34f_get_v3r_s (const Gan_Matrix34_f *A)
 Extract right-hand column of 3x4 matrix.
void gan_mat34f_get_rows_q (const Gan_Matrix34_f *A, Gan_Vector4_f *p, Gan_Vector4_f *q, Gan_Vector4_f *r)
 Macro: Extract rows of 3x4 matrix.
void gan_mat34f_get_cols_q (const Gan_Matrix34_f *A, Gan_Vector3_f *p, Gan_Vector3_f *q, Gan_Vector3_f *r, Gan_Vector3_f *s)
 Macro: Extract columns of 3x4 matrix.
Gan_Matrix33_fgan_mat34f_get_m33l_q (const Gan_Matrix34_f *A, Gan_Matrix33_f *B)
 Macro: Extract left-hand 3x3 part of 3x4 matrix.
Gan_Vector3_fgan_mat34f_get_v3r_q (const Gan_Matrix34_f *A, Gan_Vector3_f *p)
 Macro: Extract right-hand column of 3x4 matrix.
void gan_mat44_get_rows_s (const Gan_Matrix44 *A, Gan_Vector4 *p, Gan_Vector4 *q, Gan_Vector4 *r, Gan_Vector4 *s)
 Extract rows of 4x4 matrix.
void gan_mat44_get_cols_s (const Gan_Matrix44 *A, Gan_Vector4 *p, Gan_Vector4 *q, Gan_Vector4 *r, Gan_Vector4 *s)
 Extract columns of 4x4 matrix.
Gan_Matrix33 gan_mat44_get_m33tl_s (const Gan_Matrix44 *A)
 Extract top-left 3x3 part of 4x4 matrix.
Gan_Vector3 gan_mat44_get_v3tr_s (const Gan_Matrix44 *A)
 Extract top part of right hand column of 4x4 matrix.
void gan_mat44_get_parts_s (const Gan_Matrix44 *A, Gan_Matrix33 *B, Gan_Vector3 *p, Gan_Vector3 *q, double *s)
 Extract parts of 4x4 matrix.
void gan_mat44_get_blocks_s (const Gan_Matrix44 *M, Gan_Matrix22 *A, Gan_Matrix22 *B, Gan_Matrix22 *C, Gan_Matrix22 *D)
 Extract 2x2 block parts of 4x4 matrix.
void gan_symmat44_get_parts_s (const Gan_SquMatrix44 *A, Gan_SquMatrix33 *B, Gan_Vector3 *p, double *s)
 Extract parts of 4x4 symmetric matrix.
void gan_symmat44_get_blocks_s (const Gan_SquMatrix44 *A, Gan_SquMatrix22 *B, Gan_Matrix22 *C, Gan_SquMatrix22 *D)
 Extract 2x2 block parts of 4x4 symmetric matrix.
void gan_ltmat44_get_parts_s (const Gan_SquMatrix44 *A, Gan_SquMatrix33 *B, Gan_Vector3 *p, double *s)
 Extract parts of 4x4 lower triangular matrix.
void gan_mat44_get_rows_q (const Gan_Matrix44 *A, Gan_Vector4 *p, Gan_Vector4 *q, Gan_Vector4 *r, Gan_Vector4 *s)
 Macro: Extract rows of 4x4 matrix.
void gan_mat44_get_cols_q (const Gan_Matrix44 *A, Gan_Vector4 *p, Gan_Vector4 *q, Gan_Vector4 *r, Gan_Vector4 *s)
 Macro: Extract columns of 4x4 matrix.
Gan_Matrix33gan_mat44_get_m33tl_q (const Gan_Matrix44 *A, Gan_Matrix33 *B)
 Macro: Extract top-left 3x3 part of 4x4 matrix.
Gan_Vector3gan_mat44_get_v3tr_q (const Gan_Matrix44 *A, Gan_Vector3 *p)
 Macro: Extract top part of right hand column of 4x4 matrix.
void gan_mat44_get_parts_q (const Gan_Matrix44 *A, Gan_Matrix33 *B, Gan_Vector3 *p, Gan_Vector3 *q, double *s)
 Macro: Extract parts of 4x4 matrix.
void gan_mat44_get_blocks_q (const Gan_Matrix44 *M, Gan_Matrix22 *A, Gan_Matrix22 *B, Gan_Matrix22 *C, Gan_Matrix22 *D)
 Macro: Extract 2x2 block parts of 4x4 matrix.
void gan_symmat44_get_parts_q (const Gan_SquMatrix44 *A, Gan_SquMatrix33 *B, Gan_Vector3 *p, double *s)
 Macro: Extract parts of 4x4 symmetric matrix.
void gan_symmat44_get_blocks_q (const Gan_SquMatrix44 *A, Gan_SquMatrix22 *B, Gan_Matrix22 *C, Gan_SquMatrix22 *D)
 Macro: Extract 2x2 block parts of 4x4 symmetric matrix.
void gan_ltmat44_get_parts_q (const Gan_SquMatrix44 *A, Gan_SquMatrix33 *B, Gan_Vector3 *p, double *s)
 Macro: Extract parts of 4x4 lower triangular matrix.
void gan_mat44f_get_rows_s (const Gan_Matrix44_f *A, Gan_Vector4_f *p, Gan_Vector4_f *q, Gan_Vector4_f *r, Gan_Vector4_f *s)
 Extract rows of 4x4 matrix.
void gan_mat44f_get_cols_s (const Gan_Matrix44_f *A, Gan_Vector4_f *p, Gan_Vector4_f *q, Gan_Vector4_f *r, Gan_Vector4_f *s)
 Extract columns of 4x4 matrix.
Gan_Matrix33_f gan_mat44f_get_m33tl_s (const Gan_Matrix44_f *A)
 Extract top-left 3x3 part of 4x4 matrix.
Gan_Vector3_f gan_mat44f_get_v3tr_s (const Gan_Matrix44_f *A)
 Extract top part of right hand column of 4x4 matrix.
void gan_mat44f_get_parts_s (const Gan_Matrix44_f *A, Gan_Matrix33_f *B, Gan_Vector3_f *p, Gan_Vector3_f *q, float *s)
 Extract parts of 4x4 matrix.
void gan_mat44f_get_blocks_s (const Gan_Matrix44_f *M, Gan_Matrix22_f *A, Gan_Matrix22_f *B, Gan_Matrix22_f *C, Gan_Matrix22_f *D)
 Extract 2x2 block parts of 4x4 matrix.
void gan_symmat44f_get_parts_s (const Gan_SquMatrix44_f *A, Gan_SquMatrix33_f *B, Gan_Vector3_f *p, float *s)
 Extract parts of 4x4 symmetric matrix.
void gan_symmat44f_get_blocks_s (const Gan_SquMatrix44_f *A, Gan_SquMatrix22_f *B, Gan_Matrix22_f *C, Gan_SquMatrix22_f *D)
 Extract 2x2 block parts of 4x4 symmetric matrix.
void gan_ltmat44f_get_parts_s (const Gan_SquMatrix44_f *A, Gan_SquMatrix33_f *B, Gan_Vector3_f *p, float *s)
 Extract parts of 4x4 lower triangular matrix.
void gan_mat44f_get_rows_q (const Gan_Matrix44_f *A, Gan_Vector4_f *p, Gan_Vector4_f *q, Gan_Vector4_f *r, Gan_Vector4_f *s)
 Macro: Extract rows of 4x4 matrix.
void gan_mat44f_get_cols_q (const Gan_Matrix44_f *A, Gan_Vector4_f *p, Gan_Vector4_f *q, Gan_Vector4_f *r, Gan_Vector4_f *s)
 Macro: Extract columns of 4x4 matrix.
Gan_Matrix33_fgan_mat44f_get_m33tl_q (const Gan_Matrix44_f *A, Gan_Matrix33_f *B)
 Macro: Extract top-left 3x3 part of 4x4 matrix.
Gan_Vector3_fgan_mat44f_get_v3tr_q (const Gan_Matrix44_f *A, Gan_Vector3_f *p)
 Macro: Extract top part of right hand column of 4x4 matrix.
void gan_mat44f_get_parts_q (const Gan_Matrix44_f *A, Gan_Matrix33_f *B, Gan_Vector3_f *p, Gan_Vector3_f *q, float *s)
 Macro: Extract parts of 4x4 matrix.
void gan_mat44f_get_blocks_q (const Gan_Matrix44_f *M, Gan_Matrix22_f *A, Gan_Matrix22_f *B, Gan_Matrix22_f *C, Gan_Matrix22_f *D)
 Macro: Extract 2x2 block parts of 4x4 matrix.
void gan_symmat44f_get_parts_q (const Gan_SquMatrix44_f *A, Gan_SquMatrix33_f *B, Gan_Vector3_f *p, float *s)
 Macro: Extract parts of 4x4 symmetric matrix.
void gan_symmat44f_get_blocks_q (const Gan_SquMatrix44_f *A, Gan_SquMatrix22_f *B, Gan_Matrix22_f *C, Gan_SquMatrix22_f *D)
 Macro: Extract 2x2 block parts of 4x4 symmetric matrix.
void gan_ltmat44f_get_parts_q (const Gan_SquMatrix44_f *A, Gan_SquMatrix33_f *B, Gan_Vector3_f *p, float *s)
 Macro: Extract parts of 4x4 lower triangular matrix.

Function Documentation

void gan_ltmat33_get_parts_q const Gan_SquMatrix33 A,
Gan_SquMatrix22 B,
Gan_Vector2 p,
double *  s
 

Macro: Extract parts of 3x3 lower triangular matrix.

Extract top-left 2x2 part, bottom-left 1x2 part and bottom-right element of 3x3 lower triangular matrix A into 2x2 lower triangular matrix B, row 2-vector p and scalar pointer s. The arrangement is

\[ A = \left(\begin{array}{cc} B & 0 \\ p^{\top} & s \end{array}\right) \]

void gan_ltmat33_get_parts_s const Gan_SquMatrix33 A,
Gan_SquMatrix22 B,
Gan_Vector2 p,
double *  s
 

Extract parts of 3x3 lower triangular matrix.

Extract top-left 2x2 part, bottom-left 1x2 part and bottom-right element of 3x3 lower triangular matrix A into 2x2 lower triangular matrix B, row 2-vector p and scalar pointer s. The arrangement is

\[ A = \left(\begin{array}{cc} B & 0 \\ p^{\top} & s \end{array}\right) \]

If any of B, p or s are NULL, the corresponding data is not referenced.

void gan_ltmat33f_get_parts_q const Gan_SquMatrix33_f A,
Gan_SquMatrix22_f B,
Gan_Vector2_f p,
float *  s
 

Macro: Extract parts of 3x3 lower triangular matrix.

Extract top-left 2x2 part, bottom-left 1x2 part and bottom-right element of 3x3 lower triangular matrix A into 2x2 lower triangular matrix B, row 2-vector p and scalar pointer s. The arrangement is

\[ A = \left(\begin{array}{cc} B & 0 \\ p^{\top} & s \end{array}\right) \]

void gan_ltmat33f_get_parts_s const Gan_SquMatrix33_f A,
Gan_SquMatrix22_f B,
Gan_Vector2_f p,
float *  s
 

Extract parts of 3x3 lower triangular matrix.

Extract top-left 2x2 part, bottom-left 1x2 part and bottom-right element of 3x3 lower triangular matrix A into 2x2 lower triangular matrix B, row 2-vector p and scalar pointer s. The arrangement is

\[ A = \left(\begin{array}{cc} B & 0 \\ p^{\top} & s \end{array}\right) \]

If any of B, p or s are NULL, the corresponding data is not referenced.

void gan_ltmat44_get_parts_q const Gan_SquMatrix44 A,
Gan_SquMatrix33 B,
Gan_Vector3 p,
double *  s
 

Macro: Extract parts of 4x4 lower triangular matrix.

Extract top-left 3x3 part, bottom-left 1x3 part and bottom-right element of 4x4 lower triangular matrix A into 3x3 lower triangular matrix B, row 3-vector p and scalar pointer s. The arrangement is

\[ A = \left(\begin{array}{cc} B & 0 \\ p^{\top} & s \end{array}\right) \]

void gan_ltmat44_get_parts_s const Gan_SquMatrix44 A,
Gan_SquMatrix33 B,
Gan_Vector3 p,
double *  s
 

Extract parts of 4x4 lower triangular matrix.

Extract top-left 3x3 part, bottom-left 1x3 part and bottom-right element of 4x4 lower triangular matrix A into 3x3 lower triangular matrix B, row 3-vector p and scalar pointer s. The arrangement is

\[ A = \left(\begin{array}{cc} B & 0 \\ p^{\top} & s \end{array}\right) \]

If any of B, p or s are NULL, the corresponding data is not referenced.

void gan_ltmat44f_get_parts_q const Gan_SquMatrix44_f A,
Gan_SquMatrix33_f B,
Gan_Vector3_f p,
float *  s
 

Macro: Extract parts of 4x4 lower triangular matrix.

Extract top-left 3x3 part, bottom-left 1x3 part and bottom-right element of 4x4 lower triangular matrix A into 3x3 lower triangular matrix B, row 3-vector p and scalar pointer s. The arrangement is

\[ A = \left(\begin{array}{cc} B & 0 \\ p^{\top} & s \end{array}\right) \]

void gan_ltmat44f_get_parts_s const Gan_SquMatrix44_f A,
Gan_SquMatrix33_f B,
Gan_Vector3_f p,
float *  s
 

Extract parts of 4x4 lower triangular matrix.

Extract top-left 3x3 part, bottom-left 1x3 part and bottom-right element of 4x4 lower triangular matrix A into 3x3 lower triangular matrix B, row 3-vector p and scalar pointer s. The arrangement is

\[ A = \left(\begin{array}{cc} B & 0 \\ p^{\top} & s \end{array}\right) \]

If any of B, p or s are NULL, the corresponding data is not referenced.

void gan_mat22_get_cols_q const Gan_Matrix22 A,
Gan_Vector2 p,
Gan_Vector2 q
 

Macro: Extract columns of 2x2 matrix.

Extract columns of 2x2 matrix A into 2-vectors p and q. The arrangement can be written

\[ A = \left(\begin{array}{cc} p & q \end{array}\right) \]

Returns:
No value.

void gan_mat22_get_cols_s const Gan_Matrix22 A,
Gan_Vector2 p,
Gan_Vector2 q
 

Extract columns of 2x2 matrix.

Extract columns of 2x2 matrix A into 2-vectors p and q. The arrangement can be written

\[ A = \left(\begin{array}{cc} p & q \end{array}\right) \]

Returns:
No value.

void gan_mat22_get_rows_q const Gan_Matrix22 A,
Gan_Vector2 p,
Gan_Vector2 q
 

Macro: Extract rows of 2x2 matrix.

Extract rows of 2x2 matrix A into 2-vectors p and q. The arrangement can be written

\[ A = \left(\begin{array}{c} p^{\top} \\ q^{\top} \end{array}\right) \]

Returns:
No value.

void gan_mat22_get_rows_s const Gan_Matrix22 A,
Gan_Vector2 p,
Gan_Vector2 q
 

Extract rows of 2x2 matrix.

Extract rows of 2x2 matrix A into 2-vectors p and q. The arrangement can be written

\[ A = \left(\begin{array}{c} p^{\top} \\ q^{\top} \end{array}\right) \]

Returns:
No value.

void gan_mat22f_get_cols_q const Gan_Matrix22_f A,
Gan_Vector2_f p,
Gan_Vector2_f q
 

Macro: Extract columns of 2x2 matrix.

Extract columns of 2x2 matrix A into 2-vectors p and q. The arrangement can be written

\[ A = \left(\begin{array}{cc} p & q \end{array}\right) \]

Returns:
No value.

void gan_mat22f_get_cols_s const Gan_Matrix22_f A,
Gan_Vector2_f p,
Gan_Vector2_f q
 

Extract columns of 2x2 matrix.

Extract columns of 2x2 matrix A into 2-vectors p and q. The arrangement can be written

\[ A = \left(\begin{array}{cc} p & q \end{array}\right) \]

Returns:
No value.

void gan_mat22f_get_rows_q const Gan_Matrix22_f A,
Gan_Vector2_f p,
Gan_Vector2_f q
 

Macro: Extract rows of 2x2 matrix.

Extract rows of 2x2 matrix A into 2-vectors p and q. The arrangement can be written

\[ A = \left(\begin{array}{c} p^{\top} \\ q^{\top} \end{array}\right) \]

Returns:
No value.

void gan_mat22f_get_rows_s const Gan_Matrix22_f A,
Gan_Vector2_f p,
Gan_Vector2_f q
 

Extract rows of 2x2 matrix.

Extract rows of 2x2 matrix A into 2-vectors p and q. The arrangement can be written

\[ A = \left(\begin{array}{c} p^{\top} \\ q^{\top} \end{array}\right) \]

Returns:
No value.

void gan_mat23_get_cols_q const Gan_Matrix23 A,
Gan_Vector2 p,
Gan_Vector2 q,
Gan_Vector2 r
 

Macro: Extract columns of 2x3 matrix.

Extract columns of 2x3 matrix A into 2-vectors p, q and r. The arrangement can be written

\[ A = \left(\begin{array}{ccc} p & q & r \end{array}\right) \]

Returns:
No value.

void gan_mat23_get_cols_s const Gan_Matrix23 A,
Gan_Vector2 p,
Gan_Vector2 q,
Gan_Vector2 r
 

Extract columns of 2x3 matrix.

Extract columns of 2x3 matrix A into 2-vectors p, q and r. The arrangement can be written

\[ A = \left(\begin{array}{ccc} p & q & r \end{array}\right) \]

Returns:
No value.

Gan_Matrix22* gan_mat23_get_m22l_q const Gan_Matrix23 A,
Gan_Matrix22 B
 

Macro: Extract left-hand 2x2 part of 2x3 matrix.

Extract left-hand 2x2 part of 2x3 matrix A into 2x2 matrix B.

Returns:
Pointer to result 2x2 matrix B.

Gan_Matrix22 gan_mat23_get_m22l_s const Gan_Matrix23 A  ) 
 

Extract left-hand 2x2 part of 2x3 matrix.

Extract left-hand 2x2 part of 2x3 matrix A into 2x2 matrix B.

Returns:
Result B as a new 2x2 matrix.

void gan_mat23_get_rows_q const Gan_Matrix23 A,
Gan_Vector3 p,
Gan_Vector3 q
 

Macro: Extract rows of 2x3 matrix.

Extract rows of 2x3 matrix A into 3-vectors p and q. The arrangement can be written

\[ A = \left(\begin{array}{c} p^{\top} \\ q^{\top} \end{array}\right) \]

Returns:
No value.

void gan_mat23_get_rows_s const Gan_Matrix23 A,
Gan_Vector3 p,
Gan_Vector3 q
 

Extract rows of 2x3 matrix.

Extract rows of 2x3 matrix A into 3-vectors p and q. The arrangement can be written

\[ A = \left(\begin{array}{c} p^{\top} \\ q^{\top} \end{array}\right) \]

Returns:
No value.

Gan_Vector2* gan_mat23_get_v2r_q const Gan_Matrix23 A,
Gan_Vector2 p
 

Macro: Extract right-hand column of 2x3 matrix.

Extract right-hand column of 2x3 matrix A into 2-vector p.

Returns:
Pointer to result 2-vector p.

Gan_Vector2 gan_mat23_get_v2r_s const Gan_Matrix23 A  ) 
 

Extract right-hand column of 2x3 matrix.

Extract right-hand column of 2x3 matrix A into 2-vector p.

Returns:
Result p as a new 2-vector.

void gan_mat23f_get_cols_q const Gan_Matrix23_f A,
Gan_Vector2_f p,
Gan_Vector2_f q,
Gan_Vector2_f r
 

Macro: Extract columns of 2x3 matrix.

Extract columns of 2x3 matrix A into 2-vectors p, q and r. The arrangement can be written

\[ A = \left(\begin{array}{ccc} p & q & r \end{array}\right) \]

Returns:
No value.

void gan_mat23f_get_cols_s const Gan_Matrix23_f A,
Gan_Vector2_f p,
Gan_Vector2_f q,
Gan_Vector2_f r
 

Extract columns of 2x3 matrix.

Extract columns of 2x3 matrix A into 2-vectors p, q and r. The arrangement can be written

\[ A = \left(\begin{array}{ccc} p & q & r \end{array}\right) \]

Returns:
No value.

Gan_Matrix22_f* gan_mat23f_get_m22l_q const Gan_Matrix23_f A,
Gan_Matrix22_f B
 

Macro: Extract left-hand 2x2 part of 2x3 matrix.

Extract left-hand 2x2 part of 2x3 matrix A into 2x2 matrix B.

Returns:
Pointer to result 2x2 matrix B.

Gan_Matrix22_f gan_mat23f_get_m22l_s const Gan_Matrix23_f A  ) 
 

Extract left-hand 2x2 part of 2x3 matrix.

Extract left-hand 2x2 part of 2x3 matrix A into 2x2 matrix B.

Returns:
Result B as a new 2x2 matrix.

void gan_mat23f_get_rows_q const Gan_Matrix23_f A,
Gan_Vector3_f p,
Gan_Vector3_f q
 

Macro: Extract rows of 2x3 matrix.

Extract rows of 2x3 matrix A into 3-vectors p and q. The arrangement can be written

\[ A = \left(\begin{array}{c} p^{\top} \\ q^{\top} \end{array}\right) \]

Returns:
No value.

void gan_mat23f_get_rows_s const Gan_Matrix23_f A,
Gan_Vector3_f p,
Gan_Vector3_f q
 

Extract rows of 2x3 matrix.

Extract rows of 2x3 matrix A into 3-vectors p and q. The arrangement can be written

\[ A = \left(\begin{array}{c} p^{\top} \\ q^{\top} \end{array}\right) \]

Returns:
No value.

Gan_Vector2_f* gan_mat23f_get_v2r_q const Gan_Matrix23_f A,
Gan_Vector2_f p
 

Macro: Extract right-hand column of 2x3 matrix.

Extract right-hand column of 2x3 matrix A into 2-vector p.

Returns:
Pointer to result 2-vector p.

Gan_Vector2_f gan_mat23f_get_v2r_s const Gan_Matrix23_f A  ) 
 

Extract right-hand column of 2x3 matrix.

Extract right-hand column of 2x3 matrix A into 2-vector p.

Returns:
Result p as a new 2-vector.

void gan_mat24_get_cols_q const Gan_Matrix24 A,
Gan_Vector2 p,
Gan_Vector2 q,
Gan_Vector2 r,
Gan_Vector2 s
 

Macro: Extract columns of 2x4 matrix.

Extract columns of 2x4 matrix A into 2-vectors p, q, r and s. The arrangement can be written

\[ A = \left(\begin{array}{cccc} p & q & r & s \end{array}\right) \]

Returns:
No value.

void gan_mat24_get_cols_s const Gan_Matrix24 A,
Gan_Vector2 p,
Gan_Vector2 q,
Gan_Vector2 r,
Gan_Vector2 s
 

Extract columns of 2x4 matrix.

Extract columns of 2x4 matrix A into 2-vectors p, q, r and s. The arrangement can be written

\[ A = \left(\begin{array}{cccc} p & q & r & s \end{array}\right) \]

Returns:
No value.

void gan_mat24_get_rows_q const Gan_Matrix24 A,
Gan_Vector4 p,
Gan_Vector4 q
 

Macro: Extract rows of 2x4 matrix.

Extract rows of 2x4 matrix A into 4-vectors p and q. The arrangement can be written

\[ A = \left(\begin{array}{c} p^{\top} \\ q^{\top} \end{array}\right) \]

Returns:
No value.

void gan_mat24_get_rows_s const Gan_Matrix24 A,
Gan_Vector4 p,
Gan_Vector4 q
 

Extract rows of 2x4 matrix.

Extract rows of 2x4 matrix A into 4-vectors p and q. The arrangement can be written

\[ A = \left(\begin{array}{c} p^{\top} \\ q^{\top} \end{array}\right) \]

Returns:
No value.

void gan_mat24f_get_cols_q const Gan_Matrix24_f A,
Gan_Vector2_f p,
Gan_Vector2_f q,
Gan_Vector2_f r,
Gan_Vector2_f s
 

Macro: Extract columns of 2x4 matrix.

Extract columns of 2x4 matrix A into 2-vectors p, q, r and s. The arrangement can be written

\[ A = \left(\begin{array}{cccc} p & q & r & s \end{array}\right) \]

Returns:
No value.

void gan_mat24f_get_cols_s const Gan_Matrix24_f A,
Gan_Vector2_f p,
Gan_Vector2_f q,
Gan_Vector2_f r,
Gan_Vector2_f s
 

Extract columns of 2x4 matrix.

Extract columns of 2x4 matrix A into 2-vectors p, q, r and s. The arrangement can be written

\[ A = \left(\begin{array}{cccc} p & q & r & s \end{array}\right) \]

Returns:
No value.

void gan_mat24f_get_rows_q const Gan_Matrix24_f A,
Gan_Vector4_f p,
Gan_Vector4_f q
 

Macro: Extract rows of 2x4 matrix.

Extract rows of 2x4 matrix A into 4-vectors p and q. The arrangement can be written

\[ A = \left(\begin{array}{c} p^{\top} \\ q^{\top} \end{array}\right) \]

Returns:
No value.

void gan_mat24f_get_rows_s const Gan_Matrix24_f A,
Gan_Vector4_f p,
Gan_Vector4_f q
 

Extract rows of 2x4 matrix.

Extract rows of 2x4 matrix A into 4-vectors p and q. The arrangement can be written

\[ A = \left(\begin{array}{c} p^{\top} \\ q^{\top} \end{array}\right) \]

Returns:
No value.

void gan_mat33_get_cols_q const Gan_Matrix33 A,
Gan_Vector3 p,
Gan_Vector3 q,
Gan_Vector3 r
 

Macro: Extract columns of 3x3 matrix.

Extract columns of 3x3 matrix A into 3-vectors p, q and r. The arrangement can be written

\[ A = \left(\begin{array}{ccc} p & q & r \end{array}\right) \]

Returns:
No value.

void gan_mat33_get_cols_s const Gan_Matrix33 A,
Gan_Vector3 p,
Gan_Vector3 q,
Gan_Vector3 r
 

Extract columns of 3x3 matrix.

Extract columns of 3x3 matrix A into 3-vectors p, q and r. The arrangement can be written

\[ A = \left(\begin{array}{ccc} p & q & r \end{array}\right) \]

Returns:
No value.

Gan_Matrix22* gan_mat33_get_m22tl_q const Gan_Matrix33 A,
Gan_Matrix22 B
 

Macro: Extract top-left 2x2 part of 3x3 matrix.

Extract top-left 2x2 part of 3x3 matrix A into 2x2 matrix B.

Returns:
Pointer to 2x2 matrix B.

Gan_Matrix22 gan_mat33_get_m22tl_s const Gan_Matrix33 A  ) 
 

Extract top-left 2x2 part of 3x3 matrix.

Extract top-left 2x2 part of 3x3 matrix A.

Returns:
Result 2x2 matrix part.

void gan_mat33_get_parts_q const Gan_Matrix33 A,
Gan_Matrix22 B,
Gan_Vector2 p,
Gan_Vector2 q,
double *  s
 

Macro: Extract parts of 3x3 matrix.

Extract top-left 2x2 part, top-right 2x1 part, bottom-left 1x2 part and bottom-right element of 3x3 matrix A into 2x2 matrix B, column 2-vector p, row 2-vector q and scalar pointer s. The arrangement is

\[ A = \left(\begin{array}{cc} B & p \\ q^{\top} & s \end{array}\right) \]

Returns:
No value.

void gan_mat33_get_parts_s const Gan_Matrix33 A,
Gan_Matrix22 B,
Gan_Vector2 p,
Gan_Vector2 q,
double *  s
 

Extract parts of 3x3 matrix.

Extract top-left 2x2 part, top-right 2x1 part, bottom-left 1x2 part and bottom-right element of 3x3 matrix A into 2x2 matrix B, column 2-vector p, row 2-vector q and scalar pointer s. The arrangement is

\[ A = \left(\begin{array}{cc} B & p \\ q^{\top} & s \end{array}\right) \]

Returns:
No value.

void gan_mat33_get_rows_q const Gan_Matrix33 A,
Gan_Vector3 p,
Gan_Vector3 q,
Gan_Vector3 r
 

Macro: Extract rows of 3x3 matrix.

Extract rows of 3x3 matrix A into 3-vectors p, q and r. The arrangement can be written

\[ A = \left(\begin{array}{c} p^{\top} \\ q^{\top} \\ r^{\top} \end{array}\right) \]

Returns:
No value.

void gan_mat33_get_rows_s const Gan_Matrix33 A,
Gan_Vector3 p,
Gan_Vector3 q,
Gan_Vector3 r
 

Extract rows of 3x3 matrix.

Extract rows of 3x3 matrix A into 3-vectors p, q and r. The arrangement can be written

\[ A = \left(\begin{array}{c} p^{\top} \\ q^{\top} \\ r^{\top} \end{array}\right) \]

Returns:
No value.

Gan_Vector2* gan_mat33_get_v2tr_q const Gan_Matrix33 A,
Gan_Vector2 p
 

Macro: Extract top part of right hand column of 3x3 matrix.

Extract top-right column of 3x3 matrix A into 2-vector p.

Returns:
Pointer to result 2-vector p.

Gan_Vector2 gan_mat33_get_v2tr_s const Gan_Matrix33 A  ) 
 

Extract top part of right hand column of 3x3 matrix.

Extract top-right column of 3x3 matrix A.

Returns:
Result 2-vector part.

void gan_mat33f_get_cols_q const Gan_Matrix33_f A,
Gan_Vector3_f p,
Gan_Vector3_f q,
Gan_Vector3_f r
 

Macro: Extract columns of 3x3 matrix.

Extract columns of 3x3 matrix A into 3-vectors p, q and r. The arrangement can be written

\[ A = \left(\begin{array}{ccc} p & q & r \end{array}\right) \]

Returns:
No value.

void gan_mat33f_get_cols_s const Gan_Matrix33_f A,
Gan_Vector3_f p,
Gan_Vector3_f q,
Gan_Vector3_f r
 

Extract columns of 3x3 matrix.

Extract columns of 3x3 matrix A into 3-vectors p, q and r. The arrangement can be written

\[ A = \left(\begin{array}{ccc} p & q & r \end{array}\right) \]

Returns:
No value.

Gan_Matrix22_f* gan_mat33f_get_m22tl_q const Gan_Matrix33_f A,
Gan_Matrix22_f B
 

Macro: Extract top-left 2x2 part of 3x3 matrix.

Extract top-left 2x2 part of 3x3 matrix A into 2x2 matrix B.

Returns:
Pointer to 2x2 matrix B.

Gan_Matrix22_f gan_mat33f_get_m22tl_s const Gan_Matrix33_f A  ) 
 

Extract top-left 2x2 part of 3x3 matrix.

Extract top-left 2x2 part of 3x3 matrix A.

Returns:
Result 2x2 matrix part.

void gan_mat33f_get_parts_q const Gan_Matrix33_f A,
Gan_Matrix22_f B,
Gan_Vector2_f p,
Gan_Vector2_f q,
float *  s
 

Macro: Extract parts of 3x3 matrix.

Extract top-left 2x2 part, top-right 2x1 part, bottom-left 1x2 part and bottom-right element of 3x3 matrix A into 2x2 matrix B, column 2-vector p, row 2-vector q and scalar pointer s. The arrangement is

\[ A = \left(\begin{array}{cc} B & p \\ q^{\top} & s \end{array}\right) \]

Returns:
No value.

void gan_mat33f_get_parts_s const Gan_Matrix33_f A,
Gan_Matrix22_f B,
Gan_Vector2_f p,
Gan_Vector2_f q,
float *  s
 

Extract parts of 3x3 matrix.

Extract top-left 2x2 part, top-right 2x1 part, bottom-left 1x2 part and bottom-right element of 3x3 matrix A into 2x2 matrix B, column 2-vector p, row 2-vector q and scalar pointer s. The arrangement is

\[ A = \left(\begin{array}{cc} B & p \\ q^{\top} & s \end{array}\right) \]

Returns:
No value.

void gan_mat33f_get_rows_q const Gan_Matrix33_f A,
Gan_Vector3_f p,
Gan_Vector3_f q,
Gan_Vector3_f r
 

Macro: Extract rows of 3x3 matrix.

Extract rows of 3x3 matrix A into 3-vectors p, q and r. The arrangement can be written

\[ A = \left(\begin{array}{c} p^{\top} \\ q^{\top} \\ r^{\top} \end{array}\right) \]

Returns:
No value.

void gan_mat33f_get_rows_s const Gan_Matrix33_f A,
Gan_Vector3_f p,
Gan_Vector3_f q,
Gan_Vector3_f r
 

Extract rows of 3x3 matrix.

Extract rows of 3x3 matrix A into 3-vectors p, q and r. The arrangement can be written

\[ A = \left(\begin{array}{c} p^{\top} \\ q^{\top} \\ r^{\top} \end{array}\right) \]

Returns:
No value.

Gan_Vector2_f* gan_mat33f_get_v2tr_q const Gan_Matrix33_f A,
Gan_Vector2_f p
 

Macro: Extract top part of right hand column of 3x3 matrix.

Extract top-right column of 3x3 matrix A into 2-vector p.

Returns:
Pointer to result 2-vector p.

Gan_Vector2_f gan_mat33f_get_v2tr_s const Gan_Matrix33_f A  ) 
 

Extract top part of right hand column of 3x3 matrix.

Extract top-right column of 3x3 matrix A.

Returns:
Result 2-vector part.

void gan_mat34_get_cols_q const Gan_Matrix34 A,
Gan_Vector3 p,
Gan_Vector3 q,
Gan_Vector3 r,
Gan_Vector3 s
 

Macro: Extract columns of 3x4 matrix.

Extract columns of 3x4 matrix A into 3-vectors p, q, r and s. The arrangement can be written

\[ A = \left(\begin{array}{cccc} p & q & r & s \end{array}\right) \]

Returns:
No value.

void gan_mat34_get_cols_s const Gan_Matrix34 A,
Gan_Vector3 p,
Gan_Vector3 q,
Gan_Vector3 r,
Gan_Vector3 s
 

Extract columns of 3x4 matrix.

Extract columns of 3x4 matrix A into 3-vectors p, q, r and s. The arrangement can be written

\[ A = \left(\begin{array}{cccc} p & q & r & s \end{array}\right) \]

Returns:
No value.

Gan_Matrix33* gan_mat34_get_m33l_q const Gan_Matrix34 A,
Gan_Matrix33 B
 

Macro: Extract left-hand 3x3 part of 3x4 matrix.

Extract left-hand 3x3 part of 3x4 matrix A into 3x3 matrix B.

Returns:
Pointer to result 3x3 matrix B.

Gan_Matrix33 gan_mat34_get_m33l_s const Gan_Matrix34 A  ) 
 

Extract left-hand 3x3 part of 3x4 matrix.

Extract left-hand 3x3 part of 3x4 matrix A into 3x3 matrix B.

Returns:
Result B as a new 3x3 matrix.

void gan_mat34_get_rows_q const Gan_Matrix34 A,
Gan_Vector4 p,
Gan_Vector4 q,
Gan_Vector4 r
 

Macro: Extract rows of 3x4 matrix.

Extract rows of 3x4 matrix A into 4-vectors p, q and r. The arrangement can be written

\[ A = \left(\begin{array}{c} p^{\top} \\ q^{\top} \\ r^{\top} \end{array}\right) \]

Returns:
No value.

void gan_mat34_get_rows_s const Gan_Matrix34 A,
Gan_Vector4 p,
Gan_Vector4 q,
Gan_Vector4 r
 

Extract rows of 3x4 matrix.

Extract rows of 3x4 matrix A into 4-vectors p, q and r. The arrangement can be written

\[ A = \left(\begin{array}{c} p^{\top} \\ q^{\top} \\ r^{\top} \end{array}\right) \]

Returns:
No value.

Gan_Vector3* gan_mat34_get_v3r_q const Gan_Matrix34 A,
Gan_Vector3 p
 

Macro: Extract right-hand column of 3x4 matrix.

Extract right-hand column of 3x4 matrix A into 3-vector p.

Returns:
Pointer to result 3-vector p.

Gan_Vector3 gan_mat34_get_v3r_s const Gan_Matrix34 A  ) 
 

Extract right-hand column of 3x4 matrix.

Extract right-hand column of 3x4 matrix A into 3-vector p.

Returns:
Result p as a new 3-vector.

void gan_mat34f_get_cols_q const Gan_Matrix34_f A,
Gan_Vector3_f p,
Gan_Vector3_f q,
Gan_Vector3_f r,
Gan_Vector3_f s
 

Macro: Extract columns of 3x4 matrix.

Extract columns of 3x4 matrix A into 3-vectors p, q, r and s. The arrangement can be written

\[ A = \left(\begin{array}{cccc} p & q & r & s \end{array}\right) \]

Returns:
No value.

void gan_mat34f_get_cols_s const Gan_Matrix34_f A,
Gan_Vector3_f p,
Gan_Vector3_f q,
Gan_Vector3_f r,
Gan_Vector3_f s
 

Extract columns of 3x4 matrix.

Extract columns of 3x4 matrix A into 3-vectors p, q, r and s. The arrangement can be written

\[ A = \left(\begin{array}{cccc} p & q & r & s \end{array}\right) \]

Returns:
No value.

Gan_Matrix33_f* gan_mat34f_get_m33l_q const Gan_Matrix34_f A,
Gan_Matrix33_f B
 

Macro: Extract left-hand 3x3 part of 3x4 matrix.

Extract left-hand 3x3 part of 3x4 matrix A into 3x3 matrix B.

Returns:
Pointer to result 3x3 matrix B.

Gan_Matrix33_f gan_mat34f_get_m33l_s const Gan_Matrix34_f A  ) 
 

Extract left-hand 3x3 part of 3x4 matrix.

Extract left-hand 3x3 part of 3x4 matrix A into 3x3 matrix B.

Returns:
Result B as a new 3x3 matrix.

void gan_mat34f_get_rows_q const Gan_Matrix34_f A,
Gan_Vector4_f p,
Gan_Vector4_f q,
Gan_Vector4_f r
 

Macro: Extract rows of 3x4 matrix.

Extract rows of 3x4 matrix A into 4-vectors p, q and r. The arrangement can be written

\[ A = \left(\begin{array}{c} p^{\top} \\ q^{\top} \\ r^{\top} \end{array}\right) \]

Returns:
No value.

void gan_mat34f_get_rows_s const Gan_Matrix34_f A,
Gan_Vector4_f p,
Gan_Vector4_f q,
Gan_Vector4_f r
 

Extract rows of 3x4 matrix.

Extract rows of 3x4 matrix A into 4-vectors p, q and r. The arrangement can be written

\[ A = \left(\begin{array}{c} p^{\top} \\ q^{\top} \\ r^{\top} \end{array}\right) \]

Returns:
No value.

Gan_Vector3_f* gan_mat34f_get_v3r_q const Gan_Matrix34_f A,
Gan_Vector3_f p
 

Macro: Extract right-hand column of 3x4 matrix.

Extract right-hand column of 3x4 matrix A into 3-vector p.

Returns:
Pointer to result 3-vector p.

Gan_Vector3_f gan_mat34f_get_v3r_s const Gan_Matrix34_f A  ) 
 

Extract right-hand column of 3x4 matrix.

Extract right-hand column of 3x4 matrix A into 3-vector p.

Returns:
Result p as a new 3-vector.

void gan_mat44_get_blocks_q const Gan_Matrix44 M,
Gan_Matrix22 A,
Gan_Matrix22 B,
Gan_Matrix22 C,
Gan_Matrix22 D
 

Macro: Extract 2x2 block parts of 4x4 matrix.

Extract top-left, top-right, bottom-left bottom-right blocks of 4x4 matrix M into 2x2 matrices A, B, C and D. The arrangement is

\[ M = \left(\begin{array}{cc} A & B \\ C & D \end{array}\right) \]

Returns:
No value.

void gan_mat44_get_blocks_s const Gan_Matrix44 M,
Gan_Matrix22 A,
Gan_Matrix22 B,
Gan_Matrix22 C,
Gan_Matrix22 D
 

Extract 2x2 block parts of 4x4 matrix.

Extract top-left, top-right, bottom-left bottom-right blocks of 4x4 matrix M into 2x2 matrices A, B, C and D. The arrangement is

\[ M = \left(\begin{array}{cc} A & B \\ C & D \end{array}\right) \]

Returns:
No value.

void gan_mat44_get_cols_q const Gan_Matrix44 A,
Gan_Vector4 p,
Gan_Vector4 q,
Gan_Vector4 r,
Gan_Vector4 s
 

Macro: Extract columns of 4x4 matrix.

Extract columns of 4x4 matrix A into 4-vectors p, q, r and s. The arrangement can be written

\[ A = \left(\begin{array}{cccc} p & q & r & s \end{array}\right) \]

Returns:
No value.

void gan_mat44_get_cols_s const Gan_Matrix44 A,
Gan_Vector4 p,
Gan_Vector4 q,
Gan_Vector4 r,
Gan_Vector4 s
 

Extract columns of 4x4 matrix.

Extract columns of 4x4 matrix A into 4-vectors p, q, r and s. The arrangement can be written

\[ A = \left(\begin{array}{cccc} p & q & r & s \end{array}\right) \]

Returns:
No value.

Gan_Matrix33* gan_mat44_get_m33tl_q const Gan_Matrix44 A,
Gan_Matrix33 B
 

Macro: Extract top-left 3x3 part of 4x4 matrix.

Extract top-left 3x3 part of 4x4 matrix A into 3x3 matrix B.

Returns:
Pointer to 3x3 matrix B.

Gan_Matrix33 gan_mat44_get_m33tl_s const Gan_Matrix44 A  ) 
 

Extract top-left 3x3 part of 4x4 matrix.

Extract top-left 3x3 part of 4x4 matrix A.

Returns:
Result 3x3 matrix part.

void gan_mat44_get_parts_q const Gan_Matrix44 A,
Gan_Matrix33 B,
Gan_Vector3 p,
Gan_Vector3 q,
double *  s
 

Macro: Extract parts of 4x4 matrix.

Extract top-left 3x3 part, top-right 3x1 part, bottom-left 1x3 part and bottom-right element of 4x4 matrix A into 3x3 matrix B, column 3-vector p, row 3-vector q and scalar pointer s. The arrangement is

\[ A = \left(\begin{array}{cc} B & p \\ q^{\top} & s \end{array}\right) \]

Returns:
No value.

void gan_mat44_get_parts_s const Gan_Matrix44 A,
Gan_Matrix33 B,
Gan_Vector3 p,
Gan_Vector3 q,
double *  s
 

Extract parts of 4x4 matrix.

Extract top-left 3x3 part, top-right 3x1 part, bottom-left 1x3 part and bottom-right element of 4x4 matrix A into 3x3 matrix B, column 3-vector p, row 3-vector q and scalar pointer s. The arrangement is

\[ A = \left(\begin{array}{cc} B & p \\ q^{\top} & s \end{array}\right) \]

Returns:
No value.

void gan_mat44_get_rows_q const Gan_Matrix44 A,
Gan_Vector4 p,
Gan_Vector4 q,
Gan_Vector4 r,
Gan_Vector4 s
 

Macro: Extract rows of 4x4 matrix.

Extract rows of 4x4 matrix A into 4-vectors p, q, r and s. The arrangement can be written

\[ A = \left(\begin{array}{c} p^{\top} \\ q^{\top} \\ r^{\top} \\ s^{\top} \end{array}\right) \]

Returns:
No value.

void gan_mat44_get_rows_s const Gan_Matrix44 A,
Gan_Vector4 p,
Gan_Vector4 q,
Gan_Vector4 r,
Gan_Vector4 s
 

Extract rows of 4x4 matrix.

Extract rows of 4x4 matrix A into 4-vectors p, q, r and s. The arrangement can be written

\[ A = \left(\begin{array}{c} p^{\top} \\ q^{\top} \\ r^{\top} \\ s^{\top} \end{array}\right) \]

Returns:
No value.

Gan_Vector3* gan_mat44_get_v3tr_q const Gan_Matrix44 A,
Gan_Vector3 p
 

Macro: Extract top part of right hand column of 4x4 matrix.

Extract top-right column of 4x4 matrix A into 3-vector p.

Returns:
Pointer to result 3-vector p.

Gan_Vector3 gan_mat44_get_v3tr_s const Gan_Matrix44 A  ) 
 

Extract top part of right hand column of 4x4 matrix.

Extract top-right column of 4x4 matrix A.

Returns:
Result 3-vector part.

void gan_mat44f_get_blocks_q const Gan_Matrix44_f M,
Gan_Matrix22_f A,
Gan_Matrix22_f B,
Gan_Matrix22_f C,
Gan_Matrix22_f D
 

Macro: Extract 2x2 block parts of 4x4 matrix.

Extract top-left, top-right, bottom-left bottom-right blocks of 4x4 matrix M into 2x2 matrices A, B, C and D. The arrangement is

\[ M = \left(\begin{array}{cc} A & B \\ C & D \end{array}\right) \]

Returns:
No value.

void gan_mat44f_get_blocks_s const Gan_Matrix44_f M,
Gan_Matrix22_f A,
Gan_Matrix22_f B,
Gan_Matrix22_f C,
Gan_Matrix22_f D
 

Extract 2x2 block parts of 4x4 matrix.

Extract top-left, top-right, bottom-left bottom-right blocks of 4x4 matrix M into 2x2 matrices A, B, C and D. The arrangement is

\[ M = \left(\begin{array}{cc} A & B \\ C & D \end{array}\right) \]

Returns:
No value.

void gan_mat44f_get_cols_q const Gan_Matrix44_f A,
Gan_Vector4_f p,
Gan_Vector4_f q,
Gan_Vector4_f r,
Gan_Vector4_f s
 

Macro: Extract columns of 4x4 matrix.

Extract columns of 4x4 matrix A into 4-vectors p, q, r and s. The arrangement can be written

\[ A = \left(\begin{array}{cccc} p & q & r & s \end{array}\right) \]

Returns:
No value.

void gan_mat44f_get_cols_s const Gan_Matrix44_f A,
Gan_Vector4_f p,
Gan_Vector4_f q,
Gan_Vector4_f r,
Gan_Vector4_f s
 

Extract columns of 4x4 matrix.

Extract columns of 4x4 matrix A into 4-vectors p, q, r and s. The arrangement can be written

\[ A = \left(\begin{array}{cccc} p & q & r & s \end{array}\right) \]

Returns:
No value.

Gan_Matrix33_f* gan_mat44f_get_m33tl_q const Gan_Matrix44_f A,
Gan_Matrix33_f B
 

Macro: Extract top-left 3x3 part of 4x4 matrix.

Extract top-left 3x3 part of 4x4 matrix A into 3x3 matrix B.

Returns:
Pointer to 3x3 matrix B.

Gan_Matrix33_f gan_mat44f_get_m33tl_s const Gan_Matrix44_f A  ) 
 

Extract top-left 3x3 part of 4x4 matrix.

Extract top-left 3x3 part of 4x4 matrix A.

Returns:
Result 3x3 matrix part.

void gan_mat44f_get_parts_q const Gan_Matrix44_f A,
Gan_Matrix33_f B,
Gan_Vector3_f p,
Gan_Vector3_f q,
float *  s
 

Macro: Extract parts of 4x4 matrix.

Extract top-left 3x3 part, top-right 3x1 part, bottom-left 1x3 part and bottom-right element of 4x4 matrix A into 3x3 matrix B, column 3-vector p, row 3-vector q and scalar pointer s. The arrangement is

\[ A = \left(\begin{array}{cc} B & p \\ q^{\top} & s \end{array}\right) \]

Returns:
No value.

void gan_mat44f_get_parts_s const Gan_Matrix44_f A,
Gan_Matrix33_f B,
Gan_Vector3_f p,
Gan_Vector3_f q,
float *  s
 

Extract parts of 4x4 matrix.

Extract top-left 3x3 part, top-right 3x1 part, bottom-left 1x3 part and bottom-right element of 4x4 matrix A into 3x3 matrix B, column 3-vector p, row 3-vector q and scalar pointer s. The arrangement is

\[ A = \left(\begin{array}{cc} B & p \\ q^{\top} & s \end{array}\right) \]

Returns:
No value.

void gan_mat44f_get_rows_q const Gan_Matrix44_f A,
Gan_Vector4_f p,
Gan_Vector4_f q,
Gan_Vector4_f r,
Gan_Vector4_f s
 

Macro: Extract rows of 4x4 matrix.

Extract rows of 4x4 matrix A into 4-vectors p, q, r and s. The arrangement can be written

\[ A = \left(\begin{array}{c} p^{\top} \\ q^{\top} \\ r^{\top} \\ s^{\top} \end{array}\right) \]

Returns:
No value.

void gan_mat44f_get_rows_s const Gan_Matrix44_f A,
Gan_Vector4_f p,
Gan_Vector4_f q,
Gan_Vector4_f r,
Gan_Vector4_f s
 

Extract rows of 4x4 matrix.

Extract rows of 4x4 matrix A into 4-vectors p, q, r and s. The arrangement can be written

\[ A = \left(\begin{array}{c} p^{\top} \\ q^{\top} \\ r^{\top} \\ s^{\top} \end{array}\right) \]

Returns:
No value.

Gan_Vector3_f* gan_mat44f_get_v3tr_q const Gan_Matrix44_f A,
Gan_Vector3_f p
 

Macro: Extract top part of right hand column of 4x4 matrix.

Extract top-right column of 4x4 matrix A into 3-vector p.

Returns:
Pointer to result 3-vector p.

Gan_Vector3_f gan_mat44f_get_v3tr_s const Gan_Matrix44_f A  ) 
 

Extract top part of right hand column of 4x4 matrix.

Extract top-right column of 4x4 matrix A.

Returns:
Result 3-vector part.

void gan_symmat33_get_parts_q const Gan_SquMatrix33 A,
Gan_SquMatrix22 B,
Gan_Vector2 p,
double *  s
 

Macro: Extract parts of 3x3 symmetric matrix.

Extract top-left 2x2 part, bottom-left 1x2 part and bottom-right element of 3x3 symmetric matrix A into 2x2 lower triangular matrix B, row 2-vector p and scalar pointer s. The arrangement is

\[ A = \left(\begin{array}{cc} B & p \\ p^{\top} & s \end{array}\right) \]

Returns:
No value.

void gan_symmat33_get_parts_s const Gan_SquMatrix33 A,
Gan_SquMatrix22 B,
Gan_Vector2 p,
double *  s
 

Extract parts of 3x3 symmetric matrix.

Extract top-left 2x2 part, bottom-left 1x2 part and bottom-right element of 3x3 symmetric matrix A into 2x2 lower triangular matrix B, row 2-vector p and scalar pointer s. The arrangement is

\[ A = \left(\begin{array}{cc} B & p \\ p^{\top} & s \end{array}\right) \]

If any of B, p or s are NULL, the corresponding data is not referenced.

Returns:
No value.

void gan_symmat33f_get_parts_q const Gan_SquMatrix33_f A,
Gan_SquMatrix22_f B,
Gan_Vector2_f p,
float *  s
 

Macro: Extract parts of 3x3 symmetric matrix.

Extract top-left 2x2 part, bottom-left 1x2 part and bottom-right element of 3x3 symmetric matrix A into 2x2 lower triangular matrix B, row 2-vector p and scalar pointer s. The arrangement is

\[ A = \left(\begin{array}{cc} B & p \\ p^{\top} & s \end{array}\right) \]

Returns:
No value.

void gan_symmat33f_get_parts_s const Gan_SquMatrix33_f A,
Gan_SquMatrix22_f B,
Gan_Vector2_f p,
float *  s
 

Extract parts of 3x3 symmetric matrix.

Extract top-left 2x2 part, bottom-left 1x2 part and bottom-right element of 3x3 symmetric matrix A into 2x2 lower triangular matrix B, row 2-vector p and scalar pointer s. The arrangement is

\[ A = \left(\begin{array}{cc} B & p \\ p^{\top} & s \end{array}\right) \]

If any of B, p or s are NULL, the corresponding data is not referenced.

Returns:
No value.

void gan_symmat44_get_blocks_q const Gan_SquMatrix44 A,
Gan_SquMatrix22 B,
Gan_Matrix22 C,
Gan_SquMatrix22 D
 

Macro: Extract 2x2 block parts of 4x4 symmetric matrix.

Extract top-left 2x2, top-right 2x2 (or transposed bottom-left 2x2) and bottom-right 2x2 blocks of 4x4 symmetric matrix A into 2x2 symmetric matrix B, 2x2 generic matrix C and 2x2 symmetric matrix D. The arrangement is

\[ A = \left(\begin{array}{cc} B & C \\ C^{\top} & D \end{array}\right) \]

Returns:
No value.

void gan_symmat44_get_blocks_s const Gan_SquMatrix44 A,
Gan_SquMatrix22 B,
Gan_Matrix22 C,
Gan_SquMatrix22 D
 

Extract 2x2 block parts of 4x4 symmetric matrix.

Extract top-left 2x2, top-right 2x2 (or transposed bottom-left) and bottom-right 2x2 blocks of 4x4 matrix A into 2x2 symmetric matrix B, 2x2 generic matrix C and 2x2 symmetric matrix D. If any of B, C or D are NULL, the corresponding data is not referenced.

\[ A = \left(\begin{array}{cc} B & C \\ C^{\top} & D \end{array}\right) \]

Returns:
No value.

void gan_symmat44_get_parts_q const Gan_SquMatrix44 A,
Gan_SquMatrix33 B,
Gan_Vector3 p,
double *  s
 

Macro: Extract parts of 4x4 symmetric matrix.

Extract top-left 3x3 part, bottom-left 1x3 part and bottom-right element of 4x4 symmetric matrix A into 3x3 lower triangular matrix B, row 3-vector p and scalar pointer s. The arrangement is

\[ A = \left(\begin{array}{cc} B & p \\ p^{\top} & s \end{array}\right) \]

Returns:
No value.

void gan_symmat44_get_parts_s const Gan_SquMatrix44 A,
Gan_SquMatrix33 B,
Gan_Vector3 p,
double *  s
 

Extract parts of 4x4 symmetric matrix.

Extract top-left 3x3 part, bottom-left 1x3 part and bottom-right element of 4x4 symmetric matrix A into 3x3 lower triangular matrix B, row 3-vector p and scalar pointer s. The arrangement is

\[ A = \left(\begin{array}{cc} B & p \\ p^{\top} & s \end{array}\right) \]

If any of B, p or s are NULL, the corresponding data is not referenced.

Returns:
No value.

void gan_symmat44f_get_blocks_q const Gan_SquMatrix44_f A,
Gan_SquMatrix22_f B,
Gan_Matrix22_f C,
Gan_SquMatrix22_f D
 

Macro: Extract 2x2 block parts of 4x4 symmetric matrix.

Extract top-left 2x2, top-right 2x2 (or transposed bottom-left 2x2) and bottom-right 2x2 blocks of 4x4 symmetric matrix A into 2x2 symmetric matrix B, 2x2 generic matrix C and 2x2 symmetric matrix D. The arrangement is

\[ A = \left(\begin{array}{cc} B & C \\ C^{\top} & D \end{array}\right) \]

Returns:
No value.

void gan_symmat44f_get_blocks_s const Gan_SquMatrix44_f A,
Gan_SquMatrix22_f B,
Gan_Matrix22_f C,
Gan_SquMatrix22_f D
 

Extract 2x2 block parts of 4x4 symmetric matrix.

Extract top-left 2x2, top-right 2x2 (or transposed bottom-left) and bottom-right 2x2 blocks of 4x4 matrix A into 2x2 symmetric matrix B, 2x2 generic matrix C and 2x2 symmetric matrix D. If any of B, C or D are NULL, the corresponding data is not referenced.

\[ A = \left(\begin{array}{cc} B & C \\ C^{\top} & D \end{array}\right) \]

Returns:
No value.

void gan_symmat44f_get_parts_q const Gan_SquMatrix44_f A,
Gan_SquMatrix33_f B,
Gan_Vector3_f p,
float *  s
 

Macro: Extract parts of 4x4 symmetric matrix.

Extract top-left 3x3 part, bottom-left 1x3 part and bottom-right element of 4x4 symmetric matrix A into 3x3 lower triangular matrix B, row 3-vector p and scalar pointer s. The arrangement is

\[ A = \left(\begin{array}{cc} B & p \\ p^{\top} & s \end{array}\right) \]

Returns:
No value.

void gan_symmat44f_get_parts_s const Gan_SquMatrix44_f A,
Gan_SquMatrix33_f B,
Gan_Vector3_f p,
float *  s
 

Extract parts of 4x4 symmetric matrix.

Extract top-left 3x3 part, bottom-left 1x3 part and bottom-right element of 4x4 symmetric matrix A into 3x3 lower triangular matrix B, row 3-vector p and scalar pointer s. The arrangement is

\[ A = \left(\begin{array}{cc} B & p \\ p^{\top} & s \end{array}\right) \]

If any of B, p or s are NULL, the corresponding data is not referenced.

Returns:
No value.


Generated on Fri Mar 17 12:44:56 2006 by  doxygen 1.3.9.1