[][src]Struct numeric_array::NumericArray

#[repr(C)]
pub struct NumericArray<T, N: ArrayLength<T>>(_);

A numeric wrapper for a GenericArray, allowing for easy numerical operations on the whole sequence.

This has the added bonus of allowing SIMD optimizations for almost all operations when compiled with RUSTFLAGS = "-C opt-level=3 -C target-cpu=native"

For example, adding together four-element NumericArray's will result in a single SIMD instruction for all elements at once.

Methods

impl<T, N: ArrayLength<T>> NumericArray<T, N>
[src]

pub fn new(arr: GenericArray<T, N>) -> NumericArray<T, N>
[src]

Creates a new NumericArray instance from a GenericArray instance.

Example:

#[macro_use]
extern crate generic_array;
extern crate numeric_array;

use numeric_array::NumericArray;

fn main() {
    let arr = NumericArray::new(arr![i32; 1, 2, 3, 4]);

    println!("{:?}", arr); // Prints 'NumericArray([1, 2, 3, 4])'
}

pub fn from_element(t: T) -> NumericArray<T, N> where
    T: Clone
[src]

Creates a new array filled with a single value.

Example:

This example is not tested
let a = NumericArray::new(arr![i32; 5, 5, 5, 5]);
let b = NumericArray::from_element(5);

assert_eq!(a, b);

pub fn convert<U: From<T>>(self) -> NumericArray<U, N> where
    N: ArrayLength<U>, 
[src]

Convert all elements of the NumericArray to another NumericArray using From

pub fn into_array(self) -> GenericArray<T, N>
[src]

Consumes self and returns the internal GenericArray instance

pub fn as_array(&self) -> &GenericArray<T, N>
[src]

Get reference to underlying GenericArray instance.

pub fn as_mut_array(&mut self) -> &mut GenericArray<T, N>
[src]

Get mutable reference to underlying GenericArray instance.

pub fn as_slice(&self) -> &[T]
[src]

Extracts a slice containing the entire array.

pub fn as_mut_slice(&mut self) -> &mut [T]
[src]

Extracts a mutable slice containing the entire array.

Trait Implementations

impl<T, N: ArrayLength<T>> Select<T, N> for NumericArray<bool, N> where
    N: ArrayLength<bool>, 
[src]

impl<T, N: ArrayLength<T>> PartialOrd<NumericArray<T, N>> for NumericArray<T, N> where
    T: PartialOrd
[src]

impl<T, N: ArrayLength<T>> PartialOrd<GenericArray<T, N>> for NumericArray<T, N> where
    T: PartialOrd
[src]

impl<X, T, N: ArrayLength<T>> From<X> for NumericArray<T, N> where
    X: Into<GenericArray<T, N>>, 
[src]

impl<T, N: ArrayLength<T>> Ord for NumericArray<T, N> where
    T: Ord
[src]

fn max(self, other: Self) -> Self
1.21.0
[src]

Compares and returns the maximum of two values. Read more

fn min(self, other: Self) -> Self
1.21.0
[src]

Compares and returns the minimum of two values. Read more

impl<T, N: ArrayLength<T>> Eq for NumericArray<T, N> where
    T: Eq
[src]

impl<T, N: ArrayLength<T>> AsRef<[T]> for NumericArray<T, N>
[src]

impl<T, N: ArrayLength<T>> AsMut<[T]> for NumericArray<T, N>
[src]

impl<T: Copy, N: ArrayLength<T>> Copy for NumericArray<T, N> where
    N::ArrayType: Copy
[src]

impl<T: Clone, N: ArrayLength<T>> Clone for NumericArray<T, N>
[src]

fn clone_from(&mut self, source: &Self)
1.0.0
[src]

Performs copy-assignment from source. Read more

impl<T, U, N: ArrayLength<T> + ArrayLength<U>> PartialEq<NumericArray<U, N>> for NumericArray<T, N> where
    T: PartialEq<U>, 
[src]

#[must_use]
fn ne(&self, other: &Rhs) -> bool
1.0.0
[src]

This method tests for !=.

impl<T, U, N: ArrayLength<T> + ArrayLength<U>> PartialEq<GenericArray<U, N>> for NumericArray<T, N> where
    T: PartialEq<U>, 
[src]

#[must_use]
fn ne(&self, other: &Rhs) -> bool
1.0.0
[src]

This method tests for !=.

impl<T, N: ArrayLength<T>> Default for NumericArray<T, N> where
    T: Default
[src]

impl<'a, T, N: ArrayLength<T>> IntoIterator for &'a NumericArray<T, N>
[src]

type Item = &'a T

The type of the elements being iterated over.

type IntoIter = Iter<'a, T>

Which kind of iterator are we turning this into?

