|
Compounds |
struct | Gan_Matrix44 |
| Structure definition for double precision 4x4 matrix. More...
|
struct | Gan_SquMatrix44 |
| Structure definition for square double precision 4x4 matrix. More...
|
Defines |
#define | GAN_REP1_AS(a, b, p1) (a p1 b) |
#define | GAN_REP1_A(a, p1) (a p1) |
#define | GAN_REP1_A_C(a, b) GAN_REP1_A(a,b,x) |
#define | GAN_FREP1_A(a, b, p1, q1) (a p1 b q1) |
#define | GAN_FREP1_A_C(a, b, p1) GAN_FREP1_A(a,b,x,p1) |
#define | GAN_REP1_ABS(a, b, c, p1, q1) (a p1 b q1 c) |
#define | GAN_REP1_AAS(a, b, c, p1) GAN_REP1_ABS(a,b,c,p1,p1) |
#define | GAN_REP1_AAS_C(a, b, c) GAN_REP1_AAS(a,b,c,x) |
#define | GAN_REP1_AB(a, b, p1, q1) (a p1 b q1) |
#define | GAN_REP1_AA(a, b, p1) GAN_REP1_AB(a,b,p1,p1) |
#define | GAN_REP1_AA_C(a, b) GAN_REP1_AA(a,b,x) |
#define | GAN_REP1_ABCS(a, b, c, d, p1, q1, r1) (a p1 b q1 c r1 d) |
#define | GAN_REP1_ABC(a, b, c, p1, q1, r1) (a p1 b q1 c r1) |
#define | GAN_REP1_AAA(a, b, c, p1) GAN_REP1_ABC(a,b,c,p1,p1,p1) |
#define | GAN_REP1_AAA_C(a, b, c) GAN_REP1_AAA(a,b,c,x) |
#define | GAN_REP1_OP_AB(a, b, p1, q1, op) (a p1 b q1) |
#define | GAN_REP1_OP_AA(a, b, p1, op) GAN_REP1_OP_AB(a,b,p1,p1,op) |
#define | GAN_REP1_OP_AA_C(a, b, op) GAN_REP1_OP_AA(a,b,x,op) |
#define | GAN_REP2_AS(a, b, p1, p2) (a p1 b, a p2 b) |
#define | GAN_REP2_A(a, p1, p2) (a p1, a p2) |
#define | GAN_REP2_AS_C(a, b) GAN_REP2_AS(a,b,x,y) |
#define | GAN_REP2_A_C(a) GAN_REP2_A(a,x,y) |
#define | GAN_FREP2_A(a, b, p1, p2, q1, q2) (a p1 b q1, a p2 b q2) |
#define | GAN_FREP2_A_C(a, b, p1, p2) GAN_FREP2_A(a,b,x,y,p1,p2) |
#define | GAN_REP2_AB(a, b, p1, p2, q1, q2) (a p1 b q1, a p2 b q2) |
#define | GAN_REP2_AA(a, b, p1, p2) GAN_REP2_AB(a,b,p1,p2,p1,p2) |
#define | GAN_REP2_AA_C(a, b) GAN_REP2_AA(a,b,x,y) |
#define | GAN_REP2_ABS(a, b, c, p1, p2, q1, q2) (a p1 b q1 c, a p2 b q2 c) |
#define | GAN_REP2_AAS(a, b, c, p1, p2) GAN_REP2_ABS(a,b,c,p1,p2,p1,p2) |
#define | GAN_REP2_AAS_C(a, b, c) GAN_REP2_AAS(a,b,c,x,y) |
#define | GAN_REP2_AB(a, b, p1, p2, q1, q2) (a p1 b q1, a p2 b q2) |
#define | GAN_REP2_AA(a, b, p1, p2) GAN_REP2_AB(a,b,p1,p2,p1,p2) |
#define | GAN_REP2_AA_C(a, b) GAN_REP2_AA(a,b,x,y) |
#define | GAN_REP2_ABCS(a, b, c, d, p1, p2, q1, q2, r1, r2) (a p1 b q1 c r1 d, a p2 b q2 c r2 d) |
#define | GAN_REP2_ABC(a, b, c, p1, p2, q1, q2, r1, r2) (a p1 b q1 c r1, a p2 b q2 c r2) |
#define | GAN_REP2_AAA(a, b, c, p1, p2) GAN_REP2_ABC(a,b,c,p1,p2,p1,p2,p1,p2) |
#define | GAN_REP2_AAA_C(a, b, c) GAN_REP2_AAA(a,b,c,x,y) |
#define | GAN_REP2_OP_AB(a, b, p1, p2, q1, q2, op) (a p1 b q1 op a p2 b q2) |
#define | GAN_REP2_OP_AA(a, b, p1, p2, op) GAN_REP2_OP_AB(a,b,p1,p2,p1,p2,op) |
#define | GAN_REP2_OP_AA_C(a, b, op) GAN_REP2_OP_AA(a,b,x,y,op) |
#define | GAN_REP3_AS(a, b, p1, p2, p3) (a p1 b, a p2 b, a p3 b) |
#define | GAN_REP3_AS_C(a, b) GAN_REP3_AS(a,b,x,y,z) |
#define | GAN_REP3_A(a, p1, p2, p3) (a p1, a p2, a p3) |
#define | GAN_REP3_A_C(a) GAN_REP3_A(a,x,y,z) |
#define | GAN_FREP3_A(a, b, p1, p2, p3, q1, q2, q3) (a p1 b q1, a p2 b q2, a p3 b q3) |
#define | GAN_FREP3_A_C(a, b, p1, p2, p3) GAN_FREP3_A(a,b,x,y,z,p1,p2,p3) |
#define | GAN_REP3_ABS(a, b, c, p1, p2, p3, q1, q2, q3) (a p1 b q1 c, a p2 b q2 c, a p3 b q3 c) |
#define | GAN_REP3_AAS(a, b, c, p1, p2, p3) GAN_REP3_ABS(a,b,c,p1,p2,p3,p1,p2,p3) |
#define | GAN_REP3_AAS_C(a, b, c) GAN_REP3_AAS(a,b,c,x,y,z) |
#define | GAN_REP3_AB(a, b, p1, p2, p3, q1, q2, q3) (a p1 b q1, a p2 b q2, a p3 b q3) |
#define | GAN_REP3_AA(a, b, p1, p2, p3) GAN_REP3_AB(a,b,p1,p2,p3,p1,p2,p3) |
#define | GAN_REP3_AA_C(a, b) GAN_REP3_AA(a,b,x,y,z) |
#define | GAN_REP3_ABCS(a, b, c, d, p1, p2, p3, q1, q2, q3, r1, r2, r3) (a p1 b q1 c r1 d, a p2 b q2 c r2 d, a p3 b q3 c r3 d) |
#define | GAN_REP3_ABC(a, b, c, p1, p2, p3, q1, q2, q3, r1, r2, r3) (a p1 b q1 c r1, a p2 b q2 c r2, a p3 b q3 c r3) |
#define | GAN_REP3_AAA(a, b, c, p1, p2, p3) GAN_REP3_ABC(a,b,c,p1,p2,p3,p1,p2,p3,p1,p2,p3) |
#define | GAN_REP3_AAA_C(a, b, c) GAN_REP3_AAA(a,b,c,x,y,z) |
#define | GAN_REP3_OP_AB(a, b, p1, p2, p3, q1, q2, q3, op) (a p1 b q1 op a p2 b q2 op a p3 b q3) |
#define | GAN_REP3_OP_AA(a, b, p1, p2, p3, op) GAN_REP3_OP_AB(a,b,p1,p2,p3,p1,p2,p3,op) |
#define | GAN_REP3_OP_AA_C(a, b, op) GAN_REP3_OP_AA(a,b,x,y,z,op) |
#define | GAN_REP4_AS(a, b, p1, p2, p3, p4) (a p1 b, a p2 b, a p3 b, a p4 b) |
#define | GAN_REP4_AS_C(a, b) GAN_REP4_AS(a,b,x,y,z,w) |
#define | GAN_REP4_A(a, p1, p2, p3, p4) (a p1, a p2, a p3, a p4) |
#define | GAN_REP4_A_C(a) GAN_REP4_A(a,x,y,z,w) |
#define | GAN_FREP4_A(a, b, p1, p2, p3, p4, q1, q2, q3, q4) |
#define | GAN_FREP4_A_C(a, b, p1, p2, p3, p4) GAN_FREP4_A(a,b,x,y,z,w,p1,p2,p3,p4) |
#define | GAN_REP4_ABS(a, b, c, p1, p2, p3, p4, q1, q2, q3, q4) (a p1 b q1 c, a p2 b q2 c, a p3 b q3 c, a p4 b q4 c) |
#define | GAN_REP4_AAS(a, b, c, p1, p2, p3, p4) GAN_REP4_ABS(a,b,c,p1,p2,p3,p4,p1,p2,p3,p4) |
#define | GAN_REP4_AAS_C(a, b, c) GAN_REP4_AAS(a,b,c,x,y,z,w) |
#define | GAN_REP4_AB(a, b, p1, p2, p3, p4, q1, q2, q3, q4) (a p1 b q1, a p2 b q2, a p3 b q3, a p4 b q4) |
#define | GAN_REP4_AA(a, b, p1, p2, p3, p4) GAN_REP4_AB(a,b,p1,p2,p3,p4,p1,p2,p3,p4) |
#define | GAN_REP4_AA_C(a, b) GAN_REP4_AA(a,b,x,y,z,w) |
#define | GAN_REP4_ABCS(a, b, c, d, p1, p2, p3, p4, q1, q2, q3, q4, r1, r2, r3, r4) (a p1 b q1 c r1 d, a p2 b q2 c r2 d, a p3 b q3 c r3 d, a p4 b q4 c r4 d) |
#define | GAN_REP4_ABC(a, b, c, p1, p2, p3, p4, q1, q2, q3, q4, r1, r2, r3, r4) (a p1 b q1 c r1, a p2 b q2 c r2, a p3 b q3 c r3, a p4 b q4 c r4) |
#define | GAN_REP4_AAA(a, b, c, p1, p2, p3, p4) GAN_REP4_ABC(a,b,c,p1,p2,p3,p4,p1,p2,p3,p4,p1,p2,p3,p4) |
#define | GAN_REP4_AAA_C(a, b, c) GAN_REP4_AAA(a,b,c,x,y,z,w) |
#define | GAN_REP4_OP_AB(a, b, p1, p2, p3, p4, q1, q2, q3, q4, op) (a p1 b q1 op a p2 b q2 op a p3 b q3 op a p4 b q4) |
#define | GAN_REP4_OP_AA(a, b, p1, p2, p3, p4, op) GAN_REP4_OP_AB(a,b,p1,p2,p3,p4,p1,p2,p3,p4,op) |
#define | GAN_REP4_OP_AA_C(a, b, op) GAN_REP4_OP_AA(a,b,x,y,z,w,op) |
#define | GAN_FREP44_A(a, b, p1, p2, p3, p4, q1, q2, q3, q4, r11, r12, r13, r14, r21, r22, r23, r24, r31, r32, r33, r34, r41, r42, r43, r44) |
#define | GAN_FREP44_A_C(a, b, r11, r12, r13, r14, r21, r22, r23, r24, r31, r32, r33, r34, r41, r42, r43, r44) GAN_FREP44_A(a,b,x,y,z,w,x,y,z,w,r11,r12,r13,r14,r21,r22,r23,r24,r31,r32,r33,r34,r41,r42,r43,r44) |
#define | GAN_REP44_ABCS(a, b, c, d, p1, p2, p3, p4, q1, q2, q3, q4, r1, r2, r3, r4, s1, s2, s3, s4, t1, t2, t3, t4, u1, u2, u3, u4) |
#define | GAN_REP44_ABC(a, b, c, p1, p2, p3, p4, q1, q2, q3, q4, r1, r2, r3, r4, s1, s2, s3, s4, t1, t2, t3, t4, u1, u2, u3, u4) |
#define | GAN_REP44_AAAS(a, b, c, d, p1, p2, p3, p4, q1, q2, q3, q4) GAN_REP44_ABCS(a,b,c,d,p1,p2,p3,p4,q1,q2,q3,q4,p1,p2,p3,p4,q1,q2,q3,q4,p1,p2,p3,p4,q1,q2,q3,q4) |
#define | GAN_REP44_AAA(a, b, c, p1, p2, p3, p4, q1, q2, q3, q4) GAN_REP44_ABC(a,b,c,p1,p2,p3,p4,q1,q2,q3,q4,p1,p2,p3,p4,q1,q2,q3,q4,p1,p2,p3,p4,q1,q2,q3,q4) |
#define | GAN_REP44_ABS(a, b, c, p1, p2, p3, p4, q1, q2, q3, q4, r1, r2, r3, r4, s1, s2, s3, s4) |
#define | GAN_REP44_AB(a, b, p1, p2, p3, p4, q1, q2, q3, q4, r1, r2, r3, r4, s1, s2, s3, s4) |
#define | GAN_REP44_AAS(a, b, c, p1, p2, p3, p4, q1, q2, q3, q4) GAN_REP44_ABS(a,b,c,p1,p2,p3,p4,q1,q2,q3,q4,p1,p2,p3,p4,q1,q2,q3,q4) |
#define | GAN_REP44_AA(a, b, p1, p2, p3, p4, q1, q2, q3, q4) GAN_REP44_AB(a,b,p1,p2,p3,p4,q1,q2,q3,q4,p1,p2,p3,p4,q1,q2,q3,q4) |
#define | GAN_REP44_AS(a, b, p1, p2, p3, p4, q1, q2, q3, q4) |
#define | GAN_REP44_A(a, p1, p2, p3, p4, q1, q2, q3, q4) |
#define | GAN_REP44_AS_C(a, b) GAN_REP44_AS(a,b,x,y,z,w,x,y,z,w) |
#define | GAN_REP44_AAS_C(a, b, c) GAN_REP44_AAS(a,b,c,x,y,z,w,x,y,z,w) |
#define | GAN_REP44_AAAS_C(a, b, c, d) GAN_REP44_AAAS(a,b,c,d,x,y,z,w,x,y,z,w) |
#define | GAN_REP44_A_C(a) GAN_REP44_A(a,x,y,z,w,x,y,z,w) |
#define | GAN_REP44_AA_C(a, b) GAN_REP44_AA(a,b,x,y,z,w,x,y,z,w) |
#define | GAN_REP44_AAA_C(a, b, c) GAN_REP44_AAA(a,b,c,x,y,z,w,x,y,z,w) |
#define | GAN_REP44_AAT(a, b, p1, p2, p3, p4, q1, q2, q3, q4) |
#define | GAN_REP44_AAT_C(a, b) GAN_REP44_AAT(a,b,x,y,z,w,x,y,z,w) |
#define | GAN_FREP44L_A(a, b, p1, p2, p3, p4, q1, q2, q3, q4, r11, r21, r22, r31, r32, r33, r41, r42, r43, r44) |
#define | GAN_FREP44L_A_C(a, b, r11, r21, r22, r31, r32, r33, r41, r42, r43, r44) GAN_FREP44L_A(a,b,x,y,z,w,x,y,z,w,r11,r21,r22,r31,r32,r33,r41,r42,r43,r44) |
#define | GAN_REP44L_ABCS(a, b, c, d, p1, p2, p3, p4, q1, q2, q3, q4, r1, r2, r3, r4, s1, s2, s3, s4, t1, t2, t3, t4, u1, u2, u3, u4) |
#define | GAN_REP44L_ABC(a, b, c, p1, p2, p3, p4, q1, q2, q3, q4, r1, r2, r3, r4, s1, s2, s3, s4, t1, t2, t3, t4, u1, u2, u3, u4) |
#define | GAN_REP44L_AAAS(a, b, c, d, p1, p2, p3, p4, q1, q2, q3, q4) GAN_REP44L_ABCS(a,b,c,d,p1,p2,p3,p4,q1,q2,q3,q4,p1,p2,p3,p4,q1,q2,q3,q4,p1,p2,p3,p4,q1,q2,q3,q4) |
#define | GAN_REP44L_AAA(a, b, c, p1, p2, p3, p4, q1, q2, q3, q4) GAN_REP44L_ABC(a,b,c,p1,p2,p3,p4,q1,q2,q3,q4,p1,p2,p3,p4,q1,q2,q3,q4,p1,p2,p3,p4,q1,q2,q3,q4) |
#define | GAN_REP44L_ABS(a, b, c, p1, p2, p3, p4, q1, q2, q3, q4, r1, r2, r3, r4, s1, s2, s3, s4) |
#define | GAN_REP44L_AB(a, b, p1, p2, p3, p4, q1, q2, q3, q4, r1, r2, r3, r4, s1, s2, s3, s4) |
#define | GAN_REP44L_AAS(a, b, c, p1, p2, p3, p4, q1, q2, q3, q4) GAN_REP44L_ABS(a,b,c,p1,p2,p3,p4,q1,q2,q3,q4,p1,p2,p3,p4,q1,q2,q3,q4) |
#define | GAN_REP44L_AA(a, b, p1, p2, p3, p4, q1, q2, q3, q4) GAN_REP44L_AB(a,b,p1,p2,p3,p4,q1,q2,q3,q4,p1,p2,p3,p4,q1,q2,q3,q4) |
#define | GAN_REP44L_AS(a, b, p1, p2, p3, p4, q1, q2, q3, q4) |
#define | GAN_REP44L_A(a, p1, p2, p3, p4, q1, q2, q3, q4) |
#define | GAN_REP44L_AS_C(a, b) GAN_REP44L_AS(a,b,x,y,z,w,x,y,z,w) |
#define | GAN_REP44L_AAS_C(a, b, c) GAN_REP44L_AAS(a,b,c,x,y,z,w,x,y,z,w) |
#define | GAN_REP44L_AAAS_C(a, b, c, d) GAN_REP44L_AAAS(a,b,c,d,x,y,z,w,x,y,z,w) |
#define | GAN_REP44L_A_C(a) GAN_REP44L_A(a,x,y,z,w,x,y,z,w) |
#define | GAN_REP44L_AA_C(a, b) GAN_REP44L_AA(a,b,x,y,z,w,x,y,z,w) |
#define | GAN_REP44L_AAA_C(a, b, c) GAN_REP44L_AAA(a,b,c,x,y,z,w,x,y,z,w) |
#define | GAN_FREP44L_A_C(a, b, r11, r21, r22, r31, r32, r33, r41, r42, r43, r44) GAN_FREP44L_A(a,b,x,y,z,w,x,y,z,w,r11,r21,r22,r31,r32,r33,r41,r42,r43,r44) |
#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_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_VECTYPE1 Gan_Vector4 |
#define | GAN_VECTYPE2 Gan_Vector4 |
#define | GAN_MATTYPEL Gan_Matrix44 |
#define | GAN_MATTYPER Gan_Matrix44 |
#define | GAN_SQUMATTYPEL Gan_SquMatrix44 |
#define | GAN_SQUMATTYPER Gan_SquMatrix44 |
#define | GAN_MAT_FPRINT gan_mat44_fprint |
#define | GAN_MAT_PRINT gan_mat44_print |
#define | GAN_MAT_FSCANF gan_mat44_fscanf |
#define | GAN_MAT_FWRITE gan_mat44_fwrite |
#define | GAN_MAT_FREAD gan_mat44_fread |
#define | GAN_MAT_ZERO_Q gan_mat44_zero_q |
#define | GAN_MAT_ZERO_S gan_mat44_zero_s |
#define | GAN_MAT_COPY_Q gan_mat44_copy_q |
#define | GAN_MAT_COPY_S gan_mat44_copy_s |
#define | GAN_MAT_SCALE_Q gan_mat44_scale_q |
#define | GAN_MAT_SCALE_I gan_mat44_scale_i |
#define | GAN_MAT_SCALE_S gan_mat44_scale_s |
#define | GAN_MAT_DIVIDE_Q gan_mat44_divide_q |
#define | GAN_MAT_DIVIDE_I gan_mat44_divide_i |
#define | GAN_MAT_DIVIDE_S gan_mat44_divide_s |
#define | GAN_MAT_NEGATE_Q gan_mat44_negate_q |
#define | GAN_MAT_NEGATE_I gan_mat44_negate_i |
#define | GAN_MAT_NEGATE_S gan_mat44_negate_s |
#define | GAN_MAT_UNIT_Q gan_mat44_unit_q |
#define | GAN_MAT_UNIT_I gan_mat44_unit_i |
#define | GAN_MAT_UNIT_S gan_mat44_unit_s |
#define | GAN_MAT_ADD_Q gan_mat44_add_q |
#define | GAN_MAT_ADD_I1 gan_mat44_add_i1 |
#define | GAN_MAT_ADD_I2 gan_mat44_add_i2 |
#define | GAN_MAT_INCREMENT gan_mat44_increment |
#define | GAN_MAT_ADD_S gan_mat44_add_s |
#define | GAN_MAT_SUB_Q gan_mat44_sub_q |
#define | GAN_MAT_SUB_I1 gan_mat44_sub_i1 |
#define | GAN_MAT_SUB_I2 gan_mat44_sub_i2 |
#define | GAN_MAT_DECREMENT gan_mat44_decrement |
#define | GAN_MAT_SUB_S gan_mat44_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_S gan_mat44_multv4_s |
#define | GAN_MATT_MULTV_Q gan_mat44T_multv4_q |
#define | GAN_MATT_MULTV_S gan_mat44T_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_S gan_mat44_slmultT_s |
#define | GAN_MAT_SRMULTT_Q gan_mat44_srmultT_q |
#define | GAN_MAT_SRMULTT_S gan_mat44_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_S gan_mat44_sumsqr_s |
#define | GAN_MAT_FNORM_Q gan_mat44_Fnorm_q |
#define | GAN_MAT_FNORM_S gan_mat44_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_S gan_mat44_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_Q gan_mat44_invert_q |
#define | GAN_SQUMAT_INVERT_S gan_mat44_invert_s |
#define | GAN_SQUMAT_INVERT_I gan_mat44_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_S gan_mat44_det_s |
#define | GAN_SQUMAT_TRACE_Q gan_mat44_trace_q |
#define | GAN_SQUMAT_TRACE_S gan_mat44_trace_s |
#define | GAN_MATTYPE Gan_SquMatrix44 |
#define | GAN_MATRIX_TYPE Gan_SquMatrix |
#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_VECTYPE1 Gan_Vector4 |
#define | GAN_VECTYPE2 Gan_Vector4 |
#define | GAN_FIXED_MATRIX_TYPE GAN_SYMMETRIC_MATRIX44 |
#define | GAN_MAT_FPRINT gan_symmat44_fprint |
#define | GAN_MAT_PRINT gan_symmat44_print |
#define | GAN_MAT_FSCANF gan_symmat44_fscanf |
#define | GAN_MAT_FWRITE gan_symmat44_fwrite |
#define | GAN_MAT_FREAD gan_symmat44_fread |
#define | GAN_MAT_ZERO_Q gan_symmat44_zero_q |
#define | GAN_MAT_ZERO_S gan_symmat44_zero_s |
#define | GAN_MAT_COPY_Q gan_symmat44_copy_q |
#define | GAN_MAT_COPY_S gan_symmat44_copy_s |
#define | GAN_MAT_SCALE_Q gan_symmat44_scale_q |
#define | GAN_MAT_SCALE_S gan_symmat44_scale_s |
#define | GAN_MAT_SCALE_I gan_symmat44_scale_i |
#define | GAN_MAT_DIVIDE_Q gan_symmat44_divide_q |
#define | GAN_MAT_DIVIDE_S gan_symmat44_divide_s |
#define | GAN_MAT_DIVIDE_I gan_symmat44_divide_i |
#define | GAN_MAT_NEGATE_Q gan_symmat44_negate_q |
#define | GAN_MAT_NEGATE_S gan_symmat44_negate_s |
#define | GAN_MAT_NEGATE_I gan_symmat44_negate_i |
#define | GAN_MAT_UNIT_Q gan_symmat44_unit_q |
#define | GAN_MAT_UNIT_S gan_symmat44_unit_s |
#define | GAN_MAT_UNIT_I gan_symmat44_unit_i |
#define | GAN_MAT_ADD_Q gan_symmat44_add_q |
#define | GAN_MAT_ADD_I1 gan_symmat44_add_i1 |
#define | GAN_MAT_ADD_I2 gan_symmat44_add_i2 |
#define | GAN_MAT_INCREMENT gan_symmat44_increment |
#define | GAN_MAT_ADD_S gan_symmat44_add_s |
#define | GAN_MAT_SUB_Q gan_symmat44_sub_q |
#define | GAN_MAT_SUB_I1 gan_symmat44_sub_i1 |
#define | GAN_MAT_SUB_I2 gan_symmat44_sub_i2 |
#define | GAN_MAT_DECREMENT gan_symmat44_decrement |
#define | GAN_MAT_SUB_S gan_symmat44_sub_s |
#define | GAN_MAT_MULTV_Q gan_symmat44_multv4_q |
#define | GAN_MAT_MULTV_S gan_symmat44_multv4_s |
#define | GAN_MAT_SUMSQR_Q gan_symmat44_sumsqr_q |
#define | GAN_MAT_SUMSQR_S gan_symmat44_sumsqr_s |
#define | GAN_MAT_FNORM_Q gan_symmat44_Fnorm_q |
#define | GAN_MAT_FNORM_S gan_symmat44_Fnorm_s |
#define | GAN_SQUMAT_IDENT_Q gan_symmat44_ident_q |
#define | GAN_SQUMAT_IDENT_S gan_symmat44_ident_s |
#define | GAN_SQUMAT_INVERT gan_symmat44_invert |
#define | GAN_SQUMAT_INVERT_Q gan_symmat44_invert_q |
#define | GAN_SQUMAT_INVERT_S gan_symmat44_invert_s |
#define | GAN_SQUMAT_INVERT_I gan_symmat44_invert_i |
#define | GAN_SQUMAT_DET_Q gan_symmat44_det_q |
#define | GAN_SQUMAT_DET_S gan_symmat44_det_s |
#define | GAN_SQUMAT_TRACE_Q gan_symmat44_trace_q |
#define | GAN_SQUMAT_TRACE_S gan_symmat44_trace_s |
#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_MATTYPE Gan_SquMatrix44 |
#define | GAN_MATRIX_TYPE Gan_SquMatrix |
#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_VECTYPE1 Gan_Vector4 |
#define | GAN_VECTYPE2 Gan_Vector4 |
#define | GAN_SQUMATTYPEL Gan_SquMatrix44 |
#define | GAN_SQUMATTYPER Gan_SquMatrix44 |
#define | GAN_FIXED_MATRIX_TYPE GAN_LOWER_TRI_MATRIX44 |
#define | GAN_MAT_FPRINT gan_ltmat44_fprint |
#define | GAN_MAT_PRINT gan_ltmat44_print |
#define | GAN_MAT_FSCANF gan_ltmat44_fscanf |
#define | GAN_MAT_FWRITE gan_ltmat44_fwrite |
#define | GAN_MAT_FREAD gan_ltmat44_fread |
#define | GAN_MAT_ZERO_Q gan_ltmat44_zero_q |
#define | GAN_MAT_ZERO_S gan_ltmat44_zero_s |
#define | GAN_MAT_COPY_Q gan_ltmat44_copy_q |
#define | GAN_MAT_COPY_S gan_ltmat44_copy_s |
#define | GAN_MAT_SCALE_Q gan_ltmat44_scale_q |
#define | GAN_MAT_SCALE_S gan_ltmat44_scale_s |
#define | GAN_MAT_SCALE_I gan_ltmat44_scale_i |
#define | GAN_MAT_DIVIDE_Q gan_ltmat44_divide_q |
#define | GAN_MAT_DIVIDE_S gan_ltmat44_divide_s |
#define | GAN_MAT_DIVIDE_I gan_ltmat44_divide_i |
#define | GAN_MAT_NEGATE_Q gan_ltmat44_negate_q |
#define | GAN_MAT_NEGATE_S gan_ltmat44_negate_s |
#define | GAN_MAT_NEGATE_I gan_ltmat44_negate_i |
#define | GAN_MAT_UNIT_Q gan_ltmat44_unit_q |
#define | GAN_MAT_UNIT_S gan_ltmat44_unit_s |
#define | GAN_MAT_UNIT_I gan_ltmat44_unit_i |
#define | GAN_MAT_ADD_Q gan_ltmat44_add_q |
#define | GAN_MAT_ADD_I1 gan_ltmat44_add_i1 |
#define | GAN_MAT_ADD_I2 gan_ltmat44_add_i2 |
#define | GAN_MAT_INCREMENT gan_ltmat44_increment |
#define | GAN_MAT_ADD_S gan_ltmat44_add_s |
#define | GAN_MAT_SUB_Q gan_ltmat44_sub_q |
#define | GAN_MAT_SUB_I1 gan_ltmat44_sub_i1 |
#define | GAN_MAT_SUB_I2 gan_ltmat44_sub_i2 |
#define | GAN_MAT_DECREMENT gan_ltmat44_decrement |
#define | GAN_MAT_SUB_S gan_ltmat44_sub_s |
#define | GAN_MAT_MULTV_Q gan_ltmat44_multv4_q |
#define | GAN_MAT_MULTV_S gan_ltmat44_multv4_s |
#define | GAN_MAT_MULTV_I gan_ltmat44_multv4_i |
#define | GAN_MATT_MULTV_Q gan_ltmat44T_multv4_q |
#define | GAN_MATT_MULTV_S gan_ltmat44T_multv4_s |
#define | GAN_MATT_MULTV_I gan_ltmat44T_multv4_i |
#define | GAN_MAT_SRMULTT_Q gan_ltmat44_srmultT_q |
#define | GAN_MAT_SRMULTT_S gan_ltmat44_srmultT_s |
#define | GAN_MAT_SRMULTT_I gan_ltmat44_srmultT_i |
#define | GAN_MAT_SLMULTT_Q gan_ltmat44_slmultT_q |
#define | GAN_MAT_SLMULTT_S gan_ltmat44_slmultT_s |
#define | GAN_MAT_SLMULTT_I gan_ltmat44_slmultT_i |
#define | GAN_MAT_SUMSQR_Q gan_ltmat44_sumsqr_q |
#define | GAN_MAT_SUMSQR_S gan_ltmat44_sumsqr_s |
#define | GAN_MAT_FNORM_Q gan_ltmat44_Fnorm_q |
#define | GAN_MAT_FNORM_S gan_ltmat44_Fnorm_s |
#define | GAN_SQUMAT_IDENT_Q gan_ltmat44_ident_q |
#define | GAN_SQUMAT_IDENT_S gan_ltmat44_ident_s |
#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_SQUMAT_INVERT gan_ltmat44_invert |
#define | GAN_SQUMAT_INVERT_Q gan_ltmat44_invert_q |
#define | GAN_SQUMAT_INVERT_S gan_ltmat44_invert_s |
#define | GAN_SQUMAT_INVERT_I gan_ltmat44_invert_i |
#define | GAN_SQUMAT_DET_Q gan_ltmat44_det_q |
#define | GAN_SQUMAT_DET_S gan_ltmat44_det_s |
#define | GAN_SQUMAT_TRACE_Q gan_ltmat44_trace_q |
#define | GAN_SQUMAT_TRACE_S gan_ltmat44_trace_s |
#define | GAN_MATTYPE Gan_SquMatrix44 |
#define | GAN_MATRIX_TYPE Gan_SquMatrix |
#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_MAT_FPRINT gan_ltmat44T_fprint |
#define | GAN_MAT_PRINT gan_ltmat44T_print |
#define | GAN_MAT_FSCANF gan_ltmat44T_fscanf |
#define | GAN_FIXED_MATRIX_TYPE GAN_LOWER_TRI_MATRIX44 |
#define | gan_ltmat44T_fwrite gan_ltmat44_fwrite |
#define | gan_ltmat44T_fread gan_ltmat44_fread |
Typedefs |
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.
|
Enumerations |
enum | Gan_SquMatrix44Type { GAN_SYMMETRIC_MATRIX44,
GAN_LOWER_TRI_MATRIX44
} |
| Square matrix type, for setting and checking in debug mode.
|
Functions |
Gan_Matrix44 * | gan_mat44_fill_q (Gan_Matrix44 *A, double XX, double XY, double XZ, double XW, double YX, double YY, double YZ, double YW, double ZX, double ZY, double ZZ, double ZW, double WX, double WY, double WZ, double WW) |
| Macro: Fill 4x4 matrix with values.
|
void | gan_mat44_get_rows_q (Gan_Matrix44 *A, Gan_Vector4 *p, Gan_Vector4 *q, Gan_Vector4 *r, Gan_Vector4 *s) |
| Macro: Extract rows of 4x4 matrix.
|
void | gan_mat44_get_cols_q (Gan_Matrix44 *A, Gan_Vector4 *p, Gan_Vector4 *q, Gan_Vector4 *r, Gan_Vector4 *s) |
| Macro: Extract columns of 4x4 matrix.
|
Gan_Matrix33 * | gan_mat44_get_m33tl_q (Gan_Matrix44 *A, Gan_Matrix33 *B) |
| Macro: Extract top-left 3x3 part of 4x4 matrix.
|
Gan_Vector3 * | gan_mat44_get_v3tr_q (Gan_Matrix44 *A, Gan_Vector3 *p) |
| Macro: Extract top part of right hand column of 4x4 matrix.
|
void | gan_mat44_get_parts_q (Gan_Matrix44 *A, Gan_Matrix33 *B, Gan_Vector3 *p, Gan_Vector3 *q, double *s) |
| Macro: Extract parts of 4x4 matrix.
|
void | gan_mat44_get_blocks_q (Gan_Matrix44 *M, Gan_Matrix22 *A, Gan_Matrix22 *B, Gan_Matrix22 *C, Gan_Matrix22 *D) |
| Macro: Extract 2x2 block parts of 4x4 matrix.
|
Gan_Matrix44 * | gan_mat44_set_parts_q (Gan_Matrix44 *A, Gan_Matrix33 *B, Gan_Vector3 *p, Gan_Vector3 *q, double s) |
| Macro: Build a 4x4 matrix from parts.
|
Gan_Matrix44 * | gan_mat44_set_blocks_q (Gan_Matrix44 *M, Gan_Matrix22 *A, Gan_Matrix22 *B, Gan_Matrix22 *C, Gan_Matrix22 *D) |
| Macro: Build a 4x4 matrix from 2x2 blocks.
|
Gan_Matrix44 * | gan_mat44_ident_q (Gan_Matrix44 *A) |
| Macro: Fill fixed size square matrix with identity.
|
Gan_Matrix44 * | gan_mat44_tpose_q (Gan_Matrix44 *A, Gan_Matrix44 *B) |
| Macro: Transpose fixed size square matrix.
|
Gan_SquMatrix44 * | gan_mat44_saddT_q (Gan_Matrix44 *A, Gan_SquMatrix44 *B) |
| Macro: Add matrix to its own transpose.
|
Gan_Matrix44 * | gan_mat44_invert_q (Gan_Matrix44 *A, Gan_Matrix44 *B) |
| Macro: Invert fixed size square matrix.
|
Gan_Matrix44 * | gan_mat44_invert_i (Gan_Matrix44 *A) |
| Macro: Invert fixed size square matrix in-place.
|
double | gan_mat44_det_q (Gan_Matrix44 *A) |
| Macro: Determinant of square matrix.
|
double | gan_mat44_trace_q (Gan_Matrix44 *A) |
| Macro: Trace of square matrix.
|
Gan_Matrix44 * | gan_mat44_zero_q (Gan_Matrix44 *A) |
| Macro: Fill fixed size matrix with zero.
|
Gan_Matrix44 * | gan_mat44_copy_q (Gan_Matrix44 *A, Gan_Matrix44 *B) |
| Macro: Copy fixed size matrix.
|
Gan_Matrix44 * | gan_mat44_scale_q (Gan_Matrix44 *A, double a, Gan_Matrix44 *B) |
| Macro: Scale fixed size matrix.
|
Gan_Matrix44 * | gan_mat44_scale_i (Gan_Matrix44 *A, double a) |
| Macro: Scale fixed size matrix.
|
Gan_Matrix44 * | gan_mat44_divide_q (Gan_Matrix44 *A, double a, Gan_Matrix44 *B) |
| Macro: Divide fixed size matrix by scalar.
|
Gan_Matrix44 * | gan_mat44_divide_i (Gan_Matrix44 *A, double a) |
| Macro: Divide fixed size matrix by scalar.
|
Gan_Matrix44 * | gan_mat44_negate_q (Gan_Matrix44 *A, Gan_Matrix44 *B) |
| Macro: Negate fixed size matrix.
|
Gan_Matrix44 * | gan_mat44_negate_i (Gan_Matrix44 *A) |
| Macro: Negate fixed size matrix.
|
Gan_Matrix44 * | gan_mat44_unit_i (Gan_Matrix44 *A) |
| Macro: Scale matrix to unit norm.
|
Gan_Matrix44 * | gan_mat44_add_q (Gan_Matrix44 *A, Gan_Matrix44 *B, Gan_Matrix44 *C) |
| Macro: Add two fixed size matrices.
|
Gan_Matrix44 * | gan_mat44_add_i1 (Gan_Matrix44 *A, Gan_Matrix44 *B) |
| Macro: Add two fixed size matrices.
|
Gan_Matrix44 * | gan_mat44_add_i2 (Gan_Matrix44 *A, Gan_Matrix44 *B) |
| Macro: Add two fixed size matrices.
|
Gan_Matrix44 * | gan_mat44_increment (Gan_Matrix44 *A, Gan_Matrix44 *B) |
| Macro: Increment a fixed size vector by another.
|
Gan_Matrix44 * | gan_mat44_sub_q (Gan_Matrix44 *A, Gan_Matrix44 *B, Gan_Matrix44 *C) |
| Macro: Subtract two fixed size matrices.
|
Gan_Matrix44 * | gan_mat44_sub_i1 (Gan_Matrix44 *A, Gan_Matrix44 *B) |
| Macro: Subtract two fixed size matrices.
|
Gan_Matrix44 * | gan_mat44_sub_i2 (Gan_Matrix44 *A, Gan_Matrix44 *B) |
| Macro: Subtract two fixed size matrices.
|
Gan_Matrix44 * | gan_mat44_decrement (Gan_Matrix44 *A, Gan_Matrix44 *B) |
| Macro: Decrement a fixed size vector by another.
|
Gan_Matrix44 * | gan_vec44_outer_q (Gan_Vector4 *p, Gan_Vector4 *q, Gan_Matrix44 *A) |
| Macro: Compute the outer product of two fixed size vectors.
|
Gan_Vector4 * | gan_mat44_multv4_q (Gan_Matrix44 *A, Gan_Vector4 *p, Gan_Vector4 *q) |
| Macro: Matrix/vector product.
|
Gan_Vector4 * | gan_mat44T_multv4_q (Gan_Matrix44 *A, Gan_Vector4 *p, Gan_Vector4 *q) |
| Macro: Matrix/vector product with the matrix transposed.
|
Gan_Matrix44 * | gan_mat44_lmultm44T_q (Gan_Matrix44 *A, Gan_Matrix44 *B, Gan_Matrix44 *C) |
| Macro: Left-multiply a matrix by the transpose of another matrix.
|
Gan_Matrix44 * | gan_mat44_rmultm44_q (Gan_Matrix44 *A, Gan_Matrix44 *B, Gan_Matrix44 *C) |
| Macro: Right-multiply a matrix by another matrix.
|
Gan_Matrix44 * | gan_mat44_rmultm44T_q (Gan_Matrix44 *A, Gan_Matrix44 *B, Gan_Matrix44 *C) |
| Macro: Right-multiply a matrix by the transpose of another matrix.
|
Gan_SquMatrix44 * | gan_mat44_lmultm44T_sym_q (Gan_Matrix44 *A, Gan_Matrix44 *B, Gan_SquMatrix44 *C) |
| Macro: Matrix product producing a symmetric matrix.
|
Gan_SquMatrix44 * | gan_mat44_rmultm44T_sym_q (Gan_Matrix44 *A, Gan_Matrix44 *B, Gan_SquMatrix44 *C) |
| Macro: Matrix product producing a symmetric matrix.
|
Gan_Matrix44 * | gan_mat44_lmults44_q (Gan_Matrix44 *A, Gan_SquMatrix44 *B, Gan_Matrix44 *C) |
| Macro: Left-multiply a matrix by a symmetric matrix.
|
Gan_Matrix44 * | gan_mat44_rmults44_q (Gan_Matrix44 *A, Gan_SquMatrix44 *B, Gan_Matrix44 *C) |
| Macro: Right-multiply a matrix by a symmetric matrix.
|
Gan_SquMatrix44 * | gan_symmat44_lrmultm44T_q (Gan_SquMatrix44 *A, Gan_Matrix44 *B, Gan_Matrix44 *C, Gan_SquMatrix44 *D) |
| Macro: Matrix triple product involving symmetric matrices.
|
Gan_SquMatrix44 * | gan_symmat44_lrmultm44_q (Gan_SquMatrix44 *A, Gan_Matrix44 *B, Gan_Matrix44 *C, Gan_SquMatrix44 *D) |
| Macro: Matrix triple product involving symmetric matrices.
|
Gan_Matrix44 * | gan_mat44_lmultl44_q (Gan_Matrix44 *A, Gan_SquMatrix44 *B, Gan_Matrix44 *C) |
| Macro: Left-multiply a matrix by a lower-triangular matrix.
|
Gan_Matrix44 * | gan_mat44_lmultl44I_q (Gan_Matrix44 *A, Gan_SquMatrix44 *B, Gan_Matrix44 *C) |
| Macro: Left-multiply a matrix by the inverse of a lower-triangular matrix.
|
Gan_Matrix44 * | gan_mat44_lmultl44T_q (Gan_Matrix44 *A, Gan_SquMatrix44 *B, Gan_Matrix44 *C) |
| Macro: Left-multiply a matrix by the transpose of a lower-triangular matrix.
|
Gan_Matrix44 * | gan_mat44_lmultl44IT_q (Gan_Matrix44 *A, Gan_SquMatrix44 *B, Gan_Matrix44 *C) |
| Macro: Left-multiply a matrix by the inverse transpose of a lower-triangular matrix.
|
Gan_Matrix44 * | gan_mat44_rmultl44_q (Gan_Matrix44 *A, Gan_SquMatrix44 *B, Gan_Matrix44 *C) |
| Macro: Right-multiply a matrix by a lower-triangular matrix.
|
Gan_Matrix44 * | gan_mat44_rmultl44I_q (Gan_Matrix44 *A, Gan_SquMatrix44 *B, Gan_Matrix44 *C) |
| Macro: Right-multiply a matrix by the inverse of a lower-triangular matrix.
|
Gan_Matrix44 * | gan_mat44_rmultl44T_q (Gan_Matrix44 *A, Gan_SquMatrix44 *B, Gan_Matrix44 *C) |
| Macro: Right-multiply a matrix by the transpose of a lower-triangular matrix.
|
Gan_Matrix44 * | gan_mat44_rmultl44IT_q (Gan_Matrix44 *A, Gan_SquMatrix44 *B, Gan_Matrix44 *C) |
| Macro: Right-multiply a matrix by the inverse transpose of a lower-triangular matrix.
|
Gan_Matrix44 * | gan_mat44_lmultl44_i (Gan_Matrix44 *A, Gan_SquMatrix44 *B) |
| Macro: Left-multiply a matrix by a lower-triangular matrix.
|
Gan_Matrix44 * | gan_mat44_lmultl44I_i (Gan_Matrix44 *A, Gan_SquMatrix44 *B) |
| Macro: Left-multiply a matrix by the inverse of a lower-triangular matrix.
|
Gan_Matrix44 * | gan_mat44_lmultl44T_i (Gan_Matrix44 *A, Gan_SquMatrix44 *B) |
| Macro: Left-multiply a matrix by the transpose of a lower-triangular matrix.
|
Gan_Matrix44 * | gan_mat44_lmultl44IT_i (Gan_Matrix44 *A, Gan_SquMatrix44 *B) |
| Macro: Left-multiply a matrix by the inverse transpose of a lower-triangular matrix.
|
Gan_Matrix44 * | gan_mat44_rmultl44_i (Gan_Matrix44 *A, Gan_SquMatrix44 *B) |
| Macro: Right-multiply a matrix by a lower-triangular matrix.
|
Gan_Matrix44 * | gan_mat44_rmultl44I_i (Gan_Matrix44 *A, Gan_SquMatrix44 *B) |
| Macro: Right-multiply a matrix by the inverse of a lower-triangular matrix.
|
Gan_Matrix44 * | gan_mat44_rmultl44T_i (Gan_Matrix44 *A, Gan_SquMatrix44 *B) |
| Macro: Right-multiply a matrix by the transpose of a lower-triangular matrix.
|
Gan_Matrix44 * | gan_mat44_rmultl44IT_i (Gan_Matrix44 *A, Gan_SquMatrix44 *B) |
| Macro: Right-multiply a matrix by the inverse transpose of a lower-triangular matrix.
|
Gan_SquMatrix44 * | gan_mat44_slmultT_q (Gan_Matrix44 *A, Gan_SquMatrix44 *B) |
| Macro: Left-multiply a matrix by its own transpose, producing a symmetric matrix.
|
Gan_SquMatrix44 * | gan_mat44_srmultT_q (Gan_Matrix44 *A, Gan_SquMatrix44 *B) |
| Macro: Right-multiply a matrix by its own transpose, producing a symmetric matrix.
|
double | gan_mat44_sumsqr_q (Gan_Matrix44 *A) |
| Macro: Returns sum of squares of matrix elements.
|
double | gan_mat44_Fnorm_q (Gan_Matrix44 *A) |
| Macro: Frobenius norm of matrix.
|
Gan_Matrix44 * | gan_mat44_from_mat_q (Gan_Matrix *A, Gan_Matrix44 *B) |
| Macro: Convert generic rectangular matrix to fixed size matrix structure.
|
Gan_Matrix44 * | gan_mat44_from_squmat_q (Gan_SquMatrix *A, Gan_Matrix44 *B) |
| Macro: Convert square rectangular matrix to fixed size matrix structure.
|
Gan_SquMatrix44 * | gan_squmat44_from_squmat_q (Gan_SquMatrix *A, Gan_SquMatrix44 *B) |
| Macro: Convert square rectangular matrix to fixed size square matrix structure.
|
Gan_SquMatrix44 * | gan_symmat44_fill_q (Gan_SquMatrix44 *A, double XX, double YX, double YY, double ZX, double ZY, double ZZ, double WX, double WY, double WZ, double WW) |
| Macro: Fill 4x4 symmetric matrix with values.
|
void | gan_symmat44_get_parts_q (Gan_SquMatrix44 *A, Gan_SquMatrix33 *B, Gan_Vector3 *p, double *s) |
| Macro: Extract parts of 4x4 symmetric matrix.
|
void | gan_symmat44_get_blocks_q (Gan_SquMatrix44 *A, Gan_SquMatrix22 *B, Gan_Matrix22 *C, Gan_SquMatrix22 *D) |
| Macro: Extract 2x2 block parts of 4x4 symmetric matrix.
|
Gan_SquMatrix44 * | gan_symmat44_set_parts_q (Gan_SquMatrix44 *A, Gan_SquMatrix33 *B, Gan_Vector3 *p, double s) |
| Macro: Build a 4x4 symmetric matrix from parts.
|
Gan_SquMatrix44 * | gan_symmat44_set_blocks_q (Gan_SquMatrix44 *A, Gan_SquMatrix22 *B, Gan_Matrix22 *C, Gan_SquMatrix22 *D) |
| Macro: Build a 4x4 symmetric matrix from 2x2 blocks.
|
Gan_SquMatrix44 * | gan_vec44_outer_sym_q (Gan_Vector4 *p, Gan_SquMatrix44 *A) |
| Macro: Computes the outer product of vector with itself.
|
Gan_SquMatrix44 * | gan_symmat44_cholesky_q (Gan_SquMatrix44 *A, Gan_SquMatrix44 *B) |
| Macro: Compute Cholesky factorisation of fixed size symmetric matrix.
|
Gan_SquMatrix44 * | gan_symmat44_cholesky_i (Gan_SquMatrix44 *A) |
| Macro: Compute Cholesky factorisation of fixed size symmetric matrix.
|
Gan_SquMatrix44 * | gan_symmat44_ident_q (Gan_SquMatrix44 *A) |
| Macro: Fill fixed size square matrix with identity.
|
Gan_SquMatrix44 * | gan_symmat44_invert_q (Gan_SquMatrix44 *A, Gan_SquMatrix44 *B) |
| Macro: Invert fixed size square matrix.
|
Gan_SquMatrix44 * | gan_symmat44_invert_i (Gan_SquMatrix44 *A) |
| Macro: Invert fixed size square matrix in-place.
|
double | gan_symmat44_det_q (Gan_SquMatrix44 *A) |
| Macro: Determinant of square matrix.
|
double | gan_symmat44_trace_q (Gan_SquMatrix44 *A) |
| Macro: Trace of square matrix.
|
Gan_SquMatrix44 * | gan_symmat44_zero_q (Gan_SquMatrix44 *A) |
| Macro: Fill fixed size matrix with zero.
|
Gan_SquMatrix44 * | gan_symmat44_copy_q (Gan_SquMatrix44 *A, Gan_SquMatrix44 *B) |
| Macro: Copy fixed size matrix.
|
Gan_SquMatrix44 * | gan_symmat44_scale_q (Gan_SquMatrix44 *A, double a, Gan_SquMatrix44 *B) |
| Macro: Scale fixed size matrix.
|
Gan_SquMatrix44 * | gan_symmat44_scale_i (Gan_SquMatrix44 *A, double a) |
| Macro: Scale fixed size matrix.
|
Gan_SquMatrix44 * | gan_symmat44_divide_q (Gan_SquMatrix44 *A, double a, Gan_SquMatrix44 *B) |
| Macro: Divide fixed size matrix by scalar.
|
Gan_SquMatrix44 * | gan_symmat44_divide_i (Gan_SquMatrix44 *A, double a) |
| Macro: Divide fixed size matrix by scalar.
|
Gan_SquMatrix44 * | gan_symmat44_negate_q (Gan_SquMatrix44 *A, Gan_SquMatrix44 *B) |
| Macro: Negate fixed size matrix.
|
Gan_SquMatrix44 * | gan_symmat44_negate_i (Gan_SquMatrix44 *A) |
| Macro: Negate fixed size matrix.
|
Gan_SquMatrix44 * | gan_symmat44_unit_i (Gan_SquMatrix44 *A) |
| Macro: Scale matrix to unit norm.
|
Gan_SquMatrix44 * | gan_symmat44_add_q (Gan_SquMatrix44 *A, Gan_SquMatrix44 *B, Gan_SquMatrix44 *C) |
| Macro: Add two fixed size matrices.
|
Gan_SquMatrix44 * | gan_symmat44_add_i1 (Gan_SquMatrix44 *A, Gan_SquMatrix44 *B) |
| Macro: Add two fixed size matrices.
|
Gan_SquMatrix44 * | gan_symmat44_add_i2 (Gan_SquMatrix44 *A, Gan_SquMatrix44 *B) |
| Macro: Add two fixed size matrices.
|
Gan_SquMatrix44 * | gan_symmat44_increment (Gan_SquMatrix44 *A, Gan_SquMatrix44 *B) |
| Macro: Increment a fixed size vector by another.
|
Gan_SquMatrix44 * | gan_symmat44_sub_q (Gan_SquMatrix44 *A, Gan_SquMatrix44 *B, Gan_SquMatrix44 *C) |
| Macro: Subtract two fixed size matrices.
|
Gan_SquMatrix44 * | gan_symmat44_sub_i1 (Gan_SquMatrix44 *A, Gan_SquMatrix44 *B) |
| Macro: Subtract two fixed size matrices.
|
Gan_SquMatrix44 * | gan_symmat44_sub_i2 (Gan_SquMatrix44 *A, Gan_SquMatrix44 *B) |
| Macro: Subtract two fixed size matrices.
|
Gan_SquMatrix44 * | gan_symmat44_decrement (Gan_SquMatrix44 *A, Gan_SquMatrix44 *B) |
| Macro: Decrement a fixed size vector by another.
|
Gan_Vector4 * | gan_symmat44_multv4_q (Gan_SquMatrix44 *A, Gan_Vector4 *p, Gan_Vector4 *q) |
| Macro: Matrix/vector product.
|
double | gan_symmat44_sumsqr_q (Gan_SquMatrix44 *A) |
| Macro: Returns sum of squares of matrix elements.
|
double | gan_symmat44_Fnorm_q (Gan_SquMatrix44 *A) |
| Macro: Frobenius norm of matrix.
|
Gan_SquMatrix44 * | gan_ltmat44_fill_q (Gan_SquMatrix44 *A, double XX, double YX, double YY, double ZX, double ZY, double ZZ, double WX, double WY, double WZ, double WW) |
| Macro: Fill 4x4 lower triangular matrix with values.
|
void | gan_ltmat44_get_parts_q (Gan_SquMatrix44 *A, Gan_SquMatrix33 *B, Gan_Vector3 *p, double *s) |
| Macro: Extract parts of 4x4 lower triangular matrix.
|
Gan_SquMatrix44 * | gan_ltmat44_set_parts_q (Gan_SquMatrix44 *A, Gan_SquMatrix33 *B, Gan_Vector3 *p, double s) |
| Macro: Build a 4x4 lower triangular matrix from parts.
|
Gan_SquMatrix44 * | gan_ltmat44_ident_q (Gan_SquMatrix44 *A) |
| Macro: Fill fixed size square matrix with identity.
|
Gan_Vector4 * | gan_ltmat44I_multv4_q (Gan_SquMatrix44 *A, Gan_Vector4 *p, Gan_Vector4 *q) |
| Macro: Computes the product of the inverse of a matrix and a vector.
|
Gan_Vector4 * | gan_ltmat44I_multv4_i (Gan_SquMatrix44 *A, Gan_Vector4 *p) |
| Macro: Computes the product of the inverse of matrix and a vector in-place.
|
Gan_Vector4 * | gan_ltmat44IT_multv4_q (Gan_SquMatrix44 *A, Gan_Vector4 *p, Gan_Vector4 *q) |
| Macro: Computes the product of an inverted transposed matrix and a vector.
|
Gan_Vector4 * | gan_ltmat44IT_multv4_i (Gan_SquMatrix44 *A, Gan_Vector4 *p) |
| Macro: Computes the product of an inverted transposed matrix and a vector in-place.
|
Gan_SquMatrix44 * | gan_ltmat44_invert_q (Gan_SquMatrix44 *A, Gan_SquMatrix44 *B) |
| Macro: Invert fixed size square matrix.
|
Gan_SquMatrix44 * | gan_ltmat44_invert_i (Gan_SquMatrix44 *A) |
| Macro: Invert fixed size square matrix in-place.
|
double | gan_ltmat44_det_q (Gan_SquMatrix44 *A) |
| Macro: Determinant of square matrix.
|
double | gan_ltmat44_trace_q (Gan_SquMatrix44 *A) |
| Macro: Trace of square matrix.
|
Gan_SquMatrix44 * | gan_ltmat44_zero_q (Gan_SquMatrix44 *A) |
| Macro: Fill fixed size matrix with zero.
|
Gan_SquMatrix44 * | gan_ltmat44_copy_q (Gan_SquMatrix44 *A, Gan_SquMatrix44 *B) |
| Macro: Copy fixed size matrix.
|
Gan_SquMatrix44 * | gan_ltmat44_scale_q (Gan_SquMatrix44 *A, double a, Gan_SquMatrix44 *B) |
| Macro: Scale fixed size matrix.
|
Gan_SquMatrix44 * | gan_ltmat44_scale_i (Gan_SquMatrix44 *A, double a) |
| Macro: Scale fixed size matrix.
|
Gan_SquMatrix44 * | gan_ltmat44_divide_q (Gan_SquMatrix44 *A, double a, Gan_SquMatrix44 *B) |
| Macro: Divide fixed size matrix by scalar.
|
Gan_SquMatrix44 * | gan_ltmat44_divide_i (Gan_SquMatrix44 *A, double a) |
| Macro: Divide fixed size matrix by scalar.
|
Gan_SquMatrix44 * | gan_ltmat44_negate_q (Gan_SquMatrix44 *A, Gan_SquMatrix44 *B) |
| Macro: Negate fixed size matrix.
|
Gan_SquMatrix44 * | gan_ltmat44_negate_i (Gan_SquMatrix44 *A) |
| Macro: Negate fixed size matrix.
|
Gan_SquMatrix44 * | gan_ltmat44_unit_i (Gan_SquMatrix44 *A) |
| Macro: Scale matrix to unit norm.
|
Gan_SquMatrix44 * | gan_ltmat44_add_q (Gan_SquMatrix44 *A, Gan_SquMatrix44 *B, Gan_SquMatrix44 *C) |
| Macro: Add two fixed size matrices.
|
Gan_SquMatrix44 * | gan_ltmat44_add_i1 (Gan_SquMatrix44 *A, Gan_SquMatrix44 *B) |
| Macro: Add two fixed size matrices.
|
Gan_SquMatrix44 * | gan_ltmat44_add_i2 (Gan_SquMatrix44 *A, Gan_SquMatrix44 *B) |
| Macro: Add two fixed size matrices.
|
Gan_SquMatrix44 * | gan_ltmat44_increment (Gan_SquMatrix44 *A, Gan_SquMatrix44 *B) |
| Macro: Increment a fixed size vector by another.
|
Gan_SquMatrix44 * | gan_ltmat44_sub_q (Gan_SquMatrix44 *A, Gan_SquMatrix44 *B, Gan_SquMatrix44 *C) |
| Macro: Subtract two fixed size matrices.
|
Gan_SquMatrix44 * | gan_ltmat44_sub_i1 (Gan_SquMatrix44 *A, Gan_SquMatrix44 *B) |
| Macro: Subtract two fixed size matrices.
|
Gan_SquMatrix44 * | gan_ltmat44_sub_i2 (Gan_SquMatrix44 *A, Gan_SquMatrix44 *B) |
| Macro: Subtract two fixed size matrices.
|
Gan_SquMatrix44 * | gan_ltmat44_decrement (Gan_SquMatrix44 *A, Gan_SquMatrix44 *B) |
| Macro: Decrement a fixed size vector by another.
|
Gan_Vector4 * | gan_ltmat44_multv4_q (Gan_SquMatrix44 *A, Gan_Vector4 *p, Gan_Vector4 *q) |
| Macro: Matrix/vector product.
|
Gan_Vector4 * | gan_ltmat44_multv4_i (Gan_SquMatrix44 *A, Gan_Vector4 *p) |
| Macro: Matrix/vector product.
|
Gan_Vector4 * | gan_ltmat44T_multv4_q (Gan_SquMatrix44 *A, Gan_Vector4 *p, Gan_Vector4 *q) |
| Macro: Matrix/vector product with the matrix transposed.
|
Gan_Vector4 * | gan_ltmat44T_multv4_i (Gan_SquMatrix44 *A, Gan_Vector4 *p) |
| Macro: Matrix/vector product with the matrix transposed.
|
Gan_SquMatrix44 * | gan_ltmat44_slmultT_q (Gan_SquMatrix44 *A, Gan_SquMatrix44 *B) |
| Macro: Left-multiply a matrix by its own transpose, producing a symmetric matrix.
|
Gan_SquMatrix44 * | gan_ltmat44_slmultT_i (Gan_SquMatrix44 *A) |
| Macro: Left-multiply a matrix by its own transpose, producing a symmetric matrix.
|
Gan_SquMatrix44 * | gan_ltmat44_srmultT_q (Gan_SquMatrix44 *A, Gan_SquMatrix44 *B) |
| Macro: Right-multiply a matrix by its own transpose, producing a symmetric matrix.
|
Gan_SquMatrix44 * | gan_ltmat44_srmultT_i (Gan_SquMatrix44 *A) |
| Macro: Right-multiply a matrix by its own transpose, producing a symmetric matrix.
|
double | gan_ltmat44_sumsqr_q (Gan_SquMatrix44 *A) |
| Macro: Returns sum of squares of matrix elements.
|
double | gan_ltmat44_Fnorm_q (Gan_SquMatrix44 *A) |
| Macro: Frobenius norm of matrix.
|