From 207d4a8d686bb3833339d0ec4e58852c2c4493b4 Mon Sep 17 00:00:00 2001 From: Igor Pashev Date: Mon, 26 Sep 2022 12:10:07 +0200 Subject: C: use bitwise OR in comparison --- mendeleev.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'mendeleev.c') diff --git a/mendeleev.c b/mendeleev.c index d90ee23..7938820 100644 --- a/mendeleev.c +++ b/mendeleev.c @@ -1,4 +1,3 @@ -#include #include #include #include @@ -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; -- cgit v1.2.3