mirror of
https://github.com/janet-lang/janet
synced 2024-12-25 16:00:27 +00:00
Fix #928 - Fix hashing of negative 0.
This commit is contained in:
parent
56ba1d9cd3
commit
d7ea122cf7
@ -322,6 +322,7 @@ int32_t janet_hash(Janet x) {
|
||||
uint64_t u;
|
||||
} as;
|
||||
as.d = janet_unwrap_number(x);
|
||||
as.d = as.d == 0 ? 0 : as.d; /* normalize negative 0 */
|
||||
uint32_t lo = (uint32_t)(as.u & 0xFFFFFFFF);
|
||||
uint32_t hi = (uint32_t)(as.u >> 32);
|
||||
uint32_t hilo = (hi ^ lo) * 2654435769u;
|
||||
|
@ -48,5 +48,7 @@
|
||||
|
||||
(assert (= (test) '(1 ())) "issue #919")
|
||||
|
||||
(assert (= (hash 0) (hash (* -1 0))) "hash -0 same as hash 0")
|
||||
|
||||
(end-suite)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user