Author: Armin Rigo <[email protected]> Branch: Changeset: r50179:ed550a1d0c11 Date: 2011-12-05 20:07 +0100 http://bitbucket.org/pypy/pypy/changeset/ed550a1d0c11/
Log: Add a test that I wrote long ago, but apparently forgot to check in. diff --git a/pypy/jit/metainterp/test/test_math.py b/pypy/jit/metainterp/test/test_math.py new file mode 100644 --- /dev/null +++ b/pypy/jit/metainterp/test/test_math.py @@ -0,0 +1,47 @@ +import math +from pypy.jit.metainterp.test.support import LLJitMixin, OOJitMixin +from pypy.rlib.rfloat import isinf, isnan, INFINITY, NAN + +class MathTests: + + def test_math_sqrt(self): + def f(x): + try: + return math.sqrt(x) + except ValueError: + return -INFINITY + + res = self.interp_operations(f, [0.0]) + assert res == 0.0 + self.check_operations_history(call_pure=1) + # + res = self.interp_operations(f, [25.0]) + assert res == 5.0 + self.check_operations_history(call_pure=1) + # + res = self.interp_operations(f, [-0.0]) + assert str(res) == '-0.0' + self.check_operations_history(call_pure=1) + # + res = self.interp_operations(f, [1000000.0]) + assert res == 1000.0 + self.check_operations_history(call_pure=1) + # + res = self.interp_operations(f, [-1.0]) + assert res == -INFINITY + self.check_operations_history(call_pure=0) + # + res = self.interp_operations(f, [INFINITY]) + assert isinf(res) and not isnan(res) and res > 0.0 + self.check_operations_history(call_pure=0) + # + res = self.interp_operations(f, [NAN]) + assert isnan(res) and not isinf(res) + self.check_operations_history(call_pure=0) + + +class TestOOtype(MathTests, OOJitMixin): + pass + +class TestLLtype(MathTests, LLJitMixin): + pass _______________________________________________ pypy-commit mailing list [email protected] http://mail.python.org/mailman/listinfo/pypy-commit
