def combine_fresh_views_with

stelliferous@0.0.2.0 · tensor.bend:282

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_view.bend as Views
import stelliferous@0.0.2.0/tensor_operations.bend as Operations

282def combine_fresh_views_with(~Element: Data,~kernel: @+count: Nat -> @+right_view: Views.View -> @+offset: U32 -> Storage.Buffer<Element> -> Storage.Buffer<Element> -> Storage.Buffer<Element> & Storage.Buffer<Element>,name: String,left_view: Maybe<&2,Views.View>,right_view: Maybe<&2,Views.View>,
283  target: Maybe<&2,Views.View>,output: Maybe<&2,Views.View>,count: Maybe<&2,U32>,left: Storage.Buffer<Element>,right: Storage.Buffer<Element>,
284  +shape: List<&2,U32>,+fill: Element,+workers: U32) -> Tensor<Element>:
285  match left_view right_view target output count:
286    case Some{left_view} Some{right_view} Some{target} Some{output} Some{count}:
287      combined_fresh_with(~Element,~kernel,name,shape,fill,workers,right,right_view,output,
288        Operations.copy(~Element,left,left_view,buffer(~Element,fill,count),target))
289    case left_view right_view target output count: failed(~Element,name,InvalidShape{shape},shape,fill,workers)

Uses (14)

Used by (1)