Skip to main content

beat_capture_depths

Function beat_capture_depths 

Source
pub fn beat_capture_depths(
    period: u32,
    captures: &[u32],
) -> Result<Vec<u32>, String>
Expand description

The results each slot of a beat schedule must be able to hold. The harness folds one result per cycle in operation order, so a slot whose result arrives while an earlier slot of its call is still outstanding waits — and when the call after it delivers that slot again before the fold reaches it (results handed back last first), the slot queues two. Found by running the schedule itself: slot j of call n is captured at n * period + captures[j] and folded once every earlier result has been. A schedule that brings more results per call than a call has cycles outruns the fold and is refused.