def shift

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

import bend-collections-laws-math@1.0.0.0/src/containers/hash_table.bend as HashTable
import Base

364def shift(fuel: Nat, s: Sh, +mask: U32, +i: U32, +k: U32) -> Array<U32>:
365  match fuel s:
366    case 0n HEnd{tab}:
367      clear_bucket(tab, i)
368    case 0n HMove{tab, w, l}:
369      clear_bucket(tab, i)
370    case 0n HSkip{tab}:
371      clear_bucket(tab, i)
372    case 1n+p HEnd{tab}:
373      clear_bucket(tab, i)
374    case 1n+p HMove{tab, +w, +l}:
375      +k2 = bnext(k, mask)
376      shift(p, sh_step(put_bucket(tab, i, w, l), mask, k, k2), mask, k, k2)
377    case 1n+p HSkip{tab}:
378      +k2 = bnext(k, mask)
379      shift(p, sh_step(tab, mask, i, k2), mask, i, k2)

Uses (8)

Used by (1)