Skip to main content

simpson_integral

Function simpson_integral 

pub fn simpson_integral<F>(
    function: F,
    interval: IntegrationInterval,
    subintervals: usize,
) -> Result<f64, CalculusError>
where F: FnMut(f64) -> f64,
Expand description

Approximates a definite integral with Simpson’s rule.

§Errors

Returns CalculusError when the interval or subinterval count is invalid, when an odd number of subintervals is used, or when sampled evaluations are not finite.

§Examples

use use_calculus::{IntegrationInterval, simpson_integral};

let interval = IntegrationInterval::try_new(0.0, 1.0)?;
let area = simpson_integral(|x| x * x, interval, 64)?;

assert!((area - (1.0 / 3.0)).abs() < 1.0e-6);