diff options
| author | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-05-07 17:39:52 +0000 |
|---|---|---|
| committer | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-05-07 17:39:52 +0000 |
| commit | 423e1788423102829fe3b4acc06741838eb0c272 (patch) | |
| tree | fa48d4253f7d39a998ed21736d3486657e6b33ae /libjava | |
| parent | d94e8c5a4f3204dcac07dd977898eb44cbdc09f5 (diff) | |
| download | ppe42-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/ChangeLog | 2 | ||||
| -rw-r--r-- | libjava/java/lang/natCharacter.cc | 21 |
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; } |

