Spec-Zone.ru › Python 3.13

API PyHash

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

type Py_hash_t

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

Добавлено в версии 3.2.

type Py_uhash_t

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

Добавлено в версии 3.2.

PyHASH_MODULUS

Простое число Мерсенна P = 2**n -1, используемое в схеме числового хеширования.

Добавлено в версии 3.13.

PyHASH_BITS

Показатель степени n числа P в PyHASH_MODULUS.

Добавлено в версии 3.13.

PyHASH_MULTIPLIER

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

Добавлено в версии 3.13.

PyHASH_INF

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

Добавлено в версии 3.13.

PyHASH_IMAG

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

Добавлено в версии 3.13.

type PyHash_FuncDef

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

Py_hash_t (*const hash)(const void*, Py_ssize_t)

Хеш-функция.

const char *name

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

const int hash_bits

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

const int seed_bits

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

Добавлено в версии 3.4.

PyHash_FuncDef *PyHash_GetFuncDef(void)

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

См. также

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

Добавлено в версии 3.4.

Py_hash_t Py_HashPointer(const void *ptr)

Вычислить хеш-значение указателя: обработать значение указателя как целое число (внутренне привести его к uintptr_t). Разыменование указателя не выполняется.

Функция не может завершиться с ошибкой: она не может вернуть -1.

Добавлено в версии 3.13.

Py_hash_t PyObject_GenericHash(PyObject *obj)

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

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

Добавлено в версии 3.13.

© 2001–2025 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.13/c-api/hash.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API