1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
use crate::*; use std::ops::Sub; #[inline(always)] pub fn abs<T: Zero + PartialOrd + Sub<Output = T>>(v: T) -> T { if v < zero() { zero::<T>() - v } else { v } } #[inline(always)] pub fn is_negative<T: Zero + PartialOrd>(v: T) -> bool { v < zero() }