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