def write_chunks
bendtorch@1.2.0.0 · main.bend:3334
import bendtorch@1.2.0.0/main.bend as Bendtorch
import Base
3334
3335def write_chunks(k: Nat, f: File, a: Array<F32>, +lo: U32, +n: U32) -> IO(File & Array<F32>):
3336 match k:
3337 case 0n:
3338 IO.pure(File & Array<F32>, Tuple{f, a})
3339 case 1n+q:
3340 +hi = U32.min((lo + WCHUNK() : U32), n)
3341 wc_bytes(File & Array<F32>, f, chunk_bytes(U32.to_nat(U32.sub(hi, lo)), U32.sub(hi, 1), Array.get(F32, a, U32.sub(hi, 1)), []), f2 => a2 => write_chunks(q, f2, a2, hi, n))