o
    ?Hh	                     @   sX   d dl Zd dlmZmZ d dlmZ dd Zdd Zdd	 Z	d
d Z
dd Zdd ZdS )    N)assert_array_almost_equalassert_array_equalmurmurhash3_32c                   C   s   t ddksJ t ddddksJ t ddddksJ t ddddks&J t dddd	dks1J t dddd	dks<J t dd
ddksFJ t ddd
d	dksQJ t ddd
d	dks\J d S )N   iq	2r   seed*   i#UFpositive)r   r   Tl   #z& r    r   r   c/home/air/sanwanet/gpt-api/venv/lib/python3.10/site-packages/sklearn/utils/tests/test_murmurhash.pytest_mmhash3_int
   s   r   c                     s   t jd} | jddddt j}|d}dD ] t  fdd	|jD }||j	}t
t| | qdD ] t  fd
d	|jD }||j	}t
t| dd| q9d S )Nr	   iziE    )size)r         )r   r	   c                    s   g | ]	}t t| qS r   )r   int.0kr   r   r   
<listcomp>       z*test_mmhash3_int_array.<locals>.<listcomp>c                    s   g | ]	}t | d dqS )Tr
   r   r   r   r   r   r   #   r   Tr
   )nprandomRandomStaterandintastypeint32reshapearrayflatshaper   r   )rngkeysexpectedr   r   r   test_mmhash3_int_array   s   
r&   c                   C   T   t dddks	J t dddksJ t dddddksJ t ddddd	ks(J d S )
Ns   foor    ĥr	   H/Tr
       DKm    H^b r   r   r   r   r   test_mmhash3_bytes(      r,   c                   C   r'   )
Nfoor   r(   r	   r)   Tr
   r*   r+   r   r   r   r   r   test_mmhash3_unicode0   r-   r/   c                  C   s6   t  } tdD ]}td| d}|| vsJ dqd S )Nd    r   z'Found collision on growing empty string)setranger   )previous_hashesihr   r   r   test_no_collision_on_byte_range8   s
   r7   c                  C   st   d\} }t j| t jd}t|D ]}|t|dd|    d7  < q|| }t | d|  }t|| t | d d S )N)
   i )dtypeTr
   r   g      ?r   )r   zerosfloat64r3   r   fullr   ones)n_bins	n_samplesbinsr5   meansr%   r   r   r   test_uniform_distribution?   s   rB   )numpyr   numpy.testingr   r   sklearn.utils.murmurhashr   r   r&   r,   r/   r7   rB   r   r   r   r   <module>   s   