diff options
| author | Samuel Neves <sneves@dei.uc.pt> | 2014-07-02 04:58:23 +0100 |
|---|---|---|
| committer | Samuel Neves <sneves@dei.uc.pt> | 2014-07-02 23:45:27 +0100 |
| commit | c0248c0839cfdf5b7030f4191ea7aed0981b9e4e (patch) | |
| tree | 2e3e0ae4add8712ab32732caa46a4b4b812c43b2 /src/libcoretest | |
| parent | 380657557cb3793d39dfc0d2321fc946cb3496f5 (diff) | |
| download | rust-c0248c0839cfdf5b7030f4191ea7aed0981b9e4e.tar.gz rust-c0248c0839cfdf5b7030f4191ea7aed0981b9e4e.zip | |
Fix rotate_{left, right} for multiple of bitsize rotation amounts
Add additional rotation tests
Diffstat (limited to 'src/libcoretest')
| -rw-r--r-- | src/libcoretest/num/int_macros.rs | 9 | ||||
| -rw-r--r-- | src/libcoretest/num/uint_macros.rs | 9 |
2 files changed, 18 insertions, 0 deletions
diff --git a/src/libcoretest/num/int_macros.rs b/src/libcoretest/num/int_macros.rs index 940b036ca90..d078b514085 100644 --- a/src/libcoretest/num/int_macros.rs +++ b/src/libcoretest/num/int_macros.rs @@ -114,6 +114,15 @@ mod tests { assert_eq!(_1.rotate_left(124), _1); assert_eq!(_0.rotate_right(124), _0); assert_eq!(_1.rotate_right(124), _1); + + // Rotating by 0 should have no effect + assert_eq!(A.rotate_left(0), A); + assert_eq!(B.rotate_left(0), B); + assert_eq!(C.rotate_left(0), C); + // Rotating by a multiple of word size should also have no effect + assert_eq!(A.rotate_left(64), A); + assert_eq!(B.rotate_left(64), B); + assert_eq!(C.rotate_left(64), C); } #[test] diff --git a/src/libcoretest/num/uint_macros.rs b/src/libcoretest/num/uint_macros.rs index 2272af67daf..aefaa90520e 100644 --- a/src/libcoretest/num/uint_macros.rs +++ b/src/libcoretest/num/uint_macros.rs @@ -74,6 +74,15 @@ mod tests { assert_eq!(_1.rotate_left(124), _1); assert_eq!(_0.rotate_right(124), _0); assert_eq!(_1.rotate_right(124), _1); + + // Rotating by 0 should have no effect + assert_eq!(A.rotate_left(0), A); + assert_eq!(B.rotate_left(0), B); + assert_eq!(C.rotate_left(0), C); + // Rotating by a multiple of word size should also have no effect + assert_eq!(A.rotate_left(64), A); + assert_eq!(B.rotate_left(64), B); + assert_eq!(C.rotate_left(64), C); } #[test] |
