Trait num_traits::sign::Signed

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

source

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

source

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.

source

fn signum(&self) -> Self

Returns the sign of the number.

For `f32` and `f64`:

• `1.0` if the number is positive, `+0.0` or `INFINITY`
• `-1.0` if the number is negative, `-0.0` or `NEG_INFINITY`
• `NaN` if the number is `NaN`

For signed integers:

• `0` if the number is zero
• `1` if the number is positive
• `-1` if the number is negative
source

fn is_positive(&self) -> bool

Returns true if the number is positive and false if the number is zero or negative.

source

fn is_negative(&self) -> bool

Returns true if the number is negative and false if the number is zero or positive.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl Signed for f32

source§

fn abs(&self) -> f32

Computes the absolute value. Returns `NAN` if the number is `NAN`.

source§

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 between`self` and `other` is returned.

source§

fn signum(&self) -> f32

§Returns
• `1.0` if the number is positive, `+0.0` or `INFINITY`
• `-1.0` if the number is negative, `-0.0` or `NEG_INFINITY`
• `NAN` if the number is NaN
source§

fn is_positive(&self) -> bool

Returns `true` if the number is positive, including `+0.0` and `INFINITY`

source§

fn is_negative(&self) -> bool

Returns `true` if the number is negative, including `-0.0` and `NEG_INFINITY`

source§

impl Signed for f64

source§

fn abs(&self) -> f64

Computes the absolute value. Returns `NAN` if the number is `NAN`.

source§

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 between`self` and `other` is returned.

source§

fn signum(&self) -> f64

§Returns
• `1.0` if the number is positive, `+0.0` or `INFINITY`
• `-1.0` if the number is negative, `-0.0` or `NEG_INFINITY`
• `NAN` if the number is NaN
source§

fn is_positive(&self) -> bool

Returns `true` if the number is positive, including `+0.0` and `INFINITY`

source§

fn is_negative(&self) -> bool

Returns `true` if the number is negative, including `-0.0` and `NEG_INFINITY`

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§