Skip to main content

Crate embedded_stats_f32

Crate embedded_stats_f32 

Source
Expand description

§embedded-stats-f32

StreamingStats moyenne + variance + écart type en streaming (Welford)

Statistiques f32 pour systèmes embarqués no_std.

Sans dépendance, sans unsafe, sans FPU requise.

Fournit :

  • mean moyenne arithmétique sur une tranche
  • variance variance (population, non corrigée)
  • std_dev écart type (= √variance)
  • StreamingStats moyenne en ligne (Welford), O(1) mémoire

Toutes les fonctions rejettent les valeurs non-finies (NaN, ±inf) via StatsError::NonFiniteValue.

§Exemple rapide

use embedded_stats_f32::{mean, variance, std_dev, StreamingStats};

let data = [2.0_f32, 4.0, 4.0, 4.0, 5.0, 5.0, 7.0, 9.0];

assert!((mean(&data).unwrap()     - 5.0).abs() < 1e-5);
assert!((variance(&data).unwrap() - 4.0).abs() < 1e-4);
assert!((std_dev(&data).unwrap()  - 2.0).abs() < 1e-4);

let mut s = StreamingStats::new();
for &x in &data { s.update(x).unwrap(); }
assert!((s.mean().unwrap() - 5.0).abs() < 1e-5);

Structs§

StreamingStats
Accumulateur de moyenne en ligne, O(1) mémoire.

Enums§

StatsError
Erreurs EmptySlice et NonFiniteValue pour la roboustesse du systeme

Functions§

mean
Calcule la moyenne arithmétique d’une tranche f32.
std_dev
Calcule l’écart type de population (= √variance) d’une tranche f32.
variance
Calcule la variance de population (non corrigée, diviseur N) d’une tranche f32.