def halo
stelliferous@0.0.2.0 · tensor_band_window.bend:71
import stelliferous@0.0.2.0/tensor_band_window.bend as TensorBandWindow
import Base
import stelliferous@0.0.2.0/tensor_band.bend as Bands
import stelliferous@0.0.2.0/storage_buffer.bend as Storage
import stelliferous@0.0.2.0/traversal_partition.bend as Partition
71def halo(~Element: Data,+geometry: Bands.Geometry,+fill: Element,+first: U32,+count: U32,window: RowWindow,bands: Bands.Bands(~Element)) -> Bands.Bands(~Element) & Halos(~Element):
72 RowWindow{+output,+above,+below,+rows} = window
73 Storage.bind_pair(~Bands.Bands(~Element),~Storage.Buffer<Element>,~(Bands.Bands(~Element) & Halos(~Element)),
74 extract(~Element,geometry,fill,above,bands),bands => upper =>
75 Storage.bind_pair(~Bands.Bands(~Element),~Storage.Buffer<Element>,~(Bands.Bands(~Element) & Halos(~Element)),
76 extract(~Element,geometry,fill,below,bands),bands => lower =>
77 (bands,Partition.Leaf{Halo{upper,lower,RowWindow{output,above,below,rows}},first,count,Unit{}})))