def start(self): # Inicializa a barra usada para medir o progresso do simulador # Ela é contabilizada de acordo com o valor do menor intervalo de confiança encontrado a cada rodada, # Chegando a 100% quando o intervalo chega a 10% da média do estimador # Mostrada quando o simulador não está definido na forma de teste if not(self.test): prog = ProgressBar(0, 0.9, 77, mode='fixed', char='#') print "Processando as rodadas:" print prog, '\r', sys.stdout.flush() # Loop principal do simulador. # Termina quando todos os intervalos de confiança forem menores que 10% da média do estimador. while not(self.valid_confidence_interval()): # Loop de cada rodada, processa um evento a cada iteração. while len(self.clients) <= self.total_clients: self.process_event() self.discard_clients() # Processa os dados gerados por uma rodada. self.process_sample() if self.samples > 1: self.calc_results() prog.update_amount(max(prog.amount, self.pb_amount())) print prog, '\r', self.samples += 1 sys.stdout.flush() # Linha para forçar o teste a executar apenas 1 rodada. if self.test: break print