[pypy-svn] r67539 - in pypy/trunk/pypy/jit/metainterp: . test

arigo at codespeak.net arigo at codespeak.net
Sun Sep 6 00:17:58 CEST 2009


Author: arigo
Date: Sun Sep  6 00:17:57 2009
New Revision: 67539

Modified:
   pypy/trunk/pypy/jit/metainterp/codewriter.py
   pypy/trunk/pypy/jit/metainterp/test/test_float.py
Log:
(pedronis, arigo)
cast_bool_to_float.


Modified: pypy/trunk/pypy/jit/metainterp/codewriter.py
==============================================================================
--- pypy/trunk/pypy/jit/metainterp/codewriter.py	(original)
+++ pypy/trunk/pypy/jit/metainterp/codewriter.py	Sun Sep  6 00:17:57 2009
@@ -613,6 +613,9 @@
     def serialize_op_uint_xor(self, op): self._defl(op, 'int_xor')
     def serialize_op_uint_lshift(self, op): self._defl(op, 'int_lshift')
 
+    def serialize_op_cast_bool_to_float(self, op):
+        self.default_serialize_op(op, 'cast_int_to_float')
+
     serialize_op_unichar_eq = serialize_op_char_eq
     serialize_op_unichar_ne = serialize_op_char_ne
 

Modified: pypy/trunk/pypy/jit/metainterp/test/test_float.py
==============================================================================
--- pypy/trunk/pypy/jit/metainterp/test/test_float.py	(original)
+++ pypy/trunk/pypy/jit/metainterp/test/test_float.py	Sun Sep  6 00:17:57 2009
@@ -9,6 +9,14 @@
         res = self.interp_operations(f, [41.5, 2.25, 17.5, 3.0, 2.5])
         assert res == 31.5
 
+    def test_cast_bool_to_float(self):
+        def f(a):
+            return float(a == 12.0)
+        res = self.interp_operations(f, [41.5])
+        assert res == 0.0
+        res = self.interp_operations(f, [12.0])
+        assert res == 1.0
+
 
 class TestOOtype(FloatTests, OOJitMixin):
     pass



More information about the Pypy-commit mailing list