Skip to content

Commit

Permalink
Allow Float::ldexp to be called as a method
Browse files Browse the repository at this point in the history
Fixes #22098.
  • Loading branch information
milibopp committed Mar 19, 2015
1 parent 46f649c commit 5bfb5ba
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 9 deletions.
8 changes: 4 additions & 4 deletions src/libstd/num/f32.rs
Expand Up @@ -191,8 +191,8 @@ impl Float for f32 {
/// Constructs a floating point number by multiplying `x` by 2 raised to the
/// power of `exp`
#[inline]
fn ldexp(x: f32, exp: int) -> f32 {
unsafe { cmath::ldexpf(x, exp as c_int) }
fn ldexp(self, exp: isize) -> f32 {
unsafe { cmath::ldexpf(self, exp as c_int) }
}

/// Breaks the number into a normalized fraction and a base-2 exponent,
Expand Down Expand Up @@ -2208,8 +2208,8 @@ mod tests {
let f1: f32 = FromStrRadix::from_str_radix("1p-123", 16).unwrap();
let f2: f32 = FromStrRadix::from_str_radix("1p-111", 16).unwrap();
let f3: f32 = FromStrRadix::from_str_radix("1.Cp-12", 16).unwrap();
assert_eq!(Float::ldexp(1f32, -123), f1);
assert_eq!(Float::ldexp(1f32, -111), f2);
assert_eq!(1f32.ldexp(-123), f1);
assert_eq!(1f32.ldexp(-111), f2);
assert_eq!(Float::ldexp(1.75f32, -12), f3);

assert_eq!(Float::ldexp(0f32, -123), 0f32);
Expand Down
8 changes: 4 additions & 4 deletions src/libstd/num/f64.rs
Expand Up @@ -200,8 +200,8 @@ impl Float for f64 {
fn to_radians(self) -> f64 { num::Float::to_radians(self) }

#[inline]
fn ldexp(x: f64, exp: int) -> f64 {
unsafe { cmath::ldexp(x, exp as c_int) }
fn ldexp(self, exp: isize) -> f64 {
unsafe { cmath::ldexp(self, exp as c_int) }
}

/// Breaks the number into a normalized fraction and a base-2 exponent,
Expand Down Expand Up @@ -2215,8 +2215,8 @@ mod tests {
let f1: f64 = FromStrRadix::from_str_radix("1p-123", 16).unwrap();
let f2: f64 = FromStrRadix::from_str_radix("1p-111", 16).unwrap();
let f3: f64 = FromStrRadix::from_str_radix("1.Cp-12", 16).unwrap();
assert_eq!(Float::ldexp(1f64, -123), f1);
assert_eq!(Float::ldexp(1f64, -111), f2);
assert_eq!(1f64.ldexp(-123), f1);
assert_eq!(1f64.ldexp(-111), f2);
assert_eq!(Float::ldexp(1.75f64, -12), f3);

assert_eq!(Float::ldexp(0f64, -123), 0f64);
Expand Down
2 changes: 1 addition & 1 deletion src/libstd/num/mod.rs
Expand Up @@ -702,7 +702,7 @@ pub trait Float
/// ```
#[unstable(feature = "std_misc",
reason = "pending integer conventions")]
fn ldexp(x: Self, exp: isize) -> Self;
fn ldexp(self, exp: isize) -> Self;
/// Breaks the number into a normalized fraction and a base-2 exponent,
/// satisfying:
///
Expand Down

0 comments on commit 5bfb5ba

Please sign in to comment.