Trait num::traits::sign::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.

Implementors