+
    eim  c                   s   ^ 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 ^ RIHtHtHt ]P"                  ! R]P$                  ]P&                  ]P(                  ]P*                  ]P,                  ]P.                  ]P0                  ]P2                  ]P4                  3	R7      R 4       tR tRR	 ltR
 tRR lt ! R R4      t  ! R R] 4      t! ! R R] 4      t" ! R R] 4      t# ! R R] 4      t$ ! R R] 4      t% ! R R] 4      t&R# )    N)partial)MT19937PCG64	PCG64DXSMSFC64	GeneratorPhilox)assert_assert_array_equalassert_equalZmodule)ZscopeZparamsc                 s    V P                   # N)Zparam)Zrequest   &D/usr/lib64/python3.14/site-packages/numpy/random/tests/test_smoke.pydtyper      s     ==    c                 sT   V ! 4       p\        \        P                  ! V4      4       V ! ^
4      p\        VP                  R8H  4       V ! R4      p\        VP                  R8H  4       V ! R4      p\        VP                  R8H  4       V ! RR7      p\        VP                  R8H  4       R# )
   sizeNr   r   r   r   r   r   )   r   )r   npisscalarshape)fZval   & r   params_0r      s    
#CBKK
B%CCII
H+CCII!"
L/CCII%&
.CCII r   c                 s   R p\         P                  ! RR4      p\         P                  ! RR4      P                  R
4      p\         P                  ! RR4      P                  R4      p\         P                  ! RR.4      p\         P                  ! RR4      P                  R4      pV'       d   RpVRVP	                  4       ,          ,          pVRVP	                  4       ,          ,          pVRVP	                  4       ,          ,          pVRVP	                  4       ,          ,          pVRVP	                  4       ,          ,          pV ! V4       V ! VR
R7       V ! V4       V ! V4       V ! V4       V ! V^
R7       V ! VRR7       V ! VRR7       R	# )g      @       @g      (@     Y@g     P@      @      ?g      ?r   Nr   r   )   r   r!   r      )r   arangereshapearraymax)r   boundedabcdeZgs   &&      r   params_1r.      s+   A
		#tA
		#u%%h/A
		#v&&|4A
#sA
		#t$$Z0Aquuwquuwquuwquuwquuw aDahaDaDaDabMagalr   c                 s   R p\        V \        4      '       d+   V  F"  pV\        W,          W,          4      ,          pK$  	  V# \        V 4      \        V4      8w  d!   V\        V 4      \        V4      8H  ,          pV# \        V \        \
        \        P                  34      '       dT   \        V\        \
        \        P                  34      '       d)   \        W4       F  w  rEV\        WE4      ,          pK  	  V# W V8H  ,          pV# )T)	
isinstanceZdict
comp_statetypeZlistZtupler   ZndarrayZzip)state1state2Z	identicalkeyZs1Zs2s   &&    r   r0   r0   @   s    I&$CFK==I   
ff	%T&\T&\11	  VdE2::6
7
7JT5"**-=/ =/&)FBB++I *  	v%%	r   c                 s   Vf(   ^\         P                  P                  ^ ^4      ,           pV P                  V4       V P                  V4       V P                  V\         P                  R7       V P                  V\         P                  R7       V P                  ^ RV\         P                  R7       V P                  ^ RV\         P                  R7       V P                  RV4       V P                  RV\         P                  R7       V P                  V\         P                  R7       V P                  V\         P                  R7       R # )Nr   g      &@   l          )	r   randomZrandintstandard_normalfloat32integersuint64standard_gammafloat64)rgZns   &&r   warmupr?   P   s    y""1b))qqq

+q

+KK7ARYYK/KK7ARYYK/dAdARZZ0IIarzzI"IIarzzI"r   c                   s  a  ] tR t^_t o ]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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"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, t0R- t1R. t2R/ t3R0 t4R1 t5R2 t6R3 t7R4 t8R5 t9R6 t:R7 t;R8 t<R9 t=R: t>R; t?R< t@R= tAR> tBR? tCR@ tDRA tERB tFRC tGRD tHRE tIRF tJRGtKV tLRH# )IRNGc                s   \         V n        R V n        R.V n        \	        V P                  ! V P                  !  4      V n        V P
                  P                  P                  V n        ^@V n        V P                  4        R # N90  
