Skip to main content

Select

Trait Select 

Source
pub trait Select<T> {
    // Required method
    fn select(self, if_true: T, if_false: T) -> T;
}
Expand description

Element-wise selection between two SIMD vectors using self.

Required Methods§

Source

fn select(self, if_true: T, if_false: T) -> T

For each element of this mask, select the first operand if the element is all ones, and select the second operand if the element is all zeroes.

If a mask element is not all ones or all zeroes, the result is unspecified. It may vary depending on architecture, feature level, the mask elements’ width, the mask vector’s width, or library version.

Implementors§

Source§

impl<S: Simd> Select<f32x4<S>> for mask32x4<S>

Source§

impl<S: Simd> Select<f32x8<S>> for mask32x8<S>

Source§

impl<S: Simd> Select<f32x16<S>> for mask32x16<S>

Source§

impl<S: Simd> Select<f64x2<S>> for mask64x2<S>

Source§

impl<S: Simd> Select<f64x4<S>> for mask64x4<S>

Source§

impl<S: Simd> Select<f64x8<S>> for mask64x8<S>

Source§

impl<S: Simd> Select<i8x16<S>> for mask8x16<S>

Source§

impl<S: Simd> Select<i8x32<S>> for mask8x32<S>

Source§

impl<S: Simd> Select<i8x64<S>> for mask8x64<S>

Source§

impl<S: Simd> Select<i16x8<S>> for mask16x8<S>

Source§

impl<S: Simd> Select<i16x16<S>> for mask16x16<S>

Source§

impl<S: Simd> Select<i16x32<S>> for mask16x32<S>

Source§

impl<S: Simd> Select<i32x4<S>> for mask32x4<S>

Source§

impl<S: Simd> Select<i32x8<S>> for mask32x8<S>

Source§

impl<S: Simd> Select<i32x16<S>> for mask32x16<S>

Source§

impl<S: Simd> Select<mask8x16<S>> for mask8x16<S>

Source§

impl<S: Simd> Select<mask8x32<S>> for mask8x32<S>

Source§

impl<S: Simd> Select<mask8x64<S>> for mask8x64<S>

Source§

impl<S: Simd> Select<mask16x8<S>> for mask16x8<S>

Source§

impl<S: Simd> Select<mask16x16<S>> for mask16x16<S>

Source§

impl<S: Simd> Select<mask16x32<S>> for mask16x32<S>

Source§

impl<S: Simd> Select<mask32x4<S>> for mask32x4<S>

Source§

impl<S: Simd> Select<mask32x8<S>> for mask32x8<S>

Source§

impl<S: Simd> Select<mask32x16<S>> for mask32x16<S>

Source§

impl<S: Simd> Select<mask64x2<S>> for mask64x2<S>

Source§

impl<S: Simd> Select<mask64x4<S>> for mask64x4<S>

Source§

impl<S: Simd> Select<mask64x8<S>> for mask64x8<S>

Source§

impl<S: Simd> Select<u8x16<S>> for mask8x16<S>

Source§

impl<S: Simd> Select<u8x32<S>> for mask8x32<S>

Source§

impl<S: Simd> Select<u8x64<S>> for mask8x64<S>

Source§

impl<S: Simd> Select<u16x8<S>> for mask16x8<S>

Source§

impl<S: Simd> Select<u16x16<S>> for mask16x16<S>

Source§

impl<S: Simd> Select<u16x32<S>> for mask16x32<S>

Source§

impl<S: Simd> Select<u32x4<S>> for mask32x4<S>

Source§

impl<S: Simd> Select<u32x8<S>> for mask32x8<S>

Source§

impl<S: Simd> Select<u32x16<S>> for mask32x16<S>