Иногда вам нужно взять хеш-функцию указателя; не объект, на который указывает указатель, а сам указатель. Много времени, люди просто разбивают и используют значение указателя как целое число, отрезают некоторые старшие биты, чтобы привести его в соответствие, возможно, смещают биты с известным нулем внизу. Дело в том, что значения указателей не обязательно хорошо распределены в пространстве кода; на самом деле, если ваш распределитель выполняет свою работу, есть отличный шанс, что все они сгруппированы близко друг к другу.
Итак, мой вопрос: кто-нибудь разработал хеш-функции, которые подходят для этого? Возьмите 32- или 64-битное значение, которое может содержать 12 бит энтропии где-то и равномерно распределить его по 32-битному числовому пространству.