Skip to main content

simd_variance

Function simd_variance 

Source
pub fn simd_variance(data: &[f64], mean: f64) -> f64
Expand description

Computes the population variance given a precomputed mean.

On x86_64 with AVX2/AVX-512: uses FMA (_mm256_fmadd_pd / _mm512_fmadd_pd) for fused multiply-add in the squared-difference accumulation.

§Examples

use chronix_analytics::compute::{simd_mean, simd_variance};
let data = [2.0, 4.0, 4.0, 4.0, 5.0, 5.0, 7.0, 9.0];
let mean = simd_mean(&data);
let var = simd_variance(&data, mean);
assert!((var - 32.0 / 7.0).abs() < 1e-10); // sample variance (Bessel-corrected)