def done_fired

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

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

292def done_fired(+node: Backward.Node, +shape: Shape.Shape, -value: Core.Dynamic, -saved: Backward.Saved, -slot: Gradient.Slot,
293  -g: Core.Dynamic, -rest: List<&1, Backward.Entry>, -more: List<&1, Gradient.Slot>, +below: Nat, -older: List<&1, Gradient.Slot>,
294  -left: Laws.Log(), -items: Laws.Log(), sent: Delivered<items, Done{more}, below, older, left>,
295  ih: @state: Laws.Slots() -> @-slots2: List<&1, Gradient.Slot> -> @+count2: Nat -> @-log2: Laws.Log() ->
296    @pushed2: Pushed(state, slots2, count2, log2) -> Out(rest, state, count2, slots2, log2)) ->
297  Fired<node, shape, value, slot, rest, more, below, older, left, Backward.Pass{saved, g, Done{items}}>:
298  Delivered{after, delivered, pushed} = sent
299  match after:
300    case Fail{error}:
301      fired_stop(node, shape, value, saved, slot, g, rest, more, below, older, left, items, error, delivered,
302        ih(Fail{error}, older, below, List.reverse.go(&1, Backward.Contribution, items, left), pushed))
303    case Done{pending}:
304      fired_go(node, shape, value, saved, slot, g, rest, more, below, older, left, items, pending, delivered,
305        ih(Done{pending}, older, below, List.reverse.go(&1, Backward.Contribution, items, left), pushed))

Uses (20)

Used by (1)