src/hb-priority-queue.hh

Branch


Log

Author Commit Date CI Message
Behdad Esfahbod aba798dd 2025-09-12T00:52:40 [instancer/varstore] Use heapify() instead of inserts()
Bruce Mitchener 3cfdbd67 2024-02-16T23:41:55 Use `noexcept` on swap, move constructors, etc.
Behdad Esfahbod 9c4d3c3c 2023-11-10T12:24:26 [graph] Pre-alloc priority-heap array
Qunxin Liu 1f395cba 2023-10-12T10:06:00 [instancer] templatize the priority queue, use custom type for varstore when instantiating varstore, we need to pop a tuple like (combined_gain, i, j), if combined gain is the same then we compare the value of i, and then j. So we'd like to use custom type as the key when popping from the queue. This would match fonttool's algorithm cause it uses heappop().
Behdad Esfahbod d9cf9b5f 2023-07-14T12:19:10 [priority-queue] Inline insert()
Behdad Esfahbod 5e42f7bb 2023-07-14T11:26:38 Revert "Revert "[priority-queue] Inline a couple more"" This reverts commit 915410e5267cba5bfc6154548c8856ae077bfefe. Mistake.
Behdad Esfahbod 915410e5 2023-07-14T11:18:09 Revert "[priority-queue] Inline a couple more" This reverts commit 8704d73213da2294281687ecd7a40d408e9bf26a.
Behdad Esfahbod 8704d732 2023-07-10T18:08:13 [priority-queue] Inline a couple more
Behdad Esfahbod 4c9e8b84 2023-07-10T18:04:03 [priority-queue] Always-inline a method
Behdad Esfahbod fc24ffbf 2023-07-09T11:05:13 [priority-queue] Minor simplify Tail-recursion definitely was being optimized by compiler, but I prefer writing it this way.
Behdad Esfahbod 8e43e3a8 2023-04-22T10:16:43 [priority-heap] Comment
Behdad Esfahbod 097fb8b8 2023-01-05T14:38:10 [priority-queue] Use resize instead of shrink To avoid reallocation of smaller array. Not desirable here.
Behdad Esfahbod a7fee43c 2022-11-23T17:46:32 [priority-queue] Minor micro-optimize
Behdad Esfahbod 02949cf6 2022-11-16T12:06:44 [priority-queue] More assert adjustment
Behdad Esfahbod 620ddd76 2022-11-16T12:04:35 [priority-queue] Fix asserts
Garret Rieger 73b8360d 2022-05-19T22:59:51 [subset] fix fuzzer found underflow when heap push fails. Fixes https://oss-fuzz.com/testcase-detail/5148625505746944.
Behdad Esfahbod 6b62c10f 2022-05-18T16:27:54 [priority-queue] Remove old init/fini
Behdad Esfahbod 39a424ca 2022-05-18T16:17:16 [priority-queue] Optimize heap access
Behdad Esfahbod 9308659f 2022-05-18T16:14:25 [priority-queue] Optimize swap()
Garret Rieger f561fa6e 2021-03-18T11:13:47 Change priority queue to use (priority, value) instead of (value, priority).
Garret Rieger 59ac0a0d 2020-11-05T10:29:56 [subset] Use priority for comparison in heap.
Garret Rieger 4c8dd41e 2020-11-05T09:21:25 [subset] re-write compute distances to use an array lookup for the distance map.
Garret Rieger 5c4e0ffd 2020-11-04T16:08:01 [subset] Add a basic priority queue datastructure (binary heap).