r   bit_generatoradvanceseedr   r>   stateinitial_stateseed_vector_bits_extra_setupZclsr   r   setup_classZRNG.setup_class`   sc     "73,,chh78FF0066!r   c                s    \         P                  ! R R4      V n        \         P                  ! R R4      R,          V n        \         P                  ! R RR4      P	                  R4      V n        \        V n        R# )r   r   Ng{Gz?)N:NNNd   rN   )r   r$   vec_1dvec_2dr%   mat	TypeError
seed_errorrK   r   r   rJ   ZRNG._extra_setupk   sQ    YYsE*
YYsE*73
))C-55jA"r   c                sP    V P                   V P                  P                  n        R # r   )rH   r>   rD   rG   selfr   r   _reset_stateZRNG._reset_stater   s    &*&8&8#r   c                s   \        V P                  4       4      pVP                  P                  pVP                  ^4       VP                  ^4       W!P                  n        VP                  P                  p\	        \        W#4      4       R# )r!   N)r   rD   rG   r8   r   r0   )rU   r>   rG   Z	new_state   &   r   	test_initZRNG.test_initu   sl    t))+,  &&
1
1!&$$**	
5,-r   c                s   V P                   P                  P                  p\        V P                   P                  R 4      '       di   V P                   P                  P	                  V P                  4       \        \        WP                   P                  P                  4      '       * 4       R# V P                   P                  P                  P                  p\        P                  ! RV 24       R# )rE   zAdvance is not supported by N)r>   rD   rG   hasattrrE   r   r0   	__class____name__pytestskip)rU   rG   bitgen_name   &  r   test_advanceZRNG.test_advance~   s    %%++477(()44GG!!))$,,7
5''*?*?*E*EFFG''//99BBKKK6{mDEr   c                s   V P                   P                  P                  p\        V P                   P                  R 4      '       d   V P                   P                  P	                  4       pVP                  p\        \        W4      '       * 4       V P                   P                  R4       WP                   P                  n        V P                   P                  P	                  4       pVP                  p\        \        W54      4       R# V P                   P                  P                  P                  pVR9  d   \        RV 24      h\        P                  ! RV 24       R# )jumpedzno "jumped" in zJump is not supported by Ni. )r   )r>   rD   rG   rY   ra   r   r0   r7   rZ   r[   ZAttributeErrorr\   r]   )rU   rG   Zbit_gen2Zjumped_stateZbit_gen3Zrejumped_stater^      &      r   	test_jumpZRNG.test_jump   s    %%++477(((33ww,,335H#>>L
5778GGNN78*/GG!!'ww,,335H%^^NJ|<=''//99BBK*,${m%DEEKK3K=ABr   c                s    V P                   P                  RR^
R7      p\        \        V4      ^
8H  4       \        VR8  P	                  4       4       \        V^ 8*  P	                  4       4       R#       ?g        r   Ng      )r>   uniformr   lenallrU   Zrr   r   test_uniformZRNG.test_uniform   sN    GGOOD#BO/A"Rar   c                st   V P                   P                  \        P                  ! R.^
,          4      R^
R7      p\	        \        V4      ^
8H  4       \	        VR8  P                  4       4       \	        V^ 8*  P                  4       4       V P                   P                  \        P                  ! R.^
,          4      \        P                  ! R.^
,          4      ^
R7      p\	        \        V4      ^
8H  4       \	        VR8  P                  4       4       \	        V^ 8*  P                  4       4       V P                   P                  R\        P                  ! R.^
,          4      ^
R7      p\	        \        V4      ^
8H  4       \	        VR8  P                  4       4       \	        V^ 8*  P                  4       4       R# rd   )r>   rg   r   r&   r   rh   ri   rj   r   r   test_uniform_arrayZRNG.test_uniform_array   s(   GGOOBHHdVb[13RO@A"RaGGOOBHHdVb[1HHcURZ0r  ;A"RaGGOOD"((C52:"6RO@A"Rar   c                    \        \        V P                  P                  ^
4      4      ^
8H  4       \	        V P                  P                  4       R# r   N)r   rh   r>   r7   r   rT   r   r   test_randomZRNG.test_random   s1    DGGNN2&'2-. r   c                sf    \        \        V P                  P                  ^
4      4      ^
8H  4       R# rn   )r   rh   r>   r8   rT   r   r   test_standard_normal_zigZRNG.test_standard_normal_zig   s#    DGG++B/0B67r   c                rm   rn   )r   rh   r>   r8   r   rT   r   r   test_standard_normalZRNG.test_standard_normal   5    DGG++B/0B67(()r   c           
     s@   \        \        V P                  P                  ^
^
4      4      ^
8H  4       \        \        V P                  P                  \        P
                  ! ^
.^
,          4      ^
4      4      ^
8H  4       \        V P                  P                  4       R# rn   )r   rh   r>   r<   r   r&   r.   rT   r   r   test_standard_gammaZRNG.test_standard_gamma   si    DGG**2r23r9:DGG**288RD2I+>CDJK''(r   c                rm   rn   )r   rh   r>   standard_exponentialr   rT   r   r   test_standard_exponentialZRNG.test_standard_exponential   s5    DGG0045;<--.r   c                s    V P                   P                  ^
RR7      p\        \        V4      ^
8H  4       \	        \        V P                   P                  RR7      4       R# )r   r9   r5   Nr>   rt   r   rh   r   r   rU   Zrandomsr   r   test_standard_exponential_floatZ#RNG.test_standard_exponential_float   sE    ''..r.CG"#55YGHr   c                s    V P                   P                  ^
RRR7      p\        \        V4      ^
8H  4       \	        \        V P                   P                  RRR7      4       R# )r   r9   Zinv)r   ZmethodNrv   rw   r   r   #test_standard_exponential_float_logZ'RNG.test_standard_exponential_float_log   sS    ''..r6; / =G"#55Y %' 	(r   c                rm   rn   )r   rh   r>   Zstandard_cauchyr   rT   r   r   test_standard_cauchyZRNG.test_standard_cauchy   rr   r   c                s    \        \        V P                  P                  ^
^
4      4      ^
8H  4       \	        V P                  P                  4       R# rn   )r   rh   r>   Z
standard_tr.   rT   r   r   test_standard_tZRNG.test_standard_t   s7    DGG&&r2./256##$r   c                s    \        V P                  P                  ^
R4      ^ 8  4       \        V P                  P                  RR4      ^ 8  4       R# )r   r      N)r   r>   ZbinomialrT   r   r   test_binomialZRNG.test_binomial   s>      R(A-.  r*a/0r   c                s    V P                   P                  P                  pV P                   P                  R4      pWP                   P                  n        V P                   P                  R4      p\	        W#8H  4       R# )r#   Nl        )r>   rD   rG   r:   r   )rU   rG   Zint_1Zint_2rW   r   test_reset_stateZRNG.test_reset_state   sY    %%++  '&+#  'r   c                s    \        V P                  4       4      p\        V P                  4       4      p\        \        VP                  P                  VP                  P                  4      '       * 4       R # r   )r   rD   r   r0   rG   rU   r>   rg2r_   r   test_entropy_initZRNG.test_entropy_init   sY    t))+,**,-Jr//55"00668 8 	9r   c                sL   \        V P                  ! V P                  !  4      p\        V P                  ! V P                  !  4      pVP                  4        VP                  4        \	        \        VP                  P                  VP                  P                  4      4       R # r   )r   rD   rF   r7   r   r0   rG   r   r_   r   	test_seedZRNG.test_seed   sm    t))49956**DII67
		


2++1133D3D3J3JKLr   c                sH   \        V P                  ! V P                  !  4      pVP                  4        VP                  P                  pVP                  ^
R7      p\        V P                  4       4      pW$P                  n        VP                  ^
R7      p\        W54       R# )r   r   N)r   rD   rF   r8   rG   r	   rU   r>   rG   Zn1r   Zn2   &     r   test_reset_state_gaussZRNG.test_reset_state_gauss   s    t))49956
  &&R(**,-"'  b )2"r   c                s   \        V P                  ! V P                  !  4      pVP                  ^ R^x\        P
                  R7       VP                  P                  pVP                  ^ R^
\        P
                  R7      p\        V P                  4       4      pW$P                  n        VP                  ^ R^
\        P
                  R7      p\        W54       R# )r    r5   Nr6   )r   rD   rF   r:   r   uint32rG   r	   r   r   r   test_reset_state_uint32ZRNG.test_reset_state_uint32   s    t))49956
Aw2995  &&[[GRryy[9**,-"'\\!Wb		\:2"r   c                sp   \        V P                  ! V P                  !  4      pVP                  R R7       VP                  P                  pVP                  ^
R R7      p\        V P                  4       4      pW$P                  n        VP                  ^
R R7      p\        W58H  P                  4       4       R# )r9   r5   r   r   N)r   rD   rF   r7   rG   r   ri   r   r   r   test_reset_state_floatZRNG.test_reset_state_float  s    t))49956
				"  &&YYBiY0**,-"'ZZRyZ1 !r   c                    \         P                  ! ^^ R4      pV P                  P                  V4      p\	        W8g  P                  4       4       R# i   Nrf   r   r$   r>   Zpermutationr   anyrU   ZoriginalZpermutedr_   r   test_shuffleZRNG.test_shuffle  <    99S!R(77&&x0%**,-r   c                r   r   r   r   r_   r   test_permutationZRNG.test_permutation  r   r   c                sZ   V P                   P                  R R ^
4      p\        \        V4      ^
8H  4       V P                   P                  \        P
                  ! R .^
,          4      R 4      p\        \        V4      ^
8H  4       V P                   P                  R \        P
                  ! R .^
,          4      4      p\        \        V4      ^
8H  4       V P                   P                  \        P
                  ! R .^
,          4      \        P
                  ! R .^
,          4      4      p\        \        V4      ^
8H  4       V P                   P                  \        P
                  ! R .^
,          4      \        P
                  ! R ..^
,          4      4      p\        VP                  R8H  4       R# )r   Nr   )r>   Zbetar   rh   r   r&   r   rU   Zvalsr   r   	test_betaZRNG.test_beta  s   ww||Cb)D	R ww||BHHcURZ0#6D	R ww||C3%"*!56D	R ww||BHHcURZ0"((C52:2FGD	R ww||BHHcURZ0"((SE7R<2HI

h&'r   c                sj    V P                   P                  ^
4      p\        \        V4      ^
8H  4       R# rn   )r>   Zbytesr   rh   r   r   r   
test_bytesZRNG.test_bytes#  s$    ww}}R D	R r   c                    V P                   P                  R ^
4      p\        \        V4      ^
8H  4       \	        V P                   P                  4       R# r   N)r>   Z	chisquarer   rh   r.   r   r   r   test_chisquareZRNG.test_chisquare'  s:    ww  b)D	R ""#r   c                r   r   )r>   exponentialr   rh   r.   r   r   r   test_exponentialZRNG.test_exponential,  s:    ww""3+D	R $$%r   c                sn    V P                   P                  ^R^
4      p\        \        V4      ^
8H  4       R#    r|   N)r>   r   r   rh   r   r   r   test_fZ
RNG.test_f1  s(    wwyyD"%D	R r   c                sn    V P                   P                  ^^^
4      p\        \        V4      ^
8H  4       R# )r   N)r>   Zgammar   rh   r   r   r   
test_gammaZRNG.test_gamma5  s(    ww}}Q2&D	R r   c                s    V P                   P                  R ^
4      p\        \        V4      ^
8H  4       \	        V P                   P
                  RR7       R# )r    Tr(   N)r>   Z	geometricr   rh   r.   r   r   r   r   test_geometricZRNG.test_geometric9  s<    ww  b)D	R $$d3r   c                n    V P                   P                  R R ^
4      p\        \        V4      ^
8H  4       R# r   )r>   Zgumbelr   rh   r   r   r   test_gumbelZRNG.test_gumbel>  s(    ww~~c3+D	R r   c                r   r   )r>   Zlaplacer   rh   r   r   r   test_laplaceZRNG.test_laplaceB  s(    wwsC,D	R r   c                r   r   )r>   Zlogisticr   rh   r   r   r   test_logiticZRNG.test_logiticF  s*    wwS"-D	R r   c                l    V P                   P                  R ^
4      p\        \        V4      ^
8H  4       R# )r    N)r>   Z	logseriesr   rh   r   r   r   test_logseriesZRNG.test_logseriesJ  s(    ww  b)D	R r   c                n    V P                   P                  ^
R^
4      p\        \        V4      ^
8H  4       R# r   皙?N)r>   Znegative_binomialr   rh   r   r   r   test_negative_binomialZRNG.test_negative_binomialN  s*    ww((S"5D	R r   c                sn    V P                   P                  ^
^^
4      p\        \        V4      ^
8H  4       R# rn   )r>   Znoncentral_chisquarer   rh   r   r   r   test_noncentral_chisquareZRNG.test_noncentral_chisquareR  s*    ww++B26D	R r   c                sP   V P                   P                  ^R^^
4      p\        \        V4      ^
8H  4       V P                   P                  \        P
                  ! ^.^
,          4      R^4      p\        \        V4      ^
8H  4       V P                   P                  ^\        P
                  ! R.^
,          4      ^4      p\        \        V4      ^
8H  4       V P                   P                  ^R\        P
                  ! ^.^
,          4      4      p\        \        V4      ^
8H  4       R# r   )r>   Znoncentral_fr   rh   r   r&   r   r   r   test_noncentral_fZRNG.test_noncentral_fV  s    ww##AtQ3D	R ww##BHHaS2X$6a@D	R ww##Arxx'<a@D	R ww##AtRXXqcBh-?@D	R r   c                r   r   )r>   Znormalr   rh   r   r   r   test_normalZRNG.test_normal`  s(    ww~~b#r*D	R r   c                r   )r   N)r>   Zparetor   rh   r   r   r   test_paretoZRNG.test_paretod  s&    ww~~c2&D	R r   c                sF   V P                   P                  ^
^
4      p\        \        V4      ^
8H  4       V P                   P                  \        P
                  ! ^
.^
,          4      4      p\        \        V4      ^
8H  4       \        V P                   P                  4       R# rn   )r>   Zpoissonr   rh   r   r&   r.   r   r   r   test_poissonZRNG.test_poissonh  sg    wwr2&D	R wwrxxr	23D	R !r   c                r   )r   N)r>   Zpowerr   rh   r   r   r   
test_powerZRNG.test_powero  s&    ww}}S"%D	R r   c                sn    V P                   P                  ^
^^
4      p\        \        V4      ^
8H  4       R# rn   )r>   r:   r   rh   r   r   r   test_integersZRNG.test_integerss  s*    wwB+D	R r   c                s    V P                   P                  R ^
4      p\        \        V4      ^
8H  4       \	        V P                   P                  RR7       R# )r   Tr   N)r>   Zrayleighr   rh   r.   r   r   r   test_rayleighZRNG.test_rayleighw  s<    wwR(D	R !!40r   c                r   r   )r>   Zvonmisesr   rh   r   r   r   test_vonmisesZRNG.test_vonmises|  s*    wwC,D	R r   c                r   re   N)r>   Zwaldr   rh   r   r   r   	test_waldZRNG.test_wald  s(    ww||Cb)D	R r   c                r   r   )r>   Zweibullr   rh   r   r   r   test_weibullZRNG.test_weibull  s&    wwsB'D	R r   c                s   V P                   P                  ^
^
4      p\        \        V4      ^
8H  4       V P                   P                  V P                  4      p\        \        V4      ^d8H  4       V P                   P                  V P
                  4      p\        VP                  R8H  4       V P                   P                  V P                  4      p\        VP                  R8H  4       R# )r   N)r!   rN   rM   )r>   Zzipfr   rh   rO   rP   r   rQ   r   r   r   	test_zipfZRNG.test_zipf  s    ww||B#D	R ww||DKK(D	S !ww||DKK(

