# Trait num_traits::Signed [−] [src]

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

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

### `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 f64`[src]

#### `fn abs(&self) -> f64`[src]

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

#### `fn abs_sub(&self, other: &f64) -> f64`[src]

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.

# 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

#### `fn is_positive(&self) -> bool`[src]

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

#### `fn is_negative(&self) -> bool`[src]

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

### `impl Signed for f32`[src]

#### `fn abs(&self) -> f32`[src]

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

#### `fn abs_sub(&self, other: &f32) -> f32`[src]

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.

# 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

#### `fn is_positive(&self) -> bool`[src]

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

#### `fn is_negative(&self) -> bool`[src]

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