+
    eiM  c                   sf   ^ RI t ^ RIt^ RIHt ^ RIt^ RIt^ RIHtH	t	H
t
HtHtHtHtHtHt ^ RIHt ^ RIHtHtHtHt  ^ RItRt ^ RItRt]P:                  P<                  ^8  d   Rt] P>                  PA                  ] P>                  PC                  ]"4      4      t#R t$R	 t%R
 t&R t'R t(R t)R t*R t+R t,R t-R t.R t/R t0R t1 ! R R4      t2 ! R R]24      t3 ! R R]24      t4 ! R R]24      t5 ! R R]24      t6 ! R  R!]24      t7 ! R" R#4      t8R#   ] d    Rt Li ; i  ] d    Rt Li ; i)$    N)join)	MT19937PCG64	PCG64DXSMSFC64	GeneratorPhiloxRandomStateSeedSequencedefault_rng)	interface)assert_allcloseassert_array_equalassert_equalassert_raisesFTc                 s   V  Fy  p\        W,          \        4      '       d   \        W,          W,          4       K9  \        W,          \        P                  4      '       g   Ka  \        W,          W,          4       K{  	  R # N)Z
isinstanceZdictassert_state_equalnpZndarrayr   )actualZtargetkeys   && E/usr/lib64/python3.14/site-packages/numpy/random/tests/test_direct.pyr   r   2   sJ    fk4((v{FK8RZZ00v{FK8	     c                 s    V \         P                  ! ^4      ,	          R,          P                  \         P                  4      # )   g      p>)r   uint32Zastypefloat32)Zu   &r   uint32_to_float32r   <   s)    "))A,;/77

CCr   c                 s   \         P                  ! V 4      p \         P                  ! V \         P                  ! ^ 4      ,	          \         P                  R7      p\         P                  ! R4      p\         P                  ! W,          \         P                  R7      p\         P                  ! W!.4      P                  4       p\        V4      # )    dtype    )r   uint64arrayr   Zcolumn_stackZravelr   )xZupperZlowerZjoined   &   r   uniform32_from_uint64r$   @   sx    
		!AHHQ"))B-'ryy9EIIj!EHHQYbii0E__e^,224FV$$r   c                 s    \         P                  ! V 4      \         P                  ! ^4      ,	          p \         P                  ! V \         P                  ! R4      ,          4      p \        V 4      # )   r   )r   r    r   r   r"   r   r   uniform32_from_uint53r'   I   sC    
		!		"%A
		!bii
++,AQr   c                 s    \        V 4      # r   )r   r&   r   r   uniform32_from_uint32r(   O   s    Qr   c                 sz    V^@8X  d   \        V 4      # V^58X  d   \        V 4      # V^ 8X  d   \        V 4      # \        h)@   )r$   r'   r(   NotImplementedErrorr"   bits   &&r   uniform32_from_uintr.   S   s>    rz$Q''	$Q''	$Q''!!r   c                 sN    VR9   d   \        V 4      # V^ 8X  d   \        V 4      # R# )r)   N)r)   ?   i5   )uniform_from_uint64uniform_from_uint32r+   r-   r   uniform_from_uintr2   ^   s,    |"1%%	"1%% 
r   c                 sJ    V \         P                  ! ^4      ,	          R,          # )i   g      <)r   r    r&   r   r   r0   r0   e   s    2#;<<r   c                 s   \         P                  ! \        V 4      ^,          4      p\        ^ \        V 4      ^4       FH  pW,          ^,	          pW^,           ,          ^,	          pVR,          V,           R,          W^,          &   KJ  	  V# )   g      Ag      @C)r   Zemptylenrange)r"   ZoutiZaZb   &    r   r1   r1   i   sj    
((3q6Q;
C1c!fa DAI!eHM:~)-??F ! Jr   c                 sN    V P                  \        P                  4      R ,
          # )      ?)Zviewr   doubler&   r   r   uniform_from_dsfmtr:   r   s    66"))s""r   c                 s2   VR9   d   \        V 4      pMV^ 8X  d   \        V 4      pM\        V 4      p. p^ pR;rg\        V4      V8  d   ^pVR8  g   VR8X  dT   RW5,          ,          R,
          pRW5^,           ,          ,          R,
          pWf,          Ww,          ,           pV^,          pKa  \        P
                  ! R\        P                  ! V4      ,          V,          4      p	VP                  W,          4       VP                  W,          4       K  VRV # )r)           r8   g       @N)r)   r/   g       )r0   r1   r:   r4   r   ZsqrtZlogappend)
r"   nr,   ZdoublesgaussZlocZx1Zx2Zr2Zfs
   &&&       r   gauss_from_uintr?   v   s    x%a(	%a($Q'E
CMB
e*q.Ci29w|#c)BwQw''#-B27"B1HCGGD266":%*+QVQV!9r   c                  s   ^ RI Hp HpHp \	        \        ^
4      R^R7      pVP                  ^
4       \	        R/ VP                  B p\        VP                  VP                  4       \        VP                  VP                  4       \        \        V 4       \        \        V4       V! 4       p\        \        VP                  ^
4       R# )r    )ISeedSequenceISpawnableSeedSequenceSeedlessSeedSequence)	spawn_keyZ	pool_sizeN)   r3    )numpy.random.bit_generatorr@   rA   rB   r	   r5   spawnstater   n_children_spawnedr   	TypeErrorr*   generate_state)r@   rA   rB   Zs1Zs2Zdummys         r   test_seedsequencerL      s      
eBi6Q	?BHHRL		!	!B288$&&(=(=> )]+)34 "E%u';';R@r   c                 sr   \         P                  P                  4       p V P                  P                  pVP                  ^4      p\        ^4       Uu. uF  q1P                  V3,           NK  	  ppV P                  P                  ^4      p\        ^^
4       Uu. uF  q1P                  V3,           NK  	  ppV P                  ^4      p\        ^
^4       Uu. uF  q1P                  V3,           NK  	  ppV U u. uF"  q P                  P                  P                  NK$  	  pp R# u upi u upi u upi u up i )z>Test spawning new generators and bit_generators directly.
    N)r   randomr
   bit_generatorseed_seqrG   r5   rC   )rngZseqZnew_ssr6   Zexpected_keysZnew_bgsZnew_rngsZ
found_keyss           r   test_generator_spawningrQ      s    ))


!C



$
$CYYq\F388<8a]]aT))8M< %%a(G38B<@<a]]aT))<M@ yy|H38R=A=a]]aT))=MABJK(3##,,66(JKJ = A BKs   D%D*D/9(D4c                  s   ^ RI Hp   ! R R4      pV P                  V4       \        P                  P                  V! 4       4      p\        P                  ! \        RR7      ;_uu_ 4        VP                  ^4       RRR4       \        P                  ! \        RR7      ;_uu_ 4        VP                  P                  ^4       RRR4       R#   + '       g   i     LZ; i  + '       g   i     R# ; i)r    )r@   c                   s@   a  ] tR t^t o ]P
                  3R ltRtV tR# ),test_non_spawnable.<locals>.FakeSeedSequencec                s0    \         P                  ! WR 7      # )r   )r   Zzeros)selfZn_wordsr   s   &&&r   rK   Z;test_non_spawnable.<locals>.FakeSeedSequence.generate_state   s    88G11r   rE   N)	__name__
__module____qualname____firstlineno__r   r   rK   __static_attributes____classdictcell__Z__classdict__   @r   FakeSeedSequencerR      s     02		 	2 	2r   r\   zThe underlying SeedSequence)ZmatchN)rF   r@   Zregisterr   rM   r
   pytestraisesrJ   rG   rN   )r@   r\   rP   s      r   test_non_spawnabler_      s    82 2 +,
))

 0 2
