Fmt.Big.mul: def of bend-kit-fmt@0.1.0.0 Import: import bend-kit-fmt@0.1.0.0/fmt.bend as Fmt Lines 133-140 of bend-kit-fmt@0.1.0.0/fmt.bend: https://jend.leeeet.dev/read.txt?path=bend-kit-fmt@0.1.0.0/fmt.bend&start_line=133&end_line=140 import Base # m and c stay below 2^16, so a limb product fits a U32. def Big.mul(a: List<&2, U32>, +m: U32, c: U32) -> List<&2, U32>: match a: case Nil{}: Nil{} case Con{x, xs}: +t = {U32.add(U32.mul(x, m), c) : U32} Con{U32.and(t, 65535), Big.mul(xs, m, U32.shrn(t, 16n))} Uses (6): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32 https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.add 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.mul https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.shrn