/// Sign of Y, magnitude of X (f32) | |
/// | |
/// Constructs a number with the magnitude (absolute value) of its | |
/// first argument, `x`, and the sign of its second argument, `y`. | |
#[cfg_attr(all(test, assert_no_panic), no_panic::no_panic)] | |
pub fn copysignf(x: f32, y: f32) -> f32 { | |
let mut ux = x.to_bits(); | |
let uy = y.to_bits(); | |
ux &= 0x7fffffff; | |
ux |= uy & 0x80000000; | |
f32::from_bits(ux) | |
} |