Fast Numeric Integration in Rust (FNIR) 
FNIR provides various numerical integration algorithms for use.
Usage
Add the following under [dependencies] in your cargo.toml
= 0.1.1
To use for example the Michalski-Mosig variant of $\tanh\sinh$ quadrature include the following:
use ;
...
let integrator = new;
let func = ;
let result = integrator.integrate; // Ok(0.3333...)
WARNING: This project is in early stages and until 1.0.0 subject to breaking chances etc.
Use cases
This crate can be used to integrate integrals in the form $\int_a^b f(x) dx$ where $a, b \in \R$ and $f: \R \to B \subset \C$, semi-infinite integrals where either $a$ or $b$ is infinite and infinite intervals (both are infinite).
Currently used and planned quadratures are:
- Trapezoidal rule
- Michalski-Mosig $\tanh\sinh$
- Michalski-Mosig $\exp\sinh$ (semi-infinite interval)
- Michalski-Mosig $\sinh\sinh$ (infinite interval)
Planned future features include the following:
- Complex contour integrals
- Integrals over triangular surfaces
- Element-wise integration of $N$-dimensional arrays
In some distant future the following would also be nice:
- Vectorization (i.e. SIMD)
- Generic parametrization
Contributing
Feel free to submit bug reports, feature requests, and the best of all, pull requests to those issues.