diff options
author | Igor Pashev <pashev.igor@gmail.com> | 2022-09-26 12:10:07 +0200 |
---|---|---|
committer | Igor Pashev <pashev.igor@gmail.com> | 2022-09-26 12:10:22 +0200 |
commit | 207d4a8d686bb3833339d0ec4e58852c2c4493b4 (patch) | |
tree | 91646885a38097b6569fd5daf37ef1b94b7b4d08 /mendeleev.c | |
parent | f0881305402f3dff56f99fcc4cbc8b615581b780 (diff) | |
download | mendeleev-207d4a8d686bb3833339d0ec4e58852c2c4493b4.tar.gz |
C: use bitwise OR in comparison
Diffstat (limited to 'mendeleev.c')
-rw-r--r-- | mendeleev.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/mendeleev.c b/mendeleev.c index d90ee23..7938820 100644 --- a/mendeleev.c +++ b/mendeleev.c @@ -1,4 +1,3 @@ -#include<ctype.h> #include<stdio.h> #include<stdlib.h> #include<string.h> @@ -31,20 +30,20 @@ static void search (size_t *start, size_t *len, size_t shift, char c) { size_t l, m, u; - int c_ = tolower (c); + char c_ = c | ' '; u = *start + *len; l = *start; while (l < u) { m = (l + u) / 2; - if (tolower (ELEMENTS[m][shift]) < c_) + if ((ELEMENTS[m][shift] | ' ') < c_) l = m + 1; else u = m; } - if ((l == *start + *len) || (tolower (ELEMENTS[l][shift]) != c_)) + if ((l == *start + *len) || ((ELEMENTS[l][shift] | ' ') != c_)) { *len = 0; return; @@ -55,7 +54,7 @@ search (size_t *start, size_t *len, size_t shift, char c) while (l < u) { m = (l + u) / 2; - if (c_ < tolower (ELEMENTS[m][shift])) + if (c_ < (ELEMENTS[m][shift] | ' ')) u = m; else l = m + 1; |