pub enum AffOp {
None,
Add,
Sub,
Mul,
}Expand description
The index-arithmetic shape folded into a fused MicroOp::ArrLoadAffine.
The computed 1-based index is (frame[a] OP frame[b]).wrapping_add(c) for a
two-slot op, or frame[a].wrapping_add(c) for AffOp::None (a single slot
plus a constant). The op wraps with the kernel’s exact i64 semantics so the
load is bit-identical to the un-fused index arithmetic + ArrLoad.
Variants§
None
No second slot: idx = frame[a] + c (the w + 1 shape).
Add
idx = (frame[a] + frame[b]) + c (the i*n + j + 1 tail).
Sub
idx = (frame[a] - frame[b]) + c (the w - wi + 1 shape).
Mul
idx = (frame[a] * frame[b]) + c.
Implementations§
Trait Implementations§
impl Copy for AffOp
impl Eq for AffOp
impl StructuralPartialEq for AffOp
Auto Trait Implementations§
impl Freeze for AffOp
impl RefUnwindSafe for AffOp
impl Send for AffOp
impl Sync for AffOp
impl Unpin for AffOp
impl UnsafeUnpin for AffOp
impl UnwindSafe for AffOp
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