#![doc = include_str!("../README.md")]
#![no_std]
#![cfg_attr(docsrs, feature(doc_cfg))]
#[cfg(all(doctest, feature = "alloc"))]
#[doc = include_str!("../GUIDE.md")]
pub struct GuideExamples;
#[cfg(feature = "alloc")]
#[cfg_attr(docsrs, doc(cfg(feature = "alloc")))]
extern crate alloc;
pub use libm;
pub use scalar::Numeric;
pub use scalar::Dual;
pub use scalar::HyperDual;
pub use scalar::Jet;
pub use scalar::{ScalarFn, ScalarFnN, VectorFn};
pub use scalar::{Const, Primal, c};
pub use numerical_derivative::{
AutoDiffMulti, AutoDiffSingle, DerivatorMultiVariable, DerivatorSingleVariable,
FiniteDifferenceConfig, FiniteDifferenceMode, FiniteDifferenceMulti, FiniteDifferenceSingle,
Hessian, Jacobian,
};
pub use numerical_derivative::{derivative, partial, second_derivative};
pub use numerical_integration::{
GaussianConfig, GaussianMulti, GaussianQuadratureMethod, GaussianSingle,
IntegratorMultiVariable, IntegratorSingleVariable, IterativeConfig, IterativeMethod,
IterativeMulti, IterativeSingle, SummationMethod,
};
pub use numerical_integration::integral;
pub use approximation::{
LinearApproximation, LinearApproximationPredictionMetrics, LinearApproximator,
QuadraticApproximation, QuadraticApproximationPredictionMetrics, QuadraticApproximator,
};
pub use linear_algebra::{Matrix, Vector};
pub use discretization::{q_discrete_white_noise, van_loan, zoh};
pub use ode::{Rk4, Rk45};
pub use spatial::Quaternion;
pub use spatial::{SE2, SE3, SO2, SO3};
pub use spatial::{Twist, Wrench};
pub use kinematics::{BodyArc, BodyTwist, DifferentialDrive, WheelRotations, WheelVelocities};
pub use estimation::{CovarianceUpdate, ExtendedKalmanFilter, KalmanFilter, KalmanModel};
#[cfg(feature = "alloc")]
#[cfg_attr(docsrs, doc(cfg(feature = "alloc")))]
pub use estimation::{GaussianLikelihood, Likelihood, ParticleFilter, ResamplingScheme};
pub use random::{Pcg32, RandomSource};
pub use optimization::{GaussNewton, LevenbergMarquardt, MinimizationReport, TerminationReason};
pub use root_finding::{Bisection, Newton, NewtonSystem, RootReport, RootReportN, RootTermination};
pub use control::{
Curvature, FollowTheGap, FollowTheGapOutput, OnePoleLowPass, Pid, pure_pursuit_curvature,
};
pub use motion::{EndOfPath, PathProjection, PolylinePath};
pub use error::{
CalcError, ControlError, DiffError, EstimationError, IntegrateError, KinematicsError,
LinalgError, MotionError, SolveError,
};
pub mod approximation;
pub mod control;
pub mod discretization;
pub mod error;
pub mod estimation;
pub mod gaussian_tables;
pub mod kinematics;
pub mod linear_algebra;
pub mod motion;
pub mod numerical_derivative;
pub mod numerical_integration;
pub mod ode;
pub mod optimization;
pub mod prelude;
pub mod random;
pub mod root_finding;
pub mod scalar;
pub mod spatial;
mod utils;
pub mod vector_field;