diff options
| author | Kang Seonghoon <public+git@mearie.org> | 2015-04-23 18:37:39 +0900 |
|---|---|---|
| committer | Kang Seonghoon <public+git@mearie.org> | 2015-05-06 14:22:26 +0900 |
| commit | a641b05fda448d3388347838076e3c583a5f8fa4 (patch) | |
| tree | 8ec983e0bbaa717babdf6b36b78e362c17da81e9 /src/libcore/num | |
| parent | 97ea7c14bae496d6444752be570dd41cf1a507bd (diff) | |
| download | rust-a641b05fda448d3388347838076e3c583a5f8fa4.tar.gz rust-a641b05fda448d3388347838076e3c583a5f8fa4.zip | |
core: updated for the master changes.
The master no longer has `std::num::Float`, so a generic `ldexp` is not readily available. `DecodableFloat::ldexpi` works around this.
Diffstat (limited to 'src/libcore/num')
| -rw-r--r-- | src/libcore/num/flt2dec/decoder.rs | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/libcore/num/flt2dec/decoder.rs b/src/libcore/num/flt2dec/decoder.rs index d4473e6bc0c..f98bc11a315 100644 --- a/src/libcore/num/flt2dec/decoder.rs +++ b/src/libcore/num/flt2dec/decoder.rs @@ -53,15 +53,20 @@ pub enum FullDecoded { /// A floating point type which can be `decode`d. pub trait DecodableFloat: Float + Copy { + /// Returns `x * 2^exp`. Almost same to `std::{f32,f64}::ldexp`. + /// This is used for testing. + fn ldexpi(f: i64, exp: isize) -> Self; /// The minimum positive normalized value. fn min_pos_norm_value() -> Self; } impl DecodableFloat for f32 { + fn ldexpi(f: i64, exp: isize) -> Self { f as Self * (exp as Self).exp2() } fn min_pos_norm_value() -> Self { f32::MIN_POSITIVE } } impl DecodableFloat for f64 { + fn ldexpi(f: i64, exp: isize) -> Self { f as Self * (exp as Self).exp2() } fn min_pos_norm_value() -> Self { f64::MIN_POSITIVE } } |
