(no commit message)
authorlkcl <lkcl@web>
Tue, 19 Apr 2022 17:17:35 +0000 (18:17 +0100)
committerIkiWiki <ikiwiki.info>
Tue, 19 Apr 2022 17:17:35 +0000 (18:17 +0100)
openpower/sv/biginteger.mdwn

index 670c8dc24d3fefd8e6e225854e5ff60bb2d7f104..9a7fb0388ba5c925f6798ba45caa3e2233ce3a09 100644 (file)
@@ -90,4 +90,15 @@ purpose.
     RT = lowerhalf(product)
     RC = upperhalf(product)
 
-Successive iterations effectively use RC as a 64-bit carry.
+Successive iterations effectively use RC as a 64-bit carry, and
+as noted by Intel in their notes on mulx,
+RA*RB+RC+RD cannot overflow, so does not require
+setting an additional CA flag.
+
+## Divide
+
+The simplest implementation of big-int divide is the standard textbook
+"Long Division", set with RADIX 64 instead of Base 10. Donald Knuth's
+Algorithm D performs estimates which, if wrong, are compensated for
+afterwards.  Essentially however there are three phases:
+