public void TestThrowsErrorIfFunctionAtArgumentsHaveSameSign() { Assert.Throws(typeof(ArgumentException), () => RootFinder.solve(x => x * x - 1, -10, -5, 1e-10)); Assert.Throws(typeof(ArgumentException), () => RootFinder.solve(x => x * x - 1, 10, 5, 1e-10)); Assert.Throws(typeof(ArgumentException), () => RootFinder.solve(x => x * x - 1, -0.5, 0.5, 1e-10)); }
public void TestLinearNoAOrB() { Assert.AreEqual(0.5, RootFinder.solve(x => x * 2 - 1, tol: 1e-10), 1e-10); }
public void TestDefaultTol() { Assert.AreEqual(1, RootFinder.solve(x => x * x * x - 1, 0, 10), 1e-10); }
public void TestLinear() { Assert.AreEqual(0.5, RootFinder.solve(x => x * 2 - 1, -10, 10, 1e-10), 1e-10); }
public void TestQuadartic() { Assert.AreEqual(1, RootFinder.solve(x => x * x - 1, 0.5, 10, 1e-10), 1e-10); Assert.AreEqual(-1, RootFinder.solve(x => x * x - 1, -30, 0.5, 1e-10), 1e-10); }
public double icdf(double p, double tol) { return(RootFinder.solve(x => cdf(x) - p, tol: tol)); }