Module slipstream::iterators[][src]

The Vectorizable trait and a lot of its service types.

The Vectorizable trait allows to turning slices of base types to iterators of vectors, both in separation and in tandem. The rest of this module provides the related types and traits.

Usually, it is enough to bring in the prelude, which already contains the trait. It is seldom necessary to interact with this module directly.

Examples

use slipstream::prelude::*;

fn double(input: &[u32], output: &mut [u32]) {
    let two = u32x8::splat(2);
    for (i, mut o) in (input, output).vectorize() {
        *o = two * i;
    }
}

Structs

MutProxy

A proxy object for iterating over mutable slices.

VectorizedIter

The iterator returned by methods on Vectorizable.

Traits

Vectorizable

A trait describing things with direct support for splitting into vectors.