//! Backtracking Armijo line search, shared by the gradient-descent
//! family (steepest descent, conjugate gradient, BFGS).
/// Walk back from `alpha0` along `dir` until the Armijo sufficient-
/// decrease condition `f(x + a d) <= fx + c1 a g.d` holds. Returns
/// `(x_new, f_new)`, or `None` when no acceptable step exists down to
/// machine scale (a signal to stop or reset the direction).
pub