
    {Kg	                     L    d dl Zd dlmZmZ d dlmZ d Zd Zd Z	d Z
d Zd	 Zy)
    N)assert_array_almost_equalassert_array_equalmurmurhash3_32c                  L   t        d      dk(  sJ t        dd      dk(  sJ t        dd      dk(  sJ t        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k(  sJ t        ddd
	      dk(  sJ t        ddd
	      dk(  sJ y )N   iq	2r   )seed*   i#UFpositive)r	   r   Tl   #z& r        g/home/alanp/www/video.onchill/myenv/lib/python3.12/site-packages/sklearn/utils/tests/test_murmurhash.pytest_mmhash3_intr      s    !	)))!!$	111!"%444!e,	999!!e4	AAA!"u5DDD!d+y888!!d3y@@@!"t4
BBBr   c                     t         j                  j                  d      } | j                  ddd      j	                  t         j
                        }|j                  d      }dD ]s  }t        j                  |j                  D cg c]  }t        t        |      |       c}      }|j                  |j                        }t        t        ||      |       u dD ]n  }t        j                  |j                  D cg c]  }t        ||d	       c}      }|j                  |j                        }t        t        ||d	      |       p y c c}w c c}w )
Nr
   iziE    )size)r         )r   r
   Tr   )nprandomRandomStaterandintastypeint32reshapearrayflatr   intshaper   )rngkeysr	   kexpecteds        r   test_mmhash3_int_arrayr%      s   
))


#C;;xi;8??ID<<	"D88499M9a^CFD99MN##DJJ/>$5x@ 
 88TYYWY^AtdCYWX##DJJ/>$tDhO 	 N
 Xs   E
<E
c                      t        dd      dk(  sJ t        dd      dk(  sJ t        ddd      dk(  sJ t        ddd      d	k(  sJ y )
Ns   foor    ĥr
   H/Tr       DKm    H^b r   r   r   r   test_mmhash3_bytesr+   )   sZ    &!$
222&"%444&!d3zAAA&"t4
BBBr   c                      t        dd      dk(  sJ t        dd      dk(  sJ t        ddd      dk(  sJ t        ddd      d	k(  sJ y )
Nfoor   r'   r
   r(   Tr   r)   r*   r   r   r   r   test_mmhash3_unicoder.   1   sZ    %#z111%$333%T2j@@@%d3zAAAr   c                  l    t               } t        d      D ]  }t        d|z  d      }|| vrJ d        y )Nd    r   z'Found collision on growing empty string)setranger   )previous_hashesihs      r   test_no_collision_on_byte_ranger7   9   s;    eO3Z37A&'R)RR' r   c                  0   d\  } }t        j                  | t         j                        }t        |      D ]  }|t	        |d      | z  xx   dz  cc<    ||z  }t        j
                  | d| z        }t        ||z  t        j                  |       d       y )N)
   i )dtypeTr   r   g      ?r   )r   zerosfloat64r3   r   fullr   ones)n_bins	n_samplesbinsr5   meansr$   s         r   test_uniform_distributionrC   @   s    "FI88F"**-D9^A-671<7  9EwwvsV|,Heh.Cr   )numpyr   numpy.testingr   r   sklearn.utils.murmurhashr   r   r%   r+   r.   r7   rC   r   r   r   <module>rG      s4   
  G 3CP CBS
Dr   