code-comments
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Fri, 29 Sep 2023 18:31:38 +0000 (19:31 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Fri, 29 Sep 2023 18:31:38 +0000 (19:31 +0100)
src/openpower/test/bigint/powmod.py

index 72fc239c57b35b96d4547d7a62b11a85042f9491..8cdeeabdbf38d58a2a0c667bb987eabaa373e491 100644 (file)
@@ -111,14 +111,15 @@ def python_mul_algorithm2(a, b):
             iyl.append((iy+i, i==4))
             il.append(i)
 
-    y = [0] * 8
-    t = [0] * 8
+    y = [0] * 8 # result y and temp t of same size
+    t = [0] * 8 # no need after this to set t[4] to zero
     for iy in range(4):
-        for i in range(4):
+        for i in range(4): # use t[iy+4] as a 64-bit carry
             t[iy+i], t[iy+4] = maddedu(a[iy], b[i], t[iy+4])
         ca = 0
-        for i in range(5):
-            y[iy + i], ca = adde(y[iy + i], t[iy+i], ca)
+        for i in range(5): # add vec t to y with 1-bit carry
+            idx = iy + i
+            y[idx], ca = adde(y[idx], t[idx], ca)
     return y