#![cfg_attr(test, allow(clippy::unwrap_used, clippy::expect_used))]
pub mod elastic;
pub mod error;
pub mod factor;
pub mod kkt;
pub mod options;
pub mod problem;
pub mod qps;
pub mod schur;
pub mod solver;
pub mod working_set;
#[cfg(test)]
mod tests;
pub use elastic::ElasticReformulation;
pub use error::{QpError, QpStatus};
pub use factor::LinearSolver;
pub use kkt::{
a_times_x, assemble_active_set_kkt, assemble_box_with_active, assemble_equality_plus_bounds,
h_times_x, is_all_equality_constraints, is_pure_box, is_pure_equality_no_bounds,
rhs_equality_only, KktTriplet,
};
pub use options::{AntiCyclingChoice, QpAlgorithm, QpOptions};
pub use problem::{HessianInertia, QpProblem, QpSolution, QpStats, QpWarmStart};
pub use qps::{parse_qps, QpsModel};
pub use solver::{ParametricActiveSetSolver, QpSolver};
pub use working_set::{BoundStatus, ConsStatus, WorkingSet};