Esempio n. 1
0
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)
Esempio n. 3
0
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