1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
#![cfg_attr(feature = "simd", feature(portable_simd))]
#![deny(missing_docs)]
#![allow(clippy::needless_range_loop)]
//! Core math functionality including
//! - linear algebra types
//! * such as [linalg::VecF64], and [linalg::MatF64]
//! * batch types such as [linalg::BatchScalarF64], [linalg::BatchVecF64],
//! [linalg::BatchMatF64] - require the `simd` feature
//! - tensors
//! * design: dynamic tensor (ndarray) of static tensors (nalgebra)
//! - differentiation tools
//! * dual numbers: [calculus::dual::DualScalar], [calculus::dual::DualVector],
//! [calculus::dual::DualMatrix]
//! * [calculus::maps::curves] f: ℝ -> ℝ, f: ℝ -> ℝʳ, f: ℝ -> ℝʳ x ℝᶜ
//! * [calculus::maps::scalar_valued_maps]: f: ℝᵐ -> ℝ, f: ℝᵐ x ℝⁿ -> ℝ
//! * [calculus::maps::vector_valued_maps]: f: ℝᵐ -> ℝᵖ, f: ℝᵐ x ℝⁿ -> ℝᵖ
//! * [calculus::maps::matrix_valued_maps]: f: ℝᵐ -> ℝʳ x ℝᶜ, f: ℝᵐ x ℝⁿ -> ℝʳ x ℝᶜ
//! - splines
//! * [calculus::spline::CubicBSpline]
//! - intervals, regions
//! * closed interval: [calculus::region::Interval]
//! * closed region: [calculus::region::Interval]
//! - manifolds: [manifold::traits]
/// calculus - differentiation, splines, and more
pub mod calculus;
/// linear algebra types
pub mod linalg;
/// manifolds
pub mod manifold;
pub use crate::manifold::*;
/// params
pub mod params;
pub use crate::params::*;
/// points
pub mod points;
pub use crate::points::*;
/// tensors
pub mod tensor;
pub use crate::tensor::arc_tensor::*;
pub use crate::tensor::mut_tensor::*;
pub use crate::tensor::mut_tensor_view::*;
pub use crate::tensor::tensor_view::*;
/// sophus_core prelude
pub mod prelude {
pub use crate::calculus::dual::dual_matrix::IsDualMatrix;
pub use crate::calculus::dual::dual_scalar::IsDual;
pub use crate::calculus::dual::dual_scalar::IsDualScalar;
pub use crate::calculus::dual::dual_vector::IsDualVector;
pub use crate::calculus::region::IsRegion;
pub use crate::linalg::bool_mask::IsBoolMask;
pub use crate::linalg::matrix::IsMatrix;
pub use crate::linalg::matrix::IsRealMatrix;
pub use crate::linalg::matrix::IsSingleMatrix;
pub use crate::linalg::scalar::IsCoreScalar;
pub use crate::linalg::scalar::IsRealScalar;
pub use crate::linalg::scalar::IsScalar;
pub use crate::linalg::scalar::IsSingleScalar;
pub use crate::linalg::vector::IsRealVector;
pub use crate::linalg::vector::IsSingleVector;
pub use crate::linalg::vector::IsVector;
pub use crate::manifold::traits::IsManifold;
pub use crate::params::HasParams;
pub use crate::tensor::element::IsStaticTensor;
pub use crate::tensor::mut_tensor_view::IsMutTensorLike;
pub use crate::tensor::tensor_view::IsTensorLike;
pub use crate::tensor::tensor_view::IsTensorView;
}