fix: cache calculation
This commit is contained in:
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user