#![allow(clippy::assign_op_pattern)]
#![allow(clippy::needless_range_loop)]
#![allow(clippy::manual_memcpy)]
#![allow(clippy::collapsible_else_if)]
#![allow(clippy::single_match)]
#![allow(clippy::too_many_arguments)]
#![allow(clippy::excessive_precision)]
#![allow(clippy::manual_clamp)]
#![allow(clippy::identity_op)]
#![allow(clippy::erasing_op)]
pub mod auto;
#[cfg(feature = "autodiff")]
pub mod autodiff_jacobian;
pub mod bdf;
pub mod dae_init;
pub mod dense;
pub mod dopri5;
pub mod error;
pub mod esdirk;
pub mod events;
pub mod index_reduction;
pub mod problem;
pub mod radau5;
pub mod sensitivity;
pub mod solver;
pub mod step_control;
pub mod t_eval;
pub mod tsit5;
pub mod uncertainty;
pub mod verner;
pub use dense::DenseOutput;
pub use error::SolverError;
pub use problem::{DaeProblem, OdeProblem, OdeSystem};
pub use solver::{Solver, SolverOptions, SolverResult, SolverStats};
pub use step_control::{PIController, StepController};
pub use dopri5::DoPri5;
pub use tsit5::Tsit5;
pub use verner::{Vern6, Vern7, Vern8};
pub use bdf::Bdf;
pub use esdirk::{Esdirk32, Esdirk43, Esdirk54};
pub use radau5::Radau5;
pub use auto::{auto_solve, auto_solve_with_hints, Accuracy, SolverHints, Stiffness};
pub use sensitivity::{
solve_forward_sensitivity, solve_forward_sensitivity_with, solve_initial_condition_sensitivity,
solve_initial_condition_sensitivity_with, AugmentedSystem, ClosureSystem, ParametricOdeSystem,
SensitivityResult, StateTransitionResult,
};
#[cfg(feature = "autodiff")]
pub use autodiff_jacobian::AutodiffJacobianSystem;
pub use dae_init::{compute_consistent_initial, compute_consistent_initial_tol};
pub use index_reduction::{
analyze_dae_index, analyze_system, detect_structure, reduce_dae_problem, reduce_index,
DaeIndexInfo, DaeStructure, ReducedDaeSystem,
};
pub use uncertainty::{
solve_monte_carlo, solve_trajectory, solve_with_uncertainty, UncertainParam,
UncertainSolverResult, UncertaintyMode,
};
pub use numra_core::{Scalar, Vector};