Speed up Speed up hb_set_digest_common_bits_t calcs

Correctly this time.
This commit is contained in:
Behdad Esfahbod 2013-04-16 23:13:10 -04:00
parent 893991fc9d
commit 02e5e58368
1 changed files with 5 additions and 3 deletions

View File

@ -54,9 +54,11 @@ struct hb_set_digest_common_bits_t
} }
inline void add_range (hb_codepoint_t a, hb_codepoint_t b) { inline void add_range (hb_codepoint_t a, hb_codepoint_t b) {
/* TODO Speedup. */ add (a);
for (unsigned int i = a; i < b + 1; i++) /* The negation here stands for ~(x-1). */
add (i); mask_t upper_bits = -(1 << _hb_bit_storage (a ^ b));
mask &= upper_bits;
value &= upper_bits;
} }
inline bool may_have (hb_codepoint_t g) const { inline bool may_have (hb_codepoint_t g) const {