impl<'a, T, N: ArrayLength<T>> IntoIterator for &'a mut NumericArray<T, N>
[src]

type Item = &'a mut T

The type of the elements being iterated over.

type IntoIter = IterMut<'a, T>

Which kind of iterator are we turning this into?

impl<T, N: ArrayLength<T>> IntoIterator for NumericArray<T, N>
[src]

type Item = T

The type of the elements being iterated over.

type IntoIter = GenericArrayIter<T, N>

Which kind of iterator are we turning this into?

impl<T: Debug, N: ArrayLength<T>> Debug for NumericArray<T, N>
[src]

impl<T, N: ArrayLength<T>> Deref for NumericArray<T, N>
[src]

type Target = [T]

The resulting type after dereferencing.

impl<T, N: ArrayLength<T>> DerefMut for NumericArray<T, N>
[src]

impl<T, U, N: ArrayLength<T> + ArrayLength<U>> Add<NumericArray<U, N>> for NumericArray<T, N> where
    T: Add<U>,
    N: ArrayLength<<T as Add<U>>::Output>, 
[src]

type Output = NumericArray<<T as Add<U>>::Output, N>

The resulting type after applying the + operator.

impl<'a, T, U: Clone, N: ArrayLength<T> + ArrayLength<U>> Add<&'a NumericArray<U, N>> for NumericArray<T, N> where
    T: Add<U>,
    N: ArrayLength<<T as Add<U>>::Output>, 
[src]

type Output = NumericArray<<T as Add<U>>::Output, N>

The resulting type after applying the + operator.

impl<'a, T: Clone, U, N: ArrayLength<T> + ArrayLength<U>> Add<NumericArray<U, N>> for &'a NumericArray<T, N> where
    T: Add<U>,
    N: ArrayLength<<T as Add<U>>::Output>, 
[src]

type Output = NumericArray<<T as Add<U>>::Output, N>

The resulting type after applying the + operator.

impl<'a, 'b, T: Clone, U: Clone, N: ArrayLength<T> + ArrayLength<U>> Add<&'b NumericArray<U, N>> for &'a NumericArray<T, N> where
    T: Add<U>,
    N: ArrayLength<<T as Add<U>>::Output>, 
[src]

type Output = NumericArray<<T as Add<U>>::Output, N>

The resulting type after applying the + operator.

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]

type Output = NumericArray<<T as Add<U>>::Output, N>

The resulting type after applying the + operator.

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]

type Output = NumericArray<<T as Add<U>>::Output, N>

The resulting type after applying the + operator.

impl<T, U, N: ArrayLength<T> + ArrayLength<U>> Sub<NumericArray<U, N>> for NumericArray<T, N> where
    T: Sub<U>,
    N: ArrayLength<<T as Sub<U>>::Output>, 
[src]

type Output = NumericArray<<T as Sub<U>>::Output, N>

The resulting type after applying the - operator.

impl<'a, T, U: Clone, N: ArrayLength<T> + ArrayLength<U>> Sub<&'a NumericArray<U, N>> for NumericArray<T, N> where
    T: Sub<U>,
    N: ArrayLength<<T as Sub<U>>::Output>, 
[src]

type Output = NumericArray<<T as Sub<U>>::Output, N>

The resulting type after applying the - operator.

impl<'a, T: Clone, U, N: ArrayLength<T> + ArrayLength<U>> Sub<NumericArray<U, N>> for &'a NumericArray<T, N> where
    T: Sub<U>,
    N: ArrayLength<<T as Sub<U>>::Output>, 
[src]

type Output = NumericArray<<T as Sub<U>>::Output, N>

The resulting type after applying the - operator.

impl<'a, 'b, T: Clone, U: Clone, N: ArrayLength<T> + ArrayLength<U>> Sub<&'b NumericArray<U, N>> for &'a NumericArray<T, N> where
    T: Sub<U>,
    N: ArrayLength<<T as Sub<U>>::Output>, 
[src]

type Output = NumericArray<<T as Sub<U>>::Output, N>

The resulting type after applying the - operator.

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]

type Output = NumericArray<<T as Sub<U>>::Output, N>

The resulting type after applying the - operator.

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]

type Output = NumericArray<<T as Sub<U>>::Output, N>

The resulting type after applying the - operator.

impl<T, U, N: ArrayLength<T> + ArrayLength<U>> Mul<NumericArray<U, N>> for NumericArray<T, N> where
    T: Mul<U>,
    N: ArrayLength<<T as Mul<U>>::Output>, 
[src]

type Output = NumericArray<<T as Mul<U>>::Output, N>

The resulting type after applying the * operator.

impl<'a, T, U: Clone, N: ArrayLength<T> + ArrayLength<U>> Mul<&'a NumericArray<U, N>> for NumericArray<T, N> where
    T: Mul<U>,
    N: ArrayLength<<T as Mul<U>>::Output>, 
