87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
|
///
/// Return the aggregated primal information for the given subproblem.
fn aggregated_primal(&self, i: usize) -> &P;
}
/// Trait for implementing a first-order problem description.
///
/// All computations made by an implementation are supposed to
/// be asynchronous. Hence, the interface is slightly different
/// compared with [`crate::FirstOrderProblem`].
pub trait FirstOrderProblem {
/// Error raised by this oracle.
type Err: std::error::Error + Send + 'static;
/// The primal information associated with a minorant.
type Primal: Aggregatable + Send + 'static;
|
|
|
<
|
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
|
///
/// Return the aggregated primal information for the given subproblem.
fn aggregated_primal(&self, i: usize) -> &P;
}
/// Trait for implementing a first-order problem description.
///
/// Note that all computations made by an implementation are supposed to be
/// asynchronous.
pub trait FirstOrderProblem {
/// Error raised by this oracle.
type Err: std::error::Error + Send + 'static;
/// The primal information associated with a minorant.
type Primal: Aggregatable + Send + 'static;
|