## Sequential integration
___
### Description
Lightweight library for sequential integration.
___
### Now support
Single, double and triple integrals with Simpson quadrature.
___
### Examples version 1.\*.\*
```rust
sequential_integration::calculate_single_integral_simpson(
|x: f64| (1. - x.powf(2.)).sqrt(), // equation
-1., // first_integral_begin
1., // first_integral_end
0.01, // first_integral_step
)?
```
```rust
sequential_integration::calculate_double_integral_simpson(
|_x, _y| 1., // equation
-1., // first_integral_begin
1., // first_integral_end
0.01, // first_integral_step
|_x| -0., // second_integral_begin
|x: f64| (1. - x.powf(2.)).sqrt(), // second_integral_end
0.01, // second_integral_step
)?
```
```rust
sequential_integration::calculate_triple_integral_simpson(
|x: f64, y: f64, z: f64| x.powf(2.) + y.powf(2.) + z.powf(2.), // equation
-1., // first_integral_begin
1., // first_integral_end
0.01, // first_integral_step
|x| x, // second_integral_begin
|x| x / 2., // second_integral_end
0.01, // second_integral_step
|x: f64, y: f64| x.powf(2.) + y, // third_integral_begin
|_x, _y| 0., // third_integral_end
0.01, // third_integral_step
)?
```
**equation** - _f(x)_ for single integral, _f(x,y)_ for double integral and _f(x,y,z)_ for triple integral
**first_integral_[begin/end]** - _constant_
**second_integral_[begin/end]** - _f(x)_
**third_integral_[begin/end]** - _f(x,y)_
___
### Release updates:
**0.0.1** - Double and triple integrals with Simpson quadrature
**0.0.2** - Not use additional memory, correct way for last step
**0.0.3** - Support single integral
**0.0.4** - Support integration from larger bound to smaller bound
**1.0.0** - Use closures instead string equations (See [mexprp](https://docs.rs/mexprp/0.3.0/mexprp/) if you want to use string equations with closures)
___
___
# Examples for old versions:
### Examples version 0.\*.\*
```rust
sequential_integration::calculate_single_integral_simpson(
"max(sqrt(1 - x^2))", // equation
-1., // first_integral_begin
1., // first_integral_end
0.01, // first_integral_step
)?
```
```rust
sequential_integration::calculate_double_integral_simpson(
"1", // equation
-1., // first_integral_begin
1., // first_integral_end
0.01, // first_integral_step
"0", // second_integral_begin
"max(sqrt(1 - x^2))", // second_integral_end
0.01, // second_integral_step
)?
```
```rust
sequential_integration::calculate_triple_integral_simpson(
"x ^ 2 + y ^ 2 + z ^ 2", // equation
-1., // first_integral_begin
1., // first_integral_end
0.01, // first_integral_step
"x", // second_integral_begin
"x / 2", // second_integral_end
0.01, // second_integral_step
"x^2 + y", // third_integral_begin
"0", // third_integral_end
0.01, // third_integral_step
)?
```