h&'ww||DHH%

j()r   c                s    V P                   P                  ^^^4      p\        \        P                  ! V4      4       V P                   P                  \        P
                  ! ^.^
,          4      ^^4      p\        VP                  R8H  4       R# )i   Nr   )r>   Zhypergeometricr   r   r   r&   r   r   r   r   test_hypergeometricZRNG.test_hypergeometric  sc    ww%%b"b1D!"ww%%bhhtby&92rB

e#$r   c                s    V P                   P                  R^ ^4      p\        \        P                  ! V4      4       V P                   P                  R\        P
                  ! ^ .^
,          4      ^4      p\        VP                  R8H  4       R# )r   Nir   )r>   Z
triangularr   r   r   r&   r   r   r   r   test_triangularZRNG.test_triangular  sc    ww!!"a+D!"ww!!"bhhsRx&8!<

e#$r   c                s   ^ ^ .p^^ .^ ^d..pV P                   P                  WR4      p\        VP                  R8H  4       V P                   P                  WR4      p\        VP                  R8H  4       V P                   P                  WR4      p\        VP                  R8H  4       \        WE8g  P	                  4       4       R# )r      N)r   r#   )r>   Zmultivariate_normalr   r   r   )rU   ZmeanZcovZxZx_zigZx_invr   r   test_multivariate_normalZRNG.test_multivariate_normal  s    1v1v3x GG''489$%++Dt<9$%++Dt<9$%$$&'r   c                s    V P                   P                  ^dRR.4      p\        VP                  R8H  4       V P                   P                  ^dRR.^
R7      p\        VP                  R8H  4       R# )rN   r   NgUUUUUU?gUUUUUU?)r#   r"   )r>   Zmultinomialr   r   r   r   r   test_multinomialZRNG.test_multinomial  s_    ww""3'(:;

