| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|\
| |
| | |
Corrected SYSTEM_INFO structure to match pointer type on 64-bit systems
|
| | |
|
|\ \
| | |
| | | |
Fix for timer overflow when using nimprofiler with 32bit Windows target.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It's unlikely, but possible for the conversion to nanoseconds
to overflow if QueryPerformanceCounter() returns a
large enough timestamp. This change avoids that, at the
cost of always taking a sample the first time through
when t0 == 0.
|
| |/
| |
| |
| |
| | |
On windows when compiling on 32 bit, this can get you a
out of range exception for an otherwise valid interval.
|
|\ \
| | |
| | | |
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.
|
|\ \ \
| | | |
| | | | |
little documentation fix on combine and /
|
| |/ / |
|
|/ / |
|
|/
|
| |
Fixes number #2193 and resolves some ambiguity issues
|
| |
|
| |
|
|\
| |
| | |
Fixing toHex() to not wrap for long lens + Test
|
| |
| |
| |
| |
| |
| |
| | |
If you specify a len like 32 toHex() will repeat the given value in the
output. Besides that I believe my implementation is easier and seems not
to change how negative numbers are handled. I also handle the case of
wrapping negative number beyond BiggestInt to "do it right".
|
| |
| |
| |
| |
| |
| | |
So far only openarray[int8] worked. Now it's openarray[int8|uint8]. This
should make sense, since uint8 is comfortable to represent a byte
(0-255) and there is already type byte* = uint8 in system.
|
|\ \
| |/
|/| |
Add mgetOrPut to support just one probe chase for the common
|
| |\ |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Extract maybe re-hash/re-search and insert logic into a new template.
Use this new template to do impl templates for all three put forms
(which required renaming a couple 'value' arguments to 'val').
Added OrderedTable and OrderedTableRef versions of both as well.
|
| | | |
|
| | |
| | |
| | |
| | | |
pattern of either updating or initializing table entries.
|
| | | |
|
|\ \ \
| | | |
| | | | |
Fix a few more warnings
|
| | |/
| |/| |
|
|\ \ \
| | | |
| | | | |
Always use 0x40 for POSIX_SPAWN_USEVFORK
|
| |/ / |
|
|/ / |
|
|\ \
| | |
| | | |
Make gc2 compile again and fix some deprecation warnings
|
| | | |
|
| |/ |
|
| | |
|
|/ |
|
|\
| |
| | |
Cleanup
|
| | |
|
|\ \
| | |
| | | |
Disable -pthread for compiler/linker on OSX
|
| | |
| | |
| | |
| | |
| | | |
The -pthread is not needed on Darwin/OS X and the Apple compilers give a
warning about this if you use --threads:on with the Nim compiler.
|
|\ \ \
| | | |
| | | | |
Patch 2
|
| | |/
| |/|
| | | |
fix rst error
|
|\ \ \
| | | |
| | | | |
Update collections/tables.nim as with sets.nim
|
| | | | |
|
| |\| | |
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Make similar changes to those made in sets.nim, including hcode, rightSize
rawGet/rawGetKnownHC result protocol, nextTry probe sequence to be the cache
friendlier h=h+1 which in turn allows supporting changing deletion to fix the
infinite loop bug with local rehashing which in turn has desirable properties
of graceful table aging when deletes do happen and also making insert-only
usage patterns no longer pay any time/space cost to check deleted status.
Unlike collections.sets, this module has add() for duplicate key inserts and
a 3rd type of table, CountTable. The first wrinkle is handled by introducing
a rawGetDeep for unconditionally adding entries along collision chains. This
point of CountTable seems to be space efficiency at 2 items per slot. These
changes retain that by keeping the val==0 => EMPTY rule and not caching hash
codes. putImpl is expanded in-place for CountTable since the new putImpl() is
too different. { Depending on table size relative to caches & key expense,
regular Table[A,B] may become faster than CountTable, especially if the basic
count update could be something like inc(mGetOrPut(t, key, 0)). }
Unit tests pass, but in this module those are much more of just a demo than
probing for bugs. Should exercise/test this a little more before merging.
|
| |/ /
|/| | |
|
| | | |
|
| |/
|/| |
|
|\ \
| | |
| | | |
Date/time parsing
|