use crate::{IncDecExt, try_mm, try_pp, mm, mmf, pp, ppf};
impl IncDecExt for f32
{
fn pp(&mut self) -> Self
{
ppf!(self)
}
fn try_pp(&mut self) -> Option<Self>
{
if *self < (f32::MAX - 0.9)
{
Some(ppf!(self))
}
else
{
None
}
}
fn mm(&mut self) -> Self
{
mmf!(self)
}
fn try_mm(&mut self) -> Option<Self>
{
if *self > (f32::MIN + 0.9)
{
Some(mmf!(self))
}
else
{
None
}
}
}
impl IncDecExt for f64
{
fn pp(&mut self) -> Self
{
ppf!(self)
}
fn try_pp(&mut self) -> Option<Self>
{
if *self < (f64::MAX - 0.9)
{
Some(ppf!(self))
}
else
{
None
}
}
fn mm(&mut self) -> Self
{
mmf!(self)
}
fn try_mm(&mut self) -> Option<Self>
{
if *self > (f64::MIN + 0.9)
{
Some(mmf!(self))
}
else
{
None
}
}
}
impl IncDecExt for i8
{
fn pp(&mut self) -> Self
{
pp!(self)
}
fn try_pp(&mut self) -> Option<Self>
{
try_pp!(self)
}
fn mm(&mut self) -> Self
{
mm!(self)
}
fn try_mm(&mut self) -> Option<Self>
{
try_mm!(self)
}
}
impl IncDecExt for i16
{
fn pp(&mut self) -> Self
{
pp!(self)
}
fn try_pp(&mut self) -> Option<Self>
{
try_pp!(self)
}
fn mm(&mut self) -> Self
{
mm!(self)
}
fn try_mm(&mut self) -> Option<Self>
{
try_mm!(self)
}
}
impl IncDecExt for i32
{
fn pp(&mut self) -> Self
{
pp!(self)
}
fn try_pp(&mut self) -> Option<Self>
{
try_pp!(self)
}
fn mm(&mut self) -> Self
{
mm!(self)
}
fn try_mm(&mut self) -> Option<Self>
{
try_mm!(self)
}
}
impl IncDecExt for i64
{
fn pp(&mut self) -> Self
{
pp!(self)
}
fn try_pp(&mut self) -> Option<Self>
{
try_pp!(self)
}
fn mm(&mut self) -> Self
{
mm!(self)
}
fn try_mm(&mut self) -> Option<Self>
{
try_mm!(self)
}
}
impl IncDecExt for i128
{
fn pp(&mut self) -> Self
{
pp!(self)
}
fn try_pp(&mut self) -> Option<Self>
{
try_pp!(self)
}
fn mm(&mut self) -> Self
{
mm!(self)
}
fn try_mm(&mut self) -> Option<Self>
{
try_mm!(self)
}
}
impl IncDecExt for isize
{
fn pp(&mut self) -> Self
{
pp!(self)
}
fn try_pp(&mut self) -> Option<Self>
{
try_pp!(self)
}
fn mm(&mut self) -> Self
{
mm!(self)
}
fn try_mm(&mut self) -> Option<Self>
{
try_mm!(self)
}
}
impl IncDecExt for u8
{
fn pp(&mut self) -> Self
{
pp!(self)
}
fn try_pp(&mut self) -> Option<Self>
{
try_pp!(self)
}
fn mm(&mut self) -> Self
{
mm!(self)
}
fn try_mm(&mut self) -> Option<Self>
{
try_mm!(self)
}
}
impl IncDecExt for u16
{
fn pp(&mut self) -> Self
{
pp!(self)
}
fn try_pp(&mut self) -> Option<Self>
{
try_pp!(self)
}
fn mm(&mut self) -> Self
{
mm!(self)
}
fn try_mm(&mut self) -> Option<Self>
{
try_mm!(self)
}
}
impl IncDecExt for u32
{
fn pp(&mut self) -> Self
{
pp!(self)
}
fn try_pp(&mut self) -> Option<Self>
{
try_pp!(self)
}
fn mm(&mut self) -> Self
{
mm!(self)
}
fn try_mm(&mut self) -> Option<Self>
{
try_mm!(self)
}
}
impl IncDecExt for u64
{
fn pp(&mut self) -> Self
{
pp!(self)
}
fn try_pp(&mut self) -> Option<Self>
{
try_pp!(self)
}
fn mm(&mut self) -> Self
{
mm!(self)
}
fn try_mm(&mut self) -> Option<Self>
{
try_mm!(self)
}
}
impl IncDecExt for u128
{
fn pp(&mut self) -> Self
{
pp!(self)
}
fn try_pp(&mut self) -> Option<Self>
{
try_pp!(self)
}
fn mm(&mut self) -> Self
{
mm!(self)
}
fn try_mm(&mut self) -> Option<Self>
{
try_mm!(self)
}
}
impl IncDecExt for usize
{
fn pp(&mut self) -> Self
{
pp!(self)
}
fn try_pp(&mut self) -> Option<Self>
{
try_pp!(self)
}
fn mm(&mut self) -> Self
{
mm!(self)
}
fn try_mm(&mut self) -> Option<Self>
{
try_mm!(self)
}
}