def rows

stelliferous@0.0.2.0 · tensor_band_concat.bend:92

import stelliferous@0.0.2.0/tensor_band_concat.bend as TensorBandConcat
import Base
import stelliferous@0.0.2.0/tensor.bend as Tensors
import stelliferous@0.0.2.0/tensor_band.bend as Bands
import stelliferous@0.0.2.0/storage_buffer.bend as Storage

92def rows(~Element: Data,geometry: Bands.Geometry,+first: U32,+rows: U32,channel: U32,tensor: Tensors.Tensor<Element>,output: Storage.Buffer<Element>) -> Tensors.Tensor<Element> & Storage.Buffer<Element>:
93  match tensor:
94    case Tensors.Tensor{input,shape,fill,status,workers}:
95      Storage.bind_pair(~Storage.Buffer<Element>,~Storage.Buffer<Element>,~(Tensors.Tensor<Element> & Storage.Buffer<Element>),
96        dense_rows(~Element,geometry,first,rows,channel,input,output),input => output => (Tensors.Tensor{input,shape,fill,status,workers},output))
97    case Tensors.Banded{bands,+geometry,shape,fill,status,workers}:
98      Storage.bind_pair(~Bands.Bands(~Element),~Storage.Buffer<Element>,~(Tensors.Tensor<Element> & Storage.Buffer<Element>),
99        Bands.range_into(~Element,geometry,first,rows,channel_offset(geometry,channel,rows),bands,output),bands => output =>
100          (Tensors.Banded{bands,geometry,shape,fill,status,workers},output))

Uses (11)

Used by (1)