hmmm... experimenting...
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Mon, 29 Apr 2019 13:42:57 +0000 (14:42 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Mon, 29 Apr 2019 13:42:57 +0000 (14:42 +0100)
src/add/fsqrt.py

index 5aaec4c37be8a52f55f8af742324e3143a2ce1a7..4c6d07c6aec6f451d4ac1a3acd447dc019f71150 100644 (file)
@@ -85,6 +85,27 @@ def main(mantissa, exponent):
     return sqrt(mantissa), (exponent >> 1)
 
 
+def fsqrt_test(x):
+
+    xbits = x.bits
+    print ("x", x, type(x))
+    sq_test = x.sqrt()
+    print ("sqrt", sq_test)
+
+    print (xbits, type(xbits))
+    s, e, m = decode_fp32(xbits)
+    print("x decode", s, e, m, hex(m))
+
+    #m |= 1<<23
+
+    sm, se = main(m, e)
+    print("our  sqrt", s, se, sm, hex(sm), bin(sm))
+
+    sq_xbits = sq_test.bits
+    s, e, m = decode_fp32(sq_xbits)
+    print ("sf32 sqrt", s, e, m, hex(m), bin(m))
+    print ()
+
 if __name__ == '__main__':
 
     # quick test up to 1000 of two sqrt functions
@@ -100,20 +121,10 @@ if __name__ == '__main__':
             print("m:%d e:%d sqrt: m:%d e:%d" % (m, e, ms, es))
 
     x = Float32(1234.123456789)
-    xbits = x.bits
-
-    print (x, type(x))
-    print (xbits, type(xbits))
-    s, e, m = decode_fp32(xbits)
-    print(s, e, m, hex(m))
+    fsqrt_test(x)
+    x = Float32(8.0)
+    fsqrt_test(x)
 
-    se, sm = main(e, m)
-    print("our  sqrt", s, se, sm, hex(sm), bin(sm))
-
-    sq_test = x.sqrt()
-    sq_xbits = sq_test.bits
-    s, e, m = decode_fp32(sq_xbits)
-    print ("sf32 sqrt", s, e, m, hex(m), bin(m))
 """
 
 Notes: