#![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::{
Callback, CallbackLocation, CallbackMask, CbResult, GRB_METHOD_PDHG, GurobiOptions,
GurobiPersistent, GurobiPresolve, Opcode, Status, Where,
};
#[cfg(feature = "mosek")]
#[cfg_attr(docsrs, doc(cfg(feature = "mosek")))]
pub use oximo_mosek::{MosekOptions, MosekPersistent};
#[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, PounceAlgorithm, PounceOptionValue, PounceOptions, PouncePersistent,
PounceSolverSelection,
};
}
pub mod prelude {
pub use oximo_core::prelude::*;
pub use oximo_solver::{
ConstraintEvaluation, DualStatus, HasUniversal, Iis, IisReport, InfeasibilityDiagnosis,
ModelReport, PersistentSolver, PrimalStatus, SocEvaluation, 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::{
Callback, CallbackLocation, CallbackMask, CbResult, GRB_METHOD_PDHG, GurobiOptions,
GurobiPersistent, GurobiPresolve, Opcode, Status, Where,
};
#[cfg(feature = "mosek")]
#[cfg_attr(docsrs, doc(cfg(feature = "mosek")))]
pub use oximo_mosek::{MosekOptions, MosekPersistent};
#[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, PounceAlgorithm, PounceOptions, PouncePersistent, PounceSolverSelection,
};
}
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 = "mosek")]
#[cfg_attr(docsrs, doc(cfg(feature = "mosek")))]
pub use oximo_mosek::Mosek;
#[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;
}