Trait fixed::traits::FixedSigned [−][src]
pub trait FixedSigned: Fixed where
Self: Neg<Output = Self>, {}Show methods
fn signed_bits(self) -> u32; fn is_positive(self) -> bool; fn is_negative(self) -> bool; fn abs(self) -> Self; fn unsigned_abs(self) -> Self::Unsigned; fn unsigned_dist(self, other: Self) -> Self::Unsigned; fn signum(self) -> Self; fn checked_abs(self) -> Option<Self>; fn checked_signum(self) -> Option<Self>; fn saturating_abs(self) -> Self; fn saturating_signum(self) -> Self; fn wrapping_abs(self) -> Self; fn wrapping_signum(self) -> Self; fn unwrapped_abs(self) -> Self; fn unwrapped_signum(self) -> Self; fn overflowing_abs(self) -> (Self, bool); fn overflowing_signum(self) -> (Self, bool);
Expand description
This trait provides methods common to all signed fixed-point numbers.
Methods common to all fixed-point numbers including unsigned
fixed-point numbers are provided by the Fixed
supertrait.
This trait is sealed and cannot be implemented for more types; it
is implemented for FixedI8
, FixedI16
, FixedI32
,
FixedI64
, and FixedI128
.
Required methods
fn signed_bits(self) -> u32
[src]
Expand description
Returns the number of bits required to represent the value.
See also FixedI32::signed_bits
.
fn is_positive(self) -> bool
[src]
Expand description
Returns true
if the number is > 0.
See also FixedI32::is_positive
.
fn is_negative(self) -> bool
[src]
Expand description
Returns true
if the number is < 0.
See also FixedI32::is_negative
.
fn abs(self) -> Self
[src]
Expand description
Returns the absolute value.
See also FixedI32::abs
.
fn unsigned_abs(self) -> Self::Unsigned
[src]
Expand description
Returns the absolute value using an unsigned type without any wrapping or panicking.
See also FixedI32::unsigned_abs
.
fn unsigned_dist(self, other: Self) -> Self::Unsigned
[src]
Expand description
Returns the distance from self
to other
using an unsigned type
without any wrapping or panicking.
See also
FixedI32::unsigned_dist
.
fn signum(self) -> Self
[src]
Expand description
Returns a number representing the sign of self
.
See also FixedI32::signum
.
Panics
When debug assertions are enabled, this method panics
- if the value is positive and the fixed-point number has zero or one integer bits such that it cannot hold the value 1.
- if the value is negative and the fixed-point number has zero integer bits, such that it cannot hold the value −1.
When debug assertions are not enabled, the wrapped value can be returned in those cases, but it is not considered a breaking change if in the future it panics; using this method when 1 and −1 cannot be represented is almost certainly a bug.
fn checked_abs(self) -> Option<Self>
[src]
Expand description
Checked absolute value. Returns the absolute value, or None
on overflow.
Overflow can only occur when trying to find the absolute value of the minimum value.
See also FixedI32::checked_abs
.
fn checked_signum(self) -> Option<Self>
[src]
Expand description
Checked signum. Returns a number representing the sign of
self
, or None
on overflow.
Overflow can only occur
- if the value is positive and the fixed-point number has zero or one integer bits such that it cannot hold the value 1.
- if the value is negative and the fixed-point number has zero integer bits, such that it cannot hold the value −1.
See also
FixedI32::checked_signum
.
fn saturating_abs(self) -> Self
[src]
Expand description
Saturating absolute value. Returns the absolute value, saturating on overflow.
Overflow can only occur when trying to find the absolute value of the minimum value.
See also
FixedI32::saturating_abs
.
fn saturating_signum(self) -> Self
[src]
Expand description
Saturating signum. Returns a number representing the sign of
self
, saturating on overflow.
Overflow can only occur
- if the value is positive and the fixed-point number has zero or one integer bits such that it cannot hold the value 1.
- if the value is negative and the fixed-point number has zero integer bits, such that it cannot hold the value −1.
See also
FixedI32::saturating_signum
.
fn wrapping_abs(self) -> Self
[src]
Expand description
Wrapping absolute value. Returns the absolute value, wrapping on overflow.
Overflow can only occur when trying to find the absolute value of the minimum value.
See also FixedI32::wrapping_abs
.
fn wrapping_signum(self) -> Self
[src]
Expand description
Wrapping signum. Returns a number representing the sign of
self
, wrapping on overflow.
Overflow can only occur
- if the value is positive and the fixed-point number has zero or one integer bits such that it cannot hold the value 1.
- if the value is negative and the fixed-point number has zero integer bits, such that it cannot hold the value −1.
See also
FixedI32::wrapping_signum
.
fn unwrapped_abs(self) -> Self
[src]
Expand description
Unwrapped absolute value. Returns the absolute value, panicking on overflow.
Overflow can only occur when trying to find the absolute value of the minimum value.
See also
FixedI32::unwrapped_abs
.
Panics
Panics if the result does not fit.
fn unwrapped_signum(self) -> Self
[src]
Expand description
Unwrapped signum. Returns a number representing the sign of
self
, panicking on overflow.
Overflow can only occur
- if the value is positive and the fixed-point number has zero or one integer bits such that it cannot hold the value 1.
- if the value is negative and the fixed-point number has zero integer bits, such that it cannot hold the value −1.
See also
FixedI32::unwrapped_signum
.
Panics
Panics if the result does not fit.
fn overflowing_abs(self) -> (Self, bool)
[src]
Expand description
Overflowing absolute value.
Returns a tuple of the fixed-point number and a bool
,
indicating whether an overflow has occurred. On overflow, the
wrapped value is returned.
See also
FixedI32::overflowing_abs
.
fn overflowing_signum(self) -> (Self, bool)
[src]
Expand description
Overflowing signum.
Returns a tuple of the signum and a bool
, indicating
whether an overflow has occurred. On overflow, the wrapped
value is returned.
Overflow can only occur
- if the value is positive and the fixed-point number has zero or one integer bits such that it cannot hold the value 1.
- if the value is negative and the fixed-point number has zero integer bits, such that it cannot hold the value −1.
See also
FixedI32::overflowing_signum
.
Implementors
impl<Frac: LeEqU8> FixedSigned for FixedI8<Frac>
[src]
impl<Frac: LeEqU8> FixedSigned for FixedI8<Frac>
[src]fn signed_bits(self) -> u32
[src]
fn abs(self) -> Self
[src]
fn unsigned_abs(self) -> Self::Unsigned
[src]
fn unsigned_dist(self, other: Self) -> Self::Unsigned
[src]
fn signum(self) -> Self
[src]
fn checked_abs(self) -> Option<Self>
[src]
fn checked_signum(self) -> Option<Self>
[src]
fn saturating_abs(self) -> Self
[src]
fn saturating_signum(self) -> Self
[src]
fn wrapping_abs(self) -> Self
[src]
fn wrapping_signum(self) -> Self
[src]
fn unwrapped_abs(self) -> Self
[src]
fn unwrapped_signum(self) -> Self
[src]
fn overflowing_abs(self) -> (Self, bool)
[src]
fn overflowing_signum(self) -> (Self, bool)
[src]
fn is_positive(self) -> bool
[src]
fn is_negative(self) -> bool
[src]
impl<Frac: LeEqU16> FixedSigned for FixedI16<Frac>
[src]
impl<Frac: LeEqU16> FixedSigned for FixedI16<Frac>
[src]fn signed_bits(self) -> u32
[src]
fn abs(self) -> Self
[src]
fn unsigned_abs(self) -> Self::Unsigned
[src]
fn unsigned_dist(self, other: Self) -> Self::Unsigned
[src]
fn signum(self) -> Self
[src]
fn checked_abs(self) -> Option<Self>
[src]
fn checked_signum(self) -> Option<Self>
[src]
fn saturating_abs(self) -> Self
[src]
fn saturating_signum(self) -> Self
[src]
fn wrapping_abs(self) -> Self
[src]
fn wrapping_signum(self) -> Self
[src]
fn unwrapped_abs(self) -> Self
[src]
fn unwrapped_signum(self) -> Self
[src]
fn overflowing_abs(self) -> (Self, bool)
[src]
fn overflowing_signum(self) -> (Self, bool)
[src]
fn is_positive(self) -> bool
[src]
fn is_negative(self) -> bool
[src]
impl<Frac: LeEqU32> FixedSigned for FixedI32<Frac>
[src]
impl<Frac: LeEqU32> FixedSigned for FixedI32<Frac>
[src]fn signed_bits(self) -> u32
[src]
fn abs(self) -> Self
[src]
fn unsigned_abs(self) -> Self::Unsigned
[src]
fn unsigned_dist(self, other: Self) -> Self::Unsigned
[src]
fn signum(self) -> Self
[src]
fn checked_abs(self) -> Option<Self>
[src]
fn checked_signum(self) -> Option<Self>
[src]
fn saturating_abs(self) -> Self
[src]
fn saturating_signum(self) -> Self
[src]
fn wrapping_abs(self) -> Self
[src]
fn wrapping_signum(self) -> Self
[src]
fn unwrapped_abs(self) -> Self
[src]
fn unwrapped_signum(self) -> Self
[src]
fn overflowing_abs(self) -> (Self, bool)
[src]
fn overflowing_signum(self) -> (Self, bool)
[src]
fn is_positive(self) -> bool
[src]
fn is_negative(self) -> bool
[src]
impl<Frac: LeEqU64> FixedSigned for FixedI64<Frac>
[src]
impl<Frac: LeEqU64> FixedSigned for FixedI64<Frac>
[src]fn signed_bits(self) -> u32
[src]
fn abs(self) -> Self
[src]
fn unsigned_abs(self) -> Self::Unsigned
[src]
fn unsigned_dist(self, other: Self) -> Self::Unsigned
[src]
fn signum(self) -> Self
[src]
fn checked_abs(self) -> Option<Self>
[src]
fn checked_signum(self) -> Option<Self>
[src]
fn saturating_abs(self) -> Self
[src]
fn saturating_signum(self) -> Self
[src]
fn wrapping_abs(self) -> Self
[src]
fn wrapping_signum(self) -> Self
[src]
fn unwrapped_abs(self) -> Self
[src]
fn unwrapped_signum(self) -> Self
[src]
fn overflowing_abs(self) -> (Self, bool)
[src]
fn overflowing_signum(self) -> (Self, bool)
[src]
fn is_positive(self) -> bool
[src]
fn is_negative(self) -> bool
[src]
impl<Frac: LeEqU128> FixedSigned for FixedI128<Frac>
[src]
impl<Frac: LeEqU128> FixedSigned for FixedI128<Frac>
[src]