pub struct Quaternionx8 {
pub w: f64x8,
pub x: f64x8,
pub y: f64x8,
pub z: f64x8,
}Expand description
SoA. Performs operations on x quaternions
Fields§
§w: f64x8§x: f64x8§y: f64x8§z: f64x8Implementations§
Source§impl Quaternionx8
impl Quaternionx8
Sourcepub fn to_normalized(self) -> Self
pub fn to_normalized(self) -> Self
Returns the normalized version of the vector.
pub fn inverse(self) -> Self
Sourcepub fn rotate_vec(self, vec: Vec3x8) -> Vec3x8
pub fn rotate_vec(self, vec: Vec3x8) -> Vec3x8
Rotate a vector using this quaternion. Note that our multiplication Q * v operation is effectively quaternion multiplication, with a quaternion created by a vec with w=0. Uses the X_VEC hand rule.
Source§impl Quaternionx8
impl Quaternionx8
Sourcepub fn from_array(slots: [Quaternion; 8]) -> Self
pub fn from_array(slots: [Quaternion; 8]) -> Self
Create a new x-lane, SoA, $f Vec3
pub fn from_slice(slice: &[Quaternion]) -> Self
Sourcepub fn to_array(self) -> [Quaternion; 8]
pub fn to_array(self) -> [Quaternion; 8]
Convert the SoA data back into an array of eight Quaternions.
pub fn new_identity() -> Self
pub fn splat(val: Quaternion) -> Self
Trait Implementations§
Source§impl Add for Quaternionx8
impl Add for Quaternionx8
Source§impl Clone for Quaternionx8
impl Clone for Quaternionx8
Source§fn clone(&self) -> Quaternionx8
fn clone(&self) -> Quaternionx8
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for Quaternionx8
impl Debug for Quaternionx8
Source§impl Default for Quaternionx8
impl Default for Quaternionx8
Source§impl Div<f64x8> for Quaternionx8
impl Div<f64x8> for Quaternionx8
Source§impl Div for Quaternionx8
impl Div for Quaternionx8
Source§impl DivAssign<f64x8> for Quaternionx8
impl DivAssign<f64x8> for Quaternionx8
Source§fn div_assign(&mut self, rhs: f64x8)
fn div_assign(&mut self, rhs: f64x8)
Performs the
/= operation. Read moreSource§impl Mul<Vec3x8> for Quaternionx8
impl Mul<Vec3x8> for Quaternionx8
Source§fn mul(self, rhs: Vec3x8) -> Self::Output
fn mul(self, rhs: Vec3x8) -> Self::Output
Returns the multiplication of a Quaternion with a vector. This is a normal Quaternion multiplication where the vector is treated as a Quaternion with a W element value of zero. The Quaternion is post- multiplied by the vector.
Source§type Output = Quaternionx8
type Output = Quaternionx8
The resulting type after applying the
* operator.Source§impl Mul<f64> for Quaternionx8
impl Mul<f64> for Quaternionx8
Source§impl Mul<f64x8> for Quaternionx8
impl Mul<f64x8> for Quaternionx8
Source§impl Mul for Quaternionx8
impl Mul for Quaternionx8
Source§impl MulAssign<f64x8> for Quaternionx8
impl MulAssign<f64x8> for Quaternionx8
Source§fn mul_assign(&mut self, rhs: f64x8)
fn mul_assign(&mut self, rhs: f64x8)
Performs the
*= operation. Read moreSource§impl Sub for Quaternionx8
impl Sub for Quaternionx8
impl Copy for Quaternionx8
Auto Trait Implementations§
impl Freeze for Quaternionx8
impl RefUnwindSafe for Quaternionx8
impl Send for Quaternionx8
impl Sync for Quaternionx8
impl Unpin for Quaternionx8
impl UnsafeUnpin for Quaternionx8
impl UnwindSafe for Quaternionx8
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more