[pypy-commit] pypy default: Add a test that I wrote long ago, but apparently forgot to check in.
arigo
noreply at buildbot.pypy.org
Mon Dec 5 20:07:39 CET 2011
Author: Armin Rigo <arigo at tunes.org>
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
More information about the pypy-commit
mailing list