Fix exponent offsets
[ieee754fpu.git] / src / ieee754 / fpsqrt / fsqrt.py
index 5ae2bb253fa1356ec89f2960930b884faf51a2db..3f63ce780fce0056db0b8937ad4de335024f8faa 100644 (file)
@@ -92,17 +92,16 @@ def normalise(s, m, e, lowbits):
     #if the num is NaN, then adjust (normalised NaN rather than de-normed NaN)
     if (e == 128 & m !=0):
         # these are in IEEE754 format, this function returns s,e,m not z
-        z[31] = 1       # sign (so, s=1)
-        z[30:23] = 255  # exponent (minus 128, so e = 127
-        z[22] = 1       # high bit of mantissa, so m = 1<<22 i think
-        z[21:0] = 0     # rest of mantissa is zero, so m = 1<<22 is good.
+        s = 1           # sign (so, s=1)
+        e = 128         # exponent (minus 127, so e = 128
+        m = 1<<22     # high bit of mantissa, so m = 1<<22 i think
 
     #if the num is Inf, then adjust (to normalised +/-INF)
     if (e == 128):
         # these are in IEEE754 format, this function returns s,e,m not z
-        z[31] = s       # s is already s, so do nothing to s.
-        z[30:23] = 255  # have to subtract 128, so e = 127 (again)
-        z[22:0] = 0     # mantissa... so m=0
+        s = 1       # s is already s, so do nothing to s.
+        e = 128  # have to subtract 127, so e = 128 (again)
+        m = 0     # mantissa... so m=0
 
     return s, m, e