Skip to main content

lower_rows

Function lower_rows 

Source
pub fn lower_rows(
    conjuncts: &[Expr],
    arrays: &[ArrayState],
    sizes: &[usize],
    states: &[Option<BigUint>],
) -> Result<Lowered, ExpandError>
Expand description

Binds the rows of every array of arrays whose rows are not bound yet, for one stage of the sizing (module docs of ArrayNode::RowScope): sizes are the sizes the stage before chose. Every such array gets one row array per row (the row_base ids), becomes inactive with that many placeholder elements, and the conjuncts name rows directly. A row that is itself an array of arrays (int a[][][]) comes out unlowered, with a template of its own for its rows, and is bound by the next call once its size is chosen.