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

Uses (9)

Used by (1)