def search

bendvy-ecs-core@0.1.0.3 · chunk_column.bend:141

import bendvy-ecs-core@0.1.0.3/chunk_column.bend as ChunkColumn
import Base
import bendvy-ecs-core@0.1.0.3/change_tick.bend as Tick

141def search(~S:Data,~C:Type,fuel:Nat,state:Search<S,C>,+tick:Tick.Tick) -> SwapOutcome<S,C>:
142  match fuel state:
143    case 0n Search{column,_,incoming,path}: Rejected{rebuild(~S,~C,path,column),incoming}
144    case 1n+_ Search{Leaf{values,stamps},+index,incoming,path}: returned(~S,~C,path,swap_leaf(~S,~C,values,stamps,index,incoming,tick,U32.is_lt(index,8)))
145    case 1n+rest Search{Branch{+half,left,right},+index,incoming,path}: search(~S,~C,rest,route(~S,~C,left,right,half,index,incoming,path,U32.is_lt(index,half)),tick)

Uses (10)

Used by (1)