Author: mattip <[email protected]>
Branch: propogate-nans
Changeset: r80566:16bd20ba340b
Date: 2015-11-06 15:16 +0200
http://bitbucket.org/pypy/pypy/changeset/16bd20ba340b/

Log:    support 32 bit (arigato)

diff --git a/rpython/rlib/rstruct/ieee.py b/rpython/rlib/rstruct/ieee.py
--- a/rpython/rlib/rstruct/ieee.py
+++ b/rpython/rlib/rstruct/ieee.py
@@ -65,10 +65,10 @@
             result = rfloat.INFINITY
         else:
             # preserve mant value but pad w/zeros
-            exp = 0x7ff << 52
-            sign = sign << 63
-            mant = mant << (53 - MANT_DIG)
-            uint = r_ulonglong(exp) | r_ulonglong(mant) | r_ulonglong(sign)
+            exp = r_ulonglong(0x7ff) << 52
+            sign = r_ulonglong(sign) << 63
+            mant = r_ulonglong(mant) << (53 - MANT_DIG)
+            uint = exp | mant | sign
             result =  longlong2float(cast(LONGLONG, uint))
             return result
     elif exp == 0:
@@ -113,8 +113,8 @@
         if mant == 0:
             result = rfloat.INFINITY
         else:
-            exp = 0x7ff << 52
-            uint = r_ulonglong(exp) | r_ulonglong(mant) | r_ulonglong(sign)
+            exp = r_ulonglong(0x7ff) << 52
+            uint = exp | r_ulonglong(mant) | r_ulonglong(sign)
             result =  longlong2float(cast(LONGLONG, uint))
             return result
     else:
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to