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