
    pg\j                     B    S SK rS SKJr  S SKJrJrJrJr  S r	S r
S rg)    N)SeedSequence)assert_array_compareassert_array_equalassert_raisesassert_raises_regexc                     / SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ S	Q/ S
Q/
n / SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/
nSS/SS/SS/SS/SS/SS /S!S"/S#S$/S%S&/S'S(//
n[        XU5       H  u  p4n[        R                  " U[        R                  S)9n[	        U5      nUR                  [        U5      5      n[        Xt5        UR                  [        U5      [        R                  S)9n[        X5        M     g*)+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   lp i1 cl   ^<1 )i	l   O!p iF6iiM)i(l   NwU i]e+ivp2p)iv(oifl   FN iti)l   m l   -
 i i5)i^wCl   x{ l   9 l   I6; )i|Il   -Ker i|Lir)l   gT<> irT"l   oj l   PJ )l   bI l   xW l   s-_` idf3)l   MR ib"l    n, l   =	 )l   u l   8 iKjQl   b< )l   S( l   E{| iH5lDl   !bJ< )i٦Sl     , ikLi&W)i@l   ;: i>f!l   '4 )l   l l   D i2l   z9e )l   4 l   Kp` l   a$ i^
)i)9l   'tM inpiRp)l   2DZ iAl   DI  i~G)i55l   \| ih
 l   ^r l   MR l    n,swM' l   u2R,` l   KZ"Rq	 l   S(iq l   H5+q l   YM'0 l   k=R l   |D l   >BWP l   l]_ l   ek l   4.A l   a${EPl   `SrP7 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state64s	            `/home/edenadmin/noVNC/venv/lib/python3.13/site-packages/numpy/random/tests/test_seed_sequence.pytest_reference_datar      s+    	6876868877F 	8887777665G 
12	34	34	23	23	34	12	23	01	34I '*&9&E"
88HBII6$!!#h-05+##C
O299#E7/ 'F    c                     [        S5      n [        S5      n[        [        R                  U R	                  S5      UR	                  S5      5        [        R
                  " / SQ[        R                  S9n[        [        S5      R	                  S5      U5        [        [        R                  [        SSS9R	                  S5      U5        g)	zCEnsure that the implicit zero-padding does not cause problems.
    *   l           )l   
 l   m.<> iyl   s* r	   )r   )	spawn_keyN)r   r   r   	not_equalr   r   r   r   )ss0ss1
expected42s      r   test_zero_paddingr&   =   s    
 r
C
x
 C
11 J "		+J|B'66q9:F 
R4(77:r   c                     [        [        5         [        [        S5      5        S S S 5        Sn [        [        U 5         [        SS/SS//5        S S S 5        [        [        U 5         / nUR	                  U5        [        U5        S S S 5        g ! , (       d  f       Nr= f! , (       d  f       NW= f! , (       d  f       g = f)Nr   z.SeedSequence does not accept nested sequences.         r    )r   	TypeErrorr   r   append)	match_strcyclic_seeds     r   )test_seedsequence_rejects_nested_sequencer/   W   s    	y	!\"%& 
"
 AI 
Y		2q!fq!f%& 
3 
Y		2;'[! 
3	2 
"	! 
3	2 
3	2s"   BB")B3
B"
B03
C)numpyr   numpy.randomr   numpy.testingr   r   r   r   r   r&   r/    r   r   <module>r4      s%     % /0d4"r   