d"#ww""3'(:"D

g%&r   c                sn    V P                   P                  R^4      p\        VP                  R8H  4       R# )r   N)r   r   r   )i   r   )r>   Z	dirichletr   r   )rU   Zsr   r   test_dirichletZRNG.test_dirichlet  s)    GGj"-7"#r   c                s   \         P                  ! V P                  4      p\         P                  ! V4      p\	        \        V P                  4      \        V4      8H  4       \	        \        V P                  P                  P                  VP                  P                  4      4       \         P                  ! V P                  4      p\         P                  ! V4      p\	        \        V P                  4      \        V4      8H  4       \	        \        V P                  P                  P                  VP                  P                  4      4       R # r   )	pickleZdumpsr>   Zloadsr   r1   r0   rD   rG   )rU   ZpickZunpickr_   r   test_pickleZRNG.test_pickle  s    ||DGG$d#TWWf-.
4770066!//557 	8 ||DGG$d#TWWf-.
4770066!//557 	8r   c                s   V P                   f0   V P                  P                  p\        P                  ! RV 24       V P                   ^ 8X  d   \
        P                  pM\
        P                  p\
        P                  ! ^.VR7      pV P                  V4      pVP                  pV P                  ^4      pVP                  p\        \        WV4      4       \
        P                  ! ^VR7      pV P                  V4      pVP                  pV P                  V^ ,          4      pVP                  p\        \        WV4      '       * 4       \
        P                  ! RVR7      pV P                  V4      pVP                  pV P                  V^ ,          4      pVP                  p\        \        WV4      '       * 4       ^\
        P                  ! \
        P                  ! RVR7      V P                   ^,
          4      ,          ^,           pV P                  V4      pVP                  pV P                  V^ ,          4      pVP                  p\        \        WV4      '       * 4       R # )Nz#Vector seeding is not supported by r5   i  )rI   rD   r[   r\   r]   r   r   r;   r&   rG   r   r0   r$   Zmod)rU   r^   r   rF   Zbgr2   r3   rb   r   test_seed_arrayZRNG.test_seed_array  s     (,,55KKK=k]KL  B&IIEIIExx5)%"
