API do PyHash¶
Veja também o membro PyTypeObject.tp_hash
e Hashing de tipos numéricos.
-
type Py_hash_t¶
Tipo de valor do hash: inteiro com sinal.
Adicionado na versão 3.2.
-
type Py_uhash_t¶
Tipo de valor do hash: inteiro sem sinal.
Adicionado na versão 3.2.
-
PyHASH_MODULUS¶
O primo de Mersenne
P = 2**n -1
, usado para esquema de hash numérico.Adicionado na versão 3.13.
-
PyHASH_BITS¶
O expoente
n
deP
emPyHASH_MODULUS
.Adicionado na versão 3.13.
-
PyHASH_MULTIPLIER¶
Multiplicador de primo usado em strings e vários outros hashes.
Adicionado na versão 3.13.
-
PyHASH_INF¶
O valor de hash retornado para um infinito positivo.
Adicionado na versão 3.13.
-
PyHASH_IMAG¶
O multiplicador usado para a parte imaginária de um número complexo.
Adicionado na versão 3.13.
-
type PyHash_FuncDef¶
Definição de função de hash usada por
PyHash_GetFuncDef()
.-
const char *name¶
Nome de função hash (string codificada em UTF-8).
-
const int hash_bits¶
Tamanho interno do valor do hash em bits.
-
const int seed_bits¶
Tamanho da entrada de seed em bits.
Adicionado na versão 3.4.
-
const char *name¶
-
PyHash_FuncDef *PyHash_GetFuncDef(void)¶
Obtém a definição de função de hash.
Ver também
PEP 456 “Algoritmo de hash seguro e intercambiável”.
Adicionado na versão 3.4.
-
Py_hash_t Py_HashPointer(const void *ptr)¶
Hash de um valor de ponteiro: processa o valor do ponteiro como um inteiro (converte-o para
uintptr_t
internamente). O ponteiro não é desreferenciado.A função não pode falhar: ela não pode retornar
-1
.Adicionado na versão 3.13.
-
Py_hash_t Py_HashBuffer(const void *ptr, Py_ssize_t len)¶
Compute and return the hash value of a buffer of len bytes starting at address ptr. The hash is guaranteed to match that of
bytes
,memoryview
, and other built-in objects that implement the buffer protocol.Use this function to implement hashing for immutable objects whose
tp_richcompare
function compares to another object’s buffer.len must be greater than or equal to
0
.This function always succeeds.
Adicionado na versão 3.14.
-
Py_hash_t PyObject_GenericHash(PyObject *obj)¶
Função de hash genérica que deve ser colocada no slot
tp_hash
de um objeto de tipo. Seu resultado depende apenas da identidade do objeto.Detalhes da implementação do CPython: No CPython, é equivalente a
Py_HashPointer()
.Adicionado na versão 3.13.