Expand description
Primitive zero-crossing helpers.
Exact zero values are treated as neutral samples: they do not create a crossing on their own, but they also do not break the sign continuity between surrounding non-zero finite samples.
§Examples
use use_zero_crossing::{crosses_zero, zero_crossing_count, zero_crossing_rate};
let samples = [-1.0, 0.0, 1.0, -1.0];
assert!(crosses_zero(-1.0, 1.0));
assert_eq!(zero_crossing_count(&samples), 2);
assert_eq!(zero_crossing_rate(&samples), Some(2.0 / 3.0));