6*+yy%(%Q(Jv../yyU+%Q(Jv../BFF299T700146 689:%Q(Jv../r   c                s@   \        V P                  R 4      4      p\        V4       VP                  P                  pVP	                  ^\
        P                  R7      p\        V P                  4       4      p\        V4       W$P                  n        VP	                  ^\
        P                  R7      p\        W54       \        VP                  \
        P                  4       \        \        VP                  P                  VP                  P                  4      4       R# )rB   r5   N)r   rD   r?   rG   r7   r   r9   r	   r
   r   r   r0   rU   r>   rG   Zr1r   Zr2r   r   test_uniform_floatZRNG.test_uniform_float  s    t))%01r
  &&YYrY,**,-s"'ZZ"**Z-2"RXXrzz*
2++1133D3D3J3JKLr   c                sB   \        V P                  4       4      p\        V4       VP                  P                  pVP	                  R ^\
        P                  R7      p\        V P                  4       4      p\        V4       W$P                  n        VP	                  R ^\
        P                  R7      p\        W54       \        VP                  \
        P                  4       \        \        VP                  P                  VP                  P                  4      4       R# )g      @r5   N)r   rD   r?   rG   r<   r   r9   r	   r
   r   r   r0   r   r   r   test_gamma_floatsZRNG.test_gamma_floats  s    t))+,r
  &&sBbjj9**,-s"'Rrzz:2"RXXrzz*
2++1133D3D3J3JKLr   c                >   \        V P                  4       4      p\        V4       VP                  P                  pVP	                  ^\
        P                  R7      p\        V P                  4       4      p\        V4       W$P                  n        VP	                  ^\
        P                  R7      p\        W54       \        VP                  \
        P                  4       \        \        VP                  P                  VP                  P                  4      4       R# i   r5   Nr   rD   r?   rG   r8   r   r9   r	   r
   r   r   r0   r   r   r   test_normal_floatsZRNG.test_normal_floats       t))+,r
  &&"**5**,-s"'  2:: 62"RXXrzz*
2++1133D3D3J3JKLr   c                r   r   r   r   r   r   test_normal_zig_floatsZRNG.test_normal_zig_floats  r   r   c                s   V P                   pVP                  P                  pRp\        P                  ! V4      pW!P                  n        VP                  VR7       W!P                  n        VP                  VR7      p\        WT4       \        P                  ! V4      pW!P                  n        VP                  WfP                  R7       \        P                  ! V\        P                  R7      pW!P                  n        VP                  V\        P                  R7       W!P                  n        VP                  V\        P                  R7      p\        WT4       R# )	   outr   )r   r   r5   r   r   r   Nr   i   ia   )	r>   rD   rG   r   emptyr8   r
   r   r9   )rU   r>   rG   r   existingdirectZsizedrb   r   test_output_fillZRNG.test_output_fill  s   WW  &&88D>!&
x(!&###.V&!&
u;;788D

3!&
xrzz:!&##RZZ#@V&r   c                >   V P                   pVP                  P                  pRp\        P                  ! V4      pW!P                  n        VP                  VR7       W!P                  n        VP                  VR7      p\        WT4       \        P                  ! V\        P                  R7      pW!P                  n        VP                  V\        P                  R7       W!P                  n        VP                  V\        P                  R7      p\        WT4       R# r   r   r   r5   r   r   Nr   )r>   rD   rG   r   r   r7   r
   r9   rU   r>   rG   r   r   r   r   r   test_output_filling_uniformZRNG.test_output_filling_uniform0  s    WW  &&88D>!&
		h	!&%V&88D

3!&
		hbjj	1!&BJJ7V&r   c                r   r   )r>   rD   rG   r   r   rt   r
   r9   r   r   r   test_output_filling_exponentialZ#RNG.test_output_filling_exponentialB  s    WW  &&88D>!&
H-!&((d(3V&88D

3!&
HBJJ?!&((d"**(EV&r   c                sF   V P                   pVP                  P                  pRp\        P                  ! V4      pW!P                  n        VP                  RVR7       W!P                  n        VP                  RVR7      p\        WT4       \        P                  ! V\        P                  R7      pW!P                  n        VP                  RV\        P                  R7       W!P                  n        VP                  RV\        P                  R7      p\        WT4       R# )	r   re   r   r   r5   r   r   Nr   )r>   rD   rG   r   zerosr<   r
   r9   r   r   r   test_output_filling_gammaZRNG.test_output_filling_gammaT  s    WW  &&88D>!&
#8,!&""3T"2V&88D

3!&
#82::>!&""3T"DV&r   c                sx   V P                   pVP                  P                  pR	p\        P                  ! R4      R,           p\        P
                  ! V4      pW!P                  n        VP                  WER7       W!P                  n        VP                  WCR7      p\        We4       \        P
                  ! V\        P                  R7      pW!P                  n        VP                  WE\        P                  R7       W!P                  n        VP                  WC\        P                  R7      p\        We4       R# )
r   g     @X@re   r   r   r5   r   r   Nr   )	r>   rD   rG   r   r$   r   r<   r
   r9   )rU   r>   rG   r   Zmur   r   rb   r   #test_output_filling_gamma_broadcastZ'RNG.test_output_filling_gamma_broadcastf  s    WW  &&YYt_s"88D>!&
"+!&""2"1V&88D

3!&
""**=!&""2

"CV&r   c                sf   V P                   pRp\        P                  ! V4      p\        P                  ! \
        4      ;_uu_ 4        VP                  V\        P                  R7       RRR4       \        P                  ! \        4      ;_uu_ 4        VP                  VR,          R7       RRR4       \        P                  ! V\        P                  R7      p\        P                  ! \
        4      ;_uu_ 4        VP                  V\        P                  R7       RRR4       \        P                  ! V\        P                  R7      p\        P                  ! \
        4      ;_uu_ 4        VP                  RV\        P                  R7       RRR4       \        P                  ! \        4      ;_uu_ 4        VP                  RVR,          \        P                  R7       RRR4       \        P                  ! V\        P                  R7      p\        P                  ! \
        4      ;_uu_ 4        VP                  RV\        P                  R7       RRR4       \        P                  ! \        4      ;_uu_ 4        VP                  RVR,          R7       RRR4       R#   + '       g   i     ELH; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL[; i  + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     R# ; i)r   r   N:NNr   r   r5   re   r   )r>   r   r   r\   raisesrR   r8   r9   
ValueErrorr=   r   r<   )rU   r>   r   r   rW   r   test_output_fill_errorZRNG.test_output_fill_errory  s   WW88D>]]9%%82::> &]]:&&8C=1 '88D

