def blocks1

bend-ml-tensor-fork@0.1.6.0 · main.bend:43

import bend-ml-tensor-fork@0.1.6.0/main.bend as BendMlTensorFork
import Base

43def blocks1(~E: Data, ~A: Type, ~f: @+e: E -> @+i0: U32 -> @+cnt: Nat -> Array<A> -> Array<A>, +e: E, d: Nat, +i0: U32, +cnt: Nat, pa: Array<A> & Array<A>) -> Array<A>:
44  match d pa:
45    case 0n Tuple{a, a2}:
46      f(e, i0, cnt, a)
47    case 1n++q Tuple{a, a2}:
48      l r = blocks1(~E, ~A, ~f, e, q, i0, Nat.div(cnt, 2n), Array.fork(A, a)) blocks1(~E, ~A, ~f, e, q, (i0 + U32.from_nat(Nat.div(cnt, 2n)) : U32), Nat.sub(cnt, Nat.div(cnt, 2n)), Array.fork(A, a2))
49      Array.join(A, l, r)
50
51@unsafe

Uses (11)

Used by (1)