reference_interval/standard_deviation.rs
1use num_traits::{Float, NumCast};
2use crate::mean::mean;
3
4// Calculate the standard deviation of a standard reference interval.
5#[allow(dead_code)]
6pub fn standard_deviation<F>(lower: F, upper: F) -> F
7where
8 F: Float + NumCast,
9{
10 (mean(lower, upper) - lower) / F::from(2.0).unwrap()
11}
12
13#[cfg(test)]
14mod tests {
15 use super::*;
16
17 #[test]
18 fn test() {
19 let x = standard_deviation(11.0, 97.0);
20 assert_eq!(x as i32, 21);
21 }
22
23}