+
    ʇi7N                     f   ^ 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                 .   V  F  p\        W,          \        4      '       d   \        W,          W,          4       K9  \        W,          \        P                  4      '       d   \        W,          W,          4       Ky  W,          W,          8X  d   K  Q h	  R # N)
isinstancedictassert_state_equalnpndarrayr   )actualtargetkeys   && s/Users/max/.openclaw/workspace/postharvest/merge_env/lib/python3.14/site-packages/numpy/random/tests/test_direct.pyr   r   2   s\    fk4((v{FK8RZZ00v{FK8;&+---     c                     V \         P                  ! ^4      ,	          R,          P                  \         P                  4      # )   g      p>)r   uint32astypefloat32)us   &r   uint32_to_float32r$   <   s)    "))A,;/77

CCr   c                    \         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    column_stackravelr$   )xupperlowerjoineds   &   r   uniform32_from_uint64r2   @   sx    
		!AHHQ"))B-'ryy9EIIj!EHHQYbii0E__e^,224FV$$r   c                     \         P                  ! V 4      \         P                  ! ^4      ,	          p \         P                  ! V \         P                  ! R4      ,          4      p \        V 4      # )   r)   )r   r*   r    r$   r.   s   &r   uniform32_from_uint53r6   I   sC    
		!		"%A
		!bii
++,AQr   c                     \        V 4      # r   )r$   r5   s   &r   uniform32_from_uint32r8   O   s    Qr   c                 z    V^@8X  d   \        V 4      # V^58X  d   \        V 4      # V^ 8X  d   \        V 4      # \        h)@   )r2   r6   r8   NotImplementedErrorr.   bitss   &&r   uniform32_from_uintr>   S   s>    rz$Q''	$Q''	$Q''!!r   c                 N    VR9   d   \        V 4      # V^ 8X  d   \        V 4      # R# )r:   N)r:   ?   5   )uniform_from_uint64uniform_from_uint32r<   s   &&r   uniform_from_uintrD   ^   s,    |"1%%	"1%% 
r   c                 J    V \         P                  ! ^4      ,	          R,          # )   g      <)r   r*   r5   s   &r   rB   rB   e   s    2#;<<r   c                    \         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   emptylenrange)r.   outiabs   &    r   rC   rC   i   sj    
((3q6Q;
C1c!fa DAI!eHM:~)-??F ! Jr   c                 N    V P                  \        P                  4      R ,
          # )      ?)viewr   doubler5   s   &r   uniform_from_dsfmtrT   r   s    66"))s""r   c                 2   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:           rQ   g       @N)r:   r@   g       )rB   rC   rT   rJ   r   sqrtlogappend)
r.   nr=   doublesgausslocx1x2r2fs
   &&&       r   gauss_from_uintrb   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                     ^ 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       \        VP                  ^
4      4      ^
8X  g   Q hR# )r   )ISeedSequenceISpawnableSeedSequenceSeedlessSeedSequence)	spawn_key	pool_sizeN)   rH    )numpy.random.bit_generatorrd   re   rf   r   rK   spawnstater   n_children_spawnedr   	TypeErrorr;   generate_staterJ   )rd   re   rf   s1s2dummys         r   test_seedsequencert      s      
eBi6Q	?BHHRL		!	!B288$&&(=(=> )]+)34 "E%u';';R@u{{22%%%r   c                    \         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 Uu. uF  qUP                  NK  	  upV8X  g   Q hV P                  P                  ^4      p\        ^^
4       Uu. uF  q1P                  V3,           NK  	  ppV Uu. uF  qwP                  P                  NK  	  upV8X  g   Q h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 W8X  g   Q hV^ ,          P                  4       V^,          P                  4       8w  g   Q hR# u upi u upi 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_seqrl   rK   rg   uniform)
rngseqnew_ssrM   expected_keyscnew_bgsbgnew_rngs
found_keyss
             r   test_generator_spawningr      s    ))


!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.5F3<F8F=%G(Gc                     ^ 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   )rd   c                   @   a  ] tR t^t o ]P
                  3R ltRtV tR# ),test_non_spawnable.<locals>.FakeSeedSequencec                0    \         P                  ! WR 7      # )r'   )r   zeros)selfn_wordsr(   s   &&&r   rp   ;test_non_spawnable.<locals>.FakeSeedSequence.generate_state   s    88G11r   rj   N)	__name__
