|
1d91622d
|
2023-07-18T09:52:40
|
|
[instancer] add a hashing impl for floating point type
|
|
e7ce6339
|
2023-07-17T08:52:12
|
|
[algs] Fix -Wcomma errors
Fixes https://github.com/harfbuzz/harfbuzz/issues/4328
|
|
0980e2b7
|
2023-07-09T15:13:57
|
|
Minor casts
|
|
b1e7e8ba
|
2023-06-26T17:19:45
|
|
[algs] Fix return of hb_memset()
|
|
b557a841
|
2023-06-23T15:31:54
|
|
[algs] Speed up fasthash for aligned uint64_t
|
|
ca27925d
|
2023-06-03T16:18:15
|
|
Use hb_codepoint_pair_t in more places
|
|
88d8a6d6
|
2023-06-01T19:24:02
|
|
[BEInt] Use packed-int trick for writing as well
|
|
66a84355
|
2023-05-29T17:17:15
|
|
[hash] Use unsigned types
Hopefully ubsan wouldn't complain about overflows now.
|
|
00900f76
|
2023-05-27T10:13:53
|
|
[hash] Enable better hash for integers
https://github.com/harfbuzz/harfbuzz/pull/4228#issuecomment-1565079537
|
|
c248fd91
|
2023-05-10T01:44:10
|
|
[hash] Comment
|
|
42f4dab8
|
2023-05-10T01:11:32
|
|
[hash] Switch to Knuth multiplicative hash
Wow, the old adhoc one was why the cmap test was timing out!
|
|
19b628bd
|
2023-05-09T23:40:07
|
|
Revert "[map] Implement Robinhood hashing"
This reverts commit 705617856818056a44a627f340c91e335c57f310.
|
|
18c3ba50
|
2023-05-09T22:44:22
|
|
[map] Implement Robinhood hashing
Numbers are not improved though. :(
|
|
5d0cc006
|
2023-05-09T18:40:35
|
|
[hash] Disable int hash as it has negative performance gain
|
|
1fbb0858
|
2023-05-09T17:11:05
|
|
[hash] Adjust prime number
Previous one wasn't a prime. Ouch!
|
|
9cc7eb80
|
2023-05-09T16:13:46
|
|
[hash] Speed-up int64 hash
|
|
b2b15fa3
|
2023-05-09T13:39:52
|
|
[hash] Links
|
|
05567da0
|
2023-05-09T12:22:43
|
|
Revert "[hash] Use fasthash for integer hash"
This reverts commit 3bf758a57071572a0ffae3c359b4cfec5a096312.
This was resulting in long chains again :(.
|
|
bdaa74d2
|
2023-05-09T11:58:35
|
|
[hash] Use fasthash for integer hash
This seems to speed things up surprisingly.
|
|
fe3339ea
|
2023-05-09T11:31:06
|
|
[algs] Add hash for 64bit ints
|
|
f04d08b8
|
2023-05-09T02:14:30
|
|
[fasthash] Remove GNU extension
|
|
99f5050c
|
2023-05-09T02:07:54
|
|
[algs] Remove HB_NO_PACKED
We depend on packed attribute in fasthash now.
|
|
da619c69
|
2023-05-09T02:06:37
|
|
[fasthash] Try to fix unaligned access
|
|
075ecff7
|
2023-05-09T01:43:39
|
|
[hash] Work around g++ bug?!
I kid you not. Revert this and see src/test-map loop forever
eating your memory freezing your maching.
In this loop:
{
hb_hashmap_t<int, int> m0;
hb_hashmap_t<std::string, int> m1;
hb_hashmap_t<int, std::string> m2;
hb_hashmap_t<std::string, std::string> m3;
std::string s;
for (unsigned i = 1; i < 1000; i++)
{
s += "x";
m0.set (i, i);
m1.set (s, i);
m2.set (i, s);
m3.set (s, s);
}
}
i will not stop at 1000 and just keeps going. If you figure out
what's going on, please enlighten me!
|
|
e2fd49ff
|
2023-05-08T23:37:47
|
|
[hash] Comment
|
|
fa64e42d
|
2023-05-08T23:31:52
|
|
[algs] Adjust int hash
|
|
078b2a51
|
2023-05-08T22:28:48
|
|
[hash] Use a Mersenne prime for int hash
And hope that compiler optimizes to int ops instead of modula.
Improves chaining it seems.
Part of https://github.com/harfbuzz/harfbuzz/pull/4228
|
|
fe0f7dc5
|
2023-05-08T22:19:02
|
|
[bytes] Use fasthash as hash algorithm
Part of https://github.com/harfbuzz/harfbuzz/pull/4228
|
|
0e026808
|
2023-05-08T16:31:58
|
|
[hash] Add hash impl for integers
Part of https://github.com/harfbuzz/harfbuzz/issues/4227
|
|
262f029e
|
2023-04-28T12:57:24
|
|
[algs] Undo touching HACKMEM 169
|
|
bd62a91d
|
2023-04-28T12:01:21
|
|
[algs] 64bit popcount
|
|
d29d7b7a
|
2023-03-01T13:10:11
|
|
[algs] Adjust solve_itp
|
|
b937edfb
|
2023-03-01T10:44:57
|
|
[justify] Add min/max target_width
Speeds up solving when some slack available.
|
|
6e483c40
|
2023-02-28T12:25:32
|
|
[shape] Add hb_shape_justify() and hb-view --width
|
|
ee4822f9
|
2023-02-28T09:39:32
|
|
[algs] Add solve_itp method
Port from kurbo.
|
|
5bc6ab00
|
2023-02-22T08:08:11
|
|
Use __has_builtin for builtin checks instead of compiler versions
https://github.com/harfbuzz/harfbuzz/issues/4066#issuecomment-1439510188
|
|
fe94c760
|
2023-01-23T14:05:28
|
|
[algs] Build fix for clang and __builtin_mul_overflow
Fixes https://github.com/harfbuzz/harfbuzz/issues/4066
|
|
ff419789
|
2022-12-02T16:25:26
|
|
[subset-plan] Sort unicode_to_new_gid_list when needed
|
|
35878df2
|
2022-11-21T19:14:03
|
|
[algs] Implement swap() for pair_t
Helps priority_queue::pop_minimum and friends, which help subsetter
repacker. Shows a few percentage improvement on NotoNastaliq benchmark.
|
|
3ff75411
|
2022-11-21T13:08:55
|
|
[algs] Fix bot fail
|
|
4c14043b
|
2022-11-21T12:56:33
|
|
[algs] Add output argument to hb_unsigned_mul_overflows()
|
|
25adbb38
|
2022-11-21T12:47:53
|
|
[algs] Use __builtin_mul_overflow
Compiles to smaller binary.
|
|
a10cfe3f
|
2022-11-21T12:37:59
|
|
[algs] Write hb_in_ranges() recursively
|
|
70a5cd53
|
2022-11-21T08:52:33
|
|
[algs] Assert trivial copy assignable in stable_sort
|
|
9bb39423
|
2022-11-20T17:40:54
|
|
[algs] Simplify stable_sort signatures
|
|
a9c6a20b
|
2022-11-18T18:29:12
|
|
[map] Support moving value in sink interface
|
|
43a4028f
|
2022-11-18T15:54:34
|
|
[algs] Move hb_vector_size_t to bit-page as only user
|
|
3aad7c2d
|
2022-11-17T15:10:47
|
|
[algs] Remove smart-pointers from hb_hash()
hb_deref() handles them. I think this code predated that.
|
|
c9e84394
|
2022-07-22T09:01:07
|
|
[min/max] Don't forward argument
|
|
0cc2f3c2
|
2022-07-21T16:46:45
|
|
[algs] Remove hb_pair_t()
|
|
90e40f24
|
2022-07-17T15:01:04
|
|
[algs] Tweak attribute(packed) usage
Allow disabling it. Also don't cast this pointer.
|
|
4ee47192
|
2022-07-13T10:36:53
|
|
More -Wcomma fixes
Fixes https://github.com/harfbuzz/harfbuzz/issues/3716
|
|
04c47671
|
2022-06-26T21:44:51
|
|
[lao] Decompose and reorder U+0EB3 around U+0EBB
|
|
215a0afa
|
2022-06-03T01:48:46
|
|
[algs] Remove unused hb_coerce()
|
|
d7785a6d
|
2022-06-02T12:42:24
|
|
[cplusplus] Add unique_ptr
|
|
7ec3aad2
|
2022-06-02T10:50:55
|
|
[shared_ptr] Fix hb_hash() crash on nullptr
|
|
a089d91f
|
2022-06-02T09:55:43
|
|
[hash] Adjust hash for shared_ptr, implement it for std::hash
|
|
e037325e
|
2022-06-02T08:51:12
|
|
[hash] Remove custom hash, rely on std::hash
|
|
0b35940a
|
2022-06-01T15:10:19
|
|
Make hb::shared_ptr hashable
|
|
45a22526
|
2022-05-31T06:23:47
|
|
[flags] Fix undefined-behavior
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ../src/hb-buffer.hh:60:1 in
failure on clusterfuzz-testcase-minimized-hb-subset-get-codepoints-fuzzer-5736539338833920
|
|
b4d1ec31
|
2022-05-19T16:06:21
|
|
[algs] Declare coerce() as constexpr
|
|
15fa8afb
|
2022-05-02T16:46:41
|
|
Add fast-path for big-endian 32-bit byteswap
Speeds up cmap format-12 decoding by some 40% as measured by
the newly added test in perf/benchmark-font!
|
|
8e900f2c
|
2022-02-17T13:28:44
|
|
Revert "hb-algs.hh: Fix build on Visual Studio 2015"
This reverts commit 52c536bb8d90cf0f09e13f5e9e21bf489cc08c23.
See https://github.com/harfbuzz/harfbuzz/pull/3448
|
|
94517850
|
2022-02-13T13:39:26
|
|
[algs] Fix typo in hb_pair_t conversion operator
Fixes https://github.com/harfbuzz/harfbuzz/issues/2083
|
|
52c536bb
|
2022-02-10T16:39:40
|
|
hb-algs.hh: Fix build on Visual Studio 2015
The compiler does not recognize the std::hash call on
hb_decay<decltype (hb_deref (v)>, so give it a shove so that it is recognized
there.
|
|
cd979978
|
2022-01-19T11:14:25
|
|
[vector] Remove old find() method
|
|
92f17907
|
2022-01-16T07:51:35
|
|
Make hb_coerce static inline
That's the pattern we follow.
https://github.com/harfbuzz/harfbuzz/commit/985b63b3eeee5be1f5234fc7f13077eacf5e5b94#commitcomment-63973544
|
|
19793f33
|
2022-01-16T07:49:40
|
|
Better try at previous commit
https://github.com/harfbuzz/harfbuzz/commit/985b63b3eeee5be1f5234fc7f13077eacf5e5b94#commitcomment-63973544
|
|
1173ed1f
|
2022-01-16T07:48:02
|
|
Try fix Mac build
https://github.com/harfbuzz/harfbuzz/commit/985b63b3eeee5be1f5234fc7f13077eacf5e5b94#commitcomment-63973544
|
|
c0f57ccc
|
2022-01-16T06:59:24
|
|
[algs] Add default-construtor to hb_pair_t
|
|
8a69e006
|
2022-01-13T16:17:34
|
|
[meta] Use std::addressof() instead of hb_addressof()
|
|
47afb3ef
|
2022-01-13T15:26:07
|
|
[meta] Replace hb_is_pointer with std::is_pointer
|
|
985b63b3
|
2022-01-13T13:33:07
|
|
[map] Allow invalid items to be pointer to static object
By derefencing them when necessary.
Also, we do not rely on trivially-copyable, so remove that assertion.
|
|
1e27f95d
|
2022-01-13T13:10:47
|
|
[algs] Add hb_coerce()
|
|
cfe2b661
|
2022-01-13T11:42:48
|
|
[algs] Fix hash chaining to std::hash()
|
|
53847dba
|
2022-01-10T15:04:47
|
|
[algs] Call std::hash from hb_hash()
|
|
943921cf
|
2021-11-02T00:26:46
|
|
[meta] Use more std type_traits
|
|
6d555ce8
|
2021-11-02T00:18:22
|
|
[meta] Use std::forward instead of hb_forward()
|
|
30c05e8b
|
2021-11-01T23:57:00
|
|
[algs] include <new>
|
|
3604f5f2
|
2021-11-01T22:37:42
|
|
[algs] Include <initializer_list>
|
|
8c055699
|
2021-11-01T17:59:17
|
|
[algs] Add hb_swap() ala, and using, std::swap()
Use it in vector.
Use ADL idiom.
|
|
f09d5ed0
|
2021-08-19T13:06:10
|
|
[algs] Remove hb_bitwise_non()
|
|
b94f24ec
|
2021-08-19T00:48:00
|
|
[bit-set-invertible] Implement set algebra
|
|
6afefe1d
|
2021-08-19T00:27:03
|
|
[algs] Remove unnecessary struct tag names
|
|
bf2c87bf
|
2021-07-27T13:10:41
|
|
Add hb_memcpy() that does len=0 check
|
|
cc16b26e
|
2021-02-22T17:55:47
|
|
[constexpr] IntType
See https://github.com/harfbuzz/harfbuzz/pull/2875
|
|
c55bf551
|
2020-06-29T02:04:16
|
|
Remove HB_CONST_FUNC and HB_PURE_FUNC
They are not necessary for inline functions.
|
|
cba9893a
|
2020-06-29T01:55:57
|
|
m[algs] Move roundf() here
|
|
69464e9d
|
2021-02-20T15:42:44
|
|
[algs] Another try at fixing BEInt constexpr
../src/hb-algs.hh:120:3: error: body of constexpr function ‘constexpr BEInt<Type, 2>::operator Type() const [with Type = short unsigned int]’ not a return-statement
|
|
ff7bf881
|
2021-02-20T15:39:29
|
|
m[algs] Fix BEInt -Wnarrowing errors
|
|
e208f804
|
2021-02-20T15:31:27
|
|
Make constexpr BEInt<Type, 2>::operator Type() C++11-compatible
Multiple return values not permitted until C++14
|
|
47f01c07
|
2020-06-29T01:25:35
|
|
m[algs] Move BEInt here
|
|
e1706ffe
|
2020-06-29T00:59:06
|
|
m [algs] Move flags here
|
|
ed04174a
|
2021-02-05T13:36:46
|
|
Whitespace
|
|
921b4e46
|
2021-01-29T20:35:05
|
|
[algs] Add hb_equal()
Use in hb_array_t::lfind()
|
|
881ad720
|
2021-01-21T14:27:45
|
|
[algs] Remove passthru declaration
Let compiler figure it out.
|
|
7c241651
|
2020-11-30T16:38:53
|
|
[algs] Don't forward rvalue twice
Part of https://github.com/harfbuzz/harfbuzz/issues/2293
|
|
b207eab8
|
2020-04-30T11:53:21
|
|
Round-trip OpenType tags through BCP 47
|
|
818f109b
|
2020-04-16T21:25:32
|
|
Use float in avar calculation instead ints and checking their overflows
|
|
9ffa50fe
|
2020-04-16T21:25:32
|
|
Add an appropriate fallback to hb_int_mul_overflows
|