def test_simple(): p = Program() p.create_decrement_component() p.create_decrement_component() p.create_increment_component() p.create_increment_component() print('Simple increment program:') ProgramSynthesis(p, BVT.Psimple_inc, 'Simple').timed_synthesis()
def test_simple(): p = Program() p.create_decrement_component() p.create_decrement_component() p.create_increment_component() p.create_increment_component() print('Increment:') timed_synthesis(p, BVT.Psimple)
def test_P20(): print('P20 program, determine if power of 2:') p = Program() p.create_decrement_component() p.create_and_component() p.create_bvredor_component() p.create_or_component() p.create_bitshiftright_component(BV_LENGTH - 1) ProgramSynthesis(p, BVT.P20, 'P20', timeout=20000).timed_synthesis()
def P8_bitshiftleft1(): p = Program() p.create_decrement_component() p.create_not_component() p.create_and_component() p.create_bitshiftleft_component(1) p.create_bitshiftleft_component(1) p.create_bitshiftleft_component(1) return ProgramSynthesis(p, BVT.P8, 'P8 BitShiftL1')
def P8_xor(): p = Program() p.create_decrement_component() p.create_not_component() p.create_and_component() p.create_xor_component() p.create_xor_component() p.create_xor_component() return ProgramSynthesis(p, BVT.P8, 'P8 Xor')
def P8_increment(): p = Program() p.create_decrement_component() p.create_not_component() p.create_and_component() p.create_increment_component() p.create_increment_component() p.create_increment_component() return ProgramSynthesis(p, BVT.P8, 'P8 Increment')
def P8_divide(): p = Program() p.create_decrement_component() p.create_not_component() p.create_and_component() p.create_divide_component() p.create_divide_component() p.create_divide_component() return ProgramSynthesis(p, BVT.P8, 'P8 Divide')
def inc_dec_and_or_with(comp, number): p = Program() p.create_increment_component() p.create_decrement_component() p.create_and_component() p.create_or_component() for _ in range(number): comp(p) return p
def first8_program_no_xor(): p = Program() p.create_increment_component() p.create_decrement_component() p.create_and_component() # p.create_negate_component() # p.create_xor_component() p.create_or_component() p.create_not_component() return p
def shortestComparison_P7(): ps = [] p = Program(num_prog_inputs=1) p.create_not_component() p.create_increment_component() p.create_and_component() p.create_or_component() p.create_decrement_component() p.create_and_component() oracle = BVT.P7 ps_short = ProgramSynthesis(p, oracle, 'Shortest') ps_short.find_shortest_program = True ps.append(ps_short) ps_no_short = ProgramSynthesis(p, oracle, 'No Shortest') ps_no_short.find_shortest_program = False ps.append(ps_no_short) return ps
def shortestComparison_P1(): ps = [] p = Program() p.create_decrement_component() p.create_and_component() p.create_xor_component() p.create_xor_component() p.create_decrement_component() p.create_add_component() oracle = BVT.P1 ps_short = ProgramSynthesis(p, oracle, 'Shortest') ps_short.find_shortest_program = True ps.append(ps_short) ps_no_short = ProgramSynthesis(p, oracle, 'No Shortest') ps_no_short.find_shortest_program = False ps.append(ps_no_short) return ps
def shortestComparison_P20(): ps = [] p = Program(num_prog_inputs=1) p.create_decrement_component() p.create_bitshiftright_component(BV_LENGTH - 1) p.create_and_component() p.create_bvredor_component() p.create_or_component() p.create_and_component() p.create_add_component() oracle = BVT.P20 ps_short = ProgramSynthesis(p, oracle, 'Shortest') ps_short.find_shortest_program = True ps.append(ps_short) ps_no_short = ProgramSynthesis(p, oracle, 'No Shortest') ps_no_short.find_shortest_program = False ps.append(ps_no_short) return ps