def find2.go
lawful-bytes@0.1.1.0 · fast.bend:82
import lawful-bytes@0.1.1.0/fast.bend as Fast
import Base
82def find2.go(n: Nat, z: Bool, r: Array<U32> & U32, +wi: U32, +m: U32, +r1: U32, +r2: U32) -> Array<U32> & U32:
83 match n z:
84 case 0n _:
85 (a, w) = r
86 (a, 4294967295)
87 case 1n+k True{}:
88 (a, +w) = r
89 +m2 = (zb((w .^. r1 : U32)) .|. zb((w .^. r2 : U32)) : U32)
90 find2.go(k, U32.is_zero(m2), Array.get(U32, a, (wi + 2 : U32)), (wi + 1 : U32), m2, r1, r2)
91 case 1n+k False{}:
92 (a, w) = r
93 (a, ((wi << 2n : U32) + bidx(m) : U32))