numra_integrate/lib.rs
1//! Numerical integration and quadrature for Numra.
2//!
3//! This crate provides numerical integration methods:
4//!
5//! - **Adaptive quadrature** ([`quad`]): Gauss-Kronrod G7K15 with adaptive subdivision
6//! - **Fixed-order Gaussian** ([`gauss_legendre`], [`gauss_laguerre`], [`gauss_hermite`]):
7//! Precomputed nodes/weights for finite, semi-infinite, and infinite intervals
8//! - **Composite rules** ([`trapezoid`], [`simpson`], [`romberg`]):
9//! Classical rules for sampled data and function-based integration
10//! - **Multi-dimensional** ([`dblquad`]): Iterated 1D quadrature for double integrals
11//!
12//! Author: Moussa Leblouba
13//! Date: 9 February 2026
14//! Modified: 2 May 2026
15
16pub mod adaptive;
17pub mod composite;
18pub mod error;
19pub mod fixed;
20pub mod multidim;
21
22pub use adaptive::{quad, QuadOptions, QuadResult};
23pub use composite::{cumulative_trapezoid, romberg, simpson, trapezoid, trapezoid_nonuniform};
24pub use error::IntegrationError;
25pub use fixed::{gauss_hermite, gauss_laguerre, gauss_legendre};
26pub use multidim::dblquad;