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

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.