/// Marker trait for types that can represent both negative and positive values (including zero).
/// Implementers must ensure the type's domain includes negative, zero, and positive values.
pub trait AnySign {}
macro_rules! impl_any_sign {
($($ty:ty),+ $(,)?) => {
$(impl AnySign for $ty {})+
};
}
impl_any_sign!(i8, i16, i32, i64, i128, isize, f32, f64);