Materialize the entries described by a region. This is a proof-facing operation; the storage-scheduled implementation writes through descriptors without calling it.
Instances For
The descriptor for a whole matrix.
Equations
- Hex.Matrix.Region.full N M = { r0 := 0, c0 := 0, rows_le := ⋯, cols_le := ⋯ }
Instances For
Two region descriptors have disjoint rectangles.
Equations
Instances For
The left and right quadrants in the top row are disjoint.
The top-left and bottom-left quadrants are disjoint.
The top-left and bottom-right quadrants are disjoint.
The top-right and bottom-left quadrants are disjoint.
The top-right and bottom-right quadrants are disjoint.
The left and right quadrants in the bottom row are disjoint.
A region disjoint from a parent is disjoint from its top-left quadrant.
A region disjoint from a parent is disjoint from its top-right quadrant.
A region disjoint from a parent is disjoint from its bottom-left quadrant.
A region disjoint from a parent is disjoint from its bottom-right quadrant.
Overwriting one region preserves every disjoint region.
Combine a destination region with entries supplied by a read-only function, modifying each destination entry directly.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Combine a destination region entrywise with a separate matrix, modifying each destination entry directly.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Accumulation with a read-only function preserves every disjoint region.
Accumulating into one region preserves every disjoint region.
Combine two disjoint regions of the owned output matrix, writing the first and threading the backing array directly through every entry update.
Equations
Instances For
In-buffer accumulation writes only its destination region.
Matrix-level form of get_overwrite_disjoint.
Matrix-level form of get_accumulateWith_disjoint.
Matrix-level form of get_accumulateExternal_disjoint.
Matrix-level form of get_accumulate_disjoint.