Skip to content

Commit 89a92fd

Browse files
committed
avoid allocations in loop
1 parent a2f5abf commit 89a92fd

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

fr.lip6.move.gal.structural/src/android/util/ContainerHelpers.java

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,11 @@ static int binarySearch(int[] array, int size, int value) {
4949
}
5050
// This is Arrays.binarySearch(), but doesn't do any argument validation.
5151
static int binarySearch(int[] array, int value, int lo, int hi) {
52-
while (lo <= hi) {
53-
final int mid = (lo + hi) >>> 1;
54-
final int midVal = array[mid];
52+
int mid;
53+
int midVal;
54+
while (lo <= hi) {
55+
mid = (lo + hi) >>> 1;
56+
midVal = array[mid];
5557
if (midVal < value) {
5658
lo = mid + 1;
5759
} else if (midVal > value) {
@@ -65,9 +67,11 @@ static int binarySearch(int[] array, int value, int lo, int hi) {
6567
static int binarySearch(long[] array, int size, long value) {
6668
int lo = 0;
6769
int hi = size - 1;
70+
int mid;
71+
long midVal;
6872
while (lo <= hi) {
69-
final int mid = (lo + hi) >>> 1;
70-
final long midVal = array[mid];
73+
mid = (lo + hi) >>> 1;
74+
midVal = array[mid];
7175
if (midVal < value) {
7276
lo = mid + 1;
7377
} else if (midVal > value) {

0 commit comments

Comments
 (0)