@@ -2185,40 +2185,12 @@ impl ByteOrder for LittleEndian {
2185
2185
2186
2186
#[ inline]
2187
2187
fn safe_u32_bits_to_f32 ( u : u32 ) -> f32 {
2188
- use core:: f32:: NAN ;
2189
-
2190
- const EXP_MASK : u32 = 0x7F800000 ;
2191
- const FRACT_MASK : u32 = 0x007FFFFF ;
2192
-
2193
- if u & EXP_MASK == EXP_MASK && u & FRACT_MASK != 0 {
2194
- // While IEEE 754-2008 specifies encodings for quiet NaNs and
2195
- // signaling ones, certains MIPS and PA-RISC CPUs treat signaling
2196
- // NaNs differently. Therefore, to be safe, we pass a known quiet
2197
- // NaN if u is any kind of NaN. The check above only assumes
2198
- // IEEE 754-1985 to be valid.
2199
- NAN
2200
- } else {
2201
- unsafe { transmute ( u) }
2202
- }
2188
+ unsafe { transmute ( u) }
2203
2189
}
2204
2190
2205
2191
#[ inline]
2206
2192
fn safe_u64_bits_to_f64 ( u : u64 ) -> f64 {
2207
- use core:: f64:: NAN ;
2208
-
2209
- const EXP_MASK : u64 = 0x7FF0000000000000 ;
2210
- const FRACT_MASK : u64 = 0x000FFFFFFFFFFFFF ;
2211
-
2212
- if u & EXP_MASK == EXP_MASK && u & FRACT_MASK != 0 {
2213
- // While IEEE 754-2008 specifies encodings for quiet NaNs and
2214
- // signaling ones, certains MIPS and PA-RISC CPUs treat signaling
2215
- // NaNs differently. Therefore, to be safe, we pass a known quiet
2216
- // NaN if u is any kind of NaN. The check above only assumes
2217
- // IEEE 754-1985 to be valid.
2218
- NAN
2219
- } else {
2220
- unsafe { transmute ( u) }
2221
- }
2193
+ unsafe { transmute ( u) }
2222
2194
}
2223
2195
2224
2196
#[ cfg( test) ]
0 commit comments