def fail_fired

bendtorch-core@0.1.0.0 · src/autograd/tensor_chain_PROOF.bend:282

import bendtorch-core@0.1.0.0/src/autograd/tensor_chain_PROOF.bend as TensorChainPROOF
import Base
import bendtorch-core@0.1.0.0/src/shape/core.bend as Shape
import bendtorch-core@0.1.0.0/src/tensor/core.bend as Core
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
import bendtorch-core@0.1.0.0/src/autograd/tensor_chain_LAWS.bend as Laws

282def fail_fired(+node: Backward.Node, +shape: Shape.Shape, -value: Core.Dynamic, -saved: Backward.Saved, -slot: Gradient.Slot,
283  -g: Core.Dynamic, -rest: List<&1, Backward.Entry>, -more: List<&1, Gradient.Slot>, +below: Nat, -older: List<&1, Gradient.Slot>,
284  -left: Laws.Log(), -error: Backward.Error, out: Stop<rest, error, below>) ->
285  Fired<node, shape, value, slot, rest, more, below, older, left, Backward.Pass{saved, g, Fail{error}}>:
286  Stop{done, swept} = out
287  FiredStopped{Backward.Entry{node, shape, value, saved, slot} <> done, error,
288    Equal.cong(Backward.Swept(), Backward.Swept(),
289      pair => Backward.finished(Backward.Entry{node, shape, value, saved, slot}, Gradient.Held{g}, pair),
290      Backward.sweep(rest, Fail{error}, below), (done, Fail{error}), swept)}

Uses (19)

Used by (1)