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.