def with_dense

stelliferous@0.0.2.0 · tensor.bend:85

import stelliferous@0.0.2.0/tensor.bend as Tensor
import Base
import stelliferous@0.0.2.0/storage_buffer.bend as Storage
import stelliferous@0.0.2.0/tensor_band.bend as Bands

85def with_dense(~Element: Data,~Result: Type,tensor: Tensor<Element>,
86  body: Storage.Buffer<Element> -> List<&2,U32> -> Element -> Status -> U32 -> Result) -> Result:
87  match tensor:
88    case Tensor{storage,shape,fill,status,workers}: body(storage,shape,fill,status,workers)
89    case Banded{bands,+geometry,shape,+fill,status,workers}:
90      body(Bands.gather(~Element,geometry,bands,buffer(~Element,fill,Bands.elements(geometry))),shape,fill,status,workers)

Uses (8)

Used by (23)