Module slipstream::vector

source ·
Expand description

Low-level definitions of the vector types and their traits.

While the user usually operates with the type aliases defined in types (and exported through the prelude, this module provides the actual implementation of the types.

The module defines a Vector type. This allows setting not only the base type and number of lanes, but also alignment (through an additional alignment marker type, available in the align submodule).

There are multiple alignments available. Small vectors shouldn’t require bigger alignment than their size, while the bigger ones should require larger one to make it possible to use wider SIMD registers.

The type aliases in types takes this into account.

These types aliases are not thoroughly documented on themselves. The documentation is on the Vector. A lot of its functionality is in traits it implements.

Modules

Enforcement of alignment.

Structs

A vector type.

Traits

Trait to look up a mask corresponding to a type.