use crate::utils::enums::TerminationReason;
#[derive(Debug, Default)]
pub struct ConvergenceData {
pub x_all: Vec<f64>,
pub a_all: Vec<f64>,
pub b_all: Vec<f64>,
pub f_all: Vec<f64>,
pub df_all: Vec<f64>,
pub n_bracket_iter: u32,
pub n_iter: u32,
pub n_feval: u32,
pub n_deval: u32,
pub termination_reason: TerminationReason,
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_default() {
let convergence_data = ConvergenceData::default();
assert_eq!(convergence_data.x_all, Vec::new());
assert_eq!(convergence_data.a_all, Vec::new());
assert_eq!(convergence_data.b_all, Vec::new());
assert_eq!(convergence_data.f_all, Vec::new());
assert_eq!(convergence_data.df_all, Vec::new());
assert_eq!(convergence_data.n_bracket_iter, 0);
assert_eq!(convergence_data.n_iter, 0);
assert_eq!(convergence_data.n_feval, 0);
assert_eq!(convergence_data.n_deval, 0);
}
}