98 for (
int ii = 0; ii < 3; ii++)
99 mv[ii] = m[ii][0] * v[0] + m[ii][1] * v[1] + m[ii][2] * v[2];
118 for (
int ii = 0; ii < 3; ii++)
139 for (
int ii = 0; ii < 3; ii++)
160 sout[0] = s[1]*s[2] - s[4]*s[4];
161 sout[1] = s[0]*s[2] - s[5]*s[5];
162 sout[2] = s[0]*s[1] - s[3]*s[3];
163 sout[3] = s[4]*s[5] - s[3]*s[2];
164 sout[4] = s[3]*s[5] - s[0]*s[4];
165 sout[5] = s[3]*s[4] - s[1]*s[5];
167 detinv = 1. / (s[0]*sout[0] + s[3]*sout[3] + s[5]*sout[5]);
169 sout[0] = sout[0] * detinv;
170 sout[1] = sout[1] * detinv;
171 sout[2] = sout[2] * detinv;
172 sout[3] = sout[3] * detinv;
173 sout[4] = sout[4] * detinv;
174 sout[5] = sout[5] * detinv;
193 sout[0] = s1[0]*s2[0] + s1[3]*s2[3] + s1[5]*s2[5];
195 sout[1] = s1[3]*s2[3] + s1[1]*s2[1] + s1[4]*s2[4];
197 sout[2] = s1[5]*s2[5] + s1[4]*s2[4] + s1[2]*s2[2];
199 sout[3] = s1[0]*s2[3] + s1[3]*s2[1] + s1[5]*s2[4];
201 sout[4] = s1[3]*s2[5] + s1[1]*s2[4] + s1[4]*s2[2];
203 sout[5] = s1[0]*s2[5] + s1[3]*s2[4] + s1[5]*s2[2];
cs_real_t cs_real_6_t[6]
vector of 6 floating-point values
Definition: cs_defs.h:309
BEGIN_C_DECLS void symmetric_matrix_inverse(cs_real_6_t sout, const cs_real_6_t s)
Definition: cs_math.c:91
#define BEGIN_C_DECLS
Definition: cs_defs.h:405
cs_real_t cs_real_3_t[3]
vector of 3 floating-point values
Definition: cs_defs.h:307
void symmetric_matrix_product(cs_real_6_t sout, const cs_real_6_t s1, const cs_real_6_t s2)
Definition: cs_math.c:105
#define END_C_DECLS
Definition: cs_defs.h:406
double cs_real_t
Definition: cs_defs.h:296
#define CS_PROCF(x, y)
Definition: cs_defs.h:419
cs_real_t cs_real_33_t[3][3]
3x3 matrix of floating-point values
Definition: cs_defs.h:311