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

Fixed Size Matrices
[Fixed Size Matrices and Vectors]


Modules

group  Fixed Size Matrix I/O
group  Fill a Fixed Size Matrix
group  Multiply/Divide a Fixed Size Matrix by a Scalar
group  Invert a Fixed Size Matrix
group  Compute Adjoint of a Fixed Size Matrix
group  Extract Parts of a Fixed Size Matrix
group  Convert a Fixed Size Matrix
group  Transpose a Fixed Size Matrix
group  Copy a Fixed Size Matrix
group  Add Fixed Size Matrices
group  Subtract Fixed Size Matrices
group  Fixed Size Matrix/Vector Product
group  Fixed Size Matrix/Matrix Product
group  Fixed Size Matrix Triple Product
group  Fixed Size Matrix Norms
group  Cholesky Factorisation of Fixed Size Matrix
group  Build a Fixed Size Matrix
group  Eigendecomposition of a Fixed Size Matrix
group  Projective Normalisation of Fixed Size Matrices
group  Singular Value Decomposition of a Fixed Size Matrix

Classes

struct  Gan_Matrix22
 Structure definition for double precision 2x2 matrix. More...
struct  Gan_SquMatrix22
 Structure definition for square double precision 2x2 matrix. More...
struct  Gan_Matrix22_f
 Structure definition for single-precision 2x2 matrix. More...
struct  Gan_SquMatrix22_f
 Structure definition for square single precision 2x2 matrix. More...
struct  Gan_Matrix23
 Structure definition for double precision 2x3 matrix. More...
struct  Gan_Matrix23_f
 Structure definition for single precision 2x3 matrix. More...
struct  Gan_Matrix24
 Structure definition for double precision 2x4 matrix. More...
struct  Gan_Matrix24_f
 Structure definition for single precision 2x4 matrix. More...
struct  Gan_Matrix33
 Structure definition for double precision 3x3 matrix. More...
struct  Gan_SquMatrix33
 Structure definition for square double precision 3x3 matrix. More...
struct  Gan_Matrix33_f
 Structure definition for single precision 3x3 matrix. More...
struct  Gan_SquMatrix33_f
 Structure definition for square single precision 3x3 matrix. More...
struct  Gan_Matrix34
 Structure definition for double precision 3x4 matrix. More...
struct  Gan_Matrix34_f
 Structure definition for single precision 3x4 matrix. More...
struct  Gan_Matrix44
 Structure definition for double precision 4x4 matrix. More...
struct  Gan_SquMatrix44
 Structure definition for square double precision 4x4 matrix. More...
struct  Gan_Matrix44_f
 Structure definition for single precision 4x4 matrix. More...
struct  Gan_SquMatrix44_f
 Structure definition for square single precision 4x4 matrix. More...

Defines

#define GAN_MATTYPE   Gan_Matrix22
#define GAN_MATTYPE   Gan_SquMatrix22
#define GAN_MATTYPE   Gan_SquMatrix22
#define GAN_MATTYPE   Gan_SquMatrix22
#define GAN_MATRIX_TYPE   Gan_Matrix
#define GAN_MATRIX_TYPE   Gan_SquMatrix
#define GAN_MATRIX_TYPE   Gan_SquMatrix
#define GAN_MATRIX_TYPE   Gan_SquMatrix
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix
#define GAN_VECTOR_TYPE   Gan_Vector
#define GAN_VECTOR_TYPE   Gan_Vector
#define GAN_VECTOR_TYPE   Gan_Vector
#define GAN_VECTOR_TYPE   Gan_Vector
#define GAN_MAT_ELEMENT_TYPE   GAN_DOUBLE
#define GAN_MAT_ELEMENT_TYPE   GAN_DOUBLE
#define GAN_MAT_ELEMENT_TYPE   GAN_DOUBLE
#define GAN_MAT_ELEMENT_TYPE   GAN_DOUBLE
#define GAN_REALTYPE   double
#define GAN_REALTYPE   double
#define GAN_REALTYPE   double
#define GAN_REALTYPE   double
#define GAN_FWRITE_LENDIAN   gan_fwrite_lendian_f64
#define GAN_FWRITE_LENDIAN   gan_fwrite_lendian_f64
#define GAN_FWRITE_LENDIAN   gan_fwrite_lendian_f64
#define GAN_FREAD_LENDIAN   gan_fread_lendian_f64
#define GAN_FREAD_LENDIAN   gan_fread_lendian_f64
#define GAN_FREAD_LENDIAN   gan_fread_lendian_f64
#define GAN_VECTYPE1   Gan_Vector2
#define GAN_VECTYPE1   Gan_Vector2
#define GAN_VECTYPE1   Gan_Vector2
#define GAN_VECTYPE2   Gan_Vector2
#define GAN_VECTYPE2   Gan_Vector2
#define GAN_VECTYPE2   Gan_Vector2
#define GAN_MATTYPEL   Gan_Matrix22
#define GAN_MATTYPER   Gan_Matrix22
#define GAN_SQUMATTYPEL   Gan_SquMatrix22
#define GAN_SQUMATTYPEL   Gan_SquMatrix22
#define GAN_SQUMATTYPER   Gan_SquMatrix22
#define GAN_SQUMATTYPER   Gan_SquMatrix22
#define GAN_MAT_FPRINT   gan_mat22_fprint
#define GAN_MAT_FPRINT   gan_symmat22_fprint
#define GAN_MAT_FPRINT   gan_ltmat22_fprint
#define GAN_MAT_FPRINT   gan_ltmat22T_fprint
#define GAN_MAT_PRINT   gan_mat22_print
#define GAN_MAT_PRINT   gan_symmat22_print
#define GAN_MAT_PRINT   gan_ltmat22_print
#define GAN_MAT_PRINT   gan_ltmat22T_print
#define GAN_MAT_FSCANF   gan_mat22_fscanf
#define GAN_MAT_FSCANF   gan_symmat22_fscanf
#define GAN_MAT_FSCANF   gan_ltmat22_fscanf
#define GAN_MAT_FSCANF   gan_ltmat22T_fscanf
#define GAN_MAT_FWRITE   gan_mat22_fwrite
#define GAN_MAT_FWRITE   gan_symmat22_fwrite
#define GAN_MAT_FWRITE   gan_ltmat22_fwrite
#define GAN_MAT_FREAD   gan_mat22_fread
#define GAN_MAT_FREAD   gan_symmat22_fread
#define GAN_MAT_FREAD   gan_ltmat22_fread
#define GAN_MAT_ZERO_Q   gan_mat22_zero_q
#define GAN_MAT_ZERO_Q   gan_symmat22_zero_q
#define GAN_MAT_ZERO_Q   gan_ltmat22_zero_q
#define GAN_MAT_ZERO_S   gan_mat22_zero_s
#define GAN_MAT_ZERO_S   gan_symmat22_zero_s
#define GAN_MAT_ZERO_S   gan_ltmat22_zero_s
#define GAN_MAT_COPY_Q   gan_mat22_copy_q
#define GAN_MAT_COPY_Q   gan_symmat22_copy_q
#define GAN_MAT_COPY_Q   gan_ltmat22_copy_q
#define GAN_MAT_COPY_S   gan_mat22_copy_s
#define GAN_MAT_COPY_S   gan_symmat22_copy_s
#define GAN_MAT_COPY_S   gan_ltmat22_copy_s
#define GAN_MAT_SCALE_Q   gan_mat22_scale_q
#define GAN_MAT_SCALE_Q   gan_symmat22_scale_q
#define GAN_MAT_SCALE_Q   gan_ltmat22_scale_q
#define GAN_MAT_SCALE_I   gan_mat22_scale_i
#define GAN_MAT_SCALE_I   gan_symmat22_scale_i
#define GAN_MAT_SCALE_I   gan_ltmat22_scale_i
#define GAN_MAT_SCALE_S   gan_mat22_scale_s
#define GAN_MAT_SCALE_S   gan_symmat22_scale_s
#define GAN_MAT_SCALE_S   gan_ltmat22_scale_s
#define GAN_MAT_DIVIDE_Q   gan_mat22_divide_q
#define GAN_MAT_DIVIDE_Q   gan_symmat22_divide_q
#define GAN_MAT_DIVIDE_Q   gan_ltmat22_divide_q
#define GAN_MAT_DIVIDE_I   gan_mat22_divide_i
#define GAN_MAT_DIVIDE_I   gan_symmat22_divide_i
#define GAN_MAT_DIVIDE_I   gan_ltmat22_divide_i
#define GAN_MAT_DIVIDE_S   gan_mat22_divide_s
#define GAN_MAT_DIVIDE_S   gan_symmat22_divide_s
#define GAN_MAT_DIVIDE_S   gan_ltmat22_divide_s
#define GAN_MAT_NEGATE_Q   gan_mat22_negate_q
#define GAN_MAT_NEGATE_Q   gan_symmat22_negate_q
#define GAN_MAT_NEGATE_Q   gan_ltmat22_negate_q
#define GAN_MAT_NEGATE_I   gan_mat22_negate_i
#define GAN_MAT_NEGATE_I   gan_symmat22_negate_i
#define GAN_MAT_NEGATE_I   gan_ltmat22_negate_i
#define GAN_MAT_NEGATE_S   gan_mat22_negate_s
#define GAN_MAT_NEGATE_S   gan_symmat22_negate_s
#define GAN_MAT_NEGATE_S   gan_ltmat22_negate_s
#define GAN_MAT_UNIT_Q   gan_mat22_unit_q
#define GAN_MAT_UNIT_Q   gan_symmat22_unit_q
#define GAN_MAT_UNIT_Q   gan_ltmat22_unit_q
#define GAN_MAT_UNIT_I   gan_mat22_unit_i
#define GAN_MAT_UNIT_I   gan_symmat22_unit_i
#define GAN_MAT_UNIT_I   gan_ltmat22_unit_i
#define GAN_MAT_UNIT_S   gan_mat22_unit_s
#define GAN_MAT_UNIT_S   gan_symmat22_unit_s
#define GAN_MAT_UNIT_S   gan_ltmat22_unit_s
#define GAN_MAT_ADD_Q   gan_mat22_add_q
#define GAN_MAT_ADD_Q   gan_symmat22_add_q
#define GAN_MAT_ADD_Q   gan_ltmat22_add_q
#define GAN_MAT_ADD_I1   gan_mat22_add_i1
#define GAN_MAT_ADD_I1   gan_symmat22_add_i1
#define GAN_MAT_ADD_I1   gan_ltmat22_add_i1
#define GAN_MAT_ADD_I2   gan_mat22_add_i2
#define GAN_MAT_ADD_I2   gan_symmat22_add_i2
#define GAN_MAT_ADD_I2   gan_ltmat22_add_i2
#define GAN_MAT_INCREMENT   gan_mat22_increment
#define GAN_MAT_INCREMENT   gan_symmat22_increment
#define GAN_MAT_INCREMENT   gan_ltmat22_increment
#define GAN_MAT_ADD_S   gan_mat22_add_s
#define GAN_MAT_ADD_S   gan_symmat22_add_s
#define GAN_MAT_ADD_S   gan_ltmat22_add_s
#define GAN_MAT_SUB_Q   gan_mat22_sub_q
#define GAN_MAT_SUB_Q   gan_symmat22_sub_q
#define GAN_MAT_SUB_Q   gan_ltmat22_sub_q
#define GAN_MAT_SUB_I1   gan_mat22_sub_i1
#define GAN_MAT_SUB_I1   gan_symmat22_sub_i1
#define GAN_MAT_SUB_I1   gan_ltmat22_sub_i1
#define GAN_MAT_SUB_I2   gan_mat22_sub_i2
#define GAN_MAT_SUB_I2   gan_symmat22_sub_i2
#define GAN_MAT_SUB_I2   gan_ltmat22_sub_i2
#define GAN_MAT_DECREMENT   gan_mat22_decrement
#define GAN_MAT_DECREMENT   gan_symmat22_decrement
#define GAN_MAT_DECREMENT   gan_ltmat22_decrement
#define GAN_MAT_SUB_S   gan_mat22_sub_s
#define GAN_MAT_SUB_S   gan_symmat22_sub_s
#define GAN_MAT_SUB_S   gan_ltmat22_sub_s
#define GAN_VEC_OUTER_Q   gan_vec22_outer_q
#define GAN_VEC_OUTER_S   gan_vec22_outer_s
#define GAN_MAT_MULTV_Q   gan_mat22_multv2_q
#define GAN_MAT_MULTV_Q   gan_symmat22_multv2_q
#define GAN_MAT_MULTV_Q   gan_ltmat22_multv2_q
#define GAN_MAT_MULTV_S   gan_mat22_multv2_s
#define GAN_MAT_MULTV_S   gan_symmat22_multv2_s
#define GAN_MAT_MULTV_S   gan_ltmat22_multv2_s
#define GAN_MATT_MULTV_Q   gan_mat22T_multv2_q
#define GAN_MATT_MULTV_Q   gan_ltmat22T_multv2_q
#define GAN_MATT_MULTV_S   gan_mat22T_multv2_s
#define GAN_MATT_MULTV_S   gan_ltmat22T_multv2_s
#define GAN_MAT_LMULTMT_Q   gan_mat22_lmultm22T_q
#define GAN_MAT_LMULTMT_S   gan_mat22_lmultm22T_s
#define GAN_MAT_RMULTM_Q   gan_mat22_rmultm22_q
#define GAN_MAT_RMULTM_S   gan_mat22_rmultm22_s
#define GAN_MAT_RMULTMT_Q   gan_mat22_rmultm22T_q
#define GAN_MAT_RMULTMT_S   gan_mat22_rmultm22T_s
#define GAN_MAT_LMULTMT_SYM_Q   gan_mat22_lmultm22T_sym_q
#define GAN_MAT_LMULTMT_SYM_S   gan_mat22_lmultm22T_sym_s
#define GAN_MAT_RMULTMT_SYM_Q   gan_mat22_rmultm22T_sym_q
#define GAN_MAT_RMULTMT_SYM_S   gan_mat22_rmultm22T_sym_s
#define GAN_MAT_SLMULTT_Q   gan_mat22_slmultT_q
#define GAN_MAT_SLMULTT_Q   gan_ltmat22_slmultT_q
#define GAN_MAT_SLMULTT_S   gan_mat22_slmultT_s
#define GAN_MAT_SLMULTT_S   gan_ltmat22_slmultT_s
#define GAN_MAT_SRMULTT_Q   gan_mat22_srmultT_q
#define GAN_MAT_SRMULTT_Q   gan_ltmat22_srmultT_q
#define GAN_MAT_SRMULTT_S   gan_mat22_srmultT_s
#define GAN_MAT_SRMULTT_S   gan_ltmat22_srmultT_s
#define GAN_MAT_LMULTS_Q   gan_mat22_lmults22_q
#define GAN_MAT_LMULTS_S   gan_mat22_lmults22_s
#define GAN_MAT_RMULTS_Q   gan_mat22_rmults22_q
#define GAN_MAT_RMULTS_S   gan_mat22_rmults22_s
#define GAN_SYMMATL_LRMULT_Q   gan_symmat22_lrmultm22T_q
#define GAN_SYMMATL_LRMULT_S   gan_symmat22_lrmultm22T_s
#define GAN_SYMMATR_LRMULT_Q   gan_symmat22_lrmultm22_q
#define GAN_SYMMATR_LRMULT_S   gan_symmat22_lrmultm22_s
#define GAN_MAT_LMULTL_Q   gan_mat22_lmultl22_q
#define GAN_MAT_LMULTL_S   gan_mat22_lmultl22_s
#define GAN_MAT_LMULTL_I   gan_mat22_lmultl22_i
#define GAN_MAT_LMULTLI_Q   gan_mat22_lmultl22I_q
#define GAN_MAT_LMULTLI_S   gan_mat22_lmultl22I_s
#define GAN_MAT_LMULTLI_I   gan_mat22_lmultl22I_i
#define GAN_MAT_LMULTLT_Q   gan_mat22_lmultl22T_q
#define GAN_MAT_LMULTLT_S   gan_mat22_lmultl22T_s
#define GAN_MAT_LMULTLT_I   gan_mat22_lmultl22T_i
#define GAN_MAT_LMULTLIT_Q   gan_mat22_lmultl22IT_q
#define GAN_MAT_LMULTLIT_S   gan_mat22_lmultl22IT_s
#define GAN_MAT_LMULTLIT_I   gan_mat22_lmultl22IT_i
#define GAN_MAT_RMULTL_Q   gan_mat22_rmultl22_q
#define GAN_MAT_RMULTL_S   gan_mat22_rmultl22_s
#define GAN_MAT_RMULTL_I   gan_mat22_rmultl22_i
#define GAN_MAT_RMULTLI_Q   gan_mat22_rmultl22I_q
#define GAN_MAT_RMULTLI_S   gan_mat22_rmultl22I_s
#define GAN_MAT_RMULTLI_I   gan_mat22_rmultl22I_i
#define GAN_MAT_RMULTLT_Q   gan_mat22_rmultl22T_q
#define GAN_MAT_RMULTLT_S   gan_mat22_rmultl22T_s
#define GAN_MAT_RMULTLT_I   gan_mat22_rmultl22T_i
#define GAN_MAT_RMULTLIT_Q   gan_mat22_rmultl22IT_q
#define GAN_MAT_RMULTLIT_S   gan_mat22_rmultl22IT_s
#define GAN_MAT_RMULTLIT_I   gan_mat22_rmultl22IT_i
#define GAN_MAT_SUMSQR_Q   gan_mat22_sumsqr_q
#define GAN_MAT_SUMSQR_Q   gan_symmat22_sumsqr_q
#define GAN_MAT_SUMSQR_Q   gan_ltmat22_sumsqr_q
#define GAN_MAT_SUMSQR_S   gan_mat22_sumsqr_s
#define GAN_MAT_SUMSQR_S   gan_symmat22_sumsqr_s
#define GAN_MAT_SUMSQR_S   gan_ltmat22_sumsqr_s
#define GAN_MAT_FNORM_Q   gan_mat22_Fnorm_q
#define GAN_MAT_FNORM_Q   gan_symmat22_Fnorm_q
#define GAN_MAT_FNORM_Q   gan_ltmat22_Fnorm_q
#define GAN_MAT_FNORM_S   gan_mat22_Fnorm_s
#define GAN_MAT_FNORM_S   gan_symmat22_Fnorm_s
#define GAN_MAT_FNORM_S   gan_ltmat22_Fnorm_s
#define GAN_MAT_FROM_MAT_Q   gan_mat22_from_mat_q
#define GAN_MAT_FROM_MAT_S   gan_mat22_from_mat_s
#define GAN_MAT_FROM_SQUMAT_Q   gan_mat22_from_squmat_q
#define GAN_MAT_FROM_SQUMAT_S   gan_mat22_from_squmat_s
#define GAN_SQUMAT_FROM_SQUMAT_Q   gan_squmat22_from_squmat_q
#define GAN_SQUMAT_FROM_SQUMAT_S   gan_squmat22_from_squmat_s
#define GAN_SQUMAT_IDENT_Q   gan_mat22_ident_q
#define GAN_SQUMAT_IDENT_Q   gan_symmat22_ident_q
#define GAN_SQUMAT_IDENT_Q   gan_ltmat22_ident_q
#define GAN_SQUMAT_IDENT_S   gan_mat22_ident_s
#define GAN_SQUMAT_IDENT_S   gan_symmat22_ident_s
#define GAN_SQUMAT_IDENT_S   gan_ltmat22_ident_s
#define GAN_SQUMAT_TPOSE_Q   gan_mat22_tpose_q
#define GAN_SQUMAT_TPOSE_S   gan_mat22_tpose_s
#define GAN_SQUMAT_TPOSE_I   gan_mat22_tpose_i
#define GAN_MAT_SADDT_Q   gan_mat22_saddT_q
#define GAN_MAT_SADDT_S   gan_mat22_saddT_s
#define GAN_SQUMAT_INVERT   gan_mat22_invert
#define GAN_SQUMAT_INVERT   gan_symmat22_invert
#define GAN_SQUMAT_INVERT   gan_ltmat22_invert
#define GAN_SQUMAT_INVERT_Q   gan_mat22_invert_q
#define GAN_SQUMAT_INVERT_Q   gan_symmat22_invert_q
#define GAN_SQUMAT_INVERT_Q   gan_ltmat22_invert_q
#define GAN_SQUMAT_INVERT_S   gan_mat22_invert_s
#define GAN_SQUMAT_INVERT_S   gan_symmat22_invert_s
#define GAN_SQUMAT_INVERT_S   gan_ltmat22_invert_s
#define GAN_SQUMAT_INVERT_I   gan_mat22_invert_i
#define GAN_SQUMAT_INVERT_I   gan_symmat22_invert_i
#define GAN_SQUMAT_INVERT_I   gan_ltmat22_invert_i
#define GAN_SQUMAT_ADJOINT_Q   gan_mat22_adjoint_q
#define GAN_SQUMAT_ADJOINT_S   gan_mat22_adjoint_s
#define GAN_SQUMAT_ADJOINTT_Q   gan_mat22_adjointT_q
#define GAN_SQUMAT_ADJOINTT_S   gan_mat22_adjointT_s
#define GAN_SQUMAT_DET_Q   gan_mat22_det_q
#define GAN_SQUMAT_DET_Q   gan_symmat22_det_q
#define GAN_SQUMAT_DET_Q   gan_ltmat22_det_q
#define GAN_SQUMAT_DET_S   gan_mat22_det_s
#define GAN_SQUMAT_DET_S   gan_symmat22_det_s
#define GAN_SQUMAT_DET_S   gan_ltmat22_det_s
#define GAN_SQUMAT_TRACE_Q   gan_mat22_trace_q
#define GAN_SQUMAT_TRACE_Q   gan_symmat22_trace_q
#define GAN_SQUMAT_TRACE_Q   gan_ltmat22_trace_q
#define GAN_SQUMAT_TRACE_S   gan_mat22_trace_s
#define GAN_SQUMAT_TRACE_S   gan_symmat22_trace_s
#define GAN_SQUMAT_TRACE_S   gan_ltmat22_trace_s
#define GAN_FIXED_MATRIX_TYPE   GAN_SYMMETRIC_MATRIX22
#define GAN_FIXED_MATRIX_TYPE   GAN_LOWER_TRI_MATRIX22
#define GAN_FIXED_MATRIX_TYPE   GAN_LOWER_TRI_MATRIX22
#define GAN_VEC_OUTER_SYM_Q   gan_vec22_outer_sym_q
#define GAN_VEC_OUTER_SYM_S   gan_vec22_outer_sym_s
#define GAN_SYMMAT_CHOLESKY   gan_symmat22_cholesky
#define GAN_SYMMAT_CHOLESKY_Q   gan_symmat22_cholesky_q
#define GAN_SYMMAT_CHOLESKY_S   gan_symmat22_cholesky_s
#define GAN_SYMMAT_CHOLESKY_I   gan_symmat22_cholesky_i
#define GAN_MAT_MULTV_I   gan_ltmat22_multv2_i
#define GAN_MATT_MULTV_I   gan_ltmat22T_multv2_i
#define GAN_MAT_SRMULTT_I   gan_ltmat22_srmultT_i
#define GAN_MAT_SLMULTT_I   gan_ltmat22_slmultT_i
#define GAN_SQUMATI_MULTV_Q   gan_ltmat22I_multv2_q
#define GAN_SQUMATI_MULTV_S   gan_ltmat22I_multv2_s
#define GAN_SQUMATI_MULTV_I   gan_ltmat22I_multv2_i
#define GAN_SQUMATIT_MULTV_Q   gan_ltmat22IT_multv2_q
#define GAN_SQUMATIT_MULTV_S   gan_ltmat22IT_multv2_s
#define GAN_SQUMATIT_MULTV_I   gan_ltmat22IT_multv2_i
#define gan_ltmat22T_fwrite   gan_ltmat22_fwrite
#define gan_ltmat22T_fread   gan_ltmat22_fread
#define GAN_ST22_FILL(A, t, XX, YX, YY)
#define GAN_ST22_IDENT(A, t)
#define GAN_MAT22_MULT1D(a, b, c, p1, p2, q1, q2)
#define GAN_MAT22T_MULT1D(a, b, c, p1, p2, q1, q2)
#define GAN_SYM22_MULT1D(a, b, c, p1, p2, q1, q2)
#define GAN_LOW22_MULT1D(a, b, c, p1, p2, q1, q2)
#define GAN_LOW22I_MULT1D(a, b, c, p1, p2, q1, q2)
#define GAN_UPP22_MULT1D(a, b, c, p1, p2, q1, q2)
#define GAN_UPP22I_MULT1D(a, b, c, p1, p2, q1, q2)
#define GAN_ST22_ZERO(A, t)
#define GAN_ST22_COPY(A, B, t)
#define GAN_ST22_SCALE(A, a, B, t)
#define GAN_ST22_DIVIDE(A, a, B, t)
#define GAN_ST22_NEGATE(A, B, t)
#define GAN_ST22_ADD(A, B, C, t)
#define GAN_ST22_SUB(A, B, C, t)
#define GAN_MATTYPE   Gan_Matrix22
#define GAN_MATTYPE   Gan_SquMatrix22
#define GAN_MATTYPE   Gan_SquMatrix22
#define GAN_MATTYPE   Gan_SquMatrix22
#define GAN_MATRIX_TYPE   Gan_Matrix
#define GAN_MATRIX_TYPE   Gan_SquMatrix
#define GAN_MATRIX_TYPE   Gan_SquMatrix
#define GAN_MATRIX_TYPE   Gan_SquMatrix
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix
#define GAN_VECTOR_TYPE   Gan_Vector
#define GAN_VECTOR_TYPE   Gan_Vector
#define GAN_VECTOR_TYPE   Gan_Vector
#define GAN_VECTOR_TYPE   Gan_Vector
#define GAN_MAT_ELEMENT_TYPE   GAN_DOUBLE
#define GAN_MAT_ELEMENT_TYPE   GAN_DOUBLE
#define GAN_MAT_ELEMENT_TYPE   GAN_DOUBLE
#define GAN_MAT_ELEMENT_TYPE   GAN_DOUBLE
#define GAN_REALTYPE   double
#define GAN_REALTYPE   double
#define GAN_REALTYPE   double
#define GAN_REALTYPE   double
#define GAN_FWRITE_LENDIAN   gan_fwrite_lendian_f64
#define GAN_FWRITE_LENDIAN   gan_fwrite_lendian_f64
#define GAN_FWRITE_LENDIAN   gan_fwrite_lendian_f64
#define GAN_FREAD_LENDIAN   gan_fread_lendian_f64
#define GAN_FREAD_LENDIAN   gan_fread_lendian_f64
#define GAN_FREAD_LENDIAN   gan_fread_lendian_f64
#define GAN_VECTYPE1   Gan_Vector2
#define GAN_VECTYPE1   Gan_Vector2
#define GAN_VECTYPE1   Gan_Vector2
#define GAN_VECTYPE2   Gan_Vector2
#define GAN_VECTYPE2   Gan_Vector2
#define GAN_VECTYPE2   Gan_Vector2
#define GAN_MATTYPEL   Gan_Matrix22
#define GAN_MATTYPER   Gan_Matrix22
#define GAN_SQUMATTYPEL   Gan_SquMatrix22
#define GAN_SQUMATTYPEL   Gan_SquMatrix22
#define GAN_SQUMATTYPER   Gan_SquMatrix22
#define GAN_SQUMATTYPER   Gan_SquMatrix22
#define GAN_MAT_FPRINT   gan_mat22_fprint
#define GAN_MAT_FPRINT   gan_symmat22_fprint
#define GAN_MAT_FPRINT   gan_ltmat22_fprint
#define GAN_MAT_FPRINT   gan_ltmat22T_fprint
#define GAN_MAT_PRINT   gan_mat22_print
#define GAN_MAT_PRINT   gan_symmat22_print
#define GAN_MAT_PRINT   gan_ltmat22_print
#define GAN_MAT_PRINT   gan_ltmat22T_print
#define GAN_MAT_FSCANF   gan_mat22_fscanf
#define GAN_MAT_FSCANF   gan_symmat22_fscanf
#define GAN_MAT_FSCANF   gan_ltmat22_fscanf
#define GAN_MAT_FSCANF   gan_ltmat22T_fscanf
#define GAN_MAT_FWRITE   gan_mat22_fwrite
#define GAN_MAT_FWRITE   gan_symmat22_fwrite
#define GAN_MAT_FWRITE   gan_ltmat22_fwrite
#define GAN_MAT_FREAD   gan_mat22_fread
#define GAN_MAT_FREAD   gan_symmat22_fread
#define GAN_MAT_FREAD   gan_ltmat22_fread
#define GAN_MAT_ZERO_Q   gan_mat22_zero_q
#define GAN_MAT_ZERO_Q   gan_symmat22_zero_q
#define GAN_MAT_ZERO_Q   gan_ltmat22_zero_q
#define GAN_MAT_ZERO_S   gan_mat22_zero_s
#define GAN_MAT_ZERO_S   gan_symmat22_zero_s
#define GAN_MAT_ZERO_S   gan_ltmat22_zero_s
#define GAN_MAT_COPY_Q   gan_mat22_copy_q
#define GAN_MAT_COPY_Q   gan_symmat22_copy_q
#define GAN_MAT_COPY_Q   gan_ltmat22_copy_q
#define GAN_MAT_COPY_S   gan_mat22_copy_s
#define GAN_MAT_COPY_S   gan_symmat22_copy_s
#define GAN_MAT_COPY_S   gan_ltmat22_copy_s
#define GAN_MAT_SCALE_Q   gan_mat22_scale_q
#define GAN_MAT_SCALE_Q   gan_symmat22_scale_q
#define GAN_MAT_SCALE_Q   gan_ltmat22_scale_q
#define GAN_MAT_SCALE_I   gan_mat22_scale_i
#define GAN_MAT_SCALE_I   gan_symmat22_scale_i
#define GAN_MAT_SCALE_I   gan_ltmat22_scale_i
#define GAN_MAT_SCALE_S   gan_mat22_scale_s
#define GAN_MAT_SCALE_S   gan_symmat22_scale_s
#define GAN_MAT_SCALE_S   gan_ltmat22_scale_s
#define GAN_MAT_DIVIDE_Q   gan_mat22_divide_q
#define GAN_MAT_DIVIDE_Q   gan_symmat22_divide_q
#define GAN_MAT_DIVIDE_Q   gan_ltmat22_divide_q
#define GAN_MAT_DIVIDE_I   gan_mat22_divide_i
#define GAN_MAT_DIVIDE_I   gan_symmat22_divide_i
#define GAN_MAT_DIVIDE_I   gan_ltmat22_divide_i
#define GAN_MAT_DIVIDE_S   gan_mat22_divide_s
#define GAN_MAT_DIVIDE_S   gan_symmat22_divide_s
#define GAN_MAT_DIVIDE_S   gan_ltmat22_divide_s
#define GAN_MAT_NEGATE_Q   gan_mat22_negate_q
#define GAN_MAT_NEGATE_Q   gan_symmat22_negate_q
#define GAN_MAT_NEGATE_Q   gan_ltmat22_negate_q
#define GAN_MAT_NEGATE_I   gan_mat22_negate_i
#define GAN_MAT_NEGATE_I   gan_symmat22_negate_i
#define GAN_MAT_NEGATE_I   gan_ltmat22_negate_i
#define GAN_MAT_NEGATE_S   gan_mat22_negate_s
#define GAN_MAT_NEGATE_S   gan_symmat22_negate_s
#define GAN_MAT_NEGATE_S   gan_ltmat22_negate_s
#define GAN_MAT_UNIT_Q   gan_mat22_unit_q
#define GAN_MAT_UNIT_Q   gan_symmat22_unit_q
#define GAN_MAT_UNIT_Q   gan_ltmat22_unit_q
#define GAN_MAT_UNIT_I   gan_mat22_unit_i
#define GAN_MAT_UNIT_I   gan_symmat22_unit_i
#define GAN_MAT_UNIT_I   gan_ltmat22_unit_i
#define GAN_MAT_UNIT_S   gan_mat22_unit_s
#define GAN_MAT_UNIT_S   gan_symmat22_unit_s
#define GAN_MAT_UNIT_S   gan_ltmat22_unit_s
#define GAN_MAT_ADD_Q   gan_mat22_add_q
#define GAN_MAT_ADD_Q   gan_symmat22_add_q
#define GAN_MAT_ADD_Q   gan_ltmat22_add_q
#define GAN_MAT_ADD_I1   gan_mat22_add_i1
#define GAN_MAT_ADD_I1   gan_symmat22_add_i1
#define GAN_MAT_ADD_I1   gan_ltmat22_add_i1
#define GAN_MAT_ADD_I2   gan_mat22_add_i2
#define GAN_MAT_ADD_I2   gan_symmat22_add_i2
#define GAN_MAT_ADD_I2   gan_ltmat22_add_i2
#define GAN_MAT_INCREMENT   gan_mat22_increment
#define GAN_MAT_INCREMENT   gan_symmat22_increment
#define GAN_MAT_INCREMENT   gan_ltmat22_increment
#define GAN_MAT_ADD_S   gan_mat22_add_s
#define GAN_MAT_ADD_S   gan_symmat22_add_s
#define GAN_MAT_ADD_S   gan_ltmat22_add_s
#define GAN_MAT_SUB_Q   gan_mat22_sub_q
#define GAN_MAT_SUB_Q   gan_symmat22_sub_q
#define GAN_MAT_SUB_Q   gan_ltmat22_sub_q
#define GAN_MAT_SUB_I1   gan_mat22_sub_i1
#define GAN_MAT_SUB_I1   gan_symmat22_sub_i1
#define GAN_MAT_SUB_I1   gan_ltmat22_sub_i1
#define GAN_MAT_SUB_I2   gan_mat22_sub_i2
#define GAN_MAT_SUB_I2   gan_symmat22_sub_i2
#define GAN_MAT_SUB_I2   gan_ltmat22_sub_i2
#define GAN_MAT_DECREMENT   gan_mat22_decrement
#define GAN_MAT_DECREMENT   gan_symmat22_decrement
#define GAN_MAT_DECREMENT   gan_ltmat22_decrement
#define GAN_MAT_SUB_S   gan_mat22_sub_s
#define GAN_MAT_SUB_S   gan_symmat22_sub_s
#define GAN_MAT_SUB_S   gan_ltmat22_sub_s
#define GAN_VEC_OUTER_Q   gan_vec22_outer_q
#define GAN_VEC_OUTER_S   gan_vec22_outer_s
#define GAN_MAT_MULTV_Q   gan_mat22_multv2_q
#define GAN_MAT_MULTV_Q   gan_symmat22_multv2_q
#define GAN_MAT_MULTV_Q   gan_ltmat22_multv2_q
#define GAN_MAT_MULTV_S   gan_mat22_multv2_s
#define GAN_MAT_MULTV_S   gan_symmat22_multv2_s
#define GAN_MAT_MULTV_S   gan_ltmat22_multv2_s
#define GAN_MATT_MULTV_Q   gan_mat22T_multv2_q
#define GAN_MATT_MULTV_Q   gan_ltmat22T_multv2_q
#define GAN_MATT_MULTV_S   gan_mat22T_multv2_s
#define GAN_MATT_MULTV_S   gan_ltmat22T_multv2_s
#define GAN_MAT_LMULTMT_Q   gan_mat22_lmultm22T_q
#define GAN_MAT_LMULTMT_S   gan_mat22_lmultm22T_s
#define GAN_MAT_RMULTM_Q   gan_mat22_rmultm22_q
#define GAN_MAT_RMULTM_S   gan_mat22_rmultm22_s
#define GAN_MAT_RMULTMT_Q   gan_mat22_rmultm22T_q
#define GAN_MAT_RMULTMT_S   gan_mat22_rmultm22T_s
#define GAN_MAT_LMULTMT_SYM_Q   gan_mat22_lmultm22T_sym_q
#define GAN_MAT_LMULTMT_SYM_S   gan_mat22_lmultm22T_sym_s
#define GAN_MAT_RMULTMT_SYM_Q   gan_mat22_rmultm22T_sym_q
#define GAN_MAT_RMULTMT_SYM_S   gan_mat22_rmultm22T_sym_s
#define GAN_MAT_SLMULTT_Q   gan_mat22_slmultT_q
#define GAN_MAT_SLMULTT_Q   gan_ltmat22_slmultT_q
#define GAN_MAT_SLMULTT_S   gan_mat22_slmultT_s
#define GAN_MAT_SLMULTT_S   gan_ltmat22_slmultT_s
#define GAN_MAT_SRMULTT_Q   gan_mat22_srmultT_q
#define GAN_MAT_SRMULTT_Q   gan_ltmat22_srmultT_q
#define GAN_MAT_SRMULTT_S   gan_mat22_srmultT_s
#define GAN_MAT_SRMULTT_S   gan_ltmat22_srmultT_s
#define GAN_MAT_LMULTS_Q   gan_mat22_lmults22_q
#define GAN_MAT_LMULTS_S   gan_mat22_lmults22_s
#define GAN_MAT_RMULTS_Q   gan_mat22_rmults22_q
#define GAN_MAT_RMULTS_S   gan_mat22_rmults22_s
#define GAN_SYMMATL_LRMULT_Q   gan_symmat22_lrmultm22T_q
#define GAN_SYMMATL_LRMULT_S   gan_symmat22_lrmultm22T_s
#define GAN_SYMMATR_LRMULT_Q   gan_symmat22_lrmultm22_q
#define GAN_SYMMATR_LRMULT_S   gan_symmat22_lrmultm22_s
#define GAN_MAT_LMULTL_Q   gan_mat22_lmultl22_q
#define GAN_MAT_LMULTL_S   gan_mat22_lmultl22_s
#define GAN_MAT_LMULTL_I   gan_mat22_lmultl22_i
#define GAN_MAT_LMULTLI_Q   gan_mat22_lmultl22I_q
#define GAN_MAT_LMULTLI_S   gan_mat22_lmultl22I_s
#define GAN_MAT_LMULTLI_I   gan_mat22_lmultl22I_i
#define GAN_MAT_LMULTLT_Q   gan_mat22_lmultl22T_q
#define GAN_MAT_LMULTLT_S   gan_mat22_lmultl22T_s
#define GAN_MAT_LMULTLT_I   gan_mat22_lmultl22T_i
#define GAN_MAT_LMULTLIT_Q   gan_mat22_lmultl22IT_q
#define GAN_MAT_LMULTLIT_S   gan_mat22_lmultl22IT_s
#define GAN_MAT_LMULTLIT_I   gan_mat22_lmultl22IT_i
#define GAN_MAT_RMULTL_Q   gan_mat22_rmultl22_q
#define GAN_MAT_RMULTL_S   gan_mat22_rmultl22_s
#define GAN_MAT_RMULTL_I   gan_mat22_rmultl22_i
#define GAN_MAT_RMULTLI_Q   gan_mat22_rmultl22I_q
#define GAN_MAT_RMULTLI_S   gan_mat22_rmultl22I_s
#define GAN_MAT_RMULTLI_I   gan_mat22_rmultl22I_i
#define GAN_MAT_RMULTLT_Q   gan_mat22_rmultl22T_q
#define GAN_MAT_RMULTLT_S   gan_mat22_rmultl22T_s
#define GAN_MAT_RMULTLT_I   gan_mat22_rmultl22T_i
#define GAN_MAT_RMULTLIT_Q   gan_mat22_rmultl22IT_q
#define GAN_MAT_RMULTLIT_S   gan_mat22_rmultl22IT_s
#define GAN_MAT_RMULTLIT_I   gan_mat22_rmultl22IT_i
#define GAN_MAT_SUMSQR_Q   gan_mat22_sumsqr_q
#define GAN_MAT_SUMSQR_Q   gan_symmat22_sumsqr_q
#define GAN_MAT_SUMSQR_Q   gan_ltmat22_sumsqr_q
#define GAN_MAT_SUMSQR_S   gan_mat22_sumsqr_s
#define GAN_MAT_SUMSQR_S   gan_symmat22_sumsqr_s
#define GAN_MAT_SUMSQR_S   gan_ltmat22_sumsqr_s
#define GAN_MAT_FNORM_Q   gan_mat22_Fnorm_q
#define GAN_MAT_FNORM_Q   gan_symmat22_Fnorm_q
#define GAN_MAT_FNORM_Q   gan_ltmat22_Fnorm_q
#define GAN_MAT_FNORM_S   gan_mat22_Fnorm_s
#define GAN_MAT_FNORM_S   gan_symmat22_Fnorm_s
#define GAN_MAT_FNORM_S   gan_ltmat22_Fnorm_s
#define GAN_MAT_FROM_MAT_Q   gan_mat22_from_mat_q
#define GAN_MAT_FROM_MAT_S   gan_mat22_from_mat_s
#define GAN_MAT_FROM_SQUMAT_Q   gan_mat22_from_squmat_q
#define GAN_MAT_FROM_SQUMAT_S   gan_mat22_from_squmat_s
#define GAN_SQUMAT_FROM_SQUMAT_Q   gan_squmat22_from_squmat_q
#define GAN_SQUMAT_FROM_SQUMAT_S   gan_squmat22_from_squmat_s
#define GAN_SQUMAT_IDENT_Q   gan_mat22_ident_q
#define GAN_SQUMAT_IDENT_Q   gan_symmat22_ident_q
#define GAN_SQUMAT_IDENT_Q   gan_ltmat22_ident_q
#define GAN_SQUMAT_IDENT_S   gan_mat22_ident_s
#define GAN_SQUMAT_IDENT_S   gan_symmat22_ident_s
#define GAN_SQUMAT_IDENT_S   gan_ltmat22_ident_s
#define GAN_SQUMAT_TPOSE_Q   gan_mat22_tpose_q
#define GAN_SQUMAT_TPOSE_S   gan_mat22_tpose_s
#define GAN_SQUMAT_TPOSE_I   gan_mat22_tpose_i
#define GAN_MAT_SADDT_Q   gan_mat22_saddT_q
#define GAN_MAT_SADDT_S   gan_mat22_saddT_s
#define GAN_SQUMAT_INVERT   gan_mat22_invert
#define GAN_SQUMAT_INVERT   gan_symmat22_invert
#define GAN_SQUMAT_INVERT   gan_ltmat22_invert
#define GAN_SQUMAT_INVERT_Q   gan_mat22_invert_q
#define GAN_SQUMAT_INVERT_Q   gan_symmat22_invert_q
#define GAN_SQUMAT_INVERT_Q   gan_ltmat22_invert_q
#define GAN_SQUMAT_INVERT_S   gan_mat22_invert_s
#define GAN_SQUMAT_INVERT_S   gan_symmat22_invert_s
#define GAN_SQUMAT_INVERT_S   gan_ltmat22_invert_s
#define GAN_SQUMAT_INVERT_I   gan_mat22_invert_i
#define GAN_SQUMAT_INVERT_I   gan_symmat22_invert_i
#define GAN_SQUMAT_INVERT_I   gan_ltmat22_invert_i
#define GAN_SQUMAT_ADJOINT_Q   gan_mat22_adjoint_q
#define GAN_SQUMAT_ADJOINT_S   gan_mat22_adjoint_s
#define GAN_SQUMAT_ADJOINTT_Q   gan_mat22_adjointT_q
#define GAN_SQUMAT_ADJOINTT_S   gan_mat22_adjointT_s
#define GAN_SQUMAT_DET_Q   gan_mat22_det_q
#define GAN_SQUMAT_DET_Q   gan_symmat22_det_q
#define GAN_SQUMAT_DET_Q   gan_ltmat22_det_q
#define GAN_SQUMAT_DET_S   gan_mat22_det_s
#define GAN_SQUMAT_DET_S   gan_symmat22_det_s
#define GAN_SQUMAT_DET_S   gan_ltmat22_det_s
#define GAN_SQUMAT_TRACE_Q   gan_mat22_trace_q
#define GAN_SQUMAT_TRACE_Q   gan_symmat22_trace_q
#define GAN_SQUMAT_TRACE_Q   gan_ltmat22_trace_q
#define GAN_SQUMAT_TRACE_S   gan_mat22_trace_s
#define GAN_SQUMAT_TRACE_S   gan_symmat22_trace_s
#define GAN_SQUMAT_TRACE_S   gan_ltmat22_trace_s
#define GAN_FIXED_MATRIX_TYPE   GAN_SYMMETRIC_MATRIX22
#define GAN_FIXED_MATRIX_TYPE   GAN_LOWER_TRI_MATRIX22
#define GAN_FIXED_MATRIX_TYPE   GAN_LOWER_TRI_MATRIX22
#define GAN_VEC_OUTER_SYM_Q   gan_vec22_outer_sym_q
#define GAN_VEC_OUTER_SYM_S   gan_vec22_outer_sym_s
#define GAN_SYMMAT_CHOLESKY   gan_symmat22_cholesky
#define GAN_SYMMAT_CHOLESKY_Q   gan_symmat22_cholesky_q
#define GAN_SYMMAT_CHOLESKY_S   gan_symmat22_cholesky_s
#define GAN_SYMMAT_CHOLESKY_I   gan_symmat22_cholesky_i
#define GAN_MAT_MULTV_I   gan_ltmat22_multv2_i
#define GAN_MATT_MULTV_I   gan_ltmat22T_multv2_i
#define GAN_MAT_SRMULTT_I   gan_ltmat22_srmultT_i
#define GAN_MAT_SLMULTT_I   gan_ltmat22_slmultT_i
#define GAN_SQUMATI_MULTV_Q   gan_ltmat22I_multv2_q
#define GAN_SQUMATI_MULTV_S   gan_ltmat22I_multv2_s
#define GAN_SQUMATI_MULTV_I   gan_ltmat22I_multv2_i
#define GAN_SQUMATIT_MULTV_Q   gan_ltmat22IT_multv2_q
#define GAN_SQUMATIT_MULTV_S   gan_ltmat22IT_multv2_s
#define GAN_SQUMATIT_MULTV_I   gan_ltmat22IT_multv2_i
#define gan_ltmat22T_fwrite   gan_ltmat22_fwrite
#define gan_ltmat22T_fread   gan_ltmat22_fread
#define GAN_MATTYPE   Gan_Matrix22_f
#define GAN_MATTYPE   Gan_SquMatrix22_f
#define GAN_MATTYPE   Gan_SquMatrix22_f
#define GAN_MATTYPE   Gan_SquMatrix22_f
#define GAN_MATRIX_TYPE   Gan_Matrix_f
#define GAN_MATRIX_TYPE   Gan_SquMatrix_f
#define GAN_MATRIX_TYPE   Gan_SquMatrix_f
#define GAN_MATRIX_TYPE   Gan_SquMatrix_f
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix_f
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix_f
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix_f
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix_f
#define GAN_VECTOR_TYPE   Gan_Vector_f
#define GAN_VECTOR_TYPE   Gan_Vector_f
#define GAN_VECTOR_TYPE   Gan_Vector_f
#define GAN_VECTOR_TYPE   Gan_Vector_f
#define GAN_MAT_ELEMENT_TYPE   GAN_FLOAT
#define GAN_MAT_ELEMENT_TYPE   GAN_FLOAT
#define GAN_MAT_ELEMENT_TYPE   GAN_FLOAT
#define GAN_MAT_ELEMENT_TYPE   GAN_FLOAT
#define GAN_REALTYPE   float
#define GAN_REALTYPE   float
#define GAN_REALTYPE   float
#define GAN_REALTYPE   float
#define GAN_FWRITE_LENDIAN   gan_fwrite_lendian_f32
#define GAN_FWRITE_LENDIAN   gan_fwrite_lendian_f32
#define GAN_FWRITE_LENDIAN   gan_fwrite_lendian_f32
#define GAN_FREAD_LENDIAN   gan_fread_lendian_f32
#define GAN_FREAD_LENDIAN   gan_fread_lendian_f32
#define GAN_FREAD_LENDIAN   gan_fread_lendian_f32
#define GAN_VECTYPE1   Gan_Vector2_f
#define GAN_VECTYPE1   Gan_Vector2_f
#define GAN_VECTYPE1   Gan_Vector2_f
#define GAN_VECTYPE2   Gan_Vector2_f
#define GAN_VECTYPE2   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_SQUMATTYPEL   Gan_SquMatrix22_f
#define GAN_SQUMATTYPER   Gan_SquMatrix22_f
#define GAN_SQUMATTYPER   Gan_SquMatrix22_f
#define GAN_MAT_FPRINT   gan_mat22f_fprint
#define GAN_MAT_FPRINT   gan_symmat22f_fprint
#define GAN_MAT_FPRINT   gan_ltmat22f_fprint
#define GAN_MAT_FPRINT   gan_ltmat22Tf_fprint
#define GAN_MAT_PRINT   gan_mat22f_print
#define GAN_MAT_PRINT   gan_symmat22f_print
#define GAN_MAT_PRINT   gan_ltmat22f_print
#define GAN_MAT_PRINT   gan_ltmat22Tf_print
#define GAN_MAT_FSCANF   gan_mat22f_fscanf
#define GAN_MAT_FSCANF   gan_symmat22f_fscanf
#define GAN_MAT_FSCANF   gan_ltmat22f_fscanf
#define GAN_MAT_FSCANF   gan_ltmat22Tf_fscanf
#define GAN_MAT_FWRITE   gan_mat22f_fwrite
#define GAN_MAT_FWRITE   gan_symmat22f_fwrite
#define GAN_MAT_FWRITE   gan_ltmat22f_fwrite
#define GAN_MAT_FREAD   gan_mat22f_fread
#define GAN_MAT_FREAD   gan_symmat22f_fread
#define GAN_MAT_FREAD   gan_ltmat22f_fread
#define GAN_MAT_ZERO_Q   gan_mat22f_zero_q
#define GAN_MAT_ZERO_Q   gan_symmat22f_zero_q
#define GAN_MAT_ZERO_Q   gan_ltmat22f_zero_q
#define GAN_MAT_ZERO_S   gan_mat22f_zero_s
#define GAN_MAT_ZERO_S   gan_symmat22f_zero_s
#define GAN_MAT_ZERO_S   gan_ltmat22f_zero_s
#define GAN_MAT_COPY_Q   gan_mat22f_copy_q
#define GAN_MAT_COPY_Q   gan_symmat22f_copy_q
#define GAN_MAT_COPY_Q   gan_ltmat22f_copy_q
#define GAN_MAT_COPY_S   gan_mat22f_copy_s
#define GAN_MAT_COPY_S   gan_symmat22f_copy_s
#define GAN_MAT_COPY_S   gan_ltmat22f_copy_s
#define GAN_MAT_SCALE_Q   gan_mat22f_scale_q
#define GAN_MAT_SCALE_Q   gan_symmat22f_scale_q
#define GAN_MAT_SCALE_Q   gan_ltmat22f_scale_q
#define GAN_MAT_SCALE_I   gan_mat22f_scale_i
#define GAN_MAT_SCALE_I   gan_symmat22f_scale_i
#define GAN_MAT_SCALE_I   gan_ltmat22f_scale_i
#define GAN_MAT_SCALE_S   gan_mat22f_scale_s
#define GAN_MAT_SCALE_S   gan_symmat22f_scale_s
#define GAN_MAT_SCALE_S   gan_ltmat22f_scale_s
#define GAN_MAT_DIVIDE_Q   gan_mat22f_divide_q
#define GAN_MAT_DIVIDE_Q   gan_symmat22f_divide_q
#define GAN_MAT_DIVIDE_Q   gan_ltmat22f_divide_q
#define GAN_MAT_DIVIDE_I   gan_mat22f_divide_i
#define GAN_MAT_DIVIDE_I   gan_symmat22f_divide_i
#define GAN_MAT_DIVIDE_I   gan_ltmat22f_divide_i
#define GAN_MAT_DIVIDE_S   gan_mat22f_divide_s
#define GAN_MAT_DIVIDE_S   gan_symmat22f_divide_s
#define GAN_MAT_DIVIDE_S   gan_ltmat22f_divide_s
#define GAN_MAT_NEGATE_Q   gan_mat22f_negate_q
#define GAN_MAT_NEGATE_Q   gan_symmat22f_negate_q
#define GAN_MAT_NEGATE_Q   gan_ltmat22f_negate_q
#define GAN_MAT_NEGATE_I   gan_mat22f_negate_i
#define GAN_MAT_NEGATE_I   gan_symmat22f_negate_i
#define GAN_MAT_NEGATE_I   gan_ltmat22f_negate_i
#define GAN_MAT_NEGATE_S   gan_mat22f_negate_s
#define GAN_MAT_NEGATE_S   gan_symmat22f_negate_s
#define GAN_MAT_NEGATE_S   gan_ltmat22f_negate_s
#define GAN_MAT_UNIT_Q   gan_mat22f_unit_q
#define GAN_MAT_UNIT_Q   gan_symmat22f_unit_q
#define GAN_MAT_UNIT_Q   gan_ltmat22f_unit_q
#define GAN_MAT_UNIT_I   gan_mat22f_unit_i
#define GAN_MAT_UNIT_I   gan_symmat22f_unit_i
#define GAN_MAT_UNIT_I   gan_ltmat22f_unit_i
#define GAN_MAT_UNIT_S   gan_mat22f_unit_s
#define GAN_MAT_UNIT_S   gan_symmat22f_unit_s
#define GAN_MAT_UNIT_S   gan_ltmat22f_unit_s
#define GAN_MAT_ADD_Q   gan_mat22f_add_q
#define GAN_MAT_ADD_Q   gan_symmat22f_add_q
#define GAN_MAT_ADD_Q   gan_ltmat22f_add_q
#define GAN_MAT_ADD_I1   gan_mat22f_add_i1
#define GAN_MAT_ADD_I1   gan_symmat22f_add_i1
#define GAN_MAT_ADD_I1   gan_ltmat22f_add_i1
#define GAN_MAT_ADD_I2   gan_mat22f_add_i2
#define GAN_MAT_ADD_I2   gan_symmat22f_add_i2
#define GAN_MAT_ADD_I2   gan_ltmat22f_add_i2
#define GAN_MAT_INCREMENT   gan_mat22f_increment
#define GAN_MAT_INCREMENT   gan_symmat22f_increment
#define GAN_MAT_INCREMENT   gan_ltmat22f_increment
#define GAN_MAT_ADD_S   gan_mat22f_add_s
#define GAN_MAT_ADD_S   gan_symmat22f_add_s
#define GAN_MAT_ADD_S   gan_ltmat22f_add_s
#define GAN_MAT_SUB_Q   gan_mat22f_sub_q
#define GAN_MAT_SUB_Q   gan_symmat22f_sub_q
#define GAN_MAT_SUB_Q   gan_ltmat22f_sub_q
#define GAN_MAT_SUB_I1   gan_mat22f_sub_i1
#define GAN_MAT_SUB_I1   gan_symmat22f_sub_i1
#define GAN_MAT_SUB_I1   gan_ltmat22f_sub_i1
#define GAN_MAT_SUB_I2   gan_mat22f_sub_i2
#define GAN_MAT_SUB_I2   gan_symmat22f_sub_i2
#define GAN_MAT_SUB_I2   gan_ltmat22f_sub_i2
#define GAN_MAT_DECREMENT   gan_mat22f_decrement
#define GAN_MAT_DECREMENT   gan_symmat22f_decrement
#define GAN_MAT_DECREMENT   gan_ltmat22f_decrement
#define GAN_MAT_SUB_S   gan_mat22f_sub_s
#define GAN_MAT_SUB_S   gan_symmat22f_sub_s
#define GAN_MAT_SUB_S   gan_ltmat22f_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_Q   gan_symmat22f_multv2_q
#define GAN_MAT_MULTV_Q   gan_ltmat22f_multv2_q
#define GAN_MAT_MULTV_S   gan_mat22f_multv2_s
#define GAN_MAT_MULTV_S   gan_symmat22f_multv2_s
#define GAN_MAT_MULTV_S   gan_ltmat22f_multv2_s
#define GAN_MATT_MULTV_Q   gan_mat22Tf_multv2_q
#define GAN_MATT_MULTV_Q   gan_ltmat22Tf_multv2_q
#define GAN_MATT_MULTV_S   gan_mat22Tf_multv2_s
#define GAN_MATT_MULTV_S   gan_ltmat22Tf_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_Q   gan_ltmat22f_slmultT_q
#define GAN_MAT_SLMULTT_S   gan_mat22f_slmultT_s
#define GAN_MAT_SLMULTT_S   gan_ltmat22f_slmultT_s
#define GAN_MAT_SRMULTT_Q   gan_mat22f_srmultT_q
#define GAN_MAT_SRMULTT_Q   gan_ltmat22f_srmultT_q
#define GAN_MAT_SRMULTT_S   gan_mat22f_srmultT_s
#define GAN_MAT_SRMULTT_S   gan_ltmat22f_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_Q   gan_symmat22f_sumsqr_q
#define GAN_MAT_SUMSQR_Q   gan_ltmat22f_sumsqr_q
#define GAN_MAT_SUMSQR_S   gan_mat22f_sumsqr_s
#define GAN_MAT_SUMSQR_S   gan_symmat22f_sumsqr_s
#define GAN_MAT_SUMSQR_S   gan_ltmat22f_sumsqr_s
#define GAN_MAT_FNORM_Q   gan_mat22f_Fnorm_q
#define GAN_MAT_FNORM_Q   gan_symmat22f_Fnorm_q
#define GAN_MAT_FNORM_Q   gan_ltmat22f_Fnorm_q
#define GAN_MAT_FNORM_S   gan_mat22f_Fnorm_s
#define GAN_MAT_FNORM_S   gan_symmat22f_Fnorm_s
#define GAN_MAT_FNORM_S   gan_ltmat22f_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_Q   gan_symmat22f_ident_q
#define GAN_SQUMAT_IDENT_Q   gan_ltmat22f_ident_q
#define GAN_SQUMAT_IDENT_S   gan_mat22f_ident_s
#define GAN_SQUMAT_IDENT_S   gan_symmat22f_ident_s
#define GAN_SQUMAT_IDENT_S   gan_ltmat22f_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   gan_symmat22f_invert
#define GAN_SQUMAT_INVERT   gan_ltmat22f_invert
#define GAN_SQUMAT_INVERT_Q   gan_mat22f_invert_q
#define GAN_SQUMAT_INVERT_Q   gan_symmat22f_invert_q
#define GAN_SQUMAT_INVERT_Q   gan_ltmat22f_invert_q
#define GAN_SQUMAT_INVERT_S   gan_mat22f_invert_s
#define GAN_SQUMAT_INVERT_S   gan_symmat22f_invert_s
#define GAN_SQUMAT_INVERT_S   gan_ltmat22f_invert_s
#define GAN_SQUMAT_INVERT_I   gan_mat22f_invert_i
#define GAN_SQUMAT_INVERT_I   gan_symmat22f_invert_i
#define GAN_SQUMAT_INVERT_I   gan_ltmat22f_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_Q   gan_symmat22f_det_q
#define GAN_SQUMAT_DET_Q   gan_ltmat22f_det_q
#define GAN_SQUMAT_DET_S   gan_mat22f_det_s
#define GAN_SQUMAT_DET_S   gan_symmat22f_det_s
#define GAN_SQUMAT_DET_S   gan_ltmat22f_det_s
#define GAN_SQUMAT_TRACE_Q   gan_mat22f_trace_q
#define GAN_SQUMAT_TRACE_Q   gan_symmat22f_trace_q
#define GAN_SQUMAT_TRACE_Q   gan_ltmat22f_trace_q
#define GAN_SQUMAT_TRACE_S   gan_mat22f_trace_s
#define GAN_SQUMAT_TRACE_S   gan_symmat22f_trace_s
#define GAN_SQUMAT_TRACE_S   gan_ltmat22f_trace_s
#define GAN_FIXED_MATRIX_TYPE   GAN_SYMMETRIC_MATRIX22_F
#define GAN_FIXED_MATRIX_TYPE   GAN_LOWER_TRI_MATRIX22_F
#define GAN_FIXED_MATRIX_TYPE   GAN_LOWER_TRI_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_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_MATTYPE   Gan_SquMatrix22_f
#define GAN_MATTYPE   Gan_SquMatrix22_f
#define GAN_MATTYPE   Gan_SquMatrix22_f
#define GAN_MATRIX_TYPE   Gan_Matrix_f
#define GAN_MATRIX_TYPE   Gan_SquMatrix_f
#define GAN_MATRIX_TYPE   Gan_SquMatrix_f
#define GAN_MATRIX_TYPE   Gan_SquMatrix_f
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix_f
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix_f
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix_f
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix_f
#define GAN_VECTOR_TYPE   Gan_Vector_f
#define GAN_VECTOR_TYPE   Gan_Vector_f
#define GAN_VECTOR_TYPE   Gan_Vector_f
#define GAN_VECTOR_TYPE   Gan_Vector_f
#define GAN_MAT_ELEMENT_TYPE   GAN_FLOAT
#define GAN_MAT_ELEMENT_TYPE   GAN_FLOAT
#define GAN_MAT_ELEMENT_TYPE   GAN_FLOAT
#define GAN_MAT_ELEMENT_TYPE   GAN_FLOAT
#define GAN_REALTYPE   float
#define GAN_REALTYPE   float
#define GAN_REALTYPE   float
#define GAN_REALTYPE   float
#define GAN_FWRITE_LENDIAN   gan_fwrite_lendian_f32
#define GAN_FWRITE_LENDIAN   gan_fwrite_lendian_f32
#define GAN_FWRITE_LENDIAN   gan_fwrite_lendian_f32
#define GAN_FREAD_LENDIAN   gan_fread_lendian_f32
#define GAN_FREAD_LENDIAN   gan_fread_lendian_f32
#define GAN_FREAD_LENDIAN   gan_fread_lendian_f32
#define GAN_VECTYPE1   Gan_Vector2_f
#define GAN_VECTYPE1   Gan_Vector2_f
#define GAN_VECTYPE1   Gan_Vector2_f
#define GAN_VECTYPE2   Gan_Vector2_f
#define GAN_VECTYPE2   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_SQUMATTYPEL   Gan_SquMatrix22_f
#define GAN_SQUMATTYPER   Gan_SquMatrix22_f
#define GAN_SQUMATTYPER   Gan_SquMatrix22_f
#define GAN_MAT_FPRINT   gan_mat22f_fprint
#define GAN_MAT_FPRINT   gan_symmat22f_fprint
#define GAN_MAT_FPRINT   gan_ltmat22f_fprint
#define GAN_MAT_FPRINT   gan_ltmat22Tf_fprint
#define GAN_MAT_PRINT   gan_mat22f_print
#define GAN_MAT_PRINT   gan_symmat22f_print
#define GAN_MAT_PRINT   gan_ltmat22f_print
#define GAN_MAT_PRINT   gan_ltmat22Tf_print
#define GAN_MAT_FSCANF   gan_mat22f_fscanf
#define GAN_MAT_FSCANF   gan_symmat22f_fscanf
#define GAN_MAT_FSCANF   gan_ltmat22f_fscanf
#define GAN_MAT_FSCANF   gan_ltmat22Tf_fscanf
#define GAN_MAT_FWRITE   gan_mat22f_fwrite
#define GAN_MAT_FWRITE   gan_symmat22f_fwrite
#define GAN_MAT_FWRITE   gan_ltmat22f_fwrite
#define GAN_MAT_FREAD   gan_mat22f_fread
#define GAN_MAT_FREAD   gan_symmat22f_fread
#define GAN_MAT_FREAD   gan_ltmat22f_fread
#define GAN_MAT_ZERO_Q   gan_mat22f_zero_q
#define GAN_MAT_ZERO_Q   gan_symmat22f_zero_q
#define GAN_MAT_ZERO_Q   gan_ltmat22f_zero_q
#define GAN_MAT_ZERO_S   gan_mat22f_zero_s
#define GAN_MAT_ZERO_S   gan_symmat22f_zero_s
#define GAN_MAT_ZERO_S   gan_ltmat22f_zero_s
#define GAN_MAT_COPY_Q   gan_mat22f_copy_q
#define GAN_MAT_COPY_Q   gan_symmat22f_copy_q
#define GAN_MAT_COPY_Q   gan_ltmat22f_copy_q
#define GAN_MAT_COPY_S   gan_mat22f_copy_s
#define GAN_MAT_COPY_S   gan_symmat22f_copy_s
#define GAN_MAT_COPY_S   gan_ltmat22f_copy_s
#define GAN_MAT_SCALE_Q   gan_mat22f_scale_q
#define GAN_MAT_SCALE_Q   gan_symmat22f_scale_q
#define GAN_MAT_SCALE_Q   gan_ltmat22f_scale_q
#define GAN_MAT_SCALE_I   gan_mat22f_scale_i
#define GAN_MAT_SCALE_I   gan_symmat22f_scale_i
#define GAN_MAT_SCALE_I   gan_ltmat22f_scale_i
#define GAN_MAT_SCALE_S   gan_mat22f_scale_s
#define GAN_MAT_SCALE_S   gan_symmat22f_scale_s
#define GAN_MAT_SCALE_S   gan_ltmat22f_scale_s
#define GAN_MAT_DIVIDE_Q   gan_mat22f_divide_q
#define GAN_MAT_DIVIDE_Q   gan_symmat22f_divide_q
#define GAN_MAT_DIVIDE_Q   gan_ltmat22f_divide_q
#define GAN_MAT_DIVIDE_I   gan_mat22f_divide_i
#define GAN_MAT_DIVIDE_I   gan_symmat22f_divide_i
#define GAN_MAT_DIVIDE_I   gan_ltmat22f_divide_i
#define GAN_MAT_DIVIDE_S   gan_mat22f_divide_s
#define GAN_MAT_DIVIDE_S   gan_symmat22f_divide_s
#define GAN_MAT_DIVIDE_S   gan_ltmat22f_divide_s
#define GAN_MAT_NEGATE_Q   gan_mat22f_negate_q
#define GAN_MAT_NEGATE_Q   gan_symmat22f_negate_q
#define GAN_MAT_NEGATE_Q   gan_ltmat22f_negate_q
#define GAN_MAT_NEGATE_I   gan_mat22f_negate_i
#define GAN_MAT_NEGATE_I   gan_symmat22f_negate_i
#define GAN_MAT_NEGATE_I   gan_ltmat22f_negate_i
#define GAN_MAT_NEGATE_S   gan_mat22f_negate_s
#define GAN_MAT_NEGATE_S   gan_symmat22f_negate_s
#define GAN_MAT_NEGATE_S   gan_ltmat22f_negate_s
#define GAN_MAT_UNIT_Q   gan_mat22f_unit_q
#define GAN_MAT_UNIT_Q   gan_symmat22f_unit_q
#define GAN_MAT_UNIT_Q   gan_ltmat22f_unit_q
#define GAN_MAT_UNIT_I   gan_mat22f_unit_i
#define GAN_MAT_UNIT_I   gan_symmat22f_unit_i
#define GAN_MAT_UNIT_I   gan_ltmat22f_unit_i
#define GAN_MAT_UNIT_S   gan_mat22f_unit_s
#define GAN_MAT_UNIT_S   gan_symmat22f_unit_s
#define GAN_MAT_UNIT_S   gan_ltmat22f_unit_s
#define GAN_MAT_ADD_Q   gan_mat22f_add_q
#define GAN_MAT_ADD_Q   gan_symmat22f_add_q
#define GAN_MAT_ADD_Q   gan_ltmat22f_add_q
#define GAN_MAT_ADD_I1   gan_mat22f_add_i1
#define GAN_MAT_ADD_I1   gan_symmat22f_add_i1
#define GAN_MAT_ADD_I1   gan_ltmat22f_add_i1
#define GAN_MAT_ADD_I2   gan_mat22f_add_i2
#define GAN_MAT_ADD_I2   gan_symmat22f_add_i2
#define GAN_MAT_ADD_I2   gan_ltmat22f_add_i2
#define GAN_MAT_INCREMENT   gan_mat22f_increment
#define GAN_MAT_INCREMENT   gan_symmat22f_increment
#define GAN_MAT_INCREMENT   gan_ltmat22f_increment
#define GAN_MAT_ADD_S   gan_mat22f_add_s
#define GAN_MAT_ADD_S   gan_symmat22f_add_s
#define GAN_MAT_ADD_S   gan_ltmat22f_add_s
#define GAN_MAT_SUB_Q   gan_mat22f_sub_q
#define GAN_MAT_SUB_Q   gan_symmat22f_sub_q
#define GAN_MAT_SUB_Q   gan_ltmat22f_sub_q
#define GAN_MAT_SUB_I1   gan_mat22f_sub_i1
#define GAN_MAT_SUB_I1   gan_symmat22f_sub_i1
#define GAN_MAT_SUB_I1   gan_ltmat22f_sub_i1
#define GAN_MAT_SUB_I2   gan_mat22f_sub_i2
#define GAN_MAT_SUB_I2   gan_symmat22f_sub_i2
#define GAN_MAT_SUB_I2   gan_ltmat22f_sub_i2
#define GAN_MAT_DECREMENT   gan_mat22f_decrement
#define GAN_MAT_DECREMENT   gan_symmat22f_decrement
#define GAN_MAT_DECREMENT   gan_ltmat22f_decrement
#define GAN_MAT_SUB_S   gan_mat22f_sub_s
#define GAN_MAT_SUB_S   gan_symmat22f_sub_s
#define GAN_MAT_SUB_S   gan_ltmat22f_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_Q   gan_symmat22f_multv2_q
#define GAN_MAT_MULTV_Q   gan_ltmat22f_multv2_q
#define GAN_MAT_MULTV_S   gan_mat22f_multv2_s
#define GAN_MAT_MULTV_S   gan_symmat22f_multv2_s
#define GAN_MAT_MULTV_S   gan_ltmat22f_multv2_s
#define GAN_MATT_MULTV_Q   gan_mat22Tf_multv2_q
#define GAN_MATT_MULTV_Q   gan_ltmat22Tf_multv2_q
#define GAN_MATT_MULTV_S   gan_mat22Tf_multv2_s
#define GAN_MATT_MULTV_S   gan_ltmat22Tf_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_Q   gan_ltmat22f_slmultT_q
#define GAN_MAT_SLMULTT_S   gan_mat22f_slmultT_s
#define GAN_MAT_SLMULTT_S   gan_ltmat22f_slmultT_s
#define GAN_MAT_SRMULTT_Q   gan_mat22f_srmultT_q
#define GAN_MAT_SRMULTT_Q   gan_ltmat22f_srmultT_q
#define GAN_MAT_SRMULTT_S   gan_mat22f_srmultT_s
#define GAN_MAT_SRMULTT_S   gan_ltmat22f_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_Q   gan_symmat22f_sumsqr_q
#define GAN_MAT_SUMSQR_Q   gan_ltmat22f_sumsqr_q
#define GAN_MAT_SUMSQR_S   gan_mat22f_sumsqr_s
#define GAN_MAT_SUMSQR_S   gan_symmat22f_sumsqr_s
#define GAN_MAT_SUMSQR_S   gan_ltmat22f_sumsqr_s
#define GAN_MAT_FNORM_Q   gan_mat22f_Fnorm_q
#define GAN_MAT_FNORM_Q   gan_symmat22f_Fnorm_q
#define GAN_MAT_FNORM_Q   gan_ltmat22f_Fnorm_q
#define GAN_MAT_FNORM_S   gan_mat22f_Fnorm_s
#define GAN_MAT_FNORM_S   gan_symmat22f_Fnorm_s
#define GAN_MAT_FNORM_S   gan_ltmat22f_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_Q   gan_symmat22f_ident_q
#define GAN_SQUMAT_IDENT_Q   gan_ltmat22f_ident_q
#define GAN_SQUMAT_IDENT_S   gan_mat22f_ident_s
#define GAN_SQUMAT_IDENT_S   gan_symmat22f_ident_s
#define GAN_SQUMAT_IDENT_S   gan_ltmat22f_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   gan_symmat22f_invert
#define GAN_SQUMAT_INVERT   gan_ltmat22f_invert
#define GAN_SQUMAT_INVERT_Q   gan_mat22f_invert_q
#define GAN_SQUMAT_INVERT_Q   gan_symmat22f_invert_q
#define GAN_SQUMAT_INVERT_Q   gan_ltmat22f_invert_q
#define GAN_SQUMAT_INVERT_S   gan_mat22f_invert_s
#define GAN_SQUMAT_INVERT_S   gan_symmat22f_invert_s
#define GAN_SQUMAT_INVERT_S   gan_ltmat22f_invert_s
#define GAN_SQUMAT_INVERT_I   gan_mat22f_invert_i
#define GAN_SQUMAT_INVERT_I   gan_symmat22f_invert_i
#define GAN_SQUMAT_INVERT_I   gan_ltmat22f_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_Q   gan_symmat22f_det_q
#define GAN_SQUMAT_DET_Q   gan_ltmat22f_det_q
#define GAN_SQUMAT_DET_S   gan_mat22f_det_s
#define GAN_SQUMAT_DET_S   gan_symmat22f_det_s
#define GAN_SQUMAT_DET_S   gan_ltmat22f_det_s
#define GAN_SQUMAT_TRACE_Q   gan_mat22f_trace_q
#define GAN_SQUMAT_TRACE_Q   gan_symmat22f_trace_q
#define GAN_SQUMAT_TRACE_Q   gan_ltmat22f_trace_q
#define GAN_SQUMAT_TRACE_S   gan_mat22f_trace_s
#define GAN_SQUMAT_TRACE_S   gan_symmat22f_trace_s
#define GAN_SQUMAT_TRACE_S   gan_ltmat22f_trace_s
#define GAN_FIXED_MATRIX_TYPE   GAN_SYMMETRIC_MATRIX22_F
#define GAN_FIXED_MATRIX_TYPE   GAN_LOWER_TRI_MATRIX22_F
#define GAN_FIXED_MATRIX_TYPE   GAN_LOWER_TRI_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_MATTYPE   Gan_Matrix23
#define GAN_MATRIX_TYPE   Gan_Matrix
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix
#define GAN_VECTOR_TYPE   Gan_Vector
#define GAN_MAT_ELEMENT_TYPE   GAN_DOUBLE
#define GAN_REALTYPE   double
#define GAN_FWRITE_LENDIAN   gan_fwrite_lendian_f64
#define GAN_FREAD_LENDIAN   gan_fread_lendian_f64
#define GAN_VECTYPE1   Gan_Vector2
#define GAN_VECTYPE2   Gan_Vector3
#define GAN_MATTYPEL   Gan_Matrix22
#define GAN_MATTYPER   Gan_Matrix33
#define GAN_SQUMATTYPEL   Gan_SquMatrix22
#define GAN_SQUMATTYPER   Gan_SquMatrix33
#define GAN_MAT_FPRINT   gan_mat23_fprint
#define GAN_MAT_PRINT   gan_mat23_print
#define GAN_MAT_FSCANF   gan_mat23_fscanf
#define GAN_MAT_FWRITE   gan_mat23_fwrite
#define GAN_MAT_FREAD   gan_mat23_fread
#define GAN_MAT_ZERO_Q   gan_mat23_zero_q
#define GAN_MAT_ZERO_S   gan_mat23_zero_s
#define GAN_MAT_COPY_Q   gan_mat23_copy_q
#define GAN_MAT_COPY_S   gan_mat23_copy_s
#define GAN_MAT_SCALE_Q   gan_mat23_scale_q
#define GAN_MAT_SCALE_I   gan_mat23_scale_i
#define GAN_MAT_SCALE_S   gan_mat23_scale_s
#define GAN_MAT_DIVIDE_Q   gan_mat23_divide_q
#define GAN_MAT_DIVIDE_I   gan_mat23_divide_i
#define GAN_MAT_DIVIDE_S   gan_mat23_divide_s
#define GAN_MAT_NEGATE_Q   gan_mat23_negate_q
#define GAN_MAT_NEGATE_I   gan_mat23_negate_i
#define GAN_MAT_NEGATE_S   gan_mat23_negate_s
#define GAN_MAT_UNIT_Q   gan_mat23_unit_q
#define GAN_MAT_UNIT_I   gan_mat23_unit_i
#define GAN_MAT_UNIT_S   gan_mat23_unit_s
#define GAN_MAT_ADD_Q   gan_mat23_add_q
#define GAN_MAT_ADD_I1   gan_mat23_add_i1
#define GAN_MAT_ADD_I2   gan_mat23_add_i2
#define GAN_MAT_INCREMENT   gan_mat23_increment
#define GAN_MAT_ADD_S   gan_mat23_add_s
#define GAN_MAT_SUB_Q   gan_mat23_sub_q
#define GAN_MAT_SUB_I1   gan_mat23_sub_i1
#define GAN_MAT_SUB_I2   gan_mat23_sub_i2
#define GAN_MAT_DECREMENT   gan_mat23_decrement
#define GAN_MAT_SUB_S   gan_mat23_sub_s
#define GAN_VEC_OUTER_Q   gan_vec23_outer_q
#define GAN_VEC_OUTER_S   gan_vec23_outer_s
#define GAN_MAT_MULTV_Q   gan_mat23_multv3_q
#define GAN_MAT_MULTV_S   gan_mat23_multv3_s
#define GAN_MATT_MULTV_Q   gan_mat23T_multv2_q
#define GAN_MATT_MULTV_S   gan_mat23T_multv2_s
#define GAN_MAT_LMULTM_Q   gan_mat23_lmultm22_q
#define GAN_MAT_LMULTM_S   gan_mat23_lmultm22_s
#define GAN_MAT_LMULTMT_Q   gan_mat23_lmultm22T_q
#define GAN_MAT_LMULTMT_S   gan_mat23_lmultm22T_s
#define GAN_MAT_RMULTM_Q   gan_mat23_rmultm33_q
#define GAN_MAT_RMULTM_S   gan_mat23_rmultm33_s
#define GAN_MAT_RMULTMT_Q   gan_mat23_rmultm33T_q
#define GAN_MAT_RMULTMT_S   gan_mat23_rmultm33T_s
#define GAN_MAT_LMULTMT_SYM_Q   gan_mat23_lmultm23T_sym_q
#define GAN_MAT_LMULTMT_SYM_S   gan_mat23_lmultm23T_sym_s
#define GAN_MAT_RMULTMT_SYM_Q   gan_mat23_rmultm23T_sym_q
#define GAN_MAT_RMULTMT_SYM_S   gan_mat23_rmultm23T_sym_s
#define GAN_MAT_SLMULTT_Q   gan_mat23_slmultT_q
#define GAN_MAT_SLMULTT_S   gan_mat23_slmultT_s
#define GAN_MAT_SRMULTT_Q   gan_mat23_srmultT_q
#define GAN_MAT_SRMULTT_S   gan_mat23_srmultT_s
#define GAN_MAT_LMULTS_Q   gan_mat23_lmults22_q
#define GAN_MAT_LMULTS_S   gan_mat23_lmults22_s
#define GAN_MAT_RMULTS_Q   gan_mat23_rmults33_q
#define GAN_MAT_RMULTS_S   gan_mat23_rmults33_s
#define GAN_SYMMATL_LRMULT_Q   gan_symmat22_lrmultm23T_q
#define GAN_SYMMATL_LRMULT_S   gan_symmat22_lrmultm23T_s
#define GAN_SYMMATR_LRMULT_Q   gan_symmat33_lrmultm23_q
#define GAN_SYMMATR_LRMULT_S   gan_symmat33_lrmultm23_s
#define GAN_MAT_LMULTL_Q   gan_mat23_lmultl22_q
#define GAN_MAT_LMULTL_S   gan_mat23_lmultl22_s
#define GAN_MAT_LMULTL_I   gan_mat23_lmultl22_i
#define GAN_MAT_LMULTLI_Q   gan_mat23_lmultl22I_q
#define GAN_MAT_LMULTLI_S   gan_mat23_lmultl22I_s
#define GAN_MAT_LMULTLI_I   gan_mat23_lmultl22I_i
#define GAN_MAT_LMULTLT_Q   gan_mat23_lmultl22T_q
#define GAN_MAT_LMULTLT_S   gan_mat23_lmultl22T_s
#define GAN_MAT_LMULTLT_I   gan_mat23_lmultl22T_i
#define GAN_MAT_LMULTLIT_Q   gan_mat23_lmultl22IT_q
#define GAN_MAT_LMULTLIT_S   gan_mat23_lmultl22IT_s
#define GAN_MAT_LMULTLIT_I   gan_mat23_lmultl22IT_i
#define GAN_MAT_RMULTL_Q   gan_mat23_rmultl33_q
#define GAN_MAT_RMULTL_S   gan_mat23_rmultl33_s
#define GAN_MAT_RMULTL_I   gan_mat23_rmultl33_i
#define GAN_MAT_RMULTLI_Q   gan_mat23_rmultl33I_q
#define GAN_MAT_RMULTLI_S   gan_mat23_rmultl33I_s
#define GAN_MAT_RMULTLI_I   gan_mat23_rmultl33I_i
#define GAN_MAT_RMULTLT_Q   gan_mat23_rmultl33T_q
#define GAN_MAT_RMULTLT_S   gan_mat23_rmultl33T_s
#define GAN_MAT_RMULTLT_I   gan_mat23_rmultl33T_i
#define GAN_MAT_RMULTLIT_Q   gan_mat23_rmultl33IT_q
#define GAN_MAT_RMULTLIT_S   gan_mat23_rmultl33IT_s
#define GAN_MAT_RMULTLIT_I   gan_mat23_rmultl33IT_i
#define GAN_MAT_SUMSQR_Q   gan_mat23_sumsqr_q
#define GAN_MAT_SUMSQR_S   gan_mat23_sumsqr_s
#define GAN_MAT_FNORM_Q   gan_mat23_Fnorm_q
#define GAN_MAT_FNORM_S   gan_mat23_Fnorm_s
#define GAN_MAT_FROM_MAT_Q   gan_mat23_from_mat_q
#define GAN_MAT_FROM_MAT_S   gan_mat23_from_mat_s
#define GAN_MAT23_MULT1D(a, b, c, p1, p2, q1, q2, q3)
#define GAN_MAT23T_MULT1D(a, b, c, p1, p2, p3, q1, q2)
#define GAN_MATTYPE   Gan_Matrix23
#define GAN_MATRIX_TYPE   Gan_Matrix
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix
#define GAN_VECTOR_TYPE   Gan_Vector
#define GAN_MAT_ELEMENT_TYPE   GAN_DOUBLE
#define GAN_REALTYPE   double
#define GAN_FWRITE_LENDIAN   gan_fwrite_lendian_f64
#define GAN_FREAD_LENDIAN   gan_fread_lendian_f64
#define GAN_VECTYPE1   Gan_Vector2
#define GAN_VECTYPE2   Gan_Vector3
#define GAN_MATTYPEL   Gan_Matrix22
#define GAN_MATTYPER   Gan_Matrix33
#define GAN_SQUMATTYPEL   Gan_SquMatrix22
#define GAN_SQUMATTYPER   Gan_SquMatrix33
#define GAN_MAT_FPRINT   gan_mat23_fprint
#define GAN_MAT_PRINT   gan_mat23_print
#define GAN_MAT_FSCANF   gan_mat23_fscanf
#define GAN_MAT_FWRITE   gan_mat23_fwrite
#define GAN_MAT_FREAD   gan_mat23_fread
#define GAN_MAT_ZERO_Q   gan_mat23_zero_q
#define GAN_MAT_ZERO_S   gan_mat23_zero_s
#define GAN_MAT_COPY_Q   gan_mat23_copy_q
#define GAN_MAT_COPY_S   gan_mat23_copy_s
#define GAN_MAT_SCALE_Q   gan_mat23_scale_q
#define GAN_MAT_SCALE_I   gan_mat23_scale_i
#define GAN_MAT_SCALE_S   gan_mat23_scale_s
#define GAN_MAT_DIVIDE_Q   gan_mat23_divide_q
#define GAN_MAT_DIVIDE_I   gan_mat23_divide_i
#define GAN_MAT_DIVIDE_S   gan_mat23_divide_s
#define GAN_MAT_NEGATE_Q   gan_mat23_negate_q
#define GAN_MAT_NEGATE_I   gan_mat23_negate_i
#define GAN_MAT_NEGATE_S   gan_mat23_negate_s
#define GAN_MAT_UNIT_Q   gan_mat23_unit_q
#define GAN_MAT_UNIT_I   gan_mat23_unit_i
#define GAN_MAT_UNIT_S   gan_mat23_unit_s
#define GAN_MAT_ADD_Q   gan_mat23_add_q
#define GAN_MAT_ADD_I1   gan_mat23_add_i1
#define GAN_MAT_ADD_I2   gan_mat23_add_i2
#define GAN_MAT_INCREMENT   gan_mat23_increment
#define GAN_MAT_ADD_S   gan_mat23_add_s
#define GAN_MAT_SUB_Q   gan_mat23_sub_q
#define GAN_MAT_SUB_I1   gan_mat23_sub_i1
#define GAN_MAT_SUB_I2   gan_mat23_sub_i2
#define GAN_MAT_DECREMENT   gan_mat23_decrement
#define GAN_MAT_SUB_S   gan_mat23_sub_s
#define GAN_VEC_OUTER_Q   gan_vec23_outer_q
#define GAN_VEC_OUTER_S   gan_vec23_outer_s
#define GAN_MAT_MULTV_Q   gan_mat23_multv3_q
#define GAN_MAT_MULTV_S   gan_mat23_multv3_s
#define GAN_MATT_MULTV_Q   gan_mat23T_multv2_q
#define GAN_MATT_MULTV_S   gan_mat23T_multv2_s
#define GAN_MAT_LMULTM_Q   gan_mat23_lmultm22_q
#define GAN_MAT_LMULTM_S   gan_mat23_lmultm22_s
#define GAN_MAT_LMULTMT_Q   gan_mat23_lmultm22T_q
#define GAN_MAT_LMULTMT_S   gan_mat23_lmultm22T_s
#define GAN_MAT_RMULTM_Q   gan_mat23_rmultm33_q
#define GAN_MAT_RMULTM_S   gan_mat23_rmultm33_s
#define GAN_MAT_RMULTMT_Q   gan_mat23_rmultm33T_q
#define GAN_MAT_RMULTMT_S   gan_mat23_rmultm33T_s
#define GAN_MAT_LMULTMT_SYM_Q   gan_mat23_lmultm23T_sym_q
#define GAN_MAT_LMULTMT_SYM_S   gan_mat23_lmultm23T_sym_s
#define GAN_MAT_RMULTMT_SYM_Q   gan_mat23_rmultm23T_sym_q
#define GAN_MAT_RMULTMT_SYM_S   gan_mat23_rmultm23T_sym_s
#define GAN_MAT_SLMULTT_Q   gan_mat23_slmultT_q
#define GAN_MAT_SLMULTT_S   gan_mat23_slmultT_s
#define GAN_MAT_SRMULTT_Q   gan_mat23_srmultT_q
#define GAN_MAT_SRMULTT_S   gan_mat23_srmultT_s
#define GAN_MAT_LMULTS_Q   gan_mat23_lmults22_q
#define GAN_MAT_LMULTS_S   gan_mat23_lmults22_s
#define GAN_MAT_RMULTS_Q   gan_mat23_rmults33_q
#define GAN_MAT_RMULTS_S   gan_mat23_rmults33_s
#define GAN_SYMMATL_LRMULT_Q   gan_symmat22_lrmultm23T_q
#define GAN_SYMMATL_LRMULT_S   gan_symmat22_lrmultm23T_s
#define GAN_SYMMATR_LRMULT_Q   gan_symmat33_lrmultm23_q
#define GAN_SYMMATR_LRMULT_S   gan_symmat33_lrmultm23_s
#define GAN_MAT_LMULTL_Q   gan_mat23_lmultl22_q
#define GAN_MAT_LMULTL_S   gan_mat23_lmultl22_s
#define GAN_MAT_LMULTL_I   gan_mat23_lmultl22_i
#define GAN_MAT_LMULTLI_Q   gan_mat23_lmultl22I_q
#define GAN_MAT_LMULTLI_S   gan_mat23_lmultl22I_s
#define GAN_MAT_LMULTLI_I   gan_mat23_lmultl22I_i
#define GAN_MAT_LMULTLT_Q   gan_mat23_lmultl22T_q
#define GAN_MAT_LMULTLT_S   gan_mat23_lmultl22T_s
#define GAN_MAT_LMULTLT_I   gan_mat23_lmultl22T_i
#define GAN_MAT_LMULTLIT_Q   gan_mat23_lmultl22IT_q
#define GAN_MAT_LMULTLIT_S   gan_mat23_lmultl22IT_s
#define GAN_MAT_LMULTLIT_I   gan_mat23_lmultl22IT_i
#define GAN_MAT_RMULTL_Q   gan_mat23_rmultl33_q
#define GAN_MAT_RMULTL_S   gan_mat23_rmultl33_s
#define GAN_MAT_RMULTL_I   gan_mat23_rmultl33_i
#define GAN_MAT_RMULTLI_Q   gan_mat23_rmultl33I_q
#define GAN_MAT_RMULTLI_S   gan_mat23_rmultl33I_s
#define GAN_MAT_RMULTLI_I   gan_mat23_rmultl33I_i
#define GAN_MAT_RMULTLT_Q   gan_mat23_rmultl33T_q
#define GAN_MAT_RMULTLT_S   gan_mat23_rmultl33T_s
#define GAN_MAT_RMULTLT_I   gan_mat23_rmultl33T_i
#define GAN_MAT_RMULTLIT_Q   gan_mat23_rmultl33IT_q
#define GAN_MAT_RMULTLIT_S   gan_mat23_rmultl33IT_s
#define GAN_MAT_RMULTLIT_I   gan_mat23_rmultl33IT_i
#define GAN_MAT_SUMSQR_Q   gan_mat23_sumsqr_q
#define GAN_MAT_SUMSQR_S   gan_mat23_sumsqr_s
#define GAN_MAT_FNORM_Q   gan_mat23_Fnorm_q
#define GAN_MAT_FNORM_S   gan_mat23_Fnorm_s
#define GAN_MAT_FROM_MAT_Q   gan_mat23_from_mat_q
#define GAN_MAT_FROM_MAT_S   gan_mat23_from_mat_s
#define GAN_MATTYPE   Gan_Matrix23_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_FWRITE_LENDIAN   gan_fwrite_lendian_f32
#define GAN_FREAD_LENDIAN   gan_fread_lendian_f32
#define GAN_VECTYPE1   Gan_Vector2_f
#define GAN_VECTYPE2   Gan_Vector3_f
#define GAN_MATTYPEL   Gan_Matrix22_f
#define GAN_MATTYPER   Gan_Matrix33_f
#define GAN_SQUMATTYPEL   Gan_SquMatrix22_f
#define GAN_SQUMATTYPER   Gan_SquMatrix33_f
#define GAN_MAT_FPRINT   gan_mat23f_fprint
#define GAN_MAT_PRINT   gan_mat23f_print
#define GAN_MAT_FSCANF   gan_mat23f_fscanf
#define GAN_MAT_FWRITE   gan_mat23f_fwrite
#define GAN_MAT_FREAD   gan_mat23f_fread
#define GAN_MAT_ZERO_Q   gan_mat23f_zero_q
#define GAN_MAT_ZERO_S   gan_mat23f_zero_s
#define GAN_MAT_COPY_Q   gan_mat23f_copy_q
#define GAN_MAT_COPY_S   gan_mat23f_copy_s
#define GAN_MAT_SCALE_Q   gan_mat23f_scale_q
#define GAN_MAT_SCALE_I   gan_mat23f_scale_i
#define GAN_MAT_SCALE_S   gan_mat23f_scale_s
#define GAN_MAT_DIVIDE_Q   gan_mat23f_divide_q
#define GAN_MAT_DIVIDE_I   gan_mat23f_divide_i
#define GAN_MAT_DIVIDE_S   gan_mat23f_divide_s
#define GAN_MAT_NEGATE_Q   gan_mat23f_negate_q
#define GAN_MAT_NEGATE_I   gan_mat23f_negate_i
#define GAN_MAT_NEGATE_S   gan_mat23f_negate_s
#define GAN_MAT_UNIT_Q   gan_mat23f_unit_q
#define GAN_MAT_UNIT_I   gan_mat23f_unit_i
#define GAN_MAT_UNIT_S   gan_mat23f_unit_s
#define GAN_MAT_ADD_Q   gan_mat23f_add_q
#define GAN_MAT_ADD_I1   gan_mat23f_add_i1
#define GAN_MAT_ADD_I2   gan_mat23f_add_i2
#define GAN_MAT_INCREMENT   gan_mat23f_increment
#define GAN_MAT_ADD_S   gan_mat23f_add_s
#define GAN_MAT_SUB_Q   gan_mat23f_sub_q
#define GAN_MAT_SUB_I1   gan_mat23f_sub_i1
#define GAN_MAT_SUB_I2   gan_mat23f_sub_i2
#define GAN_MAT_DECREMENT   gan_mat23f_decrement
#define GAN_MAT_SUB_S   gan_mat23f_sub_s
#define GAN_VEC_OUTER_Q   gan_vec23f_outer_q
#define GAN_VEC_OUTER_S   gan_vec23f_outer_s
#define GAN_MAT_MULTV_Q   gan_mat23f_multv3_q
#define GAN_MAT_MULTV_S   gan_mat23f_multv3_s
#define GAN_MATT_MULTV_Q   gan_mat23Tf_multv2_q
#define GAN_MATT_MULTV_S   gan_mat23Tf_multv2_s
#define GAN_MAT_LMULTM_Q   gan_mat23f_lmultm22_q
#define GAN_MAT_LMULTM_S   gan_mat23f_lmultm22_s
#define GAN_MAT_LMULTMT_Q   gan_mat23f_lmultm22T_q
#define GAN_MAT_LMULTMT_S   gan_mat23f_lmultm22T_s
#define GAN_MAT_RMULTM_Q   gan_mat23f_rmultm33_q
#define GAN_MAT_RMULTM_S   gan_mat23f_rmultm33_s
#define GAN_MAT_RMULTMT_Q   gan_mat23f_rmultm33T_q
#define GAN_MAT_RMULTMT_S   gan_mat23f_rmultm33T_s
#define GAN_MAT_LMULTMT_SYM_Q   gan_mat23f_lmultm23T_sym_q
#define GAN_MAT_LMULTMT_SYM_S   gan_mat23f_lmultm23T_sym_s
#define GAN_MAT_RMULTMT_SYM_Q   gan_mat23f_rmultm23T_sym_q
#define GAN_MAT_RMULTMT_SYM_S   gan_mat23f_rmultm23T_sym_s
#define GAN_MAT_SLMULTT_Q   gan_mat23f_slmultT_q
#define GAN_MAT_SLMULTT_S   gan_mat23f_slmultT_s
#define GAN_MAT_SRMULTT_Q   gan_mat23f_srmultT_q
#define GAN_MAT_SRMULTT_S   gan_mat23f_srmultT_s
#define GAN_MAT_LMULTS_Q   gan_mat23f_lmults22_q
#define GAN_MAT_LMULTS_S   gan_mat23f_lmults22_s
#define GAN_MAT_RMULTS_Q   gan_mat23f_rmults33_q
#define GAN_MAT_RMULTS_S   gan_mat23f_rmults33_s
#define GAN_SYMMATL_LRMULT_Q   gan_symmat22f_lrmultm23T_q
#define GAN_SYMMATL_LRMULT_S   gan_symmat22f_lrmultm23T_s
#define GAN_SYMMATR_LRMULT_Q   gan_symmat33f_lrmultm23_q
#define GAN_SYMMATR_LRMULT_S   gan_symmat33f_lrmultm23_s
#define GAN_MAT_LMULTL_Q   gan_mat23f_lmultl22_q
#define GAN_MAT_LMULTL_S   gan_mat23f_lmultl22_s
#define GAN_MAT_LMULTL_I   gan_mat23f_lmultl22_i
#define GAN_MAT_LMULTLI_Q   gan_mat23f_lmultl22I_q
#define GAN_MAT_LMULTLI_S   gan_mat23f_lmultl22I_s
#define GAN_MAT_LMULTLI_I   gan_mat23f_lmultl22I_i
#define GAN_MAT_LMULTLT_Q   gan_mat23f_lmultl22T_q
#define GAN_MAT_LMULTLT_S   gan_mat23f_lmultl22T_s
#define GAN_MAT_LMULTLT_I   gan_mat23f_lmultl22T_i
#define GAN_MAT_LMULTLIT_Q   gan_mat23f_lmultl22IT_q
#define GAN_MAT_LMULTLIT_S   gan_mat23f_lmultl22IT_s
#define GAN_MAT_LMULTLIT_I   gan_mat23f_lmultl22IT_i
#define GAN_MAT_RMULTL_Q   gan_mat23f_rmultl33_q
#define GAN_MAT_RMULTL_S   gan_mat23f_rmultl33_s
#define GAN_MAT_RMULTL_I   gan_mat23f_rmultl33_i
#define GAN_MAT_RMULTLI_Q   gan_mat23f_rmultl33I_q
#define GAN_MAT_RMULTLI_S   gan_mat23f_rmultl33I_s
#define GAN_MAT_RMULTLI_I   gan_mat23f_rmultl33I_i
#define GAN_MAT_RMULTLT_Q   gan_mat23f_rmultl33T_q
#define GAN_MAT_RMULTLT_S   gan_mat23f_rmultl33T_s
#define GAN_MAT_RMULTLT_I   gan_mat23f_rmultl33T_i
#define GAN_MAT_RMULTLIT_Q   gan_mat23f_rmultl33IT_q
#define GAN_MAT_RMULTLIT_S   gan_mat23f_rmultl33IT_s
#define GAN_MAT_RMULTLIT_I   gan_mat23f_rmultl33IT_i
#define GAN_MAT_SUMSQR_Q   gan_mat23f_sumsqr_q
#define GAN_MAT_SUMSQR_S   gan_mat23f_sumsqr_s
#define GAN_MAT_FNORM_Q   gan_mat23f_Fnorm_q
#define GAN_MAT_FNORM_S   gan_mat23f_Fnorm_s
#define GAN_MAT_FROM_MAT_Q   gan_mat23f_from_matf_q
#define GAN_MAT_FROM_MAT_S   gan_mat23f_from_matf_s
#define GAN_MAT23F_MULT1D(a, b, c, p1, p2, q1, q2, q3)
#define GAN_MAT23TF_MULT1D(a, b, c, p1, p2, p3, q1, q2)
#define GAN_MATTYPE   Gan_Matrix23_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_FWRITE_LENDIAN   gan_fwrite_lendian_f32
#define GAN_FREAD_LENDIAN   gan_fread_lendian_f32
#define GAN_VECTYPE1   Gan_Vector2_f
#define GAN_VECTYPE2   Gan_Vector3_f
#define GAN_MATTYPEL   Gan_Matrix22_f
#define GAN_MATTYPER   Gan_Matrix33_f
#define GAN_SQUMATTYPEL   Gan_SquMatrix22_f
#define GAN_SQUMATTYPER   Gan_SquMatrix33_f
#define GAN_MAT_FPRINT   gan_mat23f_fprint
#define GAN_MAT_PRINT   gan_mat23f_print
#define GAN_MAT_FSCANF   gan_mat23f_fscanf
#define GAN_MAT_FWRITE   gan_mat23f_fwrite
#define GAN_MAT_FREAD   gan_mat23f_fread
#define GAN_MAT_ZERO_Q   gan_mat23f_zero_q
#define GAN_MAT_ZERO_S   gan_mat23f_zero_s
#define GAN_MAT_COPY_Q   gan_mat23f_copy_q
#define GAN_MAT_COPY_S   gan_mat23f_copy_s
#define GAN_MAT_SCALE_Q   gan_mat23f_scale_q
#define GAN_MAT_SCALE_I   gan_mat23f_scale_i
#define GAN_MAT_SCALE_S   gan_mat23f_scale_s
#define GAN_MAT_DIVIDE_Q   gan_mat23f_divide_q
#define GAN_MAT_DIVIDE_I   gan_mat23f_divide_i
#define GAN_MAT_DIVIDE_S   gan_mat23f_divide_s
#define GAN_MAT_NEGATE_Q   gan_mat23f_negate_q
#define GAN_MAT_NEGATE_I   gan_mat23f_negate_i
#define GAN_MAT_NEGATE_S   gan_mat23f_negate_s
#define GAN_MAT_UNIT_Q   gan_mat23f_unit_q
#define GAN_MAT_UNIT_I   gan_mat23f_unit_i
#define GAN_MAT_UNIT_S   gan_mat23f_unit_s
#define GAN_MAT_ADD_Q   gan_mat23f_add_q
#define GAN_MAT_ADD_I1   gan_mat23f_add_i1
#define GAN_MAT_ADD_I2   gan_mat23f_add_i2
#define GAN_MAT_INCREMENT   gan_mat23f_increment
#define GAN_MAT_ADD_S   gan_mat23f_add_s
#define GAN_MAT_SUB_Q   gan_mat23f_sub_q
#define GAN_MAT_SUB_I1   gan_mat23f_sub_i1
#define GAN_MAT_SUB_I2   gan_mat23f_sub_i2
#define GAN_MAT_DECREMENT   gan_mat23f_decrement
#define GAN_MAT_SUB_S   gan_mat23f_sub_s
#define GAN_VEC_OUTER_Q   gan_vec23f_outer_q
#define GAN_VEC_OUTER_S   gan_vec23f_outer_s
#define GAN_MAT_MULTV_Q   gan_mat23f_multv3_q
#define GAN_MAT_MULTV_S   gan_mat23f_multv3_s
#define GAN_MATT_MULTV_Q   gan_mat23Tf_multv2_q
#define GAN_MATT_MULTV_S   gan_mat23Tf_multv2_s
#define GAN_MAT_LMULTM_Q   gan_mat23f_lmultm22_q
#define GAN_MAT_LMULTM_S   gan_mat23f_lmultm22_s
#define GAN_MAT_LMULTMT_Q   gan_mat23f_lmultm22T_q
#define GAN_MAT_LMULTMT_S   gan_mat23f_lmultm22T_s
#define GAN_MAT_RMULTM_Q   gan_mat23f_rmultm33_q
#define GAN_MAT_RMULTM_S   gan_mat23f_rmultm33_s
#define GAN_MAT_RMULTMT_Q   gan_mat23f_rmultm33T_q
#define GAN_MAT_RMULTMT_S   gan_mat23f_rmultm33T_s
#define GAN_MAT_LMULTMT_SYM_Q   gan_mat23f_lmultm23T_sym_q
#define GAN_MAT_LMULTMT_SYM_S   gan_mat23f_lmultm23T_sym_s
#define GAN_MAT_RMULTMT_SYM_Q   gan_mat23f_rmultm23T_sym_q
#define GAN_MAT_RMULTMT_SYM_S   gan_mat23f_rmultm23T_sym_s
#define GAN_MAT_SLMULTT_Q   gan_mat23f_slmultT_q
#define GAN_MAT_SLMULTT_S   gan_mat23f_slmultT_s
#define GAN_MAT_SRMULTT_Q   gan_mat23f_srmultT_q
#define GAN_MAT_SRMULTT_S   gan_mat23f_srmultT_s
#define GAN_MAT_LMULTS_Q   gan_mat23f_lmults22_q
#define GAN_MAT_LMULTS_S   gan_mat23f_lmults22_s
#define GAN_MAT_RMULTS_Q   gan_mat23f_rmults33_q
#define GAN_MAT_RMULTS_S   gan_mat23f_rmults33_s
#define GAN_SYMMATL_LRMULT_Q   gan_symmat22f_lrmultm23T_q
#define GAN_SYMMATL_LRMULT_S   gan_symmat22f_lrmultm23T_s
#define GAN_SYMMATR_LRMULT_Q   gan_symmat33f_lrmultm23_q
#define GAN_SYMMATR_LRMULT_S   gan_symmat33f_lrmultm23_s
#define GAN_MAT_LMULTL_Q   gan_mat23f_lmultl22_q
#define GAN_MAT_LMULTL_S   gan_mat23f_lmultl22_s
#define GAN_MAT_LMULTL_I   gan_mat23f_lmultl22_i
#define GAN_MAT_LMULTLI_Q   gan_mat23f_lmultl22I_q
#define GAN_MAT_LMULTLI_S   gan_mat23f_lmultl22I_s
#define GAN_MAT_LMULTLI_I   gan_mat23f_lmultl22I_i
#define GAN_MAT_LMULTLT_Q   gan_mat23f_lmultl22T_q
#define GAN_MAT_LMULTLT_S   gan_mat23f_lmultl22T_s
#define GAN_MAT_LMULTLT_I   gan_mat23f_lmultl22T_i
#define GAN_MAT_LMULTLIT_Q   gan_mat23f_lmultl22IT_q
#define GAN_MAT_LMULTLIT_S   gan_mat23f_lmultl22IT_s
#define GAN_MAT_LMULTLIT_I   gan_mat23f_lmultl22IT_i
#define GAN_MAT_RMULTL_Q   gan_mat23f_rmultl33_q
#define GAN_MAT_RMULTL_S   gan_mat23f_rmultl33_s
#define GAN_MAT_RMULTL_I   gan_mat23f_rmultl33_i
#define GAN_MAT_RMULTLI_Q   gan_mat23f_rmultl33I_q
#define GAN_MAT_RMULTLI_S   gan_mat23f_rmultl33I_s
#define GAN_MAT_RMULTLI_I   gan_mat23f_rmultl33I_i
#define GAN_MAT_RMULTLT_Q   gan_mat23f_rmultl33T_q
#define GAN_MAT_RMULTLT_S   gan_mat23f_rmultl33T_s
#define GAN_MAT_RMULTLT_I   gan_mat23f_rmultl33T_i
#define GAN_MAT_RMULTLIT_Q   gan_mat23f_rmultl33IT_q
#define GAN_MAT_RMULTLIT_S   gan_mat23f_rmultl33IT_s
#define GAN_MAT_RMULTLIT_I   gan_mat23f_rmultl33IT_i
#define GAN_MAT_SUMSQR_Q   gan_mat23f_sumsqr_q
#define GAN_MAT_SUMSQR_S   gan_mat23f_sumsqr_s
#define GAN_MAT_FNORM_Q   gan_mat23f_Fnorm_q
#define GAN_MAT_FNORM_S   gan_mat23f_Fnorm_s
#define GAN_MAT_FROM_MAT_Q   gan_mat23f_from_matf_q
#define GAN_MAT_FROM_MAT_S   gan_mat23f_from_matf_s
#define GAN_MATTYPE   Gan_Matrix24
#define GAN_MATRIX_TYPE   Gan_Matrix
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix
#define GAN_VECTOR_TYPE   Gan_Vector
#define GAN_MAT_ELEMENT_TYPE   GAN_DOUBLE
#define GAN_REALTYPE   double
#define GAN_FWRITE_LENDIAN   gan_fwrite_lendian_f64
#define GAN_FREAD_LENDIAN   gan_fread_lendian_f64
#define GAN_VECTYPE1   Gan_Vector2
#define GAN_VECTYPE2   Gan_Vector4
#define GAN_MATTYPEL   Gan_Matrix22
#define GAN_MATTYPER   Gan_Matrix44
#define GAN_SQUMATTYPEL   Gan_SquMatrix22
#define GAN_SQUMATTYPER   Gan_SquMatrix44
#define GAN_MAT_FPRINT   gan_mat24_fprint
#define GAN_MAT_PRINT   gan_mat24_print
#define GAN_MAT_FSCANF   gan_mat24_fscanf
#define GAN_MAT_FWRITE   gan_mat24_fwrite
#define GAN_MAT_FREAD   gan_mat24_fread
#define GAN_MAT_ZERO_Q   gan_mat24_zero_q
#define GAN_MAT_ZERO_S   gan_mat24_zero_s
#define GAN_MAT_COPY_Q   gan_mat24_copy_q
#define GAN_MAT_COPY_S   gan_mat24_copy_s
#define GAN_MAT_SCALE_Q   gan_mat24_scale_q
#define GAN_MAT_SCALE_I   gan_mat24_scale_i
#define GAN_MAT_SCALE_S   gan_mat24_scale_s
#define GAN_MAT_DIVIDE_Q   gan_mat24_divide_q
#define GAN_MAT_DIVIDE_I   gan_mat24_divide_i
#define GAN_MAT_DIVIDE_S   gan_mat24_divide_s
#define GAN_MAT_NEGATE_Q   gan_mat24_negate_q
#define GAN_MAT_NEGATE_I   gan_mat24_negate_i
#define GAN_MAT_NEGATE_S   gan_mat24_negate_s
#define GAN_MAT_UNIT_Q   gan_mat24_unit_q
#define GAN_MAT_UNIT_I   gan_mat24_unit_i
#define GAN_MAT_UNIT_S   gan_mat24_unit_s
#define GAN_MAT_ADD_Q   gan_mat24_add_q
#define GAN_MAT_ADD_I1   gan_mat24_add_i1
#define GAN_MAT_ADD_I2   gan_mat24_add_i2
#define GAN_MAT_INCREMENT   gan_mat24_increment
#define GAN_MAT_ADD_S   gan_mat24_add_s
#define GAN_MAT_SUB_Q   gan_mat24_sub_q
#define GAN_MAT_SUB_I1   gan_mat24_sub_i1
#define GAN_MAT_SUB_I2   gan_mat24_sub_i2
#define GAN_MAT_DECREMENT   gan_mat24_decrement
#define GAN_MAT_SUB_S   gan_mat24_sub_s
#define GAN_VEC_OUTER_Q   gan_vec24_outer_q
#define GAN_VEC_OUTER_S   gan_vec24_outer_s
#define GAN_MAT_MULTV_Q   gan_mat24_multv4_q
#define GAN_MAT_MULTV_S   gan_mat24_multv4_s
#define GAN_MATT_MULTV_Q   gan_mat24T_multv2_q
#define GAN_MATT_MULTV_S   gan_mat24T_multv2_s
#define GAN_MAT_LMULTM_Q   gan_mat24_lmultm22_q
#define GAN_MAT_LMULTM_S   gan_mat24_lmultm22_s
#define GAN_MAT_LMULTMT_Q   gan_mat24_lmultm22T_q
#define GAN_MAT_LMULTMT_S   gan_mat24_lmultm22T_s
#define GAN_MAT_RMULTM_Q   gan_mat24_rmultm44_q
#define GAN_MAT_RMULTM_S   gan_mat24_rmultm44_s
#define GAN_MAT_RMULTMT_Q   gan_mat24_rmultm44T_q
#define GAN_MAT_RMULTMT_S   gan_mat24_rmultm44T_s
#define GAN_MAT_LMULTMT_SYM_Q   gan_mat24_lmultm24T_sym_q
#define GAN_MAT_LMULTMT_SYM_S   gan_mat24_lmultm24T_sym_s
#define GAN_MAT_RMULTMT_SYM_Q   gan_mat24_rmultm24T_sym_q
#define GAN_MAT_RMULTMT_SYM_S   gan_mat24_rmultm24T_sym_s
#define GAN_MAT_SLMULTT_Q   gan_mat24_slmultT_q
#define GAN_MAT_SLMULTT_S   gan_mat24_slmultT_s
#define GAN_MAT_SRMULTT_Q   gan_mat24_srmultT_q
#define GAN_MAT_SRMULTT_S   gan_mat24_srmultT_s
#define GAN_MAT_LMULTS_Q   gan_mat24_lmults22_q
#define GAN_MAT_LMULTS_S   gan_mat24_lmults22_s
#define GAN_MAT_RMULTS_Q   gan_mat24_rmults44_q
#define GAN_MAT_RMULTS_S   gan_mat24_rmults44_s
#define GAN_SYMMATL_LRMULT_Q   gan_symmat22_lrmultm24T_q
#define GAN_SYMMATL_LRMULT_S   gan_symmat22_lrmultm24T_s
#define GAN_SYMMATR_LRMULT_Q   gan_symmat44_lrmultm24_q
#define GAN_SYMMATR_LRMULT_S   gan_symmat44_lrmultm24_s
#define GAN_MAT_LMULTL_Q   gan_mat24_lmultl22_q
#define GAN_MAT_LMULTL_S   gan_mat24_lmultl22_s
#define GAN_MAT_LMULTL_I   gan_mat24_lmultl22_i
#define GAN_MAT_LMULTLI_Q   gan_mat24_lmultl22I_q
#define GAN_MAT_LMULTLI_S   gan_mat24_lmultl22I_s
#define GAN_MAT_LMULTLI_I   gan_mat24_lmultl22I_i
#define GAN_MAT_LMULTLT_Q   gan_mat24_lmultl22T_q
#define GAN_MAT_LMULTLT_S   gan_mat24_lmultl22T_s
#define GAN_MAT_LMULTLT_I   gan_mat24_lmultl22T_i
#define GAN_MAT_LMULTLIT_Q   gan_mat24_lmultl22IT_q
#define GAN_MAT_LMULTLIT_S   gan_mat24_lmultl22IT_s
#define GAN_MAT_LMULTLIT_I   gan_mat24_lmultl22IT_i
#define GAN_MAT_RMULTL_Q   gan_mat24_rmultl44_q
#define GAN_MAT_RMULTL_S   gan_mat24_rmultl44_s
#define GAN_MAT_RMULTL_I   gan_mat24_rmultl44_i
#define GAN_MAT_RMULTLI_Q   gan_mat24_rmultl44I_q
#define GAN_MAT_RMULTLI_S   gan_mat24_rmultl44I_s
#define GAN_MAT_RMULTLI_I   gan_mat24_rmultl44I_i
#define GAN_MAT_RMULTLT_Q   gan_mat24_rmultl44T_q
#define GAN_MAT_RMULTLT_S   gan_mat24_rmultl44T_s
#define GAN_MAT_RMULTLT_I   gan_mat24_rmultl44T_i
#define GAN_MAT_RMULTLIT_Q   gan_mat24_rmultl44IT_q
#define GAN_MAT_RMULTLIT_S   gan_mat24_rmultl44IT_s
#define GAN_MAT_RMULTLIT_I   gan_mat24_rmultl44IT_i
#define GAN_MAT_SUMSQR_Q   gan_mat24_sumsqr_q
#define GAN_MAT_SUMSQR_S   gan_mat24_sumsqr_s
#define GAN_MAT_FNORM_Q   gan_mat24_Fnorm_q
#define GAN_MAT_FNORM_S   gan_mat24_Fnorm_s
#define GAN_MAT_FROM_MAT_Q   gan_mat24_from_mat_q
#define GAN_MAT_FROM_MAT_S   gan_mat24_from_mat_s
#define GAN_MAT24_MULT1D(a, b, c, p1, p2, q1, q2, q3, q4)
#define GAN_MAT24T_MULT1D(a, b, c, p1, p2, p3, p4, q1, q2)
#define GAN_MATTYPE   Gan_Matrix24
#define GAN_MATRIX_TYPE   Gan_Matrix
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix
#define GAN_VECTOR_TYPE   Gan_Vector
#define GAN_MAT_ELEMENT_TYPE   GAN_DOUBLE
#define GAN_REALTYPE   double
#define GAN_FWRITE_LENDIAN   gan_fwrite_lendian_f64
#define GAN_FREAD_LENDIAN   gan_fread_lendian_f64
#define GAN_VECTYPE1   Gan_Vector2
#define GAN_VECTYPE2   Gan_Vector4
#define GAN_MATTYPEL   Gan_Matrix22
#define GAN_MATTYPER   Gan_Matrix44
#define GAN_SQUMATTYPEL   Gan_SquMatrix22
#define GAN_SQUMATTYPER   Gan_SquMatrix44
#define GAN_MAT_FPRINT   gan_mat24_fprint
#define GAN_MAT_PRINT   gan_mat24_print
#define GAN_MAT_FSCANF   gan_mat24_fscanf
#define GAN_MAT_FWRITE   gan_mat24_fwrite
#define GAN_MAT_FREAD   gan_mat24_fread
#define GAN_MAT_ZERO_Q   gan_mat24_zero_q
#define GAN_MAT_ZERO_S   gan_mat24_zero_s
#define GAN_MAT_COPY_Q   gan_mat24_copy_q
#define GAN_MAT_COPY_S   gan_mat24_copy_s
#define GAN_MAT_SCALE_Q   gan_mat24_scale_q
#define GAN_MAT_SCALE_I   gan_mat24_scale_i
#define GAN_MAT_SCALE_S   gan_mat24_scale_s
#define GAN_MAT_DIVIDE_Q   gan_mat24_divide_q
#define GAN_MAT_DIVIDE_I   gan_mat24_divide_i
#define GAN_MAT_DIVIDE_S   gan_mat24_divide_s
#define GAN_MAT_NEGATE_Q   gan_mat24_negate_q
#define GAN_MAT_NEGATE_I   gan_mat24_negate_i
#define GAN_MAT_NEGATE_S   gan_mat24_negate_s
#define GAN_MAT_UNIT_Q   gan_mat24_unit_q
#define GAN_MAT_UNIT_I   gan_mat24_unit_i
#define GAN_MAT_UNIT_S   gan_mat24_unit_s
#define GAN_MAT_ADD_Q   gan_mat24_add_q
#define GAN_MAT_ADD_I1   gan_mat24_add_i1
#define GAN_MAT_ADD_I2   gan_mat24_add_i2
#define GAN_MAT_INCREMENT   gan_mat24_increment
#define GAN_MAT_ADD_S   gan_mat24_add_s
#define GAN_MAT_SUB_Q   gan_mat24_sub_q
#define GAN_MAT_SUB_I1   gan_mat24_sub_i1
#define GAN_MAT_SUB_I2   gan_mat24_sub_i2
#define GAN_MAT_DECREMENT   gan_mat24_decrement
#define GAN_MAT_SUB_S   gan_mat24_sub_s
#define GAN_VEC_OUTER_Q   gan_vec24_outer_q
#define GAN_VEC_OUTER_S   gan_vec24_outer_s
#define GAN_MAT_MULTV_Q   gan_mat24_multv4_q
#define GAN_MAT_MULTV_S   gan_mat24_multv4_s
#define GAN_MATT_MULTV_Q   gan_mat24T_multv2_q
#define GAN_MATT_MULTV_S   gan_mat24T_multv2_s
#define GAN_MAT_LMULTM_Q   gan_mat24_lmultm22_q
#define GAN_MAT_LMULTM_S   gan_mat24_lmultm22_s
#define GAN_MAT_LMULTMT_Q   gan_mat24_lmultm22T_q
#define GAN_MAT_LMULTMT_S   gan_mat24_lmultm22T_s
#define GAN_MAT_RMULTM_Q   gan_mat24_rmultm44_q
#define GAN_MAT_RMULTM_S   gan_mat24_rmultm44_s
#define GAN_MAT_RMULTMT_Q   gan_mat24_rmultm44T_q
#define GAN_MAT_RMULTMT_S   gan_mat24_rmultm44T_s
#define GAN_MAT_LMULTMT_SYM_Q   gan_mat24_lmultm24T_sym_q
#define GAN_MAT_LMULTMT_SYM_S   gan_mat24_lmultm24T_sym_s
#define GAN_MAT_RMULTMT_SYM_Q   gan_mat24_rmultm24T_sym_q
#define GAN_MAT_RMULTMT_SYM_S   gan_mat24_rmultm24T_sym_s
#define GAN_MAT_SLMULTT_Q   gan_mat24_slmultT_q
#define GAN_MAT_SLMULTT_S   gan_mat24_slmultT_s
#define GAN_MAT_SRMULTT_Q   gan_mat24_srmultT_q
#define GAN_MAT_SRMULTT_S   gan_mat24_srmultT_s
#define GAN_MAT_LMULTS_Q   gan_mat24_lmults22_q
#define GAN_MAT_LMULTS_S   gan_mat24_lmults22_s
#define GAN_MAT_RMULTS_Q   gan_mat24_rmults44_q
#define GAN_MAT_RMULTS_S   gan_mat24_rmults44_s
#define GAN_SYMMATL_LRMULT_Q   gan_symmat22_lrmultm24T_q
#define GAN_SYMMATL_LRMULT_S   gan_symmat22_lrmultm24T_s
#define GAN_SYMMATR_LRMULT_Q   gan_symmat44_lrmultm24_q
#define GAN_SYMMATR_LRMULT_S   gan_symmat44_lrmultm24_s
#define GAN_MAT_LMULTL_Q   gan_mat24_lmultl22_q
#define GAN_MAT_LMULTL_S   gan_mat24_lmultl22_s
#define GAN_MAT_LMULTL_I   gan_mat24_lmultl22_i
#define GAN_MAT_LMULTLI_Q   gan_mat24_lmultl22I_q
#define GAN_MAT_LMULTLI_S   gan_mat24_lmultl22I_s
#define GAN_MAT_LMULTLI_I   gan_mat24_lmultl22I_i
#define GAN_MAT_LMULTLT_Q   gan_mat24_lmultl22T_q
#define GAN_MAT_LMULTLT_S   gan_mat24_lmultl22T_s
#define GAN_MAT_LMULTLT_I   gan_mat24_lmultl22T_i
#define GAN_MAT_LMULTLIT_Q   gan_mat24_lmultl22IT_q
#define GAN_MAT_LMULTLIT_S   gan_mat24_lmultl22IT_s
#define GAN_MAT_LMULTLIT_I   gan_mat24_lmultl22IT_i
#define GAN_MAT_RMULTL_Q   gan_mat24_rmultl44_q
#define GAN_MAT_RMULTL_S   gan_mat24_rmultl44_s
#define GAN_MAT_RMULTL_I   gan_mat24_rmultl44_i
#define GAN_MAT_RMULTLI_Q   gan_mat24_rmultl44I_q
#define GAN_MAT_RMULTLI_S   gan_mat24_rmultl44I_s
#define GAN_MAT_RMULTLI_I   gan_mat24_rmultl44I_i
#define GAN_MAT_RMULTLT_Q   gan_mat24_rmultl44T_q
#define GAN_MAT_RMULTLT_S   gan_mat24_rmultl44T_s
#define GAN_MAT_RMULTLT_I   gan_mat24_rmultl44T_i
#define GAN_MAT_RMULTLIT_Q   gan_mat24_rmultl44IT_q
#define GAN_MAT_RMULTLIT_S   gan_mat24_rmultl44IT_s
#define GAN_MAT_RMULTLIT_I   gan_mat24_rmultl44IT_i
#define GAN_MAT_SUMSQR_Q   gan_mat24_sumsqr_q
#define GAN_MAT_SUMSQR_S   gan_mat24_sumsqr_s
#define GAN_MAT_FNORM_Q   gan_mat24_Fnorm_q
#define GAN_MAT_FNORM_S   gan_mat24_Fnorm_s
#define GAN_MAT_FROM_MAT_Q   gan_mat24_from_mat_q
#define GAN_MAT_FROM_MAT_S   gan_mat24_from_mat_s
#define GAN_MATTYPE   Gan_Matrix24_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_FWRITE_LENDIAN   gan_fwrite_lendian_f32
#define GAN_FREAD_LENDIAN   gan_fread_lendian_f32
#define GAN_VECTYPE1   Gan_Vector2_f
#define GAN_VECTYPE2   Gan_Vector4_f
#define GAN_MATTYPEL   Gan_Matrix22_f
#define GAN_MATTYPER   Gan_Matrix44_f
#define GAN_SQUMATTYPEL   Gan_SquMatrix22_f
#define GAN_SQUMATTYPER   Gan_SquMatrix44_f
#define GAN_MAT_FPRINT   gan_mat24f_fprint
#define GAN_MAT_PRINT   gan_mat24f_print
#define GAN_MAT_FSCANF   gan_mat24f_fscanf
#define GAN_MAT_FWRITE   gan_mat24f_fwrite
#define GAN_MAT_FREAD   gan_mat24f_fread
#define GAN_MAT_ZERO_Q   gan_mat24f_zero_q
#define GAN_MAT_ZERO_S   gan_mat24f_zero_s
#define GAN_MAT_COPY_Q   gan_mat24f_copy_q
#define GAN_MAT_COPY_S   gan_mat24f_copy_s
#define GAN_MAT_SCALE_Q   gan_mat24f_scale_q
#define GAN_MAT_SCALE_I   gan_mat24f_scale_i
#define GAN_MAT_SCALE_S   gan_mat24f_scale_s
#define GAN_MAT_DIVIDE_Q   gan_mat24f_divide_q
#define GAN_MAT_DIVIDE_I   gan_mat24f_divide_i
#define GAN_MAT_DIVIDE_S   gan_mat24f_divide_s
#define GAN_MAT_NEGATE_Q   gan_mat24f_negate_q
#define GAN_MAT_NEGATE_I   gan_mat24f_negate_i
#define GAN_MAT_NEGATE_S   gan_mat24f_negate_s
#define GAN_MAT_UNIT_Q   gan_mat24f_unit_q
#define GAN_MAT_UNIT_I   gan_mat24f_unit_i
#define GAN_MAT_UNIT_S   gan_mat24f_unit_s
#define GAN_MAT_ADD_Q   gan_mat24f_add_q
#define GAN_MAT_ADD_I1   gan_mat24f_add_i1
#define GAN_MAT_ADD_I2   gan_mat24f_add_i2
#define GAN_MAT_INCREMENT   gan_mat24f_increment
#define GAN_MAT_ADD_S   gan_mat24f_add_s
#define GAN_MAT_SUB_Q   gan_mat24f_sub_q
#define GAN_MAT_SUB_I1   gan_mat24f_sub_i1
#define GAN_MAT_SUB_I2   gan_mat24f_sub_i2
#define GAN_MAT_DECREMENT   gan_mat24f_decrement
#define GAN_MAT_SUB_S   gan_mat24f_sub_s
#define GAN_VEC_OUTER_Q   gan_vec24f_outer_q
#define GAN_VEC_OUTER_S   gan_vec24f_outer_s
#define GAN_MAT_MULTV_Q   gan_mat24f_multv4_q
#define GAN_MAT_MULTV_S   gan_mat24f_multv4_s
#define GAN_MATT_MULTV_Q   gan_mat24Tf_multv2_q
#define GAN_MATT_MULTV_S   gan_mat24Tf_multv2_s
#define GAN_MAT_LMULTM_Q   gan_mat24f_lmultm22_q
#define GAN_MAT_LMULTM_S   gan_mat24f_lmultm22_s
#define GAN_MAT_LMULTMT_Q   gan_mat24f_lmultm22T_q
#define GAN_MAT_LMULTMT_S   gan_mat24f_lmultm22T_s
#define GAN_MAT_RMULTM_Q   gan_mat24f_rmultm44_q
#define GAN_MAT_RMULTM_S   gan_mat24f_rmultm44_s
#define GAN_MAT_RMULTMT_Q   gan_mat24f_rmultm44T_q
#define GAN_MAT_RMULTMT_S   gan_mat24f_rmultm44T_s
#define GAN_MAT_LMULTMT_SYM_Q   gan_mat24f_lmultm24T_sym_q
#define GAN_MAT_LMULTMT_SYM_S   gan_mat24f_lmultm24T_sym_s
#define GAN_MAT_RMULTMT_SYM_Q   gan_mat24f_rmultm24T_sym_q
#define GAN_MAT_RMULTMT_SYM_S   gan_mat24f_rmultm24T_sym_s
#define GAN_MAT_SLMULTT_Q   gan_mat24f_slmultT_q
#define GAN_MAT_SLMULTT_S   gan_mat24f_slmultT_s
#define GAN_MAT_SRMULTT_Q   gan_mat24f_srmultT_q
#define GAN_MAT_SRMULTT_S   gan_mat24f_srmultT_s
#define GAN_MAT_LMULTS_Q   gan_mat24f_lmults22_q
#define GAN_MAT_LMULTS_S   gan_mat24f_lmults22_s
#define GAN_MAT_RMULTS_Q   gan_mat24f_rmults44_q
#define GAN_MAT_RMULTS_S   gan_mat24f_rmults44_s
#define GAN_SYMMATL_LRMULT_Q   gan_symmat22f_lrmultm24T_q
#define GAN_SYMMATL_LRMULT_S   gan_symmat22f_lrmultm24T_s
#define GAN_SYMMATR_LRMULT_Q   gan_symmat44f_lrmultm24_q
#define GAN_SYMMATR_LRMULT_S   gan_symmat44f_lrmultm24_s
#define GAN_MAT_LMULTL_Q   gan_mat24f_lmultl22_q
#define GAN_MAT_LMULTL_S   gan_mat24f_lmultl22_s
#define GAN_MAT_LMULTL_I   gan_mat24f_lmultl22_i
#define GAN_MAT_LMULTLI_Q   gan_mat24f_lmultl22I_q
#define GAN_MAT_LMULTLI_S   gan_mat24f_lmultl22I_s
#define GAN_MAT_LMULTLI_I   gan_mat24f_lmultl22I_i
#define GAN_MAT_LMULTLT_Q   gan_mat24f_lmultl22T_q
#define GAN_MAT_LMULTLT_S   gan_mat24f_lmultl22T_s
#define GAN_MAT_LMULTLT_I   gan_mat24f_lmultl22T_i
#define GAN_MAT_LMULTLIT_Q   gan_mat24f_lmultl22IT_q
#define GAN_MAT_LMULTLIT_S   gan_mat24f_lmultl22IT_s
#define GAN_MAT_LMULTLIT_I   gan_mat24f_lmultl22IT_i
#define GAN_MAT_RMULTL_Q   gan_mat24f_rmultl44_q
#define GAN_MAT_RMULTL_S   gan_mat24f_rmultl44_s
#define GAN_MAT_RMULTL_I   gan_mat24f_rmultl44_i
#define GAN_MAT_RMULTLI_Q   gan_mat24f_rmultl44I_q
#define GAN_MAT_RMULTLI_S   gan_mat24f_rmultl44I_s
#define GAN_MAT_RMULTLI_I   gan_mat24f_rmultl44I_i
#define GAN_MAT_RMULTLT_Q   gan_mat24f_rmultl44T_q
#define GAN_MAT_RMULTLT_S   gan_mat24f_rmultl44T_s
#define GAN_MAT_RMULTLT_I   gan_mat24f_rmultl44T_i
#define GAN_MAT_RMULTLIT_Q   gan_mat24f_rmultl44IT_q
#define GAN_MAT_RMULTLIT_S   gan_mat24f_rmultl44IT_s
#define GAN_MAT_RMULTLIT_I   gan_mat24f_rmultl44IT_i
#define GAN_MAT_SUMSQR_Q   gan_mat24f_sumsqr_q
#define GAN_MAT_SUMSQR_S   gan_mat24f_sumsqr_s
#define GAN_MAT_FNORM_Q   gan_mat24f_Fnorm_q
#define GAN_MAT_FNORM_S   gan_mat24f_Fnorm_s
#define GAN_MAT_FROM_MAT_Q   gan_mat24f_from_matf_q
#define GAN_MAT_FROM_MAT_S   gan_mat24f_from_matf_s
#define GAN_MAT24F_MULT1D(a, b, c, p1, p2, q1, q2, q3, q4)
#define GAN_MAT24TF_MULT1D(a, b, c, p1, p2, p3, p4, q1, q2)
#define GAN_MATTYPE   Gan_Matrix24_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_FWRITE_LENDIAN   gan_fwrite_lendian_f32
#define GAN_FREAD_LENDIAN   gan_fread_lendian_f32
#define GAN_VECTYPE1   Gan_Vector2_f
#define GAN_VECTYPE2   Gan_Vector4_f
#define GAN_MATTYPEL   Gan_Matrix22_f
#define GAN_MATTYPER   Gan_Matrix44_f
#define GAN_SQUMATTYPEL   Gan_SquMatrix22_f
#define GAN_SQUMATTYPER   Gan_SquMatrix44_f
#define GAN_MAT_FPRINT   gan_mat24f_fprint
#define GAN_MAT_PRINT   gan_mat24f_print
#define GAN_MAT_FSCANF   gan_mat24f_fscanf
#define GAN_MAT_FWRITE   gan_mat24f_fwrite
#define GAN_MAT_FREAD   gan_mat24f_fread
#define GAN_MAT_ZERO_Q   gan_mat24f_zero_q
#define GAN_MAT_ZERO_S   gan_mat24f_zero_s
#define GAN_MAT_COPY_Q   gan_mat24f_copy_q
#define GAN_MAT_COPY_S   gan_mat24f_copy_s
#define GAN_MAT_SCALE_Q   gan_mat24f_scale_q
#define GAN_MAT_SCALE_I   gan_mat24f_scale_i
#define GAN_MAT_SCALE_S   gan_mat24f_scale_s
#define GAN_MAT_DIVIDE_Q   gan_mat24f_divide_q
#define GAN_MAT_DIVIDE_I   gan_mat24f_divide_i
#define GAN_MAT_DIVIDE_S   gan_mat24f_divide_s
#define GAN_MAT_NEGATE_Q   gan_mat24f_negate_q
#define GAN_MAT_NEGATE_I   gan_mat24f_negate_i
#define GAN_MAT_NEGATE_S   gan_mat24f_negate_s
#define GAN_MAT_UNIT_Q   gan_mat24f_unit_q
#define GAN_MAT_UNIT_I   gan_mat24f_unit_i
#define GAN_MAT_UNIT_S   gan_mat24f_unit_s
#define GAN_MAT_ADD_Q   gan_mat24f_add_q
#define GAN_MAT_ADD_I1   gan_mat24f_add_i1
#define GAN_MAT_ADD_I2   gan_mat24f_add_i2
#define GAN_MAT_INCREMENT   gan_mat24f_increment
#define GAN_MAT_ADD_S   gan_mat24f_add_s
#define GAN_MAT_SUB_Q   gan_mat24f_sub_q
#define GAN_MAT_SUB_I1   gan_mat24f_sub_i1
#define GAN_MAT_SUB_I2   gan_mat24f_sub_i2
#define GAN_MAT_DECREMENT   gan_mat24f_decrement
#define GAN_MAT_SUB_S   gan_mat24f_sub_s
#define GAN_VEC_OUTER_Q   gan_vec24f_outer_q
#define GAN_VEC_OUTER_S   gan_vec24f_outer_s
#define GAN_MAT_MULTV_Q   gan_mat24f_multv4_q
#define GAN_MAT_MULTV_S   gan_mat24f_multv4_s
#define GAN_MATT_MULTV_Q   gan_mat24Tf_multv2_q
#define GAN_MATT_MULTV_S   gan_mat24Tf_multv2_s
#define GAN_MAT_LMULTM_Q   gan_mat24f_lmultm22_q
#define GAN_MAT_LMULTM_S   gan_mat24f_lmultm22_s
#define GAN_MAT_LMULTMT_Q   gan_mat24f_lmultm22T_q
#define GAN_MAT_LMULTMT_S   gan_mat24f_lmultm22T_s
#define GAN_MAT_RMULTM_Q   gan_mat24f_rmultm44_q
#define GAN_MAT_RMULTM_S   gan_mat24f_rmultm44_s
#define GAN_MAT_RMULTMT_Q   gan_mat24f_rmultm44T_q
#define GAN_MAT_RMULTMT_S   gan_mat24f_rmultm44T_s
#define GAN_MAT_LMULTMT_SYM_Q   gan_mat24f_lmultm24T_sym_q
#define GAN_MAT_LMULTMT_SYM_S   gan_mat24f_lmultm24T_sym_s
#define GAN_MAT_RMULTMT_SYM_Q   gan_mat24f_rmultm24T_sym_q
#define GAN_MAT_RMULTMT_SYM_S   gan_mat24f_rmultm24T_sym_s
#define GAN_MAT_SLMULTT_Q   gan_mat24f_slmultT_q
#define GAN_MAT_SLMULTT_S   gan_mat24f_slmultT_s
#define GAN_MAT_SRMULTT_Q   gan_mat24f_srmultT_q
#define GAN_MAT_SRMULTT_S   gan_mat24f_srmultT_s
#define GAN_MAT_LMULTS_Q   gan_mat24f_lmults22_q
#define GAN_MAT_LMULTS_S   gan_mat24f_lmults22_s
#define GAN_MAT_RMULTS_Q   gan_mat24f_rmults44_q
#define GAN_MAT_RMULTS_S   gan_mat24f_rmults44_s
#define GAN_SYMMATL_LRMULT_Q   gan_symmat22f_lrmultm24T_q
#define GAN_SYMMATL_LRMULT_S   gan_symmat22f_lrmultm24T_s
#define GAN_SYMMATR_LRMULT_Q   gan_symmat44f_lrmultm24_q
#define GAN_SYMMATR_LRMULT_S   gan_symmat44f_lrmultm24_s
#define GAN_MAT_LMULTL_Q   gan_mat24f_lmultl22_q
#define GAN_MAT_LMULTL_S   gan_mat24f_lmultl22_s
#define GAN_MAT_LMULTL_I   gan_mat24f_lmultl22_i
#define GAN_MAT_LMULTLI_Q   gan_mat24f_lmultl22I_q
#define GAN_MAT_LMULTLI_S   gan_mat24f_lmultl22I_s
#define GAN_MAT_LMULTLI_I   gan_mat24f_lmultl22I_i
#define GAN_MAT_LMULTLT_Q   gan_mat24f_lmultl22T_q
#define GAN_MAT_LMULTLT_S   gan_mat24f_lmultl22T_s
#define GAN_MAT_LMULTLT_I   gan_mat24f_lmultl22T_i
#define GAN_MAT_LMULTLIT_Q   gan_mat24f_lmultl22IT_q
#define GAN_MAT_LMULTLIT_S   gan_mat24f_lmultl22IT_s
#define GAN_MAT_LMULTLIT_I   gan_mat24f_lmultl22IT_i
#define GAN_MAT_RMULTL_Q   gan_mat24f_rmultl44_q
#define GAN_MAT_RMULTL_S   gan_mat24f_rmultl44_s
#define GAN_MAT_RMULTL_I   gan_mat24f_rmultl44_i
#define GAN_MAT_RMULTLI_Q   gan_mat24f_rmultl44I_q
#define GAN_MAT_RMULTLI_S   gan_mat24f_rmultl44I_s
#define GAN_MAT_RMULTLI_I   gan_mat24f_rmultl44I_i
#define GAN_MAT_RMULTLT_Q   gan_mat24f_rmultl44T_q
#define GAN_MAT_RMULTLT_S   gan_mat24f_rmultl44T_s
#define GAN_MAT_RMULTLT_I   gan_mat24f_rmultl44T_i
#define GAN_MAT_RMULTLIT_Q   gan_mat24f_rmultl44IT_q
#define GAN_MAT_RMULTLIT_S   gan_mat24f_rmultl44IT_s
#define GAN_MAT_RMULTLIT_I   gan_mat24f_rmultl44IT_i
#define GAN_MAT_SUMSQR_Q   gan_mat24f_sumsqr_q
#define GAN_MAT_SUMSQR_S   gan_mat24f_sumsqr_s
#define GAN_MAT_FNORM_Q   gan_mat24f_Fnorm_q
#define GAN_MAT_FNORM_S   gan_mat24f_Fnorm_s
#define GAN_MAT_FROM_MAT_Q   gan_mat24f_from_matf_q
#define GAN_MAT_FROM_MAT_S   gan_mat24f_from_matf_s
#define GAN_MATTYPE   Gan_Matrix33
#define GAN_MATTYPE   Gan_SquMatrix33
#define GAN_MATTYPE   Gan_SquMatrix33
#define GAN_MATTYPE   Gan_SquMatrix33
#define GAN_MATRIX_TYPE   Gan_Matrix
#define GAN_MATRIX_TYPE   Gan_SquMatrix
#define GAN_MATRIX_TYPE   Gan_SquMatrix
#define GAN_MATRIX_TYPE   Gan_SquMatrix
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix
#define GAN_VECTOR_TYPE   Gan_Vector
#define GAN_VECTOR_TYPE   Gan_Vector
#define GAN_VECTOR_TYPE   Gan_Vector
#define GAN_VECTOR_TYPE   Gan_Vector
#define GAN_MAT_ELEMENT_TYPE   GAN_DOUBLE
#define GAN_MAT_ELEMENT_TYPE   GAN_DOUBLE
#define GAN_MAT_ELEMENT_TYPE   GAN_DOUBLE
#define GAN_MAT_ELEMENT_TYPE   GAN_DOUBLE
#define GAN_REALTYPE   double
#define GAN_REALTYPE   double
#define GAN_REALTYPE   double
#define GAN_REALTYPE   double
#define GAN_FWRITE_LENDIAN   gan_fwrite_lendian_f64
#define GAN_FWRITE_LENDIAN   gan_fwrite_lendian_f64
#define GAN_FWRITE_LENDIAN   gan_fwrite_lendian_f64
#define GAN_FREAD_LENDIAN   gan_fread_lendian_f64
#define GAN_FREAD_LENDIAN   gan_fread_lendian_f64
#define GAN_FREAD_LENDIAN   gan_fread_lendian_f64
#define GAN_VECTYPE1   Gan_Vector3
#define GAN_VECTYPE1   Gan_Vector3
#define GAN_VECTYPE1   Gan_Vector3
#define GAN_VECTYPE2   Gan_Vector3
#define GAN_VECTYPE2   Gan_Vector3
#define GAN_VECTYPE2   Gan_Vector3
#define GAN_MATTYPEL   Gan_Matrix33
#define GAN_MATTYPER   Gan_Matrix33
#define GAN_SQUMATTYPEL   Gan_SquMatrix33
#define GAN_SQUMATTYPEL   Gan_SquMatrix33
#define GAN_SQUMATTYPER   Gan_SquMatrix33
#define GAN_SQUMATTYPER   Gan_SquMatrix33
#define GAN_MAT_FPRINT   gan_mat33_fprint
#define GAN_MAT_FPRINT   gan_symmat33_fprint
#define GAN_MAT_FPRINT   gan_ltmat33_fprint
#define GAN_MAT_FPRINT   gan_ltmat33T_fprint
#define GAN_MAT_PRINT   gan_mat33_print
#define GAN_MAT_PRINT   gan_symmat33_print
#define GAN_MAT_PRINT   gan_ltmat33_print
#define GAN_MAT_PRINT   gan_ltmat33T_print
#define GAN_MAT_FSCANF   gan_mat33_fscanf
#define GAN_MAT_FSCANF   gan_symmat33_fscanf
#define GAN_MAT_FSCANF   gan_ltmat33_fscanf
#define GAN_MAT_FSCANF   gan_ltmat33T_fscanf
#define GAN_MAT_FWRITE   gan_mat33_fwrite
#define GAN_MAT_FWRITE   gan_symmat33_fwrite
#define GAN_MAT_FWRITE   gan_ltmat33_fwrite
#define GAN_MAT_FREAD   gan_mat33_fread
#define GAN_MAT_FREAD   gan_symmat33_fread
#define GAN_MAT_FREAD   gan_ltmat33_fread
#define GAN_MAT_ZERO_Q   gan_mat33_zero_q
#define GAN_MAT_ZERO_Q   gan_symmat33_zero_q
#define GAN_MAT_ZERO_Q   gan_ltmat33_zero_q
#define GAN_MAT_ZERO_S   gan_mat33_zero_s
#define GAN_MAT_ZERO_S   gan_symmat33_zero_s
#define GAN_MAT_ZERO_S   gan_ltmat33_zero_s
#define GAN_MAT_COPY_Q   gan_mat33_copy_q
#define GAN_MAT_COPY_Q   gan_symmat33_copy_q
#define GAN_MAT_COPY_Q   gan_ltmat33_copy_q
#define GAN_MAT_COPY_S   gan_mat33_copy_s
#define GAN_MAT_COPY_S   gan_symmat33_copy_s
#define GAN_MAT_COPY_S   gan_ltmat33_copy_s
#define GAN_MAT_SCALE_Q   gan_mat33_scale_q
#define GAN_MAT_SCALE_Q   gan_symmat33_scale_q
#define GAN_MAT_SCALE_Q   gan_ltmat33_scale_q
#define GAN_MAT_SCALE_I   gan_mat33_scale_i
#define GAN_MAT_SCALE_I   gan_symmat33_scale_i
#define GAN_MAT_SCALE_I   gan_ltmat33_scale_i
#define GAN_MAT_SCALE_S   gan_mat33_scale_s
#define GAN_MAT_SCALE_S   gan_symmat33_scale_s
#define GAN_MAT_SCALE_S   gan_ltmat33_scale_s
#define GAN_MAT_DIVIDE_Q   gan_mat33_divide_q
#define GAN_MAT_DIVIDE_Q   gan_symmat33_divide_q
#define GAN_MAT_DIVIDE_Q   gan_ltmat33_divide_q
#define GAN_MAT_DIVIDE_I   gan_mat33_divide_i
#define GAN_MAT_DIVIDE_I   gan_symmat33_divide_i
#define GAN_MAT_DIVIDE_I   gan_ltmat33_divide_i
#define GAN_MAT_DIVIDE_S   gan_mat33_divide_s
#define GAN_MAT_DIVIDE_S   gan_symmat33_divide_s
#define GAN_MAT_DIVIDE_S   gan_ltmat33_divide_s
#define GAN_MAT_NEGATE_Q   gan_mat33_negate_q
#define GAN_MAT_NEGATE_Q   gan_symmat33_negate_q
#define GAN_MAT_NEGATE_Q   gan_ltmat33_negate_q
#define GAN_MAT_NEGATE_I   gan_mat33_negate_i
#define GAN_MAT_NEGATE_I   gan_symmat33_negate_i
#define GAN_MAT_NEGATE_I   gan_ltmat33_negate_i
#define GAN_MAT_NEGATE_S   gan_mat33_negate_s
#define GAN_MAT_NEGATE_S   gan_symmat33_negate_s
#define GAN_MAT_NEGATE_S   gan_ltmat33_negate_s
#define GAN_MAT_UNIT_Q   gan_mat33_unit_q
#define GAN_MAT_UNIT_Q   gan_symmat33_unit_q
#define GAN_MAT_UNIT_Q   gan_ltmat33_unit_q
#define GAN_MAT_UNIT_I   gan_mat33_unit_i
#define GAN_MAT_UNIT_I   gan_symmat33_unit_i
#define GAN_MAT_UNIT_I   gan_ltmat33_unit_i
#define GAN_MAT_UNIT_S   gan_mat33_unit_s
#define GAN_MAT_UNIT_S   gan_symmat33_unit_s
#define GAN_MAT_UNIT_S   gan_ltmat33_unit_s
#define GAN_MAT_ADD_Q   gan_mat33_add_q
#define GAN_MAT_ADD_Q   gan_symmat33_add_q
#define GAN_MAT_ADD_Q   gan_ltmat33_add_q
#define GAN_MAT_ADD_I1   gan_mat33_add_i1
#define GAN_MAT_ADD_I1   gan_symmat33_add_i1
#define GAN_MAT_ADD_I1   gan_ltmat33_add_i1
#define GAN_MAT_ADD_I2   gan_mat33_add_i2
#define GAN_MAT_ADD_I2   gan_symmat33_add_i2
#define GAN_MAT_ADD_I2   gan_ltmat33_add_i2
#define GAN_MAT_INCREMENT   gan_mat33_increment
#define GAN_MAT_INCREMENT   gan_symmat33_increment
#define GAN_MAT_INCREMENT   gan_ltmat33_increment
#define GAN_MAT_ADD_S   gan_mat33_add_s
#define GAN_MAT_ADD_S   gan_symmat33_add_s
#define GAN_MAT_ADD_S   gan_ltmat33_add_s
#define GAN_MAT_SUB_Q   gan_mat33_sub_q
#define GAN_MAT_SUB_Q   gan_symmat33_sub_q
#define GAN_MAT_SUB_Q   gan_ltmat33_sub_q
#define GAN_MAT_SUB_I1   gan_mat33_sub_i1
#define GAN_MAT_SUB_I1   gan_symmat33_sub_i1
#define GAN_MAT_SUB_I1   gan_ltmat33_sub_i1
#define GAN_MAT_SUB_I2   gan_mat33_sub_i2
#define GAN_MAT_SUB_I2   gan_symmat33_sub_i2
#define GAN_MAT_SUB_I2   gan_ltmat33_sub_i2
#define GAN_MAT_DECREMENT   gan_mat33_decrement
#define GAN_MAT_DECREMENT   gan_symmat33_decrement
#define GAN_MAT_DECREMENT   gan_ltmat33_decrement
#define GAN_MAT_SUB_S   gan_mat33_sub_s
#define GAN_MAT_SUB_S   gan_symmat33_sub_s
#define GAN_MAT_SUB_S   gan_ltmat33_sub_s
#define GAN_VEC_OUTER_Q   gan_vec33_outer_q
#define GAN_VEC_OUTER_S   gan_vec33_outer_s
#define GAN_MAT_MULTV_Q   gan_mat33_multv3_q
#define GAN_MAT_MULTV_Q   gan_symmat33_multv3_q
#define GAN_MAT_MULTV_Q   gan_ltmat33_multv3_q
#define GAN_MAT_MULTV_S   gan_mat33_multv3_s
#define GAN_MAT_MULTV_S   gan_symmat33_multv3_s
#define GAN_MAT_MULTV_S   gan_ltmat33_multv3_s
#define GAN_MATT_MULTV_Q   gan_mat33T_multv3_q
#define GAN_MATT_MULTV_Q   gan_ltmat33T_multv3_q
#define GAN_MATT_MULTV_S   gan_mat33T_multv3_s
#define GAN_MATT_MULTV_S   gan_ltmat33T_multv3_s
#define GAN_MAT_LMULTMT_Q   gan_mat33_lmultm33T_q
#define GAN_MAT_LMULTMT_S   gan_mat33_lmultm33T_s
#define GAN_MAT_RMULTM_Q   gan_mat33_rmultm33_q
#define GAN_MAT_RMULTM_S   gan_mat33_rmultm33_s
#define GAN_MAT_RMULTMT_Q   gan_mat33_rmultm33T_q
#define GAN_MAT_RMULTMT_S   gan_mat33_rmultm33T_s
#define GAN_MAT_LMULTMT_SYM_Q   gan_mat33_lmultm33T_sym_q
#define GAN_MAT_LMULTMT_SYM_S   gan_mat33_lmultm33T_sym_s
#define GAN_MAT_RMULTMT_SYM_Q   gan_mat33_rmultm33T_sym_q
#define GAN_MAT_RMULTMT_SYM_S   gan_mat33_rmultm33T_sym_s
#define GAN_MAT_SLMULTT_Q   gan_mat33_slmultT_q
#define GAN_MAT_SLMULTT_Q   gan_ltmat33_slmultT_q
#define GAN_MAT_SLMULTT_S   gan_mat33_slmultT_s
#define GAN_MAT_SLMULTT_S   gan_ltmat33_slmultT_s
#define GAN_MAT_SRMULTT_Q   gan_mat33_srmultT_q
#define GAN_MAT_SRMULTT_Q   gan_ltmat33_srmultT_q
#define GAN_MAT_SRMULTT_S   gan_mat33_srmultT_s
#define GAN_MAT_SRMULTT_S   gan_ltmat33_srmultT_s
#define GAN_MAT_LMULTS_Q   gan_mat33_lmults33_q
#define GAN_MAT_LMULTS_S   gan_mat33_lmults33_s
#define GAN_MAT_RMULTS_Q   gan_mat33_rmults33_q
#define GAN_MAT_RMULTS_S   gan_mat33_rmults33_s
#define GAN_SYMMATL_LRMULT_Q   gan_symmat33_lrmultm33T_q
#define GAN_SYMMATL_LRMULT_S   gan_symmat33_lrmultm33T_s
#define GAN_SYMMATR_LRMULT_Q   gan_symmat33_lrmultm33_q
#define GAN_SYMMATR_LRMULT_S   gan_symmat33_lrmultm33_s
#define GAN_MAT_LMULTL_Q   gan_mat33_lmultl33_q
#define GAN_MAT_LMULTL_S   gan_mat33_lmultl33_s
#define GAN_MAT_LMULTL_I   gan_mat33_lmultl33_i
#define GAN_MAT_LMULTLI_Q   gan_mat33_lmultl33I_q
#define GAN_MAT_LMULTLI_S   gan_mat33_lmultl33I_s
#define GAN_MAT_LMULTLI_I   gan_mat33_lmultl33I_i
#define GAN_MAT_LMULTLT_Q   gan_mat33_lmultl33T_q
#define GAN_MAT_LMULTLT_S   gan_mat33_lmultl33T_s
#define GAN_MAT_LMULTLT_I   gan_mat33_lmultl33T_i
#define GAN_MAT_LMULTLIT_Q   gan_mat33_lmultl33IT_q
#define GAN_MAT_LMULTLIT_S   gan_mat33_lmultl33IT_s
#define GAN_MAT_LMULTLIT_I   gan_mat33_lmultl33IT_i
#define GAN_MAT_RMULTL_Q   gan_mat33_rmultl33_q
#define GAN_MAT_RMULTL_S   gan_mat33_rmultl33_s
#define GAN_MAT_RMULTL_I   gan_mat33_rmultl33_i
#define GAN_MAT_RMULTLI_Q   gan_mat33_rmultl33I_q
#define GAN_MAT_RMULTLI_S   gan_mat33_rmultl33I_s
#define GAN_MAT_RMULTLI_I   gan_mat33_rmultl33I_i
#define GAN_MAT_RMULTLT_Q   gan_mat33_rmultl33T_q
#define GAN_MAT_RMULTLT_S   gan_mat33_rmultl33T_s
#define GAN_MAT_RMULTLT_I   gan_mat33_rmultl33T_i
#define GAN_MAT_RMULTLIT_Q   gan_mat33_rmultl33IT_q
#define GAN_MAT_RMULTLIT_S   gan_mat33_rmultl33IT_s
#define GAN_MAT_RMULTLIT_I   gan_mat33_rmultl33IT_i
#define GAN_MAT_SUMSQR_Q   gan_mat33_sumsqr_q
#define GAN_MAT_SUMSQR_Q   gan_symmat33_sumsqr_q
#define GAN_MAT_SUMSQR_Q   gan_ltmat33_sumsqr_q
#define GAN_MAT_SUMSQR_S   gan_mat33_sumsqr_s
#define GAN_MAT_SUMSQR_S   gan_symmat33_sumsqr_s
#define GAN_MAT_SUMSQR_S   gan_ltmat33_sumsqr_s
#define GAN_MAT_FNORM_Q   gan_mat33_Fnorm_q
#define GAN_MAT_FNORM_Q   gan_symmat33_Fnorm_q
#define GAN_MAT_FNORM_Q   gan_ltmat33_Fnorm_q
#define GAN_MAT_FNORM_S   gan_mat33_Fnorm_s
#define GAN_MAT_FNORM_S   gan_symmat33_Fnorm_s
#define GAN_MAT_FNORM_S   gan_ltmat33_Fnorm_s
#define GAN_MAT_FROM_MAT_Q   gan_mat33_from_mat_q
#define GAN_MAT_FROM_MAT_S   gan_mat33_from_mat_s
#define GAN_MAT_FROM_SQUMAT_Q   gan_mat33_from_squmat_q
#define GAN_MAT_FROM_SQUMAT_S   gan_mat33_from_squmat_s
#define GAN_SQUMAT_FROM_SQUMAT_Q   gan_squmat33_from_squmat_q
#define GAN_SQUMAT_FROM_SQUMAT_S   gan_squmat33_from_squmat_s
#define GAN_SQUMAT_IDENT_Q   gan_mat33_ident_q
#define GAN_SQUMAT_IDENT_Q   gan_symmat33_ident_q
#define GAN_SQUMAT_IDENT_Q   gan_ltmat33_ident_q
#define GAN_SQUMAT_IDENT_S   gan_mat33_ident_s
#define GAN_SQUMAT_IDENT_S   gan_symmat33_ident_s
#define GAN_SQUMAT_IDENT_S   gan_ltmat33_ident_s
#define GAN_SQUMAT_TPOSE_Q   gan_mat33_tpose_q
#define GAN_SQUMAT_TPOSE_S   gan_mat33_tpose_s
#define GAN_SQUMAT_TPOSE_I   gan_mat33_tpose_i
#define GAN_MAT_SADDT_Q   gan_mat33_saddT_q
#define GAN_MAT_SADDT_S   gan_mat33_saddT_s
#define GAN_SQUMAT_INVERT   gan_mat33_invert
#define GAN_SQUMAT_INVERT   gan_symmat33_invert
#define GAN_SQUMAT_INVERT   gan_ltmat33_invert
#define GAN_SQUMAT_INVERT_Q   gan_mat33_invert_q
#define GAN_SQUMAT_INVERT_Q   gan_symmat33_invert_q
#define GAN_SQUMAT_INVERT_Q   gan_ltmat33_invert_q
#define GAN_SQUMAT_INVERT_S   gan_mat33_invert_s
#define GAN_SQUMAT_INVERT_S   gan_symmat33_invert_s
#define GAN_SQUMAT_INVERT_S   gan_ltmat33_invert_s
#define GAN_SQUMAT_INVERT_I   gan_mat33_invert_i
#define GAN_SQUMAT_INVERT_I   gan_symmat33_invert_i
#define GAN_SQUMAT_INVERT_I   gan_ltmat33_invert_i
#define GAN_SQUMAT_ADJOINT_Q   gan_mat33_adjoint_q
#define GAN_SQUMAT_ADJOINT_S   gan_mat33_adjoint_s
#define GAN_SQUMAT_ADJOINTT_Q   gan_mat33_adjointT_q
#define GAN_SQUMAT_ADJOINTT_S   gan_mat33_adjointT_s
#define GAN_SQUMAT_DET_Q   gan_mat33_det_q
#define GAN_SQUMAT_DET_Q   gan_symmat33_det_q
#define GAN_SQUMAT_DET_Q   gan_ltmat33_det_q
#define GAN_SQUMAT_DET_S   gan_mat33_det_s
#define GAN_SQUMAT_DET_S   gan_symmat33_det_s
#define GAN_SQUMAT_DET_S   gan_ltmat33_det_s
#define GAN_SQUMAT_TRACE_Q   gan_mat33_trace_q
#define GAN_SQUMAT_TRACE_Q   gan_symmat33_trace_q
#define GAN_SQUMAT_TRACE_Q   gan_ltmat33_trace_q
#define GAN_SQUMAT_TRACE_S   gan_mat33_trace_s
#define GAN_SQUMAT_TRACE_S   gan_symmat33_trace_s
#define GAN_SQUMAT_TRACE_S   gan_ltmat33_trace_s
#define GAN_FIXED_MATRIX_TYPE   GAN_SYMMETRIC_MATRIX33
#define GAN_FIXED_MATRIX_TYPE   GAN_LOWER_TRI_MATRIX33
#define GAN_FIXED_MATRIX_TYPE   GAN_LOWER_TRI_MATRIX33
#define GAN_VEC_OUTER_SYM_Q   gan_vec33_outer_sym_q
#define GAN_VEC_OUTER_SYM_S   gan_vec33_outer_sym_s
#define GAN_SYMMAT_CHOLESKY   gan_symmat33_cholesky
#define GAN_SYMMAT_CHOLESKY_Q   gan_symmat33_cholesky_q
#define GAN_SYMMAT_CHOLESKY_S   gan_symmat33_cholesky_s
#define GAN_SYMMAT_CHOLESKY_I   gan_symmat33_cholesky_i
#define GAN_MAT_MULTV_I   gan_ltmat33_multv3_i
#define GAN_MATT_MULTV_I   gan_ltmat33T_multv3_i
#define GAN_MAT_SRMULTT_I   gan_ltmat33_srmultT_i
#define GAN_MAT_SLMULTT_I   gan_ltmat33_slmultT_i
#define GAN_SQUMATI_MULTV_Q   gan_ltmat33I_multv3_q
#define GAN_SQUMATI_MULTV_S   gan_ltmat33I_multv3_s
#define GAN_SQUMATI_MULTV_I   gan_ltmat33I_multv3_i
#define GAN_SQUMATIT_MULTV_Q   gan_ltmat33IT_multv3_q
#define GAN_SQUMATIT_MULTV_S   gan_ltmat33IT_multv3_s
#define GAN_SQUMATIT_MULTV_I   gan_ltmat33IT_multv3_i
#define gan_ltmat33T_fwrite   gan_ltmat33_fwrite
#define gan_ltmat33T_fread   gan_ltmat33_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_MATTYPE   Gan_Matrix33
#define GAN_MATTYPE   Gan_SquMatrix33
#define GAN_MATTYPE   Gan_SquMatrix33
#define GAN_MATTYPE   Gan_SquMatrix33
#define GAN_MATRIX_TYPE   Gan_Matrix
#define GAN_MATRIX_TYPE   Gan_SquMatrix
#define GAN_MATRIX_TYPE   Gan_SquMatrix
#define GAN_MATRIX_TYPE   Gan_SquMatrix
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix
#define GAN_VECTOR_TYPE   Gan_Vector
#define GAN_VECTOR_TYPE   Gan_Vector
#define GAN_VECTOR_TYPE   Gan_Vector
#define GAN_VECTOR_TYPE   Gan_Vector
#define GAN_MAT_ELEMENT_TYPE   GAN_DOUBLE
#define GAN_MAT_ELEMENT_TYPE   GAN_DOUBLE
#define GAN_MAT_ELEMENT_TYPE   GAN_DOUBLE
#define GAN_MAT_ELEMENT_TYPE   GAN_DOUBLE
#define GAN_REALTYPE   double
#define GAN_REALTYPE   double
#define GAN_REALTYPE   double
#define GAN_REALTYPE   double
#define GAN_FWRITE_LENDIAN   gan_fwrite_lendian_f64
#define GAN_FWRITE_LENDIAN   gan_fwrite_lendian_f64
#define GAN_FWRITE_LENDIAN   gan_fwrite_lendian_f64
#define GAN_FREAD_LENDIAN   gan_fread_lendian_f64
#define GAN_FREAD_LENDIAN   gan_fread_lendian_f64
#define GAN_FREAD_LENDIAN   gan_fread_lendian_f64
#define GAN_VECTYPE1   Gan_Vector3
#define GAN_VECTYPE1   Gan_Vector3
#define GAN_VECTYPE1   Gan_Vector3
#define GAN_VECTYPE2   Gan_Vector3
#define GAN_VECTYPE2   Gan_Vector3
#define GAN_VECTYPE2   Gan_Vector3
#define GAN_MATTYPEL   Gan_Matrix33
#define GAN_MATTYPER   Gan_Matrix33
#define GAN_SQUMATTYPEL   Gan_SquMatrix33
#define GAN_SQUMATTYPEL   Gan_SquMatrix33
#define GAN_SQUMATTYPER   Gan_SquMatrix33
#define GAN_SQUMATTYPER   Gan_SquMatrix33
#define GAN_MAT_FPRINT   gan_mat33_fprint
#define GAN_MAT_FPRINT   gan_symmat33_fprint
#define GAN_MAT_FPRINT   gan_ltmat33_fprint
#define GAN_MAT_FPRINT   gan_ltmat33T_fprint
#define GAN_MAT_PRINT   gan_mat33_print
#define GAN_MAT_PRINT   gan_symmat33_print
#define GAN_MAT_PRINT   gan_ltmat33_print
#define GAN_MAT_PRINT   gan_ltmat33T_print
#define GAN_MAT_FSCANF   gan_mat33_fscanf
#define GAN_MAT_FSCANF   gan_symmat33_fscanf
#define GAN_MAT_FSCANF   gan_ltmat33_fscanf
#define GAN_MAT_FSCANF   gan_ltmat33T_fscanf
#define GAN_MAT_FWRITE   gan_mat33_fwrite
#define GAN_MAT_FWRITE   gan_symmat33_fwrite
#define GAN_MAT_FWRITE   gan_ltmat33_fwrite
#define GAN_MAT_FREAD   gan_mat33_fread
#define GAN_MAT_FREAD   gan_symmat33_fread
#define GAN_MAT_FREAD   gan_ltmat33_fread
#define GAN_MAT_ZERO_Q   gan_mat33_zero_q
#define GAN_MAT_ZERO_Q   gan_symmat33_zero_q
#define GAN_MAT_ZERO_Q   gan_ltmat33_zero_q
#define GAN_MAT_ZERO_S   gan_mat33_zero_s
#define GAN_MAT_ZERO_S   gan_symmat33_zero_s
#define GAN_MAT_ZERO_S   gan_ltmat33_zero_s
#define GAN_MAT_COPY_Q   gan_mat33_copy_q
#define GAN_MAT_COPY_Q   gan_symmat33_copy_q
#define GAN_MAT_COPY_Q   gan_ltmat33_copy_q
#define GAN_MAT_COPY_S   gan_mat33_copy_s
#define GAN_MAT_COPY_S   gan_symmat33_copy_s
#define GAN_MAT_COPY_S   gan_ltmat33_copy_s
#define GAN_MAT_SCALE_Q   gan_mat33_scale_q
#define GAN_MAT_SCALE_Q   gan_symmat33_scale_q
#define GAN_MAT_SCALE_Q   gan_ltmat33_scale_q
#define GAN_MAT_SCALE_I   gan_mat33_scale_i
#define GAN_MAT_SCALE_I   gan_symmat33_scale_i
#define GAN_MAT_SCALE_I   gan_ltmat33_scale_i
#define GAN_MAT_SCALE_S   gan_mat33_scale_s
#define GAN_MAT_SCALE_S   gan_symmat33_scale_s
#define GAN_MAT_SCALE_S   gan_ltmat33_scale_s
#define GAN_MAT_DIVIDE_Q   gan_mat33_divide_q
#define GAN_MAT_DIVIDE_Q   gan_symmat33_divide_q
#define GAN_MAT_DIVIDE_Q   gan_ltmat33_divide_q
#define GAN_MAT_DIVIDE_I   gan_mat33_divide_i
#define GAN_MAT_DIVIDE_I   gan_symmat33_divide_i
#define GAN_MAT_DIVIDE_I   gan_ltmat33_divide_i
#define GAN_MAT_DIVIDE_S   gan_mat33_divide_s
#define GAN_MAT_DIVIDE_S   gan_symmat33_divide_s
#define GAN_MAT_DIVIDE_S   gan_ltmat33_divide_s
#define GAN_MAT_NEGATE_Q   gan_mat33_negate_q
#define GAN_MAT_NEGATE_Q   gan_symmat33_negate_q
#define GAN_MAT_NEGATE_Q   gan_ltmat33_negate_q
#define GAN_MAT_NEGATE_I   gan_mat33_negate_i
#define GAN_MAT_NEGATE_I   gan_symmat33_negate_i
#define GAN_MAT_NEGATE_I   gan_ltmat33_negate_i
#define GAN_MAT_NEGATE_S   gan_mat33_negate_s
#define GAN_MAT_NEGATE_S   gan_symmat33_negate_s
#define GAN_MAT_NEGATE_S   gan_ltmat33_negate_s
#define GAN_MAT_UNIT_Q   gan_mat33_unit_q
#define GAN_MAT_UNIT_Q   gan_symmat33_unit_q
#define GAN_MAT_UNIT_Q   gan_ltmat33_unit_q
#define GAN_MAT_UNIT_I   gan_mat33_unit_i
#define GAN_MAT_UNIT_I   gan_symmat33_unit_i
#define GAN_MAT_UNIT_I   gan_ltmat33_unit_i
#define GAN_MAT_UNIT_S   gan_mat33_unit_s
#define GAN_MAT_UNIT_S   gan_symmat33_unit_s
#define GAN_MAT_UNIT_S   gan_ltmat33_unit_s
#define GAN_MAT_ADD_Q   gan_mat33_add_q
#define GAN_MAT_ADD_Q   gan_symmat33_add_q
#define GAN_MAT_ADD_Q   gan_ltmat33_add_q
#define GAN_MAT_ADD_I1   gan_mat33_add_i1
#define GAN_MAT_ADD_I1   gan_symmat33_add_i1
#define GAN_MAT_ADD_I1   gan_ltmat33_add_i1
#define GAN_MAT_ADD_I2   gan_mat33_add_i2
#define GAN_MAT_ADD_I2   gan_symmat33_add_i2
#define GAN_MAT_ADD_I2   gan_ltmat33_add_i2
#define GAN_MAT_INCREMENT   gan_mat33_increment
#define GAN_MAT_INCREMENT   gan_symmat33_increment
#define GAN_MAT_INCREMENT   gan_ltmat33_increment
#define GAN_MAT_ADD_S   gan_mat33_add_s
#define GAN_MAT_ADD_S   gan_symmat33_add_s
#define GAN_MAT_ADD_S   gan_ltmat33_add_s
#define GAN_MAT_SUB_Q   gan_mat33_sub_q
#define GAN_MAT_SUB_Q   gan_symmat33_sub_q
#define GAN_MAT_SUB_Q   gan_ltmat33_sub_q
#define GAN_MAT_SUB_I1   gan_mat33_sub_i1
#define GAN_MAT_SUB_I1   gan_symmat33_sub_i1
#define GAN_MAT_SUB_I1   gan_ltmat33_sub_i1
#define GAN_MAT_SUB_I2   gan_mat33_sub_i2
#define GAN_MAT_SUB_I2   gan_symmat33_sub_i2
#define GAN_MAT_SUB_I2   gan_ltmat33_sub_i2
#define GAN_MAT_DECREMENT   gan_mat33_decrement
#define GAN_MAT_DECREMENT   gan_symmat33_decrement
#define GAN_MAT_DECREMENT   gan_ltmat33_decrement
#define GAN_MAT_SUB_S   gan_mat33_sub_s
#define GAN_MAT_SUB_S   gan_symmat33_sub_s
#define GAN_MAT_SUB_S   gan_ltmat33_sub_s
#define GAN_VEC_OUTER_Q   gan_vec33_outer_q
#define GAN_VEC_OUTER_S   gan_vec33_outer_s
#define GAN_MAT_MULTV_Q   gan_mat33_multv3_q
#define GAN_MAT_MULTV_Q   gan_symmat33_multv3_q
#define GAN_MAT_MULTV_Q   gan_ltmat33_multv3_q
#define GAN_MAT_MULTV_S   gan_mat33_multv3_s
#define GAN_MAT_MULTV_S   gan_symmat33_multv3_s
#define GAN_MAT_MULTV_S   gan_ltmat33_multv3_s
#define GAN_MATT_MULTV_Q   gan_mat33T_multv3_q
#define GAN_MATT_MULTV_Q   gan_ltmat33T_multv3_q
#define GAN_MATT_MULTV_S   gan_mat33T_multv3_s
#define GAN_MATT_MULTV_S   gan_ltmat33T_multv3_s
#define GAN_MAT_LMULTMT_Q   gan_mat33_lmultm33T_q
#define GAN_MAT_LMULTMT_S   gan_mat33_lmultm33T_s
#define GAN_MAT_RMULTM_Q   gan_mat33_rmultm33_q
#define GAN_MAT_RMULTM_S   gan_mat33_rmultm33_s
#define GAN_MAT_RMULTMT_Q   gan_mat33_rmultm33T_q
#define GAN_MAT_RMULTMT_S   gan_mat33_rmultm33T_s
#define GAN_MAT_LMULTMT_SYM_Q   gan_mat33_lmultm33T_sym_q
#define GAN_MAT_LMULTMT_SYM_S   gan_mat33_lmultm33T_sym_s
#define GAN_MAT_RMULTMT_SYM_Q   gan_mat33_rmultm33T_sym_q
#define GAN_MAT_RMULTMT_SYM_S   gan_mat33_rmultm33T_sym_s
#define GAN_MAT_SLMULTT_Q   gan_mat33_slmultT_q
#define GAN_MAT_SLMULTT_Q   gan_ltmat33_slmultT_q
#define GAN_MAT_SLMULTT_S   gan_mat33_slmultT_s
#define GAN_MAT_SLMULTT_S   gan_ltmat33_slmultT_s
#define GAN_MAT_SRMULTT_Q   gan_mat33_srmultT_q
#define GAN_MAT_SRMULTT_Q   gan_ltmat33_srmultT_q
#define GAN_MAT_SRMULTT_S   gan_mat33_srmultT_s
#define GAN_MAT_SRMULTT_S   gan_ltmat33_srmultT_s
#define GAN_MAT_LMULTS_Q   gan_mat33_lmults33_q
#define GAN_MAT_LMULTS_S   gan_mat33_lmults33_s
#define GAN_MAT_RMULTS_Q   gan_mat33_rmults33_q
#define GAN_MAT_RMULTS_S   gan_mat33_rmults33_s
#define GAN_SYMMATL_LRMULT_Q   gan_symmat33_lrmultm33T_q
#define GAN_SYMMATL_LRMULT_S   gan_symmat33_lrmultm33T_s
#define GAN_SYMMATR_LRMULT_Q   gan_symmat33_lrmultm33_q
#define GAN_SYMMATR_LRMULT_S   gan_symmat33_lrmultm33_s
#define GAN_MAT_LMULTL_Q   gan_mat33_lmultl33_q
#define GAN_MAT_LMULTL_S   gan_mat33_lmultl33_s
#define GAN_MAT_LMULTL_I   gan_mat33_lmultl33_i
#define GAN_MAT_LMULTLI_Q   gan_mat33_lmultl33I_q
#define GAN_MAT_LMULTLI_S   gan_mat33_lmultl33I_s
#define GAN_MAT_LMULTLI_I   gan_mat33_lmultl33I_i
#define GAN_MAT_LMULTLT_Q   gan_mat33_lmultl33T_q
#define GAN_MAT_LMULTLT_S   gan_mat33_lmultl33T_s
#define GAN_MAT_LMULTLT_I   gan_mat33_lmultl33T_i
#define GAN_MAT_LMULTLIT_Q   gan_mat33_lmultl33IT_q
#define GAN_MAT_LMULTLIT_S   gan_mat33_lmultl33IT_s
#define GAN_MAT_LMULTLIT_I   gan_mat33_lmultl33IT_i
#define GAN_MAT_RMULTL_Q   gan_mat33_rmultl33_q
#define GAN_MAT_RMULTL_S   gan_mat33_rmultl33_s
#define GAN_MAT_RMULTL_I   gan_mat33_rmultl33_i
#define GAN_MAT_RMULTLI_Q   gan_mat33_rmultl33I_q
#define GAN_MAT_RMULTLI_S   gan_mat33_rmultl33I_s
#define GAN_MAT_RMULTLI_I   gan_mat33_rmultl33I_i
#define GAN_MAT_RMULTLT_Q   gan_mat33_rmultl33T_q
#define GAN_MAT_RMULTLT_S   gan_mat33_rmultl33T_s
#define GAN_MAT_RMULTLT_I   gan_mat33_rmultl33T_i
#define GAN_MAT_RMULTLIT_Q   gan_mat33_rmultl33IT_q
#define GAN_MAT_RMULTLIT_S   gan_mat33_rmultl33IT_s
#define GAN_MAT_RMULTLIT_I   gan_mat33_rmultl33IT_i
#define GAN_MAT_SUMSQR_Q   gan_mat33_sumsqr_q
#define GAN_MAT_SUMSQR_Q   gan_symmat33_sumsqr_q
#define GAN_MAT_SUMSQR_Q   gan_ltmat33_sumsqr_q
#define GAN_MAT_SUMSQR_S   gan_mat33_sumsqr_s
#define GAN_MAT_SUMSQR_S   gan_symmat33_sumsqr_s
#define GAN_MAT_SUMSQR_S   gan_ltmat33_sumsqr_s
#define GAN_MAT_FNORM_Q   gan_mat33_Fnorm_q
#define GAN_MAT_FNORM_Q   gan_symmat33_Fnorm_q
#define GAN_MAT_FNORM_Q   gan_ltmat33_Fnorm_q
#define GAN_MAT_FNORM_S   gan_mat33_Fnorm_s
#define GAN_MAT_FNORM_S   gan_symmat33_Fnorm_s
#define GAN_MAT_FNORM_S   gan_ltmat33_Fnorm_s
#define GAN_MAT_FROM_MAT_Q   gan_mat33_from_mat_q
#define GAN_MAT_FROM_MAT_S   gan_mat33_from_mat_s
#define GAN_MAT_FROM_SQUMAT_Q   gan_mat33_from_squmat_q
#define GAN_MAT_FROM_SQUMAT_S   gan_mat33_from_squmat_s
#define GAN_SQUMAT_FROM_SQUMAT_Q   gan_squmat33_from_squmat_q
#define GAN_SQUMAT_FROM_SQUMAT_S   gan_squmat33_from_squmat_s
#define GAN_SQUMAT_IDENT_Q   gan_mat33_ident_q
#define GAN_SQUMAT_IDENT_Q   gan_symmat33_ident_q
#define GAN_SQUMAT_IDENT_Q   gan_ltmat33_ident_q
#define GAN_SQUMAT_IDENT_S   gan_mat33_ident_s
#define GAN_SQUMAT_IDENT_S   gan_symmat33_ident_s
#define GAN_SQUMAT_IDENT_S   gan_ltmat33_ident_s
#define GAN_SQUMAT_TPOSE_Q   gan_mat33_tpose_q
#define GAN_SQUMAT_TPOSE_S   gan_mat33_tpose_s
#define GAN_SQUMAT_TPOSE_I   gan_mat33_tpose_i
#define GAN_MAT_SADDT_Q   gan_mat33_saddT_q
#define GAN_MAT_SADDT_S   gan_mat33_saddT_s
#define GAN_SQUMAT_INVERT   gan_mat33_invert
#define GAN_SQUMAT_INVERT   gan_symmat33_invert
#define GAN_SQUMAT_INVERT   gan_ltmat33_invert
#define GAN_SQUMAT_INVERT_Q   gan_mat33_invert_q
#define GAN_SQUMAT_INVERT_Q   gan_symmat33_invert_q
#define GAN_SQUMAT_INVERT_Q   gan_ltmat33_invert_q
#define GAN_SQUMAT_INVERT_S   gan_mat33_invert_s
#define GAN_SQUMAT_INVERT_S   gan_symmat33_invert_s
#define GAN_SQUMAT_INVERT_S   gan_ltmat33_invert_s
#define GAN_SQUMAT_INVERT_I   gan_mat33_invert_i
#define GAN_SQUMAT_INVERT_I   gan_symmat33_invert_i
#define GAN_SQUMAT_INVERT_I   gan_ltmat33_invert_i
#define GAN_SQUMAT_ADJOINT_Q   gan_mat33_adjoint_q
#define GAN_SQUMAT_ADJOINT_S   gan_mat33_adjoint_s
#define GAN_SQUMAT_ADJOINTT_Q   gan_mat33_adjointT_q
#define GAN_SQUMAT_ADJOINTT_S   gan_mat33_adjointT_s
#define GAN_SQUMAT_DET_Q   gan_mat33_det_q
#define GAN_SQUMAT_DET_Q   gan_symmat33_det_q
#define GAN_SQUMAT_DET_Q   gan_ltmat33_det_q
#define GAN_SQUMAT_DET_S   gan_mat33_det_s
#define GAN_SQUMAT_DET_S   gan_symmat33_det_s
#define GAN_SQUMAT_DET_S   gan_ltmat33_det_s
#define GAN_SQUMAT_TRACE_Q   gan_mat33_trace_q
#define GAN_SQUMAT_TRACE_Q   gan_symmat33_trace_q
#define GAN_SQUMAT_TRACE_Q   gan_ltmat33_trace_q
#define GAN_SQUMAT_TRACE_S   gan_mat33_trace_s
#define GAN_SQUMAT_TRACE_S   gan_symmat33_trace_s
#define GAN_SQUMAT_TRACE_S   gan_ltmat33_trace_s
#define GAN_FIXED_MATRIX_TYPE   GAN_SYMMETRIC_MATRIX33
#define GAN_FIXED_MATRIX_TYPE   GAN_LOWER_TRI_MATRIX33
#define GAN_FIXED_MATRIX_TYPE   GAN_LOWER_TRI_MATRIX33
#define GAN_VEC_OUTER_SYM_Q   gan_vec33_outer_sym_q
#define GAN_VEC_OUTER_SYM_S   gan_vec33_outer_sym_s
#define GAN_SYMMAT_CHOLESKY   gan_symmat33_cholesky
#define GAN_SYMMAT_CHOLESKY_Q   gan_symmat33_cholesky_q
#define GAN_SYMMAT_CHOLESKY_S   gan_symmat33_cholesky_s
#define GAN_SYMMAT_CHOLESKY_I   gan_symmat33_cholesky_i
#define GAN_MAT_MULTV_I   gan_ltmat33_multv3_i
#define GAN_MATT_MULTV_I   gan_ltmat33T_multv3_i
#define GAN_MAT_SRMULTT_I   gan_ltmat33_srmultT_i
#define GAN_MAT_SLMULTT_I   gan_ltmat33_slmultT_i
#define GAN_SQUMATI_MULTV_Q   gan_ltmat33I_multv3_q
#define GAN_SQUMATI_MULTV_S   gan_ltmat33I_multv3_s
#define GAN_SQUMATI_MULTV_I   gan_ltmat33I_multv3_i
#define GAN_SQUMATIT_MULTV_Q   gan_ltmat33IT_multv3_q
#define GAN_SQUMATIT_MULTV_S   gan_ltmat33IT_multv3_s
#define GAN_SQUMATIT_MULTV_I   gan_ltmat33IT_multv3_i
#define gan_ltmat33T_fwrite   gan_ltmat33_fwrite
#define gan_ltmat33T_fread   gan_ltmat33_fread
#define GAN_MATTYPE   Gan_Matrix33_f
#define GAN_MATTYPE   Gan_SquMatrix33_f
#define GAN_MATTYPE   Gan_SquMatrix33_f
#define GAN_MATTYPE   Gan_SquMatrix33_f
#define GAN_MATRIX_TYPE   Gan_Matrix_f
#define GAN_MATRIX_TYPE   Gan_SquMatrix_f
#define GAN_MATRIX_TYPE   Gan_SquMatrix_f
#define GAN_MATRIX_TYPE   Gan_SquMatrix_f
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix_f
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix_f
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix_f
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix_f
#define GAN_VECTOR_TYPE   Gan_Vector_f
#define GAN_VECTOR_TYPE   Gan_Vector_f
#define GAN_VECTOR_TYPE   Gan_Vector_f
#define GAN_VECTOR_TYPE   Gan_Vector_f
#define GAN_MAT_ELEMENT_TYPE   GAN_FLOAT
#define GAN_MAT_ELEMENT_TYPE   GAN_FLOAT
#define GAN_MAT_ELEMENT_TYPE   GAN_FLOAT
#define GAN_MAT_ELEMENT_TYPE   GAN_FLOAT
#define GAN_REALTYPE   float
#define GAN_REALTYPE   float
#define GAN_REALTYPE   float
#define GAN_REALTYPE   float
#define GAN_FWRITE_LENDIAN   gan_fwrite_lendian_f32
#define GAN_FWRITE_LENDIAN   gan_fwrite_lendian_f32
#define GAN_FWRITE_LENDIAN   gan_fwrite_lendian_f32
#define GAN_FREAD_LENDIAN   gan_fread_lendian_f32
#define GAN_FREAD_LENDIAN   gan_fread_lendian_f32
#define GAN_FREAD_LENDIAN   gan_fread_lendian_f32
#define GAN_VECTYPE1   Gan_Vector3_f
#define GAN_VECTYPE1   Gan_Vector3_f
#define GAN_VECTYPE1   Gan_Vector3_f
#define GAN_VECTYPE2   Gan_Vector3_f
#define GAN_VECTYPE2   Gan_Vector3_f
#define GAN_VECTYPE2   Gan_Vector3_f
#define GAN_MATTYPEL   Gan_Matrix33_f
#define GAN_MATTYPER   Gan_Matrix33_f
#define GAN_SQUMATTYPEL   Gan_SquMatrix33_f
#define GAN_SQUMATTYPEL   Gan_SquMatrix33_f
#define GAN_SQUMATTYPER   Gan_SquMatrix33_f
#define GAN_SQUMATTYPER   Gan_SquMatrix33_f
#define GAN_MAT_FPRINT   gan_mat33f_fprint
#define GAN_MAT_FPRINT   gan_symmat33f_fprint
#define GAN_MAT_FPRINT   gan_ltmat33f_fprint
#define GAN_MAT_FPRINT   gan_ltmat33Tf_fprint
#define GAN_MAT_PRINT   gan_mat33f_print
#define GAN_MAT_PRINT   gan_symmat33f_print
#define GAN_MAT_PRINT   gan_ltmat33f_print
#define GAN_MAT_PRINT   gan_ltmat33Tf_print
#define GAN_MAT_FSCANF   gan_mat33f_fscanf
#define GAN_MAT_FSCANF   gan_symmat33f_fscanf
#define GAN_MAT_FSCANF   gan_ltmat33f_fscanf
#define GAN_MAT_FSCANF   gan_ltmat33Tf_fscanf
#define GAN_MAT_FWRITE   gan_mat33f_fwrite
#define GAN_MAT_FWRITE   gan_symmat33f_fwrite
#define GAN_MAT_FWRITE   gan_ltmat33f_fwrite
#define GAN_MAT_FREAD   gan_mat33f_fread
#define GAN_MAT_FREAD   gan_symmat33f_fread
#define GAN_MAT_FREAD   gan_ltmat33f_fread
#define GAN_MAT_ZERO_Q   gan_mat33f_zero_q
#define GAN_MAT_ZERO_Q   gan_symmat33f_zero_q
#define GAN_MAT_ZERO_Q   gan_ltmat33f_zero_q
#define GAN_MAT_ZERO_S   gan_mat33f_zero_s
#define GAN_MAT_ZERO_S   gan_symmat33f_zero_s
#define GAN_MAT_ZERO_S   gan_ltmat33f_zero_s
#define GAN_MAT_COPY_Q   gan_mat33f_copy_q
#define GAN_MAT_COPY_Q   gan_symmat33f_copy_q
#define GAN_MAT_COPY_Q   gan_ltmat33f_copy_q
#define GAN_MAT_COPY_S   gan_mat33f_copy_s
#define GAN_MAT_COPY_S   gan_symmat33f_copy_s
#define GAN_MAT_COPY_S   gan_ltmat33f_copy_s
#define GAN_MAT_SCALE_Q   gan_mat33f_scale_q
#define GAN_MAT_SCALE_Q   gan_symmat33f_scale_q
#define GAN_MAT_SCALE_Q   gan_ltmat33f_scale_q
#define GAN_MAT_SCALE_I   gan_mat33f_scale_i
#define GAN_MAT_SCALE_I   gan_symmat33f_scale_i
#define GAN_MAT_SCALE_I   gan_ltmat33f_scale_i
#define GAN_MAT_SCALE_S   gan_mat33f_scale_s
#define GAN_MAT_SCALE_S   gan_symmat33f_scale_s
#define GAN_MAT_SCALE_S   gan_ltmat33f_scale_s
#define GAN_MAT_DIVIDE_Q   gan_mat33f_divide_q
#define GAN_MAT_DIVIDE_Q   gan_symmat33f_divide_q
#define GAN_MAT_DIVIDE_Q   gan_ltmat33f_divide_q
#define GAN_MAT_DIVIDE_I   gan_mat33f_divide_i
#define GAN_MAT_DIVIDE_I   gan_symmat33f_divide_i
#define GAN_MAT_DIVIDE_I   gan_ltmat33f_divide_i
#define GAN_MAT_DIVIDE_S   gan_mat33f_divide_s
#define GAN_MAT_DIVIDE_S   gan_symmat33f_divide_s
#define GAN_MAT_DIVIDE_S   gan_ltmat33f_divide_s
#define GAN_MAT_NEGATE_Q   gan_mat33f_negate_q
#define GAN_MAT_NEGATE_Q   gan_symmat33f_negate_q
#define GAN_MAT_NEGATE_Q   gan_ltmat33f_negate_q
#define GAN_MAT_NEGATE_I   gan_mat33f_negate_i
#define GAN_MAT_NEGATE_I   gan_symmat33f_negate_i
#define GAN_MAT_NEGATE_I   gan_ltmat33f_negate_i
#define GAN_MAT_NEGATE_S   gan_mat33f_negate_s
#define GAN_MAT_NEGATE_S   gan_symmat33f_negate_s
#define GAN_MAT_NEGATE_S   gan_ltmat33f_negate_s
#define GAN_MAT_UNIT_Q   gan_mat33f_unit_q
#define GAN_MAT_UNIT_Q   gan_symmat33f_unit_q
#define GAN_MAT_UNIT_Q   gan_ltmat33f_unit_q
#define GAN_MAT_UNIT_I   gan_mat33f_unit_i
#define GAN_MAT_UNIT_I   gan_symmat33f_unit_i
#define GAN_MAT_UNIT_I   gan_ltmat33f_unit_i
#define GAN_MAT_UNIT_S   gan_mat33f_unit_s
#define GAN_MAT_UNIT_S   gan_symmat33f_unit_s
#define GAN_MAT_UNIT_S   gan_ltmat33f_unit_s
#define GAN_MAT_ADD_Q   gan_mat33f_add_q
#define GAN_MAT_ADD_Q   gan_symmat33f_add_q
#define GAN_MAT_ADD_Q   gan_ltmat33f_add_q
#define GAN_MAT_ADD_I1   gan_mat33f_add_i1
#define GAN_MAT_ADD_I1   gan_symmat33f_add_i1
#define GAN_MAT_ADD_I1   gan_ltmat33f_add_i1
#define GAN_MAT_ADD_I2   gan_mat33f_add_i2
#define GAN_MAT_ADD_I2   gan_symmat33f_add_i2
#define GAN_MAT_ADD_I2   gan_ltmat33f_add_i2
#define GAN_MAT_INCREMENT   gan_mat33f_increment
#define GAN_MAT_INCREMENT   gan_symmat33f_increment
#define GAN_MAT_INCREMENT   gan_ltmat33f_increment
#define GAN_MAT_ADD_S   gan_mat33f_add_s
#define GAN_MAT_ADD_S   gan_symmat33f_add_s
#define GAN_MAT_ADD_S   gan_ltmat33f_add_s
#define GAN_MAT_SUB_Q   gan_mat33f_sub_q
#define GAN_MAT_SUB_Q   gan_symmat33f_sub_q
#define GAN_MAT_SUB_Q   gan_ltmat33f_sub_q
#define GAN_MAT_SUB_I1   gan_mat33f_sub_i1
#define GAN_MAT_SUB_I1   gan_symmat33f_sub_i1
#define GAN_MAT_SUB_I1   gan_ltmat33f_sub_i1
#define GAN_MAT_SUB_I2   gan_mat33f_sub_i2
#define GAN_MAT_SUB_I2   gan_symmat33f_sub_i2
#define GAN_MAT_SUB_I2   gan_ltmat33f_sub_i2
#define GAN_MAT_DECREMENT   gan_mat33f_decrement
#define GAN_MAT_DECREMENT   gan_symmat33f_decrement
#define GAN_MAT_DECREMENT   gan_ltmat33f_decrement
#define GAN_MAT_SUB_S   gan_mat33f_sub_s
#define GAN_MAT_SUB_S   gan_symmat33f_sub_s
#define GAN_MAT_SUB_S   gan_ltmat33f_sub_s
#define GAN_VEC_OUTER_Q   gan_vec33f_outer_q
#define GAN_VEC_OUTER_S   gan_vec33f_outer_s
#define GAN_MAT_MULTV_Q   gan_mat33f_multv3_q
#define GAN_MAT_MULTV_Q   gan_symmat33f_multv3_q
#define GAN_MAT_MULTV_Q   gan_ltmat33f_multv3_q
#define GAN_MAT_MULTV_S   gan_mat33f_multv3_s
#define GAN_MAT_MULTV_S   gan_symmat33f_multv3_s
#define GAN_MAT_MULTV_S   gan_ltmat33f_multv3_s
#define GAN_MATT_MULTV_Q   gan_mat33Tf_multv3_q
#define GAN_MATT_MULTV_Q   gan_ltmat33Tf_multv3_q
#define GAN_MATT_MULTV_S   gan_mat33Tf_multv3_s
#define GAN_MATT_MULTV_S   gan_ltmat33Tf_multv3_s
#define GAN_MAT_LMULTMT_Q   gan_mat33f_lmultm33T_q
#define GAN_MAT_LMULTMT_S   gan_mat33f_lmultm33T_s
#define GAN_MAT_RMULTM_Q   gan_mat33f_rmultm33_q
#define GAN_MAT_RMULTM_S   gan_mat33f_rmultm33_s
#define GAN_MAT_RMULTMT_Q   gan_mat33f_rmultm33T_q
#define GAN_MAT_RMULTMT_S   gan_mat33f_rmultm33T_s
#define GAN_MAT_LMULTMT_SYM_Q   gan_mat33f_lmultm33T_sym_q
#define GAN_MAT_LMULTMT_SYM_S   gan_mat33f_lmultm33T_sym_s
#define GAN_MAT_RMULTMT_SYM_Q   gan_mat33f_rmultm33T_sym_q
#define GAN_MAT_RMULTMT_SYM_S   gan_mat33f_rmultm33T_sym_s
#define GAN_MAT_SLMULTT_Q   gan_mat33f_slmultT_q
#define GAN_MAT_SLMULTT_Q   gan_ltmat33f_slmultT_q
#define GAN_MAT_SLMULTT_S   gan_mat33f_slmultT_s
#define GAN_MAT_SLMULTT_S   gan_ltmat33f_slmultT_s
#define GAN_MAT_SRMULTT_Q   gan_mat33f_srmultT_q
#define GAN_MAT_SRMULTT_Q   gan_ltmat33f_srmultT_q
#define GAN_MAT_SRMULTT_S   gan_mat33f_srmultT_s
#define GAN_MAT_SRMULTT_S   gan_ltmat33f_srmultT_s
#define GAN_MAT_LMULTS_Q   gan_mat33f_lmults33_q
#define GAN_MAT_LMULTS_S   gan_mat33f_lmults33_s
#define GAN_MAT_RMULTS_Q   gan_mat33f_rmults33_q
#define GAN_MAT_RMULTS_S   gan_mat33f_rmults33_s
#define GAN_SYMMATL_LRMULT_Q   gan_symmat33f_lrmultm33T_q
#define GAN_SYMMATL_LRMULT_S   gan_symmat33f_lrmultm33T_s
#define GAN_SYMMATR_LRMULT_Q   gan_symmat33f_lrmultm33_q
#define GAN_SYMMATR_LRMULT_S   gan_symmat33f_lrmultm33_s
#define GAN_MAT_LMULTL_Q   gan_mat33f_lmultl33_q
#define GAN_MAT_LMULTL_S   gan_mat33f_lmultl33_s
#define GAN_MAT_LMULTL_I   gan_mat33f_lmultl33_i
#define GAN_MAT_LMULTLI_Q   gan_mat33f_lmultl33I_q
#define GAN_MAT_LMULTLI_S   gan_mat33f_lmultl33I_s
#define GAN_MAT_LMULTLI_I   gan_mat33f_lmultl33I_i
#define GAN_MAT_LMULTLT_Q   gan_mat33f_lmultl33T_q
#define GAN_MAT_LMULTLT_S   gan_mat33f_lmultl33T_s
#define GAN_MAT_LMULTLT_I   gan_mat33f_lmultl33T_i
#define GAN_MAT_LMULTLIT_Q   gan_mat33f_lmultl33IT_q
#define GAN_MAT_LMULTLIT_S   gan_mat33f_lmultl33IT_s
#define GAN_MAT_LMULTLIT_I   gan_mat33f_lmultl33IT_i
#define GAN_MAT_RMULTL_Q   gan_mat33f_rmultl33_q
#define GAN_MAT_RMULTL_S   gan_mat33f_rmultl33_s
#define GAN_MAT_RMULTL_I   gan_mat33f_rmultl33_i
#define GAN_MAT_RMULTLI_Q   gan_mat33f_rmultl33I_q
#define GAN_MAT_RMULTLI_S   gan_mat33f_rmultl33I_s
#define GAN_MAT_RMULTLI_I   gan_mat33f_rmultl33I_i
#define GAN_MAT_RMULTLT_Q   gan_mat33f_rmultl33T_q
#define GAN_MAT_RMULTLT_S   gan_mat33f_rmultl33T_s
#define GAN_MAT_RMULTLT_I   gan_mat33f_rmultl33T_i
#define GAN_MAT_RMULTLIT_Q   gan_mat33f_rmultl33IT_q
#define GAN_MAT_RMULTLIT_S   gan_mat33f_rmultl33IT_s
#define GAN_MAT_RMULTLIT_I   gan_mat33f_rmultl33IT_i
#define GAN_MAT_SUMSQR_Q   gan_mat33f_sumsqr_q
#define GAN_MAT_SUMSQR_Q   gan_symmat33f_sumsqr_q
#define GAN_MAT_SUMSQR_Q   gan_ltmat33f_sumsqr_q
#define GAN_MAT_SUMSQR_S   gan_mat33f_sumsqr_s
#define GAN_MAT_SUMSQR_S   gan_symmat33f_sumsqr_s
#define GAN_MAT_SUMSQR_S   gan_ltmat33f_sumsqr_s
#define GAN_MAT_FNORM_Q   gan_mat33f_Fnorm_q
#define GAN_MAT_FNORM_Q   gan_symmat33f_Fnorm_q
#define GAN_MAT_FNORM_Q   gan_ltmat33f_Fnorm_q
#define GAN_MAT_FNORM_S   gan_mat33f_Fnorm_s
#define GAN_MAT_FNORM_S   gan_symmat33f_Fnorm_s
#define GAN_MAT_FNORM_S   gan_ltmat33f_Fnorm_s
#define GAN_MAT_FROM_MAT_Q   gan_mat33f_from_matf_q
#define GAN_MAT_FROM_MAT_S   gan_mat33f_from_matf_s
#define GAN_MAT_FROM_SQUMAT_Q   gan_mat33f_from_squmatf_q
#define GAN_MAT_FROM_SQUMAT_S   gan_mat33f_from_squmatf_s
#define GAN_SQUMAT_FROM_SQUMAT_Q   gan_squmat33f_from_squmatf_q
#define GAN_SQUMAT_FROM_SQUMAT_S   gan_squmat33f_from_squmatf_s
#define GAN_SQUMAT_IDENT_Q   gan_mat33f_ident_q
#define GAN_SQUMAT_IDENT_Q   gan_symmat33f_ident_q
#define GAN_SQUMAT_IDENT_Q   gan_ltmat33f_ident_q
#define GAN_SQUMAT_IDENT_S   gan_mat33f_ident_s
#define GAN_SQUMAT_IDENT_S   gan_symmat33f_ident_s
#define GAN_SQUMAT_IDENT_S   gan_ltmat33f_ident_s
#define GAN_SQUMAT_TPOSE_Q   gan_mat33f_tpose_q
#define GAN_SQUMAT_TPOSE_S   gan_mat33f_tpose_s
#define GAN_SQUMAT_TPOSE_I   gan_mat33f_tpose_i
#define GAN_MAT_SADDT_Q   gan_mat33f_saddT_q
#define GAN_MAT_SADDT_S   gan_mat33f_saddT_s
#define GAN_SQUMAT_INVERT   gan_mat33f_invert
#define GAN_SQUMAT_INVERT   gan_symmat33f_invert
#define GAN_SQUMAT_INVERT   gan_ltmat33f_invert
#define GAN_SQUMAT_INVERT_Q   gan_mat33f_invert_q
#define GAN_SQUMAT_INVERT_Q   gan_symmat33f_invert_q
#define GAN_SQUMAT_INVERT_Q   gan_ltmat33f_invert_q
#define GAN_SQUMAT_INVERT_S   gan_mat33f_invert_s
#define GAN_SQUMAT_INVERT_S   gan_symmat33f_invert_s
#define GAN_SQUMAT_INVERT_S   gan_ltmat33f_invert_s
#define GAN_SQUMAT_INVERT_I   gan_mat33f_invert_i
#define GAN_SQUMAT_INVERT_I   gan_symmat33f_invert_i
#define GAN_SQUMAT_INVERT_I   gan_ltmat33f_invert_i
#define GAN_SQUMAT_ADJOINT_Q   gan_mat33f_adjoint_q
#define GAN_SQUMAT_ADJOINT_S   gan_mat33f_adjoint_s
#define GAN_SQUMAT_ADJOINTT_Q   gan_mat33f_adjointT_q
#define GAN_SQUMAT_ADJOINTT_S   gan_mat33f_adjointT_s
#define GAN_SQUMAT_DET_Q   gan_mat33f_det_q
#define GAN_SQUMAT_DET_Q   gan_symmat33f_det_q
#define GAN_SQUMAT_DET_Q   gan_ltmat33f_det_q
#define GAN_SQUMAT_DET_S   gan_mat33f_det_s
#define GAN_SQUMAT_DET_S   gan_symmat33f_det_s
#define GAN_SQUMAT_DET_S   gan_ltmat33f_det_s
#define GAN_SQUMAT_TRACE_Q   gan_mat33f_trace_q
#define GAN_SQUMAT_TRACE_Q   gan_symmat33f_trace_q
#define GAN_SQUMAT_TRACE_Q   gan_ltmat33f_trace_q
#define GAN_SQUMAT_TRACE_S   gan_mat33f_trace_s
#define GAN_SQUMAT_TRACE_S   gan_symmat33f_trace_s
#define GAN_SQUMAT_TRACE_S   gan_ltmat33f_trace_s
#define GAN_FIXED_MATRIX_TYPE   GAN_SYMMETRIC_MATRIX33_F
#define GAN_FIXED_MATRIX_TYPE   GAN_LOWER_TRI_MATRIX33_F
#define GAN_FIXED_MATRIX_TYPE   GAN_LOWER_TRI_MATRIX33_F
#define GAN_VEC_OUTER_SYM_Q   gan_vec33f_outer_sym_q
#define GAN_VEC_OUTER_SYM_S   gan_vec33f_outer_sym_s
#define GAN_SYMMAT_CHOLESKY   gan_symmat33f_cholesky
#define GAN_SYMMAT_CHOLESKY_Q   gan_symmat33f_cholesky_q
#define GAN_SYMMAT_CHOLESKY_S   gan_symmat33f_cholesky_s
#define GAN_SYMMAT_CHOLESKY_I   gan_symmat33f_cholesky_i
#define GAN_MAT_MULTV_I   gan_ltmat33f_multv3_i
#define GAN_MATT_MULTV_I   gan_ltmat33Tf_multv3_i
#define GAN_MAT_SRMULTT_I   gan_ltmat33f_srmultT_i
#define GAN_MAT_SLMULTT_I   gan_ltmat33f_slmultT_i
#define GAN_SQUMATI_MULTV_Q   gan_ltmat33If_multv3_q
#define GAN_SQUMATI_MULTV_S   gan_ltmat33If_multv3_s
#define GAN_SQUMATI_MULTV_I   gan_ltmat33If_multv3_i
#define GAN_SQUMATIT_MULTV_Q   gan_ltmat33ITf_multv3_q
#define GAN_SQUMATIT_MULTV_S   gan_ltmat33ITf_multv3_s
#define GAN_SQUMATIT_MULTV_I   gan_ltmat33ITf_multv3_i
#define gan_ltmat33Tf_fwrite   gan_ltmat33f_fwrite
#define gan_ltmat33Tf_fread   gan_ltmat33f_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_MATTYPE   Gan_Matrix33_f
#define GAN_MATTYPE   Gan_SquMatrix33_f
#define GAN_MATTYPE   Gan_SquMatrix33_f
#define GAN_MATTYPE   Gan_SquMatrix33_f
#define GAN_MATRIX_TYPE   Gan_Matrix_f
#define GAN_MATRIX_TYPE   Gan_SquMatrix_f
#define GAN_MATRIX_TYPE   Gan_SquMatrix_f
#define GAN_MATRIX_TYPE   Gan_SquMatrix_f
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix_f
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix_f
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix_f
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix_f
#define GAN_VECTOR_TYPE   Gan_Vector_f
#define GAN_VECTOR_TYPE   Gan_Vector_f
#define GAN_VECTOR_TYPE   Gan_Vector_f
#define GAN_VECTOR_TYPE   Gan_Vector_f
#define GAN_MAT_ELEMENT_TYPE   GAN_FLOAT
#define GAN_MAT_ELEMENT_TYPE   GAN_FLOAT
#define GAN_MAT_ELEMENT_TYPE   GAN_FLOAT
#define GAN_MAT_ELEMENT_TYPE   GAN_FLOAT
#define GAN_REALTYPE   float
#define GAN_REALTYPE   float
#define GAN_REALTYPE   float
#define GAN_REALTYPE   float
#define GAN_FWRITE_LENDIAN   gan_fwrite_lendian_f32
#define GAN_FWRITE_LENDIAN   gan_fwrite_lendian_f32
#define GAN_FWRITE_LENDIAN   gan_fwrite_lendian_f32
#define GAN_FREAD_LENDIAN   gan_fread_lendian_f32
#define GAN_FREAD_LENDIAN   gan_fread_lendian_f32
#define GAN_FREAD_LENDIAN   gan_fread_lendian_f32
#define GAN_VECTYPE1   Gan_Vector3_f
#define GAN_VECTYPE1   Gan_Vector3_f
#define GAN_VECTYPE1   Gan_Vector3_f
#define GAN_VECTYPE2   Gan_Vector3_f
#define GAN_VECTYPE2   Gan_Vector3_f
#define GAN_VECTYPE2   Gan_Vector3_f
#define GAN_MATTYPEL   Gan_Matrix33_f
#define GAN_MATTYPER   Gan_Matrix33_f
#define GAN_SQUMATTYPEL   Gan_SquMatrix33_f
#define GAN_SQUMATTYPEL   Gan_SquMatrix33_f
#define GAN_SQUMATTYPER   Gan_SquMatrix33_f
#define GAN_SQUMATTYPER   Gan_SquMatrix33_f
#define GAN_MAT_FPRINT   gan_mat33f_fprint
#define GAN_MAT_FPRINT   gan_symmat33f_fprint
#define GAN_MAT_FPRINT   gan_ltmat33f_fprint
#define GAN_MAT_FPRINT   gan_ltmat33Tf_fprint
#define GAN_MAT_PRINT   gan_mat33f_print
#define GAN_MAT_PRINT   gan_symmat33f_print
#define GAN_MAT_PRINT   gan_ltmat33f_print
#define GAN_MAT_PRINT   gan_ltmat33Tf_print
#define GAN_MAT_FSCANF   gan_mat33f_fscanf
#define GAN_MAT_FSCANF   gan_symmat33f_fscanf
#define GAN_MAT_FSCANF   gan_ltmat33f_fscanf
#define GAN_MAT_FSCANF   gan_ltmat33Tf_fscanf
#define GAN_MAT_FWRITE   gan_mat33f_fwrite
#define GAN_MAT_FWRITE   gan_symmat33f_fwrite
#define GAN_MAT_FWRITE   gan_ltmat33f_fwrite
#define GAN_MAT_FREAD   gan_mat33f_fread
#define GAN_MAT_FREAD   gan_symmat33f_fread
#define GAN_MAT_FREAD   gan_ltmat33f_fread
#define GAN_MAT_ZERO_Q   gan_mat33f_zero_q
#define GAN_MAT_ZERO_Q   gan_symmat33f_zero_q
#define GAN_MAT_ZERO_Q   gan_ltmat33f_zero_q
#define GAN_MAT_ZERO_S   gan_mat33f_zero_s
#define GAN_MAT_ZERO_S   gan_symmat33f_zero_s
#define GAN_MAT_ZERO_S   gan_ltmat33f_zero_s
#define GAN_MAT_COPY_Q   gan_mat33f_copy_q
#define GAN_MAT_COPY_Q   gan_symmat33f_copy_q
#define GAN_MAT_COPY_Q   gan_ltmat33f_copy_q
#define GAN_MAT_COPY_S   gan_mat33f_copy_s
#define GAN_MAT_COPY_S   gan_symmat33f_copy_s
#define GAN_MAT_COPY_S   gan_ltmat33f_copy_s
#define GAN_MAT_SCALE_Q   gan_mat33f_scale_q
#define GAN_MAT_SCALE_Q   gan_symmat33f_scale_q
#define GAN_MAT_SCALE_Q   gan_ltmat33f_scale_q
#define GAN_MAT_SCALE_I   gan_mat33f_scale_i
#define GAN_MAT_SCALE_I   gan_symmat33f_scale_i
#define GAN_MAT_SCALE_I   gan_ltmat33f_scale_i
#define GAN_MAT_SCALE_S   gan_mat33f_scale_s
#define GAN_MAT_SCALE_S   gan_symmat33f_scale_s
#define GAN_MAT_SCALE_S   gan_ltmat33f_scale_s
#define GAN_MAT_DIVIDE_Q   gan_mat33f_divide_q
#define GAN_MAT_DIVIDE_Q   gan_symmat33f_divide_q
#define GAN_MAT_DIVIDE_Q   gan_ltmat33f_divide_q
#define GAN_MAT_DIVIDE_I   gan_mat33f_divide_i
#define GAN_MAT_DIVIDE_I   gan_symmat33f_divide_i
#define GAN_MAT_DIVIDE_I   gan_ltmat33f_divide_i
#define GAN_MAT_DIVIDE_S   gan_mat33f_divide_s
#define GAN_MAT_DIVIDE_S   gan_symmat33f_divide_s
#define GAN_MAT_DIVIDE_S   gan_ltmat33f_divide_s
#define GAN_MAT_NEGATE_Q   gan_mat33f_negate_q
#define GAN_MAT_NEGATE_Q   gan_symmat33f_negate_q
#define GAN_MAT_NEGATE_Q   gan_ltmat33f_negate_q
#define GAN_MAT_NEGATE_I   gan_mat33f_negate_i
#define GAN_MAT_NEGATE_I   gan_symmat33f_negate_i
#define GAN_MAT_NEGATE_I   gan_ltmat33f_negate_i
#define GAN_MAT_NEGATE_S   gan_mat33f_negate_s
#define GAN_MAT_NEGATE_S   gan_symmat33f_negate_s
#define GAN_MAT_NEGATE_S   gan_ltmat33f_negate_s
#define GAN_MAT_UNIT_Q   gan_mat33f_unit_q
#define GAN_MAT_UNIT_Q   gan_symmat33f_unit_q
#define GAN_MAT_UNIT_Q   gan_ltmat33f_unit_q
#define GAN_MAT_UNIT_I   gan_mat33f_unit_i
#define GAN_MAT_UNIT_I   gan_symmat33f_unit_i
#define GAN_MAT_UNIT_I   gan_ltmat33f_unit_i
#define GAN_MAT_UNIT_S   gan_mat33f_unit_s
#define GAN_MAT_UNIT_S   gan_symmat33f_unit_s
#define GAN_MAT_UNIT_S   gan_ltmat33f_unit_s
#define GAN_MAT_ADD_Q   gan_mat33f_add_q
#define GAN_MAT_ADD_Q   gan_symmat33f_add_q
#define GAN_MAT_ADD_Q   gan_ltmat33f_add_q
#define GAN_MAT_ADD_I1   gan_mat33f_add_i1
#define GAN_MAT_ADD_I1   gan_symmat33f_add_i1
#define GAN_MAT_ADD_I1   gan_ltmat33f_add_i1
#define GAN_MAT_ADD_I2   gan_mat33f_add_i2
#define GAN_MAT_ADD_I2   gan_symmat33f_add_i2
#define GAN_MAT_ADD_I2   gan_ltmat33f_add_i2
#define GAN_MAT_INCREMENT   gan_mat33f_increment
#define GAN_MAT_INCREMENT   gan_symmat33f_increment
#define GAN_MAT_INCREMENT   gan_ltmat33f_increment
#define GAN_MAT_ADD_S   gan_mat33f_add_s
#define GAN_MAT_ADD_S   gan_symmat33f_add_s
#define GAN_MAT_ADD_S   gan_ltmat33f_add_s
#define GAN_MAT_SUB_Q   gan_mat33f_sub_q
#define GAN_MAT_SUB_Q   gan_symmat33f_sub_q
#define GAN_MAT_SUB_Q   gan_ltmat33f_sub_q
#define GAN_MAT_SUB_I1   gan_mat33f_sub_i1
#define GAN_MAT_SUB_I1   gan_symmat33f_sub_i1
#define GAN_MAT_SUB_I1   gan_ltmat33f_sub_i1
#define GAN_MAT_SUB_I2   gan_mat33f_sub_i2
#define GAN_MAT_SUB_I2   gan_symmat33f_sub_i2
#define GAN_MAT_SUB_I2   gan_ltmat33f_sub_i2
#define GAN_MAT_DECREMENT   gan_mat33f_decrement
#define GAN_MAT_DECREMENT   gan_symmat33f_decrement
#define GAN_MAT_DECREMENT   gan_ltmat33f_decrement
#define GAN_MAT_SUB_S   gan_mat33f_sub_s
#define GAN_MAT_SUB_S   gan_symmat33f_sub_s
#define GAN_MAT_SUB_S   gan_ltmat33f_sub_s
#define GAN_VEC_OUTER_Q   gan_vec33f_outer_q
#define GAN_VEC_OUTER_S   gan_vec33f_outer_s
#define GAN_MAT_MULTV_Q   gan_mat33f_multv3_q
#define GAN_MAT_MULTV_Q   gan_symmat33f_multv3_q
#define GAN_MAT_MULTV_Q   gan_ltmat33f_multv3_q
#define GAN_MAT_MULTV_S   gan_mat33f_multv3_s
#define GAN_MAT_MULTV_S   gan_symmat33f_multv3_s
#define GAN_MAT_MULTV_S   gan_ltmat33f_multv3_s
#define GAN_MATT_MULTV_Q   gan_mat33Tf_multv3_q
#define GAN_MATT_MULTV_Q   gan_ltmat33Tf_multv3_q
#define GAN_MATT_MULTV_S   gan_mat33Tf_multv3_s
#define GAN_MATT_MULTV_S   gan_ltmat33Tf_multv3_s
#define GAN_MAT_LMULTMT_Q   gan_mat33f_lmultm33T_q
#define GAN_MAT_LMULTMT_S   gan_mat33f_lmultm33T_s
#define GAN_MAT_RMULTM_Q   gan_mat33f_rmultm33_q
#define GAN_MAT_RMULTM_S   gan_mat33f_rmultm33_s
#define GAN_MAT_RMULTMT_Q   gan_mat33f_rmultm33T_q
#define GAN_MAT_RMULTMT_S   gan_mat33f_rmultm33T_s
#define GAN_MAT_LMULTMT_SYM_Q   gan_mat33f_lmultm33T_sym_q
#define GAN_MAT_LMULTMT_SYM_S   gan_mat33f_lmultm33T_sym_s
#define GAN_MAT_RMULTMT_SYM_Q   gan_mat33f_rmultm33T_sym_q
#define GAN_MAT_RMULTMT_SYM_S   gan_mat33f_rmultm33T_sym_s
#define GAN_MAT_SLMULTT_Q   gan_mat33f_slmultT_q
#define GAN_MAT_SLMULTT_Q   gan_ltmat33f_slmultT_q
#define GAN_MAT_SLMULTT_S   gan_mat33f_slmultT_s
#define GAN_MAT_SLMULTT_S   gan_ltmat33f_slmultT_s
#define GAN_MAT_SRMULTT_Q   gan_mat33f_srmultT_q
#define GAN_MAT_SRMULTT_Q   gan_ltmat33f_srmultT_q
#define GAN_MAT_SRMULTT_S   gan_mat33f_srmultT_s
#define GAN_MAT_SRMULTT_S   gan_ltmat33f_srmultT_s
#define GAN_MAT_LMULTS_Q   gan_mat33f_lmults33_q
#define GAN_MAT_LMULTS_S   gan_mat33f_lmults33_s
#define GAN_MAT_RMULTS_Q   gan_mat33f_rmults33_q
#define GAN_MAT_RMULTS_S   gan_mat33f_rmults33_s
#define GAN_SYMMATL_LRMULT_Q   gan_symmat33f_lrmultm33T_q
#define GAN_SYMMATL_LRMULT_S   gan_symmat33f_lrmultm33T_s
#define GAN_SYMMATR_LRMULT_Q   gan_symmat33f_lrmultm33_q
#define GAN_SYMMATR_LRMULT_S   gan_symmat33f_lrmultm33_s
#define GAN_MAT_LMULTL_Q   gan_mat33f_lmultl33_q
#define GAN_MAT_LMULTL_S   gan_mat33f_lmultl33_s
#define GAN_MAT_LMULTL_I   gan_mat33f_lmultl33_i
#define GAN_MAT_LMULTLI_Q   gan_mat33f_lmultl33I_q
#define GAN_MAT_LMULTLI_S   gan_mat33f_lmultl33I_s
#define GAN_MAT_LMULTLI_I   gan_mat33f_lmultl33I_i
#define GAN_MAT_LMULTLT_Q   gan_mat33f_lmultl33T_q
#define GAN_MAT_LMULTLT_S   gan_mat33f_lmultl33T_s
#define GAN_MAT_LMULTLT_I   gan_mat33f_lmultl33T_i
#define GAN_MAT_LMULTLIT_Q   gan_mat33f_lmultl33IT_q
#define GAN_MAT_LMULTLIT_S   gan_mat33f_lmultl33IT_s
#define GAN_MAT_LMULTLIT_I   gan_mat33f_lmultl33IT_i
#define GAN_MAT_RMULTL_Q   gan_mat33f_rmultl33_q
#define GAN_MAT_RMULTL_S   gan_mat33f_rmultl33_s
#define GAN_MAT_RMULTL_I   gan_mat33f_rmultl33_i
#define GAN_MAT_RMULTLI_Q   gan_mat33f_rmultl33I_q
#define GAN_MAT_RMULTLI_S   gan_mat33f_rmultl33I_s
#define GAN_MAT_RMULTLI_I   gan_mat33f_rmultl33I_i
#define GAN_MAT_RMULTLT_Q   gan_mat33f_rmultl33T_q
#define GAN_MAT_RMULTLT_S   gan_mat33f_rmultl33T_s
#define GAN_MAT_RMULTLT_I   gan_mat33f_rmultl33T_i
#define GAN_MAT_RMULTLIT_Q   gan_mat33f_rmultl33IT_q
#define GAN_MAT_RMULTLIT_S   gan_mat33f_rmultl33IT_s
#define GAN_MAT_RMULTLIT_I   gan_mat33f_rmultl33IT_i
#define GAN_MAT_SUMSQR_Q   gan_mat33f_sumsqr_q
#define GAN_MAT_SUMSQR_Q   gan_symmat33f_sumsqr_q
#define GAN_MAT_SUMSQR_Q   gan_ltmat33f_sumsqr_q
#define GAN_MAT_SUMSQR_S   gan_mat33f_sumsqr_s
#define GAN_MAT_SUMSQR_S   gan_symmat33f_sumsqr_s
#define GAN_MAT_SUMSQR_S   gan_ltmat33f_sumsqr_s
#define GAN_MAT_FNORM_Q   gan_mat33f_Fnorm_q
#define GAN_MAT_FNORM_Q   gan_symmat33f_Fnorm_q
#define GAN_MAT_FNORM_Q   gan_ltmat33f_Fnorm_q
#define GAN_MAT_FNORM_S   gan_mat33f_Fnorm_s
#define GAN_MAT_FNORM_S   gan_symmat33f_Fnorm_s
#define GAN_MAT_FNORM_S   gan_ltmat33f_Fnorm_s
#define GAN_MAT_FROM_MAT_Q   gan_mat33f_from_matf_q
#define GAN_MAT_FROM_MAT_S   gan_mat33f_from_matf_s
#define GAN_MAT_FROM_SQUMAT_Q   gan_mat33f_from_squmatf_q
#define GAN_MAT_FROM_SQUMAT_S   gan_mat33f_from_squmatf_s
#define GAN_SQUMAT_FROM_SQUMAT_Q   gan_squmat33f_from_squmatf_q
#define GAN_SQUMAT_FROM_SQUMAT_S   gan_squmat33f_from_squmatf_s
#define GAN_SQUMAT_IDENT_Q   gan_mat33f_ident_q
#define GAN_SQUMAT_IDENT_Q   gan_symmat33f_ident_q
#define GAN_SQUMAT_IDENT_Q   gan_ltmat33f_ident_q
#define GAN_SQUMAT_IDENT_S   gan_mat33f_ident_s
#define GAN_SQUMAT_IDENT_S   gan_symmat33f_ident_s
#define GAN_SQUMAT_IDENT_S   gan_ltmat33f_ident_s
#define GAN_SQUMAT_TPOSE_Q   gan_mat33f_tpose_q
#define GAN_SQUMAT_TPOSE_S   gan_mat33f_tpose_s
#define GAN_SQUMAT_TPOSE_I   gan_mat33f_tpose_i
#define GAN_MAT_SADDT_Q   gan_mat33f_saddT_q
#define GAN_MAT_SADDT_S   gan_mat33f_saddT_s
#define GAN_SQUMAT_INVERT   gan_mat33f_invert
#define GAN_SQUMAT_INVERT   gan_symmat33f_invert
#define GAN_SQUMAT_INVERT   gan_ltmat33f_invert
#define GAN_SQUMAT_INVERT_Q   gan_mat33f_invert_q
#define GAN_SQUMAT_INVERT_Q   gan_symmat33f_invert_q
#define GAN_SQUMAT_INVERT_Q   gan_ltmat33f_invert_q
#define GAN_SQUMAT_INVERT_S   gan_mat33f_invert_s
#define GAN_SQUMAT_INVERT_S   gan_symmat33f_invert_s
#define GAN_SQUMAT_INVERT_S   gan_ltmat33f_invert_s
#define GAN_SQUMAT_INVERT_I   gan_mat33f_invert_i
#define GAN_SQUMAT_INVERT_I   gan_symmat33f_invert_i
#define GAN_SQUMAT_INVERT_I   gan_ltmat33f_invert_i
#define GAN_SQUMAT_ADJOINT_Q   gan_mat33f_adjoint_q
#define GAN_SQUMAT_ADJOINT_S   gan_mat33f_adjoint_s
#define GAN_SQUMAT_ADJOINTT_Q   gan_mat33f_adjointT_q
#define GAN_SQUMAT_ADJOINTT_S   gan_mat33f_adjointT_s
#define GAN_SQUMAT_DET_Q   gan_mat33f_det_q
#define GAN_SQUMAT_DET_Q   gan_symmat33f_det_q
#define GAN_SQUMAT_DET_Q   gan_ltmat33f_det_q
#define GAN_SQUMAT_DET_S   gan_mat33f_det_s
#define GAN_SQUMAT_DET_S   gan_symmat33f_det_s
#define GAN_SQUMAT_DET_S   gan_ltmat33f_det_s
#define GAN_SQUMAT_TRACE_Q   gan_mat33f_trace_q
#define GAN_SQUMAT_TRACE_Q   gan_symmat33f_trace_q
#define GAN_SQUMAT_TRACE_Q   gan_ltmat33f_trace_q
#define GAN_SQUMAT_TRACE_S   gan_mat33f_trace_s
#define GAN_SQUMAT_TRACE_S   gan_symmat33f_trace_s
#define GAN_SQUMAT_TRACE_S   gan_ltmat33f_trace_s
#define GAN_FIXED_MATRIX_TYPE   GAN_SYMMETRIC_MATRIX33_F
#define GAN_FIXED_MATRIX_TYPE   GAN_LOWER_TRI_MATRIX33_F
#define GAN_FIXED_MATRIX_TYPE   GAN_LOWER_TRI_MATRIX33_F
#define GAN_VEC_OUTER_SYM_Q   gan_vec33f_outer_sym_q
#define GAN_VEC_OUTER_SYM_S   gan_vec33f_outer_sym_s
#define GAN_SYMMAT_CHOLESKY   gan_symmat33f_cholesky
#define GAN_SYMMAT_CHOLESKY_Q   gan_symmat33f_cholesky_q
#define GAN_SYMMAT_CHOLESKY_S   gan_symmat33f_cholesky_s
#define GAN_SYMMAT_CHOLESKY_I   gan_symmat33f_cholesky_i
#define GAN_MAT_MULTV_I   gan_ltmat33f_multv3_i
#define GAN_MATT_MULTV_I   gan_ltmat33Tf_multv3_i
#define GAN_MAT_SRMULTT_I   gan_ltmat33f_srmultT_i
#define GAN_MAT_SLMULTT_I   gan_ltmat33f_slmultT_i
#define GAN_SQUMATI_MULTV_Q   gan_ltmat33If_multv3_q
#define GAN_SQUMATI_MULTV_S   gan_ltmat33If_multv3_s
#define GAN_SQUMATI_MULTV_I   gan_ltmat33If_multv3_i
#define GAN_SQUMATIT_MULTV_Q   gan_ltmat33ITf_multv3_q
#define GAN_SQUMATIT_MULTV_S   gan_ltmat33ITf_multv3_s
#define GAN_SQUMATIT_MULTV_I   gan_ltmat33ITf_multv3_i
#define gan_ltmat33Tf_fwrite   gan_ltmat33f_fwrite
#define gan_ltmat33Tf_fread   gan_ltmat33f_fread
#define GAN_MATTYPE   Gan_Matrix34
#define GAN_MATRIX_TYPE   Gan_Matrix
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix
#define GAN_VECTOR_TYPE   Gan_Vector
#define GAN_MAT_ELEMENT_TYPE   GAN_DOUBLE
#define GAN_REALTYPE   double
#define GAN_FWRITE_LENDIAN   gan_fwrite_lendian_f64
#define GAN_FREAD_LENDIAN   gan_fread_lendian_f64
#define GAN_VECTYPE1   Gan_Vector3
#define GAN_VECTYPE2   Gan_Vector4
#define GAN_MATTYPEL   Gan_Matrix33
#define GAN_MATTYPER   Gan_Matrix44
#define GAN_SQUMATTYPEL   Gan_SquMatrix33
#define GAN_SQUMATTYPER   Gan_SquMatrix44
#define GAN_MAT_FPRINT   gan_mat34_fprint
#define GAN_MAT_PRINT   gan_mat34_print
#define GAN_MAT_FSCANF   gan_mat34_fscanf
#define GAN_MAT_FWRITE   gan_mat34_fwrite
#define GAN_MAT_FREAD   gan_mat34_fread
#define GAN_MAT_ZERO_Q   gan_mat34_zero_q
#define GAN_MAT_ZERO_S   gan_mat34_zero_s
#define GAN_MAT_COPY_Q   gan_mat34_copy_q
#define GAN_MAT_COPY_S   gan_mat34_copy_s
#define GAN_MAT_SCALE_Q   gan_mat34_scale_q
#define GAN_MAT_SCALE_I   gan_mat34_scale_i
#define GAN_MAT_SCALE_S   gan_mat34_scale_s
#define GAN_MAT_DIVIDE_Q   gan_mat34_divide_q
#define GAN_MAT_DIVIDE_I   gan_mat34_divide_i
#define GAN_MAT_DIVIDE_S   gan_mat34_divide_s
#define GAN_MAT_NEGATE_Q   gan_mat34_negate_q
#define GAN_MAT_NEGATE_I   gan_mat34_negate_i
#define GAN_MAT_NEGATE_S   gan_mat34_negate_s
#define GAN_MAT_UNIT_Q   gan_mat34_unit_q
#define GAN_MAT_UNIT_I   gan_mat34_unit_i
#define GAN_MAT_UNIT_S   gan_mat34_unit_s
#define GAN_MAT_ADD_Q   gan_mat34_add_q
#define GAN_MAT_ADD_I1   gan_mat34_add_i1
#define GAN_MAT_ADD_I2   gan_mat34_add_i2
#define GAN_MAT_INCREMENT   gan_mat34_increment
#define GAN_MAT_ADD_S   gan_mat34_add_s
#define GAN_MAT_SUB_Q   gan_mat34_sub_q
#define GAN_MAT_SUB_I1   gan_mat34_sub_i1
#define GAN_MAT_SUB_I2   gan_mat34_sub_i2
#define GAN_MAT_DECREMENT   gan_mat34_decrement
#define GAN_MAT_SUB_S   gan_mat34_sub_s
#define GAN_VEC_OUTER_Q   gan_vec34_outer_q
#define GAN_VEC_OUTER_S   gan_vec34_outer_s
#define GAN_MAT_MULTV_Q   gan_mat34_multv4_q
#define GAN_MAT_MULTV_S   gan_mat34_multv4_s
#define GAN_MATT_MULTV_Q   gan_mat34T_multv3_q
#define GAN_MATT_MULTV_S   gan_mat34T_multv3_s
#define GAN_MAT_LMULTM_Q   gan_mat34_lmultm33_q
#define GAN_MAT_LMULTM_S   gan_mat34_lmultm33_s
#define GAN_MAT_LMULTMT_Q   gan_mat34_lmultm33T_q
#define GAN_MAT_LMULTMT_S   gan_mat34_lmultm33T_s
#define GAN_MAT_RMULTM_Q   gan_mat34_rmultm44_q
#define GAN_MAT_RMULTM_S   gan_mat34_rmultm44_s
#define GAN_MAT_RMULTMT_Q   gan_mat34_rmultm44T_q
#define GAN_MAT_RMULTMT_S   gan_mat34_rmultm44T_s
#define GAN_MAT_LMULTMT_SYM_Q   gan_mat34_lmultm34T_sym_q
#define GAN_MAT_LMULTMT_SYM_S   gan_mat34_lmultm34T_sym_s
#define GAN_MAT_RMULTMT_SYM_Q   gan_mat34_rmultm34T_sym_q
#define GAN_MAT_RMULTMT_SYM_S   gan_mat34_rmultm34T_sym_s
#define GAN_MAT_SLMULTT_Q   gan_mat34_slmultT_q
#define GAN_MAT_SLMULTT_S   gan_mat34_slmultT_s
#define GAN_MAT_SRMULTT_Q   gan_mat34_srmultT_q
#define GAN_MAT_SRMULTT_S   gan_mat34_srmultT_s
#define GAN_MAT_LMULTS_Q   gan_mat34_lmults33_q
#define GAN_MAT_LMULTS_S   gan_mat34_lmults33_s
#define GAN_MAT_RMULTS_Q   gan_mat34_rmults44_q
#define GAN_MAT_RMULTS_S   gan_mat34_rmults44_s
#define GAN_SYMMATL_LRMULT_Q   gan_symmat33_lrmultm34T_q
#define GAN_SYMMATL_LRMULT_S   gan_symmat33_lrmultm34T_s
#define GAN_SYMMATR_LRMULT_Q   gan_symmat44_lrmultm34_q
#define GAN_SYMMATR_LRMULT_S   gan_symmat44_lrmultm34_s
#define GAN_MAT_LMULTL_Q   gan_mat34_lmultl33_q
#define GAN_MAT_LMULTL_S   gan_mat34_lmultl33_s
#define GAN_MAT_LMULTL_I   gan_mat34_lmultl33_i
#define GAN_MAT_LMULTLI_Q   gan_mat34_lmultl33I_q
#define GAN_MAT_LMULTLI_S   gan_mat34_lmultl33I_s
#define GAN_MAT_LMULTLI_I   gan_mat34_lmultl33I_i
#define GAN_MAT_LMULTLT_Q   gan_mat34_lmultl33T_q
#define GAN_MAT_LMULTLT_S   gan_mat34_lmultl33T_s
#define GAN_MAT_LMULTLT_I   gan_mat34_lmultl33T_i
#define GAN_MAT_LMULTLIT_Q   gan_mat34_lmultl33IT_q
#define GAN_MAT_LMULTLIT_S   gan_mat34_lmultl33IT_s
#define GAN_MAT_LMULTLIT_I   gan_mat34_lmultl33IT_i
#define GAN_MAT_RMULTL_Q   gan_mat34_rmultl44_q
#define GAN_MAT_RMULTL_S   gan_mat34_rmultl44_s
#define GAN_MAT_RMULTL_I   gan_mat34_rmultl44_i
#define GAN_MAT_RMULTLI_Q   gan_mat34_rmultl44I_q
#define GAN_MAT_RMULTLI_S   gan_mat34_rmultl44I_s
#define GAN_MAT_RMULTLI_I   gan_mat34_rmultl44I_i
#define GAN_MAT_RMULTLT_Q   gan_mat34_rmultl44T_q
#define GAN_MAT_RMULTLT_S   gan_mat34_rmultl44T_s
#define GAN_MAT_RMULTLT_I   gan_mat34_rmultl44T_i
#define GAN_MAT_RMULTLIT_Q   gan_mat34_rmultl44IT_q
#define GAN_MAT_RMULTLIT_S   gan_mat34_rmultl44IT_s
#define GAN_MAT_RMULTLIT_I   gan_mat34_rmultl44IT_i
#define GAN_MAT_SUMSQR_Q   gan_mat34_sumsqr_q
#define GAN_MAT_SUMSQR_S   gan_mat34_sumsqr_s
#define GAN_MAT_FNORM_Q   gan_mat34_Fnorm_q
#define GAN_MAT_FNORM_S   gan_mat34_Fnorm_s
#define GAN_MAT_FROM_MAT_Q   gan_mat34_from_mat_q
#define GAN_MAT_FROM_MAT_S   gan_mat34_from_mat_s
#define GAN_MAT34_MULT1D(a, b, c, p1, p2, p3, q1, q2, q3, q4)
#define GAN_MAT34T_MULT1D(a, b, c, p1, p2, p3, p4, q1, q2, q3)
#define GAN_MATTYPE   Gan_Matrix34
#define GAN_MATRIX_TYPE   Gan_Matrix
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix
#define GAN_VECTOR_TYPE   Gan_Vector
#define GAN_MAT_ELEMENT_TYPE   GAN_DOUBLE
#define GAN_REALTYPE   double
#define GAN_FWRITE_LENDIAN   gan_fwrite_lendian_f64
#define GAN_FREAD_LENDIAN   gan_fread_lendian_f64
#define GAN_VECTYPE1   Gan_Vector3
#define GAN_VECTYPE2   Gan_Vector4
#define GAN_MATTYPEL   Gan_Matrix33
#define GAN_MATTYPER   Gan_Matrix44
#define GAN_SQUMATTYPEL   Gan_SquMatrix33
#define GAN_SQUMATTYPER   Gan_SquMatrix44
#define GAN_MAT_FPRINT   gan_mat34_fprint
#define GAN_MAT_PRINT   gan_mat34_print
#define GAN_MAT_FSCANF   gan_mat34_fscanf
#define GAN_MAT_FWRITE   gan_mat34_fwrite
#define GAN_MAT_FREAD   gan_mat34_fread
#define GAN_MAT_ZERO_Q   gan_mat34_zero_q
#define GAN_MAT_ZERO_S   gan_mat34_zero_s
#define GAN_MAT_COPY_Q   gan_mat34_copy_q
#define GAN_MAT_COPY_S   gan_mat34_copy_s
#define GAN_MAT_SCALE_Q   gan_mat34_scale_q
#define GAN_MAT_SCALE_I   gan_mat34_scale_i
#define GAN_MAT_SCALE_S   gan_mat34_scale_s
#define GAN_MAT_DIVIDE_Q   gan_mat34_divide_q
#define GAN_MAT_DIVIDE_I   gan_mat34_divide_i
#define GAN_MAT_DIVIDE_S   gan_mat34_divide_s
#define GAN_MAT_NEGATE_Q   gan_mat34_negate_q
#define GAN_MAT_NEGATE_I   gan_mat34_negate_i
#define GAN_MAT_NEGATE_S   gan_mat34_negate_s
#define GAN_MAT_UNIT_Q   gan_mat34_unit_q
#define GAN_MAT_UNIT_I   gan_mat34_unit_i
#define GAN_MAT_UNIT_S   gan_mat34_unit_s
#define GAN_MAT_ADD_Q   gan_mat34_add_q
#define GAN_MAT_ADD_I1   gan_mat34_add_i1
#define GAN_MAT_ADD_I2   gan_mat34_add_i2
#define GAN_MAT_INCREMENT   gan_mat34_increment
#define GAN_MAT_ADD_S   gan_mat34_add_s
#define GAN_MAT_SUB_Q   gan_mat34_sub_q
#define GAN_MAT_SUB_I1   gan_mat34_sub_i1
#define GAN_MAT_SUB_I2   gan_mat34_sub_i2
#define GAN_MAT_DECREMENT   gan_mat34_decrement
#define GAN_MAT_SUB_S   gan_mat34_sub_s
#define GAN_VEC_OUTER_Q   gan_vec34_outer_q
#define GAN_VEC_OUTER_S   gan_vec34_outer_s
#define GAN_MAT_MULTV_Q   gan_mat34_multv4_q
#define GAN_MAT_MULTV_S   gan_mat34_multv4_s
#define GAN_MATT_MULTV_Q   gan_mat34T_multv3_q
#define GAN_MATT_MULTV_S   gan_mat34T_multv3_s
#define GAN_MAT_LMULTM_Q   gan_mat34_lmultm33_q
#define GAN_MAT_LMULTM_S   gan_mat34_lmultm33_s
#define GAN_MAT_LMULTMT_Q   gan_mat34_lmultm33T_q
#define GAN_MAT_LMULTMT_S   gan_mat34_lmultm33T_s
#define GAN_MAT_RMULTM_Q   gan_mat34_rmultm44_q
#define GAN_MAT_RMULTM_S   gan_mat34_rmultm44_s
#define GAN_MAT_RMULTMT_Q   gan_mat34_rmultm44T_q
#define GAN_MAT_RMULTMT_S   gan_mat34_rmultm44T_s
#define GAN_MAT_LMULTMT_SYM_Q   gan_mat34_lmultm34T_sym_q
#define GAN_MAT_LMULTMT_SYM_S   gan_mat34_lmultm34T_sym_s
#define GAN_MAT_RMULTMT_SYM_Q   gan_mat34_rmultm34T_sym_q
#define GAN_MAT_RMULTMT_SYM_S   gan_mat34_rmultm34T_sym_s
#define GAN_MAT_SLMULTT_Q   gan_mat34_slmultT_q
#define GAN_MAT_SLMULTT_S   gan_mat34_slmultT_s
#define GAN_MAT_SRMULTT_Q   gan_mat34_srmultT_q
#define GAN_MAT_SRMULTT_S   gan_mat34_srmultT_s
#define GAN_MAT_LMULTS_Q   gan_mat34_lmults33_q
#define GAN_MAT_LMULTS_S   gan_mat34_lmults33_s
#define GAN_MAT_RMULTS_Q   gan_mat34_rmults44_q
#define GAN_MAT_RMULTS_S   gan_mat34_rmults44_s
#define GAN_SYMMATL_LRMULT_Q   gan_symmat33_lrmultm34T_q
#define GAN_SYMMATL_LRMULT_S   gan_symmat33_lrmultm34T_s
#define GAN_SYMMATR_LRMULT_Q   gan_symmat44_lrmultm34_q
#define GAN_SYMMATR_LRMULT_S   gan_symmat44_lrmultm34_s
#define GAN_MAT_LMULTL_Q   gan_mat34_lmultl33_q
#define GAN_MAT_LMULTL_S   gan_mat34_lmultl33_s
#define GAN_MAT_LMULTL_I   gan_mat34_lmultl33_i
#define GAN_MAT_LMULTLI_Q   gan_mat34_lmultl33I_q
#define GAN_MAT_LMULTLI_S   gan_mat34_lmultl33I_s
#define GAN_MAT_LMULTLI_I   gan_mat34_lmultl33I_i
#define GAN_MAT_LMULTLT_Q   gan_mat34_lmultl33T_q
#define GAN_MAT_LMULTLT_S   gan_mat34_lmultl33T_s
#define GAN_MAT_LMULTLT_I   gan_mat34_lmultl33T_i
#define GAN_MAT_LMULTLIT_Q   gan_mat34_lmultl33IT_q
#define GAN_MAT_LMULTLIT_S   gan_mat34_lmultl33IT_s
#define GAN_MAT_LMULTLIT_I   gan_mat34_lmultl33IT_i
#define GAN_MAT_RMULTL_Q   gan_mat34_rmultl44_q
#define GAN_MAT_RMULTL_S   gan_mat34_rmultl44_s
#define GAN_MAT_RMULTL_I   gan_mat34_rmultl44_i
#define GAN_MAT_RMULTLI_Q   gan_mat34_rmultl44I_q
#define GAN_MAT_RMULTLI_S   gan_mat34_rmultl44I_s
#define GAN_MAT_RMULTLI_I   gan_mat34_rmultl44I_i
#define GAN_MAT_RMULTLT_Q   gan_mat34_rmultl44T_q
#define GAN_MAT_RMULTLT_S   gan_mat34_rmultl44T_s
#define GAN_MAT_RMULTLT_I   gan_mat34_rmultl44T_i
#define GAN_MAT_RMULTLIT_Q   gan_mat34_rmultl44IT_q
#define GAN_MAT_RMULTLIT_S   gan_mat34_rmultl44IT_s
#define GAN_MAT_RMULTLIT_I   gan_mat34_rmultl44IT_i
#define GAN_MAT_SUMSQR_Q   gan_mat34_sumsqr_q
#define GAN_MAT_SUMSQR_S   gan_mat34_sumsqr_s
#define GAN_MAT_FNORM_Q   gan_mat34_Fnorm_q
#define GAN_MAT_FNORM_S   gan_mat34_Fnorm_s
#define GAN_MAT_FROM_MAT_Q   gan_mat34_from_mat_q
#define GAN_MAT_FROM_MAT_S   gan_mat34_from_mat_s
#define GAN_MATTYPE   Gan_Matrix34_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_FWRITE_LENDIAN   gan_fwrite_lendian_f32
#define GAN_FREAD_LENDIAN   gan_fread_lendian_f32
#define GAN_VECTYPE1   Gan_Vector3_f
#define GAN_VECTYPE2   Gan_Vector4_f
#define GAN_MATTYPEL   Gan_Matrix33_f
#define GAN_MATTYPER   Gan_Matrix44_f
#define GAN_SQUMATTYPEL   Gan_SquMatrix33_f
#define GAN_SQUMATTYPER   Gan_SquMatrix44_f
#define GAN_MAT_FPRINT   gan_mat34f_fprint
#define GAN_MAT_PRINT   gan_mat34f_print
#define GAN_MAT_FSCANF   gan_mat34f_fscanf
#define GAN_MAT_FWRITE   gan_mat34f_fwrite
#define GAN_MAT_FREAD   gan_mat34f_fread
#define GAN_MAT_ZERO_Q   gan_mat34f_zero_q
#define GAN_MAT_ZERO_S   gan_mat34f_zero_s
#define GAN_MAT_COPY_Q   gan_mat34f_copy_q
#define GAN_MAT_COPY_S   gan_mat34f_copy_s
#define GAN_MAT_SCALE_Q   gan_mat34f_scale_q
#define GAN_MAT_SCALE_I   gan_mat34f_scale_i
#define GAN_MAT_SCALE_S   gan_mat34f_scale_s
#define GAN_MAT_DIVIDE_Q   gan_mat34f_divide_q
#define GAN_MAT_DIVIDE_I   gan_mat34f_divide_i
#define GAN_MAT_DIVIDE_S   gan_mat34f_divide_s
#define GAN_MAT_NEGATE_Q   gan_mat34f_negate_q
#define GAN_MAT_NEGATE_I   gan_mat34f_negate_i
#define GAN_MAT_NEGATE_S   gan_mat34f_negate_s
#define GAN_MAT_UNIT_Q   gan_mat34f_unit_q
#define GAN_MAT_UNIT_I   gan_mat34f_unit_i
#define GAN_MAT_UNIT_S   gan_mat34f_unit_s
#define GAN_MAT_ADD_Q   gan_mat34f_add_q
#define GAN_MAT_ADD_I1   gan_mat34f_add_i1
#define GAN_MAT_ADD_I2   gan_mat34f_add_i2
#define GAN_MAT_INCREMENT   gan_mat34f_increment
#define GAN_MAT_ADD_S   gan_mat34f_add_s
#define GAN_MAT_SUB_Q   gan_mat34f_sub_q
#define GAN_MAT_SUB_I1   gan_mat34f_sub_i1
#define GAN_MAT_SUB_I2   gan_mat34f_sub_i2
#define GAN_MAT_DECREMENT   gan_mat34f_decrement
#define GAN_MAT_SUB_S   gan_mat34f_sub_s
#define GAN_VEC_OUTER_Q   gan_vec34f_outer_q
#define GAN_VEC_OUTER_S   gan_vec34f_outer_s
#define GAN_MAT_MULTV_Q   gan_mat34f_multv4_q
#define GAN_MAT_MULTV_S   gan_mat34f_multv4_s
#define GAN_MATT_MULTV_Q   gan_mat34Tf_multv2_q
#define GAN_MATT_MULTV_S   gan_mat34Tf_multv2_s
#define GAN_MAT_LMULTM_Q   gan_mat34f_lmultm33_q
#define GAN_MAT_LMULTM_S   gan_mat34f_lmultm33_s
#define GAN_MAT_LMULTMT_Q   gan_mat34f_lmultm33T_q
#define GAN_MAT_LMULTMT_S   gan_mat34f_lmultm33T_s
#define GAN_MAT_RMULTM_Q   gan_mat34f_rmultm44_q
#define GAN_MAT_RMULTM_S   gan_mat34f_rmultm44_s
#define GAN_MAT_RMULTMT_Q   gan_mat34f_rmultm44T_q
#define GAN_MAT_RMULTMT_S   gan_mat34f_rmultm44T_s
#define GAN_MAT_LMULTMT_SYM_Q   gan_mat34f_lmultm34T_sym_q
#define GAN_MAT_LMULTMT_SYM_S   gan_mat34f_lmultm34T_sym_s
#define GAN_MAT_RMULTMT_SYM_Q   gan_mat34f_rmultm34T_sym_q
#define GAN_MAT_RMULTMT_SYM_S   gan_mat34f_rmultm34T_sym_s
#define GAN_MAT_SLMULTT_Q   gan_mat34f_slmultT_q
#define GAN_MAT_SLMULTT_S   gan_mat34f_slmultT_s
#define GAN_MAT_SRMULTT_Q   gan_mat34f_srmultT_q
#define GAN_MAT_SRMULTT_S   gan_mat34f_srmultT_s
#define GAN_MAT_LMULTS_Q   gan_mat34f_lmults33_q
#define GAN_MAT_LMULTS_S   gan_mat34f_lmults33_s
#define GAN_MAT_RMULTS_Q   gan_mat34f_rmults44_q
#define GAN_MAT_RMULTS_S   gan_mat34f_rmults44_s
#define GAN_SYMMATL_LRMULT_Q   gan_symmat33f_lrmultm34T_q
#define GAN_SYMMATL_LRMULT_S   gan_symmat33f_lrmultm34T_s
#define GAN_SYMMATR_LRMULT_Q   gan_symmat44f_lrmultm34_q
#define GAN_SYMMATR_LRMULT_S   gan_symmat44f_lrmultm34_s
#define GAN_MAT_LMULTL_Q   gan_mat34f_lmultl33_q
#define GAN_MAT_LMULTL_S   gan_mat34f_lmultl33_s
#define GAN_MAT_LMULTL_I   gan_mat34f_lmultl33_i
#define GAN_MAT_LMULTLI_Q   gan_mat34f_lmultl33I_q
#define GAN_MAT_LMULTLI_S   gan_mat34f_lmultl33I_s
#define GAN_MAT_LMULTLI_I   gan_mat34f_lmultl33I_i
#define GAN_MAT_LMULTLT_Q   gan_mat34f_lmultl33T_q
#define GAN_MAT_LMULTLT_S   gan_mat34f_lmultl33T_s
#define GAN_MAT_LMULTLT_I   gan_mat34f_lmultl33T_i
#define GAN_MAT_LMULTLIT_Q   gan_mat34f_lmultl33IT_q
#define GAN_MAT_LMULTLIT_S   gan_mat34f_lmultl33IT_s
#define GAN_MAT_LMULTLIT_I   gan_mat34f_lmultl33IT_i
#define GAN_MAT_RMULTL_Q   gan_mat34f_rmultl44_q
#define GAN_MAT_RMULTL_S   gan_mat34f_rmultl44_s
#define GAN_MAT_RMULTL_I   gan_mat34f_rmultl44_i
#define GAN_MAT_RMULTLI_Q   gan_mat34f_rmultl44I_q
#define GAN_MAT_RMULTLI_S   gan_mat34f_rmultl44I_s
#define GAN_MAT_RMULTLI_I   gan_mat34f_rmultl44I_i
#define GAN_MAT_RMULTLT_Q   gan_mat34f_rmultl44T_q
#define GAN_MAT_RMULTLT_S   gan_mat34f_rmultl44T_s
#define GAN_MAT_RMULTLT_I   gan_mat34f_rmultl44T_i
#define GAN_MAT_RMULTLIT_Q   gan_mat34f_rmultl44IT_q
#define GAN_MAT_RMULTLIT_S   gan_mat34f_rmultl44IT_s
#define GAN_MAT_RMULTLIT_I   gan_mat34f_rmultl44IT_i
#define GAN_MAT_SUMSQR_Q   gan_mat34f_sumsqr_q
#define GAN_MAT_SUMSQR_S   gan_mat34f_sumsqr_s
#define GAN_MAT_FNORM_Q   gan_mat34f_Fnorm_q
#define GAN_MAT_FNORM_S   gan_mat34f_Fnorm_s
#define GAN_MAT_FROM_MAT_Q   gan_mat34f_from_matf_q
#define GAN_MAT_FROM_MAT_S   gan_mat34f_from_matf_s
#define GAN_MAT34F_MULT1D(a, b, c, p1, p2, p3, q1, q2, q3, q4)
#define GAN_MAT34TF_MULT1D(a, b, c, p1, p2, p3, p4, q1, q2, q3)
#define GAN_MATTYPE   Gan_Matrix34_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_FWRITE_LENDIAN   gan_fwrite_lendian_f32
#define GAN_FREAD_LENDIAN   gan_fread_lendian_f32
#define GAN_VECTYPE1   Gan_Vector3_f
#define GAN_VECTYPE2   Gan_Vector4_f
#define GAN_MATTYPEL   Gan_Matrix33_f
#define GAN_MATTYPER   Gan_Matrix44_f
#define GAN_SQUMATTYPEL   Gan_SquMatrix33_f
#define GAN_SQUMATTYPER   Gan_SquMatrix44_f
#define GAN_MAT_FPRINT   gan_mat34f_fprint
#define GAN_MAT_PRINT   gan_mat34f_print
#define GAN_MAT_FSCANF   gan_mat34f_fscanf
#define GAN_MAT_FWRITE   gan_mat34f_fwrite
#define GAN_MAT_FREAD   gan_mat34f_fread
#define GAN_MAT_ZERO_Q   gan_mat34f_zero_q
#define GAN_MAT_ZERO_S   gan_mat34f_zero_s
#define GAN_MAT_COPY_Q   gan_mat34f_copy_q
#define GAN_MAT_COPY_S   gan_mat34f_copy_s
#define GAN_MAT_SCALE_Q   gan_mat34f_scale_q
#define GAN_MAT_SCALE_I   gan_mat34f_scale_i
#define GAN_MAT_SCALE_S   gan_mat34f_scale_s
#define GAN_MAT_DIVIDE_Q   gan_mat34f_divide_q
#define GAN_MAT_DIVIDE_I   gan_mat34f_divide_i
#define GAN_MAT_DIVIDE_S   gan_mat34f_divide_s
#define GAN_MAT_NEGATE_Q   gan_mat34f_negate_q
#define GAN_MAT_NEGATE_I   gan_mat34f_negate_i
#define GAN_MAT_NEGATE_S   gan_mat34f_negate_s
#define GAN_MAT_UNIT_Q   gan_mat34f_unit_q
#define GAN_MAT_UNIT_I   gan_mat34f_unit_i
#define GAN_MAT_UNIT_S   gan_mat34f_unit_s
#define GAN_MAT_ADD_Q   gan_mat34f_add_q
#define GAN_MAT_ADD_I1   gan_mat34f_add_i1
#define GAN_MAT_ADD_I2   gan_mat34f_add_i2
#define GAN_MAT_INCREMENT   gan_mat34f_increment
#define GAN_MAT_ADD_S   gan_mat34f_add_s
#define GAN_MAT_SUB_Q   gan_mat34f_sub_q
#define GAN_MAT_SUB_I1   gan_mat34f_sub_i1
#define GAN_MAT_SUB_I2   gan_mat34f_sub_i2
#define GAN_MAT_DECREMENT   gan_mat34f_decrement
#define GAN_MAT_SUB_S   gan_mat34f_sub_s
#define GAN_VEC_OUTER_Q   gan_vec34f_outer_q
#define GAN_VEC_OUTER_S   gan_vec34f_outer_s
#define GAN_MAT_MULTV_Q   gan_mat34f_multv4_q
#define GAN_MAT_MULTV_S   gan_mat34f_multv4_s
#define GAN_MATT_MULTV_Q   gan_mat34Tf_multv2_q
#define GAN_MATT_MULTV_S   gan_mat34Tf_multv2_s
#define GAN_MAT_LMULTM_Q   gan_mat34f_lmultm33_q
#define GAN_MAT_LMULTM_S   gan_mat34f_lmultm33_s
#define GAN_MAT_LMULTMT_Q   gan_mat34f_lmultm33T_q
#define GAN_MAT_LMULTMT_S   gan_mat34f_lmultm33T_s
#define GAN_MAT_RMULTM_Q   gan_mat34f_rmultm44_q
#define GAN_MAT_RMULTM_S   gan_mat34f_rmultm44_s
#define GAN_MAT_RMULTMT_Q   gan_mat34f_rmultm44T_q
#define GAN_MAT_RMULTMT_S   gan_mat34f_rmultm44T_s
#define GAN_MAT_LMULTMT_SYM_Q   gan_mat34f_lmultm34T_sym_q
#define GAN_MAT_LMULTMT_SYM_S   gan_mat34f_lmultm34T_sym_s
#define GAN_MAT_RMULTMT_SYM_Q   gan_mat34f_rmultm34T_sym_q
#define GAN_MAT_RMULTMT_SYM_S   gan_mat34f_rmultm34T_sym_s
#define GAN_MAT_SLMULTT_Q   gan_mat34f_slmultT_q
#define GAN_MAT_SLMULTT_S   gan_mat34f_slmultT_s
#define GAN_MAT_SRMULTT_Q   gan_mat34f_srmultT_q
#define GAN_MAT_SRMULTT_S   gan_mat34f_srmultT_s
#define GAN_MAT_LMULTS_Q   gan_mat34f_lmults33_q
#define GAN_MAT_LMULTS_S   gan_mat34f_lmults33_s
#define GAN_MAT_RMULTS_Q   gan_mat34f_rmults44_q
#define GAN_MAT_RMULTS_S   gan_mat34f_rmults44_s
#define GAN_SYMMATL_LRMULT_Q   gan_symmat33f_lrmultm34T_q
#define GAN_SYMMATL_LRMULT_S   gan_symmat33f_lrmultm34T_s
#define GAN_SYMMATR_LRMULT_Q   gan_symmat44f_lrmultm34_q
#define GAN_SYMMATR_LRMULT_S   gan_symmat44f_lrmultm34_s
#define GAN_MAT_LMULTL_Q   gan_mat34f_lmultl33_q
#define GAN_MAT_LMULTL_S   gan_mat34f_lmultl33_s
#define GAN_MAT_LMULTL_I   gan_mat34f_lmultl33_i
#define GAN_MAT_LMULTLI_Q   gan_mat34f_lmultl33I_q
#define GAN_MAT_LMULTLI_S   gan_mat34f_lmultl33I_s
#define GAN_MAT_LMULTLI_I   gan_mat34f_lmultl33I_i
#define GAN_MAT_LMULTLT_Q   gan_mat34f_lmultl33T_q
#define GAN_MAT_LMULTLT_S   gan_mat34f_lmultl33T_s
#define GAN_MAT_LMULTLT_I   gan_mat34f_lmultl33T_i
#define GAN_MAT_LMULTLIT_Q   gan_mat34f_lmultl33IT_q
#define GAN_MAT_LMULTLIT_S   gan_mat34f_lmultl33IT_s
#define GAN_MAT_LMULTLIT_I   gan_mat34f_lmultl33IT_i
#define GAN_MAT_RMULTL_Q   gan_mat34f_rmultl44_q
#define GAN_MAT_RMULTL_S   gan_mat34f_rmultl44_s
#define GAN_MAT_RMULTL_I   gan_mat34f_rmultl44_i
#define GAN_MAT_RMULTLI_Q   gan_mat34f_rmultl44I_q
#define GAN_MAT_RMULTLI_S   gan_mat34f_rmultl44I_s
#define GAN_MAT_RMULTLI_I   gan_mat34f_rmultl44I_i
#define GAN_MAT_RMULTLT_Q   gan_mat34f_rmultl44T_q
#define GAN_MAT_RMULTLT_S   gan_mat34f_rmultl44T_s
#define GAN_MAT_RMULTLT_I   gan_mat34f_rmultl44T_i
#define GAN_MAT_RMULTLIT_Q   gan_mat34f_rmultl44IT_q
#define GAN_MAT_RMULTLIT_S   gan_mat34f_rmultl44IT_s
#define GAN_MAT_RMULTLIT_I   gan_mat34f_rmultl44IT_i
#define GAN_MAT_SUMSQR_Q   gan_mat34f_sumsqr_q
#define GAN_MAT_SUMSQR_S   gan_mat34f_sumsqr_s
#define GAN_MAT_FNORM_Q   gan_mat34f_Fnorm_q
#define GAN_MAT_FNORM_S   gan_mat34f_Fnorm_s
#define GAN_MAT_FROM_MAT_Q   gan_mat34f_from_matf_q
#define GAN_MAT_FROM_MAT_S   gan_mat34f_from_matf_s
#define GAN_MATTYPE   Gan_Matrix44
#define GAN_MATTYPE   Gan_SquMatrix44
#define GAN_MATTYPE   Gan_SquMatrix44
#define GAN_MATTYPE   Gan_SquMatrix44
#define GAN_MATRIX_TYPE   Gan_Matrix
#define GAN_MATRIX_TYPE   Gan_SquMatrix
#define GAN_MATRIX_TYPE   Gan_SquMatrix
#define GAN_MATRIX_TYPE   Gan_SquMatrix
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix
#define GAN_VECTOR_TYPE   Gan_Vector
#define GAN_VECTOR_TYPE   Gan_Vector
#define GAN_VECTOR_TYPE   Gan_Vector
#define GAN_VECTOR_TYPE   Gan_Vector
#define GAN_MAT_ELEMENT_TYPE   GAN_DOUBLE
#define GAN_MAT_ELEMENT_TYPE   GAN_DOUBLE
#define GAN_MAT_ELEMENT_TYPE   GAN_DOUBLE
#define GAN_MAT_ELEMENT_TYPE   GAN_DOUBLE
#define GAN_REALTYPE   double
#define GAN_REALTYPE   double
#define GAN_REALTYPE   double
#define GAN_REALTYPE   double
#define GAN_FWRITE_LENDIAN   gan_fwrite_lendian_f64
#define GAN_FWRITE_LENDIAN   gan_fwrite_lendian_f64
#define GAN_FWRITE_LENDIAN   gan_fwrite_lendian_f64
#define GAN_FREAD_LENDIAN   gan_fread_lendian_f64
#define GAN_FREAD_LENDIAN   gan_fread_lendian_f64
#define GAN_FREAD_LENDIAN   gan_fread_lendian_f64
#define GAN_VECTYPE1   Gan_Vector4
#define GAN_VECTYPE1   Gan_Vector4
#define GAN_VECTYPE1   Gan_Vector4
#define GAN_VECTYPE2   Gan_Vector4
#define GAN_VECTYPE2   Gan_Vector4
#define GAN_VECTYPE2   Gan_Vector4
#define GAN_MATTYPEL   Gan_Matrix44
#define GAN_MATTYPER   Gan_Matrix44
#define GAN_SQUMATTYPEL   Gan_SquMatrix44
#define GAN_SQUMATTYPEL   Gan_SquMatrix44
#define GAN_SQUMATTYPER   Gan_SquMatrix44
#define GAN_SQUMATTYPER   Gan_SquMatrix44
#define GAN_MAT_FPRINT   gan_mat44_fprint
#define GAN_MAT_FPRINT   gan_symmat44_fprint
#define GAN_MAT_FPRINT   gan_ltmat44_fprint
#define GAN_MAT_FPRINT   gan_ltmat44T_fprint
#define GAN_MAT_PRINT   gan_mat44_print
#define GAN_MAT_PRINT   gan_symmat44_print
#define GAN_MAT_PRINT   gan_ltmat44_print
#define GAN_MAT_PRINT   gan_ltmat44T_print
#define GAN_MAT_FSCANF   gan_mat44_fscanf
#define GAN_MAT_FSCANF   gan_symmat44_fscanf
#define GAN_MAT_FSCANF   gan_ltmat44_fscanf
#define GAN_MAT_FSCANF   gan_ltmat44T_fscanf
#define GAN_MAT_FWRITE   gan_mat44_fwrite
#define GAN_MAT_FWRITE   gan_symmat44_fwrite
#define GAN_MAT_FWRITE   gan_ltmat44_fwrite
#define GAN_MAT_FREAD   gan_mat44_fread
#define GAN_MAT_FREAD   gan_symmat44_fread
#define GAN_MAT_FREAD   gan_ltmat44_fread
#define GAN_MAT_ZERO_Q   gan_mat44_zero_q
#define GAN_MAT_ZERO_Q   gan_symmat44_zero_q
#define GAN_MAT_ZERO_Q   gan_ltmat44_zero_q
#define GAN_MAT_ZERO_S   gan_mat44_zero_s
#define GAN_MAT_ZERO_S   gan_symmat44_zero_s
#define GAN_MAT_ZERO_S   gan_ltmat44_zero_s
#define GAN_MAT_COPY_Q   gan_mat44_copy_q
#define GAN_MAT_COPY_Q   gan_symmat44_copy_q
#define GAN_MAT_COPY_Q   gan_ltmat44_copy_q
#define GAN_MAT_COPY_S   gan_mat44_copy_s
#define GAN_MAT_COPY_S   gan_symmat44_copy_s
#define GAN_MAT_COPY_S   gan_ltmat44_copy_s
#define GAN_MAT_SCALE_Q   gan_mat44_scale_q
#define GAN_MAT_SCALE_Q   gan_symmat44_scale_q
#define GAN_MAT_SCALE_Q   gan_ltmat44_scale_q
#define GAN_MAT_SCALE_I   gan_mat44_scale_i
#define GAN_MAT_SCALE_I   gan_symmat44_scale_i
#define GAN_MAT_SCALE_I   gan_ltmat44_scale_i
#define GAN_MAT_SCALE_S   gan_mat44_scale_s
#define GAN_MAT_SCALE_S   gan_symmat44_scale_s
#define GAN_MAT_SCALE_S   gan_ltmat44_scale_s
#define GAN_MAT_DIVIDE_Q   gan_mat44_divide_q
#define GAN_MAT_DIVIDE_Q   gan_symmat44_divide_q
#define GAN_MAT_DIVIDE_Q   gan_ltmat44_divide_q
#define GAN_MAT_DIVIDE_I   gan_mat44_divide_i
#define GAN_MAT_DIVIDE_I   gan_symmat44_divide_i
#define GAN_MAT_DIVIDE_I   gan_ltmat44_divide_i
#define GAN_MAT_DIVIDE_S   gan_mat44_divide_s
#define GAN_MAT_DIVIDE_S   gan_symmat44_divide_s
#define GAN_MAT_DIVIDE_S   gan_ltmat44_divide_s
#define GAN_MAT_NEGATE_Q   gan_mat44_negate_q
#define GAN_MAT_NEGATE_Q   gan_symmat44_negate_q
#define GAN_MAT_NEGATE_Q   gan_ltmat44_negate_q
#define GAN_MAT_NEGATE_I   gan_mat44_negate_i
#define GAN_MAT_NEGATE_I   gan_symmat44_negate_i
#define GAN_MAT_NEGATE_I   gan_ltmat44_negate_i
#define GAN_MAT_NEGATE_S   gan_mat44_negate_s
#define GAN_MAT_NEGATE_S   gan_symmat44_negate_s
#define GAN_MAT_NEGATE_S   gan_ltmat44_negate_s
#define GAN_MAT_UNIT_Q   gan_mat44_unit_q
#define GAN_MAT_UNIT_Q   gan_symmat44_unit_q
#define GAN_MAT_UNIT_Q   gan_ltmat44_unit_q
#define GAN_MAT_UNIT_I   gan_mat44_unit_i
#define GAN_MAT_UNIT_I   gan_symmat44_unit_i
#define GAN_MAT_UNIT_I   gan_ltmat44_unit_i
#define GAN_MAT_UNIT_S   gan_mat44_unit_s
#define GAN_MAT_UNIT_S   gan_symmat44_unit_s
#define GAN_MAT_UNIT_S   gan_ltmat44_unit_s
#define GAN_MAT_ADD_Q   gan_mat44_add_q
#define GAN_MAT_ADD_Q   gan_symmat44_add_q
#define GAN_MAT_ADD_Q   gan_ltmat44_add_q
#define GAN_MAT_ADD_I1   gan_mat44_add_i1
#define GAN_MAT_ADD_I1   gan_symmat44_add_i1
#define GAN_MAT_ADD_I1   gan_ltmat44_add_i1
#define GAN_MAT_ADD_I2   gan_mat44_add_i2
#define GAN_MAT_ADD_I2   gan_symmat44_add_i2
#define GAN_MAT_ADD_I2   gan_ltmat44_add_i2
#define GAN_MAT_INCREMENT   gan_mat44_increment
#define GAN_MAT_INCREMENT   gan_symmat44_increment
#define GAN_MAT_INCREMENT   gan_ltmat44_increment
#define GAN_MAT_ADD_S   gan_mat44_add_s
#define GAN_MAT_ADD_S   gan_symmat44_add_s
#define GAN_MAT_ADD_S   gan_ltmat44_add_s
#define GAN_MAT_SUB_Q   gan_mat44_sub_q
#define GAN_MAT_SUB_Q   gan_symmat44_sub_q
#define GAN_MAT_SUB_Q   gan_ltmat44_sub_q
#define GAN_MAT_SUB_I1   gan_mat44_sub_i1
#define GAN_MAT_SUB_I1   gan_symmat44_sub_i1
#define GAN_MAT_SUB_I1   gan_ltmat44_sub_i1
#define GAN_MAT_SUB_I2   gan_mat44_sub_i2
#define GAN_MAT_SUB_I2   gan_symmat44_sub_i2
#define GAN_MAT_SUB_I2   gan_ltmat44_sub_i2
#define GAN_MAT_DECREMENT   gan_mat44_decrement
#define GAN_MAT_DECREMENT   gan_symmat44_decrement
#define GAN_MAT_DECREMENT   gan_ltmat44_decrement
#define GAN_MAT_SUB_S   gan_mat44_sub_s
#define GAN_MAT_SUB_S   gan_symmat44_sub_s
#define GAN_MAT_SUB_S   gan_ltmat44_sub_s
#define GAN_VEC_OUTER_Q   gan_vec44_outer_q
#define GAN_VEC_OUTER_S   gan_vec44_outer_s
#define GAN_MAT_MULTV_Q   gan_mat44_multv4_q
#define GAN_MAT_MULTV_Q   gan_symmat44_multv4_q
#define GAN_MAT_MULTV_Q   gan_ltmat44_multv4_q
#define GAN_MAT_MULTV_S   gan_mat44_multv4_s
#define GAN_MAT_MULTV_S   gan_symmat44_multv4_s
#define GAN_MAT_MULTV_S   gan_ltmat44_multv4_s
#define GAN_MATT_MULTV_Q   gan_mat44T_multv4_q
#define GAN_MATT_MULTV_Q   gan_ltmat44T_multv4_q
#define GAN_MATT_MULTV_S   gan_mat44T_multv4_s
#define GAN_MATT_MULTV_S   gan_ltmat44T_multv4_s
#define GAN_MAT_LMULTMT_Q   gan_mat44_lmultm44T_q
#define GAN_MAT_LMULTMT_S   gan_mat44_lmultm44T_s
#define GAN_MAT_RMULTM_Q   gan_mat44_rmultm44_q
#define GAN_MAT_RMULTM_S   gan_mat44_rmultm44_s
#define GAN_MAT_RMULTMT_Q   gan_mat44_rmultm44T_q
#define GAN_MAT_RMULTMT_S   gan_mat44_rmultm44T_s
#define GAN_MAT_LMULTMT_SYM_Q   gan_mat44_lmultm44T_sym_q
#define GAN_MAT_LMULTMT_SYM_S   gan_mat44_lmultm44T_sym_s
#define GAN_MAT_RMULTMT_SYM_Q   gan_mat44_rmultm44T_sym_q
#define GAN_MAT_RMULTMT_SYM_S   gan_mat44_rmultm44T_sym_s
#define GAN_MAT_SLMULTT_Q   gan_mat44_slmultT_q
#define GAN_MAT_SLMULTT_Q   gan_ltmat44_slmultT_q
#define GAN_MAT_SLMULTT_S   gan_mat44_slmultT_s
#define GAN_MAT_SLMULTT_S   gan_ltmat44_slmultT_s
#define GAN_MAT_SRMULTT_Q   gan_mat44_srmultT_q
#define GAN_MAT_SRMULTT_Q   gan_ltmat44_srmultT_q
#define GAN_MAT_SRMULTT_S   gan_mat44_srmultT_s
#define GAN_MAT_SRMULTT_S   gan_ltmat44_srmultT_s
#define GAN_MAT_LMULTS_Q   gan_mat44_lmults44_q
#define GAN_MAT_LMULTS_S   gan_mat44_lmults44_s
#define GAN_MAT_RMULTS_Q   gan_mat44_rmults44_q
#define GAN_MAT_RMULTS_S   gan_mat44_rmults44_s
#define GAN_SYMMATL_LRMULT_Q   gan_symmat44_lrmultm44T_q
#define GAN_SYMMATL_LRMULT_S   gan_symmat44_lrmultm44T_s
#define GAN_SYMMATR_LRMULT_Q   gan_symmat44_lrmultm44_q
#define GAN_SYMMATR_LRMULT_S   gan_symmat44_lrmultm44_s
#define GAN_MAT_LMULTL_Q   gan_mat44_lmultl44_q
#define GAN_MAT_LMULTL_S   gan_mat44_lmultl44_s
#define GAN_MAT_LMULTL_I   gan_mat44_lmultl44_i
#define GAN_MAT_LMULTLI_Q   gan_mat44_lmultl44I_q
#define GAN_MAT_LMULTLI_S   gan_mat44_lmultl44I_s
#define GAN_MAT_LMULTLI_I   gan_mat44_lmultl44I_i
#define GAN_MAT_LMULTLT_Q   gan_mat44_lmultl44T_q
#define GAN_MAT_LMULTLT_S   gan_mat44_lmultl44T_s
#define GAN_MAT_LMULTLT_I   gan_mat44_lmultl44T_i
#define GAN_MAT_LMULTLIT_Q   gan_mat44_lmultl44IT_q
#define GAN_MAT_LMULTLIT_S   gan_mat44_lmultl44IT_s
#define GAN_MAT_LMULTLIT_I   gan_mat44_lmultl44IT_i
#define GAN_MAT_RMULTL_Q   gan_mat44_rmultl44_q
#define GAN_MAT_RMULTL_S   gan_mat44_rmultl44_s
#define GAN_MAT_RMULTL_I   gan_mat44_rmultl44_i
#define GAN_MAT_RMULTLI_Q   gan_mat44_rmultl44I_q
#define GAN_MAT_RMULTLI_S   gan_mat44_rmultl44I_s
#define GAN_MAT_RMULTLI_I   gan_mat44_rmultl44I_i
#define GAN_MAT_RMULTLT_Q   gan_mat44_rmultl44T_q
#define GAN_MAT_RMULTLT_S   gan_mat44_rmultl44T_s
#define GAN_MAT_RMULTLT_I   gan_mat44_rmultl44T_i
#define GAN_MAT_RMULTLIT_Q   gan_mat44_rmultl44IT_q
#define GAN_MAT_RMULTLIT_S   gan_mat44_rmultl44IT_s
#define GAN_MAT_RMULTLIT_I   gan_mat44_rmultl44IT_i
#define GAN_MAT_SUMSQR_Q   gan_mat44_sumsqr_q
#define GAN_MAT_SUMSQR_Q   gan_symmat44_sumsqr_q
#define GAN_MAT_SUMSQR_Q   gan_ltmat44_sumsqr_q
#define GAN_MAT_SUMSQR_S   gan_mat44_sumsqr_s
#define GAN_MAT_SUMSQR_S   gan_symmat44_sumsqr_s
#define GAN_MAT_SUMSQR_S   gan_ltmat44_sumsqr_s
#define GAN_MAT_FNORM_Q   gan_mat44_Fnorm_q
#define GAN_MAT_FNORM_Q   gan_symmat44_Fnorm_q
#define GAN_MAT_FNORM_Q   gan_ltmat44_Fnorm_q
#define GAN_MAT_FNORM_S   gan_mat44_Fnorm_s
#define GAN_MAT_FNORM_S   gan_symmat44_Fnorm_s
#define GAN_MAT_FNORM_S   gan_ltmat44_Fnorm_s
#define GAN_MAT_FROM_MAT_Q   gan_mat44_from_mat_q
#define GAN_MAT_FROM_MAT_S   gan_mat44_from_mat_s
#define GAN_MAT_FROM_SQUMAT_Q   gan_mat44_from_squmat_q
#define GAN_MAT_FROM_SQUMAT_S   gan_mat44_from_squmat_s
#define GAN_SQUMAT_FROM_SQUMAT_Q   gan_squmat44_from_squmat_q
#define GAN_SQUMAT_FROM_SQUMAT_S   gan_squmat44_from_squmat_s
#define GAN_SQUMAT_IDENT_Q   gan_mat44_ident_q
#define GAN_SQUMAT_IDENT_Q   gan_symmat44_ident_q
#define GAN_SQUMAT_IDENT_Q   gan_ltmat44_ident_q
#define GAN_SQUMAT_IDENT_S   gan_mat44_ident_s
#define GAN_SQUMAT_IDENT_S   gan_symmat44_ident_s
#define GAN_SQUMAT_IDENT_S   gan_ltmat44_ident_s
#define GAN_SQUMAT_TPOSE_Q   gan_mat44_tpose_q
#define GAN_SQUMAT_TPOSE_S   gan_mat44_tpose_s
#define GAN_SQUMAT_TPOSE_I   gan_mat44_tpose_i
#define GAN_MAT_SADDT_Q   gan_mat44_saddT_q
#define GAN_MAT_SADDT_S   gan_mat44_saddT_s
#define GAN_SQUMAT_INVERT   gan_mat44_invert
#define GAN_SQUMAT_INVERT   gan_symmat44_invert
#define GAN_SQUMAT_INVERT   gan_ltmat44_invert
#define GAN_SQUMAT_INVERT_Q   gan_mat44_invert_q
#define GAN_SQUMAT_INVERT_Q   gan_symmat44_invert_q
#define GAN_SQUMAT_INVERT_Q   gan_ltmat44_invert_q
#define GAN_SQUMAT_INVERT_S   gan_mat44_invert_s
#define GAN_SQUMAT_INVERT_S   gan_symmat44_invert_s
#define GAN_SQUMAT_INVERT_S   gan_ltmat44_invert_s
#define GAN_SQUMAT_INVERT_I   gan_mat44_invert_i
#define GAN_SQUMAT_INVERT_I   gan_symmat44_invert_i
#define GAN_SQUMAT_INVERT_I   gan_ltmat44_invert_i
#define GAN_SQUMAT_ADJOINT_Q   gan_mat44_adjoint_q
#define GAN_SQUMAT_ADJOINT_S   gan_mat44_adjoint_s
#define GAN_SQUMAT_ADJOINTT_Q   gan_mat44_adjointT_q
#define GAN_SQUMAT_ADJOINTT_S   gan_mat44_adjointT_s
#define GAN_SQUMAT_DET_Q   gan_mat44_det_q
#define GAN_SQUMAT_DET_Q   gan_symmat44_det_q
#define GAN_SQUMAT_DET_Q   gan_ltmat44_det_q
#define GAN_SQUMAT_DET_S   gan_mat44_det_s
#define GAN_SQUMAT_DET_S   gan_symmat44_det_s
#define GAN_SQUMAT_DET_S   gan_ltmat44_det_s
#define GAN_SQUMAT_TRACE_Q   gan_mat44_trace_q
#define GAN_SQUMAT_TRACE_Q   gan_symmat44_trace_q
#define GAN_SQUMAT_TRACE_Q   gan_ltmat44_trace_q
#define GAN_SQUMAT_TRACE_S   gan_mat44_trace_s
#define GAN_SQUMAT_TRACE_S   gan_symmat44_trace_s
#define GAN_SQUMAT_TRACE_S   gan_ltmat44_trace_s
#define GAN_FIXED_MATRIX_TYPE   GAN_SYMMETRIC_MATRIX44
#define GAN_FIXED_MATRIX_TYPE   GAN_LOWER_TRI_MATRIX44
#define GAN_FIXED_MATRIX_TYPE   GAN_LOWER_TRI_MATRIX44
#define GAN_VEC_OUTER_SYM_Q   gan_vec44_outer_sym_q
#define GAN_VEC_OUTER_SYM_S   gan_vec44_outer_sym_s
#define GAN_SYMMAT_CHOLESKY   gan_symmat44_cholesky
#define GAN_SYMMAT_CHOLESKY_Q   gan_symmat44_cholesky_q
#define GAN_SYMMAT_CHOLESKY_S   gan_symmat44_cholesky_s
#define GAN_SYMMAT_CHOLESKY_I   gan_symmat44_cholesky_i
#define GAN_MAT_MULTV_I   gan_ltmat44_multv4_i
#define GAN_MATT_MULTV_I   gan_ltmat44T_multv4_i
#define GAN_MAT_SRMULTT_I   gan_ltmat44_srmultT_i
#define GAN_MAT_SLMULTT_I   gan_ltmat44_slmultT_i
#define GAN_SQUMATI_MULTV_Q   gan_ltmat44I_multv4_q
#define GAN_SQUMATI_MULTV_S   gan_ltmat44I_multv4_s
#define GAN_SQUMATI_MULTV_I   gan_ltmat44I_multv4_i
#define GAN_SQUMATIT_MULTV_Q   gan_ltmat44IT_multv4_q
#define GAN_SQUMATIT_MULTV_S   gan_ltmat44IT_multv4_s
#define GAN_SQUMATIT_MULTV_I   gan_ltmat44IT_multv4_i
#define gan_ltmat44T_fwrite   gan_ltmat44_fwrite
#define gan_ltmat44T_fread   gan_ltmat44_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_MATTYPE   Gan_Matrix44
#define GAN_MATTYPE   Gan_SquMatrix44
#define GAN_MATTYPE   Gan_SquMatrix44
#define GAN_MATTYPE   Gan_SquMatrix44
#define GAN_MATRIX_TYPE   Gan_Matrix
#define GAN_MATRIX_TYPE   Gan_SquMatrix
#define GAN_MATRIX_TYPE   Gan_SquMatrix
#define GAN_MATRIX_TYPE   Gan_SquMatrix
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix
#define GAN_VECTOR_TYPE   Gan_Vector
#define GAN_VECTOR_TYPE   Gan_Vector
#define GAN_VECTOR_TYPE   Gan_Vector
#define GAN_VECTOR_TYPE   Gan_Vector
#define GAN_MAT_ELEMENT_TYPE   GAN_DOUBLE
#define GAN_MAT_ELEMENT_TYPE   GAN_DOUBLE
#define GAN_MAT_ELEMENT_TYPE   GAN_DOUBLE
#define GAN_MAT_ELEMENT_TYPE   GAN_DOUBLE
#define GAN_REALTYPE   double
#define GAN_REALTYPE   double
#define GAN_REALTYPE   double
#define GAN_REALTYPE   double
#define GAN_FWRITE_LENDIAN   gan_fwrite_lendian_f64
#define GAN_FWRITE_LENDIAN   gan_fwrite_lendian_f64
#define GAN_FWRITE_LENDIAN   gan_fwrite_lendian_f64
#define GAN_FREAD_LENDIAN   gan_fread_lendian_f64
#define GAN_FREAD_LENDIAN   gan_fread_lendian_f64
#define GAN_FREAD_LENDIAN   gan_fread_lendian_f64
#define GAN_VECTYPE1   Gan_Vector4
#define GAN_VECTYPE1   Gan_Vector4
#define GAN_VECTYPE1   Gan_Vector4
#define GAN_VECTYPE2   Gan_Vector4
#define GAN_VECTYPE2   Gan_Vector4
#define GAN_VECTYPE2   Gan_Vector4
#define GAN_MATTYPEL   Gan_Matrix44
#define GAN_MATTYPER   Gan_Matrix44
#define GAN_SQUMATTYPEL   Gan_SquMatrix44
#define GAN_SQUMATTYPEL   Gan_SquMatrix44
#define GAN_SQUMATTYPER   Gan_SquMatrix44
#define GAN_SQUMATTYPER   Gan_SquMatrix44
#define GAN_MAT_FPRINT   gan_mat44_fprint
#define GAN_MAT_FPRINT   gan_symmat44_fprint
#define GAN_MAT_FPRINT   gan_ltmat44_fprint
#define GAN_MAT_FPRINT   gan_ltmat44T_fprint
#define GAN_MAT_PRINT   gan_mat44_print
#define GAN_MAT_PRINT   gan_symmat44_print
#define GAN_MAT_PRINT   gan_ltmat44_print
#define GAN_MAT_PRINT   gan_ltmat44T_print
#define GAN_MAT_FSCANF   gan_mat44_fscanf
#define GAN_MAT_FSCANF   gan_symmat44_fscanf
#define GAN_MAT_FSCANF   gan_ltmat44_fscanf
#define GAN_MAT_FSCANF   gan_ltmat44T_fscanf
#define GAN_MAT_FWRITE   gan_mat44_fwrite
#define GAN_MAT_FWRITE   gan_symmat44_fwrite
#define GAN_MAT_FWRITE   gan_ltmat44_fwrite
#define GAN_MAT_FREAD   gan_mat44_fread
#define GAN_MAT_FREAD   gan_symmat44_fread
#define GAN_MAT_FREAD   gan_ltmat44_fread
#define GAN_MAT_ZERO_Q   gan_mat44_zero_q
#define GAN_MAT_ZERO_Q   gan_symmat44_zero_q
#define GAN_MAT_ZERO_Q   gan_ltmat44_zero_q
#define GAN_MAT_ZERO_S   gan_mat44_zero_s
#define GAN_MAT_ZERO_S   gan_symmat44_zero_s
#define GAN_MAT_ZERO_S   gan_ltmat44_zero_s
#define GAN_MAT_COPY_Q   gan_mat44_copy_q
#define GAN_MAT_COPY_Q   gan_symmat44_copy_q
#define GAN_MAT_COPY_Q   gan_ltmat44_copy_q
#define GAN_MAT_COPY_S   gan_mat44_copy_s
#define GAN_MAT_COPY_S   gan_symmat44_copy_s
#define GAN_MAT_COPY_S   gan_ltmat44_copy_s
#define GAN_MAT_SCALE_Q   gan_mat44_scale_q
#define GAN_MAT_SCALE_Q   gan_symmat44_scale_q
#define GAN_MAT_SCALE_Q   gan_ltmat44_scale_q
#define GAN_MAT_SCALE_I   gan_mat44_scale_i
#define GAN_MAT_SCALE_I   gan_symmat44_scale_i
#define GAN_MAT_SCALE_I   gan_ltmat44_scale_i
#define GAN_MAT_SCALE_S   gan_mat44_scale_s
#define GAN_MAT_SCALE_S   gan_symmat44_scale_s
#define GAN_MAT_SCALE_S   gan_ltmat44_scale_s
#define GAN_MAT_DIVIDE_Q   gan_mat44_divide_q
#define GAN_MAT_DIVIDE_Q   gan_symmat44_divide_q
#define GAN_MAT_DIVIDE_Q   gan_ltmat44_divide_q
#define GAN_MAT_DIVIDE_I   gan_mat44_divide_i
#define GAN_MAT_DIVIDE_I   gan_symmat44_divide_i
#define GAN_MAT_DIVIDE_I   gan_ltmat44_divide_i
#define GAN_MAT_DIVIDE_S   gan_mat44_divide_s
#define GAN_MAT_DIVIDE_S   gan_symmat44_divide_s
#define GAN_MAT_DIVIDE_S   gan_ltmat44_divide_s
#define GAN_MAT_NEGATE_Q   gan_mat44_negate_q
#define GAN_MAT_NEGATE_Q   gan_symmat44_negate_q
#define GAN_MAT_NEGATE_Q   gan_ltmat44_negate_q
#define GAN_MAT_NEGATE_I   gan_mat44_negate_i
#define GAN_MAT_NEGATE_I   gan_symmat44_negate_i
#define GAN_MAT_NEGATE_I   gan_ltmat44_negate_i
#define GAN_MAT_NEGATE_S   gan_mat44_negate_s
#define GAN_MAT_NEGATE_S   gan_symmat44_negate_s
#define GAN_MAT_NEGATE_S   gan_ltmat44_negate_s
#define GAN_MAT_UNIT_Q   gan_mat44_unit_q
#define GAN_MAT_UNIT_Q   gan_symmat44_unit_q
#define GAN_MAT_UNIT_Q   gan_ltmat44_unit_q
#define GAN_MAT_UNIT_I   gan_mat44_unit_i
#define GAN_MAT_UNIT_I   gan_symmat44_unit_i
#define GAN_MAT_UNIT_I   gan_ltmat44_unit_i
#define GAN_MAT_UNIT_S   gan_mat44_unit_s
#define GAN_MAT_UNIT_S   gan_symmat44_unit_s
#define GAN_MAT_UNIT_S   gan_ltmat44_unit_s
#define GAN_MAT_ADD_Q   gan_mat44_add_q
#define GAN_MAT_ADD_Q   gan_symmat44_add_q
#define GAN_MAT_ADD_Q   gan_ltmat44_add_q
#define GAN_MAT_ADD_I1   gan_mat44_add_i1
#define GAN_MAT_ADD_I1   gan_symmat44_add_i1
#define GAN_MAT_ADD_I1   gan_ltmat44_add_i1
#define GAN_MAT_ADD_I2   gan_mat44_add_i2
#define GAN_MAT_ADD_I2   gan_symmat44_add_i2
#define GAN_MAT_ADD_I2   gan_ltmat44_add_i2
#define GAN_MAT_INCREMENT   gan_mat44_increment
#define GAN_MAT_INCREMENT   gan_symmat44_increment
#define GAN_MAT_INCREMENT   gan_ltmat44_increment
#define GAN_MAT_ADD_S   gan_mat44_add_s
#define GAN_MAT_ADD_S   gan_symmat44_add_s
#define GAN_MAT_ADD_S   gan_ltmat44_add_s
#define GAN_MAT_SUB_Q   gan_mat44_sub_q
#define GAN_MAT_SUB_Q   gan_symmat44_sub_q
#define GAN_MAT_SUB_Q   gan_ltmat44_sub_q
#define GAN_MAT_SUB_I1   gan_mat44_sub_i1
#define GAN_MAT_SUB_I1   gan_symmat44_sub_i1
#define GAN_MAT_SUB_I1   gan_ltmat44_sub_i1
#define GAN_MAT_SUB_I2   gan_mat44_sub_i2
#define GAN_MAT_SUB_I2   gan_symmat44_sub_i2
#define GAN_MAT_SUB_I2   gan_ltmat44_sub_i2
#define GAN_MAT_DECREMENT   gan_mat44_decrement
#define GAN_MAT_DECREMENT   gan_symmat44_decrement
#define GAN_MAT_DECREMENT   gan_ltmat44_decrement
#define GAN_MAT_SUB_S   gan_mat44_sub_s
#define GAN_MAT_SUB_S   gan_symmat44_sub_s
#define GAN_MAT_SUB_S   gan_ltmat44_sub_s
#define GAN_VEC_OUTER_Q   gan_vec44_outer_q
#define GAN_VEC_OUTER_S   gan_vec44_outer_s
#define GAN_MAT_MULTV_Q   gan_mat44_multv4_q
#define GAN_MAT_MULTV_Q   gan_symmat44_multv4_q
#define GAN_MAT_MULTV_Q   gan_ltmat44_multv4_q
#define GAN_MAT_MULTV_S   gan_mat44_multv4_s
#define GAN_MAT_MULTV_S   gan_symmat44_multv4_s
#define GAN_MAT_MULTV_S   gan_ltmat44_multv4_s
#define GAN_MATT_MULTV_Q   gan_mat44T_multv4_q
#define GAN_MATT_MULTV_Q   gan_ltmat44T_multv4_q
#define GAN_MATT_MULTV_S   gan_mat44T_multv4_s
#define GAN_MATT_MULTV_S   gan_ltmat44T_multv4_s
#define GAN_MAT_LMULTMT_Q   gan_mat44_lmultm44T_q
#define GAN_MAT_LMULTMT_S   gan_mat44_lmultm44T_s
#define GAN_MAT_RMULTM_Q   gan_mat44_rmultm44_q
#define GAN_MAT_RMULTM_S   gan_mat44_rmultm44_s
#define GAN_MAT_RMULTMT_Q   gan_mat44_rmultm44T_q
#define GAN_MAT_RMULTMT_S   gan_mat44_rmultm44T_s
#define GAN_MAT_LMULTMT_SYM_Q   gan_mat44_lmultm44T_sym_q
#define GAN_MAT_LMULTMT_SYM_S   gan_mat44_lmultm44T_sym_s
#define GAN_MAT_RMULTMT_SYM_Q   gan_mat44_rmultm44T_sym_q
#define GAN_MAT_RMULTMT_SYM_S   gan_mat44_rmultm44T_sym_s
#define GAN_MAT_SLMULTT_Q   gan_mat44_slmultT_q
#define GAN_MAT_SLMULTT_Q   gan_ltmat44_slmultT_q
#define GAN_MAT_SLMULTT_S   gan_mat44_slmultT_s
#define GAN_MAT_SLMULTT_S   gan_ltmat44_slmultT_s
#define GAN_MAT_SRMULTT_Q   gan_mat44_srmultT_q
#define GAN_MAT_SRMULTT_Q   gan_ltmat44_srmultT_q
#define GAN_MAT_SRMULTT_S   gan_mat44_srmultT_s
#define GAN_MAT_SRMULTT_S   gan_ltmat44_srmultT_s
#define GAN_MAT_LMULTS_Q   gan_mat44_lmults44_q
#define GAN_MAT_LMULTS_S   gan_mat44_lmults44_s
#define GAN_MAT_RMULTS_Q   gan_mat44_rmults44_q
#define GAN_MAT_RMULTS_S   gan_mat44_rmults44_s
#define GAN_SYMMATL_LRMULT_Q   gan_symmat44_lrmultm44T_q
#define GAN_SYMMATL_LRMULT_S   gan_symmat44_lrmultm44T_s
#define GAN_SYMMATR_LRMULT_Q   gan_symmat44_lrmultm44_q
#define GAN_SYMMATR_LRMULT_S   gan_symmat44_lrmultm44_s
#define GAN_MAT_LMULTL_Q   gan_mat44_lmultl44_q
#define GAN_MAT_LMULTL_S   gan_mat44_lmultl44_s
#define GAN_MAT_LMULTL_I   gan_mat44_lmultl44_i
#define GAN_MAT_LMULTLI_Q   gan_mat44_lmultl44I_q
#define GAN_MAT_LMULTLI_S   gan_mat44_lmultl44I_s
#define GAN_MAT_LMULTLI_I   gan_mat44_lmultl44I_i
#define GAN_MAT_LMULTLT_Q   gan_mat44_lmultl44T_q
#define GAN_MAT_LMULTLT_S   gan_mat44_lmultl44T_s
#define GAN_MAT_LMULTLT_I   gan_mat44_lmultl44T_i
#define GAN_MAT_LMULTLIT_Q   gan_mat44_lmultl44IT_q
#define GAN_MAT_LMULTLIT_S   gan_mat44_lmultl44IT_s
#define GAN_MAT_LMULTLIT_I   gan_mat44_lmultl44IT_i
#define GAN_MAT_RMULTL_Q   gan_mat44_rmultl44_q
#define GAN_MAT_RMULTL_S   gan_mat44_rmultl44_s
#define GAN_MAT_RMULTL_I   gan_mat44_rmultl44_i
#define GAN_MAT_RMULTLI_Q   gan_mat44_rmultl44I_q
#define GAN_MAT_RMULTLI_S   gan_mat44_rmultl44I_s
#define GAN_MAT_RMULTLI_I   gan_mat44_rmultl44I_i
#define GAN_MAT_RMULTLT_Q   gan_mat44_rmultl44T_q
#define GAN_MAT_RMULTLT_S   gan_mat44_rmultl44T_s
#define GAN_MAT_RMULTLT_I   gan_mat44_rmultl44T_i
#define GAN_MAT_RMULTLIT_Q   gan_mat44_rmultl44IT_q
#define GAN_MAT_RMULTLIT_S   gan_mat44_rmultl44IT_s
#define GAN_MAT_RMULTLIT_I   gan_mat44_rmultl44IT_i
#define GAN_MAT_SUMSQR_Q   gan_mat44_sumsqr_q
#define GAN_MAT_SUMSQR_Q   gan_symmat44_sumsqr_q
#define GAN_MAT_SUMSQR_Q   gan_ltmat44_sumsqr_q
#define GAN_MAT_SUMSQR_S   gan_mat44_sumsqr_s
#define GAN_MAT_SUMSQR_S   gan_symmat44_sumsqr_s
#define GAN_MAT_SUMSQR_S   gan_ltmat44_sumsqr_s
#define GAN_MAT_FNORM_Q   gan_mat44_Fnorm_q
#define GAN_MAT_FNORM_Q   gan_symmat44_Fnorm_q
#define GAN_MAT_FNORM_Q   gan_ltmat44_Fnorm_q
#define GAN_MAT_FNORM_S   gan_mat44_Fnorm_s
#define GAN_MAT_FNORM_S   gan_symmat44_Fnorm_s
#define GAN_MAT_FNORM_S   gan_ltmat44_Fnorm_s
#define GAN_MAT_FROM_MAT_Q   gan_mat44_from_mat_q
#define GAN_MAT_FROM_MAT_S   gan_mat44_from_mat_s
#define GAN_MAT_FROM_SQUMAT_Q   gan_mat44_from_squmat_q
#define GAN_MAT_FROM_SQUMAT_S   gan_mat44_from_squmat_s
#define GAN_SQUMAT_FROM_SQUMAT_Q   gan_squmat44_from_squmat_q
#define GAN_SQUMAT_FROM_SQUMAT_S   gan_squmat44_from_squmat_s
#define GAN_SQUMAT_IDENT_Q   gan_mat44_ident_q
#define GAN_SQUMAT_IDENT_Q   gan_symmat44_ident_q
#define GAN_SQUMAT_IDENT_Q   gan_ltmat44_ident_q
#define GAN_SQUMAT_IDENT_S   gan_mat44_ident_s
#define GAN_SQUMAT_IDENT_S   gan_symmat44_ident_s
#define GAN_SQUMAT_IDENT_S   gan_ltmat44_ident_s
#define GAN_SQUMAT_TPOSE_Q   gan_mat44_tpose_q
#define GAN_SQUMAT_TPOSE_S   gan_mat44_tpose_s
#define GAN_SQUMAT_TPOSE_I   gan_mat44_tpose_i
#define GAN_MAT_SADDT_Q   gan_mat44_saddT_q
#define GAN_MAT_SADDT_S   gan_mat44_saddT_s
#define GAN_SQUMAT_INVERT   gan_mat44_invert
#define GAN_SQUMAT_INVERT   gan_symmat44_invert
#define GAN_SQUMAT_INVERT   gan_ltmat44_invert
#define GAN_SQUMAT_INVERT_Q   gan_mat44_invert_q
#define GAN_SQUMAT_INVERT_Q   gan_symmat44_invert_q
#define GAN_SQUMAT_INVERT_Q   gan_ltmat44_invert_q
#define GAN_SQUMAT_INVERT_S   gan_mat44_invert_s
#define GAN_SQUMAT_INVERT_S   gan_symmat44_invert_s
#define GAN_SQUMAT_INVERT_S   gan_ltmat44_invert_s
#define GAN_SQUMAT_INVERT_I   gan_mat44_invert_i
#define GAN_SQUMAT_INVERT_I   gan_symmat44_invert_i
#define GAN_SQUMAT_INVERT_I   gan_ltmat44_invert_i
#define GAN_SQUMAT_ADJOINT_Q   gan_mat44_adjoint_q
#define GAN_SQUMAT_ADJOINT_S   gan_mat44_adjoint_s
#define GAN_SQUMAT_ADJOINTT_Q   gan_mat44_adjointT_q
#define GAN_SQUMAT_ADJOINTT_S   gan_mat44_adjointT_s
#define GAN_SQUMAT_DET_Q   gan_mat44_det_q
#define GAN_SQUMAT_DET_Q   gan_symmat44_det_q
#define GAN_SQUMAT_DET_Q   gan_ltmat44_det_q
#define GAN_SQUMAT_DET_S   gan_mat44_det_s
#define GAN_SQUMAT_DET_S   gan_symmat44_det_s
#define GAN_SQUMAT_DET_S   gan_ltmat44_det_s
#define GAN_SQUMAT_TRACE_Q   gan_mat44_trace_q
#define GAN_SQUMAT_TRACE_Q   gan_symmat44_trace_q
#define GAN_SQUMAT_TRACE_Q   gan_ltmat44_trace_q
#define GAN_SQUMAT_TRACE_S   gan_mat44_trace_s
#define GAN_SQUMAT_TRACE_S   gan_symmat44_trace_s
#define GAN_SQUMAT_TRACE_S   gan_ltmat44_trace_s
#define GAN_FIXED_MATRIX_TYPE   GAN_SYMMETRIC_MATRIX44
#define GAN_FIXED_MATRIX_TYPE   GAN_LOWER_TRI_MATRIX44
#define GAN_FIXED_MATRIX_TYPE   GAN_LOWER_TRI_MATRIX44
#define GAN_VEC_OUTER_SYM_Q   gan_vec44_outer_sym_q
#define GAN_VEC_OUTER_SYM_S   gan_vec44_outer_sym_s
#define GAN_SYMMAT_CHOLESKY   gan_symmat44_cholesky
#define GAN_SYMMAT_CHOLESKY_Q   gan_symmat44_cholesky_q
#define GAN_SYMMAT_CHOLESKY_S   gan_symmat44_cholesky_s
#define GAN_SYMMAT_CHOLESKY_I   gan_symmat44_cholesky_i
#define GAN_MAT_MULTV_I   gan_ltmat44_multv4_i
#define GAN_MATT_MULTV_I   gan_ltmat44T_multv4_i
#define GAN_MAT_SRMULTT_I   gan_ltmat44_srmultT_i
#define GAN_MAT_SLMULTT_I   gan_ltmat44_slmultT_i
#define GAN_SQUMATI_MULTV_Q   gan_ltmat44I_multv4_q
#define GAN_SQUMATI_MULTV_S   gan_ltmat44I_multv4_s
#define GAN_SQUMATI_MULTV_I   gan_ltmat44I_multv4_i
#define GAN_SQUMATIT_MULTV_Q   gan_ltmat44IT_multv4_q
#define GAN_SQUMATIT_MULTV_S   gan_ltmat44IT_multv4_s
#define GAN_SQUMATIT_MULTV_I   gan_ltmat44IT_multv4_i
#define gan_ltmat44T_fwrite   gan_ltmat44_fwrite
#define gan_ltmat44T_fread   gan_ltmat44_fread
#define GAN_MATTYPE   Gan_Matrix44_f
#define GAN_MATTYPE   Gan_SquMatrix44_f
#define GAN_MATTYPE   Gan_SquMatrix44_f
#define GAN_MATTYPE   Gan_SquMatrix44_f
#define GAN_MATRIX_TYPE   Gan_Matrix_f
#define GAN_MATRIX_TYPE   Gan_SquMatrix_f
#define GAN_MATRIX_TYPE   Gan_SquMatrix_f
#define GAN_MATRIX_TYPE   Gan_SquMatrix_f
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix_f
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix_f
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix_f
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix_f
#define GAN_VECTOR_TYPE   Gan_Vector_f
#define GAN_VECTOR_TYPE   Gan_Vector_f
#define GAN_VECTOR_TYPE   Gan_Vector_f
#define GAN_VECTOR_TYPE   Gan_Vector_f
#define GAN_MAT_ELEMENT_TYPE   GAN_FLOAT
#define GAN_MAT_ELEMENT_TYPE   GAN_FLOAT
#define GAN_MAT_ELEMENT_TYPE   GAN_FLOAT
#define GAN_MAT_ELEMENT_TYPE   GAN_FLOAT
#define GAN_REALTYPE   float
#define GAN_REALTYPE   float
#define GAN_REALTYPE   float
#define GAN_REALTYPE   float
#define GAN_FWRITE_LENDIAN   gan_fwrite_lendian_f32
#define GAN_FWRITE_LENDIAN   gan_fwrite_lendian_f32
#define GAN_FWRITE_LENDIAN   gan_fwrite_lendian_f32
#define GAN_FREAD_LENDIAN   gan_fread_lendian_f32
#define GAN_FREAD_LENDIAN   gan_fread_lendian_f32
#define GAN_FREAD_LENDIAN   gan_fread_lendian_f32
#define GAN_VECTYPE1   Gan_Vector4_f
#define GAN_VECTYPE1   Gan_Vector4_f
#define GAN_VECTYPE1   Gan_Vector4_f
#define GAN_VECTYPE2   Gan_Vector4_f
#define GAN_VECTYPE2   Gan_Vector4_f
#define GAN_VECTYPE2   Gan_Vector4_f
#define GAN_MATTYPEL   Gan_Matrix44_f
#define GAN_MATTYPER   Gan_Matrix44_f
#define GAN_SQUMATTYPEL   Gan_SquMatrix44_f
#define GAN_SQUMATTYPEL   Gan_SquMatrix44_f
#define GAN_SQUMATTYPER   Gan_SquMatrix44_f
#define GAN_SQUMATTYPER   Gan_SquMatrix44_f
#define GAN_MAT_FPRINT   gan_mat44f_fprint
#define GAN_MAT_FPRINT   gan_symmat44f_fprint
#define GAN_MAT_FPRINT   gan_ltmat44f_fprint
#define GAN_MAT_FPRINT   gan_ltmat44Tf_fprint
#define GAN_MAT_PRINT   gan_mat44f_print
#define GAN_MAT_PRINT   gan_symmat44f_print
#define GAN_MAT_PRINT   gan_ltmat44f_print
#define GAN_MAT_PRINT   gan_ltmat44Tf_print
#define GAN_MAT_FSCANF   gan_mat44f_fscanf
#define GAN_MAT_FSCANF   gan_symmat44f_fscanf
#define GAN_MAT_FSCANF   gan_ltmat44f_fscanf
#define GAN_MAT_FSCANF   gan_ltmat44Tf_fscanf
#define GAN_MAT_FWRITE   gan_mat44f_fwrite
#define GAN_MAT_FWRITE   gan_symmat44f_fwrite
#define GAN_MAT_FWRITE   gan_ltmat44f_fwrite
#define GAN_MAT_FREAD   gan_mat44f_fread
#define GAN_MAT_FREAD   gan_symmat44f_fread
#define GAN_MAT_FREAD   gan_ltmat44f_fread
#define GAN_MAT_ZERO_Q   gan_mat44f_zero_q
#define GAN_MAT_ZERO_Q   gan_symmat44f_zero_q
#define GAN_MAT_ZERO_Q   gan_ltmat44f_zero_q
#define GAN_MAT_ZERO_S   gan_mat44f_zero_s
#define GAN_MAT_ZERO_S   gan_symmat44f_zero_s
#define GAN_MAT_ZERO_S   gan_ltmat44f_zero_s
#define GAN_MAT_COPY_Q   gan_mat44f_copy_q
#define GAN_MAT_COPY_Q   gan_symmat44f_copy_q
#define GAN_MAT_COPY_Q   gan_ltmat44f_copy_q
#define GAN_MAT_COPY_S   gan_mat44f_copy_s
#define GAN_MAT_COPY_S   gan_symmat44f_copy_s
#define GAN_MAT_COPY_S   gan_ltmat44f_copy_s
#define GAN_MAT_SCALE_Q   gan_mat44f_scale_q
#define GAN_MAT_SCALE_Q   gan_symmat44f_scale_q
#define GAN_MAT_SCALE_Q   gan_ltmat44f_scale_q
#define GAN_MAT_SCALE_I   gan_mat44f_scale_i
#define GAN_MAT_SCALE_I   gan_symmat44f_scale_i
#define GAN_MAT_SCALE_I   gan_ltmat44f_scale_i
#define GAN_MAT_SCALE_S   gan_mat44f_scale_s
#define GAN_MAT_SCALE_S   gan_symmat44f_scale_s
#define GAN_MAT_SCALE_S   gan_ltmat44f_scale_s
#define GAN_MAT_DIVIDE_Q   gan_mat44f_divide_q
#define GAN_MAT_DIVIDE_Q   gan_symmat44f_divide_q
#define GAN_MAT_DIVIDE_Q   gan_ltmat44f_divide_q
#define GAN_MAT_DIVIDE_I   gan_mat44f_divide_i
#define GAN_MAT_DIVIDE_I   gan_symmat44f_divide_i
#define GAN_MAT_DIVIDE_I   gan_ltmat44f_divide_i
#define GAN_MAT_DIVIDE_S   gan_mat44f_divide_s
#define GAN_MAT_DIVIDE_S   gan_symmat44f_divide_s
#define GAN_MAT_DIVIDE_S   gan_ltmat44f_divide_s
#define GAN_MAT_NEGATE_Q   gan_mat44f_negate_q
#define GAN_MAT_NEGATE_Q   gan_symmat44f_negate_q
#define GAN_MAT_NEGATE_Q   gan_ltmat44f_negate_q
#define GAN_MAT_NEGATE_I   gan_mat44f_negate_i
#define GAN_MAT_NEGATE_I   gan_symmat44f_negate_i
#define GAN_MAT_NEGATE_I   gan_ltmat44f_negate_i
#define GAN_MAT_NEGATE_S   gan_mat44f_negate_s
#define GAN_MAT_NEGATE_S   gan_symmat44f_negate_s
#define GAN_MAT_NEGATE_S   gan_ltmat44f_negate_s
#define GAN_MAT_UNIT_Q   gan_mat44f_unit_q
#define GAN_MAT_UNIT_Q   gan_symmat44f_unit_q
#define GAN_MAT_UNIT_Q   gan_ltmat44f_unit_q
#define GAN_MAT_UNIT_I   gan_mat44f_unit_i
#define GAN_MAT_UNIT_I   gan_symmat44f_unit_i
#define GAN_MAT_UNIT_I   gan_ltmat44f_unit_i
#define GAN_MAT_UNIT_S   gan_mat44f_unit_s
#define GAN_MAT_UNIT_S   gan_symmat44f_unit_s
#define GAN_MAT_UNIT_S   gan_ltmat44f_unit_s
#define GAN_MAT_ADD_Q   gan_mat44f_add_q
#define GAN_MAT_ADD_Q   gan_symmat44f_add_q
#define GAN_MAT_ADD_Q   gan_ltmat44f_add_q
#define GAN_MAT_ADD_I1   gan_mat44f_add_i1
#define GAN_MAT_ADD_I1   gan_symmat44f_add_i1
#define GAN_MAT_ADD_I1   gan_ltmat44f_add_i1
#define GAN_MAT_ADD_I2   gan_mat44f_add_i2
#define GAN_MAT_ADD_I2   gan_symmat44f_add_i2
#define GAN_MAT_ADD_I2   gan_ltmat44f_add_i2
#define GAN_MAT_INCREMENT   gan_mat44f_increment
#define GAN_MAT_INCREMENT   gan_symmat44f_increment
#define GAN_MAT_INCREMENT   gan_ltmat44f_increment
#define GAN_MAT_ADD_S   gan_mat44f_add_s
#define GAN_MAT_ADD_S   gan_symmat44f_add_s
#define GAN_MAT_ADD_S   gan_ltmat44f_add_s
#define GAN_MAT_SUB_Q   gan_mat44f_sub_q
#define GAN_MAT_SUB_Q   gan_symmat44f_sub_q
#define GAN_MAT_SUB_Q   gan_ltmat44f_sub_q
#define GAN_MAT_SUB_I1   gan_mat44f_sub_i1
#define GAN_MAT_SUB_I1   gan_symmat44f_sub_i1
#define GAN_MAT_SUB_I1   gan_ltmat44f_sub_i1
#define GAN_MAT_SUB_I2   gan_mat44f_sub_i2
#define GAN_MAT_SUB_I2   gan_symmat44f_sub_i2
#define GAN_MAT_SUB_I2   gan_ltmat44f_sub_i2
#define GAN_MAT_DECREMENT   gan_mat44f_decrement
#define GAN_MAT_DECREMENT   gan_symmat44f_decrement
#define GAN_MAT_DECREMENT   gan_ltmat44f_decrement
#define GAN_MAT_SUB_S   gan_mat44f_sub_s
#define GAN_MAT_SUB_S   gan_symmat44f_sub_s
#define GAN_MAT_SUB_S   gan_ltmat44f_sub_s
#define GAN_VEC_OUTER_Q   gan_vec44f_outer_q
#define GAN_VEC_OUTER_S   gan_vec44f_outer_s
#define GAN_MAT_MULTV_Q   gan_mat44f_multv4_q
#define GAN_MAT_MULTV_Q   gan_symmat44f_multv4_q
#define GAN_MAT_MULTV_Q   gan_ltmat44f_multv4_q
#define GAN_MAT_MULTV_S   gan_mat44f_multv4_s
#define GAN_MAT_MULTV_S   gan_symmat44f_multv4_s
#define GAN_MAT_MULTV_S   gan_ltmat44f_multv4_s
#define GAN_MATT_MULTV_Q   gan_mat44Tf_multv4_q
#define GAN_MATT_MULTV_Q   gan_ltmat44Tf_multv4_q
#define GAN_MATT_MULTV_S   gan_mat44Tf_multv4_s
#define GAN_MATT_MULTV_S   gan_ltmat44Tf_multv4_s
#define GAN_MAT_LMULTMT_Q   gan_mat44f_lmultm44T_q
#define GAN_MAT_LMULTMT_S   gan_mat44f_lmultm44T_s
#define GAN_MAT_RMULTM_Q   gan_mat44f_rmultm44_q
#define GAN_MAT_RMULTM_S   gan_mat44f_rmultm44_s
#define GAN_MAT_RMULTMT_Q   gan_mat44f_rmultm44T_q
#define GAN_MAT_RMULTMT_S   gan_mat44f_rmultm44T_s
#define GAN_MAT_LMULTMT_SYM_Q   gan_mat44f_lmultm44T_sym_q
#define GAN_MAT_LMULTMT_SYM_S   gan_mat44f_lmultm44T_sym_s
#define GAN_MAT_RMULTMT_SYM_Q   gan_mat44f_rmultm44T_sym_q
#define GAN_MAT_RMULTMT_SYM_S   gan_mat44f_rmultm44T_sym_s
#define GAN_MAT_SLMULTT_Q   gan_mat44f_slmultT_q
#define GAN_MAT_SLMULTT_Q   gan_ltmat44f_slmultT_q
#define GAN_MAT_SLMULTT_S   gan_mat44f_slmultT_s
#define GAN_MAT_SLMULTT_S   gan_ltmat44f_slmultT_s
#define GAN_MAT_SRMULTT_Q   gan_mat44f_srmultT_q
#define GAN_MAT_SRMULTT_Q   gan_ltmat44f_srmultT_q
#define GAN_MAT_SRMULTT_S   gan_mat44f_srmultT_s
#define GAN_MAT_SRMULTT_S   gan_ltmat44f_srmultT_s
#define GAN_MAT_LMULTS_Q   gan_mat44f_lmults44_q
#define GAN_MAT_LMULTS_S   gan_mat44f_lmults44_s
#define GAN_MAT_RMULTS_Q   gan_mat44f_rmults44_q
#define GAN_MAT_RMULTS_S   gan_mat44f_rmults44_s
#define GAN_SYMMATL_LRMULT_Q   gan_symmat44f_lrmultm44T_q
#define GAN_SYMMATL_LRMULT_S   gan_symmat44f_lrmultm44T_s
#define GAN_SYMMATR_LRMULT_Q   gan_symmat44f_lrmultm44_q
#define GAN_SYMMATR_LRMULT_S   gan_symmat44f_lrmultm44_s
#define GAN_MAT_LMULTL_Q   gan_mat44f_lmultl44_q
#define GAN_MAT_LMULTL_S   gan_mat44f_lmultl44_s
#define GAN_MAT_LMULTL_I   gan_mat44f_lmultl44_i
#define GAN_MAT_LMULTLI_Q   gan_mat44f_lmultl44I_q
#define GAN_MAT_LMULTLI_S   gan_mat44f_lmultl44I_s
#define GAN_MAT_LMULTLI_I   gan_mat44f_lmultl44I_i
#define GAN_MAT_LMULTLT_Q   gan_mat44f_lmultl44T_q
#define GAN_MAT_LMULTLT_S   gan_mat44f_lmultl44T_s
#define GAN_MAT_LMULTLT_I   gan_mat44f_lmultl44T_i
#define GAN_MAT_LMULTLIT_Q   gan_mat44f_lmultl44IT_q
#define GAN_MAT_LMULTLIT_S   gan_mat44f_lmultl44IT_s
#define GAN_MAT_LMULTLIT_I   gan_mat44f_lmultl44IT_i
#define GAN_MAT_RMULTL_Q   gan_mat44f_rmultl44_q
#define GAN_MAT_RMULTL_S   gan_mat44f_rmultl44_s
#define GAN_MAT_RMULTL_I   gan_mat44f_rmultl44_i
#define GAN_MAT_RMULTLI_Q   gan_mat44f_rmultl44I_q
#define GAN_MAT_RMULTLI_S   gan_mat44f_rmultl44I_s
#define GAN_MAT_RMULTLI_I   gan_mat44f_rmultl44I_i
#define GAN_MAT_RMULTLT_Q   gan_mat44f_rmultl44T_q
#define GAN_MAT_RMULTLT_S   gan_mat44f_rmultl44T_s
#define GAN_MAT_RMULTLT_I   gan_mat44f_rmultl44T_i
#define GAN_MAT_RMULTLIT_Q   gan_mat44f_rmultl44IT_q
#define GAN_MAT_RMULTLIT_S   gan_mat44f_rmultl44IT_s
#define GAN_MAT_RMULTLIT_I   gan_mat44f_rmultl44IT_i
#define GAN_MAT_SUMSQR_Q   gan_mat44f_sumsqr_q
#define GAN_MAT_SUMSQR_Q   gan_symmat44f_sumsqr_q
#define GAN_MAT_SUMSQR_Q   gan_ltmat44f_sumsqr_q
#define GAN_MAT_SUMSQR_S   gan_mat44f_sumsqr_s
#define GAN_MAT_SUMSQR_S   gan_symmat44f_sumsqr_s
#define GAN_MAT_SUMSQR_S   gan_ltmat44f_sumsqr_s
#define GAN_MAT_FNORM_Q   gan_mat44f_Fnorm_q
#define GAN_MAT_FNORM_Q   gan_symmat44f_Fnorm_q
#define GAN_MAT_FNORM_Q   gan_ltmat44f_Fnorm_q
#define GAN_MAT_FNORM_S   gan_mat44f_Fnorm_s
#define GAN_MAT_FNORM_S   gan_symmat44f_Fnorm_s
#define GAN_MAT_FNORM_S   gan_ltmat44f_Fnorm_s
#define GAN_MAT_FROM_MAT_Q   gan_mat44f_from_matf_q
#define GAN_MAT_FROM_MAT_S   gan_mat44f_from_matf_s
#define GAN_MAT_FROM_SQUMAT_Q   gan_mat44f_from_squmatf_q
#define GAN_MAT_FROM_SQUMAT_S   gan_mat44f_from_squmatf_s
#define GAN_SQUMAT_FROM_SQUMAT_Q   gan_squmat44f_from_squmatf_q
#define GAN_SQUMAT_FROM_SQUMAT_S   gan_squmat44f_from_squmatf_s
#define GAN_SQUMAT_IDENT_Q   gan_mat44f_ident_q
#define GAN_SQUMAT_IDENT_Q   gan_symmat44f_ident_q
#define GAN_SQUMAT_IDENT_Q   gan_ltmat44f_ident_q
#define GAN_SQUMAT_IDENT_S   gan_mat44f_ident_s
#define GAN_SQUMAT_IDENT_S   gan_symmat44f_ident_s
#define GAN_SQUMAT_IDENT_S   gan_ltmat44f_ident_s
#define GAN_SQUMAT_TPOSE_Q   gan_mat44f_tpose_q
#define GAN_SQUMAT_TPOSE_S   gan_mat44f_tpose_s
#define GAN_SQUMAT_TPOSE_I   gan_mat44f_tpose_i
#define GAN_MAT_SADDT_Q   gan_mat44f_saddT_q
#define GAN_MAT_SADDT_S   gan_mat44f_saddT_s
#define GAN_SQUMAT_INVERT   gan_mat44f_invert
#define GAN_SQUMAT_INVERT   gan_symmat44f_invert
#define GAN_SQUMAT_INVERT   gan_ltmat44f_invert
#define GAN_SQUMAT_INVERT_Q   gan_mat44f_invert_q
#define GAN_SQUMAT_INVERT_Q   gan_symmat44f_invert_q
#define GAN_SQUMAT_INVERT_Q   gan_ltmat44f_invert_q
#define GAN_SQUMAT_INVERT_S   gan_mat44f_invert_s
#define GAN_SQUMAT_INVERT_S   gan_symmat44f_invert_s
#define GAN_SQUMAT_INVERT_S   gan_ltmat44f_invert_s
#define GAN_SQUMAT_INVERT_I   gan_mat44f_invert_i
#define GAN_SQUMAT_INVERT_I   gan_symmat44f_invert_i
#define GAN_SQUMAT_INVERT_I   gan_ltmat44f_invert_i
#define GAN_SQUMAT_ADJOINT_Q   gan_mat44f_adjoint_q
#define GAN_SQUMAT_ADJOINT_S   gan_mat44f_adjoint_s
#define GAN_SQUMAT_ADJOINTT_Q   gan_mat44f_adjointT_q
#define GAN_SQUMAT_ADJOINTT_S   gan_mat44f_adjointT_s
#define GAN_SQUMAT_DET_Q   gan_mat44f_det_q
#define GAN_SQUMAT_DET_Q   gan_symmat44f_det_q
#define GAN_SQUMAT_DET_Q   gan_ltmat44f_det_q
#define GAN_SQUMAT_DET_S   gan_mat44f_det_s
#define GAN_SQUMAT_DET_S   gan_symmat44f_det_s
#define GAN_SQUMAT_DET_S   gan_ltmat44f_det_s
#define GAN_SQUMAT_TRACE_Q   gan_mat44f_trace_q
#define GAN_SQUMAT_TRACE_Q   gan_symmat44f_trace_q
#define GAN_SQUMAT_TRACE_Q   gan_ltmat44f_trace_q
#define GAN_SQUMAT_TRACE_S   gan_mat44f_trace_s
#define GAN_SQUMAT_TRACE_S   gan_symmat44f_trace_s
#define GAN_SQUMAT_TRACE_S   gan_ltmat44f_trace_s
#define GAN_FIXED_MATRIX_TYPE   GAN_SYMMETRIC_MATRIX44_F
#define GAN_FIXED_MATRIX_TYPE   GAN_LOWER_TRI_MATRIX44_F
#define GAN_FIXED_MATRIX_TYPE   GAN_LOWER_TRI_MATRIX44_F
#define GAN_VEC_OUTER_SYM_Q   gan_vec44f_outer_sym_q
#define GAN_VEC_OUTER_SYM_S   gan_vec44f_outer_sym_s
#define GAN_SYMMAT_CHOLESKY   gan_symmat44f_cholesky
#define GAN_SYMMAT_CHOLESKY_Q   gan_symmat44f_cholesky_q
#define GAN_SYMMAT_CHOLESKY_S   gan_symmat44f_cholesky_s
#define GAN_SYMMAT_CHOLESKY_I   gan_symmat44f_cholesky_i
#define GAN_MAT_MULTV_I   gan_ltmat44f_multv4_i
#define GAN_MATT_MULTV_I   gan_ltmat44Tf_multv4_i
#define GAN_MAT_SRMULTT_I   gan_ltmat44f_srmultT_i
#define GAN_MAT_SLMULTT_I   gan_ltmat44f_slmultT_i
#define GAN_SQUMATI_MULTV_Q   gan_ltmat44If_multv4_q
#define GAN_SQUMATI_MULTV_S   gan_ltmat44If_multv4_s
#define GAN_SQUMATI_MULTV_I   gan_ltmat44If_multv4_i
#define GAN_SQUMATIT_MULTV_Q   gan_ltmat44ITf_multv4_q
#define GAN_SQUMATIT_MULTV_S   gan_ltmat44ITf_multv4_s
#define GAN_SQUMATIT_MULTV_I   gan_ltmat44ITf_multv4_i
#define gan_ltmat44Tf_fwrite   gan_ltmat44f_fwrite
#define gan_ltmat44Tf_fread   gan_ltmat44f_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_MATTYPE   Gan_Matrix44_f
#define GAN_MATTYPE   Gan_SquMatrix44_f
#define GAN_MATTYPE   Gan_SquMatrix44_f
#define GAN_MATTYPE   Gan_SquMatrix44_f
#define GAN_MATRIX_TYPE   Gan_Matrix_f
#define GAN_MATRIX_TYPE   Gan_SquMatrix_f
#define GAN_MATRIX_TYPE   Gan_SquMatrix_f
#define GAN_MATRIX_TYPE   Gan_SquMatrix_f
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix_f
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix_f
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix_f
#define GAN_SQUMATRIX_TYPE   Gan_SquMatrix_f
#define GAN_VECTOR_TYPE   Gan_Vector_f
#define GAN_VECTOR_TYPE   Gan_Vector_f
#define GAN_VECTOR_TYPE   Gan_Vector_f
#define GAN_VECTOR_TYPE   Gan_Vector_f
#define GAN_MAT_ELEMENT_TYPE   GAN_FLOAT
#define GAN_MAT_ELEMENT_TYPE   GAN_FLOAT
#define GAN_MAT_ELEMENT_TYPE   GAN_FLOAT
#define GAN_MAT_ELEMENT_TYPE   GAN_FLOAT
#define GAN_REALTYPE   float
#define GAN_REALTYPE   float
#define GAN_REALTYPE   float
#define GAN_REALTYPE   float
#define GAN_FWRITE_LENDIAN   gan_fwrite_lendian_f32
#define GAN_FWRITE_LENDIAN   gan_fwrite_lendian_f32
#define GAN_FWRITE_LENDIAN   gan_fwrite_lendian_f32
#define GAN_FREAD_LENDIAN   gan_fread_lendian_f32
#define GAN_FREAD_LENDIAN   gan_fread_lendian_f32
#define GAN_FREAD_LENDIAN   gan_fread_lendian_f32
#define GAN_VECTYPE1   Gan_Vector4_f
#define GAN_VECTYPE1   Gan_Vector4_f
#define GAN_VECTYPE1   Gan_Vector4_f
#define GAN_VECTYPE2   Gan_Vector4_f
#define GAN_VECTYPE2   Gan_Vector4_f
#define GAN_VECTYPE2   Gan_Vector4_f
#define GAN_MATTYPEL   Gan_Matrix44_f
#define GAN_MATTYPER   Gan_Matrix44_f
#define GAN_SQUMATTYPEL   Gan_SquMatrix44_f
#define GAN_SQUMATTYPEL   Gan_SquMatrix44_f
#define GAN_SQUMATTYPER   Gan_SquMatrix44_f
#define GAN_SQUMATTYPER   Gan_SquMatrix44_f
#define GAN_MAT_FPRINT   gan_mat44f_fprint
#define GAN_MAT_FPRINT   gan_symmat44f_fprint
#define GAN_MAT_FPRINT   gan_ltmat44f_fprint
#define GAN_MAT_FPRINT   gan_ltmat44Tf_fprint
#define GAN_MAT_PRINT   gan_mat44f_print
#define GAN_MAT_PRINT   gan_symmat44f_print
#define GAN_MAT_PRINT   gan_ltmat44f_print
#define GAN_MAT_PRINT   gan_ltmat44Tf_print
#define GAN_MAT_FSCANF   gan_mat44f_fscanf
#define GAN_MAT_FSCANF   gan_symmat44f_fscanf
#define GAN_MAT_FSCANF   gan_ltmat44f_fscanf
#define GAN_MAT_FSCANF   gan_ltmat44Tf_fscanf
#define GAN_MAT_FWRITE   gan_mat44f_fwrite
#define GAN_MAT_FWRITE   gan_symmat44f_fwrite
#define GAN_MAT_FWRITE   gan_ltmat44f_fwrite
#define GAN_MAT_FREAD   gan_mat44f_fread
#define GAN_MAT_FREAD   gan_symmat44f_fread
#define GAN_MAT_FREAD   gan_ltmat44f_fread
#define GAN_MAT_ZERO_Q   gan_mat44f_zero_q
#define GAN_MAT_ZERO_Q   gan_symmat44f_zero_q
#define GAN_MAT_ZERO_Q   gan_ltmat44f_zero_q
#define GAN_MAT_ZERO_S   gan_mat44f_zero_s
#define GAN_MAT_ZERO_S   gan_symmat44f_zero_s
#define GAN_MAT_ZERO_S   gan_ltmat44f_zero_s
#define GAN_MAT_COPY_Q   gan_mat44f_copy_q
#define GAN_MAT_COPY_Q   gan_symmat44f_copy_q
#define GAN_MAT_COPY_Q   gan_ltmat44f_copy_q
#define GAN_MAT_COPY_S   gan_mat44f_copy_s
#define GAN_MAT_COPY_S   gan_symmat44f_copy_s
#define GAN_MAT_COPY_S   gan_ltmat44f_copy_s
#define GAN_MAT_SCALE_Q   gan_mat44f_scale_q
#define GAN_MAT_SCALE_Q   gan_symmat44f_scale_q
#define GAN_MAT_SCALE_Q   gan_ltmat44f_scale_q
#define GAN_MAT_SCALE_I   gan_mat44f_scale_i
#define GAN_MAT_SCALE_I   gan_symmat44f_scale_i
#define GAN_MAT_SCALE_I   gan_ltmat44f_scale_i
#define GAN_MAT_SCALE_S   gan_mat44f_scale_s
#define GAN_MAT_SCALE_S   gan_symmat44f_scale_s
#define GAN_MAT_SCALE_S   gan_ltmat44f_scale_s
#define GAN_MAT_DIVIDE_Q   gan_mat44f_divide_q
#define GAN_MAT_DIVIDE_Q   gan_symmat44f_divide_q
#define GAN_MAT_DIVIDE_Q   gan_ltmat44f_divide_q
#define GAN_MAT_DIVIDE_I   gan_mat44f_divide_i
#define GAN_MAT_DIVIDE_I   gan_symmat44f_divide_i
#define GAN_MAT_DIVIDE_I   gan_ltmat44f_divide_i
#define GAN_MAT_DIVIDE_S   gan_mat44f_divide_s
#define GAN_MAT_DIVIDE_S   gan_symmat44f_divide_s
#define GAN_MAT_DIVIDE_S   gan_ltmat44f_divide_s
#define GAN_MAT_NEGATE_Q   gan_mat44f_negate_q
#define GAN_MAT_NEGATE_Q   gan_symmat44f_negate_q
#define GAN_MAT_NEGATE_Q   gan_ltmat44f_negate_q
#define GAN_MAT_NEGATE_I   gan_mat44f_negate_i
#define GAN_MAT_NEGATE_I   gan_symmat44f_negate_i
#define GAN_MAT_NEGATE_I   gan_ltmat44f_negate_i
#define GAN_MAT_NEGATE_S   gan_mat44f_negate_s
#define GAN_MAT_NEGATE_S   gan_symmat44f_negate_s
#define GAN_MAT_NEGATE_S   gan_ltmat44f_negate_s
#define GAN_MAT_UNIT_Q   gan_mat44f_unit_q
#define GAN_MAT_UNIT_Q   gan_symmat44f_unit_q
#define GAN_MAT_UNIT_Q   gan_ltmat44f_unit_q
#define GAN_MAT_UNIT_I   gan_mat44f_unit_i
#define GAN_MAT_UNIT_I   gan_symmat44f_unit_i
#define GAN_MAT_UNIT_I   gan_ltmat44f_unit_i
#define GAN_MAT_UNIT_S   gan_mat44f_unit_s
#define GAN_MAT_UNIT_S   gan_symmat44f_unit_s
#define GAN_MAT_UNIT_S   gan_ltmat44f_unit_s
#define GAN_MAT_ADD_Q   gan_mat44f_add_q
#define GAN_MAT_ADD_Q   gan_symmat44f_add_q
#define GAN_MAT_ADD_Q   gan_ltmat44f_add_q
#define GAN_MAT_ADD_I1   gan_mat44f_add_i1
#define GAN_MAT_ADD_I1   gan_symmat44f_add_i1
#define GAN_MAT_ADD_I1   gan_ltmat44f_add_i1
#define GAN_MAT_ADD_I2   gan_mat44f_add_i2
#define GAN_MAT_ADD_I2   gan_symmat44f_add_i2
#define GAN_MAT_ADD_I2   gan_ltmat44f_add_i2
#define GAN_MAT_INCREMENT   gan_mat44f_increment
#define GAN_MAT_INCREMENT   gan_symmat44f_increment
#define GAN_MAT_INCREMENT   gan_ltmat44f_increment
#define GAN_MAT_ADD_S   gan_mat44f_add_s
#define GAN_MAT_ADD_S   gan_symmat44f_add_s
#define GAN_MAT_ADD_S   gan_ltmat44f_add_s
#define GAN_MAT_SUB_Q   gan_mat44f_sub_q
#define GAN_MAT_SUB_Q   gan_symmat44f_sub_q
#define GAN_MAT_SUB_Q   gan_ltmat44f_sub_q
#define GAN_MAT_SUB_I1   gan_mat44f_sub_i1
#define GAN_MAT_SUB_I1   gan_symmat44f_sub_i1
#define GAN_MAT_SUB_I1   gan_ltmat44f_sub_i1
#define GAN_MAT_SUB_I2   gan_mat44f_sub_i2
#define GAN_MAT_SUB_I2   gan_symmat44f_sub_i2
#define GAN_MAT_SUB_I2   gan_ltmat44f_sub_i2
#define GAN_MAT_DECREMENT   gan_mat44f_decrement
#define GAN_MAT_DECREMENT   gan_symmat44f_decrement
#define GAN_MAT_DECREMENT   gan_ltmat44f_decrement
#define GAN_MAT_SUB_S   gan_mat44f_sub_s
#define GAN_MAT_SUB_S   gan_symmat44f_sub_s
#define GAN_MAT_SUB_S   gan_ltmat44f_sub_s
#define GAN_VEC_OUTER_Q   gan_vec44f_outer_q
#define GAN_VEC_OUTER_S   gan_vec44f_outer_s
#define GAN_MAT_MULTV_Q   gan_mat44f_multv4_q
#define GAN_MAT_MULTV_Q   gan_symmat44f_multv4_q
#define GAN_MAT_MULTV_Q   gan_ltmat44f_multv4_q
#define GAN_MAT_MULTV_S   gan_mat44f_multv4_s
#define GAN_MAT_MULTV_S   gan_symmat44f_multv4_s
#define GAN_MAT_MULTV_S   gan_ltmat44f_multv4_s
#define GAN_MATT_MULTV_Q   gan_mat44Tf_multv4_q
#define GAN_MATT_MULTV_Q   gan_ltmat44Tf_multv4_q
#define GAN_MATT_MULTV_S   gan_mat44Tf_multv4_s
#define GAN_MATT_MULTV_S   gan_ltmat44Tf_multv4_s
#define GAN_MAT_LMULTMT_Q   gan_mat44f_lmultm44T_q
#define GAN_MAT_LMULTMT_S   gan_mat44f_lmultm44T_s
#define GAN_MAT_RMULTM_Q   gan_mat44f_rmultm44_q
#define GAN_MAT_RMULTM_S   gan_mat44f_rmultm44_s
#define GAN_MAT_RMULTMT_Q   gan_mat44f_rmultm44T_q
#define GAN_MAT_RMULTMT_S   gan_mat44f_rmultm44T_s
#define GAN_MAT_LMULTMT_SYM_Q   gan_mat44f_lmultm44T_sym_q
#define GAN_MAT_LMULTMT_SYM_S   gan_mat44f_lmultm44T_sym_s
#define GAN_MAT_RMULTMT_SYM_Q   gan_mat44f_rmultm44T_sym_q
#define GAN_MAT_RMULTMT_SYM_S   gan_mat44f_rmultm44T_sym_s
#define GAN_MAT_SLMULTT_Q   gan_mat44f_slmultT_q
#define GAN_MAT_SLMULTT_Q   gan_ltmat44f_slmultT_q
#define GAN_MAT_SLMULTT_S   gan_mat44f_slmultT_s
#define GAN_MAT_SLMULTT_S   gan_ltmat44f_slmultT_s
#define GAN_MAT_SRMULTT_Q   gan_mat44f_srmultT_q
#define GAN_MAT_SRMULTT_Q   gan_ltmat44f_srmultT_q
#define GAN_MAT_SRMULTT_S   gan_mat44f_srmultT_s
#define GAN_MAT_SRMULTT_S   gan_ltmat44f_srmultT_s
#define GAN_MAT_LMULTS_Q   gan_mat44f_lmults44_q
#define GAN_MAT_LMULTS_S   gan_mat44f_lmults44_s
#define GAN_MAT_RMULTS_Q   gan_mat44f_rmults44_q
#define GAN_MAT_RMULTS_S   gan_mat44f_rmults44_s
#define GAN_SYMMATL_LRMULT_Q   gan_symmat44f_lrmultm44T_q
#define GAN_SYMMATL_LRMULT_S   gan_symmat44f_lrmultm44T_s
#define GAN_SYMMATR_LRMULT_Q   gan_symmat44f_lrmultm44_q
#define GAN_SYMMATR_LRMULT_S   gan_symmat44f_lrmultm44_s
#define GAN_MAT_LMULTL_Q   gan_mat44f_lmultl44_q
#define GAN_MAT_LMULTL_S   gan_mat44f_lmultl44_s
#define GAN_MAT_LMULTL_I   gan_mat44f_lmultl44_i
#define GAN_MAT_LMULTLI_Q   gan_mat44f_lmultl44I_q
#define GAN_MAT_LMULTLI_S   gan_mat44f_lmultl44I_s
#define GAN_MAT_LMULTLI_I   gan_mat44f_lmultl44I_i
#define GAN_MAT_LMULTLT_Q   gan_mat44f_lmultl44T_q
#define GAN_MAT_LMULTLT_S   gan_mat44f_lmultl44T_s
#define GAN_MAT_LMULTLT_I   gan_mat44f_lmultl44T_i
#define GAN_MAT_LMULTLIT_Q   gan_mat44f_lmultl44IT_q
#define GAN_MAT_LMULTLIT_S   gan_mat44f_lmultl44IT_s
#define GAN_MAT_LMULTLIT_I   gan_mat44f_lmultl44IT_i
#define GAN_MAT_RMULTL_Q   gan_mat44f_rmultl44_q
#define GAN_MAT_RMULTL_S   gan_mat44f_rmultl44_s
#define GAN_MAT_RMULTL_I   gan_mat44f_rmultl44_i
#define GAN_MAT_RMULTLI_Q   gan_mat44f_rmultl44I_q
#define GAN_MAT_RMULTLI_S   gan_mat44f_rmultl44I_s
#define GAN_MAT_RMULTLI_I   gan_mat44f_rmultl44I_i
#define GAN_MAT_RMULTLT_Q   gan_mat44f_rmultl44T_q
#define GAN_MAT_RMULTLT_S   gan_mat44f_rmultl44T_s
#define GAN_MAT_RMULTLT_I   gan_mat44f_rmultl44T_i
#define GAN_MAT_RMULTLIT_Q   gan_mat44f_rmultl44IT_q
#define GAN_MAT_RMULTLIT_S   gan_mat44f_rmultl44IT_s
#define GAN_MAT_RMULTLIT_I   gan_mat44f_rmultl44IT_i
#define GAN_MAT_SUMSQR_Q   gan_mat44f_sumsqr_q
#define GAN_MAT_SUMSQR_Q   gan_symmat44f_sumsqr_q
#define GAN_MAT_SUMSQR_Q   gan_ltmat44f_sumsqr_q
#define GAN_MAT_SUMSQR_S   gan_mat44f_sumsqr_s
#define GAN_MAT_SUMSQR_S   gan_symmat44f_sumsqr_s
#define GAN_MAT_SUMSQR_S   gan_ltmat44f_sumsqr_s
#define GAN_MAT_FNORM_Q   gan_mat44f_Fnorm_q
#define GAN_MAT_FNORM_Q   gan_symmat44f_Fnorm_q
#define GAN_MAT_FNORM_Q   gan_ltmat44f_Fnorm_q
#define GAN_MAT_FNORM_S   gan_mat44f_Fnorm_s
#define GAN_MAT_FNORM_S   gan_symmat44f_Fnorm_s
#define GAN_MAT_FNORM_S   gan_ltmat44f_Fnorm_s
#define GAN_MAT_FROM_MAT_Q   gan_mat44f_from_matf_q
#define GAN_MAT_FROM_MAT_S   gan_mat44f_from_matf_s
#define GAN_MAT_FROM_SQUMAT_Q   gan_mat44f_from_squmatf_q
#define GAN_MAT_FROM_SQUMAT_S   gan_mat44f_from_squmatf_s
#define GAN_SQUMAT_FROM_SQUMAT_Q   gan_squmat44f_from_squmatf_q
#define GAN_SQUMAT_FROM_SQUMAT_S   gan_squmat44f_from_squmatf_s
#define GAN_SQUMAT_IDENT_Q   gan_mat44f_ident_q
#define GAN_SQUMAT_IDENT_Q   gan_symmat44f_ident_q
#define GAN_SQUMAT_IDENT_Q   gan_ltmat44f_ident_q
#define GAN_SQUMAT_IDENT_S   gan_mat44f_ident_s
#define GAN_SQUMAT_IDENT_S   gan_symmat44f_ident_s
#define GAN_SQUMAT_IDENT_S   gan_ltmat44f_ident_s
#define GAN_SQUMAT_TPOSE_Q   gan_mat44f_tpose_q
#define GAN_SQUMAT_TPOSE_S   gan_mat44f_tpose_s
#define GAN_SQUMAT_TPOSE_I   gan_mat44f_tpose_i
#define GAN_MAT_SADDT_Q   gan_mat44f_saddT_q
#define GAN_MAT_SADDT_S   gan_mat44f_saddT_s
#define GAN_SQUMAT_INVERT   gan_mat44f_invert
#define GAN_SQUMAT_INVERT   gan_symmat44f_invert
#define GAN_SQUMAT_INVERT   gan_ltmat44f_invert
#define GAN_SQUMAT_INVERT_Q   gan_mat44f_invert_q
#define GAN_SQUMAT_INVERT_Q   gan_symmat44f_invert_q
#define GAN_SQUMAT_INVERT_Q   gan_ltmat44f_invert_q
#define GAN_SQUMAT_INVERT_S   gan_mat44f_invert_s
#define GAN_SQUMAT_INVERT_S   gan_symmat44f_invert_s
#define GAN_SQUMAT_INVERT_S   gan_ltmat44f_invert_s
#define GAN_SQUMAT_INVERT_I   gan_mat44f_invert_i
#define GAN_SQUMAT_INVERT_I   gan_symmat44f_invert_i
#define GAN_SQUMAT_INVERT_I   gan_ltmat44f_invert_i
#define GAN_SQUMAT_ADJOINT_Q   gan_mat44f_adjoint_q
#define GAN_SQUMAT_ADJOINT_S   gan_mat44f_adjoint_s
#define GAN_SQUMAT_ADJOINTT_Q   gan_mat44f_adjointT_q
#define GAN_SQUMAT_ADJOINTT_S   gan_mat44f_adjointT_s
#define GAN_SQUMAT_DET_Q   gan_mat44f_det_q
#define GAN_SQUMAT_DET_Q   gan_symmat44f_det_q
#define GAN_SQUMAT_DET_Q   gan_ltmat44f_det_q
#define GAN_SQUMAT_DET_S   gan_mat44f_det_s
#define GAN_SQUMAT_DET_S   gan_symmat44f_det_s
#define GAN_SQUMAT_DET_S   gan_ltmat44f_det_s
#define GAN_SQUMAT_TRACE_Q   gan_mat44f_trace_q
#define GAN_SQUMAT_TRACE_Q   gan_symmat44f_trace_q
#define GAN_SQUMAT_TRACE_Q   gan_ltmat44f_trace_q
#define GAN_SQUMAT_TRACE_S   gan_mat44f_trace_s
#define GAN_SQUMAT_TRACE_S   gan_symmat44f_trace_s
#define GAN_SQUMAT_TRACE_S   gan_ltmat44f_trace_s
#define GAN_FIXED_MATRIX_TYPE   GAN_SYMMETRIC_MATRIX44_F
#define GAN_FIXED_MATRIX_TYPE   GAN_LOWER_TRI_MATRIX44_F
#define GAN_FIXED_MATRIX_TYPE   GAN_LOWER_TRI_MATRIX44_F
#define GAN_VEC_OUTER_SYM_Q   gan_vec44f_outer_sym_q
#define GAN_VEC_OUTER_SYM_S   gan_vec44f_outer_sym_s
#define GAN_SYMMAT_CHOLESKY   gan_symmat44f_cholesky
#define GAN_SYMMAT_CHOLESKY_Q   gan_symmat44f_cholesky_q
#define GAN_SYMMAT_CHOLESKY_S   gan_symmat44f_cholesky_s
#define GAN_SYMMAT_CHOLESKY_I   gan_symmat44f_cholesky_i
#define GAN_MAT_MULTV_I   gan_ltmat44f_multv4_i
#define GAN_MATT_MULTV_I   gan_ltmat44Tf_multv4_i
#define GAN_MAT_SRMULTT_I   gan_ltmat44f_srmultT_i
#define GAN_MAT_SLMULTT_I   gan_ltmat44f_slmultT_i
#define GAN_SQUMATI_MULTV_Q   gan_ltmat44If_multv4_q
#define GAN_SQUMATI_MULTV_S   gan_ltmat44If_multv4_s
#define GAN_SQUMATI_MULTV_I   gan_ltmat44If_multv4_i
#define GAN_SQUMATIT_MULTV_Q   gan_ltmat44ITf_multv4_q
#define GAN_SQUMATIT_MULTV_S   gan_ltmat44ITf_multv4_s
#define GAN_SQUMATIT_MULTV_I   gan_ltmat44ITf_multv4_i
#define gan_ltmat44Tf_fwrite   gan_ltmat44f_fwrite
#define gan_ltmat44Tf_fread   gan_ltmat44f_fread

Typedefs

typedef Gan_Matrix22 Gan_Matrix22
 Structure definition for double precision 2x2 matrix.
typedef Gan_SquMatrix22 Gan_SquMatrix22
 Structure definition for square double precision 2x2 matrix.
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_Matrix23 Gan_Matrix23
 Structure definition for double precision 2x3 matrix.
typedef Gan_Matrix23_f Gan_Matrix23_f
 Structure definition for single precision 2x3 matrix.
typedef Gan_Matrix24 Gan_Matrix24
 Structure definition for double precision 2x4 matrix.
typedef Gan_Matrix24_f Gan_Matrix24_f
 Structure definition for single precision 2x4 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_Matrix34 Gan_Matrix34
 Structure definition for double precision 3x4 matrix.
typedef Gan_Matrix34_f Gan_Matrix34_f
 Structure definition for single precision 3x4 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 { GAN_SYMMETRIC_MATRIX22, GAN_LOWER_TRI_MATRIX22 }
 Square matrix type, for setting and checking in debug mode.
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.

Define Documentation

#define GAN_LOW22_MULT1D a,
b,
c,
p1,
p2,
q1,
q2   ) 
 

Value:

(a p2 = GAN_REP2_OP_AB(b,* c,yx,yy,q1,q2,+),\
  a p1 = GAN_REP1_OP_AB(b,* c,xx,q1,+))

#define GAN_LOW22F_MULT1D a,
b,
c,
p1,
p2,
q1,
q2   ) 
 

Value:

(a p2 = GAN_REP2_OP_AB(b,* c,yx,yy,q1,q2,+),\
  a p1 = GAN_REP1_OP_AB(b,* c,xx,q1,+))

#define GAN_LOW22I_MULT1D a,
b,
c,
p1,
p2,
q1,
q2   ) 
 

Value:

(a p1 =  c q1 / b xx,\
  a p2 = (c q2 - b yx * a p1) / b yy)

#define GAN_LOW22IF_MULT1D a,
b,
c,
p1,
p2,
q1,
q2   ) 
 

Value:

(a p1 =  c q1 / b xx,\
  a p2 = (c q2 - b yx * a p1) / b yy)

#define GAN_LOW33_MULT1D a,
b,
c,
p1,
p2,
p3,
q1,
q2,
q3   ) 
 

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,+))

#define GAN_LOW33F_MULT1D a,
b,
c,
p1,
p2,
p3,
q1,
q2,
q3   ) 
 

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,+))

#define GAN_LOW33I_MULT1D a,
b,
c,
p1,
p2,
p3,
q1,
q2,
q3   ) 
 

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)

#define GAN_LOW33IF_MULT1D a,
b,
c,
p1,
p2,
p3,
q1,
q2,
q3   ) 
 

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)

#define GAN_LOW44_MULT1D a,
b,
c,
p1,
p2,
p3,
p4,
q1,
q2,
q3,
q4   ) 
 

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,+))

#define GAN_LOW44F_MULT1D a,
b,
c,
p1,
p2,
p3,
p4,
q1,
q2,
q3,
q4   ) 
 

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,+))

#define GAN_LOW44I_MULT1D a,
b,
c,
p1,
p2,
p3,
p4,
q1,
q2,
q3,
q4   ) 
 

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)

#define GAN_LOW44IF_MULT1D a,
b,
c,
p1,
p2,
p3,
p4,
q1,
q2,
q3,
q4   ) 
 

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)

#define GAN_MAT22_MULT1D a,
b,
c,
p1,
p2,
q1,
q2   ) 
 

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,+))

#define GAN_MAT22F_MULT1D a,
b,
c,
p1,
p2,
q1,
q2   ) 
 

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,+))

#define GAN_MAT22T_MULT1D a,
b,
c,
p1,
p2,
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,+))

#define GAN_MAT22TF_MULT1D a,
b,
c,
p1,
p2,
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,+))

#define GAN_MAT23_MULT1D a,
b,
c,
p1,
p2,
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,+))

#define GAN_MAT23F_MULT1D a,
b,
c,
p1,
p2,
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,+))

#define GAN_MAT23T_MULT1D a,
b,
c,
p1,
p2,
p3,
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,+),\
  a p3 = GAN_REP2_OP_AB(b,* c,xz,yz,q1,q2,+))

#define GAN_MAT23TF_MULT1D a,
b,
c,
p1,
p2,
p3,
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,+),\
  a p3 = GAN_REP2_OP_AB(b,* c,xz,yz,q1,q2,+))

#define GAN_MAT24_MULT1D a,
b,
c,
p1,
p2,
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,+))

#define GAN_MAT24F_MULT1D a,
b,
c,
p1,
p2,
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,+))

#define GAN_MAT24T_MULT1D a,
b,
c,
p1,
p2,
p3,
p4,
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,+),\
  a p3 = GAN_REP2_OP_AB(b,* c,xz,yz,q1,q2,+),\
  a p4 = GAN_REP2_OP_AB(b,* c,xw,yw,q1,q2,+))

#define GAN_MAT24TF_MULT1D a,
b,
c,
p1,
p2,
p3,
p4,
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,+),\
  a p3 = GAN_REP2_OP_AB(b,* c,xz,yz,q1,q2,+),\
  a p4 = GAN_REP2_OP_AB(b,* c,xw,yw,q1,q2,+))

#define GAN_MAT33_MULT1D a,
b,
c,
p1,
p2,
p3,
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,+))

#define GAN_MAT33F_MULT1D a,
b,
c,
p1,
p2,
p3,
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,+))

#define GAN_MAT33T_MULT1D a,
b,
c,
p1,
p2,
p3,
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,+))

#define GAN_MAT33TF_MULT1D a,
b,
c,
p1,
p2,
p3,
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,+))

#define GAN_MAT34_MULT1D a,
b,
c,
p1,
p2,
p3,
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,+))

#define GAN_MAT34F_MULT1D a,
b,
c,
p1,
p2,
p3,
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,+))

#define GAN_MAT34T_MULT1D a,
b,
c,
p1,
p2,
p3,
p4,
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,+),\
  a p4 = GAN_REP3_OP_AB(b,* c,xw,yw,zw,q1,q2,q3,+))

#define GAN_MAT34TF_MULT1D a,
b,
c,
p1,
p2,
p3,
p4,
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,+),\
  a p4 = GAN_REP3_OP_AB(b,* c,xw,yw,zw,q1,q2,q3,+))

#define GAN_MAT44_MULT1D a,
b,
c,
p1,
p2,
p3,
p4,
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,+))

#define GAN_MAT44F_MULT1D a,
b,
c,
p1,
p2,
p3,
p4,
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,+))

#define GAN_MAT44T_MULT1D a,
b,
c,
p1,
p2,
p3,
p4,
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,+))

#define GAN_MAT44TF_MULT1D a,
b,
c,
p1,
p2,
p3,
p4,
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,+))

#define GAN_MATTYPE   Gan_SquMatrix44_f
 

File:

RCSfile
4x4ltmatTf_noc.h,v
Module: 4x4 lower triangular matrices (transposed, single precision) Part of: Gandalf Library

Revision:

Revision
1.8
Last edited:
Date
2002/04/18 14:56:23
Author:
Author
pm
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_SquMatrix44_f
 

File:

RCSfile
4x4ltmatTf_noc.h,v
Module: 4x4 lower triangular matrices (transposed, single precision) Part of: Gandalf Library

Revision:

Revision
1.8
Last edited:
Date
2002/04/18 14:56:23
Author:
Author
pm
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_SquMatrix44_f
 

File:

RCSfile
4x4ltmatTf_noc.h,v
Module: 4x4 lower triangular matrices (transposed, single precision) Part of: Gandalf Library

Revision:

Revision
1.8
Last edited:
Date
2002/04/18 14:56:23
Author:
Author
pm
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_Matrix44_f
 

File:

RCSfile
4x4ltmatTf_noc.h,v
Module: 4x4 lower triangular matrices (transposed, single precision) Part of: Gandalf Library

Revision:

Revision
1.8
Last edited:
Date
2002/04/18 14:56:23
Author:
Author
pm
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_SquMatrix44_f
 

File:

RCSfile
4x4matf_noc.h,v
Module: 4x4 matrices (single precision) Part of: Gandalf Library

Revision:

Revision
1.21
Last edited:
Date
2005/08/22 08:52:18
Author:
Author
jps
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_SquMatrix44_f
 

File:

RCSfile
4x4matf_noc.h,v
Module: 4x4 matrices (single precision) Part of: Gandalf Library

Revision:

Revision
1.21
Last edited:
Date
2005/08/22 08:52:18
Author:
Author
jps
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_SquMatrix44_f
 

File:

RCSfile
4x4matf_noc.h,v
Module: 4x4 matrices (single precision) Part of: Gandalf Library

Revision:

Revision
1.21
Last edited:
Date
2005/08/22 08:52:18
Author:
Author
jps
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_Matrix44_f
 

File:

RCSfile
4x4matf_noc.h,v
Module: 4x4 matrices (single precision) Part of: Gandalf Library

Revision:

Revision
1.21
Last edited:
Date
2005/08/22 08:52:18
Author:
Author
jps
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_SquMatrix44
 

File:

RCSfile
4x4ltmatT_noc.h,v
Module: 4x4 lower triangular matrices (transposed, double precision) Part of: Gandalf Library

Revision:

Revision
1.9
Last edited:
Date
2002/04/18 14:56:23
Author:
Author
pm
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_SquMatrix44
 

File:

RCSfile
4x4ltmatT_noc.h,v
Module: 4x4 lower triangular matrices (transposed, double precision) Part of: Gandalf Library

Revision:

Revision
1.9
Last edited:
Date
2002/04/18 14:56:23
Author:
Author
pm
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_SquMatrix44
 

File:

RCSfile
4x4ltmatT_noc.h,v
Module: 4x4 lower triangular matrices (transposed, double precision) Part of: Gandalf Library

Revision:

Revision
1.9
Last edited:
Date
2002/04/18 14:56:23
Author:
Author
pm
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_Matrix44
 

File:

RCSfile
4x4ltmatT_noc.h,v
Module: 4x4 lower triangular matrices (transposed, double precision) Part of: Gandalf Library

Revision:

Revision
1.9
Last edited:
Date
2002/04/18 14:56:23
Author:
Author
pm
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_SquMatrix44
 

File:

RCSfile
4x4mat_noc.h,v
Module: 4x4 matrices (double precision) Part of: Gandalf Library

Revision:

Revision
1.26
Last edited:
Date
2005/08/22 08:52:18
Author:
Author
jps
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_SquMatrix44
 

File:

RCSfile
4x4mat_noc.h,v
Module: 4x4 matrices (double precision) Part of: Gandalf Library

Revision:

Revision
1.26
Last edited:
Date
2005/08/22 08:52:18
Author:
Author
jps
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_SquMatrix44
 

File:

RCSfile
4x4mat_noc.h,v
Module: 4x4 matrices (double precision) Part of: Gandalf Library

Revision:

Revision
1.26
Last edited:
Date
2005/08/22 08:52:18
Author:
Author
jps
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_Matrix44
 

File:

RCSfile
4x4mat_noc.h,v
Module: 4x4 matrices (double precision) Part of: Gandalf Library

Revision:

Revision
1.26
Last edited:
Date
2005/08/22 08:52:18
Author:
Author
jps
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_Matrix34_f
 

File:

RCSfile
3x4matf_noc.h,v
Module: 3x4 matrices (single precision) Part of: Gandalf Library

Revision:

Revision
1.21
Last edited:
Date
2005/08/22 08:52:18
Author:
Author
jps
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_Matrix34
 

File:

RCSfile
3x4mat_noc.h,v
Module: 3x4 matrices (double precision) Part of: Gandalf Library

Revision:

Revision
1.25
Last edited:
Date
2005/08/22 08:52:18
Author:
Author
jps
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_SquMatrix33_f
 

File:

RCSfile
3x3ltmatTf_noc.h,v
Module: 3x3 lower triangular matrices (transposed, single precision) Part of: Gandalf Library

Revision:

Revision
1.8
Last edited:
Date
2002/04/18 14:56:23
Author:
Author
pm
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_SquMatrix33_f
 

File:

RCSfile
3x3ltmatTf_noc.h,v
Module: 3x3 lower triangular matrices (transposed, single precision) Part of: Gandalf Library

Revision:

Revision
1.8
Last edited:
Date
2002/04/18 14:56:23
Author:
Author
pm
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_SquMatrix33_f
 

File:

RCSfile
3x3ltmatTf_noc.h,v
Module: 3x3 lower triangular matrices (transposed, single precision) Part of: Gandalf Library

Revision:

Revision
1.8
Last edited:
Date
2002/04/18 14:56:23
Author:
Author
pm
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_Matrix33_f
 

File:

RCSfile
3x3ltmatTf_noc.h,v
Module: 3x3 lower triangular matrices (transposed, single precision) Part of: Gandalf Library

Revision:

Revision
1.8
Last edited:
Date
2002/04/18 14:56:23
Author:
Author
pm
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_SquMatrix33_f
 

File:

RCSfile
3x3matf_noc.h,v
Module: 3x3 matrices (single precision) Part of: Gandalf Library

Revision:

Revision
1.23
Last edited:
Date
2005/08/22 08:52:18
Author:
Author
jps
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_SquMatrix33_f
 

File:

RCSfile
3x3matf_noc.h,v
Module: 3x3 matrices (single precision) Part of: Gandalf Library

Revision:

Revision
1.23
Last edited:
Date
2005/08/22 08:52:18
Author:
Author
jps
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_SquMatrix33_f
 

File:

RCSfile
3x3matf_noc.h,v
Module: 3x3 matrices (single precision) Part of: Gandalf Library

Revision:

Revision
1.23
Last edited:
Date
2005/08/22 08:52:18
Author:
Author
jps
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_Matrix33_f
 

File:

RCSfile
3x3matf_noc.h,v
Module: 3x3 matrices (single precision) Part of: Gandalf Library

Revision:

Revision
1.23
Last edited:
Date
2005/08/22 08:52:18
Author:
Author
jps
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_SquMatrix33
 

File:

RCSfile
3x3ltmatT_noc.h,v
Module: 3x3 lower triangular matrices (transposed, double precision) Part of: Gandalf Library

Revision:

Revision
1.9
Last edited:
Date
2002/04/18 14:56:23
Author:
Author
pm
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_SquMatrix33
 

File:

RCSfile
3x3ltmatT_noc.h,v
Module: 3x3 lower triangular matrices (transposed, double precision) Part of: Gandalf Library

Revision:

Revision
1.9
Last edited:
Date
2002/04/18 14:56:23
Author:
Author
pm
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_SquMatrix33
 

File:

RCSfile
3x3ltmatT_noc.h,v
Module: 3x3 lower triangular matrices (transposed, double precision) Part of: Gandalf Library

Revision:

Revision
1.9
Last edited:
Date
2002/04/18 14:56:23
Author:
Author
pm
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_Matrix33
 

File:

RCSfile
3x3ltmatT_noc.h,v
Module: 3x3 lower triangular matrices (transposed, double precision) Part of: Gandalf Library

Revision:

Revision
1.9
Last edited:
Date
2002/04/18 14:56:23
Author:
Author
pm
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_SquMatrix33
 

File:

RCSfile
3x3mat_noc.h,v
Module: 3x3 matrices (double precision) Part of: Gandalf Library

Revision:

Revision
1.27
Last edited:
Date
2005/08/22 08:52:18
Author:
Author
jps
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_SquMatrix33
 

File:

RCSfile
3x3mat_noc.h,v
Module: 3x3 matrices (double precision) Part of: Gandalf Library

Revision:

Revision
1.27
Last edited:
Date
2005/08/22 08:52:18
Author:
Author
jps
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_SquMatrix33
 

File:

RCSfile
3x3mat_noc.h,v
Module: 3x3 matrices (double precision) Part of: Gandalf Library

Revision:

Revision
1.27
Last edited:
Date
2005/08/22 08:52:18
Author:
Author
jps
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_Matrix33
 

File:

RCSfile
3x3mat_noc.h,v
Module: 3x3 matrices (double precision) Part of: Gandalf Library

Revision:

Revision
1.27
Last edited:
Date
2005/08/22 08:52:18
Author:
Author
jps
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_Matrix24_f
 

File:

RCSfile
2x4matf_noc.h,v
Module: 2x4 matrices (single precision) Part of: Gandalf Library

Revision:

Revision
1.19
Last edited:
Date
2005/08/22 08:52:18
Author:
Author
jps
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_Matrix24
 

File:

RCSfile
2x4mat_noc.h,v
Module: 2x4 matrices (double precision) Part of: Gandalf Library

Revision:

Revision
1.24
Last edited:
Date
2005/08/22 08:52:18
Author:
Author
jps
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_Matrix23_f
 

File:

RCSfile
2x3matf_noc.h,v
Module: 2x3 matrices (single precision) Part of: Gandalf Library

Revision:

Revision
1.20
Last edited:
Date
2005/08/22 08:52:18
Author:
Author
jps
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_Matrix23
 

File:

RCSfile
2x3mat_noc.h,v
Module: 2x3 matrices (double precision) Part of: Gandalf Library

Revision:

Revision
1.24
Last edited:
Date
2005/08/22 08:52:18
Author:
Author
jps
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_SquMatrix22_f
 

File:

RCSfile
2x2ltmatTf_noc.h,v
Module: 2x2 lower triangular matrices (transposed, single precision) Part of: Gandalf Library

Revision:

Revision
1.8
Last edited:
Date
2002/04/18 14:56:22
Author:
Author
pm
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_SquMatrix22_f
 

File:

RCSfile
2x2ltmatTf_noc.h,v
Module: 2x2 lower triangular matrices (transposed, single precision) Part of: Gandalf Library

Revision:

Revision
1.8
Last edited:
Date
2002/04/18 14:56:22
Author:
Author
pm
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_SquMatrix22_f
 

File:

RCSfile
2x2ltmatTf_noc.h,v
Module: 2x2 lower triangular matrices (transposed, single precision) Part of: Gandalf Library

Revision:

Revision
1.8
Last edited:
Date
2002/04/18 14:56:22
Author:
Author
pm
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_Matrix22_f
 

File:

RCSfile
2x2ltmatTf_noc.h,v
Module: 2x2 lower triangular matrices (transposed, single precision) Part of: Gandalf Library

Revision:

Revision
1.8
Last edited:
Date
2002/04/18 14:56:22
Author:
Author
pm
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_SquMatrix22_f
 

File:

RCSfile
2x2matf_noc.h,v
Module: 2x2 matrices (single precision) Part of: Gandalf Library

Revision:

Revision
1.21
Last edited:
Date
2005/08/22 08:52:18
Author:
Author
jps
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_SquMatrix22_f
 

File:

RCSfile
2x2matf_noc.h,v
Module: 2x2 matrices (single precision) Part of: Gandalf Library

Revision:

Revision
1.21
Last edited:
Date
2005/08/22 08:52:18
Author:
Author
jps
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_SquMatrix22_f
 

File:

RCSfile
2x2matf_noc.h,v
Module: 2x2 matrices (single precision) Part of: Gandalf Library

Revision:

Revision
1.21
Last edited:
Date
2005/08/22 08:52:18
Author:
Author
jps
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_Matrix22_f
 

File:

RCSfile
2x2matf_noc.h,v
Module: 2x2 matrices (single precision) Part of: Gandalf Library

Revision:

Revision
1.21
Last edited:
Date
2005/08/22 08:52:18
Author:
Author
jps
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_SquMatrix22
 

File:

RCSfile
2x2ltmatT_noc.h,v
Module: 2x2 lower triangular matrices (transposed, double precision) Part of: Gandalf Library

Revision:

Revision
1.9
Last edited:
Date
2002/04/18 14:56:22
Author:
Author
pm
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_SquMatrix22
 

File:

RCSfile
2x2ltmatT_noc.h,v
Module: 2x2 lower triangular matrices (transposed, double precision) Part of: Gandalf Library

Revision:

Revision
1.9
Last edited:
Date
2002/04/18 14:56:22
Author:
Author
pm
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_SquMatrix22
 

File:

RCSfile
2x2ltmatT_noc.h,v
Module: 2x2 lower triangular matrices (transposed, double precision) Part of: Gandalf Library

Revision:

Revision
1.9
Last edited:
Date
2002/04/18 14:56:22
Author:
Author
pm
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_Matrix22
 

File:

RCSfile
2x2ltmatT_noc.h,v
Module: 2x2 lower triangular matrices (transposed, double precision) Part of: Gandalf Library

Revision:

Revision
1.9
Last edited:
Date
2002/04/18 14:56:22
Author:
Author
pm
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_SquMatrix22
 

File:

RCSfile
2x2mat_noc.h,v
Module: 2x2 matrices (double precision) Part of: Gandalf Library

Revision:

Revision
1.26
Last edited:
Date
2005/08/22 08:52:18
Author:
Author
jps
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_SquMatrix22
 

File:

RCSfile
2x2mat_noc.h,v
Module: 2x2 matrices (double precision) Part of: Gandalf Library

Revision:

Revision
1.26
Last edited:
Date
2005/08/22 08:52:18
Author:
Author
jps
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_SquMatrix22
 

File:

RCSfile
2x2mat_noc.h,v
Module: 2x2 matrices (double precision) Part of: Gandalf Library

Revision:

Revision
1.26
Last edited:
Date
2005/08/22 08:52:18
Author:
Author
jps
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_MATTYPE   Gan_Matrix22
 

File:

RCSfile
2x2mat_noc.h,v
Module: 2x2 matrices (double precision) Part of: Gandalf Library

Revision:

Revision
1.26
Last edited:
Date
2005/08/22 08:52:18
Author:
Author
jps
Copyright: (c) 2000 Imagineer Software Limited

Notes: Not to be compiled separately

#define GAN_ST22_ADD A,
B,
C,
 ) 
 

Value:

(GAN_TEST_OP3(A,B,C,Gan_SquMatrix22,Gan_SquMatrix22,Gan_SquMatrix22),\
          assert((A)->type==t && (B)->type==t), gan_eval((C)->type=(A)->type),\
          GAN_REP22L_AAA_C((C)->,=(A)->,+(B)->))

#define GAN_ST22_COPY A,
B,
 ) 
 

Value:

(GAN_TEST_OP2(A,B,Gan_SquMatrix22,Gan_SquMatrix22),\
            assert((A)->type==t), gan_eval((B)->type=(A)->type),\
            GAN_REP22L_AA_C((B)->,=(A)->))

#define GAN_ST22_DIVIDE A,
a,
B,
 ) 
 

Value:

(GAN_TEST_OP2(A,B,Gan_SquMatrix22,Gan_SquMatrix22),\
            assert((A)->type==t), gan_eval((B)->type=(A)->type),\
            GAN_REP22L_AAS_C((B)->,=(A)->,/(a)))

#define GAN_ST22_FILL A,
t,
XX,
YX,
YY   ) 
 

Value:

(GAN_TEST_OP1(A,Gan_SquMatrix22),gan_eval((A)->type=t),\
            GAN_FREP22L_A_C((A)->,=,(XX),(YX),(YY)))

#define GAN_ST22_IDENT A,
 ) 
 

Value:

(GAN_TEST_OP1(A,Gan_SquMatrix22),gan_eval((A)->type=t),\
            GAN_FREP22L_A_C((A)->,=,1.0,0.0,1.0))

#define GAN_ST22_NEGATE A,
B,
 ) 
 

Value:

(GAN_TEST_OP2(A,B,Gan_SquMatrix22,Gan_SquMatrix22),\
            assert((A)->type==t), gan_eval((B)->type=(A)->type),\
            GAN_REP22L_AA_C((B)->,=-(A)->))

#define GAN_ST22_SCALE A,
a,
B,
 ) 
 

Value:

(GAN_TEST_OP2(A,B,Gan_SquMatrix22,Gan_SquMatrix22),\
            assert((A)->type==t), gan_eval((B)->type=(A)->type),\
            GAN_REP22L_AAS_C((B)->,=(A)->,*(a)))

#define GAN_ST22_SUB A,
B,
C,
 ) 
 

Value:

(GAN_TEST_OP3(A,B,C,Gan_SquMatrix22,Gan_SquMatrix22,Gan_SquMatrix22),\
          assert((A)->type==t && (B)->type==t), gan_eval((C)->type=(A)->type),\
          GAN_REP22L_AAA_C((C)->,=(A)->,-(B)->))

#define GAN_ST22_ZERO A,
 ) 
 

Value:

(GAN_TEST_OP1(A,Gan_SquMatrix22), gan_eval((A)->type=t),\
            GAN_REP22L_AS_C((A)->,=0.0))

#define GAN_ST22F_ADD A,
B,
C,
 ) 
 

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)->))

#define GAN_ST22F_COPY 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)->))

#define GAN_ST22F_DIVIDE A,
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_AAS_C((B)->,=(A)->,/(a)))

#define GAN_ST22F_FILL A,
t,
XX,
YX,
YY   ) 
 

Value:

(GAN_TEST_OP1(A,Gan_SquMatrix22_f),gan_eval((A)->type=t),\
            GAN_FREP22L_A_C((A)->,=,(XX),(YX),(YY)))

#define GAN_ST22F_IDENT A,
 ) 
 

Value:

(GAN_TEST_OP1(A,Gan_SquMatrix22_f),gan_eval((A)->type=t),\
            GAN_FREP22L_A_C((A)->,=,1.0,0.0,1.0))

#define GAN_ST22F_NEGATE 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)->))

#define GAN_ST22F_SCALE A,
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_AAS_C((B)->,=(A)->,*(a)))

#define GAN_ST22F_SUB A,
B,
C,
 ) 
 

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)->))

#define GAN_ST22F_ZERO A,
 ) 
 

Value:

(GAN_TEST_OP1(A,Gan_SquMatrix22_f), gan_eval((A)->type=t),\
            GAN_REP22L_AS_C((A)->,=0.0))

#define GAN_ST33_ADD A,
B,
C,
 ) 
 

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)->))

#define GAN_ST33_COPY 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)->))

#define GAN_ST33_DIVIDE A,
a,
B,
 ) 
 

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)))

#define GAN_ST33_FILL A,
t,
XX,
YX,
YY,
ZX,
ZY,
ZZ   ) 
 

Value:

(GAN_TEST_OP1(A,Gan_SquMatrix33),gan_eval((A)->type=t),\
            GAN_FREP33L_A_C((A)->,=,(XX),(YX),(YY),(ZX),(ZY),(ZZ)))

#define GAN_ST33_IDENT A,
 ) 
 

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))

#define GAN_ST33_NEGATE 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)->))

#define GAN_ST33_SCALE A,
a,
B,
 ) 
 

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)))

#define GAN_ST33_SUB A,
B,
C,
 ) 
 

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)->))

#define GAN_ST33_ZERO A,
 ) 
 

Value:

(GAN_TEST_OP1(A,Gan_SquMatrix33), gan_eval((A)->type=t),\
            GAN_REP33L_AS_C((A)->,=0.0))

#define GAN_ST33F_ADD A,
B,
C,
 ) 
 

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)->))

#define GAN_ST33F_COPY 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)->))

#define GAN_ST33F_DIVIDE A,
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_AAS_C((B)->,=(A)->,/(a)))

#define GAN_ST33F_FILL A,
t,
XX,
YX,
YY,
ZX,
ZY,
ZZ   ) 
 

Value:

(GAN_TEST_OP1(A,Gan_SquMatrix33_f),gan_eval((A)->type=t),\
            GAN_FREP33L_A_C((A)->,=,(XX),(YX),(YY),(ZX),(ZY),(ZZ)))

#define GAN_ST33F_IDENT A,
 ) 
 

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))

#define GAN_ST33F_NEGATE 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)->))

#define GAN_ST33F_SCALE A,
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_AAS_C((B)->,=(A)->,*(a)))

#define GAN_ST33F_SUB A,
B,
C,
 ) 
 

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)->))

#define GAN_ST33F_ZERO A,
 ) 
 

Value:

(GAN_TEST_OP1(A,Gan_SquMatrix33_f), gan_eval((A)->type=t),\
            GAN_REP33L_AS_C((A)->,=0.0))

#define GAN_ST44_ADD A,
B,
C,
 ) 
 

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)->))

#define GAN_ST44_COPY 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)->))

#define GAN_ST44_DIVIDE A,
a,
B,
 ) 
 

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)))

#define GAN_ST44_FILL A,
t,
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)->,=,(XX),(YX),(YY),(ZX),(ZY),(ZZ),(WX),(WY),(WZ),(WW)))

#define GAN_ST44_IDENT A,
 ) 
 

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))

#define GAN_ST44_NEGATE 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)->))

#define GAN_ST44_SCALE A,
a,
B,
 ) 
 

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)))

#define GAN_ST44_SUB A,
B,
C,
 ) 
 

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)->))

#define GAN_ST44_ZERO A,
 ) 
 

Value:

(GAN_TEST_OP1(A,Gan_SquMatrix44), gan_eval((A)->type=t),\
            GAN_REP44L_AS_C((A)->,=0.0))

#define GAN_ST44F_ADD A,
B,
C,
 ) 
 

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)->))

#define GAN_ST44F_COPY 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)->))

#define GAN_ST44F_DIVIDE A,
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_AAS_C((B)->,=(A)->,/(a)))

#define GAN_ST44F_FILL A,
t,
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)->,=,(XX),(YX),(YY),(ZX),(ZY),(ZZ),(WX),(WY),(WZ),(WW)))

#define GAN_ST44F_IDENT A,
 ) 
 

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))

#define GAN_ST44F_NEGATE 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)->))

#define GAN_ST44F_SCALE A,
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_AAS_C((B)->,=(A)->,*(a)))

#define GAN_ST44F_SUB A,
B,
C,
 ) 
 

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)->))

#define GAN_ST44F_ZERO A,
 ) 
 

Value:

(GAN_TEST_OP1(A,Gan_SquMatrix44_f), gan_eval((A)->type=t),\
            GAN_REP44L_AS_C((A)->,=0.0))

#define GAN_SYM22_MULT1D a,
b,
c,
p1,
p2,
q1,
q2   ) 
 

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,+))

#define GAN_SYM22F_MULT1D a,
b,
c,
p1,
p2,
q1,
q2   ) 
 

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,+))

#define GAN_SYM33_MULT1D a,
b,
c,
p1,
p2,
p3,
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,+))

#define GAN_SYM33F_MULT1D a,
b,
c,
p1,
p2,
p3,
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,+))

#define GAN_SYM44_MULT1D a,
b,
c,
p1,
p2,
p3,
p4,
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,+))

#define GAN_SYM44F_MULT1D a,
b,
c,
p1,
p2,
p3,
p4,
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,+))

#define GAN_UPP22_MULT1D a,
b,
c,
p1,
p2,
q1,
q2   ) 
 

Value:

(a p1 = GAN_REP2_OP_AB(b,* c,xx,yx,q1,q2,+),\
  a p2 = GAN_REP1_OP_AB(b,* c,yy,q2,+))

#define GAN_UPP22F_MULT1D a,
b,
c,
p1,
p2,
q1,
q2   ) 
 

Value:

(a p1 = GAN_REP2_OP_AB(b,* c,xx,yx,q1,q2,+),\
  a p2 = GAN_REP1_OP_AB(b,* c,yy,q2,+))

#define GAN_UPP22I_MULT1D a,
b,
c,
p1,
p2,
q1,
q2   ) 
 

Value:

(a p2 =  c q2 / b yy,\
  a p1 = (c q1 - b yx * a p2) / b xx)

#define GAN_UPP22IF_MULT1D a,
b,
c,
p1,
p2,
q1,
q2   ) 
 

Value:

(a p2 =  c q2 / b yy,\
  a p1 = (c q1 - b yx * a p2) / b xx)

#define GAN_UPP33_MULT1D a,
b,
c,
p1,
p2,
p3,
q1,
q2,
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,+))

#define GAN_UPP33F_MULT1D a,
b,
c,
p1,
p2,
p3,
q1,
q2,
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,+))

#define GAN_UPP33I_MULT1D a,
b,
c,
p1,
p2,
p3,
q1,
q2,
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)

#define GAN_UPP33IF_MULT1D a,
b,
c,
p1,
p2,
p3,
q1,
q2,
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)

#define GAN_UPP44_MULT1D a,
b,
c,
p1,
p2,
p3,
p4,
q1,
q2,
q3,
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,+))

#define GAN_UPP44F_MULT1D a,
b,
c,
p1,
p2,
p3,
p4,
q1,
q2,
q3,
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,+))

#define GAN_UPP44I_MULT1D a,
b,
c,
p1,
p2,
p3,
p4,
q1,
q2,
q3,
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)

#define GAN_UPP44IF_MULT1D a,
b,
c,
p1,
p2,
p3,
p4,
q1,
q2,
q3,
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)


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