PyHash API
另请参阅 PyTypeObject.tp_hash
成员和 数字类型的哈希运算。
- type Py_hash_t
- 哈希值类型:有符号整数。
Added in version 3.2.
- type Py_uhash_t
- 哈希值类型:无符号整数。
Added in version 3.2.
- PyHASH_MODULUS
- 梅森素数 [https://en.wikipedia.org/wiki/Mersenne_prime]
P = 2**n -1
,用于数字哈希方案。
Added in version 3.13.
- PyHASH_BITS
P
在PyHASH_MODULUS
中的n
次幂。
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 [https://peps.python.org/pep-0456/] "安全且可互换的哈希算法"。
Added in version 3.4.
- Py_hash_t Py_HashPointer(const void *ptr)
- 对指针值执行哈希运算:将指针值作为整数来处理(在内部将其转换为
uintptr_t
类型)。 指针不会被撤销引用。
此函数不会失败:它不可能返回 -1
。
Added in version 3.13.
- 将会被放入类型对象的
tp_hash
槽位的泛型哈希函数。 其结果值仅取决于对象的标识号。
在 CPython 中,它等价于 Py_HashPointer()
。
Added in version 3.13.