public void CalculateTest2() { var functions = new FunctionCollection(); var func = new UserFunction("f", new IExpression[] { new Number(1) }, 1); Assert.AreEqual(Math.Log(1), func.Calculate(functions)); }
public void CalculateTest1() { var functions = new FunctionCollection(); functions.Add(new UserFunction("f", new IExpression[] { new Variable("x") }, 1), new Ln(new Variable("x"))); var func = new UserFunction("f", new IExpression[] { new Number(1) }, 1); Assert.AreEqual(Math.Log(1), func.Calculate(functions)); }
public void CalculateTest3() { var uf1 = new UserFunction("func", new[] { new Variable("x") }, 1); var func = new DelegateExpression(p => (double)p.Parameters["x"] == 10 ? 0 : 1); var funcs = new FunctionCollection(); funcs.Add(uf1, func); var uf2 = new UserFunction("func", new[] { new Number(12) }, 1); var result = uf2.Calculate(new ExpressionParameters(funcs)); Assert.AreEqual(1.0, result); }