Lines Matching refs:r3
144 float *r0, *r1, *r2, *r3;
154 r0 = wtmp[0], r1 = wtmp[1], r2 = wtmp[2], r3 = wtmp[3];
165 r3[0] = MAT(m, 3, 0), r3[1] = MAT(m, 3, 1), r3[2] = MAT(m, 3, 2), r3[3] = MAT(m, 3, 3),
166 r3[7] = 1.0, r3[4] = r3[5] = r3[6] = 0.0;
169 if (fabsf(r3[0]) > fabsf(r2[0]))
170 SWAP_ROWS(r3, r2);
181 m3 = r3[0] / r0[0];
185 r3[1] -= m3 * s;
189 r3[2] -= m3 * s;
193 r3[3] -= m3 * s;
198 r3[4] -= m3 * s;
204 r3[5] -= m3 * s;
210 r3[6] -= m3 * s;
216 r3[7] -= m3 * s;
220 if (fabsf(r3[1]) > fabsf(r2[1]))
221 SWAP_ROWS(r3, r2);
229 m3 = r3[1] / r1[1];
231 r3[2] -= m3 * r1[2];
233 r3[3] -= m3 * r1[3];
237 r3[4] -= m3 * s;
242 r3[5] -= m3 * s;
247 r3[6] -= m3 * s;
252 r3[7] -= m3 * s;
256 if (fabsf(r3[2]) > fabsf(r2[2]))
257 SWAP_ROWS(r3, r2);
262 m3 = r3[2] / r2[2];
263 r3[3] -= m3 * r2[3], r3[4] -= m3 * r2[4], r3[5] -= m3 * r2[5], r3[6] -= m3 * r2[6],
264 r3[7] -= m3 * r2[7];
267 if (0.0F == r3[3])
270 s = 1.0F / r3[3]; /* now back substitute row 3 */
271 r3[4] *= s;
272 r3[5] *= s;
273 r3[6] *= s;
274 r3[7] *= s;
278 r2[4] = s * (r2[4] - r3[4] * m2), r2[5] = s * (r2[5] - r3[5] * m2),
279 r2[6] = s * (r2[6] - r3[6] * m2), r2[7] = s * (r2[7] - r3[7] * m2);
281 r1[4] -= r3[4] * m1, r1[5] -= r3[5] * m1, r1[6] -= r3[6] * m1, r1[7] -= r3[7] * m1;
283 r0[4] -= r3[4] * m0, r0[5] -= r3[5] * m0, r0[6] -= r3[6] * m0, r0[7] -= r3[7] * m0;
303 MAT(out, 2, 3) = r2[7], MAT(out, 3, 0) = r3[4];
304 MAT(out, 3, 1) = r3[5], MAT(out, 3, 2) = r3[6];
305 MAT(out, 3, 3) = r3[7];