Struct simd::u8x16
[−]
[src]
#[repr(simd)]pub struct u8x16(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _);
A SIMD vector of 16 u8s.
Methods
impl u8x16[src]
pub const fn new(
x0: u8,
x1: u8,
x2: u8,
x3: u8,
x4: u8,
x5: u8,
x6: u8,
x7: u8,
x8: u8,
x9: u8,
x10: u8,
x11: u8,
x12: u8,
x13: u8,
x14: u8,
x15: u8
) -> u8x16[src]
x0: u8,
x1: u8,
x2: u8,
x3: u8,
x4: u8,
x5: u8,
x6: u8,
x7: u8,
x8: u8,
x9: u8,
x10: u8,
x11: u8,
x12: u8,
x13: u8,
x14: u8,
x15: u8
) -> u8x16
Create a new instance.
pub const fn splat(x: u8) -> u8x16[src]
Create a new instance where every lane has value x.
pub fn eq(self, other: Self) -> bool8ix16[src]
Compare for equality.
pub fn ne(self, other: Self) -> bool8ix16[src]
Compare for equality.
pub fn lt(self, other: Self) -> bool8ix16[src]
Compare for equality.
pub fn le(self, other: Self) -> bool8ix16[src]
Compare for equality.
pub fn gt(self, other: Self) -> bool8ix16[src]
Compare for equality.
pub fn ge(self, other: Self) -> bool8ix16[src]
Compare for equality.
pub fn extract(self, idx: u32) -> u8[src]
pub fn replace(self, idx: u32, elem: u8) -> Self[src]
Return a new vector where the idxth lane is replaced
by elem.
Panics
replace will panic if idx is out of bounds.
pub fn load(array: &[u8], idx: usize) -> Self[src]
Load a new value from the idxth position of array.
This is equivalent to the following, but is possibly more efficient:
Self::new(array[idx], array[idx + 1], ...)
Panics
load will panic if idx is out of bounds in
array, or if array[idx..] is too short.
pub fn store(self, array: &mut [u8], idx: usize)[src]
Store the elements of self to array, starting at
the idxth position.
This is equivalent to the following, but is possibly more efficient:
array[i] = self.extract(0); array[i + 1] = self.extract(1); // ...
Panics
store will panic if idx is out of bounds in
array, or if array[idx...] is too short.
impl u8x16[src]
Trait Implementations
impl Not for u8x16[src]
type Output = Self
The resulting type after applying the ! operator.
fn not(self) -> Self[src]
Performs the unary ! operation.
impl Add for u8x16[src]
type Output = Self
The resulting type after applying the + operator.
fn add(self, x: Self) -> Self[src]
Performs the + operation.
impl Sub for u8x16[src]
type Output = Self
The resulting type after applying the - operator.
fn sub(self, x: Self) -> Self[src]
Performs the - operation.
impl Mul for u8x16[src]
type Output = Self
The resulting type after applying the * operator.
fn mul(self, x: Self) -> Self[src]
Performs the * operation.
impl BitAnd for u8x16[src]
type Output = Self
The resulting type after applying the & operator.
fn bitand(self, x: Self) -> Self[src]
Performs the & operation.
impl BitOr for u8x16[src]
type Output = Self
The resulting type after applying the | operator.
fn bitor(self, x: Self) -> Self[src]
Performs the | operation.
impl BitXor for u8x16[src]
type Output = Self
The resulting type after applying the ^ operator.
fn bitxor(self, x: Self) -> Self[src]
Performs the ^ operation.
impl Shl<u8> for u8x16[src]
type Output = Self
The resulting type after applying the << operator.
fn shl(self, other: u8) -> Self[src]
Performs the << operation.
impl Shr<u8> for u8x16[src]
type Output = Self
The resulting type after applying the >> operator.
fn shr(self, other: u8) -> Self[src]
Performs the >> operation.
impl Shl<u16> for u8x16[src]
type Output = Self
The resulting type after applying the << operator.
fn shl(self, other: u16) -> Self[src]
Performs the << operation.
impl Shr<u16> for u8x16[src]
type Output = Self
The resulting type after applying the >> operator.
fn shr(self, other: u16) -> Self[src]
Performs the >> operation.
impl Shl<u32> for u8x16[src]
type Output = Self
The resulting type after applying the << operator.
fn shl(self, other: u32) -> Self[src]
Performs the << operation.
impl Shr<u32> for u8x16[src]
type Output = Self
The resulting type after applying the >> operator.
fn shr(self, other: u32) -> Self[src]
Performs the >> operation.
impl Shl<u64> for u8x16[src]
type Output = Self
The resulting type after applying the << operator.
fn shl(self, other: u64) -> Self[src]
Performs the << operation.
impl Shr<u64> for u8x16[src]
type Output = Self
The resulting type after applying the >> operator.
fn shr(self, other: u64) -> Self[src]
Performs the >> operation.
impl Shl<usize> for u8x16[src]
type Output = Self
The resulting type after applying the << operator.
fn shl(self, other: usize) -> Self[src]
Performs the << operation.
impl Shr<usize> for u8x16[src]
type Output = Self
The resulting type after applying the >> operator.
fn shr(self, other: usize) -> Self[src]
Performs the >> operation.
impl Shl<i8> for u8x16[src]
type Output = Self
The resulting type after applying the << operator.
fn shl(self, other: i8) -> Self[src]
Performs the << operation.
impl Shr<i8> for u8x16[src]
type Output = Self
The resulting type after applying the >> operator.
fn shr(self, other: i8) -> Self[src]
Performs the >> operation.
impl Shl<i16> for u8x16[src]
type Output = Self
The resulting type after applying the << operator.
fn shl(self, other: i16) -> Self[src]
Performs the << operation.
impl Shr<i16> for u8x16[src]
type Output = Self
The resulting type after applying the >> operator.
fn shr(self, other: i16) -> Self[src]
Performs the >> operation.
impl Shl<i32> for u8x16[src]
type Output = Self
The resulting type after applying the << operator.
fn shl(self, other: i32) -> Self[src]
Performs the << operation.
impl Shr<i32> for u8x16[src]
type Output = Self
The resulting type after applying the >> operator.
fn shr(self, other: i32) -> Self[src]
Performs the >> operation.
impl Shl<i64> for u8x16[src]
type Output = Self
The resulting type after applying the << operator.
fn shl(self, other: i64) -> Self[src]
Performs the << operation.
impl Shr<i64> for u8x16[src]
type Output = Self
The resulting type after applying the >> operator.
fn shr(self, other: i64) -> Self[src]
Performs the >> operation.
impl Shl<isize> for u8x16[src]
type Output = Self
The resulting type after applying the << operator.
fn shl(self, other: isize) -> Self[src]
Performs the << operation.
impl Shr<isize> for u8x16[src]
type Output = Self
The resulting type after applying the >> operator.
fn shr(self, other: isize) -> Self[src]
Performs the >> operation.
impl Sse2U8x16 for u8x16[src]
fn move_mask(self) -> u32[src]
fn adds(self, other: Self) -> Self[src]
fn subs(self, other: Self) -> Self[src]
fn avg(self, other: Self) -> Self[src]
fn max(self, other: Self) -> Self[src]
fn min(self, other: Self) -> Self[src]
fn sad(self, other: Self) -> u64x2[src]
impl Ssse3U8x16 for u8x16[src]
impl Sse41U8x16 for u8x16[src]
impl AvxU8x16 for u8x16[src]
impl Aarch64U8x16 for u8x16[src]
fn table_lookup_1(self, t0: u8x16) -> u8x16[src]
impl Debug for u8x16[src]
fn fmt(&self, __arg_0: &mut Formatter) -> Result[src]
Formats the value using the given formatter. Read more
impl Copy for u8x16[src]
impl Simd for u8x16[src]
type Bool = bool8ix16
The corresponding boolean vector type.
type Elem = u8
The element that this vector stores.