def combine_when_with

stelliferous@0.0.2.0 · tensor_operations.bend:94

import stelliferous@0.0.2.0/tensor_operations.bend as TensorOperations
import Base
import stelliferous@0.0.2.0/storage_buffer.bend as Storage
import stelliferous@0.0.2.0/tensor_view.bend as Views

94def combine_when_with(~Element: Data,~kernel: @+count: Nat -> @+right_view: Views.View -> @+offset: U32 -> Storage.Buffer<Element> -> Storage.Buffer<Element> -> Storage.Buffer<Element> & Storage.Buffer<Element>,
95  valid: Bool,count: Maybe<&2,U32>,right_view: Views.View,target: Views.View,left: Storage.Buffer<Element>,right: Storage.Buffer<Element>) ->
96  Outcome<(Storage.Buffer<Element> & Storage.Buffer<Element>)>:
97  match valid count:
98    case True{} Some{count}:
99      Views.View{axes,offset} = target
100      Accepted{kernel(U32.to_nat(count),right_view,offset,left,right)}
101    case valid count: Rejected{(left,right)}

Uses (10)

Used by (1)