def copy_rows
stelliferous@0.0.2.0 · kernel_pipeline.bend:69
import stelliferous@0.0.2.0/kernel_pipeline.bend as KernelPipeline
import Base
import stelliferous@0.0.2.0/storage_buffer.bend as Storage
import stelliferous@0.0.2.0/storage_copy.bend as Copy
69def copy_rows(remaining: Nat,+channel: U32,+count: U32,+source_stride: U32,+source_start: U32,+target_stride: U32,
70 owners: Storage.Buffer<F32> & Storage.Buffer<F32>) -> Storage.Buffer<F32> & Storage.Buffer<F32>:
71 match remaining:
72 case 0n: owners
73 case 1n+rest:
74 (source,target) = owners
75 copy_rows(rest,(channel + 1 : U32),count,source_stride,source_start,target_stride,
76 Copy.range(~F32,count,(channel * source_stride + source_start : U32),(channel * target_stride : U32),source,target))