use crate::misc::FloatingPoint;
pub fn arc_de_fuzz<T: FloatingPoint>(value: T) -> T {
const FUZZ: f64 = 1.0e-6;
let v = value.to_f64().unwrap();
if v.abs() < FUZZ {
T::zero()
} else if (v - 1.0).abs() < FUZZ {
T::one()
} else if (v + 1.0).abs() < FUZZ {
-T::one()
} else {
value
}
}