class Launcher(object): def setup_logging(self): t = datetime.now() self.tstamp = '%d-%d-%d-%d-%d' % (t.year, t.month, t.day, t.hour, t.minute) fname = LOG_FILE_PATH + LOG_FILENAME + self.tstamp + '.log' logging.basicConfig(filename=fname,level=logging.INFO,format=FORMAT) def configure(self, p): print('constructing simulator') self.sim = Simulator(p['ins'], p['strat'], p['start_date'], p['end_date'], p['open_bal'], self.tstamp) def simulate(self): print('running simulator') start = clock() self.sim.run() end = clock() dur_str = 'seconds = %f' % (end - start) print(dur_str) logging.info('sim time = ' + dur_str) def report(self): print('plotting') start = clock() self.sim.plot() end = clock() dur_str = 'seconds = %f' % (end - start) print(dur_str) logging.info('plot time = ' + dur_str) def go(self, p): self.setup_logging() self.configure(p) self.simulate() self.report()
def run(): if (sys.argv[1] == "-advanced"): print "Running advanced simulations..." s = Simulator(2000, [1, 0.5, 0.25, 0.125]) s.simulate(Decoder.SUM_PROD) s.compute_error() s.save_results() s.plot('ro-') s.save_graph() s = Simulator(2000, [1, 0.5, 0.25, 0.125]) s.simulate(Decoder.MAX_PROD) s.compute_error() s.save_results() s.plot('g^--') s.save_graph() s = Simulator(1000, [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0]) s.simulate(Decoder.SUM_PROD) s.compute_error() s.save_results() s.plot('ro--') s.save_graph() s = Simulator(1000, [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0]) s.simulate(Decoder.MAX_PROD) s.compute_error() s.save_results() s.plot('g^--') s.save_graph() print "See graphs/advanced-run and stats/advanced-run for detailed results." else: print sys.argv print "Running default simulation at variance levels %(var)s with %(num)s codewords..." % \ {"var": [1, 0.5, 0.25, 0.125], "num": sys.argv[1]} s = Simulator(int(sys.argv[1]), [1, 0.5, 0.25, 0.125]) s.default_run()