use crate::core::ExitStatus;
#[derive(Debug)]
pub struct HomotopySolverStatus {
exit_status: ExitStatus,
num_outer_iterations: usize,
num_inner_iterations: usize,
last_problem_norm_fpr: f64,
max_constraint_violation: f64,
solve_time: std::time::Duration,
}
impl HomotopySolverStatus {
pub fn new(
exit_status: ExitStatus,
num_outer_iterations: usize,
num_inner_iterations: usize,
last_problem_norm_fpr: f64,
max_constraint_violation: f64,
solve_time: std::time::Duration,
) -> HomotopySolverStatus {
HomotopySolverStatus {
exit_status: exit_status,
num_outer_iterations: num_outer_iterations,
num_inner_iterations: num_inner_iterations,
last_problem_norm_fpr: last_problem_norm_fpr,
max_constraint_violation: max_constraint_violation,
solve_time: solve_time,
}
}
pub fn exit_status(&self) -> ExitStatus {
self.exit_status
}
pub fn last_problem_norm_fpr(&self) -> f64 {
self.last_problem_norm_fpr
}
pub fn num_inner_iterations(&self) -> usize {
self.num_inner_iterations
}
pub fn num_outer_iterations(&self) -> usize {
self.num_outer_iterations
}
pub fn max_constraint_violation(&self) -> f64 {
self.max_constraint_violation
}
pub fn solve_time(&self) -> std::time::Duration {
self.solve_time
}
}