Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions coresimd/ppsv/api/minimal.rs
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,10 @@ macro_rules! impl_minimal {
simd_insert(self, index as u32, new_value)
}
}

impl super::api::Simd for $id {
type Element = $elem_ty;
}
}
}

Expand Down
13 changes: 9 additions & 4 deletions coresimd/ppsv/api/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -112,9 +112,8 @@ mod partial_eq;
// TODO:
//#[macro_use]
//mod partial_ord;
// TODO:
//#[macro_use]
//mod shuffles;
#[macro_use]
pub mod shuffles;
// TODO:
//#[macro_use]
//mod gather_scatter;
Expand All @@ -125,9 +124,15 @@ mod scalar_shifts;
#[macro_use]
mod shifts;

/// Sealed trait used for constraining select implementations.
/// Sealed trait used to constrain select implementations.
pub trait Lanes<A> {}

/// Sealed trait used to constraint vector shuffles.
pub trait Simd {
/// Element type of the SIMD vector.
type Element;
}

/// Defines a portable packed SIMD floating-point vector type.
macro_rules! simd_f_ty {
($id:ident : $elem_count:expr, $elem_ty:ident, $mask_ty:ident, $test_mod:ident,
Expand Down
Loading