[−][src]Struct shigens::Quaternion
Fields
r: R<T>
i: I<T>
j: J<T>
k: K<T>
Implementations
impl<T> Quaternion<T>
[src]
pub fn get_values(self) -> (T, T, T, T)
[src]
impl<T> Quaternion<T> where
T: Copy + Neg<Output = T>,
[src]
T: Copy + Neg<Output = T>,
pub fn rev(&self) -> Quaternion<T>
[src]
impl<T> Quaternion<T> where
T: Copy + Mul,
T::Output: Add<Output = T::Output>,
[src]
T: Copy + Mul,
T::Output: Add<Output = T::Output>,
pub fn norm_square(&self) -> R<T::Output>
[src]
impl<T> Quaternion<T> where
T: Copy + Add<Output = T> + Mul<Output = T> + Div<Output = T> + Neg<Output = T>,
[src]
T: Copy + Add<Output = T> + Mul<Output = T> + Div<Output = T> + Neg<Output = T>,
pub fn inv(&self) -> Quaternion<T>
[src]
impl<T> Quaternion<T>
[src]
Trait Implementations
impl<T> Add<I<T>> for Quaternion<T> where
T: Add<Output = T>,
[src]
T: Add<Output = T>,
type Output = Quaternion<T>
The resulting type after applying the +
operator.
fn add(self, rhs: I<T>) -> Self::Output
[src]
impl<T> Add<J<T>> for Quaternion<T> where
T: Add<Output = T>,
[src]
T: Add<Output = T>,
type Output = Quaternion<T>
The resulting type after applying the +
operator.
fn add(self, rhs: J<T>) -> Self::Output
[src]
impl<T> Add<K<T>> for Quaternion<T> where
T: Add<Output = T>,
[src]
T: Add<Output = T>,
type Output = Quaternion<T>
The resulting type after applying the +
operator.
fn add(self, rhs: K<T>) -> Self::Output
[src]
impl<LT, RT> Add<Quaternion<RT>> for Quaternion<LT> where
LT: Add<RT>,
[src]
LT: Add<RT>,
type Output = Quaternion<LT::Output>
The resulting type after applying the +
operator.
fn add(self, rhs: Quaternion<RT>) -> Self::Output
[src]
impl<T> Add<Quaternion<T>> for R<T> where
T: Add<Output = T>,
[src]
T: Add<Output = T>,
type Output = Quaternion<T>
The resulting type after applying the +
operator.
fn add(self, rhs: Quaternion<T>) -> Self::Output
[src]
impl<T> Add<Quaternion<T>> for I<T> where
T: Add<Output = T>,
[src]
T: Add<Output = T>,
type Output = Quaternion<T>
The resulting type after applying the +
operator.
fn add(self, rhs: Quaternion<T>) -> Self::Output
[src]
impl<T> Add<Quaternion<T>> for J<T> where
T: Add<Output = T>,
[src]
T: Add<Output = T>,
type Output = Quaternion<T>
The resulting type after applying the +
operator.
fn add(self, rhs: Quaternion<T>) -> Self::Output
[src]
impl<T> Add<Quaternion<T>> for K<T> where
T: Add<Output = T>,
[src]
T: Add<Output = T>,
type Output = Quaternion<T>
The resulting type after applying the +
operator.
fn add(self, rhs: Quaternion<T>) -> Self::Output
[src]
impl<T> Add<R<T>> for Quaternion<T> where
T: Add<Output = T>,
[src]
T: Add<Output = T>,
type Output = Quaternion<T>
The resulting type after applying the +
operator.
fn add(self, rhs: R<T>) -> Self::Output
[src]
impl<T: Clone> Clone for Quaternion<T>
[src]
fn clone(&self) -> Quaternion<T>
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<T: Debug> Debug for Quaternion<T>
[src]
impl<T: Display> Display for Quaternion<T>
[src]
impl<T> Div<I<T>> for Quaternion<T> where
T: Copy + Div<Output = T> + Neg<Output = T>,
[src]
T: Copy + Div<Output = T> + Neg<Output = T>,
type Output = Quaternion<T>
The resulting type after applying the /
operator.
fn div(self, rhs: I<T>) -> Self::Output
[src]
impl<T> Div<J<T>> for Quaternion<T> where
T: Copy + Div<Output = T> + Neg<Output = T>,
[src]
T: Copy + Div<Output = T> + Neg<Output = T>,
type Output = Quaternion<T>
The resulting type after applying the /
operator.
fn div(self, rhs: J<T>) -> Self::Output
[src]
impl<T> Div<K<T>> for Quaternion<T> where
T: Copy + Div<Output = T> + Neg<Output = T>,
[src]
T: Copy + Div<Output = T> + Neg<Output = T>,
type Output = Quaternion<T>
The resulting type after applying the /
operator.
fn div(self, rhs: K<T>) -> Self::Output
[src]
impl<T> Div<Quaternion<T>> for R<T> where
T: Copy + Add<Output = T> + Mul<Output = T> + Div<Output = T> + Neg<Output = T>,
[src]
T: Copy + Add<Output = T> + Mul<Output = T> + Div<Output = T> + Neg<Output = T>,
type Output = Quaternion<T>
The resulting type after applying the /
operator.
fn div(self, rhs: Quaternion<T>) -> Self::Output
[src]
impl<T> Div<Quaternion<T>> for I<T> where
T: Copy + Add<Output = T> + Mul<Output = T> + Div<Output = T> + Neg<Output = T>,
[src]
T: Copy + Add<Output = T> + Mul<Output = T> + Div<Output = T> + Neg<Output = T>,
type Output = Quaternion<T>
The resulting type after applying the /
operator.
fn div(self, rhs: Quaternion<T>) -> Self::Output
[src]
impl<T> Div<Quaternion<T>> for J<T> where
T: Copy + Add<Output = T> + Mul<Output = T> + Div<Output = T> + Neg<Output = T>,
[src]
T: Copy + Add<Output = T> + Mul<Output = T> + Div<Output = T> + Neg<Output = T>,
type Output = Quaternion<T>
The resulting type after applying the /
operator.
fn div(self, rhs: Quaternion<T>) -> Self::Output
[src]
impl<T> Div<Quaternion<T>> for K<T> where
T: Copy + Add<Output = T> + Mul<Output = T> + Div<Output = T> + Neg<Output = T>,
[src]
T: Copy + Add<Output = T> + Mul<Output = T> + Div<Output = T> + Neg<Output = T>,
type Output = Quaternion<T>
The resulting type after applying the /
operator.
fn div(self, rhs: Quaternion<T>) -> Self::Output
[src]
impl<T> Div<Quaternion<T>> for Quaternion<T> where
T: Copy + Add<Output = T> + Mul<Output = T> + Div<Output = T> + Neg<Output = T>,
[src]
T: Copy + Add<Output = T> + Mul<Output = T> + Div<Output = T> + Neg<Output = T>,
type Output = Quaternion<T>
The resulting type after applying the /
operator.
fn div(self, rhs: Quaternion<T>) -> Self::Output
[src]
impl<T> Div<R<T>> for Quaternion<T> where
T: Copy + Div,
[src]
T: Copy + Div,
type Output = Quaternion<T::Output>
The resulting type after applying the /
operator.
fn div(self, rhs: R<T>) -> Self::Output
[src]
impl<T> From<(T, T, T, T)> for Quaternion<T>
[src]
impl<T> Mul<I<T>> for Quaternion<T> where
T: Copy + Mul<Output = T> + Neg<Output = T>,
[src]
T: Copy + Mul<Output = T> + Neg<Output = T>,
type Output = Quaternion<T>
The resulting type after applying the *
operator.
fn mul(self, rhs: I<T>) -> Self::Output
[src]
impl<T> Mul<J<T>> for Quaternion<T> where
T: Copy + Mul<Output = T> + Neg<Output = T>,
[src]
T: Copy + Mul<Output = T> + Neg<Output = T>,
type Output = Quaternion<T>
The resulting type after applying the *
operator.
fn mul(self, rhs: J<T>) -> Self::Output
[src]
impl<T> Mul<K<T>> for Quaternion<T> where
T: Copy + Mul<Output = T> + Neg<Output = T>,
[src]
T: Copy + Mul<Output = T> + Neg<Output = T>,
type Output = Quaternion<T>
The resulting type after applying the *
operator.
fn mul(self, rhs: K<T>) -> Self::Output
[src]
impl<LT, RT> Mul<Quaternion<RT>> for Quaternion<LT> where
LT: Copy + Mul<RT>,
RT: Copy,
LT::Output: Add<Output = LT::Output> + Neg<Output = LT::Output>,
[src]
LT: Copy + Mul<RT>,
RT: Copy,
LT::Output: Add<Output = LT::Output> + Neg<Output = LT::Output>,
type Output = Quaternion<LT::Output>
The resulting type after applying the *
operator.
fn mul(self, rhs: Quaternion<RT>) -> Self::Output
[src]
impl<T> Mul<Quaternion<T>> for R<T> where
T: Copy + Mul,
[src]
T: Copy + Mul,
type Output = Quaternion<T::Output>
The resulting type after applying the *
operator.
fn mul(self, rhs: Quaternion<T>) -> Self::Output
[src]
impl<T> Mul<Quaternion<T>> for I<T> where
T: Copy + Mul<Output = T> + Neg<Output = T>,
[src]
T: Copy + Mul<Output = T> + Neg<Output = T>,
type Output = Quaternion<T>
The resulting type after applying the *
operator.
fn mul(self, rhs: Quaternion<T>) -> Self::Output
[src]
impl<T> Mul<Quaternion<T>> for J<T> where
T: Copy + Mul<Output = T> + Neg<Output = T>,
[src]
T: Copy + Mul<Output = T> + Neg<Output = T>,
type Output = Quaternion<T>
The resulting type after applying the *
operator.
fn mul(self, rhs: Quaternion<T>) -> Self::Output
[src]
impl<T> Mul<Quaternion<T>> for K<T> where
T: Copy + Mul<Output = T> + Neg<Output = T>,
[src]
T: Copy + Mul<Output = T> + Neg<Output = T>,
type Output = Quaternion<T>
The resulting type after applying the *
operator.
fn mul(self, rhs: Quaternion<T>) -> Self::Output
[src]
impl<T> Mul<R<T>> for Quaternion<T> where
T: Copy + Mul,
[src]
T: Copy + Mul,
type Output = Quaternion<T::Output>
The resulting type after applying the *
operator.
fn mul(self, rhs: R<T>) -> Self::Output
[src]
impl<T: Neg> Neg for Quaternion<T>
[src]
type Output = Quaternion<T::Output>
The resulting type after applying the -
operator.
fn neg(self) -> Self::Output
[src]
impl<T> One for Quaternion<T> where
T: One + Zero,
[src]
T: One + Zero,
impl<T: PartialEq> PartialEq<Quaternion<T>> for Quaternion<T>
[src]
fn eq(&self, other: &Quaternion<T>) -> bool
[src]
fn ne(&self, other: &Quaternion<T>) -> bool
[src]
impl<T> StructuralPartialEq for Quaternion<T>
[src]
impl<T> Sub<I<T>> for Quaternion<T> where
T: Sub<Output = T>,
[src]
T: Sub<Output = T>,
type Output = Quaternion<T>
The resulting type after applying the -
operator.
fn sub(self, rhs: I<T>) -> Self::Output
[src]
impl<T> Sub<J<T>> for Quaternion<T> where
T: Sub<Output = T>,
[src]
T: Sub<Output = T>,
type Output = Quaternion<T>
The resulting type after applying the -
operator.
fn sub(self, rhs: J<T>) -> Self::Output
[src]
impl<T> Sub<K<T>> for Quaternion<T> where
T: Sub<Output = T>,
[src]
T: Sub<Output = T>,
type Output = Quaternion<T>
The resulting type after applying the -
operator.
fn sub(self, rhs: K<T>) -> Self::Output
[src]
impl<LT, RT> Sub<Quaternion<RT>> for Quaternion<LT> where
LT: Sub<RT>,
[src]
LT: Sub<RT>,
type Output = Quaternion<LT::Output>
The resulting type after applying the -
operator.
fn sub(self, rhs: Quaternion<RT>) -> Self::Output
[src]
impl<T> Sub<Quaternion<T>> for R<T> where
T: Sub<Output = T> + Neg<Output = T>,
[src]
T: Sub<Output = T> + Neg<Output = T>,
type Output = Quaternion<T>
The resulting type after applying the -
operator.
fn sub(self, rhs: Quaternion<T>) -> Self::Output
[src]
impl<T> Sub<Quaternion<T>> for I<T> where
T: Sub<Output = T> + Neg<Output = T>,
[src]
T: Sub<Output = T> + Neg<Output = T>,
type Output = Quaternion<T>
The resulting type after applying the -
operator.
fn sub(self, rhs: Quaternion<T>) -> Self::Output
[src]
impl<T> Sub<Quaternion<T>> for J<T> where
T: Sub<Output = T> + Neg<Output = T>,
[src]
T: Sub<Output = T> + Neg<Output = T>,
type Output = Quaternion<T>
The resulting type after applying the -
operator.
fn sub(self, rhs: Quaternion<T>) -> Self::Output
[src]
impl<T> Sub<Quaternion<T>> for K<T> where
T: Sub<Output = T> + Neg<Output = T>,
[src]
T: Sub<Output = T> + Neg<Output = T>,
type Output = Quaternion<T>
The resulting type after applying the -
operator.
fn sub(self, rhs: Quaternion<T>) -> Self::Output
[src]
impl<T> Sub<R<T>> for Quaternion<T> where
T: Sub<Output = T>,
[src]
T: Sub<Output = T>,
type Output = Quaternion<T>
The resulting type after applying the -
operator.
fn sub(self, rhs: R<T>) -> Self::Output
[src]
impl<T> Zero for Quaternion<T> where
T: Zero,
[src]
T: Zero,
Auto Trait Implementations
impl<T> RefUnwindSafe for Quaternion<T> where
T: RefUnwindSafe,
T: RefUnwindSafe,
impl<T> Send for Quaternion<T> where
T: Send,
T: Send,
impl<T> Sync for Quaternion<T> where
T: Sync,
T: Sync,
impl<T> Unpin for Quaternion<T> where
T: Unpin,
T: Unpin,
impl<T> UnwindSafe for Quaternion<T> where
T: UnwindSafe,
T: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,