[−][src]Struct numeric_array::NumericConstant
This is required to allow NumericArray
to be operated on by both other NumericArray
instances and constants, with generic types,
because some type U
supercedes NumericArray<U, N>
As a result, constants must be wrapped in this totally transparent wrapper type to differentiate the types to Rust.
Trait Implementations
impl<T> Deref for NumericConstant<T>
[src][+]
impl<T> DerefMut for NumericConstant<T>
[src][+]
impl<T: Debug> Debug for NumericConstant<T>
[src][+]
impl<T, U: Clone, N: ArrayLength<T>> Div<NumericConstant<U>> for NumericArray<T, N> where
T: Div<U>,
N: ArrayLength<<T as Div<U>>::Output>,
[src][+]
T: Div<U>,
N: ArrayLength<<T as Div<U>>::Output>,
impl<'a, T: Clone, U: Clone, N: ArrayLength<T>> Div<NumericConstant<U>> for &'a NumericArray<T, N> where
T: Div<U>,
N: ArrayLength<<T as Div<U>>::Output>,
[src][+]
T: Div<U>,
N: ArrayLength<<T as Div<U>>::Output>,
impl<T, U: Clone, N: ArrayLength<T>> Div<NumericArray<T, N>> for NumericConstant<U> where
U: Div<T>,
N: ArrayLength<<U as Div<T>>::Output>,
[src][+]
U: Div<T>,
N: ArrayLength<<U as Div<T>>::Output>,
impl<'a, T: Clone, U: Clone, N: ArrayLength<T>> Div<&'a NumericArray<T, N>> for NumericConstant<U> where
U: Div<T>,
N: ArrayLength<<U as Div<T>>::Output>,
[src][+]
U: Div<T>,
N: ArrayLength<<U as Div<T>>::Output>,
impl<T, U: Clone, N: ArrayLength<T>> Rem<NumericConstant<U>> for NumericArray<T, N> where
T: Rem<U>,
N: ArrayLength<<T as Rem<U>>::Output>,
[src][+]
T: Rem<U>,
N: ArrayLength<<T as Rem<U>>::Output>,
impl<'a, T: Clone, U: Clone, N: ArrayLength<T>> Rem<NumericConstant<U>> for &'a NumericArray<T, N> where
T: Rem<U>,
N: ArrayLength<<T as Rem<U>>::Output>,
[src][+]
T: Rem<U>,
N: ArrayLength<<T as Rem<U>>::Output>,
impl<T, U: Clone, N: ArrayLength<T>> Rem<NumericArray<T, N>> for NumericConstant<U> where
U: Rem<T>,
N: ArrayLength<<U as Rem<T>>::Output>,
[src][+]
U: Rem<T>,
N: ArrayLength<<U as Rem<T>>::Output>,
impl<'a, T: Clone, U: Clone, N: ArrayLength<T>> Rem<&'a NumericArray<T, N>> for NumericConstant<U> where
U: Rem<T>,
N: ArrayLength<<U as Rem<T>>::Output>,
[src][+]
U: Rem<T>,
N: ArrayLength<<U as Rem<T>>::Output>,
impl<T, U: Clone, N: ArrayLength<T>> Sub<NumericConstant<U>> for NumericArray<T, N> where
T: Sub<U>,
N: ArrayLength<<T as Sub<U>>::Output>,
[src][+]
T: Sub<U>,
N: ArrayLength<<T as Sub<U>>::Output>,
impl<'a, T: Clone, U: Clone, N: ArrayLength<T>> Sub<NumericConstant<U>> for &'a NumericArray<T, N> where
T: Sub<U>,
N: ArrayLength<<T as Sub<U>>::Output>,
[src][+]
T: Sub<U>,
N: ArrayLength<<T as Sub<U>>::Output>,
impl<T, U: Clone, N: ArrayLength<T>> Sub<NumericArray<T, N>> for NumericConstant<U> where
U: Sub<T>,
N: ArrayLength<<U as Sub<T>>::Output>,
[src][+]
U: Sub<T>,
N: ArrayLength<<U as Sub<T>>::Output>,
impl<'a, T: Clone, U: Clone, N: ArrayLength<T>> Sub<&'a NumericArray<T, N>> for NumericConstant<U> where
U: Sub<T>,
N: ArrayLength<<U as Sub<T>>::Output>,
[src][+]
U: Sub<T>,
N: ArrayLength<<U as Sub<T>>::Output>,
impl<T, U: Clone, N: ArrayLength<T>> Add<NumericConstant<U>> for NumericArray<T, N> where
T: Add<U>,
N: ArrayLength<<T as Add<U>>::Output>,
[src][+]
T: Add<U>,
N: ArrayLength<<T as Add<U>>::Output>,
impl<'a, T: Clone, U: Clone, N: ArrayLength<T>> Add<NumericConstant<U>> for &'a NumericArray<T, N> where
T: Add<U>,
N: ArrayLength<<T as Add<U>>::Output>,
[src][+]
T: Add<U>,
N: ArrayLength<<T as Add<U>>::Output>,
impl<T, U: Clone, N: ArrayLength<T>> Add<NumericArray<T, N>> for NumericConstant<U> where
U: Add<T>,
N: ArrayLength<<U as Add<T>>::Output>,
[src][+]
U: Add<T>,
N: ArrayLength<<U as Add<T>>::Output>,
impl<'a, T: Clone, U: Clone, N: ArrayLength<T>> Add<&'a NumericArray<T, N>> for NumericConstant<U> where
U: Add<T>,
N: ArrayLength<<U as Add<T>>::Output>,
[src][+]
U: Add<T>,
N: ArrayLength<<U as Add<T>>::Output>,
impl<T, U: Clone, N: ArrayLength<T>> Mul<NumericConstant<U>> for NumericArray<T, N> where
T: Mul<U>,
N: ArrayLength<<T as Mul<U>>::Output>,
[src][+]
T: Mul<U>,
N: ArrayLength<<T as Mul<U>>::Output>,
impl<'a, T: Clone, U: Clone, N: ArrayLength<T>> Mul<NumericConstant<U>> for &'a NumericArray<T, N> where
T: Mul<U>,
N: ArrayLength<<T as Mul<U>>::Output>,
[src][+]
T: Mul<U>,
N: ArrayLength<<T as Mul<U>>::Output>,
impl<T, U: Clone, N: ArrayLength<T>> Mul<NumericArray<T, N>> for NumericConstant<U> where
U: Mul<T>,
N: ArrayLength<<U as Mul<T>>::Output>,
[src][+]
U: Mul<T>,
N: ArrayLength<<U as Mul<T>>::Output>,
impl<'a, T: Clone, U: Clone, N: ArrayLength<T>> Mul<&'a NumericArray<T, N>> for NumericConstant<U> where
U: Mul<T>,
N: ArrayLength<<U as Mul<T>>::Output>,
[src][+]
U: Mul<T>,
N: ArrayLength<<U as Mul<T>>::Output>,
impl<T, U: Clone, N: ArrayLength<T>> AddAssign<NumericConstant<U>> for NumericArray<T, N> where
T: AddAssign<U>,
[src][+]
T: AddAssign<U>,
impl<T, U: Clone, N: ArrayLength<T>> SubAssign<NumericConstant<U>> for NumericArray<T, N> where
T: SubAssign<U>,
[src][+]
T: SubAssign<U>,
impl<T, U: Clone, N: ArrayLength<T>> MulAssign<NumericConstant<U>> for NumericArray<T, N> where
T: MulAssign<U>,
[src][+]
T: MulAssign<U>,
impl<T, U: Clone, N: ArrayLength<T>> DivAssign<NumericConstant<U>> for NumericArray<T, N> where
T: DivAssign<U>,
[src][+]
T: DivAssign<U>,
impl<T, U: Clone, N: ArrayLength<T>> RemAssign<NumericConstant<U>> for NumericArray<T, N> where
T: RemAssign<U>,
[src][+]
T: RemAssign<U>,
impl<T, U: Clone, N: ArrayLength<T>> BitAnd<NumericConstant<U>> for NumericArray<T, N> where
T: BitAnd<U>,
N: ArrayLength<<T as BitAnd<U>>::Output>,
[src][+]
T: BitAnd<U>,
N: ArrayLength<<T as BitAnd<U>>::Output>,
impl<'a, T: Clone, U: Clone, N: ArrayLength<T>> BitAnd<NumericConstant<U>> for &'a NumericArray<T, N> where
T: BitAnd<U>,
N: ArrayLength<<T as BitAnd<U>>::Output>,
[src][+]
T: BitAnd<U>,
N: ArrayLength<<T as BitAnd<U>>::Output>,
impl<T, U: Clone, N: ArrayLength<T>> BitAnd<NumericArray<T, N>> for NumericConstant<U> where
U: BitAnd<T>,
N: ArrayLength<<U as BitAnd<T>>::Output>,
[src][+]
U: BitAnd<T>,
N: ArrayLength<<U as BitAnd<T>>::Output>,
impl<'a, T: Clone, U: Clone, N: ArrayLength<T>> BitAnd<&'a NumericArray<T, N>> for NumericConstant<U> where
U: BitAnd<T>,
N: ArrayLength<<U as BitAnd<T>>::Output>,
[src][+]
U: BitAnd<T>,
N: ArrayLength<<U as BitAnd<T>>::Output>,
impl<T, U: Clone, N: ArrayLength<T>> BitOr<NumericConstant<U>> for NumericArray<T, N> where
T: BitOr<U>,
N: ArrayLength<<T as BitOr<U>>::Output>,
[src][+]
T: BitOr<U>,
N: ArrayLength<<T as BitOr<U>>::Output>,
impl<'a, T: Clone, U: Clone, N: ArrayLength<T>> BitOr<NumericConstant<U>> for &'a NumericArray<T, N> where
T: BitOr<U>,
N: ArrayLength<<T as BitOr<U>>::Output>,
[src][+]
T: BitOr<U>,
N: ArrayLength<<T as BitOr<U>>::Output>,
impl<T, U: Clone, N: ArrayLength<T>> BitOr<NumericArray<T, N>> for NumericConstant<U> where
U: BitOr<T>,
N: ArrayLength<<U as BitOr<T>>::Output>,
[src][+]
U: BitOr<T>,
N: ArrayLength<<U as BitOr<T>>::Output>,
impl<'a, T: Clone, U: Clone, N: ArrayLength<T>> BitOr<&'a NumericArray<T, N>> for NumericConstant<U> where
U: BitOr<T>,
N: ArrayLength<<U as BitOr<T>>::Output>,
[src][+]
U: BitOr<T>,
N: ArrayLength<<U as BitOr<T>>::Output>,
impl<T, U: Clone, N: ArrayLength<T>> BitXor<NumericConstant<U>> for NumericArray<T, N> where
T: BitXor<U>,
N: ArrayLength<<T as BitXor<U>>::Output>,
[src][+]
T: BitXor<U>,
N: ArrayLength<<T as BitXor<U>>::Output>,
impl<'a, T: Clone, U: Clone, N: ArrayLength<T>> BitXor<NumericConstant<U>> for &'a NumericArray<T, N> where
T: BitXor<U>,
N: ArrayLength<<T as BitXor<U>>::Output>,
[src][+]
T: BitXor<U>,
N: ArrayLength<<T as BitXor<U>>::Output>,
impl<T, U: Clone, N: ArrayLength<T>> BitXor<NumericArray<T, N>> for NumericConstant<U> where
U: BitXor<T>,
N: ArrayLength<<U as BitXor<T>>::Output>,
[src][+]
U: BitXor<T>,
N: ArrayLength<<U as BitXor<T>>::Output>,
impl<'a, T: Clone, U: Clone, N: ArrayLength<T>> BitXor<&'a NumericArray<T, N>> for NumericConstant<U> where
U: BitXor<T>,
N: ArrayLength<<U as BitXor<T>>::Output>,
[src][+]
U: BitXor<T>,
N: ArrayLength<<U as BitXor<T>>::Output>,
impl<T, U: Clone, N: ArrayLength<T>> Shl<NumericConstant<U>> for NumericArray<T, N> where
T: Shl<U>,
N: ArrayLength<<T as Shl<U>>::Output>,
[src][+]
T: Shl<U>,
N: ArrayLength<<T as Shl<U>>::Output>,
impl<'a, T: Clone, U: Clone, N: ArrayLength<T>> Shl<NumericConstant<U>> for &'a NumericArray<T, N> where
T: Shl<U>,
N: ArrayLength<<T as Shl<U>>::Output>,
[src][+]
T: Shl<U>,
N: ArrayLength<<T as Shl<U>>::Output>,
impl<T, U: Clone, N: ArrayLength<T>> Shl<NumericArray<T, N>> for NumericConstant<U> where
U: Shl<T>,
N: ArrayLength<<U as Shl<T>>::Output>,
[src][+]
U: Shl<T>,
N: ArrayLength<<U as Shl<T>>::Output>,
impl<'a, T: Clone, U: Clone, N: ArrayLength<T>> Shl<&'a NumericArray<T, N>> for NumericConstant<U> where
U: Shl<T>,
N: ArrayLength<<U as Shl<T>>::Output>,
[src][+]
U: Shl<T>,
N: ArrayLength<<U as Shl<T>>::Output>,
impl<T, U: Clone, N: ArrayLength<T>> Shr<NumericConstant<U>> for NumericArray<T, N> where
T: Shr<U>,
N: ArrayLength<<T as Shr<U>>::Output>,
[src][+]
T: Shr<U>,
N: ArrayLength<<T as Shr<U>>::Output>,
impl<'a, T: Clone, U: Clone, N: ArrayLength<T>> Shr<NumericConstant<U>> for &'a NumericArray<T, N> where
T: Shr<U>,
N: ArrayLength<<T as Shr<U>>::Output>,
[src][+]
T: Shr<U>,
N: ArrayLength<<T as Shr<U>>::Output>,
impl<T, U: Clone, N: ArrayLength<T>> Shr<NumericArray<T, N>> for NumericConstant<U> where
U: Shr<T>,
N: ArrayLength<<U as Shr<T>>::Output>,
[src][+]
U: Shr<T>,
N: ArrayLength<<U as Shr<T>>::Output>,
impl<'a, T: Clone, U: Clone, N: ArrayLength<T>> Shr<&'a NumericArray<T, N>> for NumericConstant<U> where
U: Shr<T>,
N: ArrayLength<<U as Shr<T>>::Output>,
[src][+]
U: Shr<T>,
N: ArrayLength<<U as Shr<T>>::Output>,
impl<T, U: Clone, N: ArrayLength<T>> BitAndAssign<NumericConstant<U>> for NumericArray<T, N> where
T: BitAndAssign<U>,
[src][+]
T: BitAndAssign<U>,
impl<T, U: Clone, N: ArrayLength<T>> BitOrAssign<NumericConstant<U>> for NumericArray<T, N> where
T: BitOrAssign<U>,
[src][+]
T: BitOrAssign<U>,
impl<T, U: Clone, N: ArrayLength<T>> BitXorAssign<NumericConstant<U>> for NumericArray<T, N> where
T: BitXorAssign<U>,
[src][+]
T: BitXorAssign<U>,
impl<T, U: Clone, N: ArrayLength<T>> ShlAssign<NumericConstant<U>> for NumericArray<T, N> where
T: ShlAssign<U>,
[src][+]
T: ShlAssign<U>,
impl<T, U: Clone, N: ArrayLength<T>> ShrAssign<NumericConstant<U>> for NumericArray<T, N> where
T: ShrAssign<U>,
[src][+]
T: ShrAssign<U>,
impl<T: Copy> Copy for NumericConstant<T>
[src]
impl<T: Clone> Clone for NumericConstant<T>
[src][+]
impl<T, U: Clone, N: ArrayLength<T>> Pow<NumericConstant<U>> for NumericArray<T, N> where
T: Pow<U>,
N: ArrayLength<<T as Pow<U>>::Output>,
[src][+]
T: Pow<U>,
N: ArrayLength<<T as Pow<U>>::Output>,
impl<'a, T: Clone, U: Clone, N: ArrayLength<T>> Pow<NumericConstant<U>> for &'a NumericArray<T, N> where
T: Pow<U>,
N: ArrayLength<<T as Pow<U>>::Output>,
[src][+]
T: Pow<U>,
N: ArrayLength<<T as Pow<U>>::Output>,
impl<T, U: Clone, N: ArrayLength<T>> Pow<NumericArray<T, N>> for NumericConstant<U> where
U: Pow<T>,
N: ArrayLength<<U as Pow<T>>::Output>,
[src][+]
U: Pow<T>,
N: ArrayLength<<U as Pow<T>>::Output>,
impl<'a, T: Clone, U: Clone, N: ArrayLength<T>> Pow<&'a NumericArray<T, N>> for NumericConstant<U> where
U: Pow<T>,
N: ArrayLength<<U as Pow<T>>::Output>,
[src][+]
U: Pow<T>,
N: ArrayLength<<U as Pow<T>>::Output>,
Auto Trait Implementations
impl<T> Unpin for NumericConstant<T> where
T: Unpin,
T: Unpin,
impl<T> Send for NumericConstant<T> where
T: Send,
T: Send,
impl<T> Sync for NumericConstant<T> where
T: Sync,
T: Sync,
impl<T> UnwindSafe for NumericConstant<T> where
T: UnwindSafe,
T: UnwindSafe,
impl<T> RefUnwindSafe for NumericConstant<T> where
T: RefUnwindSafe,
T: RefUnwindSafe,
Blanket Implementations
impl<T> From<T> for T
[src][+]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src][+]
U: Into<T>,
impl<T, U> Into<U> for T where
U: From<T>,
[src][+]
U: From<T>,
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src][+]
U: TryFrom<T>,
impl<T> Borrow<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src][+]
T: 'static + ?Sized,
impl<T, Rhs, Output> NumOps<Rhs, Output> for T where
T: Sub<Rhs, Output = Output> + Mul<Rhs, Output = Output> + Div<Rhs, Output = Output> + Add<Rhs, Output = Output> + Rem<Rhs, Output = Output>,
[src]
T: Sub<Rhs, Output = Output> + Mul<Rhs, Output = Output> + Div<Rhs, Output = Output> + Add<Rhs, Output = Output> + Rem<Rhs, Output = Output>,
impl<T, Base> RefNum<Base> for T where
T: NumOps<Base, Base> + NumOps<&'r Base, Base>,
[src]
T: NumOps<Base, Base> + NumOps<&'r Base, Base>,
impl<T> ToOwned for T where
T: Clone,
[src][+]
T: Clone,
impl<T> Same<T> for T
[src]
type Output = T
Should always be Self