def cache_column

bendvy-ecs-core@0.1.0.3 · execution_query_schema.bend:75

import bendvy-ecs-core@0.1.0.3/execution_query_schema.bend as ExecutionQuerySchema
import Base
import bendvy-ecs-core@0.1.0.3/execution_composer_layout.bend as L
import bendvy-ecs-core@0.1.0.3/execution_query_matches.bend as Q
import bendvy-ecs-core@0.1.0.3/chunk_column.bend as Col

75def cache_column(-S:Data,-P:Type,-V:Data,column:Col.Column<S,L.Viewed<P,V>>,+base:U32) -> Col.Column<S,L.Viewed<P,V>> & List<&2,Q.Row<V>>:
76  match column:
77    case Col.Leaf{values,stamps}:cached_leaf(S,P,V,cache_leaf(P,V,8n,base,0,(stamps,(values,[]))))
78    case Col.Branch{+half,l,r}:cached_pair(S,P,V,half,cache_column(S,P,V,l,base),cache_column(S,P,V,r,U32.add(base,half)))

Uses (11)

Used by (2)