def reset(self, seed=None): self.feq = FutureEventsQueue() self.clock = Clock() self.stats = Stats() if seed is not None: random.seed(seed) self.initialize()
def run(self, trials, duration, seed=None): overall_stats = Stats() for i in range(trials): self.reset(seed) while self.feq.has_events(): event = self.feq.next_event() self.clock.update(event.time) if self.clock.has_run(duration): break self.update() self.handle(event) self.finalize() self.update_averages(overall_stats) print "Completed trial %d/%d" % (i+1, trials) print return overall_stats