Slight tweak to get the executor routine down to 57-65 cycles on CM0

This commit is contained in:
2022-04-26 19:53:03 +02:00
parent 1e1cac4f06
commit 88d9f762d5

View File

@@ -37,9 +37,16 @@ impl CommandQueue {
// Note that step_late needs to be called as well to advance the segment.
pub fn step_early(&mut self) -> bool {
let cur_segment = &mut self.segments[self.cur_segment as usize];
let cur_segment = unsafe { self.segments.get_unchecked_mut(self.cur_segment as usize) };
self.p.0 = (self.p + cur_segment.delta[0]).0.rem_euclid(self.step_size);
self.p.0 = (self.p + cur_segment.delta[0]).0;
if self.p.0 > self.step_size {
self.p.0 -= self.step_size;
} else if self.p.0 < 0 {
self.p.0 += self.step_size;
}
cur_segment.delta[0] += cur_segment.delta[1];
cur_segment.delta[1] += cur_segment.delta[2];