[][src]Struct generic_simd::shim::Shim2

#[repr(transparent)]pub struct Shim2<Underlying, Scalar>(_, _);

Shim that doubles the width of a vector.

Trait Implementations

impl<Underlying, Scalar> Add<Scalar> for Shim2<Underlying, Scalar> where
    Underlying: Copy + Add<Scalar, Output = Underlying>,
    Scalar: Copy
[src]

type Output = Self

The resulting type after applying the + operator.

impl<Underlying, Scalar> Add<Shim2<Underlying, Scalar>> for Shim2<Underlying, Scalar> where
    Underlying: Copy + Add<Underlying, Output = Underlying>, 
[src]

type Output = Self

The resulting type after applying the + operator.

impl<Underlying, Scalar> AddAssign<Scalar> for Shim2<Underlying, Scalar> where
    Underlying: Copy + AddAssign<Scalar>,
    Scalar: Copy
[src]

impl<Underlying, Scalar> AddAssign<Shim2<Underlying, Scalar>> for Shim2<Underlying, Scalar> where
    Underlying: Copy + AddAssign<Underlying>,
    Scalar: Copy
[src]

impl<Underlying, Scalar> AsMut<[Scalar]> for Shim2<Underlying, Scalar> where
    Underlying: Vector<Scalar = Scalar>,
    Underlying::Width: Double,
    Scalar: Copy
[src]

impl<Underlying, Scalar> AsRef<[Scalar]> for Shim2<Underlying, Scalar> where
    Underlying: Vector<Scalar = Scalar>,
    Underlying::Width: Double,
    Scalar: Copy
[src]

impl<Underlying: Clone, Scalar: Clone> Clone for Shim2<Underlying, Scalar>[src]

impl<Underlying, Real> Complex for Shim2<Underlying, Complex<Real>> where
    Underlying: Vector<Scalar = Complex<Real>> + Complex<RealScalar = Real>,
    Underlying::Width: Double,
    Real: Copy
[src]

type RealScalar = Real

The real scalar type.

impl<Underlying: Copy, Scalar: Copy> Copy for Shim2<Underlying, Scalar>[src]

impl<Underlying: Debug, Scalar: Debug> Debug for Shim2<Underlying, Scalar>[src]

impl<Underlying, Scalar> Deref for Shim2<Underlying, Scalar> where
    Underlying: Vector<Scalar = Scalar>,
    Underlying::Width: Double,
    Scalar: Copy
[src]

type Target = [Scalar]

The resulting type after dereferencing.

impl<Underlying, Scalar> DerefMut for Shim2<Underlying, Scalar> where
    Underlying: Vector<Scalar = Scalar>,
    Underlying::Width: Double,
    Scalar: Copy
[src]

impl<Underlying, Scalar> Div<Scalar> for Shim2<Underlying, Scalar> where
    Underlying: Copy + Div<Scalar, Output = Underlying>,
    Scalar: Copy
[src]

type Output = Self

The resulting type after applying the / operator.

impl<Underlying, Scalar> Div<Shim2<Underlying, Scalar>> for Shim2<Underlying, Scalar> where
    Underlying: Copy + Div<Underlying, Output = Underlying>, 
[src]

type Output = Self

The resulting type after applying the / operator.

impl<Underlying, Scalar> DivAssign<Scalar> for Shim2<Underlying, Scalar> where
    Underlying: Copy + DivAssign<Scalar>,
    Scalar: Copy
[src]

impl<Underlying, Scalar> DivAssign<Shim2<Underlying, Scalar>> for Shim2<Underlying, Scalar> where
    Underlying: Copy + DivAssign<Underlying>,
    Scalar: Copy
[src]

impl<Underlying, Scalar> Mul<Scalar> for Shim2<Underlying, Scalar> where
    Underlying: Copy + Mul<Scalar, Output = Underlying>,
    Scalar: Copy
[src]

type Output = Self

The resulting type after applying the * operator.

impl<Underlying, Scalar> Mul<Shim2<Underlying, Scalar>> for Shim2<Underlying, Scalar> where
    Underlying: Copy + Mul<Underlying, Output = Underlying>, 
[src]

type Output = Self

The resulting type after applying the * operator.

impl<Underlying, Scalar> MulAssign<Scalar> for Shim2<Underlying, Scalar> where
    Underlying: Copy + MulAssign<Scalar>,
    Scalar: Copy
[src]

impl<Underlying, Scalar> MulAssign<Shim2<Underlying, Scalar>> for Shim2<Underlying, Scalar> where
    Underlying: Copy + MulAssign<Underlying>,
    Scalar: Copy
[src]

