Trait core::simd::Swizzle2

source ·
pub trait Swizzle2<const INPUT_LANES: usize, const OUTPUT_LANES: usize> {
    const INDEX: [Which; OUTPUT_LANES];

    fn swizzle2<T>(
        first: Simd<T, INPUT_LANES>,
        second: Simd<T, INPUT_LANES>
    ) -> Simd<T, OUTPUT_LANES>
    where
        T: SimdElement,
        LaneCount<INPUT_LANES>: SupportedLaneCount,
        LaneCount<OUTPUT_LANES>: SupportedLaneCount
, { ... } }
🔬This is a nightly-only experimental API. (portable_simd #86656)
Expand description

Create a vector from the elements of two other vectors.

Required Associated Constants§

source

const INDEX: [Which; OUTPUT_LANES]

🔬This is a nightly-only experimental API. (portable_simd #86656)

Map from the lanes of the input vectors to the output vector

Provided Methods§

source

fn swizzle2<T>(
    first: Simd<T, INPUT_LANES>,
    second: Simd<T, INPUT_LANES>
) -> Simd<T, OUTPUT_LANES>where
    T: SimdElement,
    LaneCount<INPUT_LANES>: SupportedLaneCount,
    LaneCount<OUTPUT_LANES>: SupportedLaneCount,

🔬This is a nightly-only experimental API. (portable_simd #86656)

Create a new vector from the lanes of first and second.

Lane i is first[j] when Self::INDEX[i] is First(j), or second[j] when it is Second(j).

Implementors§