a
    yh	                     @  s   d dl mZ d dlmZ d dlmZmZm	Z
mZmZmZmZmZmZmZmZmZmZmZmZ g dZ dd Z!eddddddd	d
dZej"e_"eddddddd	ddZej"e_"dS )    )annotations)ratio)FLOAT32FLOAT64INT8INT16INT32INT64UINT8UINT16UINT32UINT64cdistcpdistextractextract_iter
extractOne)r   r   r   r   r   c                 C  s   dd l }| d u rd S || } | |jkr,tS | |jkr:tS | |jkrHtS | |jkrVt	S | |j
krdtS | |jkrrtS | |jkrtS | |jkrtS | |jkrtS | |jkrtS d|  }t|d S )Nr   zunsupported dtype: )numpydtypeZint32_INT32Zint8_INT8Zint16_INT16Zint64_INT64Zuint8_UINT8Zuint16_UINT16Zuint32_UINT32Zuint64_UINT64Zfloat32_FLOAT32Zfloat64_FLOAT64	TypeError)r   npmsg r"   Q/var/www/html/assistant/venv/lib/python3.9/site-packages/rapidfuzz/process_cpp.py_dtype_to_type_num   s4    











r$   N   scorer	processorscore_cutoff
score_hintscore_multiplierr   workersc                K  s8   dd l }
t|}|
t| |f|||||||d|	S Nr   r&   )r   r$   asarray_cdist)querieschoicesr'   r(   r)   r*   r+   r   r,   kwargsr    r"   r"   r#   r   ;   s$    
r   c             
   K  s<   dd l }
t|}t| |f|||||||d|	}|
|S r-   )r   r$   _cpdistr.   )r0   r1   r'   r(   r)   r*   r+   r   r,   r2   r    Zdistance_matrixr"   r"   r#   r   ^   s"    
r   )#
__future__r   Zrapidfuzz.fuzzr   Zrapidfuzz.process_cpp_implr   r   r   r   r   r   r   r   r   r   r	   r   r
   r   r   r   r   r   r   r   r   r/   r   r3   r   r   r   __all__r$   __doc__r"   r"   r"   r#   <module>   s,   D$ 