
    KhM                     ^   S SK r S SKJr  S SKrS SKrS SKJrJrJ	r	J
r
  S SKrS SKJrJrJrJrJrJrJrJrJr  S SKJr   S SKrSr S SKrSr\R:                  R<                  S:  a  Sr\ R>                  RA                  \ R>                  RC                  \"5      5      r#S	 r$S
 r%S r&S r'S r(S r)S r*S r+S r,S r-S r.S r/S r0S r1 " S S5      r2 " S S\25      r3 " S S\25      r4 " S S\25      r5 " S S \25      r6 " S! S"\25      r7 " S# S$5      r8g! \ a    Sr Nf = f! \ a    Sr Nf = f)%    N)join)assert_equalassert_allcloseassert_array_equalassert_raises)		GeneratorMT19937PCG64	PCG64DXSMPhiloxRandomStateSeedSequenceSFC64default_rng)	interfaceFT   c                     U  Hk  n[        X   [        5      (       a  [        X   X   5        M,  [        X   [        R                  5      (       a  [        X   X   5        M_  X   X   :X  a  Mk   e   g N)
isinstancedictassert_state_equalnpndarrayr   )actualtargetkeys      P/var/www/html/env/lib/python3.13/site-packages/numpy/random/tests/test_direct.pyr   r   '   s\    fk4((v{FK8RZZ00v{FK8;&+---     c                 t    U [         R                  " S5      -	  S-  R                  [         R                  5      $ )N   g      p>)r   uint32astypefloat32)us    r   uint32_to_float32r%   1   s)    "))A,;/77

CCr   c                 x   [         R                  " U 5      n [         R                  " U [         R                  " S5      -	  [         R                  S9n[         R                  " S5      n[         R                  " X-  [         R                  S9n[         R                  " X!/5      R                  5       n[        U5      $ )N    dtype    )r   uint64arrayr!   column_stackravelr%   )xupperlowerjoineds       r   uniform32_from_uint64r3   5   sx    
		!AHHQ"))B-'ryy9EIIj!EHHQYbii0E__e^,224FV$$r   c                     [         R                  " U 5      [         R                  " S5      -	  n [         R                  " U [         R                  " S5      -  5      n [        U 5      $ )N   r*   )r   r+   r!   r%   r/   s    r   uniform32_from_uint53r7   >   sC    
		!		"%A
		!bii
++,AQr   c                     [        U 5      $ r   )r%   r6   s    r   uniform32_from_uint32r9   D   s    Qr   c                 t    US:X  a  [        U 5      $ US:X  a  [        U 5      $ US:X  a  [        U 5      $ [        e)N@   5   r'   )r3   r7   r9   NotImplementedErrorr/   bitss     r   uniform32_from_uintr@   H   s>    rz$Q''	$Q''	$Q''!!r   c                 H    US;   a  [        U 5      $ US:X  a  [        U 5      $ g )N)r;   ?   r<   r'   )uniform_from_uint64uniform_from_uint32r>   s     r   uniform_from_uintrE   S   s,    |"1%%	"1%% 
r   c                 :    U [         R                  " S5      -	  S-  $ )N   g      <)r   r+   r6   s    r   rC   rC   Z   s    2#;<<r   c                     [         R                  " [        U 5      S-  5      n[        S[        U 5      S5       H$  nX   S-	  nXS-      S-	  nUS-  U-   S-  XS-  '   M&     U$ )N   r      r      g      Ag      @C)r   emptylenrange)r/   outiabs        r   rD   rD   ^   sj    
((3q6Q;
C1c!fa DAI!eHM:~)-??F ! Jr   c                 F    U R                  [        R                  5      S-
  $ )N      ?)viewr   doubler6   s    r   uniform_from_dsfmtrW   g   s    66"))s""r   c                    US;   a  [        U 5      nOUS:X  a  [        U 5      nO[        U 5      n/ nSnS=pg[        U5      U:  a  SnUS:  d  US:X  a5  SX5   -  S-
  nSX5S-      -  S-
  nXf-  Xw-  -   nUS-  nUS:  a  M-  US:X  a  M5  [        R
                  " S	[        R                  " U5      -  U-  5      n	UR                  X-  5        UR                  X-  5        [        U5      U:  a  M  US U $ )
N)r;   rB   r'   r           rI   rT   g       @r   g       )rC   rD   rW   rM   r   sqrtlogappend)
r/   nr?   doublesgausslocx1x2r2fs
             r   gauss_from_uintre   k   s   x%a(	%a($Q'E
CMB
e*q.Ci29w|#c)BwQw''#-B27"B1HC	 Ci29 GGD266":%*+QVQV e*q. !9r   c                     SSK Jn JnJn  [	        [        S5      SSS9nUR                  S5        [	        S0 UR                  D6n[        UR                  UR                  5        [        UR                  UR                  5        [        [        U 5        [        [        U5        U" 5       n[        [        UR                  S5        [        UR                  S5      5      S:X  d   eg )Nr   )ISeedSequenceISpawnableSeedSequenceSeedlessSeedSequence
   )r   rI   rK   )	spawn_key	pool_size )numpy.random.bit_generatorrg   rh   ri   r   rN   spawnstater   n_children_spawnedr   	TypeErrorr=   generate_staterM   )rg   rh   ri   s1s2dummys         r   test_seedsequencerw      s    B B 
eBi6Q	?BHHRL		!	!B288$&&(=(=> )]+)34 "E%u';';R@u{{22%%%r   c                  r   [         R                  R                  5       n U R                  R                  nUR                  S5      n[        S5       Vs/ s H  o1R                  U4-   PM     nnU Vs/ s H  oUR                  PM     snU:X  d   eU R                  R                  S5      n[        SS5       Vs/ s H  o1R                  U4-   PM     nnU Vs/ s H  owR                  R                  PM     snU:X  d   eU R                  S5      n[        SS5       Vs/ s H  o1R                  U4-   PM     nnU V s/ s H"  o R                  R                  R                  PM$     n	n X:X  d   eUS   R                  5       US   R                  5       :w  d   egs  snf s  snf s  snf s  snf s  snf s  sn f )z>Test spawning new generators and bit_generators directly.
    rJ   rj      r   r   N)	r   randomr   bit_generatorseed_seqro   rN   rk   uniform)
rngseqnew_ssrP   expected_keyscnew_bgsbgnew_rngs
found_keyss
             r   test_generator_spawningr      sv    ))


!C



$
$CYYq\F388<8a]]aT)8M<!'(AKK(M999%%a(G38B<@<a]]aT)<M@,34GbKK!!G4EEEyy|H38R=A=a]]aT)=MABJK(3##,,66(JK&&& A; HQK$7$7$9999 =( A4 BKs$   F2F 9F%F*F/>)F4c                     SSK Jn    " S S5      nU R                  U5        [        R                  R                  U" 5       5      n[        R                  " [        SS9   UR                  S5        S S S 5        [        R                  " [        SS9   UR                  R                  S5        S S S 5        g ! , (       d  f       NL= f! , (       d  f       g = f)Nr   )rg   c                   4    \ rS rSr\R
                  4S jrSrg),test_non_spawnable.<locals>.FakeSeedSequence   c                 *    [         R                  " XS9$ )Nr(   )r   zeros)selfn_wordsr)   s      r   rs   ;test_non_spawnable.<locals>.FakeSeedSequence.generate_state   s    88G11r   rm   N)__name__
__module____qualname____firstlineno__r   r!   rs   __static_attributes__rm   r   r   FakeSeedSequencer      s    02		 	2r   r   zThe underlying SeedSequence)matchrJ   )rn   rg   registerr   rz   r   pytestraisesrr   ro   r{   )rg   r   r~   s      r   test_non_spawnabler      s    82 2 +,
))

 0 2
