backward method
void
backward()
Implementation
void backward() {
final topo = <Value>[];
final visited = <Value>{};
void buildTopo(Value v) {
if (!visited.contains(v)) {
visited.add(v);
for (final child in v._prev) {
buildTopo(child);
}
topo.add(v);
}
}
buildTopo(this);
grad = 1.0;
for (final v in topo.reversed) {
v._backward();
}
}