pub trait Signed:
Sized
+ Num
+ Neg<Output = Self> {
// Required methods
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§
Sourcefn abs(&self) -> Self
fn abs(&self) -> Self
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
.
Sourcefn abs_sub(&self, other: &Self) -> Self
fn abs_sub(&self, other: &Self) -> Self
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.
Sourcefn signum(&self) -> Self
fn signum(&self) -> Self
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
Sourcefn 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.
Sourcefn 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.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementations on Foreign Types§
Source§impl Signed for f32
impl Signed for f32
Source§fn abs_sub(&self, other: &f32) -> f32
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.
Source§fn signum(&self) -> f32
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
Source§fn is_positive(&self) -> bool
fn is_positive(&self) -> bool
Returns true
if the number is positive, including +0.0
and INFINITY
Source§fn is_negative(&self) -> bool
fn is_negative(&self) -> bool
Returns true
if the number is negative, including -0.0
and NEG_INFINITY
Source§impl Signed for f64
impl Signed for f64
Source§fn abs_sub(&self, other: &f64) -> f64
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.
Source§fn signum(&self) -> f64
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
Source§fn is_positive(&self) -> bool
fn is_positive(&self) -> bool
Returns true
if the number is positive, including +0.0
and INFINITY
Source§fn is_negative(&self) -> bool
fn is_negative(&self) -> bool
Returns true
if the number is negative, including -0.0
and NEG_INFINITY