RsBundle  Diff

Differences From Artifact [0c3700e2e0]:

  • File src/parallel/problem.rs — part of check-in [7a61011645] at 2019-07-24 13:52:54 on branch problem-update — parallel::problem: add `SubgradientExtender` to `Update` (user: fifr size: 6354)

To Artifact [4eca9534f1]:

  • File src/parallel/problem.rs — part of check-in [6ca92bc9a1] at 2019-07-25 14:07:47 on branch problem-update — parallel: add subproblem index to `SubgradientExtender` (user: fifr size: 6361) [more...]

55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
        bounds: Vec<(Real, Real)>,
        sgext: Box<SubgradientExtender<P, E>>,
    },
}

/// The subgradient extender is a callback used to update existing minorants
/// given their associated primal data.
pub type SubgradientExtender<P, E> = FnMut(&[usize], &P) -> Result<DVector, E> + Send;

/// This trait provides information available in the
/// [`FirstOrderProblem::update`] method.
pub trait UpdateState<P> {
    /// Whether the last step was a descent step.
    fn was_descent(&self) -> bool;








|







55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
        bounds: Vec<(Real, Real)>,
        sgext: Box<SubgradientExtender<P, E>>,
    },
}

/// The subgradient extender is a callback used to update existing minorants
/// given their associated primal data.
pub type SubgradientExtender<P, E> = FnMut(usize, &P, &[usize]) -> Result<DVector, E> + Send;

/// This trait provides information available in the
/// [`FirstOrderProblem::update`] method.
pub trait UpdateState<P> {
    /// Whether the last step was a descent step.
    fn was_descent(&self) -> bool;