pub trait FloatRoundOps {
fn floor(self) -> Self;
fn ceil(self) -> Self;
fn round(self) -> Self;
fn trunc(self) -> Self;
fn fract(self) -> Self;
}
macro_rules! impl_float_round {
($($t:ty),*) => {
$(impl FloatRoundOps for $t {
#[inline] fn floor(self) -> Self { self.floor() }
#[inline] fn ceil(self) -> Self { self.ceil() }
#[inline] fn round(self) -> Self { self.round() }
#[inline] fn trunc(self) -> Self { self.trunc() }
#[inline] fn fract(self) -> Self { self.fract() }
})*
};
}
impl_float_round!(f32, f64);