Struct rgsl::types::roots::RootFSolver
source · pub struct RootFSolver<'a> { /* private fields */ }
Expand description
This is a workspace for finding roots using methods which do not require derivatives.
Implementations§
source§impl<'a> RootFSolver<'a>
impl<'a> RootFSolver<'a>
sourcepub fn new(t: RootFSolverType) -> Option<RootFSolver<'a>>
pub fn new(t: RootFSolverType) -> Option<RootFSolver<'a>>
This function returns a pointer to a newly allocated instance of a solver of type T.
If there is insufficient memory to create the solver then the function returns a null
pointer and the error handler is invoked with an error code of Value::NoMemory
.
sourcepub fn set<F: Fn(f64) -> f64 + 'a>(
&mut self,
f: F,
x_lower: f64,
x_upper: f64
) -> Result<(), Value>
pub fn set<F: Fn(f64) -> f64 + 'a>( &mut self, f: F, x_lower: f64, x_upper: f64 ) -> Result<(), Value>
This function initializes, or reinitializes, an existing solver s to use the function f and the initial search interval [x lower, x upper].
sourcepub fn iterate(&mut self) -> Result<(), Value>
pub fn iterate(&mut self) -> Result<(), Value>
The following function drives the iteration of each algorithm. Each function performs one iteration to update the state of any solver of the corresponding type. The same func- tion works for all solvers so that different methods can be substituted at runtime without modifications to the code.
This function performs a single iteration of the solver s. If the iteration encounters an unexpected problem then an error code will be returned.
The solver maintains a current best estimate of the root at all times. The bracketing solvers also keep track of the current best interval bounding the root.
sourcepub fn root(&self) -> f64
pub fn root(&self) -> f64
This function returns the current estimate of the root for the solver s.