def search_loop

bend-collections@1.0.0.0 · src/containers/balanced_search_tree.bend:1173

import bend-collections@1.0.0.0/src/containers/balanced_search_tree.bend as BalancedSearchTree
import Base

1173def search_loop(~K: Data, ~V: Data, ~cmp: K -> K -> Cmp, +fuel: Nat, +k: K, +id: Nat, +p: Nat, +on_left: Bool, st: TreeMap<K, V, cmp> & (Node<K> & Cmp)) -> TreeMap<K, V, cmp> & Search:
1174  match fuel st:
1175    case 0n Tuple{m, node}:
1176      (m, Search{0n, p, on_left})
1177    case 1n+f Tuple{m, Tuple{Free{next}, order}}:
1178      (m, Search{0n, p, on_left})
1179    case 1n+f Tuple{m, Tuple{N{c, +l, r, p0, key}, LT{}}}:
1180      search_loop(~K, ~V, ~cmp, f, k, l, id, True{}, probe(~K, ~V, ~cmp, m, l, k))
1181    case 1n+f Tuple{m, Tuple{N{c, l, +r, p0, key}, GT{}}}:
1182      search_loop(~K, ~V, ~cmp, f, k, r, id, False{}, probe(~K, ~V, ~cmp, m, r, k))
1183    case 1n+f Tuple{m, Tuple{N{c, l, r, p0, key}, EQ{}}}:
1184      (m, Search{id, p, on_left})

Uses (9)

Used by (0)

No other definition uses this definition.