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)}