def dense_ranges

stelliferous@0.0.2.0 · tensor_band.bend:363

import stelliferous@0.0.2.0/tensor_band.bend as TensorBand
import Base
import stelliferous@0.0.2.0/storage_buffer.bend as Storage
import stelliferous@0.0.2.0/traversal_partition.bend as Partition

363def dense_ranges(~Element: Data,+geometry: Geometry,+fill: Element,layout: Plan,input: Storage.Buffer<Element>) -> Storage.Buffer<Element> & Bands(~Element):
364  match layout:
365    case Rows{first,rows}: dense_leaf(~Element,geometry,fill,first,rows,input)
366    case Split{left,right}:
367      Storage.bind_pair(~Storage.Buffer<Element>,~Bands(~Element),~(Storage.Buffer<Element> & Bands(~Element)),
368        dense_ranges(~Element,geometry,fill,left,input),source => left =>
369          Storage.bind_pair(~Storage.Buffer<Element>,~Bands(~Element),~(Storage.Buffer<Element> & Bands(~Element)),
370            dense_ranges(~Element,geometry,fill,right,source),source => right => (source,Partition.Fork{left,right})))

Uses (9)

Used by (1)