Gf128.gf128.gcm.bit: def of bend-osdev-gf@0.1.1.0 Import: import bend-osdev-gf@0.1.1.0/gf128.bend as Gf128 Lines 124-126 of bend-osdev-gf@0.1.1.0/gf128.bend: https://jend.leeeet.dev/read.txt?path=bend-osdev-gf@0.1.1.0/gf128.bend&start_line=124&end_line=126 import Base def gf128.gcm.bit(+x: U32, zv: Gf128 & Gf128) -> Gf128 & Gf128: (z, +v) = zv (Gf128.xor(z, Gf128.and_mask(v, gf128.mask(U32.shrn(x, 31n)))), Gf128.mul_x_gcm(v)) Uses (9): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Pair https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Sigma https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32 https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.shrn https://jend.leeeet.dev/definition.txt?path=bend-osdev-gf@0.1.1.0/gf128.bend&name=Gf128 https://jend.leeeet.dev/definition.txt?path=bend-osdev-gf@0.1.1.0/gf128.bend&name=Gf128.and_mask https://jend.leeeet.dev/definition.txt?path=bend-osdev-gf@0.1.1.0/gf128.bend&name=Gf128.mul_x_gcm https://jend.leeeet.dev/definition.txt?path=bend-osdev-gf@0.1.1.0/gf128.bend&name=Gf128.xor https://jend.leeeet.dev/definition.txt?path=bend-osdev-gf@0.1.1.0/gf128.bend&name=gf128.mask