pub struct ScanLayout {
pub n_carries: usize,
pub n_xs: usize,
pub bound: usize,
pub emit: ScanEmit,
pub init_carries: Vec<NodeId>,
pub xs: Vec<NodeId>,
pub consts: Vec<NodeId>,
pub body_new_carries: Vec<NodeId>,
pub body_y: NodeId,
pub pred_exit: Option<NodeId>,
}Expand description
The parsed input layout of an Op::Scan node — the fields the early-exit
step driver needs, extracted from the trailing-input encoding.
Fields§
§n_carries: usizeGAP-303: how many carries the leading/trailing blocks are wide.
n_xs: usize§bound: usize§emit: ScanEmit§init_carries: Vec<NodeId>§xs: Vec<NodeId>§consts: Vec<NodeId>§body_new_carries: Vec<NodeId>§body_y: NodeId§pred_exit: Option<NodeId>Some when early_exit = Some — the scalar-U8 convergence predicate.
Auto Trait Implementations§
impl Freeze for ScanLayout
impl RefUnwindSafe for ScanLayout
impl Send for ScanLayout
impl Sync for ScanLayout
impl Unpin for ScanLayout
impl UnsafeUnpin for ScanLayout
impl UnwindSafe for ScanLayout
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