From e8948d634e1835f379053d9b924b834137967b86 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Sun, 2 Jul 2023 15:35:18 -0600 Subject: [PATCH] [set-digest] Micro-optimize more --- src/hb-set-digest.hh | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/hb-set-digest.hh b/src/hb-set-digest.hh index 19fe2b29d..5681641ba 100644 --- a/src/hb-set-digest.hh +++ b/src/hb-set-digest.hh @@ -88,14 +88,19 @@ struct hb_set_digest_bits_pattern_t bool add_range (hb_codepoint_t a, hb_codepoint_t b) { + if (mask == (mask_t) -1) return false; if ((b >> shift) - (a >> shift) >= mask_bits - 1) + { mask = (mask_t) -1; - else { + return false; + } + else + { mask_t ma = mask_for (a); mask_t mb = mask_for (b); mask |= mb + (mb - ma) - (mb < ma); + return true; } - return mask != (mask_t) -1; // Early terminte if we're full. } template