
    d	                    
   d dl mZ d dlmZmZmZmZmZmZ d dl	m
Z
 d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZ d dlmZ d dlmZ d dlmZ d dlm Z! d dlm"Z"m#Z#m$Z$ g dZ%erd dl&Z'd)dZ(e
ddddddd*d(Z dS )+    )annotations)TYPE_CHECKINGAnyCallable
CollectionHashableSequence)ratio)FLOAT32)FLOAT64)INT8)INT16)INT32)INT64)UINT8)UINT16)UINT32)UINT64)cdist)extractextract_iter
extractOne)r   r   r   r   Ndtypenp.dtype | Nonereturn
int | Nonec                p   dd l }| d S | |j        u rt          S | |j        u rt          S | |j        u rt          S | |j        u rt          S | |j	        u rt          S | |j        u rt          S | |j        u rt          S | |j        u rt           S | |j        u rt$          S | |j        u rt(          S t+          d          )Nr   zunsupported dtype)numpyint32_INT32int8_INT8int16_INT16int64_INT64uint8_UINT8uint16_UINT16uint32_UINT32uint64_UINT64float32_FLOAT32float64_FLOAT64	TypeError)r   nps     Y/home/feoh/.local/pipx/venvs/poetry/lib/python3.11/site-packages/rapidfuzz/process_cpp.py_dtype_to_type_numr6      s    }t			


'
(
((       scorer	processorscore_cutoff
score_hintr   workersqueries%Collection[Sequence[Hashable] | None]choicesr:   Callable[..., int | float]r;   (Callable[..., Sequence[Hashable]] | Noner<   int | float | Noner=   r>   intkwargsr   
np.ndarrayc               n    dd l }	t          |          } |	j        t          | |f||||||d|          S )Nr   r9   )r   r6   asarray_cdist)
r?   rA   r:   r;   r<   r=   r   r>   rF   r4   s
             r5   r   r   9   sn     u%%E2:
	
 %!
	
 
	
 
	
 
	
  r7   )r   r   r   r   )r?   r@   rA   r@   r:   rB   r;   rC   r<   rD   r=   rD   r   r   r>   rE   rF   r   r   rG   ))
__future__r   typingr   r   r   r   r   r	   rapidfuzz.fuzzr
   rapidfuzz.process_cpp_implr   r0   r   r2   r   r"   r   r$   r   r    r   r&   r   r(   r   r*   r   r,   r   r.   r   rJ   r   r   r   __all__r   r4   r6    r7   r5   <module>rQ      s   # " " " " " O O O O O O O O O O O O O O O O             : : : : : : : : : : : : 4 4 4 4 4 4 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 6 6 6 6 6 6 H H H H H H H H H H
<
<
< ) ) ) )B */:>'+%)!       r7   