__module____qualname____firstlineno__r   r    rp   __static_attributes____classdictcell____classdict__s   @r   FakeSeedSequencer      s     02		 	2 	2r   r   zThe underlying SeedSequence)matchN)rk   rd   registerr   rv   r   pytestraisesro   rl   rw   )rd   r   rz   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                   F  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                    \         V n        ^@V n        \        P                  V n        \        V n        . V n        . V n	        R# )r:   N)
r   rw   r=   r   r*   r(   ro   seed_error_typeinvalid_init_typesinvalid_init_valuesclss   &r   setup_classBase.setup_class   s4    !II	'!#"$r   c           
        \        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),:ri   NNseeddatar'   N)	openreadlinesplitintstriprY   r   r+   r(   )r   filenamecsvr   sr   lines   &&     r   	_read_csv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                   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# )r     r   N)rw   data1
random_rawr   data2r   rw   uintss   &  r   test_rawBase.test_raw   s    **DJJv,>?((.UJJv./**DJJv,>?((*UJJv.q12**DJJv,>?((.UJJv./r   c                    V P                   ! V P                  R ,          !  pVP                  RR7      pVe   Q hVP                  RRR7      pVe   Q hR# )r   F)outputNr   )rw   r   r   r   s   &  r   test_random_rawBase.test_random_raw   sW    **DJJv,>?(((6}}((e(<}}r   c                   ^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# )   r   r   N)r
   rw   r   standard_normalr   rb   r=   r   )r   rZ   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                n   \        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# )r   r   N)r   rw   r   rD   r=   rv   rJ   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                   \        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# )r   r   r'   N)r   rw   r   r>   r=   rv   rJ   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                    \        V P                  ! V P                  R ,          !  4      pR\        V4      9   g   Q h\	        V4      R P                  4       P                  RR4      \        V4      9   g   Q hR# r   r   z#xXr.   N)r   rw   r   repridr/   replacer   r   s   & r   	test_reprBase.test_repr  sb    t))4::f+=>?d2h&&&R&##%--c3748CCCr   c                R   \        V P                  ! V P                  R ,          !  4      pR\        V4      9   g   Q h\        V P                  P                  4      \        V4      9   g   Q h\        V4      R P                  4       P                  RR4      \        V4      9  g   Q hR# r   )r   rw   r   strr   r   r/   r   r   s   & r   test_strBase.test_str#  s    t))4::f+=>?c"g%%%4%%../3r7:::R&##%--c37s2wFFFr   c                   ^ 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       W%Jg   Q h\        Wc4       \        ^d4      pVP                  VP	                  V4      4      p\        VP                  VP                  4       R# )r   Nr   r   )picklerw   r   rm   dumpsloadsr   r   r   r   r   r   )	r   r   rw   rm   
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                N   ^ 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   Nr   )r   rw   r   rx   r   r   r   rm   poolrl   rn   )r   r   rw   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                    V P                   ! V P                  R ,          !  p\        P                  ! \        4      ;_uu_ 4        R0Vn        RRR4       R#   + '       g   i     R# ; i)r   1N)rw   r   r   r   ro   rm   r   rw   s   & r   test_invalid_state_typeBase.test_invalid_state_typeL  sC    **DJJv,>?]]9%%#&%M &%%%s   	AA(	c                    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)r   otherBitGeneratorrw   N)rw   r   rm   r   r   
ValueError)r   rw   rm   s   &  r   test_invalid_state_valueBase.test_invalid_state_valueQ  sT    **DJJv,>?##!4o]]:&&"' '&&&s   A&&A7	c                    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   )rw   r   r   r   ro   r   rw   sts   &  r   test_invalid_init_typeBase.test_invalid_init_typeX  sF    **))By))r" *) *)))s   AA$c                    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   )rw   r   r   r   r   OverflowErrorr   s   &  r   test_invalid_init_valuesBase.test_invalid_init_values^  sK    ****B
M:;;r" <; +;;;s   AA*c                0   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)r   rS   int32N)rw   r   
_benchmarkr   r   r   r   s   & r   test_benchmarkBase.test_benchmarkd  sg    **DJJv,>?  #  H-]]:&&$$Q0 '&&&s   'BB	zcffi not availablereasonc                    V P                   ! V P                  R ,          !  pVP                  p\        V\        4      '       g   Q hVP                  pW2J g   Q hR# r   N)rw   r   cffir   r   )r   rw   cffi_interfaceother_cffi_interfaces   &   r   	test_cffiBase.test_cffik  sQ    **DJJv,>?&++.)4444,11#555r   zctypes not availablec                    V P                   ! V P                  R ,          !  pVP                  p\        V\        4      '       g   Q hVP                  pW2J g   Q hR# r
  )rw   r   ctypesr   r   )r   rw   ctypes_interfaceother_ctypes_interfaces   &   r   test_ctypesBase.test_ctypess  sS    **DJJv,>?(//*I6666!.!5!5%999r   c                   V P                   ! V P                  R ,          !  pVP                  pVP                  4       p\	        V\
        4      '       g   Q h\        W#^ ,          4       \	        V^,          \        4      '       g   Q hR# r
  )rw   r   rm   __getstate__r   tupler   r   )r   rw   rm   	alt_states   &   r   test_getstateBase.test_getstate{  sj    **DJJv,>?##!..0	)U++++5A,/)A,5555r   rj   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   r   r   s   @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                >   \         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  )ri   Nri   r   )r	   rw   r=   r   r*   r(   r   r   pwdr   r   ro   r   r   r   r   s   &r   r   TestPhilox.setup_class  s    "II	MM346	MM346	'!##/tQ#XPQ\8R"Sr   c                    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# )r   rm   counterr   )r(  r   N)rw   r   rm   r   )r   rw   rm   keyeds   &   r   test_set_keyTestPhilox.test_set_key  sf    **DJJv,>?##""5>)+D',W~e'< # >=..<r   rj   N)	r   r   r   r   r  r   r*  r   r   r   s   @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	@ri   Nr$  )r   rw   r=   r   r*   r(   r   r   r%  r   r   r   ro   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                8   \        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WE8X  g   Q hWe8X  g   Q hR# r   Nl        PAOi_n r   rw   r   rm   advanceintegersr   r   rm   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                (   \        V P                  R 4      4      pVP                  pVP                  R,          pRpVR,          V8X  g   Q hVP                  \	        R R 4       4      4       VP                  R,          pRpVR,          V8X  g   Q hR# )   %@
 rm   	   r%4=Kvu1/ c              3   4   "   T F  p^V,          x  K  	  R# 5irH   Nrj   .0rM   s   & r   	<genexpr>/TestPCG64.test_advange_large.<locals>.<genexpr>       C&B1&B   l	   @H}.|zKLfbe N`   r:   r&   r4   r      rH   ri   r   rw   rm   r5  sumr   r   pcgrm   initial_stateadvanced_states   &     r   test_advange_largeTestPCG64.test_advange_large  s    t)).9:		'"?W~...CC&BCCD		'"@W~///r   rj   N
r   r   r   r   r  r   r<  rS  r   r   r   s   @r   r-  r-    &     * *"	0 	0r   r-  c                   <   a  ] tR tRt o ]R 4       tR tR tRtV t	R# )TestPCG64DXSMi  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/pcg64dxsm-testset-1.csvz./data/pcg64dxsm-testset-2.csvNr/  r0  r$  )r   rw   r=   r   r*   r(   r   r   r%  r   r   r   ro   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                8   \        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WE8X  g   Q hWe8X  g   Q hR# r3  r4  r7  s   &      r   r<  #TestPCG64DXSM.test_advance_symmetry  r>  r   c                (   \        V P                  R 4      4      pVP                  pVP                  pRpVR,          R,          V8X  g   Q hVP                  \	        R R 4       4      4       VP                  R,          pRpVR,          V8X  g   Q hR# )r@  rA  rm   c              3   4   "   T F  p^V,          x  K  	  R# 5irC  rj   rD  s   & r   rF  3TestPCG64DXSM.test_advange_large.<locals>.<genexpr>  rH  rI  l	   oF	[UmO1X9} NrJ  rM  rO  s   &     r   rS   TestPCG64DXSM.test_advange_large  s    t)).9:		?W~g&-777CC&BCCD		'"@W~///r   rj   NrU  r   s   @r   rX  rX    rV  r   rX  c                   <   a  ] tR tRt o ]R 4       tR tR tRtV t	R# )TestMT19937i  c                   \         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   rw   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                   \        \        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   ro   rw   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                   \        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# )r   rw   rm   r   posNi   )r   rV   )r   rw   r   rm   r6  r   )r   r   rw   rm   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   rj   N)
r   r   r   r   r  r   rg  rm  r   r   r   s   @r   rb  rb    s'     * *A& &r   rb  c                   6   a  ] tR tRt o ]R 4       tR tRtV tR# )	TestSFC64i  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/sfc64-testset-1.csvz./data/sfc64-testset-2.csvNr/  r0  r$  )r   rw   r=   r   r*   r(   r   r   r%  r   r   r   ro   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                :   ^ 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\        4      '       g   Q h\        VP                   R,          R,          V4       R#   + '       g   i     LN; i)r   Nr'   r   zsfc64_np126.pkl.gzrm   )l   VoTMQ l   *,!;l   aE]yg    )gzipr   r   r+   r*   ospathr   abspath__file__r   r   loadr   r   r   rm   )r   ru  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   2D

D	rj   N)	r   r   r   r   r  r   r  r   r   r   s   @r   rp  rp    s#     
* 
*B Br   rp  c                   p   a  ] tR tRt o R tR t]P                  P                  RR7      R 4       t	Rt
V tR# )	TestDefaultRNGi1  c                |    RRRRR.33 F.  p\        V!  p\        VP                  \        4      '       d   K.  Q h	  R # )N  i.  rj   r   )r  )r   r   rw   r   )r   argsrgs   &  r   	test_seedTestDefaultRNG.test_seed2  s>    'T4L?;Dd#Bb..6666 <r   c                    \        4       p\        V4      pVP                  VJ g   Q h\        V4      pW2J g   Q hVP                  VJ g   Q hR # r   )r	   r   rw   )r   r   r  rg2s   &   r   test_passthroughTestDefaultRNG.test_passthrough7  sM    X_2%%%"oyy  B&&&r   z0np.random.set_bit_generator affects global stater  c                   \        R 4      p\        V4      p\        VP                  \        4      '       g   Q hVP                  VP
                  J g   Q h\        P                  P                  4       p\        R4      p\        P                  P                  V4       \        P                  P                  P                  p\        V4      pVP                  VJ g   Q h\        P                  P                  V4       R# )r  iT N)r
   r   r   rw   r   _bit_generatorr   rv   get_bit_generatorr   set_bit_generatormtrand_rand)r   r   r  	_originalr   s   &    r   #test_coercion_RandomState_Generator2TestDefaultRNG.test_coercion_RandomState_Generator?  s    
 _"**G44442#4#4444 II//1	8_
		##B'YY##_2%%% 			##I.r   rj   N)r   r   r   r   r  r  r   r  thread_unsafer  r   r   r   s   @r   r  r  1  s:     7
' [[A  //r   r  )9rv  sysos.pathr   r   numpyr   numpy.randomr   r   r   r   r   r	   r
   r   r   numpy.random._commonr   numpy.testingr   r   r   r   r  r  ImportErrorr  r   flagsoptimizerw  dirnamerx  ry  r%  r   r$   r2   r6   r8   r>   rD   rB   rC   rT   rb   rt   r   r   r   r"  r-  rX  rb  rp  r  rj   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