Behdad Esfahbod
f8a0ec50e2
[set] Add fallback implementation of int-vector type
2017-10-15 16:10:35 -04:00
Behdad Esfahbod
deed4a48d1
Faster hb_set_t
...
Fixes https://github.com/behdad/harfbuzz/pull/23
2017-10-15 16:45:33 -03:00
Behdad Esfahbod
a433e60a43
Remove unused hb_frozen_set_t
2017-10-15 14:09:46 +02:00
Behdad Esfahbod
826a1daf2f
Move set-digests into their own header file
2017-10-15 14:09:05 +02:00
Behdad Esfahbod
dbdbfe3d7b
Use nullptr instead of NULL
2017-10-15 12:11:08 +02:00
Behdad Esfahbod
c3448e8d21
Use static_assert instead of custom ASSERT_STATIC
2017-10-15 12:02:00 +02:00
Behdad Esfahbod
333173103b
Fix sign of shift operators
...
This one:
map->mask = (1 << (next_bit + bits_needed)) - (1 << next_bit);
before the fix, the shift was done as an int, causing overflow
if it ever got to 1 << 31. Sprinkle 'u's around.
Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=634805
2016-08-08 17:28:14 -07:00
Behdad Esfahbod
23e56e088a
Fix broken sentence
2015-07-25 17:38:21 +02:00
Behdad Esfahbod
3fe4e92bc5
Minor
2015-04-08 12:49:23 -07:00
Behdad Esfahbod
7b7129c7a9
Add hb_frozen_set_t
...
I experimented with replacing use of hb_set_digest_t with this new
hb_frozen_set_t, hoping to get a huge speedup for busy lookups
(like kern lookup in Roboto), but I only got 6% speendup in Roboto
and 4% in NotoNastaliqUrduDraft :(.
2015-02-25 15:43:25 -08:00
Behdad Esfahbod
cd7ea4f791
Make hb_object_t members private
...
In preparation for fixing:
https://code.google.com/p/chromium/issues/detail?id=403594
2014-08-14 12:57:02 -04:00
Behdad Esfahbod
2a8c49ade0
Remove unnecessary includes
2013-12-11 20:24:20 -05:00
Behdad Esfahbod
20cbc1f8eb
Annotate hb-set a bit; add HB_SET_VALUE_INVALID
2013-09-06 15:31:22 -04:00
Behdad Esfahbod
fa3d0a0ce6
Bug 64476 - Typo in hb_set_t.get_min()
...
Fixes previous commit's test.
2013-05-14 15:30:55 -04:00
Behdad Esfahbod
e6f19af087
Minor
2013-05-02 14:00:16 -04:00
Behdad Esfahbod
f9a6110267
Remove HB_DEBUG_SET_DIGESTS
...
Wasn't correct with the new combiner. I should add it back somehow,
but for now the digests seem to be working very well...
2013-04-17 19:01:49 -04:00
Behdad Esfahbod
f7466ee76f
Remove hb_set_digest_common_bits_t
...
Was unused.
2013-04-17 18:20:44 -04:00
Behdad Esfahbod
0d5798a137
Improve hb_set_digest_t
...
Make Amiri rendering faster a whopping 45% again! Speends up pretty
much anything I tested.
2013-04-17 18:19:21 -04:00
Behdad Esfahbod
c7851efcd3
Templatize hb_set_digest_lowest_bits_t filter
2013-04-17 18:18:10 -04:00
Behdad Esfahbod
0edd0fd255
Add comment
2013-04-17 17:26:56 -04:00
Behdad Esfahbod
b40f2c0372
Add hb_set_digest_combiner_t
2013-04-16 23:21:38 -04:00
Behdad Esfahbod
02e5e58368
Speed up Speed up hb_set_digest_common_bits_t calcs
...
Correctly this time.
2013-04-16 23:13:10 -04:00
Behdad Esfahbod
4d2813d3e9
Print set-digest hit ratio with HB_DEBUG_SET_DIGESTS
2013-04-16 21:57:35 -04:00
Behdad Esfahbod
1357c2dd12
Revert "Speed up hb_set_digest_common_bits_t calcs"
...
This reverts commit 3d1b66a35e
.
The calculations were buggy. It's not worth optimizing right now.
2013-04-16 21:47:40 -04:00
Behdad Esfahbod
7b1b720a8d
Protect sets in-error from further modication
...
Fixes test-set.c
2013-01-02 23:02:59 -06:00
Behdad Esfahbod
8165f2765b
[tests] Start adding tests for hb-set.h
...
Fails now. Fixing.
2013-01-02 22:50:36 -06:00
Behdad Esfahbod
aec89de564
Add / modify set API a bit
2012-11-15 16:15:42 -08:00
Behdad Esfahbod
f60d3ed35d
Minor
2012-11-04 16:44:47 -08:00
Behdad Esfahbod
048e3b596f
Speed up hb_set_digest_lowest_bits_t calcs
2012-08-04 20:46:45 -07:00
Behdad Esfahbod
3d1b66a35e
Speed up hb_set_digest_common_bits_t calcs
2012-08-04 17:42:28 -07:00
Behdad Esfahbod
e2b8d75fa6
Use wider set digests on 64-bit archs
2012-08-01 22:17:48 -04:00
Behdad Esfahbod
60a3035ac5
Add hb_set_digest_t
...
Implement two set digests, and one that combines the two.
2012-08-01 21:46:19 -04:00
Behdad Esfahbod
1bc1cb3603
Make source more digestable for gobject-introspection
2012-06-16 15:21:55 -04:00
Behdad Esfahbod
67bb9e8cea
Add set add_coverage() to Coverage()
2012-06-09 02:02:46 -04:00
Behdad Esfahbod
6220e5fc0d
Add ASSERT_POD for most objects
2012-06-06 03:30:09 -04:00
Behdad Esfahbod
bf93b636c4
Remove constructor from hb_prealloced_array_t
...
This was causing all object types to be non-POD and have static
initializers. We don't need that!
Now, most nil objects just moved from .bss to .data. Fixing for that
coming soon.
2012-06-05 14:17:32 -04:00
Behdad Esfahbod
29ce446d31
Add set iterator
2012-05-25 14:17:54 -04:00
Behdad Esfahbod
62c3e111fc
Add set symmetric difference
2012-05-25 13:48:00 -04:00
Behdad Esfahbod
f039e79d54
Don't use min/max as function names
...
They can be macros on some systems. Eg. mingw32.
2012-05-17 20:55:12 -04:00
Behdad Esfahbod
b5fa37cb69
Minor
2012-05-10 23:09:48 +02:00
Behdad Esfahbod
1a2a4a0078
Fix warning and build issues
...
As reported by Jonathan Kew on the list.
2012-05-05 22:38:20 +02:00
Behdad Esfahbod
a5e39fed85
Minor
2012-04-25 00:14:46 -04:00
Behdad Esfahbod
1827dc208c
Add hb_ot_shape_glyphs_closure()
...
Experimental API for now.
2012-04-24 16:56:37 -04:00
Behdad Esfahbod
6c6ccaf575
Add a few more set operations
...
TODO: Tests for hb_set_t.
2012-04-24 14:23:01 -04:00
Behdad Esfahbod
5caece67ab
Make closure() return void
2012-04-23 23:03:12 -04:00
Behdad Esfahbod
0b08adb353
Add hb_set_t
2012-04-23 22:44:59 -04:00