Trait num_traits::sign::Signed [−][src]
pub trait Signed: Sized + 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; }
Useful functions for signed numbers (i.e. numbers that can be negative).
Required Methods
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
.
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.
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
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
Returns true if the number is negative and false if the number is zero or positive.
Implementations on Foreign Types
impl Signed for isize
[src]
impl Signed for isize
impl Signed for i8
[src]
impl Signed for i8
impl Signed for i16
[src]
impl Signed for i16
impl Signed for i32
[src]
impl Signed for i32
impl Signed for i64
[src]
impl Signed for i64
impl Signed for i128
[src]
impl Signed for i128
impl<T: Signed> Signed for Wrapping<T> where
Wrapping<T>: Num + Neg<Output = Wrapping<T>>,
[src]
impl<T: Signed> Signed for Wrapping<T> where
Wrapping<T>: Num + Neg<Output = Wrapping<T>>,
impl Signed for f32
[src]
impl Signed for f32
fn abs(&self) -> f32
[src]
fn abs(&self) -> f32
Computes the absolute value. Returns NAN
if the number is NAN
.
fn abs_sub(&self, other: &f32) -> f32
[src]
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.
fn signum(&self) -> f32
[src]
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
fn is_positive(&self) -> bool
[src]
fn is_positive(&self) -> bool
Returns true
if the number is positive, including +0.0
and INFINITY
fn is_negative(&self) -> bool
[src]
fn is_negative(&self) -> bool
Returns true
if the number is negative, including -0.0
and NEG_INFINITY
impl Signed for f64
[src]
impl Signed for f64
fn abs(&self) -> f64
[src]
fn abs(&self) -> f64
Computes the absolute value. Returns NAN
if the number is NAN
.
fn abs_sub(&self, other: &f64) -> f64
[src]
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.
fn signum(&self) -> f64
[src]
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
fn is_positive(&self) -> bool
[src]
fn is_positive(&self) -> bool
Returns true
if the number is positive, including +0.0
and INFINITY
fn is_negative(&self) -> bool
[src]
fn is_negative(&self) -> bool
Returns true
if the number is negative, including -0.0
and NEG_INFINITY