def find
bend-collections-laws-crypto@1.0.0.0 · src/containers/hash_table.bend:159
import bend-collections-laws-crypto@1.0.0.0/src/containers/hash_table.bend as HashTable
import Base
159def find(fuel: Nat, s: Step, +mask: U32, +w: U32, +i: U32) -> Found:
160 match fuel s:
161 case 0n SEnd{tab, ks, key}:
162 FD{tab, ks, key, i, 0}
163 case 0n SHit{tab, ks, key, +l}:
164 FD{tab, ks, key, i, l}
165 case 0n SNext{tab, ks, key}:
166 FD{tab, ks, key, i, 0}
167 case 1n+p SEnd{tab, ks, key}:
168 FD{tab, ks, key, i, 0}
169 case 1n+p SHit{tab, ks, key, +l}:
170 FD{tab, ks, key, i, l}
171 case 1n+p SNext{tab, ks, key}:
172 +j = bnext(i, mask)
173 find(p, step(tab, ks, j, key, w), mask, w, j)