def find

bend-collections-laws-math@1.0.0.0 · src/containers/hash_table.bend:159

import bend-collections-laws-math@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)

Uses (6)

Used by (1)