def reached

bendtorch-core@0.1.0.0 · src/autograd/tensor_chain_LAWS.bend:104

import bendtorch-core@0.1.0.0/src/autograd/tensor_chain_LAWS.bend as TensorChainLAWS
import Base
import bendtorch-core@0.1.0.0/src/autograd/gradient.bend as Gradient
import bendtorch-core@0.1.0.0/src/autograd/tensor_backward.bend as Backward

104def reached(node: Backward.Node, saved: Backward.Saved, pair: Taken(), rec: Log() -> Slots()) -> Slots():
105  (held, log) = pair
106  match held:
107    case Fail{error}:
108      Fail{error}
109    case Done{Gradient.Unset{}}:
110      Backward.prepend(Gradient.Slot, Gradient.Unset{}, rec(log))
111    case Done{Gradient.Held{g}}:
112      fired(Backward.vjp(node, saved, g), log, rec)

Uses (11)

Used by (3)