@@ -75,6 +75,10 @@ def test_Lambdify():
75
75
assert allclose (L (range (n , n + len (args ))),
76
76
[3 * n + 3 , n ** 2 , - 1 / (n + 2 ), n * (n + 1 )* (n + 2 )])
77
77
78
+ @unittest .skipUnless (have_numpy , "Numpy not installed" )
79
+ def test_Lambdify_with_opt_level ():
80
+ args = x , y , z = se .symbols ('x y z' )
81
+ raises (TypeError , lambda : se .Lambdify (args , [x + y + z , x ** 2 , (x - y )/ z , x * y * z ], backend = 'lambda' , opt_level = 0 ))
78
82
79
83
def _test_Lambdify_Piecewise (Lambdify ):
80
84
x = se .symbols ('x' )
@@ -91,7 +95,6 @@ def test_Lambdify_Piecewise():
91
95
if se .have_llvm :
92
96
_test_Lambdify_Piecewise (lambda * args : se .Lambdify (* args , backend = 'llvm' ))
93
97
94
-
95
98
@unittest .skipUnless (have_numpy , "Numpy not installed" )
96
99
def test_Lambdify_LLVM ():
97
100
n = 7
@@ -105,6 +108,19 @@ def test_Lambdify_LLVM():
105
108
assert allclose (L (range (n , n + len (args ))),
106
109
[3 * n + 3 , n ** 2 , - 1 / (n + 2 ), n * (n + 1 )* (n + 2 )])
107
110
111
+ @unittest .skipUnless (have_numpy , "Numpy not installed" )
112
+ def test_Lambdify_LLVM_with_opt_level ():
113
+ for opt_level in range (4 ):
114
+ n = 7
115
+ args = x , y , z = se .symbols ('x y z' )
116
+ if not se .have_llvm :
117
+ raises (ValueError , lambda : se .Lambdify (args , [x + y + z , x ** 2 ,
118
+ (x - y )/ z , x * y * z ],
119
+ backend = 'llvm' , opt_level = opt_level ))
120
+ raise SkipTest ("No LLVM support" )
121
+ L = se .Lambdify (args , [x + y + z , x ** 2 , (x - y )/ z , x * y * z ], backend = 'llvm' , opt_level = opt_level )
122
+ assert allclose (L (range (n , n + len (args ))),
123
+ [3 * n + 3 , n ** 2 , - 1 / (n + 2 ), n * (n + 1 )* (n + 2 )])
108
124
109
125
def _get_2_to_2by2 ():
110
126
args = x , y = se .symbols ('x y' )
0 commit comments