summaryrefslogtreecommitdiffstats
path: root/libjava
diff options
context:
space:
mode:
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>1999-05-07 17:39:52 +0000
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>1999-05-07 17:39:52 +0000
commit423e1788423102829fe3b4acc06741838eb0c272 (patch)
treefa48d4253f7d39a998ed21736d3486657e6b33ae /libjava
parentd94e8c5a4f3204dcac07dd977898eb44cbdc09f5 (diff)
downloadppe42-gcc-423e1788423102829fe3b4acc06741838eb0c272.tar.gz
ppe42-gcc-423e1788423102829fe3b4acc06741838eb0c272.zip
* java/lang/natCharacter.cc (isLowerCase): Use a binary search.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@26829 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava')
-rw-r--r--libjava/ChangeLog2
-rw-r--r--libjava/java/lang/natCharacter.cc21
2 files changed, 20 insertions, 3 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 09740cdc4c6..4066dae48c5 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,5 +1,7 @@
1999-05-07 Tom Tromey <tromey@cygnus.com>
+ * java/lang/natCharacter.cc (isLowerCase): Use a binary search.
+
* libtool-version: New file.
* Makefile.in: Rebuilt.
* Makefile.am (libgcj_la_LDFLAGS): Use -version-info, not
diff --git a/libjava/java/lang/natCharacter.cc b/libjava/java/lang/natCharacter.cc
index 36cf5700fe5..fa312d1d9a4 100644
--- a/libjava/java/lang/natCharacter.cc
+++ b/libjava/java/lang/natCharacter.cc
@@ -152,12 +152,27 @@ java::lang::Character::isLowerCase (jchar ch)
if (table_search (lower_case_table, asize (lower_case_table), ch) != -1)
return true;
- // FIXME: use a binary search.
- for (unsigned int i = 0; i < asize (lower_anomalous_table); ++i)
+ int low, high, i, old;
+
+ low = 0;
+ high = asize (lower_anomalous_table);
+ i = high / 2;
+
+ while (true)
{
- if (lower_anomalous_table[i] == ch)
+ if (ch < lower_anomalous_table[i])
+ high = i;
+ else if (ch > lower_anomalous_table[i])
+ low = i;
+ else
return true;
+
+ old = i;
+ i = (high + low) / 2;
+ if (i == old)
+ break;
}
+
return false;
}
OpenPOWER on IntegriCloud