impl<Underlying, Scalar> Neg for Shim2<Underlying, Scalar> where
    Underlying: Copy + Neg<Output = Underlying>, 
[src]

type Output = Self

The resulting type after applying the - operator.

impl<Underlying, Scalar> Product<Shim2<Underlying, Scalar>> for Option<Shim2<Underlying, Scalar>> where
    Shim2<Underlying, Scalar>: MulAssign,
    Underlying: Copy
[src]

impl<Underlying, Scalar> Product<Shim2<Underlying, Scalar>> for <Shim2<Underlying, Scalar> as Vector>::Scalar where
    Option<Shim2<Underlying, Scalar>>: Product<Shim2<Underlying, Scalar>>,
    Underlying: Vector<Scalar = Scalar>,
    Underlying::Width: Double,
    Scalar: Copy + Mul<Self, Output = Self> + Default
[src]

impl<Underlying, Scalar> Sub<Scalar> for Shim2<Underlying, Scalar> where
    Underlying: Copy + Sub<Scalar, Output = Underlying>,
    Scalar: Copy
[src]

type Output = Self

The resulting type after applying the - operator.

impl<Underlying, Scalar> Sub<Shim2<Underlying, Scalar>> for Shim2<Underlying, Scalar> where
    Underlying: Copy + Sub<Underlying, Output = Underlying>, 
[src]

type Output = Self

The resulting type after applying the - operator.

impl<Underlying, Scalar> SubAssign<Scalar> for Shim2<Underlying, Scalar> where
    Underlying: Copy + SubAssign<Scalar>,
    Scalar: Copy
[src]

impl<Underlying, Scalar> SubAssign<Shim2<Underlying, Scalar>> for Shim2<Underlying, Scalar> where
    Underlying: Copy + SubAssign<Underlying>,
    Scalar: Copy
[src]

impl<Underlying, Scalar> Sum<Shim2<Underlying, Scalar>> for Option<Shim2<Underlying, Scalar>> where
    Shim2<Underlying, Scalar>: AddAssign,
    Underlying: Copy
[src]

impl<Underlying, Scalar> Sum<Shim2<Underlying, Scalar>> for <Shim2<Underlying, Scalar> as Vector>::Scalar where
    Option<Shim2<Underlying, Scalar>>: Sum<Shim2<Underlying, Scalar>>,
    Underlying: Vector<Scalar = Scalar>,
    Underlying::Width: Double,
    Scalar: Copy + Add<Self, Output = Self> + Default
[src]

impl<Underlying, Scalar> Vector for Shim2<Underlying, Scalar> where
    Underlying: Vector<Scalar = Scalar>,
    Underlying::Width: Double,
    Scalar: Copy
[src]

type Scalar = Scalar

The type of elements in the vector.

type Token = <Underlying as Vector>::Token

The token that proves support for this vector on the CPU.

type Width = <Underlying::Width as Double>::Doubled

The number of elements in the vector.

type Underlying = [<Underlying as Vector>::Underlying; 2]

The underlying type

Auto Trait Implementations

impl<Underlying, Scalar> RefUnwindSafe for Shim2<Underlying, Scalar> where
    Scalar: RefUnwindSafe,
    Underlying: RefUnwindSafe

impl<Underlying, Scalar> Send for Shim2<Underlying, Scalar> where
    Scalar: Send,
    Underlying: Send

impl<Underlying, Scalar> Sync for Shim2<Underlying, Scalar> where
    Scalar: Sync,
    Underlying: Sync

impl<Underlying, Scalar> Unpin for Shim2<Underlying, Scalar> where
    Scalar: Unpin,
    Underlying: Unpin

impl<Underlying, Scalar> UnwindSafe for Shim2<Underlying, Scalar> where
    Scalar: UnwindSafe,
    Underlying: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<V> Ops for V where
    V: Add<<V as Vector>::Scalar, Output = V, Output = V> + AsRef<[<V as Vector>::Scalar]> + AddAssign<V> + AddAssign<<V as Vector>::Scalar> + Sub<V, Output = V, Output = V> + AsMut<[<V as Vector>::Scalar]> + Sub<<V as Vector>::Scalar> + Deref<Target = [<V as Vector>::Scalar]> + SubAssign<V> + SubAssign<<V as Vector>::Scalar> + Mul<V, Output = V, Output = V> + Mul<<V as Vector>::Scalar> + DerefMut + MulAssign<V> + MulAssign<<V as Vector>::Scalar> + Div<V, Output = V, Output = V> + Add<V> + Div<<V as Vector>::Scalar> + Vector + DivAssign<V> + DivAssign<<V as Vector>::Scalar>, 
[src]

impl<V> Signed for V where
    V: Ops + Neg<Output = V>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.