public void Visit(Compiled.NaryFunc elem) { double[] args = new double[elem.Terms.Length]; for (int i = 0; i < args.Length; i++) { args[i] = ValueOf(elem.Terms[i]); } elem.Value = elem.Eval(args); }
public void Visit(Compiled.NaryFunc elem) { double[] args = new double[elem.Terms.Length]; for (int i = 0; i < args.Length; i++) { args[i] = ValueOf(elem.Terms[i]); } elem.Value = elem.Eval(args); var grad = elem.Diff(args); for (int i = 0; i < grad.Length; ++i) { elem.Inputs[i].Weight = grad[i]; } }