An implementation of Jenkins one-at-a-timehash.
(jenkins-hash x) → hash
This is a non-cryptographic hash function.
The implementation is similar to
Function:
(defun jenkins-hash (x) (declare (xargs :type-prescription (natp (jenkins-hash x))) (optimize (speed 3) (safety 0))) (declare (xargs :guard t)) (let ((__function__ 'jenkins-hash)) (declare (ignorable __function__)) (the (unsigned-byte 32) (let* ((acc (the (unsigned-byte 32) (jenkins-acc-true-list (list x) 0))) (acc (u32-+ acc (u32-ash acc 3))) (acc (the (unsigned-byte 32) (logxor acc (u32-ash acc -11))))) (u32-+ acc (u32-ash acc 15))))))