private void ForwardSweep(double[] arg) { for (int i = 0; i < Dimension; ++i) { tape[i].Value = arg[i]; } var forwardDiffVisitor = new ForwardSweepVisitor(tape); for (int i = Dimension; i < tape.Length; ++i) { tape[i].Accept(forwardDiffVisitor); } }
private void ForwardSweep <S>(S arg) where S : IList <double> { for (int i = 0; i < Dimension; ++i) { tape[i].Value = arg[i]; } var forwardDiffVisitor = new ForwardSweepVisitor(tape); for (int i = Dimension; i < tape.Length; ++i) { tape[i].Accept(forwardDiffVisitor); } }