| 280 | } |
| 281 | |
| 282 | VECTORCALL VECMATH_FINLINE vec3f v_cross3(vec3f a, vec3f b) |
| 283 | { |
| 284 | // a.y * b.z - a.z * b.y |
| 285 | // a.z * b.x - a.x * b.z |
| 286 | // a.x * b.y - a.y * b.x |
| 287 | vec3f tmp0 = v_perm_yzxw(a); |
| 288 | vec3f tmp1 = v_perm_zxyw(b); |
| 289 | vec3f tmp2 = v_mul(tmp0, b); |
| 290 | vec3f tmp3 = v_mul(tmp0, tmp1); |
| 291 | vec3f tmp4 = v_perm_yzxw(tmp2); |
| 292 | return v_sub(tmp3, tmp4); |
| 293 | } |
| 294 | |
| 295 | VECTORCALL VECMATH_FINLINE void v_mat44_make_persp_forward(mat44f &dest, float wk, float hk, float zn, float zf) |
| 296 | { |
no test coverage detected