pub enum OuterReject {
NoLoopNest,
NotDoubleNested,
NoStore,
NoProduct,
NotInt,
Accumulates,
Stores,
NonAffineIndex,
NotCounted,
NotOuterLayout,
ExtraWork,
}Expand description
Why a program is not a recognizable outer product, least to most advanced.
Variants§
NoLoopNest
No While counter is less than BOUND loop.
NotDoubleNested
A counted loop with no counted loop directly inside it.
NoStore
No Set item _ of C to … in the inner loop.
NoProduct
The stored value is not item _ of A * item _ of B.
NotInt
A product, but A, B and C are not all declared Seq of Int arrays — the integer product the app computes.
Accumulates
C[idx] := C[idx] + A·B — a rank-1 update, not an outer product.
Stores
C[idx] := A·B where a rank-1 update (C[idx] := C[idx] + A·B) is read.
NonAffineIndex
An index is not affine in the counters.
NotCounted
A counter not set to a constant right before its loop, or not stepped by exactly one.
NotOuterLayout
Not C[i·n + j], A[i], B[j] with unit strides against the loop bounds.
ExtraWork
A loop body does more than the outer product.
Trait Implementations§
Source§impl Clone for OuterReject
impl Clone for OuterReject
Source§fn clone(&self) -> OuterReject
fn clone(&self) -> OuterReject
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for OuterReject
impl Debug for OuterReject
Source§impl Ord for OuterReject
impl Ord for OuterReject
Source§fn cmp(&self, other: &OuterReject) -> Ordering
fn cmp(&self, other: &OuterReject) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialEq for OuterReject
impl PartialEq for OuterReject
Source§impl PartialOrd for OuterReject
impl PartialOrd for OuterReject
impl Copy for OuterReject
impl Eq for OuterReject
impl StructuralPartialEq for OuterReject
Auto Trait Implementations§
impl Freeze for OuterReject
impl RefUnwindSafe for OuterReject
impl Send for OuterReject
impl Sync for OuterReject
impl Unpin for OuterReject
impl UnsafeUnpin for OuterReject
impl UnwindSafe for OuterReject
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,
§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.