Пример #1
0
        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);
        }
Пример #3
0
        public double Parse(string expression)
        {
            var node = InternalParser.Parse(expression);

            return(DoubleBuilder.Build(node));
        }