Exemple #1
0
 def test_if_assign1(self):
   x = il.Var('x')
   y = il.Var('y')
   exp = il.begin(il.Assign(x, il.Integer(1)), 
                  il.if_(y, il.Assign(x, il.Integer(2)), x))
   result = optimize(exp)
   expect = il.begin(il.Assign(x, il.Integer(1)), 
                  il.if_(y, il.Assign(x, il.Integer(2)), 1))
   eq_(result, expect)
   eq_(result.statements[0]._removed, il.unknown)
   eq_(result.statements[0].removed(), True)
Exemple #2
0
 def test_if_assign1(self):
     x = il.Var('x')
     y = il.Var('y')
     exp = il.begin(il.Assign(x, il.Integer(1)),
                    il.if_(y, il.Assign(x, il.Integer(2)), x))
     result = optimize(exp)
     expect = il.begin(il.Assign(x, il.Integer(1)),
                       il.if_(y, il.Assign(x, il.Integer(2)), 1))
     eq_(result, expect)
     eq_(result.statements[0]._removed, il.unknown)
     eq_(result.statements[0].removed(), True)
Exemple #3
0
 def test_if_assign7(self):
   x = il.Var('x')
   y = il.Var('y')
   exp = il.begin(il.Assign(x, il.Integer(1)), 
                  il.if_(y, il.Assign(x, il.Integer(2)), 
                         il.Assign(x, il.Integer(3))),
                  il.Assign(y, il.add(x, il.Integer(3))),
                  il.Prin(y), 
                  )
   result = optimize(exp)
   expect = il.begin(il.Assign(x, il.Integer(1)), 
                  il.if_(y, il.Assign(x, il.Integer(2)), 
                         il.Assign(x, il.Integer(3))),
                  il.Assign(y, il.add(x, il.Integer(3))),
                  il.Prin(y), 
                  )
   eq_(result, expect)
   eq_(result.statements[0].removed(), True)
   eq_(result.statements[1].then.removed(), False)
Exemple #4
0
 def test_if_assign7(self):
     x = il.Var('x')
     y = il.Var('y')
     exp = il.begin(
         il.Assign(x, il.Integer(1)),
         il.if_(y, il.Assign(x, il.Integer(2)), il.Assign(x,
                                                          il.Integer(3))),
         il.Assign(y, il.add(x, il.Integer(3))),
         il.Prin(y),
     )
     result = optimize(exp)
     expect = il.begin(
         il.Assign(x, il.Integer(1)),
         il.if_(y, il.Assign(x, il.Integer(2)), il.Assign(x,
                                                          il.Integer(3))),
         il.Assign(y, il.add(x, il.Integer(3))),
         il.Prin(y),
     )
     eq_(result, expect)
     eq_(result.statements[0].removed(), True)
     eq_(result.statements[1].then.removed(), False)
Exemple #5
0
 def test_if_assign3(self):
   x = il.Var('x')
   y = il.Var('y')
   exp = il.begin(il.Assign(x, il.Integer(1)), 
                  il.if_(y, il.Assign(x, il.Integer(2)), 
                         il.Assign(x, il.Integer(3))),
                  il.Assign(x, il.Integer(4)))
   result = optimize(exp)
   expect = exp
   eq_(result, expect)
   eq_(result.statements[0].removed(), True)
   eq_(result.statements[1].then.removed(), True)
   eq_(result.statements[1].else_._removed, True)
   eq_(result.statements[1].else_.removed(), True)
Exemple #6
0
 def test_if_assign3(self):
     x = il.Var('x')
     y = il.Var('y')
     exp = il.begin(
         il.Assign(x, il.Integer(1)),
         il.if_(y, il.Assign(x, il.Integer(2)), il.Assign(x,
                                                          il.Integer(3))),
         il.Assign(x, il.Integer(4)))
     result = optimize(exp)
     expect = exp
     eq_(result, expect)
     eq_(result.statements[0].removed(), True)
     eq_(result.statements[1].then.removed(), True)
     eq_(result.statements[1].else_._removed, True)
     eq_(result.statements[1].else_.removed(), True)
Exemple #7
0
 def test_if_4(self):
     eq_(optimize(il.if_(1, 2, 3)), il.Integer(2))
     eq_(optimize(il.if_(0, 2, 3)), il.Integer(3))
Exemple #8
0
 def test_if_3(self):
     x = il.Var('x')
     result = optimize(il.if_(x, il.if_(x, 2, 3), il.if_(x, 4, 5)))
     expect = il.if_(x, 2, 5)
     eq_(result, expect)
Exemple #9
0
 def test_if_2(self):
     x = il.Var('x')
     result = optimize(il.if_(x, 2, il.if_(x, 3, 4)))
     expect = il.if_(x, 2, 4)
     eq_(result, expect)
Exemple #10
0
 def test_if_4(self):
   eq_(optimize(il.if_(1, 2, 3)), il.Integer(2))
   eq_(optimize(il.if_(0, 2, 3)), il.Integer(3))
Exemple #11
0
 def test_if_3(self):
   x = il.Var('x')
   result = optimize(il.if_(x, il.if_(x, 2, 3), il.if_(x, 4, 5)))
   expect = il.if_(x, 2, 5)
   eq_(result, expect)
Exemple #12
0
 def test_if_2(self):
   x = il.Var('x')
   result = optimize(il.if_(x, 2, il.if_(x, 3, 4)))
   expect = il.if_(x, 2, 4)
   eq_(result, expect)