about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSimon Sapin <simon.sapin@exyr.org>2019-03-19 13:41:59 +0100
committerSimon Sapin <simon.sapin@exyr.org>2019-03-19 13:41:59 +0100
commit7fad370fe9dc000f6f6f497a1939de6196e2c4fc (patch)
tree7c40c8ae204eba2bdbca0ca64ad0d38f1081c3c8
parentc1ec29ace000ce4c733cde6948c87f9bc2370691 (diff)
downloadrust-7fad370fe9dc000f6f6f497a1939de6196e2c4fc.tar.gz
rust-7fad370fe9dc000f6f6f497a1939de6196e2c4fc.zip
ASCII uppercase: add "subtract multiplied bool" benchmark
-rw-r--r--src/libcore/benches/ascii.rs12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/libcore/benches/ascii.rs b/src/libcore/benches/ascii.rs
index 968d28a9958..635537e3121 100644
--- a/src/libcore/benches/ascii.rs
+++ b/src/libcore/benches/ascii.rs
@@ -224,6 +224,18 @@ benches! {
         }
     }
 
+    fn case14_subtract_multiplied_bool_match_range(bytes: &mut [u8]) {
+        fn is_ascii_lowercase(b: u8) -> bool {
+            match b {
+                b'a'...b'z' => true,
+                _ => false
+            }
+        }
+        for byte in bytes {
+            *byte -= (b'a' - b'A') * is_ascii_lowercase(*byte) as u8
+        }
+    }
+
     @iter
 
     is_ascii,