/// <summary>Initializes a new instance of the <see cref="OneDimRootFinderFunction"/> class. /// </summary> /// <param name="functionFactory">The objective function descriptor, i.e. the <see cref="OneDimRootFinderFunctionFactory"/> object that served as factory for the current object.</param> /// <param name="objectiveFunction">The objective function.</param> internal OneDimRootFinderFunction(OneDimRootFinderFunctionFactory functionFactory, Func<double, double> objectiveFunction) { m_Factory = functionFactory ?? throw new ArgumentNullException(nameof(functionFactory)); m_ObjectiveFunction = objectiveFunction ?? throw new ArgumentNullException(nameof(objectiveFunction)); }
/// <summary>Initializes a new instance of the <see cref="OneDimRootFinderDifferentiableFunction"/> class. /// </summary> /// <param name="functionFactory">The objective function descriptor, i.e. the <see cref="OneDimRootFinderFunctionFactory"/> object that served as factory for the current object.</param> /// <param name="objectiveFunction">The objective function.</param> internal OneDimRootFinderDifferentiableFunction(OneDimRootFinderFunctionFactory functionFactory, OneDimEquationSolver.DifferentiableObjectiveFunction objectiveFunction) : base(functionFactory, x => { double dummy; return(objectiveFunction(x, out dummy)); }) { m_DifferentiableObjectiveFunction = objectiveFunction ?? throw new ArgumentNullException(nameof(objectiveFunction)); }