def main(): t1 = time.time() wc_smt_files = get_smt2_files() wc_path_conditions = read_wc_path_constraints(wc_smt_files) # for c in wc_path_conditions[4]: # print c # build model path_analyzer = pa.PathAnalyzer(wc_path_conditions) path_analyzer.buildModel() t2 = time.time() large_scale = int(sys.argv[1]) [pc, sym_store, arrays] = path_analyzer.genScaleTest(large_scale) pc = pc + genInitialConstraints(sym_store, arrays) # for c in pc: # print c # writeSolutionToFile(sol, large_scale) input_N = path_analyzer.solve(pc) writeSolutionToFile(input_N, large_scale) t3 = time.time() print "Model build time = ", t2 - t1 print "Prediction time = ", t3 - t2
for j in range(0, scale): val = int(lines[line_count]) wc_input[i].append(val) line_count += 1 wc_inputs.append(wc_input) # run program for these inputs for wc_input in wc_inputs: result = dijkstra(wc_input, 0, len(wc_input)) wc_expressions.append(result[1]) path_analyzer = pa.PathAnalyzer(wc_expressions) path_analyzer.buildModel() t2 = time.time() # prediction N = int(sys.argv[1]) [pc_N, sym_store_N, arrays] = path_analyzer.genScaleTest(N) # add initial conditions pc_N = pc_N + getInitConditions(sym_store_N, N+2) input_N = path_analyzer.solve(pc_N) writeSolutionToFile(input_N, N) t3 = time.time() print "Model build time = ", t2-t1