# API do PyHash

See also the `PyTypeObject.tp_hash` member and 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

  The Mersenne prime `P = 2**n -1`, used for numeric hash scheme.

  Adicionado na versão 3.13.

PyHASH_BITS

  The exponent `n` of `P` in `PyHASH_MODULUS`.

  Adicionado na versão 3.13.

PyHASH_MULTIPLIER

  Prime multiplier used in string and various other hashes.

  Adicionado na versão 3.13.

PyHASH_INF

  The hash value returned for a positive infinity.

  Adicionado na versão 3.13.

PyHASH_IMAG

  The multiplier used for the imaginary part of a complex number.

  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.

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 a pointer value: process the pointer value as an integer (cast it to `uintptr_t` internally). The pointer is not dereferenced.

  The function cannot fail: it cannot return `-1`.

  Adicionado na versão 3.13.

Py_hash_t PyObject_GenericHash(PyObject *obj)

  Generic hashing function that is meant to be put into a type object’s `tp_hash` slot. Its result only depends on the object’s identity.

  Detalhes da implementação do CPython: In CPython, it is equivalent to `Py_HashPointer()`.

  Adicionado na versão 3.13.