[pypy-commit] pypy default: add runner tests for cast_int_to_float and cast_float_to_int
bivab
noreply at buildbot.pypy.org
Wed Jun 5 10:13:47 CEST 2013
Author: David Schneider <david.schneider at picle.org>
Branch:
Changeset: r64787:ca5c756f0e50
Date: 2013-06-05 03:10 -0500
http://bitbucket.org/pypy/pypy/changeset/ca5c756f0e50/
Log: add runner tests for cast_int_to_float and cast_float_to_int
diff --git a/rpython/jit/backend/test/runner_test.py b/rpython/jit/backend/test/runner_test.py
--- a/rpython/jit/backend/test/runner_test.py
+++ b/rpython/jit/backend/test/runner_test.py
@@ -1911,6 +1911,29 @@
[BoxPtr(x)], 'int').value
assert res == -19
+ def test_cast_int_to_float(self):
+ if not self.cpu.supports_floats:
+ py.test.skip("requires floats")
+ for x in [-10, -1, 0, 3, 42, sys.maxint-1]:
+ res = self.execute_operation(rop.CAST_INT_TO_FLOAT,
+ [BoxInt(x)], 'float').value
+ assert longlong.getrealfloat(res) == float(x)
+ res = self.execute_operation(rop.CAST_INT_TO_FLOAT,
+ [ConstInt(x)], 'float').value
+ assert longlong.getrealfloat(res) == float(x)
+
+ def test_cast_float_to_int(self):
+ if not self.cpu.supports_floats:
+ py.test.skip("requires floats")
+ for x in [-24.23, -5.3, 0.0, 3.1234, 11.1, 0.1]:
+ v = longlong.getfloatstorage(x)
+ res = self.execute_operation(rop.CAST_FLOAT_TO_INT,
+ [BoxFloat(v)], 'int').value
+ assert res == int(x)
+ res = self.execute_operation(rop.CAST_FLOAT_TO_INT,
+ [ConstFloat(v)], 'int').value
+ assert res == int(x)
+
def test_convert_float_bytes(self):
if not self.cpu.supports_floats:
py.test.skip("requires floats")
More information about the pypy-commit
mailing list