def FG

lawful-bytes@0.1.1.0 · proof_fast_find.bend:23

import lawful-bytes@0.1.1.0/proof_fast_find.bend as ProofFastFind
import Base
import lawful-bytes@0.1.1.0/fast.bend as FA
import lawful-bytes@0.1.1.0/proof_core.bend as C
import lawful-arrays@0.1.0.0/proof_tree.bend as P

23def FG(n: Nat, z: Bool, +wi: U32, +m: U32, +rc: U32, +t: P.Tree<U32>) -> U32:
24  match n z:
25    case 0n _:
26      4294967295
27    case 1n+k True{}:
28      +m2 = FA.zb((C.WD(t, (wi + 1 : U32)) .^. rc : U32))
29      FG(k, U32.is_zero(m2), (wi + 1 : U32), m2, rc, t)
30    case 1n+k False{}:
31      ((wi << 2n : U32) + FA.bidx(m) : U32)

Uses (11)

Used by (7)