| /// Decompose a float into a normalized value within the range `[0.5, 1)`, and a power of 2. |
| /// |
| /// That is, `x * 2^p` will represent the input value. |
| // Placeholder so we can have `frexpf16` in the `Float` trait. |
| #[cfg(f16_enabled)] |
| #[cfg_attr(assert_no_panic, no_panic::no_panic)] |
| pub fn frexpf16(x: f16) -> (f16, i32) { |
| super::generic::frexp(x) |
| } |
| |
| /// Decompose a float into a normalized value within the range `[0.5, 1)`, and a power of 2. |
| /// |
| /// That is, `x * 2^p` will represent the input value. |
| #[cfg_attr(assert_no_panic, no_panic::no_panic)] |
| pub fn frexpf(x: f32) -> (f32, i32) { |
| super::generic::frexp(x) |
| } |
| |
| /// Decompose a float into a normalized value within the range `[0.5, 1)`, and a power of 2. |
| /// |
| /// That is, `x * 2^p` will represent the input value. |
| #[cfg_attr(assert_no_panic, no_panic::no_panic)] |
| pub fn frexp(x: f64) -> (f64, i32) { |
| super::generic::frexp(x) |
| } |
| |
| /// Decompose a float into a normalized value within the range `[0.5, 1)`, and a power of 2. |
| /// |
| /// That is, `x * 2^p` will represent the input value. |
| #[cfg(f128_enabled)] |
| #[cfg_attr(assert_no_panic, no_panic::no_panic)] |
| pub fn frexpf128(x: f128) -> (f128, i32) { |
| super::generic::frexp(x) |
| } |