use crate::ipopt_cq::IpoptCqHandle;
use crate::ipopt_data::IpoptDataHandle;
use crate::iterates_vector::IteratesVector;
use crate::line_search::filter_acceptor::AcceptDecision;
use crate::restoration::OrigProgressCallback;
use pounce_common::types::Number;
pub trait BacktrackingLsAcceptor {
fn reset(&mut self);
fn init_this_line_search(
&mut self,
_data: &IpoptDataHandle,
_cq: &IpoptCqHandle,
_delta: &IteratesVector,
) {
}
fn calc_alpha_min(&mut self, _d_phi: Number, _theta: Number) -> Number {
0.0
}
fn check_trial_point(
&mut self,
_alpha_primal: Number,
_theta: Number,
_phi: Number,
_d_phi: Number,
_theta_trial: Number,
_phi_trial: Number,
) -> AcceptDecision {
AcceptDecision::Accept
}
fn update_for_next_iteration(
&mut self,
_alpha_primal: Number,
_theta: Number,
_phi: Number,
_d_phi: Number,
_phi_trial: Number,
) -> char {
'h'
}
fn make_orig_progress_check(
&self,
_reference_theta: Number,
_reference_barr: Number,
_obj_max_inc: Number,
) -> Option<OrigProgressCallback> {
None
}
fn prepare_resto_phase_start(&mut self, _reference_theta: Number, _reference_barr: Number) {}
fn set_theta_max_fact(&mut self, _theta_max_fact: Number) {}
}