Gfm.gfm.mul.go: def of bend-osdev-gf@0.1.1.0 Import: import bend-osdev-gf@0.1.1.0/gfm.bend as Gfm Lines 61-67 of bend-osdev-gf@0.1.1.0/gfm.bend: https://jend.leeeet.dev/read.txt?path=bend-osdev-gf@0.1.1.0/gfm.bend&start_line=61&end_line=67 import Base # the product, over the m bits of b from the bottom: p += a * bit; a *= x def gfm.mul.go(n: Nat, +m: Nat, +poly: U32, +a: U32, +b: U32, p: U32) -> U32: match n: case 0n: p case 1n+k: gfm.mul.go(k, m, poly, gfm.x(m, poly, a), U32.shr(b), U32.xor(p, U32.and(a, gfm.mask(b)))) Uses (7): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32 https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.and https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.shr https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.xor https://jend.leeeet.dev/definition.txt?path=bend-osdev-gf@0.1.1.0/gfm.bend&name=gfm.mask https://jend.leeeet.dev/definition.txt?path=bend-osdev-gf@0.1.1.0/gfm.bend&name=gfm.x