#![warn(missing_docs)]
#![warn(rustdoc::broken_intra_doc_links)]
pub mod core;
pub mod line_search;
#[cfg(feature = "problems")]
pub mod problems;
pub mod solver;
pub use crate::core::constraint::BoxConstrained;
pub use crate::core::executor::{run_loop, Executor, OptimizationResult, StepOutcome, Stepper};
pub use crate::core::inner::InnerExecutor;
pub use crate::core::math::{
AddDiagonalInPlace, AddDiagonalVectorInPlace, BoxAffineScaling, ClampInPlace, Dot, GramMatrix,
LinearSolveError, LinearSolveSpd, MatTransposeVec, MatVec, MaxDiagonal, NegInPlace,
NormInfinity, NormSquared, SampleUniformBox, ScaledAdd,
};
pub use crate::core::problem::{CostFunction, Gradient, Jacobian, Residual};
pub use crate::core::solver::Solver;
#[cfg(feature = "nalgebra")]
pub use crate::core::state::QuasiNewtonState;
pub use crate::core::state::{
BasicPopulationState, BasicSimplexState, BasicState, GradientState, IntoInitialSimplex,
LbfgsState, PopulationState, SimplexState, State,
};
pub use crate::core::termination::{
CostTolerance, GradientTolerance, MaxCostEvals, MaxGradientEvals, MaxIter, MaxTime,
ParamTolerance, ProjectedGradientTolerance, SimplexTolerance, TerminationCriterion,
TerminationReason,
};
pub use crate::line_search::{
Backtracking, Constant, LineSearch, LineSearchResult, MoreThuente, Wolfe,
};
pub use crate::solver::lbfgsb::LBFGSB;
#[cfg(feature = "nalgebra")]
pub use crate::solver::BFGS;
pub use crate::solver::{
BoundedCmaEs, BoundedCmaInject, Brent, ClosureInner, CmaEs, CmaInject, GaussNewton,
GradientDescent, LevenbergMarquardt, MaLsChCma, MaLsChState, MemeticInner, NelderMead,
ProjectedGradientDescent, RandomSearch, Ssga, Trf,
};