def Gf128.double_le

bend-osdev-gf@0.1.1.0 · gf128.bend:116

import bend-osdev-gf@0.1.1.0/gf128.bend as Gf128
import Base

116def Gf128.double_le(v: Gf128) -> Gf128:
117  match v:
118    case Gf128{+w0, +w1, +w2, +w3}:
119      Gf128{U32.xor(gf128.le.shift(w0), U32.and(2264924160, gf128.mask(U32.shrn(w3, 7n)))), U32.or(gf128.le.shift(w1), gf128.le.carry(w0)), U32.or(gf128.le.shift(w2), gf128.le.carry(w1)), U32.or(gf128.le.shift(w3), gf128.le.carry(w2))}

Uses (8)

Used by (3)