3]]9%%82::> & 88D

3]]9%%cxrzzB &]]:&&cx}BJJG '88D

3]]9%%cxrzzB &]]:&&cx}5 '&! &%%&&& &%% &%%&&& &%&&&sT   "J(J<="K/#K$<*K86#LL(J9	<K	K!	$K5	8L		L	L0	c                s   V\         P                  8X  d   ^p^ pM>\         P                  ! V4      p\        VP                  4      ^,           pVP
                  pV P                  4        V P                  P                  W2.^
,          VR7      pV P                  4        V P                  P                  V.^
,          W!R7      p\        WV4       V P                  4        V P                  P                  W2^
VR7      p\        WW4       V P                  4        V P                  P                  \         P                  ! V.^
,          4      \         P                  ! V.\        R7      ^
VR7      p\        WX4       V P                  4        V P                  P                  \         P                  ! V.^
,          4      \         P                  ! V.^
,          4      ^
VR7      p	\        WY4       V P                  4        V P                  P                  ^ V^
VR7      pV P                  4        V P                  P                  V.^
,          VR7      p\        WV4       R# )r#   r5   r   N)r   booliinfointr'   minrV   r>   r:   r
   r&   Zobject)
rU   r   upperlowerinfor)   r*   r+   r,   r-   s
   &&        r   test_integers_broadcastZRNG.test_integers_broadcast  s   BGGEE88E?DMA%EHHEGGUGbL>GGeWr\5>QGGU%@QGGRXXGbL88UG6:   	QGGHHeWr\"BHHeWr\$:   	QGGQBe<GGeWr\7Qr   c                s,   \         P                  ! ^.4      p\         P                  ! ^ .4      pV P                  P                  W2VR7      pV P                  P                  V^ ,          W!R7      pV P                  P                  W2^ ,          VR7      pR# )r!   r5   N)r   r&   r>   r:   )rU   r   ZhighZlowr      &&   r   test_integers_numpyZRNG.test_integers_numpy  sw    xx}hhsmggs6 ggs1vt9 ggsG59r   c                s   V\         P                  8X  d   ^p^ pM>\         P                  ! V4      p\        VP                  4      ^,           pVP
                  p\        P                  ! \        4      ;_uu_ 4        V P                  P                  W2^,           .^
,          VR7       RRR4       \        P                  ! \        4      ;_uu_ 4        V P                  P                  V^,
          V.^
,          VR7       RRR4       \        P                  ! \        4      ;_uu_ 4        V P                  P                  V^,
          .V.^