3C	y(E	F	F		! 
G 
y(E	F	F" 
G	F 
G	F 
G	F	Fs   *C(C!C	!C2	c                   sF  a  ] tR t^t o ]P
                  t/ ;tt]	R 4       t
]	R 4       tR tR tR tR tR tR tR	 tR
 tR tR tR tR tR tR t]P6                  P9                  ]RR7      R 4       t]P6                  P9                  ]RR7      R 4       t R t!Rt"V t#R# )Basec                s    \         V n        ^@V n        \        P                  V n        \        V n        . V n        . V n	        R# )r)   N)
r   rN   r,   r   r    r   rJ   seed_error_typeinvalid_init_typesinvalid_init_valuesclsr   r   setup_classZBase.setup_class   s4    !II	'!#"$r   c           
     s   \        V4      ;_uu_ 4       pVP                  4       pVP                  R 4      pVR,           Uu. uF  p\        VP	                  4       ^ 4      NK  	  pp. pV FB  pVP                  \        VP                  R 4      R,          P	                  4       ^ 4      4       KD  	  RVR\        P                  ! WPP                  R7      /uuRRR4       # u upi   + '       g   i     R# ; i)Z,:rD   NNseeddatar   N)	openZreadlinesplitZintZstripr<   r   r!   r   )re   ZfilenameZcsvrg   Zsrh   Zlines   &&     r   	_read_csvZBase._read_csv   s    (^^s<<>D::c?D/3Bx8x!C	1%xD8DC

