solve method
Returns a NonlinearResults object which contains the data calculated by the root-finding algorithm.
Implementation
@override
NonlinearResults solve() {
var amp = tolerance + 1;
var n = 1;
final guesses = <double>[];
var pA = a;
var pB = b;
var fa = evaluateOn(pA);
while ((amp >= tolerance) && (n <= maxSteps)) {
++n;
amp = (pB - pA).abs();
final x0 = pA + amp * 0.5;
guesses.add(x0);
final fx = evaluateOn(x0);
if (fa * fx < 0) {
pB = x0;
} else {
if (fa * fx > 0) {
pA = x0;
fa = fx;
} else {
amp = 0;
}
}
}
return NonlinearResults(
guesses: guesses,
convergence: convergence(guesses, maxSteps),
efficiency: efficiency(guesses, maxSteps),
);
}