o
    Ô­jï  ã                   @   s8   d dl Zd dlmZmZ d dlmZ dd„ Zdd„ ZdS )é    N)Úassert_array_equalÚassert_array_compare)ÚSeedSequencec            	      C   s*  g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d	¢g d
¢g
} g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g
}ddgddgddgddgddgdd gd!d"gd#d$gd%d&gd'd(gg
}t | ||ƒD ],\}}}tj|tjd)�}t|ƒ}| t|ƒ¡}t||ƒ |jt|ƒtjd)�}t||ƒ qfd*S )+z„ Check that SeedSequence generates data the same as the C++ reference.

    https://gist.github.com/imneme/540829265469e673d045
    )l   ï>[= iþÊ­iÎú­ixV4)l   AM5 l   Îl’p i1 cl   ¢^<1 )iÈÎ	l   O!·p iFª6ii¢·M)i(¼žl   NwÛU i]e+ivp2p)iŽv(oi–�fl   ÃFÅN itøæi)l   ºm l   ƒ-³
 i©Õÿ iÔÑ5)i^w¤Cl   Îx{ l    9 l   I6¯; )iã|÷Il   -Ker i½|Li¢µr)l   gT<> irT�"l   o±j l   ³PÊJ )l   Äb¾I l   ÿx¯W l   s-_` idÊf3)l   ÿM©R i¹b"l   Å n, l   Ü=Ó	 )l   ‚u l   Œ8 iKÚjQl   †b< )l   S¨( l   E{| iH5lDl   !bJ< )i•Ù¦Sl   Ç  , i§kôLiÏ&W)i�¾@l   ;: i>f!l   ë'4 )l   l l   DÁ iç‰2l   óz9e )l   Ø4 l   Kpé` l   ˜a$ i^
)i¥à)9l   'tüM iÂËnpi‘Rp)l   ƒ2DZ iAÇl   ¯DI  i~G)i55ªl   Ó\| ih
È l   ^r l   ÿM©Rç l   Å n,swM' l   ‚u2R,` l   KZÕ"Rˆq	 l   S¨(iìq l   H5Ø…+q l   •YM'€0 l   §kè=¹R l   �|íDè l   >ÌB¬WœP l   l]_ l   çeÌkç l   Ø4.A§ l   ˜a${EðPl   ¥`SrœPó7 l   ÂKÝ`EJ‚+ l   ƒ2DZe8N l   ¯DI x;Bl   55T#LsNp l   h
�x!È ©ÚdtypeN)	ÚzipÚnpÚarrayÚuint32r   Úgenerate_stateÚlenr   Úuint64)	ÚinputsÚoutputsÚ	outputs64ÚseedÚexpectedÚ
expected64ÚssÚstateÚstate64© r   úb/var/www/html/CropPilot/venv/lib/python3.10/site-packages/numpy/random/tests/test_seed_sequence.pyÚtest_reference_data   sR   ööö
úr   c                  C   sr   t dƒ} t dƒ}ttj|  d¡| d¡ƒ tjg d¢tjd�}tt dƒ d¡|ƒ ttjt ddd� d¡|ƒ dS )	zD Ensure that the implicit zero-padding does not cause problems.
    é*   l       ¨ é   )l   ·
¨ l   m.<> i¶”ûyl   Üsð* r   )r   )Ú	spawn_keyN)r   r   r   Ú	not_equalr   r	   r
   r   )Úss0Úss1Ú
expected42r   r   r   Útest_zero_padding9   s    ý
ÿýr!   )	Únumpyr   Únumpy.testingr   r   Únumpy.randomr   r   r!   r   r   r   r   Ú<module>   s
    2