[src]

type Output = NumericArray<<T as Mul<U>>::Output, N>

The resulting type after applying the * operator.

impl<'a, T: Clone, U, N: ArrayLength<T> + ArrayLength<U>> Mul<NumericArray<U, N>> for &'a NumericArray<T, N> where
    T: Mul<U>,
    N: ArrayLength<<T as Mul<U>>::Output>, 
[src]

type Output = NumericArray<<T as Mul<U>>::Output, N>

The resulting type after applying the * operator.

impl<'a, 'b, T: Clone, U: Clone, N: ArrayLength<T> + ArrayLength<U>> Mul<&'b NumericArray<U, N>> for &'a NumericArray<T, N> where
    T: Mul<U>,
    N: ArrayLength<<T as Mul<U>>::Output>, 
[src]

type Output = NumericArray<<T as Mul<U>>::Output, N>

The resulting type after applying the * operator.

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]

type Output = NumericArray<<T as Mul<U>>::Output, N>

The resulting type after applying the * operator.

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]

type Output = NumericArray<<T as Mul<U>>::Output, N>

The resulting type after applying the * operator.

impl<T, U, N: ArrayLength<T> + ArrayLength<U>> Div<NumericArray<U, N>> for NumericArray<T, N> where
    T: Div<U>,
    N: ArrayLength<<T as Div<U>>::Output>, 
[src]

type Output = NumericArray<<T as Div<U>>::Output, N>

The resulting type after applying the / operator.

impl<'a, T, U: Clone, N: ArrayLength<T> + ArrayLength<U>> Div<&'a NumericArray<U, N>> for NumericArray<T, N> where
    T: Div<U>,
    N: ArrayLength<<T as Div<U>>::Output>, 
[src]

type Output = NumericArray<<T as Div<U>>::Output, N>

The resulting type after applying the / operator.

impl<'a, T: Clone, U, N: ArrayLength<T> + ArrayLength<U>> Div<NumericArray<U, N>> for &'a NumericArray<T, N> where
    T: Div<U>,
    N: ArrayLength<<T as Div<U>>::Output>, 
[src]

type Output = NumericArray<<T as Div<U>>::Output, N>

The resulting type after applying the / operator.

impl<'a, 'b, T: Clone, U: Clone, N: ArrayLength<T> + ArrayLength<U>> Div<&'b NumericArray<U, N>> for &'a NumericArray<T, N> where
    T: Div<U>,
    N: ArrayLength<<T as Div<U>>::Output>, 
[src]

type Output = NumericArray<<T as Div<U>>::Output, N>

The resulting type after applying the / operator.

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]

type Output = NumericArray<<T as Div<U>>::Output, N>

The resulting type after applying the / operator.

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]

type Output = NumericArray<<T as Div<U>>::Output, N>

The resulting type after applying the / operator.

impl<T, U, N: ArrayLength<T> + ArrayLength<U>> Rem<NumericArray<U, N>> for NumericArray<T, N> where
    T: Rem<U>,
    N: ArrayLength<<T as Rem<U>>::Output>, 
[src]

type Output = NumericArray<<T as Rem<U>>::Output, N>

The resulting type after applying the % operator.

impl<'a, T, U: Clone, N: ArrayLength<T> + ArrayLength<U>> Rem<&'a NumericArray<U, N>> for NumericArray<T, N> where
    T: Rem<U>,
    N: ArrayLength<<T as Rem<U>>::Output>, 
[src]

type Output = NumericArray<<T as Rem<U>>::Output, N>

The resulting type after applying the % operator.

impl<'a, T: Clone, U, N: ArrayLength<T> + ArrayLength<U>> Rem<NumericArray<U, N>> for &'a NumericArray<T, N> where
    T: Rem<U>,
    N: ArrayLength<<T as Rem<U>>::Output>, 
[src]

type Output = NumericArray<<T as Rem<U>>::Output, N>

The resulting type after applying the % operator.

impl<'a, 'b, T: Clone, U: Clone, N: ArrayLength<T> + ArrayLength<U>> Rem<&'b NumericArray<U, N>> for &'a NumericArray<T, N> where
    T: Rem<U>,
    N: ArrayLength<<T as Rem<U>>::Output>, 
[src]

type Output = NumericArray<<T as Rem<U>>::Output, N>

The resulting type after applying the % operator.

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]

type Output = NumericArray<<T as Rem<U>>::Output, N>

The resulting type after applying the % operator.

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]

type Output = NumericArray<<T as Rem<U>>::Output, N>

The resulting type after applying the % operator.

impl<T, N: ArrayLength<T>> Neg for NumericArray<T, N> where
    T: Neg,
    N: ArrayLength<<T as Neg>::Output>, 
