def sweep

bendtorch-core@0.1.0.0 · src/autograd/backward.bend:136

import bendtorch-core@0.1.0.0/src/autograd/backward.bend as Backward
import Base

136def sweep(nodes: List<&2, Node>, gradients: List<&2, Maybe<&2, F32>>, +count: Nat) -> List<&2, Maybe<&2, F32>>:
137  match nodes gradients count:
138    case Nil{} gradients count:
139      gradients
140    case Con{node, rest} Nil{} count:
141      Nil{}
142    case Con{node, rest} Con{gradient, pending} 0n:
143      Nil{}
144    case Con{node, rest} Con{+gradient, pending} 1n+below:
145      gradient <> sweep(rest, contribute(node, gradient, below, pending), below)

Uses (6)

Used by (4)