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 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
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