[src]

type Output = NumericArray<<T as Neg>::Output, N>

The resulting type after applying the - operator.

impl<'a, T: Clone, N: ArrayLength<T>> Neg for &'a NumericArray<T, N> where
    T: Neg,
    N: ArrayLength<<T as Neg>::Output>, 
[src]

type Output = NumericArray<<T as Neg>::Output, N>

The resulting type after applying the - operator.

impl<T, U, N: ArrayLength<T> + ArrayLength<U>> AddAssign<NumericArray<U, N>> for NumericArray<T, N> where
    T: AddAssign<U>, 
[src]

impl<'a, T, U: Clone, N: ArrayLength<T> + ArrayLength<U>> AddAssign<&'a NumericArray<U, N>> for NumericArray<T, N> where
    T: AddAssign<U>, 
[src]

impl<T, U: Clone, N: ArrayLength<T>> AddAssign<NumericConstant<U>> for NumericArray<T, N> where
    T: AddAssign<U>, 
[src]

impl<T, U, N: ArrayLength<T> + ArrayLength<U>> SubAssign<NumericArray<U, N>> for NumericArray<T, N> where
    T: SubAssign<U>, 
[src]

impl<'a, T, U: Clone, N: ArrayLength<T> + ArrayLength<U>> SubAssign<&'a NumericArray<U, N>> for NumericArray<T, N> where
    T: SubAssign<U>, 
[src]

impl<T, U: Clone, N: ArrayLength<T>> SubAssign<NumericConstant<U>> for NumericArray<T, N> where
    T: SubAssign<U>, 
[src]

impl<T, U, N: ArrayLength<T> + ArrayLength<U>> MulAssign<NumericArray<U, N>> for NumericArray<T, N> where
    T: MulAssign<U>, 
[src]

impl<'a, T, U: Clone, N: ArrayLength<T> + ArrayLength<U>> MulAssign<&'a NumericArray<U, N>> for NumericArray<T, N> where
    T: MulAssign<U>, 
[src]

impl<T, U: Clone, N: ArrayLength<T>> MulAssign<NumericConstant<U>> for NumericArray<T, N> where
    T: MulAssign<U>, 
[src]

impl<T, U, N: ArrayLength<T> + ArrayLength<U>> DivAssign<NumericArray<U, N>> for NumericArray<T, N> where
    T: DivAssign<U>, 
[src]

impl<'a, T, U: Clone, N: ArrayLength<T> + ArrayLength<U>> DivAssign<&'a NumericArray<U, N>> for NumericArray<T, N> where
    T: DivAssign<U>, 
[src]

impl<T, U: Clone, N: ArrayLength<T>> DivAssign<NumericConstant<U>> for NumericArray<T, N> where
    T: DivAssign<U>, 
[src]

impl<T, U, N: ArrayLength<T> + ArrayLength<U>> RemAssign<NumericArray<U, N>> for NumericArray<T, N> where
    T: RemAssign<U>, 
[src]

impl<'a, T, U: Clone, N: ArrayLength<T> + ArrayLength<U>> RemAssign<&'a NumericArray<U, N>> for NumericArray<T, N> where
    T: RemAssign<U>, 
[src]

impl<T, U: Clone, N: ArrayLength<T>> RemAssign<NumericConstant<U>> for NumericArray<T, N> where
    T: RemAssign<U>, 
[src]

impl<T, N: ArrayLength<T>> Not for NumericArray<T, N> where
    T: Not,
    N: ArrayLength<<T as Not>::Output>, 
[src]

type Output = NumericArray<<T as Not>::Output, N>

The resulting type after applying the ! operator.

impl<'a, T: Clone, N: ArrayLength<T>> Not for &'a NumericArray<T, N> where
    T: Not,
    N: ArrayLength<<T as Not>::Output>, 
[src]

type Output = NumericArray<<T as Not>::Output, N>

The resulting type after applying the ! operator.

impl<T, U, N: ArrayLength<T> + ArrayLength<U>> BitAnd<NumericArray<U, N>> for NumericArray<T, N> where
    T: BitAnd<U>,
    N: ArrayLength<<T as BitAnd<U>>::Output>, 
[src]

type Output = NumericArray<<T as BitAnd<U>>::Output, N>

The resulting type after applying the & operator.

impl<'a, T, U: Clone, N: ArrayLength<T> + ArrayLength<U>> BitAnd<&'a NumericArray<U, N>> for NumericArray<T, N> where
    T: BitAnd<U>,
    N: ArrayLength<<T as BitAnd<U>>::Output>, 
[src]

type Output = NumericArray<<T as BitAnd<U>>::Output, N>

The resulting type after applying the & operator.

