Trait numeric_array::simd::Select [] [src]

pub unsafe trait Select<T, N: ArrayLength<T>> {
    fn select(
        self,
        true_values: NumericArray<T, N>,
        false_values: NumericArray<T, N>
    ) -> NumericArray<T, N>; }

Selects elements from one array or another using self as a mask.

Required Methods

Selects elements from one array or another using self as a mask.

Example:

This example is not tested
use simd::SimdSelect;

let mask = narr![bool; true, false, false, true];

let a = narr![i32; 1, 2, 3, 4];
let b = narr![i32; 5, 6, 7, 8];

// Compiles to vblendvps on my machine
let selected = mask.select(a, b);

assert_eq!(selected, narr![i32; 1, 6, 7, 4]);

Implementors