Struct simd::x86::avx::bool16ix16
[−]
[src]
pub struct bool16ix16(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _);
Methods
impl bool16ix16
[src]
fn to_repr(self) -> i16x16
Convert to integer representation.
fn from_repr(x: i16x16) -> Self
Convert from integer representation.
fn new(x0: bool, x1: bool, x2: bool, x3: bool, x4: bool, x5: bool, x6: bool, x7: bool, x8: bool, x9: bool, x10: bool, x11: bool, x12: bool, x13: bool, x14: bool, x15: bool) -> bool16ix16
Create a new instance.
fn splat(x: bool) -> bool16ix16
Create a new instance where every lane has value x
.
fn extract(self, idx: u32) -> bool
fn replace(self, idx: u32, elem: bool) -> Self
Return a new vector where the idx
th lane is replaced
by elem
.
Panics
replace
will panic if idx
is out of bounds.
fn select<T: Simd<Bool=bool16ix16>>(self, then: T, else_: T) -> T
Select between elements of then
and else_
, based on
the corresponding element of self
.
This is equivalent to the following, but is possibly more efficient:
T::new(if self.extract(0) { then.extract(0) } else { else_.extract(0) }, if self.extract(1) { then.extract(1) } else { else_.extract(1) }, ...)
fn all(self) -> bool
Check if every element of self
is true.
This is equivalent to the following, but is possibly more efficient:
self.extract(0) && self.extract(1) && ...
fn any(self) -> bool
Check if any element of self
is true.
This is equivalent to the following, but is possibly more efficient:
self.extract(0) || self.extract(1) || ...
Trait Implementations
impl Simd for bool16ix16
[src]
type Bool = bool16ix16
The corresponding boolean vector type.
type Elem = bool16i
The element that this vector stores.
impl Clone for bool16ix16
[src]
fn clone(&self) -> Self
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0
Performs copy-assignment from source
. Read more
impl Not for bool16ix16
[src]
type Output = Self
The resulting type after applying the !
operator
fn not(self) -> Self
The method for the unary !
operator
impl LowHigh128 for bool16ix16
[src]
type Half = bool16ix8
fn low(self) -> Self::Half
Extract the low 128 bit part.
fn high(self) -> Self::Half
Extract the high 128 bit part.
impl BitAnd for bool16ix16
[src]
type Output = Self
The resulting type after applying the &
operator
fn bitand(self, x: Self) -> Self
The method for the &
operator
impl BitOr for bool16ix16
[src]
type Output = Self
The resulting type after applying the |
operator
fn bitor(self, x: Self) -> Self
The method for the |
operator
impl BitXor for bool16ix16
[src]
type Output = Self
The resulting type after applying the ^
operator
fn bitxor(self, x: Self) -> Self
The method for the ^
operator