pub enum ScalarReason {
Forced,
DimNotSimdAligned,
NoNibbleTables,
CpuUnsupported,
SelfCheckFailed,
}Expand description
Why the scalar path runs.
Variants§
Forced
Lut::force_scalar or MAXSIM_LUT_FORCE_SCALAR=1.
DimNotSimdAligned
dim % 8 != 0 or dim > MAX_DIM.
NoNibbleTables
The packing could not be factored into nibble tables (nbits 8).
CpuUnsupported
This CPU lacks the required feature (NEON dotprod, AVX2), or the
architecture has no SIMD path at all.
SelfCheckFailed
Every SIMD kernel this CPU claims to support disagreed with the scalar reference on the calibration probe, so none was trusted. This should be unreachable; it means a kernel is miscompiled or the CPU misreports a feature, and it trades speed for a correct answer.
Trait Implementations§
Source§impl Clone for ScalarReason
impl Clone for ScalarReason
Source§fn clone(&self) -> ScalarReason
fn clone(&self) -> ScalarReason
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 moreimpl Copy for ScalarReason
Source§impl Debug for ScalarReason
impl Debug for ScalarReason
impl Eq for ScalarReason
Source§impl PartialEq for ScalarReason
impl PartialEq for ScalarReason
impl StructuralPartialEq for ScalarReason
Auto Trait Implementations§
impl Freeze for ScalarReason
impl RefUnwindSafe for ScalarReason
impl Send for ScalarReason
impl Sync for ScalarReason
impl Unpin for ScalarReason
impl UnsafeUnpin for ScalarReason
impl UnwindSafe for ScalarReason
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