From 10d43658e7655b36cb86e674dde8af4036b7cc52 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Sun, 15 Oct 2017 16:56:05 -0400 Subject: [PATCH] [set] Speed up intersects() --- src/hb-set-private.hh | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/hb-set-private.hh b/src/hb-set-private.hh index 7bb57d9f4..9cd15d5aa 100644 --- a/src/hb-set-private.hh +++ b/src/hb-set-private.hh @@ -238,12 +238,8 @@ struct hb_set_t inline bool intersects (hb_codepoint_t first, hb_codepoint_t last) const { - /* TODO Speedup */ - unsigned int end = last + 1; - for (hb_codepoint_t i = first; i < end; i++) - if (has (i)) - return true; - return false; + hb_codepoint_t c = first - 1; + return next (&c) && c <= last; } inline void set (const hb_set_t *other) {