Trait core::simd::Swizzle2

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

    // Provided method
    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

从另外两个 vectors 的元素创建一个 vector。

Required Associated Constants§

source

const INDEX: [Which; OUTPUT_LANES]

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

从输入 vectors 的 lanes 映射到输出 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)

从 first 和 second 的 lanes 创建一个新的 vector。

lane i 在 Self::INDEX[i] 为 First(j) 时为 first[j],在 Second(j) 时为 second[j]。

Implementors§