Author: David Schneider <david.schnei...@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") _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit