§
    ˜Štj½  ã                   ó¶   — d Z ddlmZmZ ddlZddlmZ eeej        ej	        ej
        ej        f                  Zdededefd„Zdededefd	„Zdededefd
„ZdS )z4
These functions match what the spec of hnswlib is.
é    )ÚUnionÚcastN)ÚNDArrayÚxÚyÚreturnc                 óp   — t           j                             | |z
  ¦  «        dz                       ¦   «         S )Né   )ÚnpÚlinalgÚnormÚitem©r   r   s     ú_/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/chromadb/utils/distance_functions.pyÚl2r      s+   € ÝŒI�NŠN˜1˜q™5Ñ!Ô! QÑ&×,Ò,Ñ.Ô.Ð.ó    c           	      ó^  — d}| j         t          j        k    s|j         t          j        k    rd}t          t          dt          j        | |¦  «        t          j                             | ¦  «        t          j                             |¦  «        z  |z   z  z
                       ¦   «         ¦  «        S )Ng ÂëþKH´9gH¯¼šò×z>ç      ð?)	Údtyper   Úfloat16r   ÚfloatÚdotr   r   r   )r   r   ÚNORM_EPSs      r   Úcosiner      s†   € ð
 €HØ„w•"”*ÒÐ ¤­2¬:Ò 5Ð 5ØˆÝÝà•"”&˜˜A‘,”,¥2¤9§>¢>°!Ñ#4Ô#4µr´y·~²~ÀaÑ7HÔ7HÑ#HÈHÑ"TÑUÑUß
Š$‰&Œ&ñ	ô ð r   c                 ó|   — t          t          dt          j        | |¦  «        z
                       ¦   «         ¦  «        S )Nr   )r   r   r   r   r   r   s     r   Úipr      s-   € Ý•˜�bœf Q¨™lœlÑ*×0Ò0Ñ2Ô2Ñ3Ô3Ð3r   )Ú__doc__Útypingr   r   Únumpyr   Únumpy.typingr   Úint32Úfloat32Úint16r   ÚVectorr   r   r   r   © r   r   ú<module>r&      sì   ððð ð Ð Ð Ð Ð Ð Ð Ð Ø Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  à	��r”x ¤¨R¬X°r´zÐAÔBÔ	C€ð/ˆ&ð /�Vð / ð /ð /ð /ð /ðˆfð ˜ð  Eð ð ð ð ð 4ˆ&ð 4�Vð 4 ð 4ð 4ð 4ð 4ð 4ð 4r   