Signed in num_traits::sign - Rust
Description: Useful functions for signed numbers (i.e. numbers that can be negative).
Keywords: rust, rustlang, rust-lang, Signed

# Trait num_traits::sign::Signed

source ·

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

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.

## Implementations on Foreign Types§

source§

### impl Signed for isize

source§

#### fn abs(&self) -> isize

source§

#### fn abs_sub(&self, other: &isize) -> isize

source§

#### fn signum(&self) -> isize

source§

#### fn is_positive(&self) -> bool

source§

#### fn is_negative(&self) -> bool

source§

### impl Signed for i8

source§

#### fn abs(&self) -> i8

source§

#### fn abs_sub(&self, other: &i8) -> i8

source§

#### fn signum(&self) -> i8

source§

#### fn is_positive(&self) -> bool

source§

#### fn is_negative(&self) -> bool

source§

### impl Signed for i16

source§

#### fn abs(&self) -> i16

source§

#### fn abs_sub(&self, other: &i16) -> i16

source§

#### fn signum(&self) -> i16

source§

#### fn is_positive(&self) -> bool

source§

#### fn is_negative(&self) -> bool

source§

### impl Signed for i32

source§

#### fn abs(&self) -> i32

source§

#### fn abs_sub(&self, other: &i32) -> i32

source§

#### fn signum(&self) -> i32

source§

#### fn is_positive(&self) -> bool

source§

#### fn is_negative(&self) -> bool

source§

### impl Signed for i64

source§

#### fn abs(&self) -> i64

source§

#### fn abs_sub(&self, other: &i64) -> i64

source§

#### fn signum(&self) -> i64

source§

#### fn is_positive(&self) -> bool

source§

#### fn is_negative(&self) -> bool

source§

### impl Signed for i128

source§

#### fn abs(&self) -> i128

source§

#### fn abs_sub(&self, other: &i128) -> i128

source§

#### fn signum(&self) -> i128

source§

#### fn is_positive(&self) -> bool

source§

#### fn is_negative(&self) -> bool

source§

### impl<T: Signed> Signed for Wrapping<T>where
Wrapping<T>: Num + Neg<Output = Wrapping<T>>,

source§

#### fn abs(&self) -> Self

source§

#### fn abs_sub(&self, other: &Self) -> Self

source§

#### fn signum(&self) -> Self

source§

#### fn is_positive(&self) -> bool

source§

#### fn is_negative(&self) -> bool

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`

## Implementors§