3 3 9 9 ;Q?@ D&"((4yy*IJ ^ 9 ^^s   -C$#C$A0C$C$$C5	c                s   V P                   ! V P                  R ,          !  pVP                  R4      p\        W P                  R,          4       V P                   ! V P                  R ,          !  pVP                  4       p\        W P                  R,          ^ ,          4       V P                   ! V P                  R ,          !  pVP                  R4      p\        W P                  R,          4       R# )rg     rh   N)rN   data1
random_rawr   data2rS   rN   Zuints   &  r   test_rawZBase.test_raw   s    **DJJv,>?((.UJJv./**DJJv,>?((*UJJv.q12**DJJv,>?((.UJJv./r   c                s    V P                   ! V P                  R ,          !  pVP                  RR7      pVP                  RRR7      pR# )rg   F)Zoutputrm   N)rN   rn   ro   rq   rr   r   test_random_rawZBase.test_random_raw   sC    **DJJv,>?(((6((e(<r   c                s   ^p\        V P                  ! V P                  R,          !  4      pVP                  V4      p\	        V\        V P                  R,          WP                  4      4       \        V P                  ! V P                  R,          !  4      pVP                  ^4      p\	        V\        V P                  R,          WP                  4      4       R# )i   rg   rh   N)r   rN   rn   standard_normalr   r?   r,   rp   )rS   r=   rsr>   r#   r   test_gauss_invZBase.test_gauss_inv   s    ++TZZ-?@A""1%'

6(:AyyI	K ++TZZ-?@A""2&'

6(:AyyI	Kr   c                sn   \        V P                  ! V P                  R ,          !  4      p\        V P                  R,          V P                  4      pVP                  \        V4      4      p\        W24       \        VP                  \        P                  4       \        V P                  ! V P                  R ,          !  4      p\        V P                  R,          V P                  4      pVP                  \        V4      4      p\        W24       \        VP                  \        P                  4       R# )rg   rh   N)r   rN   rn   r2   r,   rM   r4   r   r   r   r   Zfloat64rp   rS   rv   ZvalsZuniformsr#   r   test_uniform_doubleZBase.test_uniform_double  s    t))4::f+=>? F!3TYY?99SY''X^^RZZ0t))4::f+=>? F!3TYY?99SY''X^^RZZ0r   c                s   \        V P                  ! V P                  R ,          !  4      p\        V P                  R,          V P                  4      pVP                  \        V4      \        P                  R7      p\        W24       \        VP                  \        P                  4       \        V P                  ! V P                  R ,          !  4      p\        V P                  R,          V P                  4      pVP                  \        V4      \        P                  R7      p\        W24       \        VP                  \        P                  4       R# )rg   rh   r   N)r   rN   rn   r.   r,   rM   r4   r   r   r   r   r   rp   rx   r#   r   test_uniform_floatZBase.test_uniform_float  s    t))4::f+=>?"4::f#5tyyA99SYbjj99'X^^RZZ0t))4::f+=>?"4::f#5tyyA99SYbjj99'X^^RZZ0r   c                Z    \        V P                  ! V P                  R ,          !  4      pR# rg   Nr   rN   rn   rS   rv      & r   	test_reprZBase.test_repr       t))4::f+=>?r   c                r{   r|   r}   r~   r   r   test_strZBase.test_str#  r   r   c                s   ^ RI pV P                  ! V P                  R,          !  pVP                  pVP	                  V4      pVP                  V4      pVP                  p\        \        V4      P                  R4      \        V4      P                  R4      4       \        Wc4       \        ^d4      pVP                  VP	                  V4      4      p\        VP                  VP                  4       R# )r    Nrg   rm   )picklerN   rn   rH   dumpsloadsr   r   ru   r   r	   r   )	rS   r   rN   rH   Z
bitgen_pklZreloadedZreloaded_statessZaas	   &        r   test_pickleZBase.test_pickle)  s    **DJJv,>?##\\-0
<<
+!9]3CCDI$X.>>tD	F 	>1#\\&,,r*+RXXrxx(r   c                sN   ^ RI pV P                  ! V P                  R,          !  pVP                  pVP	                  VP                  V4      4      pVP                  p\        VP                  VP                  4       \        VP                  VP                  4       VP                  P                  ^
4       VP	                  VP                  V4      4      pVP                  p\        VP                  VP                  4       \        VP                  VP                  4       R# )r    Nrg   )r   rN   rn   rO   r   r   r   rH   ZpoolrG   rI   )rS   r   rN   r   Zbg_plkZss_plk   &     r   #test_pickle_preserves_seed_sequenceZ(Base.test_pickle_preserves_seed_sequence:  s     	**DJJv,>?##fll=9:RXXv||,RWWfkk*$$R(fll=9:RXXv||,R**F,E,EFr   c                s    V P                   ! V P                  R ,          !  p\        P                  ! \        4      ;_uu_ 4        R0Vn        RRR4       R#   + '       g   i     R# ; i)rg   Z1N)rN   rn   r]   r^   rJ   rH   rS   rN   r   r   test_invalid_state_typeZBase.test_invalid_state_typeL  sC    **DJJv,>?]]9%%#&%M &%%%s   	AA(	c                s    V P                   ! V P                  R ,          !  pVP                  pRVR&   \        P                  ! \
        4      ;_uu_ 4        W!n        RRR4       R#   + '       g   i     R# ; i)rg   ZotherBitGeneratorrN   N)rN   rn   rH   r]   r^   
ValueError)rS   rN   rH   rr   r   test_invalid_state_valueZBase.test_invalid_state_valueQ  sT    **DJJv,>?##!4o]]:&&"' '&&&s   A&&A7	c                s    V P                   pV P                   F4  p\        P                  ! \        4      ;_uu_ 4        V! V!   R R R 4       K6  	  R #   + '       g   i     KK  ; ir   )rN   rb   r]   r^   rJ   rS   rN   Zstrr   r   test_invalid_init_typeZBase.test_invalid_init_typeX  sF    **))By))r" *) *)))s   AA$c                s    V P                   pV P                   F:  p\        P                  ! \        \
        34      ;_uu_ 4        V! V!   R R R 4       K<  	  R #   + '       g   i     KQ  ; ir   )rN   rc   r]   r^   r   ZOverflowErrorr   rr   r   test_invalid_init_valuesZBase.test_invalid_init_values^  sK    ****B
M:;;r" <; +;;;s   AA*c                s0   V P                   ! V P                  R ,          !  pVP                  ^4       VP                  ^R4       \        P                  ! \
        4      ;_uu_ 4        VP                  ^R4       RRR4       R#   + '       g   i     R# ; i)rg   r9   Zint32N)rN   rn   Z
_benchmarkr]   r^   r   r   r   r   test_benchmarkZBase.test_benchmarkd  sg    **DJJv,>?  #  H-]]:&&$$Q0 '&&&s   'BB	zcffi not available)Zreasonc                x    V P                   ! V P                  R ,          !  pVP                  pVP                  pR# r|   )rN   rn   cffi)rS   rN   Zcffi_interfaceZother_cffi_interfacer#   r   	test_cffiZBase.test_cffik  s2    **DJJv,>?&++,11r   zctypes not availablec                r   r|   )rN   rn   ctypes)rS   rN   Zctypes_interfaceZother_ctypes_interfacer#   r   test_ctypesZBase.test_ctypess  s3    **DJJv,>?(//!.!5!5r   c                s    V P                   ! V P                  R ,          !  pVP                  pVP                  4       p\	        W#^ ,          4       R# r|   )rN   rn   rH   Z__getstate__r   )rS   rN   rH   Z	alt_stater#   r   test_getstateZBase.test_getstate{  s@    **DJJv,>?##!..0	5A,/r   rE   N)$rT   rU   rV   rW   r   r    r   rp   rn   classmethodrf   rl   rs   rt   rw   ry   rz   r   r   r   r   r   r   r   r   r   r]   ZmarkZskipifMISSING_CFFIr   MISSING_CTYPESr   r   rX   rY   rZ   r[   r   r`   r`      s     IIEEE% % K K0
K11D
G)"G$(
(##1 [[-AB6 C6 [[/EF: G:6 6r   r`   c                   6   a  ] tR tRt o ]R 4       tR tRtV tR# )
TestPhiloxi  c                s>   \         V n        ^@V n        \        P                  V n        V P                  \        \        R4      4      V n	        V P                  \        \        R4      4      V n
        \        V n        . V n        RRRR^R,          ^,           3.V n        R# )r)   z./data/philox-testset-1.csvz./data/philox-testset-2.csvNi  )rD   NrD   ri   )r   rN   r,   r   r    r   rl   r   pwdrn   rp   rJ   ra   rb   rc   rd   r   r   rf   ZTestPhilox.setup_class  s    "II	MM346	MM346	'!##/tQ#XPQ\8R"Sr   c                s    V P                   ! V P                  R ,          !  pVP                  pV P                  VR,          R,          VR,          R,          R7      p\        VP                  VP                  4       R# )rg   rH   counterr   )r   r   N)rN   rn   rH   r   )rS   rN   rH   Zkeyedr#   r   test_set_keyZTestPhilox.test_set_key  sf    **DJJv,>?##""5>)+D',W~e'< # >=..<r   rE   N)	rT   rU   rV   rW   r   rf   r   rX   rY   rZ   r[   r   r   r     s#     
T 
T= =r   r   c                   <   a  ] tR tRt o ]R 4       tR tR tRtV t	R# )	TestPCG64i  c                .   \         V n        ^@V n        \        P                  V n        V P                  \        \        R4      4      V n	        V P                  \        \        R4      4      V n
        \        \        3V n        RR.3R.V n        R.V n        R# )r)   z./data/pcg64-testset-1.csvz./data/pcg64-testset-2.csvNg	@rD   Nr   )r   rN   r,   r   r    r   rl   r   r   rn   rp   r   rJ   ra   rb   rc   rd   r   r   rf   ZTestPCG64.setup_class  sv    !II	MM$s,H"IJ	MM$s,H"IJ	)95"(D6)Y!?#('r   c                   \        V P                  ! V P                  R ,          !  4      pVP                  P                  pRpVP                  P	                  V4       VP                  ^
4      pW!P                  n        VP                  P	                  ^^,          V,           4       VP                  ^
4      pW!P                  n        VP                  P	                  ^
^^,          ,          V,           4       VP                  ^
4      pR# rg   Nl        PAOi_n r   rN   rn   rH   advanceintegersrS   rv   rH   ZstepZval_negZval_posZval_big   &      r   test_advance_symmetryZTestPCG64.test_advance_symmetry      t))4::f+=>?  &&2
  &++b/!&
  C$/++b/!&
  aft!34++b/r   c                s    \        V P                  R 4      4      pVP                  pVP                  R,          pRpVP                  \	        R R 4       4      4       VP                  R,          pRpR# )   %@
 rH   	   r%4=Kvu1/ c              3   4   "   T F  p^V,          x  K  	  R# 5ir3   NrE   Z.0r6   r   r   	<genexpr>Z/TestPCG64.test_advange_large.<locals>.<genexpr>       C&B1&B   l	   @H}.|zKLfbe Ni`   r)   r   r%   r   i   r3   rD   r   rN   rH   r   ZsumrS   rv   ZpcgrH   Zinitial_stateZadvanced_stater   r   test_advange_largeZTestPCG64.test_advange_large  s`    t)).9:		'"?CC&BCCD		'"@r   rE   N
rT   rU   rV   rW   r   rf   r   r   rX   rY   rZ   r[   r   r   r     &     * *"	0 	0r   r   c                   r   )TestPCG64DXSMi  c                r   )r)   z./data/pcg64dxsm-testset-1.csvz./data/pcg64dxsm-testset-2.csvNr   r   r   )r   rN   r,   r   r    r   rl   r   r   rn   rp   r   rJ   ra   rb   rc   rd   r   r   rf   ZTestPCG64DXSM.setup_class  sv    %II	MM$s,L"MN	MM$s,L"MN	)95"(D6)Y!?#('r   c                r   r   r   r   r   r   r   Z#TestPCG64DXSM.test_advance_symmetry  r   r   c                s    \        V P                  R 4      4      pVP                  pVP                  pRpVP                  \	        R R 4       4      4       VP                  R,          pRpR# )r   r   c              3   r   r   rE   r   r   r   r   Z3TestPCG64DXSM.test_advange_large.<locals>.<genexpr>  r   r   rH   l	   oF	[UmO1X9} Nr   r   r   r   r   r   Z TestPCG64DXSM.test_advange_large  s[    t)).9:		?CC&BCCD		'"@r   rE   Nr   rZ   r[   r   r   r     r   r   r   c                   r   )TestMT19937i  c                s   \         V n        ^ V n        \        P                  V n        V P                  \        \        R4      4      V n	        V P                  \        \        R4      4      V n
        \        V n        . V n        R.V n        R# )r   z./data/mt19937-testset-1.csvz./data/mt19937-testset-2.csvNr   )r   rN   r,   r   r   r   rl   r   r   rn   rp   r   ra   rb   rc   rd   r   r   rf   ZTestMT19937.setup_class  sf    #II	MM$s,J"KL	MM$s,J"KL	(!##('r   c                s   \        \        V P                  \        P                  ! \        P
                  .4      4       \        \        V P                  \        P                  ! \        P
                  ) .4      4       \        \        V P                  \        P                  ! \        P
                  \        P
                  ) .4      4       \        \        V P                  \        P                  ! ^ \        P
                  .4      4       \        \        V P                  \        P
                  .4       \        \        V P                  ^ \        P
                  .4       R# )r    N)r   rJ   rN   r   r!   Zpi)rS   r   r   test_seed_float_arrayZ!TestMT19937.test_seed_float_array  s    i!3!3RXXruug5FGi!3!3RXXvh5GHi!3!3RXXruuruufo5NOi!3!3RXXq"%%j5IJi!3!3beeW=i!3!3aZ@r   c                s   \        V P                  ! V P                  R ,          !  4      pVP                  pVP                  pVP	                  R4      pVR,          VR,          R,          VR,          R,          3pWRn        VP	                  R4      p\        Wd4       VR,           pWRn        VP	                  R4      p\        Wd4       R# )rg   rN   rH   r   ZposNi   )r    r;   )r   rN   rn   rH   r   r   )rS   rv   rN   rH   ZdesiredZtupr   r   r   test_state_tupleZTestMT19937.test_state_tuple  s    t))4::f+=>?((##++g&_%uW~e'<W~e$&!W%V%Hn!W%V%r   rE   N)
rT   rU   rV   rW   r   rf   r   r   rX   rY   rZ   r[   r   r   r     s'     * *A& &r   r   c                   r   )	TestSFC64i  c                r   )r)   z./data/sfc64-testset-1.csvz./data/sfc64-testset-2.csvNr   r   r   )r   rN   r,   r   r    r   rl   r   r   rn   rp   r   rJ   ra   rb   rc   rd   r   r   rf   ZTestSFC64.setup_class  s|    !II	MM235	MM235	)95"(D6)Y!?#('r   c                s
   ^ RI p^ RIp\        P                  ! . RO\        P                  R7      p\
        P                  P                  \
        P                  P                  \        4      4      ^ ,          p\
        P                  P                  VRR4      pVP                  V4      ;_uu_ 4       pVP                  V4      pRRR4       \        XP                  R,          R,          V4       R#   + '       g   i     L6; i)r    Nr   rh   zsfc64_np126.pkl.gzrH   )l   VoTMQ l   *,!;l   aE]yg i   )gzipr   r   r!   r    ospathrk   abspath__file__r   rj   Zloadr   rH   )rS   r   r   Zexpected_stateZ	base_pathZpkl_fileZgzZsfcs   &       r   test_legacy_pickleZTestSFC64.test_legacy_pickle  s     ))
 GGMM"''//(";<Q?	77<<	63GHYYx  B++b/C ! 	SYYw'0.A	 ! s   2C22D	rE   N)	rT   rU   rV   rW   r   rf   r   rX   rY   rZ   r[   r   r   r     s#     
* 
*B Br   r   c                   s2   a  ] tR tRt o R tR tR tRtV tR# )TestDefaultRNGi1  c                s8    RRRRR.33 F  p\        V!  pK  	  R # )N  i.  rE   r   )r   )r
   )rS   Zargsrgrr   r   	test_seedZTestDefaultRNG.test_seed2  s%    'T4L?;Dd#B <r   c                sF    \        4       p\        V4      p\        V4      pR # r   )r   r
   )rS   bgr   Zrg2r#   r   test_passthroughZTestDefaultRNG.test_passthrough7  s    X_"or   c                s^   \        R 4      p\        V4      p\        P                  P	                  4       p\        R4      p\        P                  P                  V4       \        P                  P                  P                  p\        V4      p\        P                  P                  V4       R# )r   iT N)	r   r
   r   rM   Zget_bit_generatorr   Zset_bit_generatorZmtrandZ_rand)rS   rv   r   Z	_originalr   r7   r   #test_coercion_RandomState_GeneratorZ2TestDefaultRNG.test_coercion_RandomState_Generator?  sv    _
 II//1	8_
		##B'YY##_
 			##I.r   rE   N)	rT   rU   rV   rW   r   r   r   rX   rY   rZ   r[   r   r   r   1  s     7
'/ /r   r   )9r   ZsysZos.pathr   r]   Znumpyr   Znumpy.randomr   r   r   r   r   r   r   r	   r
   Znumpy.random._commonr   Znumpy.testingr   r   r   r   r   r   ZImportErrorr   r   ZflagsZoptimizer   Zdirnamer   r   r   r   r   r$   r'   r(   r.   r2   r0   r1   r:   r?   rL   rQ   r_   r`   r   r   r   r   r   r   rE   r   r   <module>r      sT   	 
   
 
 
 + LN 99 L 	ggoobggooh/0.D%  "&=#2&*:,#$u6 u6n= =,$0 $0N$0D $0N!&$ !&H#B #BL/ /e  L  Ns$    D D$ 	D! D!$	D0/D0