Exemplo n.º 1
0
 def test_add(self):
     comp = jit.AstCompiler("""
     def foo(a, b):
         return a+b
     """)
     fn = comp.compile()
     assert fn(3, 4) == 7
Exemplo n.º 2
0
 def test_arguments(self):
     comp = jit.AstCompiler("""
     def foo(a, b):
         return b
     """)
     fn = comp.compile()
     assert fn(3, 4) == 4
Exemplo n.º 3
0
 def test_simple(self):
     comp = jit.AstCompiler("""
     def foo():
         return 100
     """)
     fn = comp.compile()
     assert fn() == 100
Exemplo n.º 4
0
 def test_empty(self):
     comp = jit.AstCompiler("""
     def foo():
         pass
     """)
     fn = comp.compile()
     assert fn() == 0
Exemplo n.º 5
0
 def test_assign(self):
     comp = jit.AstCompiler("""
     def foo(a):
         b = a + 1
         return b
     """)
     fn = comp.compile()
     assert fn(41) == 42
Exemplo n.º 6
0
 def test_binops(self):
     comp = jit.AstCompiler("""
     def foo(a, b):
         return (a-b) + (a*b) - (a/b)
     """)
     fn = comp.compile()
     res = (3 - 4) + (3 * 4) - (3.0 / 4)
     assert fn(3, 4) == res
Exemplo n.º 7
0
 def test_if(self):
     comp = jit.AstCompiler("""
     def foo(a):
         if a < 0:
             return 0-a
         return a
     """)
     fn = comp.compile()
     assert fn(-42) == 42
     assert fn(42) == 42
Exemplo n.º 8
0
 def test_while(self):
     comp = jit.AstCompiler("""
     def foo(a):
         tot = 0
         i = 0
         while i < a:
             tot = tot + i
             i = i + 1
         return tot
     """)
     fn = comp.compile()
     assert fn(5) == 1 + 2 + 3 + 4