gpt4free-original/venv/lib/python3.9/site-packages/pandas/_libs/khash_for_primitive_helper....

45 行
1.4 KiB
Cython

"""
Template for wrapping khash-tables for each primitive `dtype`
WARNING: DO NOT edit .pxi FILE directly, .pxi is generated from .pxi.in
"""
{{py:
# name, c_type
primitive_types = [('int64', 'int64_t'),
('uint64', 'uint64_t'),
('float64', 'float64_t'),
('int32', 'int32_t'),
('uint32', 'uint32_t'),
('float32', 'float32_t'),
('int16', 'int16_t'),
('uint16', 'uint16_t'),
('int8', 'int8_t'),
('uint8', 'uint8_t'),
('complex64', 'khcomplex64_t'),
('complex128', 'khcomplex128_t'),
]
}}
{{for name, c_type in primitive_types}}
cdef extern from "khash_python.h":
ctypedef struct kh_{{name}}_t:
khuint_t n_buckets, size, n_occupied, upper_bound
uint32_t *flags
{{c_type}} *keys
size_t *vals
kh_{{name}}_t* kh_init_{{name}}() nogil
void kh_destroy_{{name}}(kh_{{name}}_t*) nogil
void kh_clear_{{name}}(kh_{{name}}_t*) nogil
khuint_t kh_get_{{name}}(kh_{{name}}_t*, {{c_type}}) nogil
void kh_resize_{{name}}(kh_{{name}}_t*, khuint_t) nogil
khuint_t kh_put_{{name}}(kh_{{name}}_t*, {{c_type}}, int*) nogil
void kh_del_{{name}}(kh_{{name}}_t*, khuint_t) nogil
bint kh_exist_{{name}}(kh_{{name}}_t*, khiter_t) nogil
{{endfor}}