pub fn sign(num: f64) -> f64
Returns either -1, 0, or 1, depending on whether the number is negative, zero, or positive.
This function exists because f64::signum doesn’t check for 0.