Merge pull request #931 from saikyun/norm-neg

normalize zero without branching
This commit is contained in:
Calvin Rose 2022-03-07 09:18:22 -06:00 committed by GitHub
commit c815185574
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 1 additions and 1 deletions

View File

@ -322,7 +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 */
as.d += 0.0; /* 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;