Dispatch a range-vector function by name.
(name: &str, samples: &[Sample], scalar_arg: Option<f64>)
| 253 | |
| 254 | /// Dispatch a range-vector function by name. |
| 255 | pub fn call_range_func(name: &str, samples: &[Sample], scalar_arg: Option<f64>) -> Option<f64> { |
| 256 | match name { |
| 257 | "rate" => rate(samples), |
| 258 | "irate" => irate(samples), |
| 259 | "increase" => increase(samples), |
| 260 | "delta" => delta(samples), |
| 261 | "idelta" => idelta(samples), |
| 262 | "deriv" => deriv(samples), |
| 263 | "predict_linear" => predict_linear(samples, scalar_arg.unwrap_or(0.0)), |
| 264 | "avg_over_time" => avg_over_time(samples), |
| 265 | "sum_over_time" => sum_over_time(samples), |
| 266 | "min_over_time" => min_over_time(samples), |
| 267 | "max_over_time" => max_over_time(samples), |
| 268 | "count_over_time" => count_over_time(samples), |
| 269 | "quantile_over_time" => quantile_over_time(scalar_arg.unwrap_or(0.5), samples), |
| 270 | "changes" => changes(samples), |
| 271 | "resets" => resets(samples), |
| 272 | "absent_over_time" => absent_over_time(samples), |
| 273 | "stddev_over_time" => stddev_over_time(samples), |
| 274 | "stdvar_over_time" => stdvar_over_time(samples), |
| 275 | _ => None, |
| 276 | } |
| 277 | } |
| 278 | |
| 279 | /// Dispatch `holt_winters` separately (needs two scalar args). |
| 280 | pub fn call_holt_winters(samples: &[Sample], sf: Option<f64>, tf: Option<f64>) -> Option<f64> { |
no test coverage detected