[][src]Module gkquad::single

This is supported on feature="single" only.

Performs 1-dimentional numerical integration

Examples

In order to calculate the simple integral, you can use integral function.

use gkquad::single::integral;

// calculate the integral over interval (0.0, 1.0)
let result = integral(|x: f64| x.sin() * (- x * x).exp(), 0.0..1.0)
        .estimate()
        .unwrap();

If you want to calculate more complicated integral, you can use Integrator object.

use std::f64::{INFINITY, NEG_INFINITY};

use gkquad::single::Integrator;
use gkquad::single::algorithm::QAGP;

// calculate the integral over interval (-∞, ∞), with QAGP algorithm,
// maximum iteration limit being 100, singular point on the origin of coordinate.
let result = Integrator::new(|x: f64| 1. - (-(x.abs() / 1.6).powf(-2.3)).exp(), QAGP::new())
        .limit(100)
        .points(&[0.])
        .run(NEG_INFINITY..INFINITY)
        .estimate()
        .unwrap();

Modules

algorithmfeature="single"

Algorithms for 1-dimentional numerical integration

Structs

IntegrationConfigfeature="single"

Integration configuration

Integratorfeature="single"

Integration Executor

Intervalfeature="single"

Represent the interval for which the integral is estimated.

QKResultfeature="single"

holds the result of Gauss-Kronrod integration

Traits

Integrandfeature="single"

The function that is to be integrated

Functions

integralfeature="single"

Performs integration using QAGS algorithm, which achieves great performance for many kinds of functions.

integral_with_configfeature="single"

Performs the integration with custom configuration.

qk17feature="single"

Performs Gauss-Kronrod integration with 17-point kronrod rule

qk25feature="single"

Performs Gauss-Kronrod integration with 25-point kronrod rule

qk33feature="single"

Performs Gauss-Kronrod integration with 33-point kronrod rule

qk41feature="single"

Performs Gauss-Kronrod integration with 41-point kronrod rule

qk49feature="single"

Performs Gauss-Kronrod integration with 49-point kronrod rule

qk57feature="single"

Performs Gauss-Kronrod integration with 57-point kronrod rule

Type Definitions

Pointsfeature="single"

Singular points