fix: cache calculation

This commit is contained in:
2026-04-15 17:31:39 +08:00
parent 365ceac3be
commit ff316c6873
23 changed files with 500 additions and 336 deletions

View File

@@ -56,7 +56,11 @@ impl EventQueue {
pub fn schedule(&mut self, time: f64, event: Event) {
let t = time.max(self.now);
self.seq += 1;
self.heap.push(Slot { time: t, seq: self.seq, event });
self.heap.push(Slot {
time: t,
seq: self.seq,
event,
});
}
pub fn pop(&mut self) -> Option<(f64, Event)> {
@@ -84,7 +88,12 @@ mod tests {
#[test]
fn pops_in_time_order() {
let mut q = EventQueue::new();
q.schedule(2.0, Event::BatchTick { instance: 0 as InstanceId });
q.schedule(
2.0,
Event::BatchTick {
instance: 0 as InstanceId,
},
);
q.schedule(1.0, Event::BatchTick { instance: 1 });
q.schedule(1.5, Event::BatchTick { instance: 2 });
let (t1, _) = q.pop().unwrap();