Trait typed_floats::Copysign
source · pub trait Copysign<T> {
type Output;
// Required method
fn copysign(self, rhs: T) -> Self::Output;
}
Expand description
This trait is used to specify the return type of the Copysign::copysign()
function.
Required Associated Types§
sourcetype Output
type Output
The resulting type after applying Copysign::copysign()
.
Required Methods§
sourcefn copysign(self, rhs: T) -> Self::Output
fn copysign(self, rhs: T) -> Self::Output
Returns a number composed of the magnitude of self and the sign of sign. Equal to self if the sign of self and sign are the same, otherwise equal to -self.
§Examples
let x: NonNaN = 3.5.try_into().unwrap();
let y: NonNaN = (-3.5).try_into().unwrap();
let a: NonNaN = 1.0.try_into().unwrap();
let b: NonNaN = 0.0.try_into().unwrap();
let c: NonNaN = (-0.0).try_into().unwrap();
let d: NonNaN = (-1.0).try_into().unwrap();
assert_eq!(x.copysign(a), 3.5);
assert_eq!(x.copysign(b), 3.5);
assert_eq!(x.copysign(c), -3.5);
assert_eq!(x.copysign(d), -3.5);
assert_eq!(y.copysign(a), 3.5);
assert_eq!(y.copysign(b), 3.5);
assert_eq!(y.copysign(c), -3.5);
assert_eq!(y.copysign(d), -3.5);
See f64::copysign()
for more details.