#[inline(always)]
fn shl(self, other: $f) -> Wrapping<$t> {
if other < 0 {
- Wrapping(self.0 >> (-other & self::shift_max::$t as $f))
+ Wrapping(self.0.wrapping_shr((-other & self::shift_max::$t as $f) as u32))
} else {
- Wrapping(self.0 << (other & self::shift_max::$t as $f))
+ Wrapping(self.0.wrapping_shl((other & self::shift_max::$t as $f) as u32))
}
}
}
#[inline(always)]
fn shr(self, other: $f) -> Wrapping<$t> {
if other < 0 {
- Wrapping(self.0 << (-other & self::shift_max::$t as $f))
+ Wrapping(self.0.wrapping_shl((-other & self::shift_max::$t as $f) as u32))
} else {
- Wrapping(self.0 >> (other & self::shift_max::$t as $f))
+ Wrapping(self.0.wrapping_shr((other & self::shift_max::$t as $f) as u32))
}
}
}
#[inline(always)]
fn shl(self, other: $f) -> Wrapping<$t> {
- Wrapping(self.0 << (other & self::shift_max::$t as $f))
+ Wrapping(self.0.wrapping_shl((other & self::shift_max::$t as $f) as u32))
}
}
#[inline(always)]
fn shr(self, other: $f) -> Wrapping<$t> {
- Wrapping(self.0 >> (other & self::shift_max::$t as $f))
+ Wrapping(self.0.wrapping_shr((other & self::shift_max::$t as $f) as u32))
}
}
// FIXME (#23545): uncomment the remaining impls
macro_rules! sh_impl_all {
($($t:ident)*) => ($(
- sh_impl_unsigned! { $t, u8 }
- sh_impl_unsigned! { $t, u16 }
- sh_impl_unsigned! { $t, u32 }
- sh_impl_unsigned! { $t, u64 }
+ //sh_impl_unsigned! { $t, u8 }
+ //sh_impl_unsigned! { $t, u16 }
+ //sh_impl_unsigned! { $t, u32 }
+ //sh_impl_unsigned! { $t, u64 }
sh_impl_unsigned! { $t, usize }
- sh_impl_signed! { $t, i8 }
- sh_impl_signed! { $t, i16 }
- sh_impl_signed! { $t, i32 }
- sh_impl_signed! { $t, i64 }
- sh_impl_signed! { $t, isize }
+ //sh_impl_signed! { $t, i8 }
+ //sh_impl_signed! { $t, i16 }
+ //sh_impl_signed! { $t, i32 }
+ //sh_impl_signed! { $t, i64 }
+ //sh_impl_signed! { $t, isize }
)*)
}
const MIDPOINT: usize = RAND_SIZE_USIZE / 2;
macro_rules! ind {
- ($x:expr) => (self.mem[($x >> 2u32).0 as usize & (RAND_SIZE_USIZE - 1)] )
+ ($x:expr) => (self.mem[($x >> 2).0 as usize & (RAND_SIZE_USIZE - 1)] )
}
let r = [(0, MIDPOINT), (MIDPOINT, 0)];
const MP_VEC: [(usize, usize); 2] = [(0, MIDPOINT), (MIDPOINT, 0)];
macro_rules! ind {
($x:expr) => {
- *self.mem.get_unchecked((($x >> 3u32).0 as usize) & (RAND_SIZE_64 - 1))
+ *self.mem.get_unchecked((($x >> 3).0 as usize) & (RAND_SIZE_64 - 1))
}
}
}}
}
- rngstepp!(0, 21u32);
- rngstepn!(1, 5u32);
- rngstepp!(2, 12u32);
- rngstepn!(3, 33u32);
+ rngstepp!(0, 21);
+ rngstepn!(1, 5);
+ rngstepp!(2, 12);
+ rngstepn!(3, 33);
}
}
sh_test!(shl(usize::MAX, -((usize::BITS + 1) as $t)) == usize::MAX / 2);
}
}
- sh_test_all!(i8);
- sh_test_all!(u8);
- sh_test_all!(i16);
- sh_test_all!(u16);
- sh_test_all!(i32);
- sh_test_all!(u32);
- sh_test_all!(i64);
- sh_test_all!(u64);
- sh_test_all!(isize);
+ // FIXME(#23545): Uncomment the remaining tests
+ //sh_test_all!(i8);
+ //sh_test_all!(u8);
+ //sh_test_all!(i16);
+ //sh_test_all!(u16);
+ //sh_test_all!(i32);
+ //sh_test_all!(u32);
+ //sh_test_all!(i64);
+ //sh_test_all!(u64);
+ //sh_test_all!(isize);
sh_test_all!(usize);
- sh_test_negative_all!(i8);
- sh_test_negative_all!(i16);
- sh_test_negative_all!(i32);
- sh_test_negative_all!(i64);
- sh_test_negative_all!(isize);
+ //sh_test_negative_all!(i8);
+ //sh_test_negative_all!(i16);
+ //sh_test_negative_all!(i32);
+ //sh_test_negative_all!(i64);
+ //sh_test_negative_all!(isize);
}
fn test_sh_op_assigns() {
}
}
- sh_assign_test_all!(i8);
- sh_assign_test_all!(u8);
- sh_assign_test_all!(i16);
- sh_assign_test_all!(u16);
- sh_assign_test_all!(i32);
- sh_assign_test_all!(u32);
- sh_assign_test_all!(i64);
- sh_assign_test_all!(u64);
- sh_assign_test_all!(isize);
+ // FIXME(#23545): Uncomment the remaining tests
+ //sh_assign_test_all!(i8);
+ //sh_assign_test_all!(u8);
+ //sh_assign_test_all!(i16);
+ //sh_assign_test_all!(u16);
+ //sh_assign_test_all!(i32);
+ //sh_assign_test_all!(u32);
+ //sh_assign_test_all!(i64);
+ //sh_assign_test_all!(u64);
+ //sh_assign_test_all!(isize);
sh_assign_test_all!(usize);
- sh_assign_test_negative_all!(i8);
- sh_assign_test_negative_all!(i16);
- sh_assign_test_negative_all!(i32);
- sh_assign_test_negative_all!(i64);
- sh_assign_test_negative_all!(isize);
+ //sh_assign_test_negative_all!(i8);
+ //sh_assign_test_negative_all!(i16);
+ //sh_assign_test_negative_all!(i32);
+ //sh_assign_test_negative_all!(i64);
+ //sh_assign_test_negative_all!(isize);
}