From da53fb21f9a3281c0febb6930a9e0a54859009f7 Mon Sep 17 00:00:00 2001
From: dgelessus <dgelessus@users.noreply.github.com>
Date: Tue, 5 Apr 2022 15:28:03 +0200
Subject: [PATCH] Apply division optimization to CharSet and IntSet as well

---
 src/main/java/org/sablecc/sablecc/CharSet.java | 2 +-
 src/main/java/org/sablecc/sablecc/IntSet.java  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/main/java/org/sablecc/sablecc/CharSet.java b/src/main/java/org/sablecc/sablecc/CharSet.java
index b43bd7b..9984b7d 100644
--- a/src/main/java/org/sablecc/sablecc/CharSet.java
+++ b/src/main/java/org/sablecc/sablecc/CharSet.java
@@ -47,7 +47,7 @@ public class CharSet implements Cloneable
 
     while(high >= low)
     {
-      int middle = (high + low) / 2;
+      int middle = (high + low) >>> 1;
 
       interval2 = (Interval) intervals.elementAt(middle);
 
diff --git a/src/main/java/org/sablecc/sablecc/IntSet.java b/src/main/java/org/sablecc/sablecc/IntSet.java
index 2c44fd3..1283f98 100644
--- a/src/main/java/org/sablecc/sablecc/IntSet.java
+++ b/src/main/java/org/sablecc/sablecc/IntSet.java
@@ -125,7 +125,7 @@ public class IntSet
 
     while(low <= high)
     {
-      int middle = (low + high) / 2;
+      int middle = (low + high) >>> 1;
 
       if(bit < elements[middle])
       {
-- 
GitLab