Tim Peters <t...@python.org> added the comment:
Just noting that this Bernstein-like variant appears to work as well as the FNV-1a version in all the goofy ;-) endcase tests I've accumulated: while (--len >= 0) { y = PyObject_Hash(*p++); if (y == -1) return -1; Py_uhash_t t = (Py_uhash_t)y; t ^= t << 7; x = x * mult + t; } They're identical except for the last line. FNV-1a uses x = (x ^ t) * mult; instead. ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue34751> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com