Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(134)

Side by Side Diff: third_party/harfbuzz-ng/src/hb-set-private.hh

Issue 2318273003: Roll HarfBuzz to 1.3.1 (Closed)
Patch Set: Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « third_party/harfbuzz-ng/src/hb-ot-tag.cc ('k') | third_party/harfbuzz-ng/src/hb-shape-plan.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright © 2012 Google, Inc. 2 * Copyright © 2012 Google, Inc.
3 * 3 *
4 * This is part of HarfBuzz, a text shaping library. 4 * This is part of HarfBuzz, a text shaping library.
5 * 5 *
6 * Permission is hereby granted, without written agreement and without 6 * Permission is hereby granted, without written agreement and without
7 * license or royalty fees, to use, copy, modify, and distribute this 7 * license or royalty fees, to use, copy, modify, and distribute this
8 * software and its documentation for any purpose, provided that the 8 * software and its documentation for any purpose, provided that the
9 * above copyright notice and the following two paragraphs appear in 9 * above copyright notice and the following two paragraphs appear in
10 * all copies of this software. 10 * all copies of this software.
(...skipping 295 matching lines...) Expand 10 before | Expand all | Expand 10 after
306 unsigned int count = 0; 306 unsigned int count = 0;
307 for (unsigned int i = 0; i < ELTS; i++) 307 for (unsigned int i = 0; i < ELTS; i++)
308 count += _hb_popcount32 (elts[i]); 308 count += _hb_popcount32 (elts[i]);
309 return count; 309 return count;
310 } 310 }
311 inline hb_codepoint_t get_min (void) const 311 inline hb_codepoint_t get_min (void) const
312 { 312 {
313 for (unsigned int i = 0; i < ELTS; i++) 313 for (unsigned int i = 0; i < ELTS; i++)
314 if (elts[i]) 314 if (elts[i])
315 for (unsigned int j = 0; j < BITS; j++) 315 for (unsigned int j = 0; j < BITS; j++)
316 » if (elts[i] & (1 << j)) 316 » if (elts[i] & (1u << j))
317 return i * BITS + j; 317 return i * BITS + j;
318 return INVALID; 318 return INVALID;
319 } 319 }
320 inline hb_codepoint_t get_max (void) const 320 inline hb_codepoint_t get_max (void) const
321 { 321 {
322 for (unsigned int i = ELTS; i; i--) 322 for (unsigned int i = ELTS; i; i--)
323 if (elts[i - 1]) 323 if (elts[i - 1])
324 for (unsigned int j = BITS; j; j--) 324 for (unsigned int j = BITS; j; j--)
325 » if (elts[i - 1] & (1 << (j - 1))) 325 » if (elts[i - 1] & (1u << (j - 1)))
326 return (i - 1) * BITS + (j - 1); 326 return (i - 1) * BITS + (j - 1);
327 return INVALID; 327 return INVALID;
328 } 328 }
329 329
330 typedef uint32_t elt_t; 330 typedef uint32_t elt_t;
331 static const unsigned int MAX_G = 65536 - 1; /* XXX Fix this... */ 331 static const unsigned int MAX_G = 65536 - 1; /* XXX Fix this... */
332 static const unsigned int SHIFT = 5; 332 static const unsigned int SHIFT = 5;
333 static const unsigned int BITS = (1 << SHIFT); 333 static const unsigned int BITS = (1 << SHIFT);
334 static const unsigned int MASK = BITS - 1; 334 static const unsigned int MASK = BITS - 1;
335 static const unsigned int ELTS = (MAX_G + 1 + (BITS - 1)) / BITS; 335 static const unsigned int ELTS = (MAX_G + 1 + (BITS - 1)) / BITS;
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
393 elt_t const &elt (hb_codepoint_t g) const { return elts[g >> SHIFT]; } 393 elt_t const &elt (hb_codepoint_t g) const { return elts[g >> SHIFT]; }
394 elt_t mask (hb_codepoint_t g) const { return elt_t (1) << (g & MASK); } 394 elt_t mask (hb_codepoint_t g) const { return elt_t (1) << (g & MASK); }
395 395
396 private: 396 private:
397 hb_codepoint_t start, count; 397 hb_codepoint_t start, count;
398 elt_t *elts; 398 elt_t *elts;
399 }; 399 };
400 400
401 401
402 #endif /* HB_SET_PRIVATE_HH */ 402 #endif /* HB_SET_PRIVATE_HH */
OLDNEW
« no previous file with comments | « third_party/harfbuzz-ng/src/hb-ot-tag.cc ('k') | third_party/harfbuzz-ng/src/hb-shape-plan.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698