impl<'a, T: Clone, U, N: ArrayLength<T> + ArrayLength<U>> BitAnd<NumericArray<U, N>> for &'a NumericArray<T, N> where
    T: BitAnd<U>,
    N: ArrayLength<<T as BitAnd<U>>::Output>, 
[src]

type Output = NumericArray<<T as BitAnd<U>>::Output, N>

The resulting type after applying the & operator.

impl<'a, 'b, T: Clone, U: Clone, N: ArrayLength<T> + ArrayLength<U>> BitAnd<&'b NumericArray<U, N>> for &'a NumericArray<T, N> where
    T: BitAnd<U>,
    N: ArrayLength<<T as BitAnd<U>>::Output>, 
[src]

type Output = NumericArray<<T as BitAnd<U>>::Output, N>

The resulting type after applying the & operator.

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]

type Output = NumericArray<<T as BitAnd<U>>::Output, N>

The resulting type after applying the & operator.

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]

type Output = NumericArray<<T as BitAnd<U>>::Output, N>

The resulting type after applying the & operator.

impl<T, U, N: ArrayLength<T> + ArrayLength<U>> BitOr<NumericArray<U, N>> for NumericArray<T, N> where
    T: BitOr<U>,
    N: ArrayLength<<T as BitOr<U>>::Output>, 
[src]

type Output = NumericArray<<T as BitOr<U>>::Output, N>

The resulting type after applying the | operator.

impl<'a, T, U: Clone, N: ArrayLength<T> + ArrayLength<U>> BitOr<&'a NumericArray<U, N>> for NumericArray<T, N> where
    T: BitOr<U>,
    N: ArrayLength<<T as BitOr<U>>::Output>, 
[src]

type Output = NumericArray<<T as BitOr<U>>::Output, N>

The resulting type after applying the | operator.

impl<'a, T: Clone, U, N: ArrayLength<T> + ArrayLength<U>> BitOr<NumericArray<U, N>> for &'a NumericArray<T, N> where
    T: BitOr<U>,
    N: ArrayLength<<T as BitOr<U>>::Output>, 
[src]

type Output = NumericArray<<T as BitOr<U>>::Output, N>

The resulting type after applying the | operator.

impl<'a, 'b, T: Clone, U: Clone, N: ArrayLength<T> + ArrayLength<U>> BitOr<&'b NumericArray<U, N>> for &'a NumericArray<T, N> where
    T: BitOr<U>,
    N: ArrayLength<<T as BitOr<U>>::Output>, 
[src]

type Output = NumericArray<<T as BitOr<U>>::Output, N>

The resulting type after applying the | operator.

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]

type Output = NumericArray<<T as BitOr<U>>::Output, N>

The resulting type after applying the | operator.

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]

type Output = NumericArray<<T as BitOr<U>>::Output, N>

The resulting type after applying the | operator.

impl<T, U, N: ArrayLength<T> + ArrayLength<U>> BitXor<NumericArray<U, N>> for NumericArray<T, N> where
    T: BitXor<U>,
    N: ArrayLength<<T as BitXor<U>>::Output>, 
[src]

type Output = NumericArray<<T as BitXor<U>>::Output, N>

The resulting type after applying the ^ operator.

impl<'a, T, U: Clone, N: ArrayLength<T> + ArrayLength<U>> BitXor<&'a NumericArray<U, N>> for NumericArray<T, N> where
    T: BitXor<U>,
    N: ArrayLength<<T as BitXor<U>>::Output>, 
[src]

type Output = NumericArray<<T as BitXor<U>>::Output, N>

The resulting type after applying the ^ operator.

impl<'a, T: Clone, U, N: ArrayLength<T> + ArrayLength<U>> BitXor<NumericArray<U, N>> for &'a NumericArray<T, N> where
    T: BitXor<U>,
    N: ArrayLength<<T as BitXor<U>>::Output>, 
[src]

type Output = NumericArray<<T as BitXor<U>>::Output, N>

The resulting type after applying the ^ operator.

impl<'a, 'b, T: Clone, U: Clone, N: ArrayLength<T> + ArrayLength<U>> BitXor<&'b NumericArray<U, N>> for &'a NumericArray<T, N> where
    T: BitXor<U>,
    N: ArrayLength<<T as BitXor<U>>::Output>, 
[src]

type Output = NumericArray<<T as BitXor<U>>::Output, N>

The resulting type after applying the ^ operator.

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]

type Output = NumericArray<<T as BitXor<U>>::Output, N>

The resulting type after applying the ^ operator.

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]

type Output = NumericArray<<T as BitXor<U>>::Output, N>

The resulting type after applying the ^ operator.

impl<T, U, N: ArrayLength<T> + ArrayLength<U>> Shl<NumericArray<U, N>> for NumericArray<T, N> where
    T: Shl<U>,
    N: ArrayLength<<T as Shl<U>>::Output>, 
