Bung
0769b160c5
less test time costs ( #20479 )
2022-10-02 06:42:41 +02:00
flywind
e7bac91773
rename nimEnableHashRef [backport] ( #18941 )
...
* rename nimEnableHashRef [backport]
* Apply suggestions from code review
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com >
2021-10-04 21:28:13 +02:00
Miran
50e98e6efa
hashes for refs should be an opt-in feature ( #18098 )
2021-05-30 23:55:51 +02:00
Timothee Cour
ad67bcf379
fix https://github.com/nim-lang/RFCs/issues/311 remove unary slice ( #16714 )
2021-04-19 19:02:52 -07:00
Timothee Cour
d19e4310dc
std/hashes: hash(ref|ptr|pointer) + other improvements ( #17731 )
2021-04-16 14:21:26 +02:00
flywind
6d442a40a6
use doAssert in tests ( #16486 )
2020-12-28 14:13:21 +01:00
narimiran
732ddc02da
change/remove deprecated stuff
2020-10-28 10:20:18 +01:00
narimiran
b13fb9ddb8
fix #15750
2020-10-28 10:20:18 +01:00
Miran
3de5296337
remove a condition that table size must be passed as power of 2 ( #14926 )
...
* remove a condition that table size must be passed as power of 2
* remove power-of-2 condition from sets and sharedtables
* remove power-of-2 condition from deques
* use 'correctSize' for both branches
* prettify changelog.md and fix typos
* add a changelog entry
* fix double-call of 'right-size'
* fix the same thing in sets.nim
* introduce a new internal proc `slotsNeeded`
Deprecate the public proc `rightSize`, which is not needed anymore.
Now it is an identity function, allowing the old code to work
correctly and without extra allocations.
2020-07-08 15:01:47 +02:00
ee7
a754160d65
tables.nim: Add named fields in smallest and largest ( #14919 )
...
The `smallest` and `largest` procs for `CountTable` returned a tuple
with named fields, but the same procs for `CountTableRef` returned an
anonymous tuple.
This commit makes those `CountTableRef` procs more consistent, and adds
a test.
Fixes : #14918
2020-07-06 14:02:03 +02:00
Zahary Karadjov
0521f98486
Hrm, the new errors highlighted some code that seems to be broken
...
New issue: since `Table[A, B]` allocates its backing storage with
`newSeq[KeyValuePair[A, B]]`, it's no longer legal to create a table
with `not nil` types used as either keys or values.
2020-04-01 19:38:44 +02:00
Miran
8088633250
faster CIs ( #13803 )
...
* ttables: smaller table, 5x speedup
* thavlak: less iterations, less loops; 30% speedup
* tasyncclosestall: shorter timeout; 35% speedup
* gcleak4: less iterations, 2x speedup
* ttimes: remove deprecated stuff
* tdangerisrelease: remove cpp backend, 3x speedup
* tfrexp1: smaller range, 2x speedup
* trtree: fix warnings, less iterations, 6x speedup
* tasyncawait_cyclebreaker: smaller swarm size; 2x speedup
* trealloc: smaller number of iterations; 10x speedup
* towned_binary_tree: less iterations, 4x speedup
* tclosure: remove unused code, less iterations; 2x speedup
* twaitany: less durations; 1.4x speedup
* tasync_misc: less iterations, 2x speedup
* t8535: smaller sleep, 1.5x speedup
* tmanyjoin: smaller sleep, 2x speedup
* t12221: shorter sleeps, removed two slower tests; 1.6x speedup
* tfuturestream: smaller sleep; 1.5x speedup
* growobjcrash: less iterations; 2x speedup
* ttryrecv: smaller sleep; 1.5x speedup
* treusetvar: less threads; 2x speedup
* delete tthreadanalysis2, basically a duplicate of tthreadanalysis
* t7758: less iterations, 1.5x speedup
* tasyncawait: smaller swarm, less messages; 1.5x speedup
* tjsandnativeasync: smaller sleep, 1.5x speedup
* tpendingcheck: smaller sleep, 1.5x speedup
* remove rodfiles test category
* move tseq from its own category to 'collections' category
* remove unneeded tests and helpers from 'assert' category
* stdlib: merge tbitops2 into tbitops
* remove 'trepr2' from 'stdlib' cat
* merge 'tstreams' into one file
* remove 'tinefficient_const_table' from 'ccbugs' cat
* merge 'tcollections_to_string' into 'tcollections'
* tblocking_channel: smaller sleep, small speedup
* tconvexhull: less iterartions; 1.2x speedup
* merge 'tdeepcopy2' into 'tdeepcopy'
* merge 'tdisjoint_slice2' into 'tdisjoint_slice1'
* tmissing_deepcopy: smaller sequence
* tsendtwice: smaller arrays; 5x speedup
* remove 'tindexerrorformatbounds'
* disable multimethod tests
* remove 'gc:none' and 'refc' without 'd:useRealtimeGC' from gc tests
* koch.nim: bootstrap just with '-d:release', no need for 'csource'
* add github workflow for documentation
* testament: no need for 8 sub-second decimals
2020-03-30 13:18:12 +02:00
Timothee Cour
42dad3a836
tables/sharedtables/intsets/etc: fix #13496 , #13504 , #13505 ; add lots of tests ( #13498 ) [backport]
...
* fix #13496 handle tombstones
* add test
* more tests
* fix #13504 ; add SharedTable tests
* fix #https://github.com/nim-lang/Nim/issues/13505 intsets.missingOrExcl silently gave wrong results sometimes
* add test for tintsets
2020-02-26 22:07:09 +01:00
Clyybber
87dd19453b
Remove testutils ( #13435 ) [backport]
2020-02-19 23:02:08 +01:00
Timothee Cour
8c22518d67
[backport] pseudorandom probing for hash collision ( #13418 )
2020-02-19 17:19:55 +01:00
Miran
734da9e1df
fixes #11764 , faster hashing of (u)int ( #12407 )
2019-10-15 16:31:07 +02:00
Andy Davidoff
01f09567c4
faster CountTable sort(), optional SortOrder ( #11010 )
...
* use existing sort for CountTable, and
add SortOrder options to CountTable, OrderedTable sort(s)
* add some tests, runnables, etc.
* fix runnable imports
2019-04-16 09:42:54 +02:00
Andreas Rumpf
ac785b0623
testament: joinable is now an explicit concept of a test spec
2018-12-11 21:23:24 +01:00
Arne Döring
a5ecbf823f
lots of small changes
2018-12-11 21:23:22 +01:00
Arne Döring
1105d03644
require errormsg to be specified before file.
2018-12-11 21:23:21 +01:00
Miran
95504caa31
make some tests faster ( #9413 )
...
* remove duplicated slow test
* smaller `convex hull`
* smaller sleep
* faster `trtree`
* smaller sleep in `tfuturestream`
2018-10-17 19:46:42 +02:00
Miran
7f18d7cbc1
Merge tests into a larger file (part 1 of ∞) ( #9318 )
...
* merge actiontable tests
* merge arithm tests
* merge array tests
* merge assign tests
* merge bind tests
* merge casestmt tests
* merge closure tests
* merge cnt seq tests
* merge collections tests
* merge concept issues tests
* merge concept tests
* fix failing tests
* smaller outputs
Use `doAssert` where possible.
* fix wrong output
* split `tcomputedgoto`
* revert merging concepts
* fix failing test
2018-10-12 17:02:46 +02:00
Yuriy Glukhov
d1e10f9aa3
Fixed mutex usage in SharedList and SharedTable. Closes #6988 ( #6990 )
2017-12-31 09:28:51 +01:00
Fabian Keller
6df6ec27ec
Improved collection-to-string behavior ( #6825 )
2017-12-14 14:02:13 +01:00
Ruslan Mustakov
78315792d3
Implement 'take' for Table and TableRef ( #5773 )
2017-05-04 22:33:52 +02:00
Ruslan Mustakov
a81247dcbe
Add compute proc for SharedTable ( #5385 )
2017-03-02 15:31:30 +01:00
Arne Döring
2c6c865b35
reenabled clear test, made clear working ( #5323 )
2017-02-02 23:06:13 +01:00
Felix Krause
93a998204c
Fixes #5035
2016-11-18 23:42:15 +01:00
Felix Krause
73b0bb52bb
Table fixes. fixes #4901
...
* added `==` for OrderedTable, CountTable and the *Ref types
* added missing documentation to all `==` procs
* fixed clear() for OrderedTables, which did not work because `var`
does not work well with `|`
* added tests
2016-10-23 11:21:52 +02:00
Kier Davis
8e843354e1
Disable failing tests for tables.clear()
...
The tests for tables.clear() in tests/collections/ttables.nim currently fail as a result of #4448 , so I've wrapped them in a
'when false' to disable them until the bug is fixed.
2016-07-09 18:21:37 +01:00
Kier Davis
0390248419
Add tests for tables.clear()
...
This should reduce the chance of regressions.
2016-07-09 17:21:18 +01:00
Araq
d8b0edc323
Merge branch 'mget' of https://github.com/def-/Nim into def--mget
...
Conflicts:
lib/pure/collections/critbits.nim
lib/pure/collections/tables.nim
lib/pure/xmltree.nim
lib/system/sets.nim
tests/collections/ttables.nim
tests/collections/ttablesref.nim
2015-10-13 00:22:27 +02:00
Jonathan
8e4af5ace0
Add contains proc for tables to allow usage of in
2015-05-05 23:26:58 +01:00
def
63f9385327
Rename mget to []
...
- In sets, tables, strtabs, critbits, xmltree
- This uses the new var parameter overloading
- mget variants still exist, but are deprecated in favor of `[]`
- Includes tests and fixed tests and usages of mget
- The non-var `[]` now throws an exception instead of returning binary 0
or an empty string
2015-03-31 00:32:39 +02:00
Hans Raaf
93aa73284e
Fix unknown symbol in tables mpairs iterator.
...
Fixes an error with mpairs iterator which was introduced with 5fbcf93860 . This is used by nimforum thats why I found it. I also added a testcase for the mpairs iterator.
2015-02-21 23:20:02 +01:00
Charles Blake
b65032e77e
Add some unit tests for mgetOrPut and hasKeyOrPut.
2015-02-17 09:55:46 -05:00
Charles Blake
39b98fede3
New probe seq swaps 1st two keys. Fix in cmp.
2015-02-13 08:50:26 -05:00
Araq
10335fd726
fixed minor bugs; cleaned up tests
2015-02-12 14:56:56 +01:00
Simon Hafner
5498415f3b
indexBy, which indexes a collection into a hashtable
2014-02-06 16:11:55 -06:00