for ]-inf, inf[ integrals, you can use Gauss Hermite method, just keep in mind to multiply your function with exp(x^2).
use integrate::{
gauss_quadrature::hermite::gauss_hermite_rule,
};
use statrs::distribution::{Continuous, Normal};
fn dnorm(x: f64) -> f64 {
Normal::new(0.0, 1.0).unwrap().pdf(x)* x.powi(2).exp()
}
fn main() {
let n: usize = 170;
let result = gauss_hermite_rule(dnorm, n);
println!("Result: {:?}", result);
}
I got Result: 1.0000000183827922.