[src]

type Output = NumericArray<<T as Shl<U>>::Output, N>

The resulting type after applying the << operator.

impl<'a, T, U: Clone, N: ArrayLength<T> + ArrayLength<U>> Shl<&'a NumericArray<U, N>> for NumericArray<T, N> where
    T: Shl<U>,
    N: ArrayLength<<T as Shl<U>>::Output>, 
[src]

type Output = NumericArray<<T as Shl<U>>::Output, N>

The resulting type after applying the << operator.

impl<'a, T: Clone, U, N: ArrayLength<T> + ArrayLength<U>> Shl<NumericArray<U, N>> for &'a NumericArray<T, N> where
    T: Shl<U>,
    N: ArrayLength<<T as Shl<U>>::Output>, 
[src]

type Output = NumericArray<<T as Shl<U>>::Output, N>

The resulting type after applying the << operator.

impl<'a, 'b, T: Clone, U: Clone, N: ArrayLength<T> + ArrayLength<U>> Shl<&'b NumericArray<U, N>> for &'a NumericArray<T, N> where
    T: Shl<U>,
    N: ArrayLength<<T as Shl<U>>::Output>, 
[src]

type Output = NumericArray<<T as Shl<U>>::Output, N>

The resulting type after applying the << operator.

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]

type Output = NumericArray<<T as Shl<U>>::Output, N>

The resulting type after applying the << operator.

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]

type Output = NumericArray<<T as Shl<U>>::Output, N>

The resulting type after applying the << operator.

impl<T, U, N: ArrayLength<T> + ArrayLength<U>> Shr<NumericArray<U, N>> for NumericArray<T, N> where
    T: Shr<U>,
    N: ArrayLength<<T as Shr<U>>::Output>, 
[src]

type Output = NumericArray<<T as Shr<U>>::Output, N>

The resulting type after applying the >> operator.

impl<'a, T, U: Clone, N: ArrayLength<T> + ArrayLength<U>> Shr<&'a NumericArray<U, N>> for NumericArray<T, N> where
    T: Shr<U>,
    N: ArrayLength<<T as Shr<U>>::Output>, 
[src]

type Output = NumericArray<<T as Shr<U>>::Output, N>

The resulting type after applying the >> operator.

impl<'a, T: Clone, U, N: ArrayLength<T> + ArrayLength<U>> Shr<NumericArray<U, N>> for &'a NumericArray<T, N> where
    T: Shr<U>,
    N: ArrayLength<<T as Shr<U>>::Output>, 
[src]

type Output = NumericArray<<T as Shr<U>>::Output, N>

The resulting type after applying the >> operator.

impl<'a, 'b, T: Clone, U: Clone, N: ArrayLength<T> + ArrayLength<U>> Shr<&'b NumericArray<U, N>> for &'a NumericArray<T, N> where
    T: Shr<U>,
    N: ArrayLength<<T as Shr<U>>::Output>, 
[src]

type Output = NumericArray<<T as Shr<U>>::Output, N>

The resulting type after applying the >> operator.

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]

type Output = NumericArray<<T as Shr<U>>::Output, N>

The resulting type after applying the >> operator.

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]

type Output = NumericArray<<T as Shr<U>>::Output, N>

The resulting type after applying the >> operator.

impl<T, U, N: ArrayLength<T> + ArrayLength<U>> BitAndAssign<NumericArray<U, N>> for NumericArray<T, N> where
    T: BitAndAssign<U>, 
[src]

impl<'a, T, U: Clone, N: ArrayLength<T> + ArrayLength<U>> BitAndAssign<&'a NumericArray<U, N>> for NumericArray<T, N> where
    T: BitAndAssign<U>, 
[src]

impl<T, U: Clone, N: ArrayLength<T>> BitAndAssign<NumericConstant<U>> for NumericArray<T, N> where
    T: BitAndAssign<U>, 
[src]

impl<T, U, N: ArrayLength<T> + ArrayLength<U>> BitOrAssign<NumericArray<U, N>> for NumericArray<T, N> where
    T: BitOrAssign<U>, 
[src]

impl<'a, T, U: Clone, N: ArrayLength<T> + ArrayLength<U>> BitOrAssign<&'a NumericArray<U, N>> for NumericArray<T, N> where
    T: BitOrAssign<U>, 
[src]

impl<T, U: Clone, N: ArrayLength<T>> BitOrAssign<NumericConstant<U>> for NumericArray<T, N> where
    T: BitOrAssign<U>, 
[src]

impl<T, U, N: ArrayLength<T> + ArrayLength<U>> BitXorAssign<NumericArray<U, N>> for NumericArray<T, N> where
    T: BitXorAssign<U>, 
[src]

