From 9d18180c3c77ed73188d5eda14b9602c5f6d073b Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Sat, 26 Nov 2022 15:38:21 -0700 Subject: [PATCH] [array] Use hb_hash instead of handrolling --- src/hb-array.hh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/hb-array.hh b/src/hb-array.hh index 5cadc4805..c89bb3c6a 100644 --- a/src/hb-array.hh +++ b/src/hb-array.hh @@ -453,11 +453,11 @@ inline uint32_t hb_array_t::hash () const ((defined(__GNUC__) && __GNUC__ >= 5) || defined(__clang__)) struct __attribute__((packed)) packed_uint32_t { uint32_t v; }; for (; i + 4 <= this->length; i += 4) - current = current * 31 + (uint32_t) ((((packed_uint32_t *) &this->arrayZ[i])->v) * 2654435761u); + current = current * 31 + hb_hash (((packed_uint32_t *) &this->arrayZ[i])->v); #endif for (; i < this->length; i++) - current = current * 31 + (uint32_t) (this->arrayZ[i] * 2654435761u); + current = current * 31 + hb_hash (this->arrayZ[i]); return current; } @@ -471,11 +471,11 @@ inline uint32_t hb_array_t::hash () const ((defined(__GNUC__) && __GNUC__ >= 5) || defined(__clang__)) struct __attribute__((packed)) packed_uint32_t { uint32_t v; }; for (; i + 4 <= this->length; i += 4) - current = current * 31 + (uint32_t) ((((packed_uint32_t *) &this->arrayZ[i])->v) * 2654435761u); + current = current * 31 + hb_hash (((packed_uint32_t *) &this->arrayZ[i])->v); #endif for (; i < this->length; i++) - current = current * 31 + (uint32_t) (this->arrayZ[i] * 2654435761u); + current = current * 31 + hb_hash (this->arrayZ[i]); return current; }