,          VR7       RRR4       \        P                  ! \        4      ;_uu_ 4        V P                  P                  ^ .^ .VR7       RRR4       R#   + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)r#   r5   N)r   r   r   r   r'   r   r\   r   r   r>   r:   )rU   r   r   r   r   r   r   test_integers_broadcast_errorsZ"RNG.test_integers_broadcast_errors  s>   BGGEE88E?DMA%EHHE]]:&&GGUQYK"$4EB ']]:&&GGUQY"EB ']]:&&GGeai[5'B,eD ']]:&&GGaS1#U3 '& '&&&&&&&&&s0   ;-F..G*/G!G(.F?	G	G%	(G9	 N)Mr[   
__module____qualname____firstlineno__classmethodrL   rJ   rV   rX   r`   rc   rk   rl   ro   rp   rq   rs   ru   rx   ry   rz   r{   r}   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   __static_attributes____classdictcell__Z__classdict__   @r   r@   r@   _   s      # #9.FC"  !8*)
/I(*%1 9M##".
.

(!$
&
!!4
!!!!!!!!!"!!1
!!!*%%	('$8$0LMMMM','$'$'$'&6.B!4 4r   r@   c                   s6   a  ] tR tRt o ]R 4       tR tRtV tR# )TestMT19937i  c                s   \         V n        R V n        R.V n        \	        V P                  ! V P                  !  4      V n        V P
                  P                  P                  V n        ^ V n        V P                  4        \        V n        R # )Ni! ! )r   rD   rE   rF   r   r>   rG   rH   rI   rJ   r   rS   rK   r   r   rL   ZTestMT19937.setup_class  si    #233,,chh78FF0066!#r   c                s   \         P                  P                  4       pVP                  ^c4       VP	                  4       pW P
                  P                  n        V P
                  P                  P                  p\        V^,          VR,          R,          8H  P                  4       4       \        V^,          VR,          R,          8H  4       R# )ic   rG   r4   ZposN)
r   r7   ZRandomStater8   Z	get_stater>   rD   rG   r   ri   )rU   ZnprgrG   r3   rW   r   test_numpy_stateZTestMT19937.test_numpy_state  s    yy$$&R  &+#&&,,qVG_U3388:;aF7OE223r   r   N)	r[   r   r   r   r   rL   r   r   r   r   r   r   r   r     s!     $ $4 4r   r   c                   0   a  ] tR tRt o ]R 4       tRtV tR# )
TestPhiloxi  c                   \         V n        RV n        R.V n        \	        V P                  ! V P                  !  4      V n        V P
                  P                  P                  V n        ^@V n        V P                  4        R# r#   rB   Nl         )
r   rD   rE   rF   r   r>   rG   rH   rI   rJ   rK   r   r   rL   ZTestPhilox.setup_class  sa    "/73,,chh78FF0066!r   r   Nr[   r   r   r   r   rL   r   r   r   r   r   r   r           r   r   c                   r   )	TestSFC64i  c                s   \         V n        R V n        R.V n        \	        V P                  ! V P                  !  4      V n        V P
                  P                  P                  V n        ^V n        V P                  4        R # rA   )
r   rD   rE   rF   r   r>   rG   rH   rI   rJ   rK   r   r   rL   ZTestSFC64.setup_class  sa    !73,,chh78FF0066"r   r   Nr   r   r   r   r   r     r   r   r   c                   r   )	TestPCG64i  c                r   r   rC   rK   r   r   rL   ZTestPCG64.setup_class  sa    !/73,,chh78FF0066!r   r   Nr   r   r   r   r   r     r   r   r   c                   r   )TestPCG64DXSMi
  c                r   r   )
r   rD   rE   rF   r   r>   rG   rH   rI   rJ   rK   r   r   rL   ZTestPCG64DXSM.setup_class  sa    %/73,,chh78FF0066!r   r   Nr   r   r   r   r   r   
  r   r   r   c                   s<   a  ] tR tRt o ]R 4       tR tR tRtV t	R# )TestDefaultRNGi  c                s   \         V n        RV n        R.V n        \        P
                  P                  ! V P                  !  V n        V P                  P                  P                  V n	        ^@V n
        V P                  4        R# r   )r   rD   rE   rF   r   r7   default_rngr>   rG   rH   rI   rJ   rK   r   r   rL   ZTestDefaultRNG.setup_class  sb     "/7&&1FF0066!r   c                s`    \        \        V P                  P                  \        4      4       R # r   )r   r/   r>   rD   r   rT   r   r   test_default_is_pcg64Z$TestDefaultRNG.test_default_is_pcg64#  s     	
47700%89r   c                s   \         P                  P                  4        \         P                  P                  R 4       \         P                  P                  R4       \         P                  P                  ^ 4       \         P                  P                  R4       \         P                  P                  RR.4       \        P                  ! \
        4      ;_uu_ 4        \         P                  P                  R4       R R R 4       \        P                  ! \
        4      ;_uu_ 4        \         P                  P                  RR.4       R R R 4       R #   + '       g   i     L^; i  + '       g   i     R # ; i)NrB   l	   -tE+I6%Yl  l	   )	~eR :TI*6 rf   )r   r7   r   r\   r   r   rT   r   r   r   ZTestDefaultRNG.test_seed(  s    
		
		d#
		e$
		a 
		DE
		EFH 	I]]:&&II!!"% ']]:&&II!!5"+. '& '&&&&s    E("E'E$	'E8	r   N)
r[   r   r   r   r   rL   r   r   r   r   r   r   r   r   r     s&     	 	:
/ /r   r   )Fr   )'r   Z	functoolsr   r\   Znumpyr   Znumpy.randomr   r   r   r   r   r   Znumpy.testingr   r	   r
   Zfixturer   Zint8Zint16Zint32Zint64Zuint8Zuint16r   r;   r   r   r.   r0   r?   r@   r   r   r   r   r   r   r   r   r   <module>r      s        L L C C h"((BHHbhh"))RYY		CDD
!B #n	4 n	4b4# 4,	 		 		 		C 	/S /r   