impl<'a, T, U: Clone, N: ArrayLength<T> + ArrayLength<U>> BitXorAssign<&'a NumericArray<U, N>> for NumericArray<T, N> where
    T: BitXorAssign<U>, 
[src]

impl<T, U: Clone, N: ArrayLength<T>> BitXorAssign<NumericConstant<U>> for NumericArray<T, N> where
    T: BitXorAssign<U>, 
[src]

impl<T, U, N: ArrayLength<T> + ArrayLength<U>> ShlAssign<NumericArray<U, N>> for NumericArray<T, N> where
    T: ShlAssign<U>, 
[src]

impl<'a, T, U: Clone, N: ArrayLength<T> + ArrayLength<U>> ShlAssign<&'a NumericArray<U, N>> for NumericArray<T, N> where
    T: ShlAssign<U>, 
[src]

impl<T, U: Clone, N: ArrayLength<T>> ShlAssign<NumericConstant<U>> for NumericArray<T, N> where
    T: ShlAssign<U>, 
[src]

impl<T, U, N: ArrayLength<T> + ArrayLength<U>> ShrAssign<NumericArray<U, N>> for NumericArray<T, N> where
    T: ShrAssign<U>, 
[src]

impl<'a, T, U: Clone, N: ArrayLength<T> + ArrayLength<U>> ShrAssign<&'a NumericArray<U, N>> for NumericArray<T, N> where
    T: ShrAssign<U>, 
[src]

impl<T, U: Clone, N: ArrayLength<T>> ShrAssign<NumericConstant<U>> for NumericArray<T, N> where
    T: ShrAssign<U>, 
[src]

impl<T, N: ArrayLength<T>> Index<usize> for NumericArray<T, N>
[src]

type Output = T

The returned type after indexing.

impl<T, N: ArrayLength<T>> Index<Range<usize>> for NumericArray<T, N>
[src]

type Output = [T]

The returned type after indexing.

impl<T, N: ArrayLength<T>> Index<RangeTo<usize>> for NumericArray<T, N>
[src]

type Output = [T]

The returned type after indexing.

impl<T, N: ArrayLength<T>> Index<RangeFrom<usize>> for NumericArray<T, N>
[src]

type Output = [T]

The returned type after indexing.

impl<T, N: ArrayLength<T>> Index<RangeFull> for NumericArray<T, N>
[src]

type Output = [T]

The returned type after indexing.

impl<T, N: ArrayLength<T>> IndexMut<usize> for NumericArray<T, N>
[src]

impl<T, N: ArrayLength<T>> FromIterator<T> for NumericArray<T, N>
[src]

impl<T, N: ArrayLength<T>> Borrow<[T]> for NumericArray<T, N>
[src]

impl<T, N: ArrayLength<T>> BorrowMut<[T]> for NumericArray<T, N>
[src]

impl<T, N: ArrayLength<T>> Bounded for NumericArray<T, N> where
    T: Bounded
[src]

impl<T, N: ArrayLength<T>> ToPrimitive for NumericArray<T, N> where
    T: ToPrimitive
[src]

fn to_i128(&self) -> Option<i128>
[src]

Converts the value of self to an i128. Read more

fn to_u128(&self) -> Option<u128>
[src]

Converts the value of self to an u128. Read more

impl<T, N: ArrayLength<T>> NumCast for NumericArray<T, N> where
    T: NumCast + Clone
[src]

impl<T, N: ArrayLength<T>> Float for NumericArray<T, N> where
    T: Float + Copy,
    Self: Copy
[src]

impl<T, N: ArrayLength<T>> FloatConst for NumericArray<T, N> where
    T: FloatConst
[src]

impl<T: Clone, N: ArrayLength<T>> Num for NumericArray<T, N> where
    T: Num
[src]

type FromStrRadixErr = <T as Num>::FromStrRadixErr

impl<T, N: ArrayLength<T>> Zero for NumericArray<T, N> where
    T: Zero
[src]

impl<T, N: ArrayLength<T>> One for NumericArray<T, N> where
    T: One
[src]

fn is_one(&self) -> bool where
    Self: PartialEq<Self>, 
[src]

Returns true if self is equal to the multiplicative identity. Read more

impl<T, N: ArrayLength<T>> Saturating for NumericArray<T, N> where
    T: Saturating
[src]

impl<T, N: ArrayLength<T>> CheckedShl for NumericArray<T, N> where
    T: CheckedShl,
    Self: Shl<u32, Output = Self>, 
[src]

impl<T, N: ArrayLength<T>> CheckedAdd for NumericArray<T, N> where
    T: CheckedAdd
[src]

impl<T, N: ArrayLength<T>> CheckedSub for NumericArray<T, N> where
    T: CheckedSub
[src]

impl<T, N: ArrayLength<T>> CheckedShr for NumericArray<T, N> where
    T: CheckedShr,
    Self: Shr<u32, Output = Self>, 
