API PyHash

См. также члены PyTypeObject.tp_hash и Хеширование числовых типов.

type Py_hash_t

Тип хэш-значения: целое число со знаком.

Added in version 3.2.

type Py_uhash_t

Тип хэш-значения: беззнаковое целое.

Added in version 3.2.

PyHASH_MODULUS

В качестве параметра Mersenne prime P = 2**n -1, используемый для числовой схемы хэширования.

Added in version 3.13.

PyHASH_BITS

Экспонента n от P в PyHASH_MODULUS.

Added in version 3.13.

PyHASH_MULTIPLIER

Прайм-множитель, используемый в строковых и различных других хэшах.

Added in version 3.13.

PyHASH_INF

Возвращаемое хэш-значение для положительной бесконечности.

Added in version 3.13.

PyHASH_IMAG

Множитель, используемый для мнимой части комплексного числа.

Added in version 3.13.

type PyHash_FuncDef

Определение хэш-функции, используемое PyHash_GetFuncDef().

const char *name

Имя хэш-функции (строка в кодировке UTF-8).

const int hash_bits

Внутренний размер хэш-значения в битах.

const int seed_bits

Размер входного семени в битах.

Added in version 3.4.

PyHash_FuncDef *PyHash_GetFuncDef(void)

Получите определение хэш-функции.

См.также

PEP 456 «Безопасный и взаимозаменяемый хэш-алгоритм».

Added in version 3.4.

Py_hash_t Py_HashPointer(const void *ptr)

Хеширование значения указателя: обработайте значение указателя как целое число (внутренне приведите его к uintptr_t). Указатель не разыменовывается.

Функция не может быть неудачной: она не может вернуть -1.

Added in version 3.13.

Py_hash_t PyObject_GenericHash(PyObject *obj)

Общая функция хеширования, предназначенная для размещения в слоте tp_hash объекта типа. Ее результат зависит только от идентификатора объекта.

Детали реализации CPython: В CPython это эквивалентно Py_HashPointer().

Added in version 3.13.