Swizzle — SIMD 요소 재배열 트레잇
Swizzle — SIMD 요소 재배열 트레잇
Swizzle는 SIMD 벡터의 요소들을 재배열(swizzle)하는 트레잇이에요. nightly 전용 실험 API(portable_simd, #86656)이에요.
출처: Rust 공식 문서
본문
pub trait Swizzle<const N: usize> {
const INDEX: [usize; N];
// 제공 메서드
fn swizzle<T, const M: usize>(vector: Simd<T, M>) -> Simd<T, N>
where
T: SimdElement,
{ ... }
fn concat_swizzle<T, const M: usize>(a: Simd<T, M>, b: Simd<T, M>) -> Simd<T, N>
where
T: SimdElement,
{ ... }
}
연관 상수
// 재배열 인덱스 배열
const INDEX: [usize; N];
INDEX가 지정한 인덱스 순서로 요소를 뽑아 새 벡터를 만들어요. 두 벡터를 이어 붙인 뒤 재배열하는 concat_swizzle도 있어요.