[src]

impl<T, N: ArrayLength<T>> CheckedMul for NumericArray<T, N> where
    T: CheckedMul
[src]

impl<T, N: ArrayLength<T>> CheckedDiv for NumericArray<T, N> where
    T: CheckedDiv
[src]

impl<T, N: ArrayLength<T>> Inv for NumericArray<T, N> where
    T: Inv,
    N: ArrayLength<<T as Inv>::Output>, 
[src]

type Output = NumericArray<<T as Inv>::Output, N>

The result after applying the operator.

impl<'a, T: Clone, N: ArrayLength<T>> Inv for &'a NumericArray<T, N> where
    T: Inv,
    N: ArrayLength<<T as Inv>::Output>, 
[src]

type Output = NumericArray<<T as Inv>::Output, N>

The result after applying the operator.

impl<T, N: ArrayLength<T>> WrappingAdd for NumericArray<T, N> where
    T: WrappingAdd
[src]

impl<T, N: ArrayLength<T>> WrappingSub for NumericArray<T, N> where
    T: WrappingSub
[src]

impl<T, N: ArrayLength<T>> WrappingMul for NumericArray<T, N> where
    T: WrappingMul
[src]

impl<T, U, N: ArrayLength<T> + ArrayLength<U>> Pow<NumericArray<U, N>> for NumericArray<T, N> where
    T: Pow<U>,
    N: ArrayLength<<T as Pow<U>>::Output>, 
[src]

type Output = NumericArray<<T as Pow<U>>::Output, N>

The result after applying the operator.

impl<'a, T, U: Clone, N: ArrayLength<T> + ArrayLength<U>> Pow<&'a NumericArray<U, N>> for NumericArray<T, N> where
    T: Pow<U>,
    N: ArrayLength<<T as Pow<U>>::Output>, 
[src]

type Output = NumericArray<<T as Pow<U>>::Output, N>

The result after applying the operator.

impl<'a, T: Clone, U, N: ArrayLength<T> + ArrayLength<U>> Pow<NumericArray<U, N>> for &'a NumericArray<T, N> where
    T: Pow<U>,
    N: ArrayLength<<T as Pow<U>>::Output>, 
[src]

type Output = NumericArray<<T as Pow<U>>::Output, N>

The result after applying the operator.

impl<'a, 'b, T: Clone, U: Clone, N: ArrayLength<T> + ArrayLength<U>> Pow<&'b NumericArray<U, N>> for &'a NumericArray<T, N> where
    T: Pow<U>,
    N: ArrayLength<<T as Pow<U>>::Output>, 
[src]

type Output = NumericArray<<T as Pow<U>>::Output, N>

The result after applying the operator.

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]

type Output = NumericArray<<T as Pow<U>>::Output, N>

The result after applying the operator.

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]

type Output = NumericArray<<T as Pow<U>>::Output, N>

The result after applying the operator.

impl<T: Clone, N: ArrayLength<T>> Signed for NumericArray<T, N> where
    T: Signed
[src]

impl<T: Clone, N: ArrayLength<T>> Unsigned for NumericArray<T, N> where
    T: Unsigned
[src]

impl<T, N: ArrayLength<T>> GenericSequence<T> for NumericArray<T, N>
[src]

type Length = N

GenericArray associated length

type Sequence = Self

Concrete sequence type used in conjuction with reference implementations of GenericSequence

Auto Trait Implementations

impl<T, N> Send for NumericArray<T, N> where
    T: Send

impl<T, N> Sync for NumericArray<T, N> where
    T: Sync

Blanket Implementations

impl<T> From for T
[src]

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

impl<I> IntoIterator for I where
    I: Iterator
[src]

type Item = <I as Iterator>::Item

The type of the elements being iterated over.

type IntoIter = I

Which kind of iterator are we turning this into?

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

type Owned = T

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

type Error = !

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

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

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

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

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

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

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Real for T where
    T: Float
[src]

impl<T, Rhs, Output> NumOps 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]

impl<T> NumRef for T where
    T: Num + NumOps<&'r T, T>, 
[src]

impl<T, Base> RefNum for T where
    T: NumOps<Base, Base> + NumOps<&'r Base, Base>, 
[src]

impl<T, Rhs> NumAssignOps for T where
    T: AddAssign<Rhs> + SubAssign<Rhs> + MulAssign<Rhs> + DivAssign<Rhs> + RemAssign<Rhs>, 
[src]

impl<T> NumAssign for T where
    T: Num + NumAssignOps<T>, 
[src]

impl<T> NumAssignRef for T where
    T: NumAssign + NumAssignOps<&'r T>, 
[src]

impl<T> Same for T
[src]

type Output = T

Should always be Self