public IEnumerable <string> GetFunctions(string expression) { var list = new List <string>(); var node = InternalParser.Parse(expression); DoubleBuilder.FunctionFound += (o, e) => { list.Add(e.Function.Name); e.Result = 0; }; try { DoubleBuilder.Build(node); } catch (Exception) { if (ThrowOnErrors) { throw; } } return(list); }
public void When_Function1D_Expect_Reference(string func, double arg, double darg, double expected, double dexpected) { var base_builder = new DoubleBuilder(); var builder = new DerivativeBuilder <double>(base_builder); var x = new Variable("x"); var derivative = new Derivatives <double> { Value = arg }; derivative[x] = darg; var result = ((IBuilder <Derivatives <double> >)builder).CreateFunction(func, new[] { derivative }); Assert.AreEqual(expected, result.Value, 1e-12); Assert.AreEqual(dexpected, result[x], 1e-12); }
public double Parse(string expression) { var node = InternalParser.Parse(expression); return(DoubleBuilder.Build(node)); }