use crate::Vec4;
use crate::ops::Cross;
#[opimps::impl_ops(Cross)]
fn cross(self: Vec4<f32>, rhs: Vec4<f32>) -> Vec4<f32> {
let l = self.as_slice();
let r = rhs.as_slice();
Vec4::new(
l[1] * r[2] - r[1] * l[2],
l[2] * r[0] - r[2] * l[0],
l[0] * r[1] - r[0] * l[1],
0.0
)
}
#[opimps::impl_ops(Cross)]
fn cross(self: Vec4<f64>, rhs: Vec4<f64>) -> Vec4<f64> {
let l = self.as_slice();
let r = rhs.as_slice();
Vec4::new(
l[1] * r[2] - r[1] * l[2],
l[2] * r[0] - r[2] * l[0],
l[0] * r[1] - r[0] * l[1],
0.0
)
}