49 const scalar_t* B_3x3,
51 matmul3x3_3x1(A_3x3[0], A_3x3[1], A_3x3[2], A_3x3[3], A_3x3[4], A_3x3[5],
52 A_3x3[6], A_3x3[7], A_3x3[8], B_3x3[0], B_3x3[3], B_3x3[6],
53 C_3x3[0], C_3x3[3], C_3x3[6]);
54 matmul3x3_3x1(A_3x3[0], A_3x3[1], A_3x3[2], A_3x3[3], A_3x3[4], A_3x3[5],
55 A_3x3[6], A_3x3[7], A_3x3[8], B_3x3[1], B_3x3[4], B_3x3[7],
56 C_3x3[1], C_3x3[4], C_3x3[7]);
57 matmul3x3_3x1(A_3x3[0], A_3x3[1], A_3x3[2], A_3x3[3], A_3x3[4], A_3x3[5],
58 A_3x3[6], A_3x3[7], A_3x3[8], B_3x3[2], B_3x3[5], B_3x3[8],
59 C_3x3[2], C_3x3[5], C_3x3[8]);
126 scalar_t* output_3x3) {
127 scalar_t det =
det3x3(A_3x3);
131 scalar_t invdet = 1.0 / det;
132 output_3x3[0] = (A_3x3[4] * A_3x3[8] - A_3x3[7] * A_3x3[5]) * invdet;
133 output_3x3[1] = (A_3x3[2] * A_3x3[7] - A_3x3[1] * A_3x3[8]) * invdet;
134 output_3x3[2] = (A_3x3[1] * A_3x3[5] - A_3x3[2] * A_3x3[4]) * invdet;
135 output_3x3[3] = (A_3x3[5] * A_3x3[6] - A_3x3[3] * A_3x3[8]) * invdet;
136 output_3x3[4] = (A_3x3[0] * A_3x3[8] - A_3x3[2] * A_3x3[6]) * invdet;
137 output_3x3[5] = (A_3x3[3] * A_3x3[2] - A_3x3[0] * A_3x3[5]) * invdet;
138 output_3x3[6] = (A_3x3[3] * A_3x3[7] - A_3x3[6] * A_3x3[4]) * invdet;
139 output_3x3[7] = (A_3x3[6] * A_3x3[1] - A_3x3[0] * A_3x3[7]) * invdet;
140 output_3x3[8] = (A_3x3[0] * A_3x3[4] - A_3x3[3] * A_3x3[1]) * invdet;
177 scalar_t* output_3x3) {
178 output_3x3[0] = A_3x3[0];
179 output_3x3[1] = A_3x3[3];
180 output_3x3[2] = A_3x3[6];
182 output_3x3[3] = A_3x3[1];
183 output_3x3[4] = A_3x3[4];
184 output_3x3[5] = A_3x3[7];
186 output_3x3[6] = A_3x3[2];
187 output_3x3[7] = A_3x3[5];
188 output_3x3[8] = A_3x3[8];
193 scalar_t temp_01 = A_4x4[1];
194 scalar_t temp_02 = A_4x4[2];
195 scalar_t temp_03 = A_4x4[3];
196 scalar_t temp_12 = A_4x4[6];
197 scalar_t temp_13 = A_4x4[7];
198 scalar_t temp_23 = A_4x4[11];
201 A_4x4[3] = A_4x4[12];
203 A_4x4[7] = A_4x4[13];
204 A_4x4[11] = A_4x4[14];
215 scalar_t* output_4x4) {
216 output_4x4[0] = A_4x4[0];
217 output_4x4[1] = A_4x4[4];
218 output_4x4[2] = A_4x4[8];
219 output_4x4[3] = A_4x4[12];
221 output_4x4[4] = A_4x4[1];
222 output_4x4[5] = A_4x4[5];
223 output_4x4[6] = A_4x4[9];
224 output_4x4[7] = A_4x4[13];
226 output_4x4[8] = A_4x4[2];
227 output_4x4[9] = A_4x4[6];
228 output_4x4[10] = A_4x4[10];
229 output_4x4[11] = A_4x4[14];
231 output_4x4[12] = A_4x4[3];
232 output_4x4[13] = A_4x4[7];
233 output_4x4[14] = A_4x4[11];
234 output_4x4[15] = A_4x4[15];