pub type NegativeFinite = NegativeFinite<f64>;Expand description
Equivalent to NegativeFinite<f64>
Aliased Type§
pub struct NegativeFinite(/* private fields */);Implementations
Source§impl NegativeFinite
impl NegativeFinite
Sourcepub const fn accept_infinity() -> bool
pub const fn accept_infinity() -> bool
Returns true if the type can accept infinity
Sourcepub const fn accept_zero() -> bool
pub const fn accept_zero() -> bool
Returns true if the type can accept zero
Sourcepub const fn accept_negative() -> bool
pub const fn accept_negative() -> bool
Returns true if the type can accept negative values
Sourcepub const fn accept_positive() -> bool
pub const fn accept_positive() -> bool
Returns true if the type can accept positive values
Source§impl NegativeFinite<f64>
impl NegativeFinite<f64>
Sourcepub const fn new(value: f64) -> Result<Self, InvalidNumber>
pub const fn new(value: f64) -> Result<Self, InvalidNumber>
Sourcepub const unsafe fn new_unchecked(value: f64) -> Self
pub const unsafe fn new_unchecked(value: f64) -> Self
Creates a new value from a primitive type with zero overhead (in release mode). It is up to the caller to ensure that the value is valid
§Examples
let x = unsafe { NegativeFinite::new_unchecked(-3.0) };
assert_eq!(x, -3.0);§Safety
The caller must ensure that the value is valid. It will panic in debug mode if the value is not valid, but in release mode the behavior is undefined
Sourcepub const fn get(&self) -> f64
pub const fn get(&self) -> f64
Returns the value as a primitive type
§Examples
use typed_floats::tf64::NegativeFinite;
let x = NegativeFinite::new(-3.0).unwrap();
let y: f64 = x.into();
assert_eq!(y, -3.0);Sourcepub const fn is_nan(&self) -> bool
pub const fn is_nan(&self) -> bool
Returns true if this value is NaN.
This is never the case for the provided types
§Examples
use typed_floats::tf64::NegativeFinite;
let x: NegativeFinite = (-3.0).try_into().unwrap();
assert_eq!(x.is_nan(), false);See f64::is_nan() for more details.
Sourcepub const fn is_infinite(&self) -> bool
pub const fn is_infinite(&self) -> bool
Returns true if this value is positive infinity or negative infinity.
§Examples
use typed_floats::tf64::NegativeFinite;
let x: NegativeFinite = (-3.0).try_into().unwrap();
assert_eq!(x.is_infinite(), false);See f64::is_infinite() for more details.
Sourcepub const fn is_finite(&self) -> bool
pub const fn is_finite(&self) -> bool
Returns true if this number is positive infinity nor negative infinity.
§Examples
use typed_floats::tf64::NegativeFinite;
let x: NegativeFinite = (-3.0).try_into().unwrap();
assert_eq!(x.is_finite(), true);See f64::is_finite() for more details.
Sourcepub const fn is_subnormal(&self) -> bool
pub const fn is_subnormal(&self) -> bool
Returns true if the number is subnormal.
§Examples
use typed_floats::tf64::NegativeFinite;
let x: NegativeFinite = (-3.0).try_into().unwrap();
assert_eq!(x.is_subnormal(), false);See f64::is_subnormal() for more details.
Sourcepub const fn is_normal(&self) -> bool
pub const fn is_normal(&self) -> bool
Returns true if the number is neither zero, infinite or subnormal.
§Examples
use typed_floats::tf64::NegativeFinite;
let x: NegativeFinite = (-3.0).try_into().unwrap();
assert_eq!(x.is_normal(), true);See f64::is_normal() for more details.
Sourcepub const fn classify(&self) -> FpCategory
pub const fn classify(&self) -> FpCategory
Returns the floating point category of the number. If only one property is going to be tested, it is generally faster to use the specific predicate instead.
§Examples
use typed_floats::tf64::NegativeFinite;
let x: NegativeFinite = (-3.0).try_into().unwrap();
assert_eq!(x.classify(), core::num::FpCategory::Normal);See f64::classify() for more details.
Sourcepub const fn is_sign_positive(&self) -> bool
pub const fn is_sign_positive(&self) -> bool
Returns true if self has a positive sign, including +0.0 and positive infinity.
§Examples
use typed_floats::tf64::NegativeFinite;
let x: NegativeFinite = (-3.0).try_into().unwrap();
assert_eq!(x.is_sign_positive(), false);See f64::is_sign_positive() for more details.
Sourcepub const fn is_sign_negative(&self) -> bool
pub const fn is_sign_negative(&self) -> bool
Returns true if self has a negative sign, including -0.0 and negative infinity.
§Examples
use typed_floats::tf64::NegativeFinite;
let x: NegativeFinite = (-3.0).try_into().unwrap();
assert_eq!(x.is_sign_negative(), true);See f64::is_sign_negative() for more details.
Sourcepub const fn is_negative_zero(&self) -> bool
pub const fn is_negative_zero(&self) -> bool
Returns true if the number is negative zero.
§Examples
use typed_floats::tf64::NegativeFinite;
let x: NegativeFinite = (-3.0).try_into().unwrap();
let y: NegativeFinite = (-0.0).try_into().unwrap();
assert_eq!(x.is_negative_zero(), false);
assert_eq!(y.is_negative_zero(), true);Sourcepub const fn is_positive_zero(&self) -> bool
pub const fn is_positive_zero(&self) -> bool
Returns true if the number is positive zero.
§Examples
use typed_floats::tf64::NegativeFinite;
let x: NegativeFinite = (-3.0).try_into().unwrap();
let y: NegativeFinite = (-0.0).try_into().unwrap();
assert_eq!(x.is_positive_zero(), false);
assert_eq!(y.is_positive_zero(), false);Source§impl NegativeFinite<f64>
impl NegativeFinite<f64>
Sourcepub const fn abs(self) -> PositiveFinite<f64>
pub const fn abs(self) -> PositiveFinite<f64>
Computes the absolute value of self.
§Examples
let a: NonNaN = 3.0.try_into().unwrap();
let b: NonNaN = (-4.0).try_into().unwrap();
assert_eq!(a.abs(), 3.0);
assert_eq!(b.abs(), 4.0);
assert!(tf64::NEG_ZERO.abs().is_sign_positive());
assert_eq!(tf64::NEG_INFINITY.abs(), tf64::INFINITY);See f64::abs() for more details.
Source§impl NegativeFinite<f64>
impl NegativeFinite<f64>
Sourcepub fn acos(self) -> f64
pub fn acos(self) -> f64
Computes the arccosine of a number.
Return value is in radians in the range [0, pi] or NaN if the number is outside the range [-1, 1].
§Examples
let a: NonNaN = 2.0.try_into().unwrap();
let b: NonNaN = (-2.0).try_into().unwrap();
let c: NonNaN = (-1).try_into().unwrap();
let d: NonNaN = 1.try_into().unwrap();
assert_is_nan!(a.acos());
assert_is_nan!(b.acos());
assert_relative_eq!(c.acos(), core::f64::consts::PI);
assert_relative_eq!(d.acos(), 0.0);
assert_relative_eq!(tf64::ZERO.acos(), core::f64::consts::FRAC_PI_2);
assert_is_nan!(tf64::INFINITY.acos());
assert_is_nan!(tf64::NEG_INFINITY.acos());See f64::acos() for more details.
Source§impl NegativeFinite<f64>
impl NegativeFinite<f64>
Sourcepub fn acosh(self) -> f64
pub fn acosh(self) -> f64
Inverse hyperbolic cosine function.
§Examples
let a: NonNaN = 1.0.try_into().unwrap();
assert_is_positive_zero!(a.acosh());
assert_is_nan!(tf64::ZERO.acosh());
assert_eq!(tf64::INFINITY.acosh(), tf64::INFINITY);
assert_is_nan!(tf64::NEG_INFINITY.acosh());See f64::acosh() for more details.
Source§impl NegativeFinite<f64>
impl NegativeFinite<f64>
Sourcepub fn asin(self) -> f64
pub fn asin(self) -> f64
Computes the arcsine of a number.
Return value is in radians in the range [-pi/2, pi/2] or NaN if the number is outside the range [-1, 1].
§Examples
let a: NonNaN = 2.0.try_into().unwrap();
let b: NonNaN = (-2.0).try_into().unwrap();
assert_is_nan!(a.asin());
assert_is_nan!(b.asin());
assert!(tf64::is_positive_zero(tf64::ZERO.asin()));
assert!(tf64::is_negative_zero(tf64::NEG_ZERO.asin()));
assert_is_nan!(tf64::INFINITY.asin());
assert_is_nan!(tf64::NEG_INFINITY.asin());See f64::asin() for more details.
Source§impl NegativeFinite<f64>
impl NegativeFinite<f64>
Sourcepub fn asinh(self) -> Negative<f64>
pub fn asinh(self) -> Negative<f64>
Inverse hyperbolic sine function.
§Examples
assert_is_positive_zero!(tf64::ZERO.asinh());
assert_is_negative_zero!(tf64::NEG_ZERO.asinh());
assert_eq!(tf64::INFINITY.asinh(), tf64::INFINITY);
assert_eq!(tf64::NEG_INFINITY.asinh(), tf64::NEG_INFINITY);See f64::asinh() for more details.
Source§impl NegativeFinite<f64>
impl NegativeFinite<f64>
Sourcepub fn atan(self) -> NegativeFinite<f64>
pub fn atan(self) -> NegativeFinite<f64>
Computes the arctangent of a number.
Return value is in radians in the range [-pi/2, pi/2];
§Examples
assert_is_positive_zero!(tf64::ZERO.atan());
assert_is_negative_zero!(tf64::NEG_ZERO.atan());
assert_relative_eq!(tf64::INFINITY.atan().get(), core::f64::consts::FRAC_PI_2);
assert_relative_eq!(tf64::NEG_INFINITY.atan().get(), -core::f64::consts::FRAC_PI_2);See f64::atan() for more details.
Source§impl NegativeFinite<f64>
impl NegativeFinite<f64>
Sourcepub fn atanh(self) -> f64
pub fn atanh(self) -> f64
Inverse hyperbolic tangent function.
§Examples
let a: NonNaN = 1.0.try_into().unwrap();
let b: NonNaN = (-1.0).try_into().unwrap();
assert_eq!(a.atanh(), tf64::INFINITY);
assert_eq!(b.atanh(), tf64::NEG_INFINITY);
assert_is_positive_zero!(tf64::ZERO.atanh());
assert_is_negative_zero!(tf64::NEG_ZERO.atanh());
assert_is_nan!(tf64::INFINITY.atanh());
assert_is_nan!(tf64::NEG_INFINITY.atanh());See f64::atanh() for more details.
Source§impl NegativeFinite<f64>
impl NegativeFinite<f64>
Sourcepub fn cbrt(self) -> NegativeFinite<f64>
pub fn cbrt(self) -> NegativeFinite<f64>
Returns the cube root of a number.
The result will be finite unless the argument is infinite.
§Examples
let a: NonNaN = 8.0.try_into().unwrap();
let b: NonNaN = (-1.0).try_into().unwrap();
assert_eq!(a.cbrt(), 2.0);
assert_eq!(b.cbrt(), -1.0);
assert_eq!(tf64::ZERO.cbrt(), tf64::ZERO);
assert_eq!(tf64::NEG_ZERO.cbrt(), tf64::NEG_ZERO);
assert_eq!(tf64::INFINITY.cbrt(), tf64::INFINITY);
assert_eq!(tf64::NEG_INFINITY.cbrt(), tf64::NEG_INFINITY);See f64::cbrt() for more details.
Source§impl NegativeFinite<f64>
impl NegativeFinite<f64>
Sourcepub fn ceil(self) -> NegativeFinite<f64>
pub fn ceil(self) -> NegativeFinite<f64>
Returns the smallest integer greater than or equal to self.
§Examples
let a: NonNaN = 3.5.try_into().unwrap();
let b: NonNaN = (-3.5).try_into().unwrap();
assert_eq!(a.ceil(), 4.0);
assert_eq!(b.ceil(), -3.0);
assert_eq!(tf64::INFINITY.ceil(), tf64::INFINITY);
assert_eq!(tf64::NEG_INFINITY.ceil(), tf64::NEG_INFINITY);See f64::ceil() for more details.
Source§impl NegativeFinite<f64>
impl NegativeFinite<f64>
Sourcepub fn cos(self) -> NonNaNFinite<f64>
pub fn cos(self) -> NonNaNFinite<f64>
Computes the cosine of a number (in radians).
The result will be in the range [-1, 1] if the input is finite, and NaN if the input is infinite.
§Examples
let a: NonNaNFinite = core::f64::consts::PI.try_into().unwrap();
let b: NonNaNFinite = 0.0.try_into().unwrap();
let c: NonNaNFinite = (-0.0).try_into().unwrap();
let d: NonNaNFinite = (-core::f64::consts::PI).try_into().unwrap();
let e: NonNaNFinite = core::f64::consts::FRAC_PI_2.try_into().unwrap();
let f: NonNaNFinite = (-core::f64::consts::FRAC_PI_2).try_into().unwrap();
assert_relative_eq!(a.cos().get(), -1.0);
assert_relative_eq!(b.cos().get(), 1.0);
assert_relative_eq!(c.cos().get(), 1.0);
assert_relative_eq!(d.cos().get(), -1.0);
assert_relative_eq!(e.cos().get(), 0.0);
assert_relative_eq!(f.cos().get(), 0.0);
assert_is_nan!(tf64::INFINITY.cos());
assert_is_nan!(tf64::NEG_INFINITY.cos());See f64::cos() for more details.
Source§impl NegativeFinite<f64>
impl NegativeFinite<f64>
Sourcepub fn cosh(self) -> StrictlyPositive<f64>
pub fn cosh(self) -> StrictlyPositive<f64>
Hyperbolic cosine function.
§Examples
assert_eq!(tf64::ZERO.cosh(), 1.0);
assert_eq!(tf64::NEG_ZERO.cosh(), 1.0);
assert_eq!(tf64::INFINITY.cosh(), tf64::INFINITY);
assert_eq!(tf64::NEG_INFINITY.cosh(), tf64::INFINITY);See f64::cosh() for more details.
Source§impl NegativeFinite<f64>
impl NegativeFinite<f64>
Sourcepub fn exp2(self) -> PositiveFinite<f64>
pub fn exp2(self) -> PositiveFinite<f64>
Returns 2^(self).
§Examples
let a: NonNaN = 2.0.try_into().unwrap();
let b: NonNaN = (-2.0).try_into().unwrap();
assert_eq!(a.exp2(), 4.0);
assert_eq!(b.exp2(), 0.25);
assert_eq!(tf64::ZERO.exp2(), 1.0);
assert_eq!(tf64::NEG_ZERO.exp2(), 1.0);
assert_eq!(tf64::INFINITY.exp2(), tf64::INFINITY);
assert_eq!(tf64::NEG_INFINITY.exp2(), tf64::ZERO);See f64::exp2() for more details.
Source§impl NegativeFinite<f64>
impl NegativeFinite<f64>
Sourcepub fn exp(self) -> PositiveFinite<f64>
pub fn exp(self) -> PositiveFinite<f64>
Returns e^(self), (the exponential function).
§Examples
let a: NonNaN = 1.0.try_into().unwrap();
let b: NonNaN = (-1.0).try_into().unwrap();
assert_eq!(a.exp(), core::f64::consts::E);
assert_eq!(b.exp(), 1.0 / core::f64::consts::E);
assert_eq!(tf64::ZERO.exp(), 1.0);
assert_eq!(tf64::NEG_ZERO.exp(), 1.0);
assert_eq!(tf64::INFINITY.exp(), tf64::INFINITY);
assert_eq!(tf64::NEG_INFINITY.exp(), tf64::ZERO);See f64::exp() for more details.
Source§impl NegativeFinite<f64>
impl NegativeFinite<f64>
Sourcepub fn exp_m1(self) -> NegativeFinite<f64>
pub fn exp_m1(self) -> NegativeFinite<f64>
Returns e^(self) - 1 in a way that is accurate even if the number is close to zero.
§Examples
assert_is_positive_zero!(tf64::ZERO.exp_m1());
assert_is_negative_zero!(tf64::NEG_ZERO.exp_m1());
assert_eq!(tf64::INFINITY.exp_m1(), f64::INFINITY);
assert_eq!(tf64::NEG_INFINITY.exp_m1(), -1.0);See f64::exp_m1() for more details.
Source§impl NegativeFinite<f64>
impl NegativeFinite<f64>
Sourcepub fn floor(self) -> NegativeFinite<f64>
pub fn floor(self) -> NegativeFinite<f64>
Returns the largest integer less than or equal to self.
§Examples
let a: NonNaN = 3.5.try_into().unwrap();
let b: NonNaN = (-3.5).try_into().unwrap();
assert_eq!(a.floor(), 3.0);
assert_eq!(b.floor(), -4.0);
assert_eq!(tf64::INFINITY.floor(), tf64::INFINITY);
assert_eq!(tf64::NEG_INFINITY.floor(), tf64::NEG_INFINITY);See f64::floor() for more details.
Source§impl NegativeFinite<f64>
impl NegativeFinite<f64>
Sourcepub fn fract(self) -> NonNaNFinite<f64>
pub fn fract(self) -> NonNaNFinite<f64>
Returns the fractional part of self.
For negative numbers, the result is negative except when the fractional part is zero.
For INFINITY and NEG_INFINITY, the result is NaN.
§Examples
let a: NonNaNFinite = 3.5.try_into().unwrap();
let b: NonNaNFinite = (-3.5).try_into().unwrap();
let c: NonNaNFinite = (-3.0).try_into().unwrap();
assert_eq!(a.fract(), 0.5);
assert_eq!(b.fract(), -0.5);
assert_is_positive_zero!(c.fract());
assert_is_nan!(tf64::INFINITY.fract());See f64::fract() for more details.
Source§impl NegativeFinite<f64>
impl NegativeFinite<f64>
Sourcepub fn ln(self) -> f64
pub fn ln(self) -> f64
Returns the natural logarithm of the number.
Returns NaN if self is a negative number other than -0.0.
§Examples
let a: NonNaN = 1.0.try_into().unwrap();
let b: NonNaN = (-1.0).try_into().unwrap();
assert_eq!(a.ln(), 0.0);
assert_is_nan!(b.ln());
assert_eq!(tf64::ZERO.ln(), f64::NEG_INFINITY);
assert_eq!(tf64::NEG_ZERO.ln(), f64::NEG_INFINITY);
assert_eq!(tf64::INFINITY.ln(), tf64::INFINITY);
assert_is_nan!(tf64::NEG_INFINITY.ln());See f64::ln() for more details.
Source§impl NegativeFinite<f64>
impl NegativeFinite<f64>
Sourcepub fn ln_1p(self) -> f64
pub fn ln_1p(self) -> f64
Returns ln(1+n) (natural logarithm) more accurately than if the operations were performed separately.
§Examples
let a: NonNaN = (-1.0).try_into().unwrap();
assert_eq!(a.ln_1p(), f64::NEG_INFINITY);
assert!(tf64::is_positive_zero(tf64::ZERO.ln_1p().get()));
assert!(tf64::is_negative_zero(tf64::NEG_ZERO.ln_1p()));
assert_eq!(tf64::INFINITY.ln_1p(), f64::INFINITY);
assert_is_nan!(tf64::NEG_INFINITY.ln_1p());See f64::ln_1p() for more details.
Source§impl NegativeFinite<f64>
impl NegativeFinite<f64>
Sourcepub fn log10(self) -> f64
pub fn log10(self) -> f64
Returns the base 10 logarithm of the number.
Returns NaN if self is a negative number other than -0.0.
§Examples
let a: NonNaN = 100.0.try_into().unwrap();
let b: NonNaN = 1.0.try_into().unwrap();
let c: NonNaN = (-1.0).try_into().unwrap();
assert_eq!(a.log10(), 2.0);
assert_eq!(b.log10(), 0.0);
assert_is_nan!(c.log10());
assert_eq!(tf64::ZERO.log10(), f64::NEG_INFINITY);
assert_eq!(tf64::NEG_ZERO.log10(), f64::NEG_INFINITY);
assert_eq!(tf64::INFINITY.log10(), tf64::INFINITY);
assert_is_nan!(tf64::NEG_INFINITY.log10());See f64::log10() for more details.
Source§impl NegativeFinite<f64>
impl NegativeFinite<f64>
Sourcepub fn log2(self) -> f64
pub fn log2(self) -> f64
Returns the base 2 logarithm of the number.
Returns NaN if self is a negative number other than -0.0.
§Examples
let a: NonNaN = 2.0.try_into().unwrap();
let b: NonNaN = 1.0.try_into().unwrap();
let c: NonNaN = (-1.0).try_into().unwrap();
assert_eq!(a.log2(), 1.0);
assert!(tf64::is_positive_zero(b.log2()));
assert_is_nan!(c.log2());
assert_eq!(tf64::ZERO.log2(), f64::NEG_INFINITY);
assert_eq!(tf64::NEG_ZERO.log2(), f64::NEG_INFINITY);
assert_eq!(tf64::INFINITY.log2(), tf64::INFINITY);
assert_is_nan!(tf64::NEG_INFINITY.log2());See f64::log2() for more details.
Source§impl NegativeFinite<f64>
impl NegativeFinite<f64>
Sourcepub fn next_down(self) -> StrictlyNegative<f64>
pub fn next_down(self) -> StrictlyNegative<f64>
Returns the greatest number less than `self``.
See f64::next_down() for more details.
Source§impl NegativeFinite<f64>
impl NegativeFinite<f64>
Sourcepub fn next_up(self) -> NonNaNFinite<f64>
pub fn next_up(self) -> NonNaNFinite<f64>
Returns the least number greater than `self``.
See f64::next_up() for more details.
Source§impl NegativeFinite<f64>
impl NegativeFinite<f64>
Sourcepub fn powi(self, n: i32) -> NonNaN<f64>
pub fn powi(self, n: i32) -> NonNaN<f64>
Raises a number to an integer power.
Using this function is generally faster than using powf.
It might have a different sequence of rounding operations than powf,
so the results are not guaranteed to agree.
§Examples
let x: NonNaN = (-2.0).try_into().unwrap();
assert_eq!(x.powi(3), -8.0);
assert_eq!(x.powi(2), 4.0);
assert_eq!(x.powi(1), -2.0);
assert_eq!(x.powi(0), 1.0);
assert_eq!(x.powi(-1), -0.5);
assert_eq!(x.powi(-2), 0.25);
assert_eq!(x.powi(-3), -0.125);See f64::powi() for more details.
Source§impl NegativeFinite<f64>
impl NegativeFinite<f64>
Sourcepub const fn recip(self) -> StrictlyNegative<f64>
pub const fn recip(self) -> StrictlyNegative<f64>
Takes the reciprocal (inverse) of a number, 1/x.
§Examples
let a: NonNaN = 1.0.try_into().unwrap();
let b: NonNaN = (-1.0).try_into().unwrap();
let c: StrictlyPositiveFinite = (5e-324).try_into().unwrap();
assert_eq!(a.recip(), 1.0);
assert_eq!(b.recip(), -1.0);
assert_eq!(c.recip(), tf64::INFINITY);
assert_eq!(tf64::ZERO.recip(), tf64::INFINITY);
assert_eq!(tf64::NEG_ZERO.recip(), tf64::NEG_INFINITY);
assert_is_positive_zero!(tf64::INFINITY.recip());
assert_is_negative_zero!(tf64::NEG_INFINITY.recip());See f64::recip() for more details.
Source§impl NegativeFinite<f64>
impl NegativeFinite<f64>
Sourcepub fn round(self) -> NegativeFinite<f64>
pub fn round(self) -> NegativeFinite<f64>
Returns the nearest integer to self. If a value is half-way between two
integers, round away from 0.0.
§Examples
let a: NonNaN = 3.5.try_into().unwrap();
let b: NonNaN = (-3.5).try_into().unwrap();
assert_eq!(a.round(), 4.0);
assert_eq!(b.round(), -4.0);
assert_eq!(tf64::INFINITY.round(), tf64::INFINITY);
assert_eq!(tf64::NEG_INFINITY.round(), tf64::NEG_INFINITY);See f64::round() for more details.
Source§impl NegativeFinite<f64>
impl NegativeFinite<f64>
Sourcepub const fn signum(self) -> StrictlyNegativeFinite<f64>
pub const fn signum(self) -> StrictlyNegativeFinite<f64>
Returns a number that represents the sign of self.
1.0if the number is positive,+0.0orINFINITY-1.0if the number is negative,-0.0orNEG_INFINITY
§Examples
let a: NonNaN = 3.5.try_into().unwrap();
let b: NonNaN = (-3.5).try_into().unwrap();
assert_eq!(a.signum(), 1.0);
assert_eq!(b.signum(), -1.0);
assert_eq!(tf64::ZERO.signum(), 1.0);
assert_eq!(tf64::NEG_ZERO.signum(), -1.0);
assert_eq!(tf64::INFINITY.signum(), 1.0);
assert_eq!(tf64::NEG_INFINITY.signum(), -1.0);See f64::signum() for more details.
Source§impl NegativeFinite<f64>
impl NegativeFinite<f64>
Sourcepub fn sin(self) -> NonNaNFinite<f64>
pub fn sin(self) -> NonNaNFinite<f64>
Computes the sine of a number (in radians).
The result will be in the range [-1, 1] if the input is finite, and NaN if the input is infinite.
§Examples
let a: NonNaNFinite = core::f64::consts::PI.try_into().unwrap();
let b: NonNaNFinite = 0.0.try_into().unwrap();
let c: NonNaNFinite = (-0.0).try_into().unwrap();
let d: NonNaNFinite = (-core::f64::consts::PI).try_into().unwrap();
let e: NonNaNFinite = core::f64::consts::FRAC_PI_2.try_into().unwrap();
let f: NonNaNFinite = (-core::f64::consts::FRAC_PI_2).try_into().unwrap();
assert_relative_eq!(a.sin().get(), 0.0);
assert_relative_eq!(b.sin().get(), 0.0);
assert_relative_eq!(c.sin().get(), 0.0);
assert_relative_eq!(d.sin().get(), 0.0);
assert_relative_eq!(e.sin().get(), 1.0);
assert_relative_eq!(f.sin().get(), -1.0);
assert_is_nan!(tf64::INFINITY.sin());
assert_is_nan!(tf64::NEG_INFINITY.sin());
See f64::sin() for more details.
Source§impl NegativeFinite<f64>
impl NegativeFinite<f64>
Sourcepub fn sinh(self) -> Negative<f64>
pub fn sinh(self) -> Negative<f64>
Hyperbolic sine function.
§Examples
assert_is_positive_zero!(tf64::ZERO.sinh());
assert_is_negative_zero!(tf64::NEG_ZERO.sinh());
assert_eq!(tf64::INFINITY.sinh(), tf64::INFINITY);
assert_eq!(tf64::NEG_INFINITY.sinh(), tf64::NEG_INFINITY);See f64::sinh() for more details.
Source§impl NegativeFinite<f64>
impl NegativeFinite<f64>
Sourcepub fn sqrt(self) -> f64
pub fn sqrt(self) -> f64
Returns the square root of a number.
Returns NaN if self is a negative number other than -0.0.
Returns -0.0 if self is -0.0.
§Examples
let a: NonNaN = 25.0.try_into().unwrap();
let b: NonNaN = (-1).try_into().unwrap();
assert_eq!(a.sqrt(), 5.0);
assert_is_nan!(b.sqrt());
assert!(tf64::is_positive_zero(tf64::ZERO.sqrt().into()));
assert!(tf64::is_negative_zero(tf64::NEG_ZERO.sqrt()));
assert_eq!(tf64::INFINITY.sqrt(), tf64::INFINITY);
assert_is_nan!(tf64::NEG_INFINITY.sqrt());See f64::sqrt() for more details.
Source§impl NegativeFinite<f64>
impl NegativeFinite<f64>
Sourcepub fn tan(self) -> NonNaN<f64>
pub fn tan(self) -> NonNaN<f64>
Computes the tangent of a number (in radians).
The result NaN if the input is infinite.
§Examples
assert_eq!(tf64::ZERO.tan(), 0.0);
assert_relative_eq!(tf64::consts::FRAC_PI_4.tan().get(), 1.0);
assert_is_nan!(tf64::INFINITY.tan());
assert_is_nan!(tf64::NEG_INFINITY.tan());See f64::tan() for more details.
Source§impl NegativeFinite<f64>
impl NegativeFinite<f64>
Sourcepub fn tanh(self) -> NegativeFinite<f64>
pub fn tanh(self) -> NegativeFinite<f64>
Hyperbolic tangent function.
§Examples
assert_is_positive_zero!(tf64::ZERO.tanh());
assert_is_negative_zero!(tf64::NEG_ZERO.tanh());
assert_eq!(tf64::INFINITY.tanh(), 1.0);
assert_eq!(tf64::NEG_INFINITY.tanh(), -1.0);See f64::tanh() for more details.
Source§impl NegativeFinite<f64>
impl NegativeFinite<f64>
Sourcepub const fn to_degrees(self) -> Negative<f64>
pub const fn to_degrees(self) -> Negative<f64>
Converts degrees to radians.
§Examples
let a: NonNaN = core::f64::consts::PI.try_into().unwrap();
let b: NonNaN = (-core::f64::consts::PI).try_into().unwrap();
let c: NonNaN = (2.0 * core::f64::consts::PI).try_into().unwrap();
assert_eq!(a.to_degrees(), 180.0);
assert_eq!(b.to_degrees(), -180.0);
assert_eq!(c.to_degrees(), 360.0);
assert_is_positive_zero!(tf64::ZERO.to_degrees());
assert_is_negative_zero!(tf64::NEG_ZERO.to_degrees());
assert_eq!(tf64::INFINITY.to_degrees(), tf64::INFINITY);
assert_eq!(tf64::NEG_INFINITY.to_degrees(), tf64::NEG_INFINITY);See f64::to_degrees() for more details.
Source§impl NegativeFinite<f64>
impl NegativeFinite<f64>
Sourcepub const fn to_radians(self) -> NegativeFinite<f64>
pub const fn to_radians(self) -> NegativeFinite<f64>
Converts degrees to radians.
§Examples
let a: NonNaN = 180.0.try_into().unwrap();
let b: NonNaN = 0.0.try_into().unwrap();
let c: NonNaN = (-180.0).try_into().unwrap();
let d: NonNaN = 360.0.try_into().unwrap();
let e: StrictlyPositiveFinite = (5e-324).try_into().unwrap();
assert_eq!(a.to_radians(), core::f64::consts::PI);
assert_eq!(b.to_radians(), 0.0);
assert_eq!(c.to_radians(), -core::f64::consts::PI);
assert_eq!(d.to_radians(), 2.0 * core::f64::consts::PI);
assert_eq!(e.to_radians(), 0.0);
assert_eq!(tf64::INFINITY.to_radians(), tf64::INFINITY);
assert_eq!(tf64::NEG_INFINITY.to_radians(), tf64::NEG_INFINITY);See f64::to_radians() for more details.
Source§impl NegativeFinite<f64>
impl NegativeFinite<f64>
Sourcepub fn trunc(self) -> NegativeFinite<f64>
pub fn trunc(self) -> NegativeFinite<f64>
Returns the integer part of self.
This means that non-integer numbers are always truncated towards zero.
§Examples
let a: NonNaN = 3.5.try_into().unwrap();
let b: NonNaN = (-3.5).try_into().unwrap();
assert_eq!(a.trunc(), 3.0);
assert_eq!(b.trunc(), -3.0);
assert_eq!(tf64::INFINITY.trunc(), tf64::INFINITY);
assert_eq!(tf64::NEG_INFINITY.trunc(), tf64::NEG_INFINITY);See f64::trunc() for more details.
Trait Implementations
Source§impl Add<NonNaNFinite> for NegativeFinite<f64>
impl Add<NonNaNFinite> for NegativeFinite<f64>
Source§impl Add<NonZeroNonNaN> for NegativeFinite<f64>
impl Add<NonZeroNonNaN> for NegativeFinite<f64>
Source§impl Add<NonZeroNonNaNFinite> for NegativeFinite<f64>
impl Add<NonZeroNonNaNFinite> for NegativeFinite<f64>
Source§impl Add<PositiveFinite> for NegativeFinite<f64>
impl Add<PositiveFinite> for NegativeFinite<f64>
Source§impl Add<StrictlyNegative> for NegativeFinite<f64>
impl Add<StrictlyNegative> for NegativeFinite<f64>
Source§impl Add<StrictlyNegativeFinite> for NegativeFinite<f64>
impl Add<StrictlyNegativeFinite> for NegativeFinite<f64>
Source§impl Add<StrictlyPositive> for NegativeFinite<f64>
impl Add<StrictlyPositive> for NegativeFinite<f64>
Source§impl Add<StrictlyPositiveFinite> for NegativeFinite<f64>
impl Add<StrictlyPositiveFinite> for NegativeFinite<f64>
Source§impl Add for NegativeFinite<f64>
impl Add for NegativeFinite<f64>
Source§impl Atan2<NegativeFinite> for NegativeFinite<f64>
impl Atan2<NegativeFinite> for NegativeFinite<f64>
Source§type Output = NegativeFinite
type Output = NegativeFinite
Atan2::atan2().Source§impl Atan2<NonNaNFinite> for NegativeFinite<f64>
impl Atan2<NonNaNFinite> for NegativeFinite<f64>
Source§type Output = NonNaNFinite
type Output = NonNaNFinite
Atan2::atan2().Source§impl Atan2<NonZeroNonNaN> for NegativeFinite<f64>
impl Atan2<NonZeroNonNaN> for NegativeFinite<f64>
Source§type Output = NonNaNFinite
type Output = NonNaNFinite
Atan2::atan2().Source§impl Atan2<NonZeroNonNaNFinite> for NegativeFinite<f64>
impl Atan2<NonZeroNonNaNFinite> for NegativeFinite<f64>
Source§type Output = NonNaNFinite
type Output = NonNaNFinite
Atan2::atan2().Source§impl Atan2<PositiveFinite> for NegativeFinite<f64>
impl Atan2<PositiveFinite> for NegativeFinite<f64>
Source§type Output = NonNaNFinite
type Output = NonNaNFinite
Atan2::atan2().Source§impl Atan2<StrictlyNegative> for NegativeFinite<f64>
impl Atan2<StrictlyNegative> for NegativeFinite<f64>
Source§type Output = NegativeFinite
type Output = NegativeFinite
Atan2::atan2().Source§impl Atan2<StrictlyNegativeFinite> for NegativeFinite<f64>
impl Atan2<StrictlyNegativeFinite> for NegativeFinite<f64>
Source§type Output = NegativeFinite
type Output = NegativeFinite
Atan2::atan2().Source§impl Atan2<StrictlyPositive> for NegativeFinite<f64>
impl Atan2<StrictlyPositive> for NegativeFinite<f64>
Source§type Output = NonNaNFinite
type Output = NonNaNFinite
Atan2::atan2().Source§impl Atan2<StrictlyPositiveFinite> for NegativeFinite<f64>
impl Atan2<StrictlyPositiveFinite> for NegativeFinite<f64>
Source§type Output = NonNaNFinite
type Output = NonNaNFinite
Atan2::atan2().Source§impl<T: Clone> Clone for NegativeFinite<T>
impl<T: Clone> Clone for NegativeFinite<T>
Source§fn clone(&self) -> NegativeFinite<T>
fn clone(&self) -> NegativeFinite<T>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Copysign<Negative> for NegativeFinite<f64>
impl Copysign<Negative> for NegativeFinite<f64>
Source§type Output = NegativeFinite
type Output = NegativeFinite
Copysign::copysign().Source§impl Copysign<NegativeFinite> for NegativeFinite<f64>
impl Copysign<NegativeFinite> for NegativeFinite<f64>
Source§type Output = NegativeFinite
type Output = NegativeFinite
Copysign::copysign().Source§impl Copysign<NonNaN> for NegativeFinite<f64>
impl Copysign<NonNaN> for NegativeFinite<f64>
Source§type Output = NonNaNFinite
type Output = NonNaNFinite
Copysign::copysign().Source§impl Copysign<NonNaNFinite> for NegativeFinite<f64>
impl Copysign<NonNaNFinite> for NegativeFinite<f64>
Source§type Output = NonNaNFinite
type Output = NonNaNFinite
Copysign::copysign().Source§impl Copysign<NonZeroNonNaN> for NegativeFinite<f64>
impl Copysign<NonZeroNonNaN> for NegativeFinite<f64>
Source§type Output = NonNaNFinite
type Output = NonNaNFinite
Copysign::copysign().Source§impl Copysign<NonZeroNonNaNFinite> for NegativeFinite<f64>
impl Copysign<NonZeroNonNaNFinite> for NegativeFinite<f64>
Source§type Output = NonNaNFinite
type Output = NonNaNFinite
Copysign::copysign().Source§impl Copysign<Positive> for NegativeFinite<f64>
impl Copysign<Positive> for NegativeFinite<f64>
Source§type Output = PositiveFinite
type Output = PositiveFinite
Copysign::copysign().Source§impl Copysign<PositiveFinite> for NegativeFinite<f64>
impl Copysign<PositiveFinite> for NegativeFinite<f64>
Source§type Output = PositiveFinite
type Output = PositiveFinite
Copysign::copysign().Source§impl Copysign<StrictlyNegative> for NegativeFinite<f64>
impl Copysign<StrictlyNegative> for NegativeFinite<f64>
Source§type Output = NegativeFinite
type Output = NegativeFinite
Copysign::copysign().Source§impl Copysign<StrictlyNegativeFinite> for NegativeFinite<f64>
impl Copysign<StrictlyNegativeFinite> for NegativeFinite<f64>
Source§type Output = NegativeFinite
type Output = NegativeFinite
Copysign::copysign().Source§impl Copysign<StrictlyPositive> for NegativeFinite<f64>
impl Copysign<StrictlyPositive> for NegativeFinite<f64>
Source§type Output = PositiveFinite
type Output = PositiveFinite
Copysign::copysign().Source§impl Copysign<StrictlyPositiveFinite> for NegativeFinite<f64>
impl Copysign<StrictlyPositiveFinite> for NegativeFinite<f64>
Source§type Output = PositiveFinite
type Output = PositiveFinite
Copysign::copysign().Source§impl<T: Debug> Debug for NegativeFinite<T>
impl<T: Debug> Debug for NegativeFinite<T>
Source§impl Default for NegativeFinite<f64>
impl Default for NegativeFinite<f64>
Source§impl<'de> Deserialize<'de> for NegativeFinite<f64>
impl<'de> Deserialize<'de> for NegativeFinite<f64>
Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Source§impl Display for NegativeFinite<f64>
impl Display for NegativeFinite<f64>
Source§impl Div<NonNaNFinite> for NegativeFinite<f64>
impl Div<NonNaNFinite> for NegativeFinite<f64>
Source§impl Div<NonZeroNonNaN> for NegativeFinite<f64>
impl Div<NonZeroNonNaN> for NegativeFinite<f64>
Source§impl Div<NonZeroNonNaNFinite> for NegativeFinite<f64>
impl Div<NonZeroNonNaNFinite> for NegativeFinite<f64>
Source§impl Div<PositiveFinite> for NegativeFinite<f64>
impl Div<PositiveFinite> for NegativeFinite<f64>
Source§impl Div<StrictlyNegative> for NegativeFinite<f64>
impl Div<StrictlyNegative> for NegativeFinite<f64>
Source§impl Div<StrictlyNegativeFinite> for NegativeFinite<f64>
impl Div<StrictlyNegativeFinite> for NegativeFinite<f64>
Source§impl Div<StrictlyPositive> for NegativeFinite<f64>
impl Div<StrictlyPositive> for NegativeFinite<f64>
Source§impl Div<StrictlyPositiveFinite> for NegativeFinite<f64>
impl Div<StrictlyPositiveFinite> for NegativeFinite<f64>
Source§impl Div for NegativeFinite<f64>
impl Div for NegativeFinite<f64>
Source§impl DivEuclid<Negative> for NegativeFinite<f64>
impl DivEuclid<Negative> for NegativeFinite<f64>
Source§type Output = f64
type Output = f64
DivEuclid::div_euclid().Source§impl DivEuclid<NegativeFinite> for NegativeFinite<f64>
impl DivEuclid<NegativeFinite> for NegativeFinite<f64>
Source§type Output = f64
type Output = f64
DivEuclid::div_euclid().Source§fn div_euclid(self, rhs: NegativeFinite<f64>) -> Self::Output
fn div_euclid(self, rhs: NegativeFinite<f64>) -> Self::Output
rem_euclid.
Equal to self if the sign of self and sign are the same, otherwise equal to -self. Read moreSource§impl DivEuclid<NonNaN> for NegativeFinite<f64>
impl DivEuclid<NonNaN> for NegativeFinite<f64>
Source§type Output = f64
type Output = f64
DivEuclid::div_euclid().Source§impl DivEuclid<NonNaNFinite> for NegativeFinite<f64>
impl DivEuclid<NonNaNFinite> for NegativeFinite<f64>
Source§type Output = f64
type Output = f64
DivEuclid::div_euclid().Source§fn div_euclid(self, rhs: NonNaNFinite<f64>) -> Self::Output
fn div_euclid(self, rhs: NonNaNFinite<f64>) -> Self::Output
rem_euclid.
Equal to self if the sign of self and sign are the same, otherwise equal to -self. Read moreSource§impl DivEuclid<NonZeroNonNaN> for NegativeFinite<f64>
impl DivEuclid<NonZeroNonNaN> for NegativeFinite<f64>
Source§type Output = NonNaN
type Output = NonNaN
DivEuclid::div_euclid().Source§fn div_euclid(self, rhs: NonZeroNonNaN<f64>) -> Self::Output
fn div_euclid(self, rhs: NonZeroNonNaN<f64>) -> Self::Output
rem_euclid.
Equal to self if the sign of self and sign are the same, otherwise equal to -self. Read moreSource§impl DivEuclid<NonZeroNonNaNFinite> for NegativeFinite<f64>
impl DivEuclid<NonZeroNonNaNFinite> for NegativeFinite<f64>
Source§type Output = NonNaN
type Output = NonNaN
DivEuclid::div_euclid().Source§fn div_euclid(self, rhs: NonZeroNonNaNFinite<f64>) -> Self::Output
fn div_euclid(self, rhs: NonZeroNonNaNFinite<f64>) -> Self::Output
rem_euclid.
Equal to self if the sign of self and sign are the same, otherwise equal to -self. Read moreSource§impl DivEuclid<Positive> for NegativeFinite<f64>
impl DivEuclid<Positive> for NegativeFinite<f64>
Source§type Output = f64
type Output = f64
DivEuclid::div_euclid().Source§impl DivEuclid<PositiveFinite> for NegativeFinite<f64>
impl DivEuclid<PositiveFinite> for NegativeFinite<f64>
Source§type Output = f64
type Output = f64
DivEuclid::div_euclid().Source§fn div_euclid(self, rhs: PositiveFinite<f64>) -> Self::Output
fn div_euclid(self, rhs: PositiveFinite<f64>) -> Self::Output
rem_euclid.
Equal to self if the sign of self and sign are the same, otherwise equal to -self. Read moreSource§impl DivEuclid<StrictlyNegative> for NegativeFinite<f64>
impl DivEuclid<StrictlyNegative> for NegativeFinite<f64>
Source§type Output = Positive
type Output = Positive
DivEuclid::div_euclid().Source§fn div_euclid(self, rhs: StrictlyNegative<f64>) -> Self::Output
fn div_euclid(self, rhs: StrictlyNegative<f64>) -> Self::Output
rem_euclid.
Equal to self if the sign of self and sign are the same, otherwise equal to -self. Read moreSource§impl DivEuclid<StrictlyNegativeFinite> for NegativeFinite<f64>
impl DivEuclid<StrictlyNegativeFinite> for NegativeFinite<f64>
Source§type Output = Positive
type Output = Positive
DivEuclid::div_euclid().Source§fn div_euclid(self, rhs: StrictlyNegativeFinite<f64>) -> Self::Output
fn div_euclid(self, rhs: StrictlyNegativeFinite<f64>) -> Self::Output
rem_euclid.
Equal to self if the sign of self and sign are the same, otherwise equal to -self. Read moreSource§impl DivEuclid<StrictlyPositive> for NegativeFinite<f64>
impl DivEuclid<StrictlyPositive> for NegativeFinite<f64>
Source§type Output = Negative
type Output = Negative
DivEuclid::div_euclid().Source§fn div_euclid(self, rhs: StrictlyPositive<f64>) -> Self::Output
fn div_euclid(self, rhs: StrictlyPositive<f64>) -> Self::Output
rem_euclid.
Equal to self if the sign of self and sign are the same, otherwise equal to -self. Read moreSource§impl DivEuclid<StrictlyPositiveFinite> for NegativeFinite<f64>
impl DivEuclid<StrictlyPositiveFinite> for NegativeFinite<f64>
Source§type Output = Negative
type Output = Negative
DivEuclid::div_euclid().Source§fn div_euclid(self, rhs: StrictlyPositiveFinite<f64>) -> Self::Output
fn div_euclid(self, rhs: StrictlyPositiveFinite<f64>) -> Self::Output
rem_euclid.
Equal to self if the sign of self and sign are the same, otherwise equal to -self. Read moreSource§impl From<StrictlyNegativeFinite> for NegativeFinite<f64>
impl From<StrictlyNegativeFinite> for NegativeFinite<f64>
Source§fn from(value: StrictlyNegativeFinite<f64>) -> Self
fn from(value: StrictlyNegativeFinite<f64>) -> Self
Source§impl FromStr for NegativeFinite<f64>
impl FromStr for NegativeFinite<f64>
Source§impl Hash for NegativeFinite<f64>
impl Hash for NegativeFinite<f64>
Source§impl Hypot<Negative> for NegativeFinite<f64>
impl Hypot<Negative> for NegativeFinite<f64>
Source§type Output = Positive
type Output = Positive
Hypot::hypot().Source§impl Hypot<NegativeFinite> for NegativeFinite<f64>
impl Hypot<NegativeFinite> for NegativeFinite<f64>
Source§type Output = Positive
type Output = Positive
Hypot::hypot().Source§impl Hypot<NonNaN> for NegativeFinite<f64>
impl Hypot<NonNaN> for NegativeFinite<f64>
Source§type Output = Positive
type Output = Positive
Hypot::hypot().Source§impl Hypot<NonNaNFinite> for NegativeFinite<f64>
impl Hypot<NonNaNFinite> for NegativeFinite<f64>
Source§type Output = Positive
type Output = Positive
Hypot::hypot().Source§impl Hypot<NonZeroNonNaN> for NegativeFinite<f64>
impl Hypot<NonZeroNonNaN> for NegativeFinite<f64>
Source§type Output = StrictlyPositive
type Output = StrictlyPositive
Hypot::hypot().Source§impl Hypot<NonZeroNonNaNFinite> for NegativeFinite<f64>
impl Hypot<NonZeroNonNaNFinite> for NegativeFinite<f64>
Source§type Output = StrictlyPositive
type Output = StrictlyPositive
Hypot::hypot().Source§impl Hypot<Positive> for NegativeFinite<f64>
impl Hypot<Positive> for NegativeFinite<f64>
Source§type Output = Positive
type Output = Positive
Hypot::hypot().Source§impl Hypot<PositiveFinite> for NegativeFinite<f64>
impl Hypot<PositiveFinite> for NegativeFinite<f64>
Source§type Output = Positive
type Output = Positive
Hypot::hypot().Source§impl Hypot<StrictlyNegative> for NegativeFinite<f64>
impl Hypot<StrictlyNegative> for NegativeFinite<f64>
Source§type Output = StrictlyPositive
type Output = StrictlyPositive
Hypot::hypot().Source§impl Hypot<StrictlyNegativeFinite> for NegativeFinite<f64>
impl Hypot<StrictlyNegativeFinite> for NegativeFinite<f64>
Source§type Output = StrictlyPositive
type Output = StrictlyPositive
Hypot::hypot().Source§impl Hypot<StrictlyPositive> for NegativeFinite<f64>
impl Hypot<StrictlyPositive> for NegativeFinite<f64>
Source§type Output = StrictlyPositive
type Output = StrictlyPositive
Hypot::hypot().Source§impl Hypot<StrictlyPositiveFinite> for NegativeFinite<f64>
impl Hypot<StrictlyPositiveFinite> for NegativeFinite<f64>
Source§type Output = StrictlyPositive
type Output = StrictlyPositive
Hypot::hypot().Source§impl Max<NegativeFinite> for NegativeFinite<f64>
impl Max<NegativeFinite> for NegativeFinite<f64>
Source§type Output = NegativeFinite
type Output = NegativeFinite
Max::max().Source§impl Max<NonNaNFinite> for NegativeFinite<f64>
impl Max<NonNaNFinite> for NegativeFinite<f64>
Source§type Output = NonNaNFinite
type Output = NonNaNFinite
Max::max().Source§impl Max<NonZeroNonNaN> for NegativeFinite<f64>
impl Max<NonZeroNonNaN> for NegativeFinite<f64>
Source§impl Max<NonZeroNonNaNFinite> for NegativeFinite<f64>
impl Max<NonZeroNonNaNFinite> for NegativeFinite<f64>
Source§type Output = NonNaNFinite
type Output = NonNaNFinite
Max::max().Source§impl Max<PositiveFinite> for NegativeFinite<f64>
impl Max<PositiveFinite> for NegativeFinite<f64>
Source§type Output = NonNaNFinite
type Output = NonNaNFinite
Max::max().Source§impl Max<StrictlyNegative> for NegativeFinite<f64>
impl Max<StrictlyNegative> for NegativeFinite<f64>
Source§type Output = NegativeFinite
type Output = NegativeFinite
Max::max().Source§impl Max<StrictlyNegativeFinite> for NegativeFinite<f64>
impl Max<StrictlyNegativeFinite> for NegativeFinite<f64>
Source§type Output = NegativeFinite
type Output = NegativeFinite
Max::max().Source§impl Max<StrictlyPositive> for NegativeFinite<f64>
impl Max<StrictlyPositive> for NegativeFinite<f64>
Source§type Output = StrictlyPositive
type Output = StrictlyPositive
Max::max().Source§impl Max<StrictlyPositiveFinite> for NegativeFinite<f64>
impl Max<StrictlyPositiveFinite> for NegativeFinite<f64>
Source§type Output = StrictlyPositiveFinite
type Output = StrictlyPositiveFinite
Max::max().Source§impl Midpoint<NegativeFinite> for NegativeFinite<f64>
impl Midpoint<NegativeFinite> for NegativeFinite<f64>
Source§type Output = NegativeFinite
type Output = NegativeFinite
Midpoint::midpoint().Source§fn midpoint(self, rhs: NegativeFinite<f64>) -> Self::Output
fn midpoint(self, rhs: NegativeFinite<f64>) -> Self::Output
f64::midpoint() for more details.Source§impl Midpoint<NonNaNFinite> for NegativeFinite<f64>
impl Midpoint<NonNaNFinite> for NegativeFinite<f64>
Source§type Output = NonNaNFinite
type Output = NonNaNFinite
Midpoint::midpoint().Source§fn midpoint(self, rhs: NonNaNFinite<f64>) -> Self::Output
fn midpoint(self, rhs: NonNaNFinite<f64>) -> Self::Output
f64::midpoint() for more details.Source§impl Midpoint<NonZeroNonNaN> for NegativeFinite<f64>
impl Midpoint<NonZeroNonNaN> for NegativeFinite<f64>
Source§type Output = NonNaN
type Output = NonNaN
Midpoint::midpoint().Source§fn midpoint(self, rhs: NonZeroNonNaN<f64>) -> Self::Output
fn midpoint(self, rhs: NonZeroNonNaN<f64>) -> Self::Output
f64::midpoint() for more details.Source§impl Midpoint<NonZeroNonNaNFinite> for NegativeFinite<f64>
impl Midpoint<NonZeroNonNaNFinite> for NegativeFinite<f64>
Source§type Output = NonNaNFinite
type Output = NonNaNFinite
Midpoint::midpoint().Source§fn midpoint(self, rhs: NonZeroNonNaNFinite<f64>) -> Self::Output
fn midpoint(self, rhs: NonZeroNonNaNFinite<f64>) -> Self::Output
f64::midpoint() for more details.Source§impl Midpoint<PositiveFinite> for NegativeFinite<f64>
impl Midpoint<PositiveFinite> for NegativeFinite<f64>
Source§type Output = NonNaNFinite
type Output = NonNaNFinite
Midpoint::midpoint().Source§fn midpoint(self, rhs: PositiveFinite<f64>) -> Self::Output
fn midpoint(self, rhs: PositiveFinite<f64>) -> Self::Output
f64::midpoint() for more details.Source§impl Midpoint<StrictlyNegative> for NegativeFinite<f64>
impl Midpoint<StrictlyNegative> for NegativeFinite<f64>
Source§type Output = Negative
type Output = Negative
Midpoint::midpoint().Source§fn midpoint(self, rhs: StrictlyNegative<f64>) -> Self::Output
fn midpoint(self, rhs: StrictlyNegative<f64>) -> Self::Output
f64::midpoint() for more details.Source§impl Midpoint<StrictlyNegativeFinite> for NegativeFinite<f64>
impl Midpoint<StrictlyNegativeFinite> for NegativeFinite<f64>
Source§type Output = NegativeFinite
type Output = NegativeFinite
Midpoint::midpoint().Source§fn midpoint(self, rhs: StrictlyNegativeFinite<f64>) -> Self::Output
fn midpoint(self, rhs: StrictlyNegativeFinite<f64>) -> Self::Output
f64::midpoint() for more details.Source§impl Midpoint<StrictlyPositive> for NegativeFinite<f64>
impl Midpoint<StrictlyPositive> for NegativeFinite<f64>
Source§type Output = NonNaN
type Output = NonNaN
Midpoint::midpoint().Source§fn midpoint(self, rhs: StrictlyPositive<f64>) -> Self::Output
fn midpoint(self, rhs: StrictlyPositive<f64>) -> Self::Output
f64::midpoint() for more details.Source§impl Midpoint<StrictlyPositiveFinite> for NegativeFinite<f64>
impl Midpoint<StrictlyPositiveFinite> for NegativeFinite<f64>
Source§type Output = NonNaNFinite
type Output = NonNaNFinite
Midpoint::midpoint().Source§fn midpoint(self, rhs: StrictlyPositiveFinite<f64>) -> Self::Output
fn midpoint(self, rhs: StrictlyPositiveFinite<f64>) -> Self::Output
f64::midpoint() for more details.Source§impl Min<NegativeFinite> for NegativeFinite<f64>
impl Min<NegativeFinite> for NegativeFinite<f64>
Source§type Output = NonNaNFinite
type Output = NonNaNFinite
Min::min().Source§impl Min<NonNaNFinite> for NegativeFinite<f64>
impl Min<NonNaNFinite> for NegativeFinite<f64>
Source§type Output = NonNaNFinite
type Output = NonNaNFinite
Min::min().Source§impl Min<NonZeroNonNaN> for NegativeFinite<f64>
impl Min<NonZeroNonNaN> for NegativeFinite<f64>
Source§impl Min<NonZeroNonNaNFinite> for NegativeFinite<f64>
impl Min<NonZeroNonNaNFinite> for NegativeFinite<f64>
Source§type Output = NonNaNFinite
type Output = NonNaNFinite
Min::min().Source§impl Min<PositiveFinite> for NegativeFinite<f64>
impl Min<PositiveFinite> for NegativeFinite<f64>
Source§type Output = NonNaNFinite
type Output = NonNaNFinite
Min::min().Source§impl Min<StrictlyNegative> for NegativeFinite<f64>
impl Min<StrictlyNegative> for NegativeFinite<f64>
Source§type Output = StrictlyNegative
type Output = StrictlyNegative
Min::min().Source§impl Min<StrictlyNegativeFinite> for NegativeFinite<f64>
impl Min<StrictlyNegativeFinite> for NegativeFinite<f64>
Source§type Output = StrictlyNegativeFinite
type Output = StrictlyNegativeFinite
Min::min().Source§impl Min<StrictlyPositive> for NegativeFinite<f64>
impl Min<StrictlyPositive> for NegativeFinite<f64>
Source§type Output = NonNaNFinite
type Output = NonNaNFinite
Min::min().Source§impl Min<StrictlyPositiveFinite> for NegativeFinite<f64>
impl Min<StrictlyPositiveFinite> for NegativeFinite<f64>
Source§type Output = NonNaNFinite
type Output = NonNaNFinite
Min::min().Source§impl Mul<NonNaNFinite> for NegativeFinite<f64>
impl Mul<NonNaNFinite> for NegativeFinite<f64>
Source§impl Mul<NonZeroNonNaN> for NegativeFinite<f64>
impl Mul<NonZeroNonNaN> for NegativeFinite<f64>
Source§impl Mul<NonZeroNonNaNFinite> for NegativeFinite<f64>
impl Mul<NonZeroNonNaNFinite> for NegativeFinite<f64>
Source§impl Mul<PositiveFinite> for NegativeFinite<f64>
impl Mul<PositiveFinite> for NegativeFinite<f64>
Source§impl Mul<StrictlyNegative> for NegativeFinite<f64>
impl Mul<StrictlyNegative> for NegativeFinite<f64>
Source§impl Mul<StrictlyNegativeFinite> for NegativeFinite<f64>
impl Mul<StrictlyNegativeFinite> for NegativeFinite<f64>
Source§impl Mul<StrictlyPositive> for NegativeFinite<f64>
impl Mul<StrictlyPositive> for NegativeFinite<f64>
Source§impl Mul<StrictlyPositiveFinite> for NegativeFinite<f64>
impl Mul<StrictlyPositiveFinite> for NegativeFinite<f64>
Source§impl Mul for NegativeFinite<f64>
impl Mul for NegativeFinite<f64>
Source§impl Neg for NegativeFinite<f64>
impl Neg for NegativeFinite<f64>
Source§impl Ord for NegativeFinite<f64>
impl Ord for NegativeFinite<f64>
Source§impl PartialEq<NonNaNFinite> for NegativeFinite<f64>
impl PartialEq<NonNaNFinite> for NegativeFinite<f64>
Source§impl PartialEq<NonZeroNonNaN> for NegativeFinite<f64>
impl PartialEq<NonZeroNonNaN> for NegativeFinite<f64>
Source§impl PartialEq<NonZeroNonNaNFinite> for NegativeFinite<f64>
impl PartialEq<NonZeroNonNaNFinite> for NegativeFinite<f64>
Source§impl PartialEq<PositiveFinite> for NegativeFinite<f64>
impl PartialEq<PositiveFinite> for NegativeFinite<f64>
Source§impl PartialEq<StrictlyNegative> for NegativeFinite<f64>
impl PartialEq<StrictlyNegative> for NegativeFinite<f64>
Source§impl PartialEq<StrictlyNegativeFinite> for NegativeFinite<f64>
impl PartialEq<StrictlyNegativeFinite> for NegativeFinite<f64>
Source§impl PartialEq<StrictlyPositive> for NegativeFinite<f64>
impl PartialEq<StrictlyPositive> for NegativeFinite<f64>
Source§impl PartialEq<StrictlyPositiveFinite> for NegativeFinite<f64>
impl PartialEq<StrictlyPositiveFinite> for NegativeFinite<f64>
Source§impl PartialEq for NegativeFinite<f64>
impl PartialEq for NegativeFinite<f64>
Source§impl PartialOrd<Negative> for NegativeFinite<f64>
impl PartialOrd<Negative> for NegativeFinite<f64>
Source§impl PartialOrd<NonNaN> for NegativeFinite<f64>
impl PartialOrd<NonNaN> for NegativeFinite<f64>
Source§impl PartialOrd<NonNaNFinite> for NegativeFinite<f64>
impl PartialOrd<NonNaNFinite> for NegativeFinite<f64>
Source§impl PartialOrd<NonZeroNonNaN> for NegativeFinite<f64>
impl PartialOrd<NonZeroNonNaN> for NegativeFinite<f64>
Source§impl PartialOrd<NonZeroNonNaNFinite> for NegativeFinite<f64>
impl PartialOrd<NonZeroNonNaNFinite> for NegativeFinite<f64>
Source§impl PartialOrd<Positive> for NegativeFinite<f64>
impl PartialOrd<Positive> for NegativeFinite<f64>
Source§impl PartialOrd<PositiveFinite> for NegativeFinite<f64>
impl PartialOrd<PositiveFinite> for NegativeFinite<f64>
Source§impl PartialOrd<StrictlyNegative> for NegativeFinite<f64>
impl PartialOrd<StrictlyNegative> for NegativeFinite<f64>
Source§impl PartialOrd<StrictlyNegativeFinite> for NegativeFinite<f64>
impl PartialOrd<StrictlyNegativeFinite> for NegativeFinite<f64>
Source§impl PartialOrd<StrictlyPositive> for NegativeFinite<f64>
impl PartialOrd<StrictlyPositive> for NegativeFinite<f64>
Source§impl PartialOrd<StrictlyPositiveFinite> for NegativeFinite<f64>
impl PartialOrd<StrictlyPositiveFinite> for NegativeFinite<f64>
Source§impl PartialOrd<f64> for NegativeFinite<f64>
impl PartialOrd<f64> for NegativeFinite<f64>
Source§impl PartialOrd for NegativeFinite<f64>
impl PartialOrd for NegativeFinite<f64>
Source§impl Powf<NegativeFinite> for NegativeFinite<f64>
impl Powf<NegativeFinite> for NegativeFinite<f64>
Source§type Output = f64
type Output = f64
Powf::powf().Source§fn powf(self, rhs: NegativeFinite<f64>) -> Self::Output
fn powf(self, rhs: NegativeFinite<f64>) -> Self::Output
f64::powf() for more details.Source§impl Powf<NonNaNFinite> for NegativeFinite<f64>
impl Powf<NonNaNFinite> for NegativeFinite<f64>
Source§type Output = f64
type Output = f64
Powf::powf().Source§fn powf(self, rhs: NonNaNFinite<f64>) -> Self::Output
fn powf(self, rhs: NonNaNFinite<f64>) -> Self::Output
f64::powf() for more details.Source§impl Powf<NonZeroNonNaN> for NegativeFinite<f64>
impl Powf<NonZeroNonNaN> for NegativeFinite<f64>
Source§type Output = f64
type Output = f64
Powf::powf().Source§fn powf(self, rhs: NonZeroNonNaN<f64>) -> Self::Output
fn powf(self, rhs: NonZeroNonNaN<f64>) -> Self::Output
f64::powf() for more details.Source§impl Powf<NonZeroNonNaNFinite> for NegativeFinite<f64>
impl Powf<NonZeroNonNaNFinite> for NegativeFinite<f64>
Source§type Output = f64
type Output = f64
Powf::powf().Source§fn powf(self, rhs: NonZeroNonNaNFinite<f64>) -> Self::Output
fn powf(self, rhs: NonZeroNonNaNFinite<f64>) -> Self::Output
f64::powf() for more details.Source§impl Powf<PositiveFinite> for NegativeFinite<f64>
impl Powf<PositiveFinite> for NegativeFinite<f64>
Source§type Output = f64
type Output = f64
Powf::powf().Source§fn powf(self, rhs: PositiveFinite<f64>) -> Self::Output
fn powf(self, rhs: PositiveFinite<f64>) -> Self::Output
f64::powf() for more details.Source§impl Powf<StrictlyNegative> for NegativeFinite<f64>
impl Powf<StrictlyNegative> for NegativeFinite<f64>
Source§type Output = f64
type Output = f64
Powf::powf().Source§fn powf(self, rhs: StrictlyNegative<f64>) -> Self::Output
fn powf(self, rhs: StrictlyNegative<f64>) -> Self::Output
f64::powf() for more details.Source§impl Powf<StrictlyNegativeFinite> for NegativeFinite<f64>
impl Powf<StrictlyNegativeFinite> for NegativeFinite<f64>
Source§type Output = f64
type Output = f64
Powf::powf().Source§fn powf(self, rhs: StrictlyNegativeFinite<f64>) -> Self::Output
fn powf(self, rhs: StrictlyNegativeFinite<f64>) -> Self::Output
f64::powf() for more details.Source§impl Powf<StrictlyPositive> for NegativeFinite<f64>
impl Powf<StrictlyPositive> for NegativeFinite<f64>
Source§type Output = f64
type Output = f64
Powf::powf().Source§fn powf(self, rhs: StrictlyPositive<f64>) -> Self::Output
fn powf(self, rhs: StrictlyPositive<f64>) -> Self::Output
f64::powf() for more details.Source§impl Powf<StrictlyPositiveFinite> for NegativeFinite<f64>
impl Powf<StrictlyPositiveFinite> for NegativeFinite<f64>
Source§type Output = f64
type Output = f64
Powf::powf().Source§fn powf(self, rhs: StrictlyPositiveFinite<f64>) -> Self::Output
fn powf(self, rhs: StrictlyPositiveFinite<f64>) -> Self::Output
f64::powf() for more details.Source§impl Rem<NonNaNFinite> for NegativeFinite<f64>
impl Rem<NonNaNFinite> for NegativeFinite<f64>
Source§impl Rem<NonZeroNonNaN> for NegativeFinite<f64>
impl Rem<NonZeroNonNaN> for NegativeFinite<f64>
Source§impl Rem<NonZeroNonNaNFinite> for NegativeFinite<f64>
impl Rem<NonZeroNonNaNFinite> for NegativeFinite<f64>
Source§impl Rem<PositiveFinite> for NegativeFinite<f64>
impl Rem<PositiveFinite> for NegativeFinite<f64>
Source§impl Rem<StrictlyNegative> for NegativeFinite<f64>
impl Rem<StrictlyNegative> for NegativeFinite<f64>
Source§impl Rem<StrictlyNegativeFinite> for NegativeFinite<f64>
impl Rem<StrictlyNegativeFinite> for NegativeFinite<f64>
Source§impl Rem<StrictlyPositive> for NegativeFinite<f64>
impl Rem<StrictlyPositive> for NegativeFinite<f64>
Source§impl Rem<StrictlyPositiveFinite> for NegativeFinite<f64>
impl Rem<StrictlyPositiveFinite> for NegativeFinite<f64>
Source§impl Rem for NegativeFinite<f64>
impl Rem for NegativeFinite<f64>
Source§impl RemAssign<NonZeroNonNaN> for NegativeFinite<f64>
impl RemAssign<NonZeroNonNaN> for NegativeFinite<f64>
Source§fn rem_assign(&mut self, rhs: NonZeroNonNaN<f64>)
fn rem_assign(&mut self, rhs: NonZeroNonNaN<f64>)
%= operation. Read moreSource§impl RemAssign<NonZeroNonNaNFinite> for NegativeFinite<f64>
impl RemAssign<NonZeroNonNaNFinite> for NegativeFinite<f64>
Source§fn rem_assign(&mut self, rhs: NonZeroNonNaNFinite<f64>)
fn rem_assign(&mut self, rhs: NonZeroNonNaNFinite<f64>)
%= operation. Read moreSource§impl RemAssign<StrictlyNegative> for NegativeFinite<f64>
impl RemAssign<StrictlyNegative> for NegativeFinite<f64>
Source§fn rem_assign(&mut self, rhs: StrictlyNegative<f64>)
fn rem_assign(&mut self, rhs: StrictlyNegative<f64>)
%= operation. Read moreSource§impl RemAssign<StrictlyNegativeFinite> for NegativeFinite<f64>
impl RemAssign<StrictlyNegativeFinite> for NegativeFinite<f64>
Source§fn rem_assign(&mut self, rhs: StrictlyNegativeFinite<f64>)
fn rem_assign(&mut self, rhs: StrictlyNegativeFinite<f64>)
%= operation. Read moreSource§impl RemAssign<StrictlyPositive> for NegativeFinite<f64>
impl RemAssign<StrictlyPositive> for NegativeFinite<f64>
Source§fn rem_assign(&mut self, rhs: StrictlyPositive<f64>)
fn rem_assign(&mut self, rhs: StrictlyPositive<f64>)
%= operation. Read moreSource§impl RemAssign<StrictlyPositiveFinite> for NegativeFinite<f64>
impl RemAssign<StrictlyPositiveFinite> for NegativeFinite<f64>
Source§fn rem_assign(&mut self, rhs: StrictlyPositiveFinite<f64>)
fn rem_assign(&mut self, rhs: StrictlyPositiveFinite<f64>)
%= operation. Read more