pub mod fbs;
pub mod panoc;
pub mod problem;
pub mod solver_status;
pub use crate::{constraints, SolverError};
pub use problem::Problem;
pub use solver_status::SolverStatus;
#[derive(Debug, Clone, Copy, PartialEq)]
pub enum ExitStatus {
Converged,
NotConvergedIterations,
NotConvergedOutOfTime,
}
pub trait Optimizer {
fn solve(&mut self, u: &mut [f64]) -> Result<SolverStatus, SolverError>;
}
pub trait AlgorithmEngine {
fn step(&mut self, u: &mut [f64]) -> Result<bool, SolverError>;
fn init(&mut self, u: &mut [f64]) -> Result<(), SolverError>;
}