o
    tBh	                     @   s`   d dl Zd dlmZ d dl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murmurhash3_32)assert_array_almost_equal)assert_array_equalc                   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   z/var/www/html/riverr-enterprise-integrations-main/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_unicode1   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_range9   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   sklearn.utils.murmurhashr   numpy.testingr   r   r   r&   r,   r/   r7   rB   r   r   r   r   <module>   s   