123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- from cpython.object cimport PyObject
- from numpy cimport (
- complex64_t,
- complex128_t,
- float32_t,
- float64_t,
- int8_t,
- int16_t,
- int32_t,
- int64_t,
- uint8_t,
- uint16_t,
- uint32_t,
- uint64_t,
- )
- cdef extern from "khash_python.h":
- const int KHASH_TRACE_DOMAIN
- ctypedef uint32_t khuint_t
- ctypedef khuint_t khiter_t
- ctypedef struct khcomplex128_t:
- double real
- double imag
- bint are_equivalent_khcomplex128_t \
- "kh_complex_hash_equal" (khcomplex128_t a, khcomplex128_t b) nogil
- ctypedef struct khcomplex64_t:
- float real
- float imag
- bint are_equivalent_khcomplex64_t \
- "kh_complex_hash_equal" (khcomplex64_t a, khcomplex64_t b) nogil
- bint are_equivalent_float64_t \
- "kh_floats_hash_equal" (float64_t a, float64_t b) nogil
- bint are_equivalent_float32_t \
- "kh_floats_hash_equal" (float32_t a, float32_t b) nogil
- uint32_t kh_python_hash_func(object key)
- bint kh_python_hash_equal(object a, object b)
- ctypedef struct kh_pymap_t:
- khuint_t n_buckets, size, n_occupied, upper_bound
- uint32_t *flags
- PyObject **keys
- size_t *vals
- kh_pymap_t* kh_init_pymap()
- void kh_destroy_pymap(kh_pymap_t*)
- void kh_clear_pymap(kh_pymap_t*)
- khuint_t kh_get_pymap(kh_pymap_t*, PyObject*)
- void kh_resize_pymap(kh_pymap_t*, khuint_t)
- khuint_t kh_put_pymap(kh_pymap_t*, PyObject*, int*)
- void kh_del_pymap(kh_pymap_t*, khuint_t)
- bint kh_exist_pymap(kh_pymap_t*, khiter_t)
- ctypedef struct kh_pyset_t:
- khuint_t n_buckets, size, n_occupied, upper_bound
- uint32_t *flags
- PyObject **keys
- size_t *vals
- kh_pyset_t* kh_init_pyset()
- void kh_destroy_pyset(kh_pyset_t*)
- void kh_clear_pyset(kh_pyset_t*)
- khuint_t kh_get_pyset(kh_pyset_t*, PyObject*)
- void kh_resize_pyset(kh_pyset_t*, khuint_t)
- khuint_t kh_put_pyset(kh_pyset_t*, PyObject*, int*)
- void kh_del_pyset(kh_pyset_t*, khuint_t)
- bint kh_exist_pyset(kh_pyset_t*, khiter_t)
- ctypedef char* kh_cstr_t
- ctypedef struct kh_str_t:
- khuint_t n_buckets, size, n_occupied, upper_bound
- uint32_t *flags
- kh_cstr_t *keys
- size_t *vals
- kh_str_t* kh_init_str() nogil
- void kh_destroy_str(kh_str_t*) nogil
- void kh_clear_str(kh_str_t*) nogil
- khuint_t kh_get_str(kh_str_t*, kh_cstr_t) nogil
- void kh_resize_str(kh_str_t*, khuint_t) nogil
- khuint_t kh_put_str(kh_str_t*, kh_cstr_t, int*) nogil
- void kh_del_str(kh_str_t*, khuint_t) nogil
- bint kh_exist_str(kh_str_t*, khiter_t) nogil
- ctypedef struct kh_str_starts_t:
- kh_str_t *table
- int starts[256]
- kh_str_starts_t* kh_init_str_starts() nogil
- khuint_t kh_put_str_starts_item(kh_str_starts_t* table, char* key,
- int* ret) nogil
- khuint_t kh_get_str_starts_item(kh_str_starts_t* table, char* key) nogil
- void kh_destroy_str_starts(kh_str_starts_t*) nogil
- void kh_resize_str_starts(kh_str_starts_t*, khuint_t) nogil
- # sweep factorize
- ctypedef struct kh_strbox_t:
- khuint_t n_buckets, size, n_occupied, upper_bound
- uint32_t *flags
- kh_cstr_t *keys
- PyObject **vals
- kh_strbox_t* kh_init_strbox() nogil
- void kh_destroy_strbox(kh_strbox_t*) nogil
- void kh_clear_strbox(kh_strbox_t*) nogil
- khuint_t kh_get_strbox(kh_strbox_t*, kh_cstr_t) nogil
- void kh_resize_strbox(kh_strbox_t*, khuint_t) nogil
- khuint_t kh_put_strbox(kh_strbox_t*, kh_cstr_t, int*) nogil
- void kh_del_strbox(kh_strbox_t*, khuint_t) nogil
- bint kh_exist_strbox(kh_strbox_t*, khiter_t) nogil
- khuint_t kh_needed_n_buckets(khuint_t element_n) nogil
- include "khash_for_primitive_helper.pxi"
|