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

## Implementations on Foreign Types

`impl Signed for isize`

[src]

`impl Signed for i8`

[src]

`impl Signed for i16`

[src]

`impl Signed for i32`

[src]

`impl Signed for i64`

[src]

`impl<T: Signed> Signed for Wrapping<T> where`

Wrapping<T>: Num + Neg<Output = Wrapping<T>>,

[src]

Wrapping<T>: Num + Neg<Output = Wrapping<T>>,

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

`fn signum(&self) -> f32`

[src]

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

`fn signum(&self) -> f64`

[src]

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