pub trait CssNumberNewType<Number: CssNumber>: Sized
{
#[inline(always)]
fn to_f32(&self) -> f32;
#[inline(always)]
fn as_CssNumber(&self) -> &Number;
#[inline(always)]
fn to_CssNumber(&self) -> Number
{
*self.as_CssNumber()
}
#[inline(always)]
fn is_zero(&self) -> bool
{
const PositiveZero: f32 = 0.0_f32;
self.to_f32() == PositiveZero
}
#[inline(always)]
fn is_positive(&self) -> bool
{
!self.is_zero() && self.to_f32().is_sign_positive()
}
#[inline(always)]
fn is_negative(&self) -> bool
{
self.to_f32().is_sign_negative()
}
#[inline(always)]
fn is_zero_or_positive(&self) -> bool
{
self.to_f32().is_sign_positive()
}
#[inline(always)]
fn is_zero_or_negative(&self) -> bool
{
self.is_zero() || self.is_negative()
}
}