Trait sp_arithmetic::traits::Signed
source · [−]pub trait Signed: Num + Neg<Output = Self> {
fn abs(&self) -> Self;
fn abs_sub(&self, other: &Self) -> Self;
fn signum(&self) -> Self;
fn is_positive(&self) -> bool;
fn is_negative(&self) -> bool;
}
Expand description
Useful functions for signed numbers (i.e. numbers that can be negative).
Required methods
Computes the absolute value.
For f32
and f64
, NaN
will be returned if the number is NaN
.
For signed integers, ::MIN
will be returned if the number is ::MIN
.
The positive difference of two numbers.
Returns zero
if the number is less than or equal to other
, otherwise the difference
between self
and other
is returned.
Returns the sign of the number.
For f32
and f64
:
1.0
if the number is positive,+0.0
orINFINITY
-1.0
if the number is negative,-0.0
orNEG_INFINITY
NaN
if the number isNaN
For signed integers:
0
if the number is zero1
if the number is positive-1
if the number is negative
fn is_positive(&self) -> bool
fn is_positive(&self) -> bool
Returns true if the number is positive and false if the number is zero or negative.
fn is_negative(&self) -> bool
fn is_negative(&self) -> bool
Returns true if the number is negative and false if the number is zero or positive.
Implementations on Foreign Types
sourceimpl<T> Signed for Wrapping<T> where
T: Signed,
Wrapping<T>: Num,
Wrapping<T>: Neg,
<Wrapping<T> as Neg>::Output == Wrapping<T>,
impl<T> Signed for Wrapping<T> where
T: Signed,
Wrapping<T>: Num,
Wrapping<T>: Neg,
<Wrapping<T> as Neg>::Output == Wrapping<T>,
sourceimpl Signed for f64
impl Signed for f64
sourcepub fn abs_sub(&self, other: &f64) -> f64
pub fn abs_sub(&self, other: &f64) -> f64
The positive difference of two numbers. Returns 0.0
if the number is
less than or equal to other
, otherwise the difference betweenself
and other
is returned.
sourcepub fn signum(&self) -> f64
pub fn signum(&self) -> f64
Returns
1.0
if the number is positive,+0.0
orINFINITY
-1.0
if the number is negative,-0.0
orNEG_INFINITY
NAN
if the number is NaN
sourcepub fn is_positive(&self) -> bool
pub fn is_positive(&self) -> bool
Returns true
if the number is positive, including +0.0
and INFINITY
sourcepub fn is_negative(&self) -> bool
pub fn is_negative(&self) -> bool
Returns true
if the number is negative, including -0.0
and NEG_INFINITY
sourceimpl Signed for f32
impl Signed for f32
sourcepub fn abs_sub(&self, other: &f32) -> f32
pub fn abs_sub(&self, other: &f32) -> f32
The positive difference of two numbers. Returns 0.0
if the number is
less than or equal to other
, otherwise the difference betweenself
and other
is returned.
sourcepub fn signum(&self) -> f32
pub fn signum(&self) -> f32
Returns
1.0
if the number is positive,+0.0
orINFINITY
-1.0
if the number is negative,-0.0
orNEG_INFINITY
NAN
if the number is NaN
sourcepub fn is_positive(&self) -> bool
pub fn is_positive(&self) -> bool
Returns true
if the number is positive, including +0.0
and INFINITY
sourcepub fn is_negative(&self) -> bool
pub fn is_negative(&self) -> bool
Returns true
if the number is negative, including -0.0
and NEG_INFINITY