aboutsummaryrefslogtreecommitdiff
path: root/lib/std/priority_queue.zig
AgeCommit message (Collapse)Author
2023-11-19lib: correct unnecessary uses of 'var'mlugg
2023-10-23x86_64: implement 128-bit builtinsJacob Young
* `@clz` * `@ctz` * `@popCount` * `@byteSwap` * `@bitReverse` * various encodings used by std
2023-10-22Revert "Revert "Merge pull request #17637 from jacobly0/x86_64-test-std""Jacob Young
This reverts commit 6f0198cadbe29294f2bf3153a27beebd64377566.
2023-10-22Revert "Merge pull request #17637 from jacobly0/x86_64-test-std"Andrew Kelley
This reverts commit 0c99ba1eab63865592bb084feb271cd4e4b0357e, reversing changes made to 5f92b070bf284f1493b1b5d433dd3adde2f46727. This caused a CI failure when it landed in master branch due to a 128-bit `@byteSwap` in std.mem.
2023-10-21x86_64: disable failing tests, enable test-std testingJacob Young
2023-10-12Update docs of PriorityQueue.iterator() and PriorityDeque.iterator()Alexander Heinrich
2023-07-24[priority_queue] Simplify sifting & fix edge caseValidark
2023-02-18update std lib and compiler sources to new for loop syntaxAndrew Kelley
2022-12-13std: Fix update() method in PriorityQueue and PriorityDequeue (#13908)Frechdachs
Previously the update() method would iterate over its capacity, which may contain uninitialized memory or already removed elements.
2022-09-16std: remove deprecated API for the upcoming releaseAndrew Kelley
See #3811
2022-07-22PriorityQueue: use compareFn in update()VÖRÖSKŐI András
update() calls mem.indexOfScalar() which uses `==` for comparing items, which fails when the operator is not supported. As PirorityQueue needs a comparing function anyway we can use `.eq` results to identify matching objects. closes #9918
2022-06-28Revert "AstGen: preserve inferred ptr result loc for breaks"Andrew Kelley
This reverts commit 8bf3e1f8d0902abd4133e2729b3625c25011c3ff, which introduced miscompilations for peer expressions any time they needed coercions to runtime types. I opened #11957 as a proposal to accomplish the goal of the reverted commit. Closes #11898
2022-06-12std: disable failing tests, add zig2 build test-std to CIVeikka Tuominen
2022-06-07std: adjust for stage2 semanticsVeikka Tuominen
2022-05-26std.PriorityQueue: fix missing siftUp in removejoachimschmidt557
When the replacement node is smaller than its parent, we need to sift up instead of sifting down.
2022-04-14Fix bug in PriorityQueue::removeIndex()Eric Shrewsberry
Fix to call siftDown on the removed index instead of always on index 0. Updated test to a test that fails before and passes now. PriorityDequeue does not have this issue.
2021-12-15std.priority_queue: allow comparator to take a context parameterArnavion
2021-11-30allocgate: std Allocator interface refactorLee Cannon
2021-11-30std lib API deprecations for the upcoming 0.9.0 releaseAndrew Kelley
See #3811
2021-10-17Move `compareFn` from init to type constructor in `PriorityQueue` and ↵Max Hollmann
`PriorityDequeue`. This change significantly improves performance for simple compare functions and modifies the API to be more consistent with e.g. `HashMap`.
2021-09-19std.PriorityQueue: ensureUnusedCapacity and ensureTotalCapacityRyan Liptak
Same as c8ae581fef6506a8234cdba1355ba7f0f449031a, but for PriorityQueue.
2021-08-24remove redundant license headers from zig standard libraryAndrew Kelley
We already have a LICENSE file that covers the Zig Standard Library. We no longer need to remind everyone that the license is MIT in every single file. Previously this was introduced to clarify the situation for a fork of Zig that made Zig's LICENSE file harder to find, and replaced it with their own license that required annual payments to their company. However that fork now appears to be dead. So there is no need to reinforce the copyright notice in every single file.
2021-06-21fix code broken from previous commitJacob G-W
2021-05-12fix shrinkAndFree and remove shrinkRetainingCapacity in PriorityQueue and ↵Matthew Borkowski
PriorityDequeue
2021-05-08std: update usage of std.testingVeikka Tuominen
2021-04-02Merge pull request #7792 from zanderxyz/zanderxyz/priority-dequeueAndrew Kelley
std: Add Priority Dequeue
2021-02-27HashMap.put returns !void, not a !booldaurnimator
2021-01-18Change `compareFn` to `fn (a: T, b: T) std.math.Order`Zander Khan
2021-01-17Remove `resize`. Adding uninitialized memory at the end of the `items` would ↵Zander Khan
break the heap property.
2021-01-17Replace `shrink` with `shrinkAndFree` and `shrinkRetainingCapacity`Zander Khan
2021-01-16Fix slice length when updatingZander Khan
2021-01-16Fix update might change an element no longer in the queueZander Khan
2021-01-16Fix edge cases in fromOwnedSliceZander Khan
2021-01-16Add missing importZander Khan
2020-12-31Year++Frank Denis
2020-12-09small fixes and zig fmtVexu
2020-09-22removing redundant assertBhargav Srinivasan
2020-09-22return not found error correctlyBhargav Srinivasan
2020-09-22replace linearSearch with mem.indexOfScalar, return not found error, factor ↵Bhargav Srinivasan
out siftUp from addUnchecked, use compareFn to decide siftUp/siftDown
2020-09-22implemented efficient heapreplaceBhargav Srinivasan
2020-09-22items are not sorted, using linear searchBhargav Srinivasan
2020-09-22sorry, local compiler using different version of zigBhargav Srinivasan
2020-09-22using binary search function from std.sortBhargav Srinivasan
2020-09-21adding a function to update the priority of an elementBhargav Srinivasan
2020-09-10Fix issue #6303: iterating empty PriorityQueue crashesLiterally Void
2020-08-20add license header to all std lib filesAndrew Kelley
add SPDX license identifier copyright ownership is zig contributors
2020-07-04std.mem.dupe is deprecated, move all references in stdjoachimschmidt557
Replaced all occurences of std.mem.dupe in stdlib with Allocator.dupe/std.mem.dupeZ -> Allocator.dupeZ
2020-05-13Make PriorityQueue.Iterator publicVexu
The `iterator` function was already public but these seem to have been forgotten.
2020-01-29Promoted "leak_count_allocator" to the main testing.allocatorBenjamin Feng
2020-01-29Create leak_count_allocatorBenjamin Feng