3C	y(E	F		! 
G 
y(E	F" 
G	F 
G	F 
G	Fs   B7C7
C
Cc                   .   \ rS rSr\R
                  r0 =rr\	S 5       r
\	S 5       rS rS rS rS rS rS	 rS
 rS rS rS rS rS rS rS r\R6                  R9                  \SS9S 5       r\R6                  R9                  \SS9S 5       r S r!Sr"g)Base   c                     [         U l        SU l        [        R                  U l        [        U l        / U l        / U l	        g )Nr;   )
r
   r{   r?   r   r+   r)   rr   seed_error_typeinvalid_init_typesinvalid_init_valuesclss    r   setup_classBase.setup_class   s4    !II	'!#"$r   c           	         [        U5       nUR                  5       nUR                  S5      nUSS   Vs/ s H  n[        UR	                  5       S5      PM     nn/ nU H>  nUR                  [        UR                  S5      S   R	                  5       S5      5        M@     U[        R                  " XPR                  S9S.sS S S 5        $ s  snf ! , (       d  f       g = f)N,r   r   r(   )seeddata)	openreadlinesplitintstripr\   r   r,   r)   )r   filenamecsvr   sr   lines          r   	_read_csvBase._read_csv   s    (^s<<>D::c?D/3ABx8x!C	1%xD8DC

3 3 9 9 ;Q?@  "((4yy*IJ ^ 9 ^s   )C$CA(CC
Cc                    U R                   " U R                  S   6 nUR                  S5      n[        X R                  S   5        U R                   " U R                  S   6 nUR                  5       n[        X R                  S   S   5        U R                   " U R                  S   6 nUR                  S5      n[        X R                  S   5        g )Nr     r   r   )r{   data1
random_rawr   data2r   r{   uintss      r   test_rawBase.test_raw   s    **DJJv,>?((.UJJv./**DJJv,>?((*UJJv.q12**DJJv,>?((.UJJv./r   c                     U R                   " U R                  S   6 nUR                  SS9nUb   eUR                  SSS9nUb   eg )Nr   F)outputr   )r{   r   r   r   s      r   test_random_rawBase.test_random_raw   sW    **DJJv,>?(((6}}((e(<}}r   c                    Sn[        U R                  " U R                  S   6 5      nUR                  U5      n[	        U[        U R                  S   XR                  5      5        [        U R                  " U R                  S   6 5      nUR                  S5      n[	        U[        U R                  S   XR                  5      5        g )N   r   r   )r   r{   r   standard_normalr   re   r?   r   )r   r]   rsr_   s       r   test_gauss_invBase.test_gauss_inv   s    ++TZZ-?@A""1%'

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

6(:AyyI	Kr   c                 H   [        U R                  " U R                  S   6 5      n[        U R                  S   U R                  5      nUR                  [        U5      5      n[        X25        [        UR                  [        R                  5        [        U R                  " U R                  S   6 5      n[        U R                  S   U R                  5      nUR                  [        U5      5      n[        X25        [        UR                  [        R                  5        g )Nr   r   )r   r{   r   rE   r?   rz   rM   r   r   r)   r   float64r   r   r   valsuniformss       r   test_uniform_double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                 |   [        U R                  " U R                  S   6 5      n[        U R                  S   U R                  5      nUR                  [        U5      [        R                  S9n[        X25        [        UR                  [        R                  5        [        U R                  " U R                  S   6 5      n[        U R                  S   U R                  5      nUR                  [        U5      [        R                  S9n[        X25        [        UR                  [        R                  5        g )Nr   r   r(   )r   r{   r   r@   r?   rz   rM   r   r#   r   r   r)   r   r   s       r   test_uniform_float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                     [        U R                  " U R                  S   6 5      nS[        U5      ;   d   e[	        U5      S R                  5       R                  SS5      [        U5      ;   d   eg Nr   r   z#xXr/   )r   r{   r   repridr0   replacer   r   s     r   	test_reprBase.test_repr  sb    t))4::f+=>?d2h&&&R&##%--c3748CCCr   c                 @   [        U R                  " U R                  S   6 5      nS[        U5      ;   d   e[        U R                  R                  5      [        U5      ;   d   e[        U5      S R                  5       R                  SS5      [        U5      ;  d   eg r   )r   r{   r   strr   r   r0   r   r   s     r   test_strBase.test_str  s    t))4::f+=>?c"g%%%4%%../3r7:::R&##%--c37s2wFFFr   c                    SS K nU R                  " U R                  S   6 nUR                  nUR	                  U5      nUR                  U5      nUR                  n[        [        U5      R                  S5      [        U5      R                  S5      5        X%Ld   e[        Xc5        [        S5      nUR                  UR	                  U5      5      n[        UR                  UR                  5        g )Nr   r   r   d   )pickler{   r   rp   dumpsloadsr   r   r   r   r   r   )	r   r   r{   rp   
bitgen_pklreloadedreloaded_statessaas	            r   test_pickleBase.test_pickle  s    **DJJv,>?##\\-0
<<
+!9]3CCDI$X.>>tD	F,,,>1#\\&,,r*+RXXrxx(r   c                 B   SS K nU R                  " U R                  S   6 nUR                  nUR	                  UR                  U5      5      nUR                  n[        UR                  UR                  5        [        UR                  UR                  5        UR                  R                  S5        UR	                  UR                  U5      5      nUR                  n[        UR                  UR                  5        [        UR                  UR                  5        g )Nr   r   rj   )r   r{   r   r|   r   r   r   rp   poolro   rq   )r   r   r{   r   bg_plkss_plks         r   #test_pickle_preserves_seed_sequence(Base.test_pickle_preserves_seed_sequence-  s     	**DJJv,>?##fll=9:RXXv||,RWWfkk*$$R(fll=9:RXXv||,R**F,E,EFr   c                     U R                   " U R                  S   6 n[        R                  " [        5         S1Ul        S S S 5        g ! , (       d  f       g = f)Nr   1)r{   r   r   r   rr   rp   r   r{   s     r   test_invalid_state_typeBase.test_invalid_state_type?  s=    **DJJv,>?]]9%#&%M &%%s   	A		
Ac                     U R                   " U R                  S   6 nUR                  nSUS'   [        R                  " [
        5         X!l        S S S 5        g ! , (       d  f       g = f)Nr   otherBitGeneratorr{   )r{   r   rp   r   r   
ValueError)r   r{   rp   s      r   test_invalid_state_valueBase.test_invalid_state_valueD  sN    **DJJv,>?##!4o]]:&"' '&&s   A
A&c                     U R                   nU R                   H+  n[        R                  " [        5         U" U6   S S S 5        M-     g ! , (       d  f       M?  = fr   )r{   r   r   r   rr   r   r{   sts      r   test_invalid_init_typeBase.test_invalid_init_typeK  s@    **))By)r" *) *))s   A		
A	c                     U R                   nU R                   H1  n[        R                  " [        [
        45         U" U6   S S S 5        M3     g ! , (       d  f       ME  = fr   )r{   r   r   r   r   OverflowErrorr   s      r   test_invalid_init_valuesBase.test_invalid_init_valuesQ  sE    ****B
M:;r" <; +;;s   A
A	c                    U R                   " U R                  S   6 nUR                  S5        UR                  SS5        [        R                  " [
        5         UR                  SS5        S S S 5        g ! , (       d  f       g = f)Nr   r   rV   int32)r{   r   
_benchmarkr   r   r   r   s     r   test_benchmarkBase.test_benchmarkW  sa    **DJJv,>?  #  H-]]:&$$Q0 '&&s   A66
Bzcffi not available)reasonc                     U R                   " U R                  S   6 nUR                  n[        U[        5      (       d   eUR                  nX2L d   eg Nr   )r{   r   cffir   r   )r   r{   cffi_interfaceother_cffi_interfaces       r   	test_cffiBase.test_cffi^  sQ    **DJJv,>?&++.)4444,11#555r   zctypes not availablec                     U R                   " U R                  S   6 nUR                  n[        U[        5      (       d   eUR                  nX2L d   eg r  )r{   r   ctypesr   r   )r   r{   ctypes_interfaceother_ctypes_interfaces       r   test_ctypesBase.test_ctypesf  sS    **DJJv,>?(//*I6666!.!5!5%999r   c                     U R                   " U R                  S   6 nUR                  nUR                  5       n[	        U[
        5      (       d   e[        X#S   5        [	        US   [        5      (       d   eg )Nr   r   r   )r{   r   rp   __getstate__r   tupler   r   )r   r{   rp   	alt_states       r   test_getstateBase.test_getstaten  sj    **DJJv,>?##!..0	)U++++5A,/)A,5555r   rm   N)#r   r   r   r   r   r+   r)   r   r   classmethodr   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r	  r   markskipifMISSING_CFFIr  MISSING_CTYPESr  r  r   rm   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:6r   r   c                   *    \ rS rSr\S 5       rS rSrg)
TestPhiloxiv  c                 ,   [         U l        SU l        [        R                  U l        U R                  [        [        S5      5      U l	        U R                  [        [        S5      5      U l
        [        U l        / U l        SSS S SS-  S-   4/U l        g )	Nr;   z./data/philox-testset-1.csvz./data/philox-testset-2.csv)r   Nr   r   rI   i  r   )r   r{   r?   r   r+   r)   r   r   pwdr   r   rr   r   r   r   r   s    r   r   TestPhilox.setup_classw  s    "II	MM346	MM346	'!##/tQ#XPQ\8R"Sr   c                     U R                   " U R                  S   6 nUR                  nU R                  US   S   US   S   S9n[        UR                  UR                  5        g )Nr   rp   counterr   )r+  r   )r{   r   rp   r   )r   r{   rp   keyeds       r   test_set_keyTestPhilox.test_set_key  sf    **DJJv,>?##""5>)+D',W~e'< # >=..<r   rm   N)r   r   r   r   r  r   r-  r   rm   r   r   r%  r%  v  s    
T 
T=r   r%  c                   0    \ rS rSr\S 5       rS rS rSrg)	TestPCG64i  c                 ,   [         U l        SU l        [        R                  U l        U R                  [        [        S5      5      U l	        U R                  [        [        S5      5      U l
        [        [        4U l        SS /4S/U l        S/U l        g )Nr;   z./data/pcg64-testset-1.csvz./data/pcg64-testset-2.csvg	@r   Nr'  )r
   r{   r?   r   r+   r)   r   r   r(  r   r   r   rr   r   r   r   r   s    r   r   TestPCG64.setup_class  sv    !II	MM$s,H"IJ	MM$s,H"IJ	)95"(D6)Y!?#('r   c                     [        U R                  " U R                  S   6 5      nUR                  R                  nSnUR                  R	                  U5        UR                  S5      nX!R                  l        UR                  R	                  SS-  U-   5        UR                  S5      nX!R                  l        UR                  R	                  SSS-  -  U-   5        UR                  S5      nXE:X  d   eXe:X  d   eg Nr   l        PAOi_n rj   rI      r   r{   r   rp   advanceintegersr   r   rp   stepval_negval_posval_bigs          r   test_advance_symmetryTestPCG64.test_advance_symmetry      t))4::f+=>?  &&2
  &++b/!&
  C$/++b/!&
  aft!34++b/!!!!!!r   c                    [        U R                  S5      5      nUR                  nUR                  S   nSnUS   U:X  d   eUR                  [	        S S 5       5      5        UR                  S   nSnUS   U:X  d   eg )N   %@
 rp   	   r%4=Kvu1/ c              3   ,   #    U  H
  nS U-  v   M     g7frI   Nrm   .0rP   s     r   	<genexpr>/TestPCG64.test_advange_large.<locals>.<genexpr>       C&B1&B   `   r;   r'   r5   r       rI   r   l	   @H}.|zKLfbe r   r{   rp   r9  sumr   r   pcgrp   initial_stateadvanced_states         r   test_advange_largeTestPCG64.test_advange_large  s    t)).9:		'"?W~...CC&BCCD		'"@W~///r   rm   N	r   r   r   r   r  r   r@  rW  r   rm   r   r   r0  r0        * *"	0r   r0  c                   0    \ rS rSr\S 5       rS rS rSrg)TestPCG64DXSMi  c                 ,   [         U l        SU l        [        R                  U l        U R                  [        [        S5      5      U l	        U R                  [        [        S5      5      U l
        [        [        4U l        SS /4S/U l        S/U l        g )Nr;   z./data/pcg64dxsm-testset-1.csvz./data/pcg64dxsm-testset-2.csvr2  r3  r'  )r   r{   r?   r   r+   r)   r   r   r(  r   r   r   rr   r   r   r   r   s    r   r   TestPCG64DXSM.setup_class  sv    %II	MM$s,L"MN	MM$s,L"MN	)95"(D6)Y!?#('r   c                     [        U R                  " U R                  S   6 5      nUR                  R                  nSnUR                  R	                  U5        UR                  S5      nX!R                  l        UR                  R	                  SS-  U-   5        UR                  S5      nX!R                  l        UR                  R	                  SSS-  -  U-   5        UR                  S5      nXE:X  d   eXe:X  d   eg r6  r8  r;  s          r   r@  #TestPCG64DXSM.test_advance_symmetry  rB  r   c                    [        U R                  S5      5      nUR                  nUR                  nSnUS   S   U:X  d   eUR                  [	        S S 5       5      5        UR                  S   nSnUS   U:X  d   eg )NrD  rE  rp   c              3   ,   #    U  H
  nS U-  v   M     g7frG  rm   rH  s     r   rJ  3TestPCG64DXSM.test_advange_large.<locals>.<genexpr>  rL  rM  rN  l	   oF	[UmO1X9} rQ  rS  s         r   rW   TestPCG64DXSM.test_advange_large  s    t)).9:		?W~g&-777CC&BCCD		'"@W~///r   rm   NrY  rm   r   r   r\  r\    rZ  r   r\  c                   0    \ rS rSr\S 5       rS rS rSrg)TestMT19937i  c                    [         U l        SU l        [        R                  U l        U R                  [        [        S5      5      U l	        U R                  [        [        S5      5      U l
        [        U l        / U l        S/U l        g )Nr'   z./data/mt19937-testset-1.csvz./data/mt19937-testset-2.csvr'  )r	   r{   r?   r   r!   r)   r   r   r(  r   r   r   r   r   r   r   s    r   r   TestMT19937.setup_class  sf    #II	MM$s,J"KL	MM$s,J"KL	(!##('r   c                    [        [        U R                  [        R                  " [        R
                  /5      5        [        [        U R                  [        R                  " [        R
                  * /5      5        [        [        U R                  [        R                  " [        R
                  [        R
                  * /5      5        [        [        U R                  [        R                  " S[        R
                  /5      5        [        [        U R                  [        R
                  /5        [        [        U R                  S[        R
                  /5        g )Nr   )r   rr   r{   r   r,   pi)r   s    r   test_seed_float_array!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                 Z   [        U R                  " U R                  S   6 5      nUR                  nUR                  nUR	                  S5      nUS   US   S   US   S   4nXRl        UR	                  S5      n[        Xd5        US-   nXRl        UR	                  S5      n[        Xd5        g )Nr   i   r{   rp   r   pos)r   rY   )r   r{   r   rp   r:  r   )r   r   r{   rp   desiredtupr   s          r   test_state_tupleTestMT19937.test_state_tuple  s    t))4::f+=>?((##++g&_%uW~e'<W~e$&!W%V%Hn!W%V%r   rm   N)	r   r   r   r   r  r   rk  rq  r   rm   r   r   rf  rf    s    * *A&r   rf  c                   *    \ rS rSr\S 5       rS rSrg)	TestSFC64i  c                 ,   [         U l        SU l        [        R                  U l        U R                  [        [        S5      5      U l	        U R                  [        [        S5      5      U l
        [        [        4U l        SS /4S/U l        S/U l        g )Nr;   z./data/sfc64-testset-1.csvz./data/sfc64-testset-2.csvr2  r3  r'  )r   r{   r?   r   r+   r)   r   r   r(  r   r   r   rr   r   r   r   r   s    r   r   TestSFC64.setup_class   s|    !II	MM235	MM235	)95"(D6)Y!?#('r   c                    SS K nSS Kn[        R                  " / SQ[        R                  S9n[
        R                  R                  [
        R                  R                  [        5      5      S   n[
        R                  R                  USS5      nUR                  U5       nUR                  U5      nS S S 5        [        W[        5      (       d   e[        UR                   S   S   U5        g ! , (       d  f       NB= f)Nr   )l   VoTMQ l   *,!;l   aE]yg    r(   r   zsfc64_np126.pkl.gzrp   )gzipr   r   r,   r+   ospathr   abspath__file__r   r   loadr   r   r   rp   )r   ry  r   expected_state	base_pathpkl_filegzsfcs           r   test_legacy_pickleTestSFC64.test_legacy_pickle  s     ))
 GGMM"''//(";<Q?	77<<	63GHYYx B++b/C ! #u%%%%SYYw'0.A	 ! s   #C11
C?rm   N)r   r   r   r   r  r   r  r   rm   r   r   rt  rt    s    
* 
*Br   rt  c                   &    \ rS rSrS rS rS rSrg)TestDefaultRNGi%  c                 v    SSSSS/44 H,  n[        U6 n[        UR                  [        5      (       a  M,   e   g )Nrm   r   )  r  i.  )r   r   r{   r
   )r   argsrgs      r   	test_seedTestDefaultRNG.test_seed&  s>    'T4L?;Dd#Bb..6666 <r   c                     [        5       n[        U5      nUR                  UL d   e[        U5      nX2L d   eUR                  UL d   eg r   )r   r   r{   )r   r   r  rg2s       r   test_passthroughTestDefaultRNG.test_passthrough+  sM    X_2%%%"oyy  B&&&r   c                    [        S5      n[        U5      n[        UR                  [        5      (       d   eUR                  UR
                  L d   e[        R                  R                  5       n[        S5      n[        R                  R                  U5        [        R                  R                  R                  n[        U5      nUR                  UL d   e[        R                  R                  U5        g )Nr  iT )r   r   r   r{   r	   _bit_generatorr   rz   get_bit_generatorr
   set_bit_generatormtrand_rand)r   r   r  	_originalr   s        r   #test_coercion_RandomState_Generator2TestDefaultRNG.test_coercion_RandomState_Generator3  s    _"**G44442#4#4444 II//1	8_
		##B'YY##_2%%% 			##I.r   rm   N)r   r   r   r   r  r  r  r   rm   r   r   r  r  %  s    7
'/r   r  )9rz  os.pathr   sysnumpyr   numpy.testingr   r   r   r   r   numpy.randomr   r	   r
   r   r   r   r   r   r   numpy.random._commonr   r  r"  ImportErrorr  r#  flagsoptimizer{  dirnamer|  r}  r(  r   r%   r3   r7   r9   r@   rE   rC   rD   rW   re   rw   r   r   r   r%  r0  r\  rf  rt  r  rm   r   r   <module>r     sT   	  
 * *    +LN 99 L 	ggoobggooh/0.D%  "&=#2&&:,#$u6 u6n= =,$0 $0P$0D $0N!&$ !&H#B #BL/ /c  L  Ns$    D D! DD!D,+D,