pub struct HostIsaReduce { /* private fields */ }Expand description
Host-ISA integer reduction: portable scalar vs AVX2 when detected.
This release’s step beyond “algorithm stand-ins”: the fast path uses
real target_feature(enable = "avx2") code selected at runtime via
is_x86_feature_detected!("avx2"). It is still not a separately
compiled -march=native binary — see docs for that distinction.
Implementations§
Source§impl HostIsaReduce
impl HostIsaReduce
Sourcepub fn run_portable(&self) -> i64
pub fn run_portable(&self) -> i64
Portable scalar sum.
Sourcepub fn run_host_isa(&self) -> i64
pub fn run_host_isa(&self) -> i64
Host-ISA path: AVX2 when available, else scalar.
Sourcepub fn avx2_active() -> bool
pub fn avx2_active() -> bool
Whether AVX2 was selected on this process.
Sourcepub fn verify_correctness(&self) -> bool
pub fn verify_correctness(&self) -> bool
Correctness: portable and host-ISA must agree.
Auto Trait Implementations§
impl Freeze for HostIsaReduce
impl RefUnwindSafe for HostIsaReduce
impl Send for HostIsaReduce
impl Sync for HostIsaReduce
impl Unpin for HostIsaReduce
impl UnsafeUnpin for HostIsaReduce
impl UnwindSafe for HostIsaReduce
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> 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