Skip to content

Commit b20969d

Browse files
committed
1 parent 0787f10 commit b20969d

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

src/sealed_int.rs

+6-5
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515

1616
use core::cmp::Ordering;
1717
use core::fmt::{Debug, Display};
18-
use core::i32;
1918
use frac::{Bit, False, True, Unsigned, U0, U1, U128, U16, U32, U64, U7, U8};
2019
use sealed::{Fixed, Widest};
2120
use {
@@ -152,14 +151,15 @@ macro_rules! sealed_int {
152151
let overflow = src_bits - dst_bits > need_to_shr + leading_zeros as i32;
153152
let bits_128 = u128::from(self);
154153
let (bits, lost_bits) = match need_to_shr {
155-
i32::MIN..=-128 => (0, false),
154+
-0x7fff_ffff..=-128 => (0, false),
156155
-127..=-1 => (bits_128 << -need_to_shr, false),
157156
0 => (bits_128, false),
158157
1..=127 => {
159158
let shifted = bits_128 >> need_to_shr;
160159
(shifted, shifted << need_to_shr != bits_128)
161160
}
162-
_ => (0, true),
161+
128..=0x7fff_ffff => (0, true),
162+
_ => unreachable!(),
163163
};
164164
let dir = if lost_bits { Ordering::Less } else { Ordering::Equal };
165165
(Widest::Unsigned(bits), dir, overflow)
@@ -218,14 +218,15 @@ macro_rules! sealed_int {
218218
let overflow = src_bits - dst_bits > need_to_shr + leading_ones as i32 - 1;
219219
let bits_128 = i128::from(self);
220220
let (bits, lost_bits) = match need_to_shr {
221-
i32::MIN..=-128 => (0, false),
221+
-0x7fff_ffff..=-128 => (0, false),
222222
-127..=-1 => (bits_128 << -need_to_shr, false),
223223
0 => (bits_128, false),
224224
1..=127 => {
225225
let shifted = bits_128 >> need_to_shr;
226226
(shifted, shifted << need_to_shr != bits_128)
227227
}
228-
_ => (-1, true),
228+
128..=0x7fff_ffff => (-1, true),
229+
_ => unreachable!(),
229230
};
230231
let dir = if lost_bits { Ordering::Less } else { Ordering::Equal };
231232
(Widest::Negative(bits), dir, overflow)

0 commit comments

Comments
 (0)