From 7f01bbf4f31801a175ff2a83d990e9184f1e272a Mon Sep 17 00:00:00 2001 From: Nayuki Minase Date: Tue, 12 Apr 2016 19:11:07 +0000 Subject: [PATCH] Simplified another pair of bit width checks using the right shift operator. --- QrCode.java | 4 ++-- qrcodegen.js | 4 ++-- qrcodegen.py | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/QrCode.java b/QrCode.java index 82d20a7..304e2df 100644 --- a/QrCode.java +++ b/QrCode.java @@ -375,7 +375,7 @@ public final class QrCode { rem = (rem << 1) ^ ((rem >>> 9) * 0x537); data = data << 10 | rem; data ^= 0x5412; // uint15 - if ((data & ((1 << 15) - 1)) != data) + if (data >>> 15 != 0) throw new AssertionError(); // Draw first copy @@ -407,7 +407,7 @@ public final class QrCode { for (int i = 0; i < 12; i++) rem = (rem << 1) ^ ((rem >>> 11) * 0x1F25); int data = version << 12 | rem; // uint18 - if ((data & ((1 << 18) - 1)) != data) + if (data >>> 18 != 0) throw new AssertionError(); // Draw two copies diff --git a/qrcodegen.js b/qrcodegen.js index 103610a..898c38c 100644 --- a/qrcodegen.js +++ b/qrcodegen.js @@ -354,7 +354,7 @@ var qrcodegen = new function() { rem = (rem << 1) ^ ((rem >>> 9) * 0x537); data = data << 10 | rem; data ^= 0x5412; // uint15 - if ((data & ((1 << 15) - 1)) != data) + if (data >>> 15 != 0) throw "Assertion error"; // Draw first copy @@ -386,7 +386,7 @@ var qrcodegen = new function() { for (var i = 0; i < 12; i++) rem = (rem << 1) ^ ((rem >>> 11) * 0x1F25); var data = version << 12 | rem; // uint18 - if ((data & ((1 << 18) - 1)) != data) + if (data >>> 18 != 0) throw "Assertion error"; // Draw two copies diff --git a/qrcodegen.py b/qrcodegen.py index 5f5e739..bd674c8 100644 --- a/qrcodegen.py +++ b/qrcodegen.py @@ -294,7 +294,7 @@ class QrCode(object): rem = (rem << 1) ^ ((rem >> 9) * 0x537) data = data << 10 | rem data ^= 0x5412 # uint15 - assert data & ((1 << 15) - 1) == data + assert data >> 15 == 0 # Draw first copy for i in range(0, 6): @@ -324,7 +324,7 @@ class QrCode(object): for _ in range(12): rem = (rem << 1) ^ ((rem >> 11) * 0x1F25) data = self._version << 12 | rem # uint18 - assert data & ((1 << 18) - 1) == data + assert data >> 18 == 0 # Draw two copies for i in range(18):