#![doc = include_str!("../README.md")]
#![forbid(unsafe_code)]
#![cfg_attr(docsrs, feature(doc_cfg))]
extern crate self as oximo;
pub use oximo_core as core;
#[doc(hidden)]
pub use oximo_core::__macro_support;
pub use oximo_expr as expr;
pub use oximo_solver as solver;
#[cfg(feature = "io")]
#[cfg_attr(docsrs, doc(cfg(feature = "io")))]
pub use oximo_io as io;
#[cfg(feature = "highs")]
#[cfg_attr(docsrs, doc(cfg(feature = "highs")))]
pub use oximo_highs::{HighsMethod, HighsOptions, HighsPresolve};
#[cfg(feature = "gurobi")]
#[cfg_attr(docsrs, doc(cfg(feature = "gurobi")))]
pub use oximo_gurobi::{GurobiOptions, GurobiPersistent, GurobiPresolve};
#[cfg(feature = "gams")]
#[cfg_attr(docsrs, doc(cfg(feature = "gams")))]
pub use oximo_gams::{GamsOptions, GamsSolver};
#[cfg(feature = "baron")]
#[cfg_attr(docsrs, doc(cfg(feature = "baron")))]
pub use oximo_baron::BaronOptions;
#[cfg(feature = "clarabel")]
#[cfg_attr(docsrs, doc(cfg(feature = "clarabel")))]
pub use oximo_clarabel::{ClarabelDirectSolve, ClarabelOptions};
#[cfg(feature = "gams")]
#[cfg_attr(docsrs, doc(cfg(feature = "gams")))]
pub mod gams {
pub use oximo_gams::*;
}
#[cfg(feature = "pounce")]
#[cfg_attr(docsrs, doc(cfg(feature = "pounce")))]
pub mod pounce {
pub use oximo_pounce::{
MuStrategy, Pounce, PounceOptionValue, PounceOptions, PouncePersistent,
};
}
pub mod prelude {
pub use oximo_core::prelude::*;
pub use oximo_solver::{
HasUniversal, Iis, IisReport, InfeasibilityDiagnosis, ModelReport, PersistentSolver,
PrimalStatus, SolutionPoint, Solver, SolverError, SolverResult, TerminationStatus,
UniversalOptions, UniversalOptionsExt, VarBoundKind,
};
#[cfg(feature = "highs")]
#[cfg_attr(docsrs, doc(cfg(feature = "highs")))]
pub use oximo_highs::{HighsMethod, HighsOptions, HighsPersistent, HighsPresolve};
#[cfg(feature = "gurobi")]
#[cfg_attr(docsrs, doc(cfg(feature = "gurobi")))]
pub use oximo_gurobi::{GurobiOptions, GurobiPersistent, GurobiPresolve};
#[cfg(feature = "gams")]
#[cfg_attr(docsrs, doc(cfg(feature = "gams")))]
pub use oximo_gams::{GamsOptions, GamsSolver};
#[cfg(feature = "baron")]
#[cfg_attr(docsrs, doc(cfg(feature = "baron")))]
pub use oximo_baron::BaronOptions;
#[cfg(feature = "clarabel")]
#[cfg_attr(docsrs, doc(cfg(feature = "clarabel")))]
pub use oximo_clarabel::{ClarabelDirectSolve, ClarabelOptions, ClarabelPersistent};
#[cfg(feature = "pounce")]
#[cfg_attr(docsrs, doc(cfg(feature = "pounce")))]
pub use oximo_pounce::{Pounce, PounceOptions, PouncePersistent};
}
pub mod solvers {
#[cfg(feature = "highs")]
#[cfg_attr(docsrs, doc(cfg(feature = "highs")))]
pub use oximo_highs::Highs;
#[cfg(feature = "gurobi")]
#[cfg_attr(docsrs, doc(cfg(feature = "gurobi")))]
pub use oximo_gurobi::Gurobi;
#[cfg(feature = "gams")]
#[cfg_attr(docsrs, doc(cfg(feature = "gams")))]
pub use oximo_gams::Gams;
#[cfg(feature = "baron")]
#[cfg_attr(docsrs, doc(cfg(feature = "baron")))]
pub use oximo_baron::Baron;
#[cfg(feature = "clarabel")]
#[cfg_attr(docsrs, doc(cfg(feature = "clarabel")))]
pub use oximo_clarabel::Clarabel;
#[cfg(feature = "pounce")]
#[cfg_attr(docsrs, doc(cfg(feature = "pounce")))]
pub use oximo_pounce::Pounce;
}