summary refs log tree commit diff stats
path: root/lib/pure/collections/heapqueue.nim
Commit message (Collapse)AuthorAgeFilesLines
* fixes #14139 (#15107)flywind2020-07-291-3/+3
| | | | | | | * fix #14139 * Update lib/pure/collections/heapqueue.nim Co-authored-by: Andreas Rumpf <rumpf_a@web.de> Co-authored-by: Clyybber <darkmine956@gmail.com>
* Remove deprecated stuff from stdlib (#14699)Miran2020-06-171-8/+0
| | | | | | | * update to the latest Jester * remove deprecated procs from some stdlib modules * 'criterion' is not maintained anymore and relies on obsolete stuff
* Add `proc find` to `heapqueue` (#14628)c-blake2020-06-101-4/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Unwind just the "pseudorandom probing" (whole hash-code-keyed variable stride double hashing) part of recent sets & tables changes (which has still been causing bugs over a month later (e.g., two days ago https://github.com/nim-lang/Nim/issues/13794) as well as still having several "figure this out" implementation question comments in them (see just diffs of this PR). This topic has been discussed in many places: https://github.com/nim-lang/Nim/issues/13393 https://github.com/nim-lang/Nim/pull/13418 https://github.com/nim-lang/Nim/pull/13440 https://github.com/nim-lang/Nim/issues/13794 Alternative/non-mandatory stronger integer hashes (or vice-versa opt-in identity hashes) are a better solution that is more general (no illusion of one hard-coded sequence solving all problems) while retaining the virtues of linear probing such as cache obliviousness and age-less tables under delete-heavy workloads (still untested after a month of this change). The only real solution for truly adversarial keys is a hash keyed off of data unobservable to attackers. That all fits better with a few families of user-pluggable/define-switchable hashes which can be provided in a separate PR more about `hashes.nim`. This PR carefully preserves the better (but still hard coded!) probing of the `intsets` and other recent fixes like `move` annotations, hash order invariant tests, `intsets.missingOrExcl` fixing, and the move of `rightSize` into `hashcommon.nim`. * Fix `data.len` -> `dataLen` problem. * Add neglected API call `find` to heapqueue. * Add a changelog.md entry, `since` annotation and rename parameter to be `heap` like all the other procs for consistency. * Add missing import.
* [other] prettify collections (#11695)Miran2019-07-091-1/+1
|
* Render deprecated pragmas (#8886)LemonBoy2019-06-031-4/+4
| | | | | | | | | * Render deprecated pragmas * fix the expected html * clean up the documentation regarding deprecations * fix typo * fix system.nim * fix random
* Cleanup heapqueue module (#10476)Oscar NihlgÄrd2019-01-281-42/+115
|
* Add heapqueue module to doc index (#6655)Lynn C. Rees2017-11-101-0/+9
| | | Add copyright header to heapqueue modlue
* Fixed heapqueue.del for last elem (#5363)Yuriy Glukhov2017-02-101-10/+31
|
* Added heapqueue.del (#5289)Yuriy Glukhov2017-01-271-11/+35
|
* Added heapqueue collection. Fixed timers in asyncdispatch.Yuriy Glukhov2016-04-281-0/+107