Modules | |
Fixed Size Vectors | |
Fixed Size Matrices | |
Fill a Fixed Size Matrix | |
Extract Parts of a Fixed Size Matrix | |
Transpose a Fixed Size Matrix | |
Add Fixed Size Matrices | |
Fixed Size Matrix/Vector Product | |
Invert a Fixed Size Matrix | |
Fixed Size Matrix Norms | |
Copy a Fixed Size Matrix | |
Multiply/Divide a Fixed Size Matrix by a Scalar | |
Subtract Fixed Size Matrices | |
Fixed Size Matrix/Matrix Product | |
Fixed Size Matrix Triple Product | |
Convert a Fixed Size Matrix | |
Cholesky Factorisation of Fixed Size Matrix | |
Build a Fixed Size Matrix | |
Compounds | |
struct | Gan_Matrix22_f |
Structure definition for single-precision 2x2 matrix. More... | |
struct | Gan_Matrix33 |
Structure definition for double precision 3x3 matrix. More... | |
struct | Gan_Matrix33_f |
Structure definition for single precision 3x3 matrix. More... | |
struct | Gan_Matrix44 |
Structure definition for double precision 4x4 matrix. More... | |
struct | Gan_Matrix44_f |
Structure definition for single precision 4x4 matrix. More... | |
struct | Gan_SquMatrix22_f |
Structure definition for square single precision 2x2 matrix. More... | |
struct | Gan_SquMatrix33 |
Structure definition for square double precision 3x3 matrix. More... | |
struct | Gan_SquMatrix33_f |
Structure definition for square single precision 3x3 matrix. More... | |
struct | Gan_SquMatrix44 |
Structure definition for square double precision 4x4 matrix. More... | |
struct | Gan_SquMatrix44_f |
Structure definition for square single precision 4x4 matrix. More... | |
Defines | |
#define | GAN_ST22F_FILL(A, t, XX, YX, YY) |
#define | GAN_ST22F_IDENT(A, t) |
#define | GAN_MAT22F_MULT1D(a, b, c, p1, p2, q1, q2) |
#define | GAN_MAT22TF_MULT1D(a, b, c, p1, p2, q1, q2) |
#define | GAN_SYM22F_MULT1D(a, b, c, p1, p2, q1, q2) |
#define | GAN_LOW22F_MULT1D(a, b, c, p1, p2, q1, q2) |
#define | GAN_LOW22IF_MULT1D(a, b, c, p1, p2, q1, q2) |
#define | GAN_UPP22F_MULT1D(a, b, c, p1, p2, q1, q2) |
#define | GAN_UPP22IF_MULT1D(a, b, c, p1, p2, q1, q2) |
#define | GAN_ST22F_ZERO(A, t) |
#define | GAN_ST22F_COPY(A, B, t) |
#define | GAN_ST22F_SCALE(A, a, B, t) |
#define | GAN_ST22F_DIVIDE(A, a, B, t) |
#define | GAN_ST22F_NEGATE(A, B, t) |
#define | GAN_ST22F_ADD(A, B, C, t) |
#define | GAN_ST22F_SUB(A, B, C, t) |
#define | GAN_MATTYPE Gan_Matrix22_f |
#define | GAN_MATRIX_TYPE Gan_Matrix_f |
#define | GAN_SQUMATRIX_TYPE Gan_SquMatrix_f |
#define | GAN_VECTOR_TYPE Gan_Vector_f |
#define | GAN_MAT_ELEMENT_TYPE GAN_FLOAT |
#define | GAN_REALTYPE float |
#define | GAN_VECTYPE1 Gan_Vector2_f |
#define | GAN_VECTYPE2 Gan_Vector2_f |
#define | GAN_MATTYPEL Gan_Matrix22_f |
#define | GAN_MATTYPER Gan_Matrix22_f |
#define | GAN_SQUMATTYPEL Gan_SquMatrix22_f |
#define | GAN_SQUMATTYPER Gan_SquMatrix22_f |
#define | GAN_MAT_FPRINT gan_mat22f_fprint |
#define | GAN_MAT_PRINT gan_mat22f_print |
#define | GAN_MAT_FSCANF gan_mat22f_fscanf |
#define | GAN_MAT_FWRITE gan_mat22f_fwrite |
#define | GAN_MAT_FREAD gan_mat22f_fread |
#define | GAN_MAT_ZERO_Q gan_mat22f_zero_q |
#define | GAN_MAT_ZERO_S gan_mat22f_zero_s |
#define | GAN_MAT_COPY_Q gan_mat22f_copy_q |
#define | GAN_MAT_COPY_S gan_mat22f_copy_s |
#define | GAN_MAT_SCALE_Q gan_mat22f_scale_q |
#define | GAN_MAT_SCALE_I gan_mat22f_scale_i |
#define | GAN_MAT_SCALE_S gan_mat22f_scale_s |
#define | GAN_MAT_DIVIDE_Q gan_mat22f_divide_q |
#define | GAN_MAT_DIVIDE_I gan_mat22f_divide_i |
#define | GAN_MAT_DIVIDE_S gan_mat22f_divide_s |
#define | GAN_MAT_NEGATE_Q gan_mat22f_negate_q |
#define | GAN_MAT_NEGATE_I gan_mat22f_negate_i |
#define | GAN_MAT_NEGATE_S gan_mat22f_negate_s |
#define | GAN_MAT_UNIT_Q gan_mat22f_unit_q |
#define | GAN_MAT_UNIT_I gan_mat22f_unit_i |
#define | GAN_MAT_UNIT_S gan_mat22f_unit_s |
#define | GAN_MAT_ADD_Q gan_mat22f_add_q |
#define | GAN_MAT_ADD_I1 gan_mat22f_add_i1 |
#define | GAN_MAT_ADD_I2 gan_mat22f_add_i2 |
#define | GAN_MAT_INCREMENT gan_mat22f_increment |
#define | GAN_MAT_ADD_S gan_mat22f_add_s |
#define | GAN_MAT_SUB_Q gan_mat22f_sub_q |
#define | GAN_MAT_SUB_I1 gan_mat22f_sub_i1 |
#define | GAN_MAT_SUB_I2 gan_mat22f_sub_i2 |
#define | GAN_MAT_DECREMENT gan_mat22f_decrement |
#define | GAN_MAT_SUB_S gan_mat22f_sub_s |
#define | GAN_VEC_OUTER_Q gan_vec22f_outer_q |
#define | GAN_VEC_OUTER_S gan_vec22f_outer_s |
#define | GAN_MAT_MULTV_Q gan_mat22f_multv2_q |
#define | GAN_MAT_MULTV_S gan_mat22f_multv2_s |
#define | GAN_MATT_MULTV_Q gan_mat22Tf_multv2_q |
#define | GAN_MATT_MULTV_S gan_mat22Tf_multv2_s |
#define | GAN_MAT_LMULTMT_Q gan_mat22f_lmultm22T_q |
#define | GAN_MAT_LMULTMT_S gan_mat22f_lmultm22T_s |
#define | GAN_MAT_RMULTM_Q gan_mat22f_rmultm22_q |
#define | GAN_MAT_RMULTM_S gan_mat22f_rmultm22_s |
#define | GAN_MAT_RMULTMT_Q gan_mat22f_rmultm22T_q |
#define | GAN_MAT_RMULTMT_S gan_mat22f_rmultm22T_s |
#define | GAN_MAT_LMULTMT_SYM_Q gan_mat22f_lmultm22T_sym_q |
#define | GAN_MAT_LMULTMT_SYM_S gan_mat22f_lmultm22T_sym_s |
#define | GAN_MAT_RMULTMT_SYM_Q gan_mat22f_rmultm22T_sym_q |
#define | GAN_MAT_RMULTMT_SYM_S gan_mat22f_rmultm22T_sym_s |
#define | GAN_MAT_SLMULTT_Q gan_mat22f_slmultT_q |
#define | GAN_MAT_SLMULTT_S gan_mat22f_slmultT_s |
#define | GAN_MAT_SRMULTT_Q gan_mat22f_srmultT_q |
#define | GAN_MAT_SRMULTT_S gan_mat22f_srmultT_s |
#define | GAN_MAT_LMULTS_Q gan_mat22f_lmults22_q |
#define | GAN_MAT_LMULTS_S gan_mat22f_lmults22_s |
#define | GAN_MAT_RMULTS_Q gan_mat22f_rmults22_q |
#define | GAN_MAT_RMULTS_S gan_mat22f_rmults22_s |
#define | GAN_SYMMATL_LRMULT_Q gan_symmat22f_lrmultm22T_q |
#define | GAN_SYMMATL_LRMULT_S gan_symmat22f_lrmultm22T_s |
#define | GAN_SYMMATR_LRMULT_Q gan_symmat22f_lrmultm22_q |
#define | GAN_SYMMATR_LRMULT_S gan_symmat22f_lrmultm22_s |
#define | GAN_MAT_LMULTL_Q gan_mat22f_lmultl22_q |
#define | GAN_MAT_LMULTL_S gan_mat22f_lmultl22_s |
#define | GAN_MAT_LMULTL_I gan_mat22f_lmultl22_i |
#define | GAN_MAT_LMULTLI_Q gan_mat22f_lmultl22I_q |
#define | GAN_MAT_LMULTLI_S gan_mat22f_lmultl22I_s |
#define | GAN_MAT_LMULTLI_I gan_mat22f_lmultl22I_i |
#define | GAN_MAT_LMULTLT_Q gan_mat22f_lmultl22T_q |
#define | GAN_MAT_LMULTLT_S gan_mat22f_lmultl22T_s |
#define | GAN_MAT_LMULTLT_I gan_mat22f_lmultl22T_i |
#define | GAN_MAT_LMULTLIT_Q gan_mat22f_lmultl22IT_q |
#define | GAN_MAT_LMULTLIT_S gan_mat22f_lmultl22IT_s |
#define | GAN_MAT_LMULTLIT_I gan_mat22f_lmultl22IT_i |
#define | GAN_MAT_RMULTL_Q gan_mat22f_rmultl22_q |
#define | GAN_MAT_RMULTL_S gan_mat22f_rmultl22_s |
#define | GAN_MAT_RMULTL_I gan_mat22f_rmultl22_i |
#define | GAN_MAT_RMULTLI_Q gan_mat22f_rmultl22I_q |
#define | GAN_MAT_RMULTLI_S gan_mat22f_rmultl22I_s |
#define | GAN_MAT_RMULTLI_I gan_mat22f_rmultl22I_i |
#define | GAN_MAT_RMULTLT_Q gan_mat22f_rmultl22T_q |
#define | GAN_MAT_RMULTLT_S gan_mat22f_rmultl22T_s |
#define | GAN_MAT_RMULTLT_I gan_mat22f_rmultl22T_i |
#define | GAN_MAT_RMULTLIT_Q gan_mat22f_rmultl22IT_q |
#define | GAN_MAT_RMULTLIT_S gan_mat22f_rmultl22IT_s |
#define | GAN_MAT_RMULTLIT_I gan_mat22f_rmultl22IT_i |
#define | GAN_MAT_SUMSQR_Q gan_mat22f_sumsqr_q |
#define | GAN_MAT_SUMSQR_S gan_mat22f_sumsqr_s |
#define | GAN_MAT_FNORM_Q gan_mat22f_Fnorm_q |
#define | GAN_MAT_FNORM_S gan_mat22f_Fnorm_s |
#define | GAN_MAT_FROM_MAT_Q gan_mat22f_from_matf_q |
#define | GAN_MAT_FROM_MAT_S gan_mat22f_from_matf_s |
#define | GAN_MAT_FROM_SQUMAT_Q gan_mat22f_from_squmatf_q |
#define | GAN_MAT_FROM_SQUMAT_S gan_mat22f_from_squmatf_s |
#define | GAN_SQUMAT_FROM_SQUMAT_Q gan_squmat22f_from_squmatf_q |
#define | GAN_SQUMAT_FROM_SQUMAT_S gan_squmat22f_from_squmatf_s |
#define | GAN_SQUMAT_IDENT_Q gan_mat22f_ident_q |
#define | GAN_SQUMAT_IDENT_S gan_mat22f_ident_s |
#define | GAN_SQUMAT_TPOSE_Q gan_mat22f_tpose_q |
#define | GAN_SQUMAT_TPOSE_S gan_mat22f_tpose_s |
#define | GAN_SQUMAT_TPOSE_I gan_mat22f_tpose_i |
#define | GAN_MAT_SADDT_Q gan_mat22f_saddT_q |
#define | GAN_MAT_SADDT_S gan_mat22f_saddT_s |
#define | GAN_SQUMAT_INVERT gan_mat22f_invert |
#define | GAN_SQUMAT_INVERT_Q gan_mat22f_invert_q |
#define | GAN_SQUMAT_INVERT_S gan_mat22f_invert_s |
#define | GAN_SQUMAT_INVERT_I gan_mat22f_invert_i |
#define | GAN_SQUMAT_ADJOINT_Q gan_mat22f_adjoint_q |
#define | GAN_SQUMAT_ADJOINT_S gan_mat22f_adjoint_s |
#define | GAN_SQUMAT_ADJOINTT_Q gan_mat22f_adjointT_q |
#define | GAN_SQUMAT_ADJOINTT_S gan_mat22f_adjointT_s |
#define | GAN_SQUMAT_DET_Q gan_mat22f_det_q |
#define | GAN_SQUMAT_DET_S gan_mat22f_det_s |
#define | GAN_SQUMAT_TRACE_Q gan_mat22f_trace_q |
#define | GAN_SQUMAT_TRACE_S gan_mat22f_trace_s |
#define | GAN_FIXED_MATRIX_TYPE GAN_SYMMETRIC_MATRIX22_F |
#define | GAN_VEC_OUTER_SYM_Q gan_vec22f_outer_sym_q |
#define | GAN_VEC_OUTER_SYM_S gan_vec22f_outer_sym_s |
#define | GAN_SYMMAT_CHOLESKY gan_symmat22f_cholesky |
#define | GAN_SYMMAT_CHOLESKY_Q gan_symmat22f_cholesky_q |
#define | GAN_SYMMAT_CHOLESKY_S gan_symmat22f_cholesky_s |
#define | GAN_SYMMAT_CHOLESKY_I gan_symmat22f_cholesky_i |
#define | GAN_MAT_MULTV_I gan_ltmat22f_multv2_i |
#define | GAN_MATT_MULTV_I gan_ltmat22Tf_multv2_i |
#define | GAN_MAT_SRMULTT_I gan_ltmat22f_srmultT_i |
#define | GAN_MAT_SLMULTT_I gan_ltmat22f_slmultT_i |
#define | GAN_SQUMATI_MULTV_Q gan_ltmat22If_multv2_q |
#define | GAN_SQUMATI_MULTV_S gan_ltmat22If_multv2_s |
#define | GAN_SQUMATI_MULTV_I gan_ltmat22If_multv2_i |
#define | GAN_SQUMATIT_MULTV_Q gan_ltmat22ITf_multv2_q |
#define | GAN_SQUMATIT_MULTV_S gan_ltmat22ITf_multv2_s |
#define | GAN_SQUMATIT_MULTV_I gan_ltmat22ITf_multv2_i |
#define | gan_ltmat22Tf_fwrite gan_ltmat22f_fwrite |
#define | gan_ltmat22Tf_fread gan_ltmat22f_fread |
#define | GAN_ST33_FILL(A, t, XX, YX, YY, ZX, ZY, ZZ) |
#define | GAN_ST33_IDENT(A, t) |
#define | GAN_MAT33_MULT1D(a, b, c, p1, p2, p3, q1, q2, q3) |
#define | GAN_MAT33T_MULT1D(a, b, c, p1, p2, p3, q1, q2, q3) |
#define | GAN_SYM33_MULT1D(a, b, c, p1, p2, p3, q1, q2, q3) |
#define | GAN_LOW33_MULT1D(a, b, c, p1, p2, p3, q1, q2, q3) |
#define | GAN_LOW33I_MULT1D(a, b, c, p1, p2, p3, q1, q2, q3) |
#define | GAN_UPP33_MULT1D(a, b, c, p1, p2, p3, q1, q2, q3) |
#define | GAN_UPP33I_MULT1D(a, b, c, p1, p2, p3, q1, q2, q3) |
#define | GAN_ST33_ZERO(A, t) |
#define | GAN_ST33_COPY(A, B, t) |
#define | GAN_ST33_SCALE(A, a, B, t) |
#define | GAN_ST33_DIVIDE(A, a, B, t) |
#define | GAN_ST33_NEGATE(A, B, t) |
#define | GAN_ST33_ADD(A, B, C, t) |
#define | GAN_ST33_SUB(A, B, C, t) |
#define | gan_ltmat33T_fwrite gan_ltmat33_fwrite |
#define | gan_ltmat33T_fread gan_ltmat33_fread |
#define | GAN_ST33F_FILL(A, t, XX, YX, YY, ZX, ZY, ZZ) |
#define | GAN_ST33F_IDENT(A, t) |
#define | GAN_MAT33F_MULT1D(a, b, c, p1, p2, p3, q1, q2, q3) |
#define | GAN_MAT33TF_MULT1D(a, b, c, p1, p2, p3, q1, q2, q3) |
#define | GAN_SYM33F_MULT1D(a, b, c, p1, p2, p3, q1, q2, q3) |
#define | GAN_LOW33F_MULT1D(a, b, c, p1, p2, p3, q1, q2, q3) |
#define | GAN_LOW33IF_MULT1D(a, b, c, p1, p2, p3, q1, q2, q3) |
#define | GAN_UPP33F_MULT1D(a, b, c, p1, p2, p3, q1, q2, q3) |
#define | GAN_UPP33IF_MULT1D(a, b, c, p1, p2, p3, q1, q2, q3) |
#define | GAN_ST33F_ZERO(A, t) |
#define | GAN_ST33F_COPY(A, B, t) |
#define | GAN_ST33F_SCALE(A, a, B, t) |
#define | GAN_ST33F_DIVIDE(A, a, B, t) |
#define | GAN_ST33F_NEGATE(A, B, t) |
#define | GAN_ST33F_ADD(A, B, C, t) |
#define | GAN_ST33F_SUB(A, B, C, t) |
#define | gan_ltmat33Tf_fwrite gan_ltmat33f_fwrite |
#define | gan_ltmat33Tf_fread gan_ltmat33f_fread |
#define | GAN_ST44_FILL(A, t, XX, YX, YY, ZX, ZY, ZZ, WX, WY, WZ, WW) |
#define | GAN_ST44_IDENT(A, t) |
#define | GAN_MAT44_MULT1D(a, b, c, p1, p2, p3, p4, q1, q2, q3, q4) |
#define | GAN_MAT44T_MULT1D(a, b, c, p1, p2, p3, p4, q1, q2, q3, q4) |
#define | GAN_SYM44_MULT1D(a, b, c, p1, p2, p3, p4, q1, q2, q3, q4) |
#define | GAN_LOW44_MULT1D(a, b, c, p1, p2, p3, p4, q1, q2, q3, q4) |
#define | GAN_LOW44I_MULT1D(a, b, c, p1, p2, p3, p4, q1, q2, q3, q4) |
#define | GAN_UPP44_MULT1D(a, b, c, p1, p2, p3, p4, q1, q2, q3, q4) |
#define | GAN_UPP44I_MULT1D(a, b, c, p1, p2, p3, p4, q1, q2, q3, q4) |
#define | GAN_ST44_ZERO(A, t) |
#define | GAN_ST44_COPY(A, B, t) |
#define | GAN_ST44_SCALE(A, a, B, t) |
#define | GAN_ST44_DIVIDE(A, a, B, t) |
#define | GAN_ST44_NEGATE(A, B, t) |
#define | GAN_ST44_ADD(A, B, C, t) |
#define | GAN_ST44_SUB(A, B, C, t) |
#define | gan_ltmat44T_fwrite gan_ltmat44_fwrite |
#define | gan_ltmat44T_fread gan_ltmat44_fread |
#define | GAN_ST44F_FILL(A, t, XX, YX, YY, ZX, ZY, ZZ, WX, WY, WZ, WW) |
#define | GAN_ST44F_IDENT(A, t) |
#define | GAN_MAT44F_MULT1D(a, b, c, p1, p2, p3, p4, q1, q2, q3, q4) |
#define | GAN_MAT44TF_MULT1D(a, b, c, p1, p2, p3, p4, q1, q2, q3, q4) |
#define | GAN_SYM44F_MULT1D(a, b, c, p1, p2, p3, p4, q1, q2, q3, q4) |
#define | GAN_LOW44F_MULT1D(a, b, c, p1, p2, p3, p4, q1, q2, q3, q4) |
#define | GAN_LOW44IF_MULT1D(a, b, c, p1, p2, p3, p4, q1, q2, q3, q4) |
#define | GAN_UPP44F_MULT1D(a, b, c, p1, p2, p3, p4, q1, q2, q3, q4) |
#define | GAN_UPP44IF_MULT1D(a, b, c, p1, p2, p3, p4, q1, q2, q3, q4) |
#define | GAN_ST44F_ZERO(A, t) |
#define | GAN_ST44F_COPY(A, B, t) |
#define | GAN_ST44F_SCALE(A, a, B, t) |
#define | GAN_ST44F_DIVIDE(A, a, B, t) |
#define | GAN_ST44F_NEGATE(A, B, t) |
#define | GAN_ST44F_ADD(A, B, C, t) |
#define | GAN_ST44F_SUB(A, B, C, t) |
#define | gan_ltmat44Tf_fwrite gan_ltmat44f_fwrite |
#define | gan_ltmat44Tf_fread gan_ltmat44f_fread |
Typedefs | |
typedef Gan_Matrix22_f | Gan_Matrix22_f |
Structure definition for single-precision 2x2 matrix. | |
typedef Gan_SquMatrix22_f | Gan_SquMatrix22_f |
Structure definition for square single precision 2x2 matrix. | |
typedef Gan_Matrix33 | Gan_Matrix33 |
Structure definition for double precision 3x3 matrix. | |
typedef Gan_SquMatrix33 | Gan_SquMatrix33 |
Structure definition for square double precision 3x3 matrix. | |
typedef Gan_Matrix33_f | Gan_Matrix33_f |
Structure definition for single precision 3x3 matrix. | |
typedef Gan_SquMatrix33_f | Gan_SquMatrix33_f |
Structure definition for square single precision 3x3 matrix. | |
typedef Gan_Matrix44 | Gan_Matrix44 |
Structure definition for double precision 4x4 matrix. | |
typedef Gan_SquMatrix44 | Gan_SquMatrix44 |
Structure definition for square double precision 4x4 matrix. | |
typedef Gan_Matrix44_f | Gan_Matrix44_f |
Structure definition for single precision 4x4 matrix. | |
typedef Gan_SquMatrix44_f | Gan_SquMatrix44_f |
Structure definition for square single precision 4x4 matrix. | |
Enumerations | |
enum | Gan_SquMatrix22Type_f { GAN_SYMMETRIC_MATRIX22_F, GAN_LOWER_TRI_MATRIX22_F } |
Square matrix type, for setting and checking in debug mode. | |
enum | Gan_SquMatrix33Type { GAN_SYMMETRIC_MATRIX33, GAN_LOWER_TRI_MATRIX33 } |
Square matrix type, for setting and checking in debug mode. | |
enum | Gan_SquMatrix33Type_f { GAN_SYMMETRIC_MATRIX33_F, GAN_LOWER_TRI_MATRIX33_F } |
Square matrix type, for setting and checking in debug mode. | |
enum | Gan_SquMatrix44Type { GAN_SYMMETRIC_MATRIX44, GAN_LOWER_TRI_MATRIX44 } |
Square matrix type, for setting and checking in debug mode. | |
enum | Gan_SquMatrix44Type_f { GAN_SYMMETRIC_MATRIX44_F, GAN_LOWER_TRI_MATRIX44_F } |
Square matrix type, for setting and checking in debug mode. |
|
Value: (a p2 = GAN_REP2_OP_AB(b,* c,yx,yy,q1,q2,+),\ a p1 = GAN_REP1_OP_AB(b,* c,xx,q1,+)) |
|
Value: (a p1 = c q1 / b xx,\ a p2 = (c q2 - b yx * a p1) / b yy) |
|
Value: (a p3 = GAN_REP3_OP_AB(b,* c,zx,zy,zz,q1,q2,q3,+),\ a p2 = GAN_REP2_OP_AB(b,* c,yx,yy,q1,q2,+),\ a p1 = GAN_REP1_OP_AB(b,* c,xx,q1,+)) |
|
Value: (a p3 = GAN_REP3_OP_AB(b,* c,zx,zy,zz,q1,q2,q3,+),\ a p2 = GAN_REP2_OP_AB(b,* c,yx,yy,q1,q2,+),\ a p1 = GAN_REP1_OP_AB(b,* c,xx,q1,+)) |
|
Value: (a p1 = c q1 / b xx,\ a p2 = (c q2 - b yx * a p1) / b yy,\ a p3 = (c q3 - b zx * a p1 - b zy * a p2) / b zz) |
|
Value: (a p1 = c q1 / b xx,\ a p2 = (c q2 - b yx * a p1) / b yy,\ a p3 = (c q3 - b zx * a p1 - b zy * a p2) / b zz) |
|
Value: (a p4 = GAN_REP4_OP_AB(b,* c,wx,wy,wz,ww,q1,q2,q3,q4,+),\ a p3 = GAN_REP3_OP_AB(b,* c,zx,zy,zz,q1,q2,q3,+),\ a p2 = GAN_REP2_OP_AB(b,* c,yx,yy,q1,q2,+),\ a p1 = GAN_REP1_OP_AB(b,* c,xx,q1,+)) |
|
Value: (a p4 = GAN_REP4_OP_AB(b,* c,wx,wy,wz,ww,q1,q2,q3,q4,+),\ a p3 = GAN_REP3_OP_AB(b,* c,zx,zy,zz,q1,q2,q3,+),\ a p2 = GAN_REP2_OP_AB(b,* c,yx,yy,q1,q2,+),\ a p1 = GAN_REP1_OP_AB(b,* c,xx,q1,+)) |
|
Value: (a p1 = c q1 / b xx,\ a p2 = (c q2 - b yx * a p1) / b yy,\ a p3 = (c q3 - b zx * a p1 - b zy * a p2) / b zz,\ a p4 = (c q4 - b wx * a p1 - b wy * a p2 - b wz * a p3) / b ww) |
|
Value: (a p1 = c q1 / b xx,\ a p2 = (c q2 - b yx * a p1) / b yy,\ a p3 = (c q3 - b zx * a p1 - b zy * a p2) / b zz,\ a p4 = (c q4 - b wx * a p1 - b wy * a p2 - b wz * a p3) / b ww) |
|
Value: (a p1 = GAN_REP2_OP_AB(b,* c,xx,xy,q1,q2,+),\ a p2 = GAN_REP2_OP_AB(b,* c,yx,yy,q1,q2,+)) |
|
Value: (a p1 = GAN_REP2_OP_AB(b,* c,xx,yx,q1,q2,+),\ a p2 = GAN_REP2_OP_AB(b,* c,xy,yy,q1,q2,+)) |
|
Value: (a p1 = GAN_REP3_OP_AB(b,* c,xx,xy,xz,q1,q2,q3,+),\ a p2 = GAN_REP3_OP_AB(b,* c,yx,yy,yz,q1,q2,q3,+),\ a p3 = GAN_REP3_OP_AB(b,* c,zx,zy,zz,q1,q2,q3,+)) |
|
Value: (a p1 = GAN_REP3_OP_AB(b,* c,xx,xy,xz,q1,q2,q3,+),\ a p2 = GAN_REP3_OP_AB(b,* c,yx,yy,yz,q1,q2,q3,+),\ a p3 = GAN_REP3_OP_AB(b,* c,zx,zy,zz,q1,q2,q3,+)) |
|
Value: (a p1 = GAN_REP3_OP_AB(b,* c,xx,yx,zx,q1,q2,q3,+),\ a p2 = GAN_REP3_OP_AB(b,* c,xy,yy,zy,q1,q2,q3,+),\ a p3 = GAN_REP3_OP_AB(b,* c,xz,yz,zz,q1,q2,q3,+)) |
|
Value: (a p1 = GAN_REP3_OP_AB(b,* c,xx,yx,zx,q1,q2,q3,+),\ a p2 = GAN_REP3_OP_AB(b,* c,xy,yy,zy,q1,q2,q3,+),\ a p3 = GAN_REP3_OP_AB(b,* c,xz,yz,zz,q1,q2,q3,+)) |
|
Value: (a p1 = GAN_REP4_OP_AB(b,* c,xx,xy,xz,xw,q1,q2,q3,q4,+),\ a p2 = GAN_REP4_OP_AB(b,* c,yx,yy,yz,yw,q1,q2,q3,q4,+),\ a p3 = GAN_REP4_OP_AB(b,* c,zx,zy,zz,zw,q1,q2,q3,q4,+),\ a p4 = GAN_REP4_OP_AB(b,* c,wx,wy,wz,ww,q1,q2,q3,q4,+)) |
|
Value: (a p1 = GAN_REP4_OP_AB(b,* c,xx,xy,xz,xw,q1,q2,q3,q4,+),\ a p2 = GAN_REP4_OP_AB(b,* c,yx,yy,yz,yw,q1,q2,q3,q4,+),\ a p3 = GAN_REP4_OP_AB(b,* c,zx,zy,zz,zw,q1,q2,q3,q4,+),\ a p4 = GAN_REP4_OP_AB(b,* c,wx,wy,wz,ww,q1,q2,q3,q4,+)) |
|
Value: (a p1 = GAN_REP4_OP_AB(b,* c,xx,yx,zx,wx,q1,q2,q3,q4,+),\ a p2 = GAN_REP4_OP_AB(b,* c,xy,yy,zy,wy,q1,q2,q3,q4,+),\ a p3 = GAN_REP4_OP_AB(b,* c,xz,yz,zz,wz,q1,q2,q3,q4,+),\ a p4 = GAN_REP4_OP_AB(b,* c,xw,yw,zw,ww,q1,q2,q3,q4,+)) |
|
Value: (a p1 = GAN_REP4_OP_AB(b,* c,xx,yx,zx,wx,q1,q2,q3,q4,+),\ a p2 = GAN_REP4_OP_AB(b,* c,xy,yy,zy,wy,q1,q2,q3,q4,+),\ a p3 = GAN_REP4_OP_AB(b,* c,xz,yz,zz,wz,q1,q2,q3,q4,+),\ a p4 = GAN_REP4_OP_AB(b,* c,xw,yw,zw,ww,q1,q2,q3,q4,+)) |
|
File: Module: 2x2 lower triangular matrices (transposed, single precision) Part of: Gandalf Library Revision: Last edited: Author: Copyright: (c) 2000 Imagineer Software Limited Notes: Not to be compiled separately |
|
Value: (GAN_TEST_OP3(A,B,C,Gan_SquMatrix22_f,Gan_SquMatrix22_f,Gan_SquMatrix22_f),\ assert((A)->type==t && (B)->type==t), gan_eval((C)->type=(A)->type),\ GAN_REP22L_AAA_C((C)->,=(A)->,+(B)->)) |
|
Value: (GAN_TEST_OP2(A,B,Gan_SquMatrix22_f,Gan_SquMatrix22_f),\ assert((A)->type==t), gan_eval((B)->type=(A)->type),\ GAN_REP22L_AA_C((B)->,=(A)->)) |
|
Value: (GAN_TEST_OP2(A,B,Gan_SquMatrix22_f,Gan_SquMatrix22_f),\ assert((A)->type==t), gan_eval((B)->type=(A)->type),\ GAN_REP22L_AAS_C((B)->,=(A)->,/(a))) |
|
Value: (GAN_TEST_OP1(A,Gan_SquMatrix22_f),gan_eval((A)->type=t),\ GAN_FREP22L_A_C((A)->,=,(XX),(YX),(YY))) |
|
Value: (GAN_TEST_OP1(A,Gan_SquMatrix22_f),gan_eval((A)->type=t),\ GAN_FREP22L_A_C((A)->,=,1.0,0.0,1.0)) |
|
Value: (GAN_TEST_OP2(A,B,Gan_SquMatrix22_f,Gan_SquMatrix22_f),\ assert((A)->type==t), gan_eval((B)->type=(A)->type),\ GAN_REP22L_AA_C((B)->,=-(A)->)) |
|
Value: (GAN_TEST_OP2(A,B,Gan_SquMatrix22_f,Gan_SquMatrix22_f),\ assert((A)->type==t), gan_eval((B)->type=(A)->type),\ GAN_REP22L_AAS_C((B)->,=(A)->,*(a))) |
|
Value: (GAN_TEST_OP3(A,B,C,Gan_SquMatrix22_f,Gan_SquMatrix22_f,Gan_SquMatrix22_f),\ assert((A)->type==t && (B)->type==t), gan_eval((C)->type=(A)->type),\ GAN_REP22L_AAA_C((C)->,=(A)->,-(B)->)) |
|
Value: (GAN_TEST_OP1(A,Gan_SquMatrix22_f), gan_eval((A)->type=t),\ GAN_REP22L_AS_C((A)->,=0.0)) |
|
Value: (GAN_TEST_OP3(A,B,C,Gan_SquMatrix33,Gan_SquMatrix33,Gan_SquMatrix33),\ assert((A)->type==t && (B)->type==t), gan_eval((C)->type=(A)->type),\ GAN_REP33L_AAA_C((C)->,=(A)->,+(B)->)) |
|
Value: (GAN_TEST_OP2(A,B,Gan_SquMatrix33,Gan_SquMatrix33),\ assert((A)->type==t), gan_eval((B)->type=(A)->type),\ GAN_REP33L_AA_C((B)->,=(A)->)) |
|
Value: (GAN_TEST_OP2(A,B,Gan_SquMatrix33,Gan_SquMatrix33),\ assert((A)->type==t), gan_eval((B)->type=(A)->type),\ GAN_REP33L_AAS_C((B)->,=(A)->,/(a))) |
|
Value: (GAN_TEST_OP1(A,Gan_SquMatrix33),gan_eval((A)->type=t),\ GAN_FREP33L_A_C((A)->,=,(XX),(YX),(YY),(ZX),(ZY),(ZZ))) |
|
Value: (GAN_TEST_OP1(A,Gan_SquMatrix33),gan_eval((A)->type=t),\ GAN_FREP33L_A_C((A)->,=,1.0,0.0,1.0,0.0,0.0,1.0)) |
|
Value: (GAN_TEST_OP2(A,B,Gan_SquMatrix33,Gan_SquMatrix33),\ assert((A)->type==t), gan_eval((B)->type=(A)->type),\ GAN_REP33L_AA_C((B)->,=-(A)->)) |
|
Value: (GAN_TEST_OP2(A,B,Gan_SquMatrix33,Gan_SquMatrix33),\ assert((A)->type==t), gan_eval((B)->type=(A)->type),\ GAN_REP33L_AAS_C((B)->,=(A)->,*(a))) |
|
Value: (GAN_TEST_OP3(A,B,C,Gan_SquMatrix33,Gan_SquMatrix33,Gan_SquMatrix33),\ assert((A)->type==t && (B)->type==t), gan_eval((C)->type=(A)->type),\ GAN_REP33L_AAA_C((C)->,=(A)->,-(B)->)) |
|
Value: (GAN_TEST_OP1(A,Gan_SquMatrix33), gan_eval((A)->type=t),\ GAN_REP33L_AS_C((A)->,=0.0)) |
|
Value: (GAN_TEST_OP3(A,B,C,Gan_SquMatrix33_f,Gan_SquMatrix33_f,Gan_SquMatrix33_f),\ assert((A)->type==t && (B)->type==t), gan_eval((C)->type=(A)->type),\ GAN_REP33L_AAA_C((C)->,=(A)->,+(B)->)) |
|
Value: (GAN_TEST_OP2(A,B,Gan_SquMatrix33_f,Gan_SquMatrix33_f),\ assert((A)->type==t), gan_eval((B)->type=(A)->type),\ GAN_REP33L_AA_C((B)->,=(A)->)) |
|
Value: (GAN_TEST_OP2(A,B,Gan_SquMatrix33_f,Gan_SquMatrix33_f),\ assert((A)->type==t), gan_eval((B)->type=(A)->type),\ GAN_REP33L_AAS_C((B)->,=(A)->,/(a))) |
|
Value: (GAN_TEST_OP1(A,Gan_SquMatrix33_f),gan_eval((A)->type=t),\ GAN_FREP33L_A_C((A)->,=,(XX),(YX),(YY),(ZX),(ZY),(ZZ))) |
|
Value: (GAN_TEST_OP1(A,Gan_SquMatrix33_f),gan_eval((A)->type=t),\ GAN_FREP33L_A_C((A)->,=,1.0,0.0,1.0,0.0,0.0,1.0)) |
|
Value: (GAN_TEST_OP2(A,B,Gan_SquMatrix33_f,Gan_SquMatrix33_f),\ assert((A)->type==t), gan_eval((B)->type=(A)->type),\ GAN_REP33L_AA_C((B)->,=-(A)->)) |
|
Value: (GAN_TEST_OP2(A,B,Gan_SquMatrix33_f,Gan_SquMatrix33_f),\ assert((A)->type==t), gan_eval((B)->type=(A)->type),\ GAN_REP33L_AAS_C((B)->,=(A)->,*(a))) |
|
Value: (GAN_TEST_OP3(A,B,C,Gan_SquMatrix33_f,Gan_SquMatrix33_f,Gan_SquMatrix33_f),\ assert((A)->type==t && (B)->type==t), gan_eval((C)->type=(A)->type),\ GAN_REP33L_AAA_C((C)->,=(A)->,-(B)->)) |
|
Value: (GAN_TEST_OP1(A,Gan_SquMatrix33_f), gan_eval((A)->type=t),\ GAN_REP33L_AS_C((A)->,=0.0)) |
|
Value: (GAN_TEST_OP3(A,B,C,Gan_SquMatrix44,Gan_SquMatrix44,Gan_SquMatrix44),\ assert((A)->type==t && (B)->type==t), gan_eval((C)->type=(A)->type),\ GAN_REP44L_AAA_C((C)->,=(A)->,+(B)->)) |
|
Value: (GAN_TEST_OP2(A,B,Gan_SquMatrix44,Gan_SquMatrix44),\ assert((A)->type==t), gan_eval((B)->type=(A)->type),\ GAN_REP44L_AA_C((B)->,=(A)->)) |
|
Value: (GAN_TEST_OP2(A,B,Gan_SquMatrix44,Gan_SquMatrix44),\ assert((A)->type==t), gan_eval((B)->type=(A)->type),\ GAN_REP44L_AAS_C((B)->,=(A)->,/(a))) |
|
Value: (GAN_TEST_OP1(A,Gan_SquMatrix44),gan_eval((A)->type=t),\ GAN_FREP44L_A_C((A)->,=,(XX),(YX),(YY),(ZX),(ZY),(ZZ),(WX),(WY),(WZ),(WW))) |
|
Value: (GAN_TEST_OP1(A,Gan_SquMatrix44),gan_eval((A)->type=t),\ GAN_FREP44L_A_C((A)->,=,1.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0)) |
|
Value: (GAN_TEST_OP2(A,B,Gan_SquMatrix44,Gan_SquMatrix44),\ assert((A)->type==t), gan_eval((B)->type=(A)->type),\ GAN_REP44L_AA_C((B)->,=-(A)->)) |
|
Value: (GAN_TEST_OP2(A,B,Gan_SquMatrix44,Gan_SquMatrix44),\ assert((A)->type==t), gan_eval((B)->type=(A)->type),\ GAN_REP44L_AAS_C((B)->,=(A)->,*(a))) |
|
Value: (GAN_TEST_OP3(A,B,C,Gan_SquMatrix44,Gan_SquMatrix44,Gan_SquMatrix44),\ assert((A)->type==t && (B)->type==t), gan_eval((C)->type=(A)->type),\ GAN_REP44L_AAA_C((C)->,=(A)->,-(B)->)) |
|
Value: (GAN_TEST_OP1(A,Gan_SquMatrix44), gan_eval((A)->type=t),\ GAN_REP44L_AS_C((A)->,=0.0)) |
|
Value: (GAN_TEST_OP3(A,B,C,Gan_SquMatrix44_f,Gan_SquMatrix44_f,Gan_SquMatrix44_f),\ assert((A)->type==t && (B)->type==t), gan_eval((C)->type=(A)->type),\ GAN_REP44L_AAA_C((C)->,=(A)->,+(B)->)) |
|
Value: (GAN_TEST_OP2(A,B,Gan_SquMatrix44_f,Gan_SquMatrix44_f),\ assert((A)->type==t), gan_eval((B)->type=(A)->type),\ GAN_REP44L_AA_C((B)->,=(A)->)) |
|
Value: (GAN_TEST_OP2(A,B,Gan_SquMatrix44_f,Gan_SquMatrix44_f),\ assert((A)->type==t), gan_eval((B)->type=(A)->type),\ GAN_REP44L_AAS_C((B)->,=(A)->,/(a))) |
|
Value: (GAN_TEST_OP1(A,Gan_SquMatrix44_f),gan_eval((A)->type=t),\ GAN_FREP44L_A_C((A)->,=,(XX),(YX),(YY),(ZX),(ZY),(ZZ),(WX),(WY),(WZ),(WW))) |
|
Value: (GAN_TEST_OP1(A,Gan_SquMatrix44_f),gan_eval((A)->type=t),\ GAN_FREP44L_A_C((A)->,=,1.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0)) |
|
Value: (GAN_TEST_OP2(A,B,Gan_SquMatrix44_f,Gan_SquMatrix44_f),\ assert((A)->type==t), gan_eval((B)->type=(A)->type),\ GAN_REP44L_AA_C((B)->,=-(A)->)) |
|
Value: (GAN_TEST_OP2(A,B,Gan_SquMatrix44_f,Gan_SquMatrix44_f),\ assert((A)->type==t), gan_eval((B)->type=(A)->type),\ GAN_REP44L_AAS_C((B)->,=(A)->,*(a))) |
|
Value: (GAN_TEST_OP3(A,B,C,Gan_SquMatrix44_f,Gan_SquMatrix44_f,Gan_SquMatrix44_f),\ assert((A)->type==t && (B)->type==t), gan_eval((C)->type=(A)->type),\ GAN_REP44L_AAA_C((C)->,=(A)->,-(B)->)) |
|
Value: (GAN_TEST_OP1(A,Gan_SquMatrix44_f), gan_eval((A)->type=t),\ GAN_REP44L_AS_C((A)->,=0.0)) |
|
Value: (a p1 = GAN_REP2_OP_AB(b,* c,xx,yx,q1,q2,+),\ a p2 = GAN_REP2_OP_AB(b,* c,yx,yy,q1,q2,+)) |
|
Value: (a p1 = GAN_REP3_OP_AB(b,* c,xx,yx,zx,q1,q2,q3,+),\ a p2 = GAN_REP3_OP_AB(b,* c,yx,yy,zy,q1,q2,q3,+),\ a p3 = GAN_REP3_OP_AB(b,* c,zx,zy,zz,q1,q2,q3,+)) |
|
Value: (a p1 = GAN_REP3_OP_AB(b,* c,xx,yx,zx,q1,q2,q3,+),\ a p2 = GAN_REP3_OP_AB(b,* c,yx,yy,zy,q1,q2,q3,+),\ a p3 = GAN_REP3_OP_AB(b,* c,zx,zy,zz,q1,q2,q3,+)) |
|
Value: (a p1 = GAN_REP4_OP_AB(b,* c,xx,yx,zx,wx,q1,q2,q3,q4,+),\ a p2 = GAN_REP4_OP_AB(b,* c,yx,yy,zy,wy,q1,q2,q3,q4,+),\ a p3 = GAN_REP4_OP_AB(b,* c,zx,zy,zz,wz,q1,q2,q3,q4,+),\ a p4 = GAN_REP4_OP_AB(b,* c,wx,wy,wz,ww,q1,q2,q3,q4,+)) |
|
Value: (a p1 = GAN_REP4_OP_AB(b,* c,xx,yx,zx,wx,q1,q2,q3,q4,+),\ a p2 = GAN_REP4_OP_AB(b,* c,yx,yy,zy,wy,q1,q2,q3,q4,+),\ a p3 = GAN_REP4_OP_AB(b,* c,zx,zy,zz,wz,q1,q2,q3,q4,+),\ a p4 = GAN_REP4_OP_AB(b,* c,wx,wy,wz,ww,q1,q2,q3,q4,+)) |
|
Value: (a p1 = GAN_REP2_OP_AB(b,* c,xx,yx,q1,q2,+),\ a p2 = GAN_REP1_OP_AB(b,* c,yy,q2,+)) |
|
Value: (a p2 = c q2 / b yy,\ a p1 = (c q1 - b yx * a p2) / b xx) |
|
Value: (a p1 = GAN_REP3_OP_AB(b,* c,xx,yx,zx,q1,q2,q3,+),\ a p2 = GAN_REP2_OP_AB(b,* c,yy,zy,q2,q3,+),\ a p3 = GAN_REP1_OP_AB(b,* c,zz,q3,+)) |
|
Value: (a p1 = GAN_REP3_OP_AB(b,* c,xx,yx,zx,q1,q2,q3,+),\ a p2 = GAN_REP2_OP_AB(b,* c,yy,zy,q2,q3,+),\ a p3 = GAN_REP1_OP_AB(b,* c,zz,q3,+)) |
|
Value: (a p3 = c q3 / b zz,\ a p2 = (c q2 - b zy * a p3) / b yy,\ a p1 = (c q1 - b yx * a p2 - b zx * a p3) / b xx) |
|
Value: (a p3 = c q3 / b zz,\ a p2 = (c q2 - b zy * a p3) / b yy,\ a p1 = (c q1 - b yx * a p2 - b zx * a p3) / b xx) |
|
Value: (a p1 = GAN_REP4_OP_AB(b,* c,xx,yx,zx,wx,q1,q2,q3,q4,+),\ a p2 = GAN_REP3_OP_AB(b,* c,yy,zy,wy,q2,q3,q4,+),\ a p3 = GAN_REP2_OP_AB(b,* c,zz,wz,q3,q4,+),\ a p4 = GAN_REP1_OP_AB(b,* c,ww,q4,+)) |
|
Value: (a p1 = GAN_REP4_OP_AB(b,* c,xx,yx,zx,wx,q1,q2,q3,q4,+),\ a p2 = GAN_REP3_OP_AB(b,* c,yy,zy,wy,q2,q3,q4,+),\ a p3 = GAN_REP2_OP_AB(b,* c,zz,wz,q3,q4,+),\ a p4 = GAN_REP1_OP_AB(b,* c,ww,q4,+)) |
|
Value: (a p4 = c q4 / b ww,\ a p3 = (c q3 - b wz * a p4) / b zz,\ a p2 = (c q2 - b zy * a p3 - b wy * a p4) / b yy,\ a p1 = (c q1 - b yx * a p2 - b zx * a p3 - b wx * a p4) / b xx) |
|
Value: (a p4 = c q4 / b ww,\ a p3 = (c q3 - b wz * a p4) / b zz,\ a p2 = (c q2 - b zy * a p3 - b wy * a p4) / b yy,\ a p1 = (c q1 - b yx * a p2 - b zx * a p3 - b wx * a p4) / b xx) |