
    LKi                         S r SSKJrJr  SSKrSSKJr  \\\R                  \R                  \R                  \R                  4      rS\S\S\4S jrS\S\S\4S	 jrS\S\S\4S
 jrg)z4
These functions match what the spec of hnswlib is.
    )UnioncastN)NDArrayxyreturnc                 f    [         R                  R                  X-
  5      S-  R                  5       $ )N   )nplinalgnormitemr   r   s     c/var/www/html/dynamic-report/venv/lib/python3.13/site-packages/chromadb/utils/distance_functions.pyl2r      s%    IINN15!Q&,,..    c           	      r   SnU R                   [        R                  :X  d  UR                   [        R                  :X  a  Sn[        [        S[        R
                  " X5      [        R                  R                  U 5      [        R                  R                  U5      -  U-   -  -
  R                  5       5      $ )NgKH9gHz>      ?)	dtyper   float16r   floatdotr   r   r   )r   r   NORM_EPSs      r   cosiner      s}    
 Hww"**2:: 5"&&,299>>!#4ryy~~a7H#HH"TUU
$&	 r   c                 l    [        [        S[        R                  " X5      -
  R	                  5       5      $ )Nr   )r   r   r   r   r   r   s     r   ipr      s%    bffQl*00233r   )__doc__typingr   r   numpyr   numpy.typingr   int32float32int16r   Vectorr   r   r   r    r   r   <module>r&      s       	rxxRXXrzzAB	C/& /V / /f  E  4& 4V 4 4r   