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
/*!
# quad_gk
Fast and precise numerical integration library based on Gauss Kronrod quadrature rule.
## Basic usage
```rust
use std::sync::Arc;
use quad_gk::*;
let integral: Integral = quad_gk!(
Arc::new(|x: f64| x.sin() * (-x).exp()),
0.0..100.0,
);
// estimated relative error in numerical integration is smaller than 1e-6 by default.
assert!(integral.is_ok(1e-6))
```
## More precise calculation
```rust
use std::sync::Arc;
use quad_gk::*;
let integral: Integral = quad_gk!(
Arc::new(|x: f64| x.sin() * (-x).exp()),
0.0..100.0,
rel_tol=1e-14,
max_interval_count=1_000_000,
coef=GK91,
);
// estimated relative error in numerical integration is smaller than 1e-14!
assert!(integral.is_ok(1e-14))
```
*/
pub use *;
pub use *;
pub use *;
pub use *;