move normalise function, add lowbits param, call it
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Tue, 30 Apr 2019 20:54:18 +0000 (21:54 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Tue, 30 Apr 2019 20:54:18 +0000 (21:54 +0100)
src/add/fsqrt.py

index 8e11666705d85aedcdae3c07fa9bb76faee1994f..02449b0f75b41b0ba2e004711d9570ccca49ca3d 100644 (file)
@@ -80,6 +80,15 @@ def main(mantissa, exponent):
     return m, r, exponent >> 1
 
 
     return m, r, exponent >> 1
 
 
+#normalization function
+def normalise(s, m, e, lowbits):
+    if (lowbits >= 2):
+        m += 1
+    if get_mantissa(m) == ((1<<24)-1):
+        e += 1
+    return s, m, e
+
+
 def fsqrt_test(x):
 
     xbits = x.bits
 def fsqrt_test(x):
 
     xbits = x.bits
@@ -99,6 +108,9 @@ def fsqrt_test(x):
     sm >>= 2
     sm = get_mantissa(sm)
     #sm += 2
     sm >>= 2
     sm = get_mantissa(sm)
     #sm += 2
+
+    s, sm, se = normalise(s, sm, se, lowbits)
+
     print("our  sqrt", s, se, sm, hex(sm), bin(sm), "lowbits", lowbits,
                                                     "rem", hex(sr))
     if lowbits >= 2:
     print("our  sqrt", s, se, sm, hex(sm), bin(sm), "lowbits", lowbits,
                                                     "rem", hex(sr))
     if lowbits >= 2:
@@ -141,13 +153,6 @@ if __name__ == '__main__':
     fsqrt_test(x)
 
 
     fsqrt_test(x)
 
 
-#normalization function
-def normalise(s, m, e):
-    if (lowbits >= 2):
-        m += 1
-    if get_mantissa(m) == ((1<<24)-1):
-        e += 1
-
 
 
 """
 
 
 """