# Trait std::simd::Swizzle

source ·

    pub trait Swizzle<const INPUT_LANES: usize, const OUTPUT_LANES: usize> {
        const INDEX: [usize; OUTPUT_LANES];

        // Provided method
        fn swizzle<T>(vector: 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 another vector.

## Required Associated Constants§

source

#### const INDEX: [usize; OUTPUT_LANES]

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

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

## Provided Methods§

source

#### fn swizzle<T>(vector: 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 `vector`.

Lane `i` of the output is `vector[Self::INDEX[i]]`.

## Object Safety§

This trait is not object safe.

## Implementors§