public override double Compute(IReadOnlyDictionary <string, double> variableValues) { double result = 0; int n = 0; for (double value = begin; value < end; value += step) { result += Arg.Compute(new Dictionary <string, double> { [variable] = value }); n++; } result += Arg.Compute(new Dictionary <string, double> { [variable] = end }); result *= (end - begin) / n; return(result); }
public override double Compute(IReadOnlyDictionary <string, double> variableValues) => (1 / Math.Tan(Arg.Compute(variableValues)));
public override double Compute(IReadOnlyDictionary <string, double> variableValues) { return(-Arg.Compute(variableValues)); }