99
1010import amici
1111import sympy as sp
12+ from amici .testing import skip_on_valgrind
1213
1314
15+ @skip_on_valgrind
1416def test_SplineUniform ():
1517 spline = amici .splines .CubicHermiteSpline (
1618 sbml_id = "f" ,
@@ -27,6 +29,7 @@ def test_SplineUniform():
2729 assert math .isclose (float (spline .evaluate (1.00 )), 1.0 )
2830
2931
32+ @skip_on_valgrind
3033def test_SplineNonUniform ():
3134 spline = amici .splines .CubicHermiteSpline (
3235 sbml_id = "f" ,
@@ -43,6 +46,7 @@ def test_SplineNonUniform():
4346 assert math .isclose (float (spline .evaluate (1.00 )), 1.0 )
4447
4548
49+ @skip_on_valgrind
4650def test_SplineExplicit ():
4751 spline = amici .splines .CubicHermiteSpline (
4852 sbml_id = "f" ,
@@ -62,6 +66,7 @@ def test_SplineExplicit():
6266 assert math .isclose (float (spline .evaluate (1.00 )), 0.75 )
6367
6468
69+ @skip_on_valgrind
6570def test_SplineZeroBC ():
6671 spline = amici .splines .CubicHermiteSpline (
6772 sbml_id = "f" ,
@@ -77,6 +82,7 @@ def test_SplineZeroBC():
7782 assert math .isclose (float (spline .evaluate (1.00 )), 1.0 )
7883
7984
85+ @skip_on_valgrind
8086def test_SplineLogarithmic ():
8187 spline = amici .splines .CubicHermiteSpline (
8288 sbml_id = "f" ,
@@ -96,6 +102,7 @@ def test_SplineLogarithmic():
96102 assert math .isclose (float (spline .evaluate (1.00 )), 0.75 )
97103
98104
105+ @skip_on_valgrind
99106def test_SplineUniformConstantExtrapolation ():
100107 spline = amici .splines .CubicHermiteSpline (
101108 sbml_id = "f" ,
@@ -117,6 +124,7 @@ def test_SplineUniformConstantExtrapolation():
117124 assert math .isclose (float (spline .evaluate (3.00 )), 1.0 )
118125
119126
127+ @skip_on_valgrind
120128def test_SplineUniformLinearExtrapolation ():
121129 spline = amici .splines .CubicHermiteSpline (
122130 sbml_id = "f" ,
@@ -138,6 +146,7 @@ def test_SplineUniformLinearExtrapolation():
138146 assert math .isclose (float (spline .evaluate (3.00 )), 4.0 )
139147
140148
149+ @skip_on_valgrind
141150def test_SplineUniformPolynomialExtrapolation ():
142151 spline = amici .splines .CubicHermiteSpline (
143152 sbml_id = "f" ,
@@ -159,6 +168,7 @@ def test_SplineUniformPolynomialExtrapolation():
159168 assert math .isclose (float (spline .evaluate (3.00 )), - 248.0 )
160169
161170
171+ @skip_on_valgrind
162172def test_SplineUniformPeriodicExtrapolation ():
163173 spline = amici .splines .CubicHermiteSpline (
164174 sbml_id = "f" ,
@@ -180,6 +190,7 @@ def test_SplineUniformPeriodicExtrapolation():
180190 assert math .isclose (float (spline .evaluate (2.75 )), 0.47265625 )
181191
182192
193+ @skip_on_valgrind
183194def test_SplineNonUniformPeriodicExtrapolation ():
184195 spline = amici .splines .CubicHermiteSpline (
185196 sbml_id = "f" ,
@@ -201,13 +212,15 @@ def test_SplineNonUniformPeriodicExtrapolation():
201212 assert math .isclose (float (spline .evaluate (2.05 )), 1.5296875 )
202213
203214
215+ @skip_on_valgrind
204216def check_gradient (spline , t , params , params_values , expected , rel_tol = 1e-9 ):
205217 value = spline .evaluate (t )
206218 subs = {pname : pvalue for (pname , pvalue ) in zip (params , params_values )}
207219 for p , exp in zip (params , expected ):
208220 assert math .isclose (float (value .diff (p ).subs (subs )), exp , rel_tol = rel_tol )
209221
210222
223+ @skip_on_valgrind
211224def test_SplineUniformSensitivity ():
212225 params = (a , b , c ) = sp .symbols ("a b c" )
213226 params_values = [0.5 , 1.0 , 2.5 ]
@@ -230,6 +243,7 @@ def test_SplineUniformSensitivity():
230243 check_gradient (spline , 1.00 , params , params_values , [- 6.0 , 1.0 , 3.0 ])
231244
232245
246+ @skip_on_valgrind
233247def test_SplineNonUniformSensitivity ():
234248 params = (a , b , c ) = sp .symbols ("a b c" )
235249 params_values = [0.5 , 1.0 , 2.5 ]
@@ -250,6 +264,7 @@ def test_SplineNonUniformSensitivity():
250264 check_gradient (spline , 1.00 , params , params_values , [- 6.0 , 1.0 , 3.0 ])
251265
252266
267+ @skip_on_valgrind
253268def test_SplineExplicitSensitivity ():
254269 params = (a , b , c ) = sp .symbols ("a b c" )
255270 params_values = [0.5 , 1.0 , 2.5 ]
@@ -280,6 +295,7 @@ def test_SplineExplicitSensitivity():
280295 check_gradient (spline , 1.00 , params , params_values , [- 6.0 , 1.0 , 3.0 ])
281296
282297
298+ @skip_on_valgrind
283299def test_SplineLogarithmicSensitivity ():
284300 params = (a , b , c ) = sp .symbols ("a b c" )
285301 params_values = [0.5 , 1.0 , 2.5 ]
0 commit comments