Add generic mask type aliases (mask8xN, mask16xN, etc.) #489
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Completes #447 by adding missing mask generic aliases for API consistency.
Changes
Added 5 mask generic aliases:
mask8xN<const N: usize>for 8-bit masksmask16xN<const N: usize>for 16-bit masksmask32xN<const N: usize>for 32-bit masksmask64xN<const N: usize>for 64-bit masksmasksizexN<const N: usize>for pointer-sized masksExported in prelude: All 5 mask aliases now available via
use core::simd::prelude::*Added comprehensive tests: 12 test functions covering:
Rationale
Issue #447 requested vector generic aliases (u32xN, f32xN, etc.) which already exist. This PR adds the corresponding mask generic aliases for API completeness and consistency.
Before: Vector generics exist, but masks require verbose
Mask<i32, N>syntaxAfter: Both vectors and masks have ergonomic generic aliases
Previously there were concerns about possible ambiguity of naming, discussion can be continued here I believe!