private static UnivariateSolver GetSolver(Type type, double error = DEFAULT_ABSOLUTE_ACCURACY) { UnivariateSolver univariateSolver; switch (type) { case Type.Brent: univariateSolver = new BrentSolver(error); break; case Type.Bisection: univariateSolver = new BisectionSolver(error); break; case Type.Secant: univariateSolver = new SecantSolver(error); break; case Type.RegulaFalsi: univariateSolver = new RegulaFalsiSolver(error); break; case Type.Ridders: univariateSolver = new RiddersSolver(error); break; default: throw new IndexOutOfRangeException(); } return(univariateSolver); }
/// <param name="functionValueAccuracy"> The accuracy of the function evaluations. </param> /// <param name="absoluteAccurary"> The maximum absolute error of the variable. </param> public RidderSingleRootFinder(double functionValueAccuracy, double absoluteAccurary) { _ridder = new RiddersSolver(functionValueAccuracy, absoluteAccurary); }