
    ui                     Z    d Z ddlZddlm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.
    N)	ArrayLikexyreturnc                 L    t           j                            | |z
            dz  S )N   )nplinalgnormr   r   s     T/var/www/icac/venv/lib/python3.11/site-packages/chromadb/utils/distance_functions.pyl2r      s    9>>!a%  A%%    c                     d}dt          j        | |          t           j                            |           |z   t           j                            |          |z   z  z  z
  S )NgKH9   )r	   dotr
   r   )r   r   NORM_EPSs      r   cosiner      sU     Hrva||			X	%")..*;*;h*FG  r   c                 2    dt          j        | |          z
  S )Nr   )r	   r   r   s     r   ipr      s    rva||r   )	__doc__numpyr	   numpy.typingr   floatr   r   r    r   r   <module>r      s         " " " " " "&) &	 &e & & & &i I %    ) 	 e      r   