(no commit message)
authorlkcl <lkcl@web>
Sun, 6 Mar 2022 07:57:00 +0000 (07:57 +0000)
committerIkiWiki <ikiwiki.info>
Sun, 6 Mar 2022 07:57:00 +0000 (07:57 +0000)
openpower/sv/bitmanip.mdwn

index b7a54c7ffcd5b64e3b1d6bbefeec9ed9c11b1909..8986924641f5adeec5b23220d9066a8281f897ce 100644 (file)
@@ -664,10 +664,12 @@ def gf_degree(a) :
   return res
 
 def gf_invert(a, mod=0x1B) :
+
+  mod_degree = gf_degree(mod)
   v = mod
   g1 = 1
   g2 = 0
-  j = gf_degree(a) - 8
+  j = gf_degree(a) - mod_degree
 
   while (a != 1) :
     if (j < 0) :
@@ -678,8 +680,8 @@ def gf_invert(a, mod=0x1B) :
     a ^= v << j
     g1 ^= g2 << j
 
-    a %= 256  # Emulating 8-bit overflow
-    g1 %= 256 # Emulating 8-bit overflow
+    a %= (1<<mod_degree)  # Emulating 8-bit overflow
+    g1 %= (1<<mod_degree) # Emulating 8-bit overflow
 
     j = gf_degree(a) - gf_degree(v)