aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--stdlib/integers.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/stdlib/integers.c b/stdlib/integers.c
index 4f1947d2..1973fa34 100644
--- a/stdlib/integers.c
+++ b/stdlib/integers.c
@@ -57,8 +57,7 @@ public PUREFUNC bool Int$equal_value(const Int_t x, const Int_t y) {
public PUREFUNC uint64_t Int$hash(const Int_t *x, const TypeInfo_t *type) {
(void)type;
if (__builtin_expect(x->small & 1, 1)) {
- int64_t i = (x->small>>2);
- return siphash24((void*)&i, sizeof(i));
+ return siphash24((void*)x, sizeof(Int_t));
} else {
char *str = mpz_get_str(NULL, 16, *x->big);
return siphash24((void*)str, strlen(str));