pub struct SimdCapabilities {
pub max_level: SimdLevel,
pub has_sse2: bool,
pub has_sse41: bool,
pub has_avx2: bool,
pub has_fma: bool,
pub has_avx512f: bool,
pub has_neon: bool,
}Expand description
Runtime SIMD capabilities for the current CPU
Fields§
§max_level: SimdLevelHighest available SIMD level
has_sse2: boolWhether SSE2 is available (x86-64 only, always true on x86-64)
has_sse41: boolWhether SSE4.1 is available (x86-64 only)
has_avx2: boolWhether AVX2 is available (x86-64 only)
has_fma: boolWhether FMA is available (x86-64 only)
has_avx512f: boolWhether AVX-512F is available (x86-64 only)
has_neon: boolWhether NEON is available (aarch64 only, always true on aarch64)
Implementations§
Trait Implementations§
Source§impl Clone for SimdCapabilities
impl Clone for SimdCapabilities
Source§fn clone(&self) -> SimdCapabilities
fn clone(&self) -> SimdCapabilities
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for SimdCapabilities
impl RefUnwindSafe for SimdCapabilities
impl Send for SimdCapabilities
impl Sync for SimdCapabilities
impl Unpin for SimdCapabilities
impl UnsafeUnpin for SimdCapabilities
impl UnwindSafe for SimdCapabilities
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more