about summary refs log tree commit diff
diff options
context:
space:
mode:
authorkenta7777 <k.hasegw7@gmail.com>2019-03-11 22:31:25 +0900
committerkenta7777 <k.hasegw7@gmail.com>2019-03-11 22:31:25 +0900
commit749e9d460a14da95a77072b259441e3ea2539244 (patch)
tree2b5cf2a849e6e9b692fe51f8cdf0c097dbe9bc5f
parentcf3c9a78aa6544631a09fb7f1705d51a5c91158a (diff)
downloadrust-749e9d460a14da95a77072b259441e3ea2539244.tar.gz
rust-749e9d460a14da95a77072b259441e3ea2539244.zip
added a function for reducing repetition of bit operation
-rw-r--r--src/librustc/mir/interpret/mod.rs6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/librustc/mir/interpret/mod.rs b/src/librustc/mir/interpret/mod.rs
index 0c43fe4a79f..c07b8e236fa 100644
--- a/src/librustc/mir/interpret/mod.rs
+++ b/src/librustc/mir/interpret/mod.rs
@@ -434,3 +434,9 @@ pub fn truncate(value: u128, size: Size) -> u128 {
     // truncate (shift left to drop out leftover values, shift right to fill with zeroes)
     (value << shift) >> shift
 }
+
+pub fn mask(size: Size) -> u128 {
+    let size = size.bits();
+    let shift = 128 - size;
+    !0u128 >> shift
+}