
    >>it              	          S SK r S SKJ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JrJr  S SKJrJrJr  \R&                  \R(                  \R*                  \R,                  \R.                  \R0                  \R2                  \R4                  \R6                  4	rS rSS jrS rSS	 jr \ " S
 S5      5       r! " S S5      r" " S S\"5      r# " S S\"5      r$ " S S\"5      r% " S S\"5      r& " S S\"5      r' " S S\"5      r(g)    N)	dataclass)partial)MT19937PCG64	PCG64DXSMSFC64	GeneratorPhilox)assert_assert_array_equalassert_equalc                 L   U " 5       n[        [        R                  " U5      5        U " S5      n[        UR                  S:H  5        U " S5      n[        UR                  S:H  5        U " S5      n[        UR                  S:H  5        U " SS9n[        UR                  S:H  5        g )N
   r   r   r   r   r   r   )   r   size)r   npisscalarshape)fvals     \/var/www/html/land-tabula/venv/lib/python3.13/site-packages/numpy/random/tests/test_smoke.pyparams_0r      s    
#CBKK
B%CCII
H+CCII!"
L/CCII%&
.CCII     c                    Sn[         R                  " SS5      n[         R                  " SS5      R                  S5      n[         R                  " SS5      R                  S5      n[         R                  " SS/5      n[         R                  " SS5      R                  S	5      nU(       ap  S
nUSUR	                  5       -  -  nUSUR	                  5       -  -  nUSUR	                  5       -  -  nUSUR	                  5       -  -  nUSUR	                  5       -  -  nU " U5        U " USS9  U " U5        U " U5        U " U5        U " USS9  U " USS9  U " USS9  g )Ng      @       @g      (@     Y@r   g     P@r         @)   r   r"         ?g      ?r   r   r      )r   arangereshapearraymax)r   boundedabcdegs           r   params_1r1      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n[        U [        5      (       a  U  H  nU[        X   X   5      -  nM     U$ [        U 5      [        U5      :w  a  U[        U 5      [        U5      :H  -  nU$ [        U [        [
        [        R                  45      (       aN  [        U[        [
        [        R                  45      (       a$  [        X5       H  u  pEU[        XE5      -  nM     U$ X U:H  -  nU$ )NT)	
isinstancedict
comp_statetypelisttupler   ndarrayzip)state1state2	identicalkeys1s2s         r   r5   r5   =   s    I&$CFK==I   
ff	%T&\T&\11	  VdE2::6
7
7JT5"**-=/ =/&)FBB++I *  	v%%	r   c                 f   Uc#  S[         R                  R                  SS5      -   nU R                  U5        U R                  U5        U R                  U[         R                  S9  U R                  U[         R                  S9  U R                  SSU[         R                  S9  U R                  SSU[         R                  S9  U R                  SU5        U R                  SU[         R                  S9  U R                  U[         R                  S9  U R                  U[         R                  S9  g )N   r      dtype   l          g      &@)	r   randomrandintstandard_normalfloat32integersuint64standard_gammafloat64)rgns     r   warmuprQ   M   s    y""1b))qqq

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

+KK7ARYYK/KK7ARYYK/dAdARZZ0IIarzzI"IIarzzI"r   c                   |    \ rS rSr% \\R                  R                     \S'   \	\S'   \
\	   \S'   \\S'   \	\S'   Srg)	RNGData\   bit_generatoradvanceseedrO   seed_vector_bits N)__name__
__module____qualname____firstlineno__r6   r   rG   BitGenerator__annotations__intr7   r	   __static_attributes__rY   r   r   rS   rS   \   s0    		..//L
s)OMr   rS   c                   p   \ rS rS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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!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/S- r0S. r1S/ r2S0 r3S1 r4S2 r5S3 r6S4 r7S5 r8S6 r9S7 r:S8 r;S9 r<S: r=S; r>S< r?S= r@S> rAS? rBS@ rCSA rDSB rE\FR                  R                  SC\I5      SD 5       rJ\FR                  R                  SC\I5      SE 5       rK\FR                  R                  SC\I5      SF 5       rLSGrMgH)IRNGe   c                 R    [         nS nS/n[        U" U6 5      nSn[        XX4U5      $ )N90  @   r   r	   rS   clsrU   rV   rW   rO   rX   s         r   _create_rngRNG._create_rngf   s:     w}d+,}t9IJJr   c                    U R                  5       n[        UR                  5       5      Ul        UR                  R                  R                  nUR                  R                  S5        UR                  R                  S5        X!R                  R                  l        UR                  R                  R                  n[        [        X#5      5        g )Nr"   )rk   r	   rU   rO   staterI   r   r5   )selfdatarn   	new_states       r   	test_initRNG.test_initp   s    !D..01%%++""&+#GG))//	
5,-r   c                    U R                  5       nUR                  R                  R                  n[	        UR                  R                  S5      (       ag  UR                  R                  R                  UR
                  5        [        [        X!R                  R                  R                  5      (       + 5        g UR                  R                  R                  R                  n[        R                  " SU 35        g )NrV   zAdvance is not supported by )rk   rO   rU   rn   hasattrrV   r   r5   	__class__rZ   pytestskip)ro   rp   rn   bitgen_names       r   test_advanceRNG.test_advancez   s    !%%++477(()44GG!!))$,,7
5''*?*?*E*EFFG''//99BBKKK6{mDEr   c                 j   U R                  5       R                  nUR                  R                  n[	        UR                  S5      (       a  UR                  R                  5       nUR                  n[        [        X$5      (       + 5        UR                  S5        X!R                  l        UR                  R                  5       nUR                  n[        [        XF5      5        g UR                  R                  R                  nUS;  a  [        SU 35      e[        R                  " SU 35        g )Njumpedi. )r   zno "jumped" in zJump is not supported by )rk   rO   rU   rn   ru   r}   r   r5   rG   rv   rZ   AttributeErrorrw   rx   )ro   rO   rn   bit_gen2jumped_statebit_gen3rejumped_statery   s           r   	test_jumpRNG.test_jump   s    ""  &&2##X..''..0H#>>L
5778II23%*"''..0H%^^NJ|<=**44==K*,${m%DEEKK3K=ABr   c                     U R                  5       R                  nUR                  SSSS9n[        [	        U5      S:H  5        [        US:  R                  5       5        [        US:*  R                  5       5        g )N              r   r   r   )rk   rO   uniformr   lenallro   rO   rs      r   test_uniformRNG.test_uniform   s^    ""JJtSrJ*A"Rar   c                 8   U R                  5       R                  nUR                  [        R                  " S/S-  5      SSS9n[        [        U5      S:H  5        [        US:  R                  5       5        [        US:*  R                  5       5        UR                  [        R                  " S/S-  5      [        R                  " S/S-  5      SS9n[        [        U5      S:H  5        [        US:  R                  5       5        [        US:*  R                  5       5        UR                  S[        R                  " S/S-  5      SS9n[        [        U5      S:H  5        [        US:  R                  5       5        [        US:*  R                  5       5        g )Nr   r   r   r   r   r   )rk   rO   r   r   r(   r   r   r   r   s      r   test_uniform_arrayRNG.test_uniform_array   s0   ""JJrxx,cJ;A"RaJJrxx,HHcURZ0r  ;A"RaJJtRXXsebj1J;A"Rar   c                     U R                  5       R                  n[        [        UR	                  S5      5      S:H  5        [        UR                  5        g Nr   )rk   rO   r   r   rG   r   ro   rO   s     r   test_randomRNG.test_random   s<    ""BIIbM"b()r   c                     U R                  5       R                  n[        [        UR	                  S5      5      S:H  5        g r   )rk   rO   r   r   rI   r   s     r   test_standard_normal_zigRNG.test_standard_normal_zig   s3    ""B&&r*+r12r   c                     U R                  5       R                  n[        [        UR	                  S5      5      S:H  5        [        UR                  5        g r   )rk   rO   r   r   rI   r   r   s     r   test_standard_normalRNG.test_standard_normal   A    ""B&&r*+r12##$r   c           
      .   U R                  5       R                  n[        [        UR	                  SS5      5      S:H  5        [        [        UR	                  [
        R                  " S/S-  5      S5      5      S:H  5        [        UR                  5        g r   )rk   rO   r   r   rM   r   r(   r1   r   s     r   test_standard_gammaRNG.test_standard_gamma   sq    ""B%%b"-."45B%%bhhtby&92>?2EF""#r   c                     U R                  5       R                  n[        [        UR	                  S5      5      S:H  5        [        UR                  5        g r   )rk   rO   r   r   standard_exponentialr   r   s     r   test_standard_exponentialRNG.test_standard_exponential   sA    ""B++B/0B67(()r   c                     U R                  5       R                  nUR                  SSS9n[        [	        U5      S:H  5        UR
                  [        R                  :X  d   e[        [        UR                  SS95        g )Nr   rJ   rD   
rk   rO   r   r   r   rE   r   rJ   r   r   ro   rO   randomss      r   test_standard_exponential_float#RNG.test_standard_exponential_float   sg    ""))"I)>G"#}}

***00	BCr   c                    U R                  5       R                  nUR                  SSSS9n[        [	        U5      S:H  5        UR
                  [        R                  :X  d   e[        [        UR                  SSS95        g )Nr   rJ   inv)rE   methodr   r   s      r   #test_standard_exponential_float_log'RNG.test_standard_exponential_float_log   su    ""))"I6; * =G"#}}

***00	 %' 	(r   c                     U R                  5       R                  n[        [        UR	                  S5      5      S:H  5        [        UR                  5        g r   )rk   rO   r   r   standard_cauchyr   r   s     r   test_standard_cauchyRNG.test_standard_cauchy   r   r   c                     U R                  5       R                  n[        [        UR	                  SS5      5      S:H  5        [        UR                  5        g r   )rk   rO   r   r   
standard_tr1   r   s     r   test_standard_tRNG.test_standard_t   s?    ""BMM"b)*b01r   c                     U R                  5       R                  n[        UR                  SS5      S:  5        [        UR                  SS5      S:  5        g )Nr   r#   r     )rk   rO   r   binomialr   s     r   test_binomialRNG.test_binomial   sF    ""B#q()D"%*+r   c                     U R                  5       R                  nUR                  R                  nUR	                  S5      nX!R                  l        UR	                  S5      n[        X4:H  5        g )Nl        )rk   rO   rU   rn   rK   r   )ro   rO   rn   int_1int_2s        r   test_reset_stateRNG.test_reset_state   sY    ""  &&E"!&E"r   c                     U R                  5       R                  n[        U" 5       5      n[        U" 5       5      n[        [	        UR                  R
                  UR                  R
                  5      (       + 5        g N)rk   rU   r	   r   r5   rn   )ro   rU   rO   rg2s       r   test_entropy_initRNG.test_entropy_init   s_    ((*88}'(Jr//55"00668 8 	9r   c                 f   U R                  5       n[        UR                  " UR                  6 5      n[        UR                  " UR                  6 5      nUR	                  5         UR	                  5         [        [        UR                  R                  UR                  R                  5      5        g r   )rk   r	   rU   rW   rG   r   r5   rn   )ro   rp   rO   r   s       r   	test_seedRNG.test_seed   s{    !t))49956**DII67
		


2++1133D3D3J3JKLr   c                 X   U R                  5       n[        UR                  " UR                  6 5      nUR	                  5         UR                  R
                  nUR	                  SS9n[        UR                  5       5      nX5R                  l        UR	                  SS9n[        XF5        g )Nr   r   )rk   r	   rU   rW   rI   rn   r   ro   rp   rO   rn   n1r   n2s          r   test_reset_state_gaussRNG.test_reset_state_gauss   s    !t))49956
  &&R(**,-"'  b )2"r   c                    U R                  5       n[        UR                  " UR                  6 5      nUR	                  SSS[
        R                  S9  UR                  R                  nUR	                  SSS[
        R                  S9n[        UR                  5       5      nX5R                  l        UR	                  SSS[
        R                  S9n[        XF5        g )Nr   rF   x   rD   r   )	rk   r	   rU   rW   rK   r   uint32rn   r   r   s          r   test_reset_state_uint32RNG.test_reset_state_uint32  s    !t))49956
Aw2995  &&[[GRryy[9**,-"'\\!Wb		\:2"r   c                 z   U R                  5       n[        UR                  " UR                  6 5      nUR	                  SS9  UR                  R
                  nUR	                  SSS9n[        UR                  5       5      nX5R                  l        UR	                  SSS9n[        XF:H  R                  5       5        g )NrJ   rD   r   r   rE   )rk   r	   rU   rW   rG   rn   r   r   r   s          r   test_reset_state_floatRNG.test_reset_state_float  s    !t))49956
				"  &&YYBiY0**,-"'ZZRyZ1 !r   c                     U R                  5       R                  n[        R                  " SSS5      nUR	                  U5      n[        X#:g  R                  5       5        g N   r   r   rk   rO   r   r&   permutationr   anyro   rO   originalpermuteds       r   test_shuffleRNG.test_shuffle  J    ""99S!R(>>(+%**,-r   c                     U R                  5       R                  n[        R                  " SSS5      nUR	                  U5      n[        X#:g  R                  5       5        g r   r   r   s       r   test_permutationRNG.test_permutation#  r   r   c                    U R                  5       R                  nUR                  SSS5      n[        [	        U5      S:H  5        UR                  [
        R                  " S/S-  5      S5      n[        [	        U5      S:H  5        UR                  S[
        R                  " S/S-  5      5      n[        [	        U5      S:H  5        UR                  [
        R                  " S/S-  5      [
        R                  " S/S-  5      5      n[        [	        U5      S:H  5        UR                  [
        R                  " S/S-  5      [
        R                  " S//S-  5      5      n[        UR                  S:H  5        g )Nr   r   r   )rk   rO   betar   r   r   r(   r   ro   rO   valss      r   	test_betaRNG.test_beta)  s   ""wwsC$D	R wwrxx
+S1D	R wwsBHHcURZ01D	R wwrxx
+RXXsebj-ABD	R wwrxx
+RXXugl-CD

h&'r   c                     U R                  5       R                  nUR                  S5      n[        [	        U5      S:H  5        g r   )rk   rO   bytesr   r   r   s      r   
test_bytesRNG.test_bytes6  s3    ""xx|D	R r   c                     U R                  5       R                  nUR                  SS5      n[        [	        U5      S:H  5        [        UR                  5        g Nr   r   )rk   rO   	chisquarer   r   r1   r   s      r   test_chisquareRNG.test_chisquare;  sB    ""||C$D	R r   c                     U R                  5       R                  nUR                  SS5      n[        [	        U5      S:H  5        [        UR                  5        g r   )rk   rO   exponentialr   r   r1   r   s      r   test_exponentialRNG.test_exponentialA  sB    ""~~c2&D	R  r   c                     U R                  5       R                  nUR                  SSS5      n[        [	        U5      S:H  5        g )N   r   r   )rk   rO   r   r   r   r   s      r   test_f
RNG.test_fG  s8    ""ttAtR D	R r   c                     U R                  5       R                  nUR                  SSS5      n[        [	        U5      S:H  5        g )Nr   r%   r   )rk   rO   gammar   r   r   s      r   
test_gammaRNG.test_gammaL  s8    ""xx1b!D	R r   c                     U R                  5       R                  nUR                  SS5      n[        [	        U5      S:H  5        [        UR                  SS9  g )Nr#   r   Tr*   )rk   rO   	geometricr   r   r1   r   r   s      r   test_geometricRNG.test_geometricQ  sD    ""||C$D	R .r   c                     U R                  5       R                  nUR                  SSS5      n[        [	        U5      S:H  5        g r   )rk   rO   gumbelr   r   r   s      r   test_gumbelRNG.test_gumbelW  s8    ""yyc2&D	R r   c                     U R                  5       R                  nUR                  SSS5      n[        [	        U5      S:H  5        g r   )rk   rO   laplacer   r   r   s      r   test_laplaceRNG.test_laplace\  s8    ""zz#sB'D	R r   c                     U R                  5       R                  nUR                  SSS5      n[        [	        U5      S:H  5        g r   )rk   rO   logisticr   r   r   s      r   test_logiticRNG.test_logitica  s8    ""{{3R(D	R r   c                     U R                  5       R                  nUR                  SS5      n[        [	        U5      S:H  5        g )Nr#   r   )rk   rO   	logseriesr   r   r   s      r   test_logseriesRNG.test_logseriesf  s6    ""||C$D	R r   c                     U R                  5       R                  nUR                  SSS5      n[        [	        U5      S:H  5        g Nr   皙?)rk   rO   negative_binomialr   r   r   s      r   test_negative_binomialRNG.test_negative_binomialk  s:    ""##BR0D	R r   c                     U R                  5       R                  nUR                  SSS5      n[        [	        U5      S:H  5        g )Nr   r%   )rk   rO   noncentral_chisquarer   r   r   s      r   test_noncentral_chisquareRNG.test_noncentral_chisquarep  s:    ""&&r1b1D	R r   c                    U R                  5       R                  nUR                  SSSS5      n[        [	        U5      S:H  5        UR                  [
        R                  " S/S-  5      SS5      n[        [	        U5      S:H  5        UR                  S[
        R                  " S/S-  5      S5      n[        [	        U5      S:H  5        UR                  SS[
        R                  " S/S-  5      5      n[        [	        U5      S:H  5        g )Nr   r   r%   r   )rk   rO   noncentral_fr   r   r   r(   r   s      r   test_noncentral_fRNG.test_noncentral_fu  s    ""q$2.D	R rxxb14;D	R q"((D6B;"7;D	R q$!r(:;D	R r   c                     U R                  5       R                  nUR                  SSS5      n[        [	        U5      S:H  5        g r  )rk   rO   normalr   r   r   s      r   test_normalRNG.test_normal  s8    ""yyS"%D	R r   c                     U R                  5       R                  nUR                  SS5      n[        [	        U5      S:H  5        g )Nr!   r   )rk   rO   paretor   r   r   s      r   test_paretoRNG.test_pareto  s6    ""yyb!D	R r   c                 4   U R                  5       R                  nUR                  SS5      n[        [	        U5      S:H  5        UR                  [
        R                  " S/S-  5      5      n[        [	        U5      S:H  5        [        UR                  5        g r   )rk   rO   poissonr   r   r   r(   r1   r   s      r   test_poissonRNG.test_poisson  so    ""zz"b!D	R zz"((B4"9-.D	R r   c                     U R                  5       R                  nUR                  SS5      n[        [	        U5      S:H  5        g )Nr  r   )rk   rO   powerr   r   r   s      r   
test_powerRNG.test_power  s6    ""xxR D	R r   c                     U R                  5       R                  nUR                  SSS5      n[        [	        U5      S:H  5        g )Nr   rC   )rk   rO   rK   r   r   r   s      r   test_integersRNG.test_integers  s8    ""{{2r2&D	R r   c                     U R                  5       R                  nUR                  SS5      n[        [	        U5      S:H  5        [        UR                  SS9  g )Nr  r   Tr  )rk   rO   rayleighr   r   r1   r   s      r   test_rayleighRNG.test_rayleigh  sD    ""{{3#D	R d+r   c                     U R                  5       R                  nUR                  SSS5      n[        [	        U5      S:H  5        g r  )rk   rO   vonmisesr   r   r   s      r   test_vonmisesRNG.test_vonmises  s8    ""{{2sB'D	R r   c                     U R                  5       R                  nUR                  SSS5      n[        [	        U5      S:H  5        g N      ?r   )rk   rO   waldr   r   r   s      r   	test_waldRNG.test_wald  s8    ""wwsC$D	R r   c                     U R                  5       R                  nUR                  SS5      n[        [	        U5      S:H  5        g rC  )rk   rO   weibullr   r   r   s      r   test_weibullRNG.test_weibull  s6    ""zz#r"D	R r   c                 6   U R                  5       R                  n[        R                  " SS5      n[        R                  " SS5      S S S 24   n[        R                  " SSS5      R	                  S5      nUR                  SS5      n[        [        U5      S:H  5        UR                  U5      n[        [        U5      S:H  5        UR                  U5      n[        UR                  S:H  5        UR                  U5      n[        UR                  S:H  5        g )Nr   r    g{Gz?)d   rM  r   rM  )r"   rM  )	rk   rO   r   r&   r'   zipfr   r   r   )ro   rO   vec_1dvec_2dmatr   s         r   	test_zipfRNG.test_zipf  s    ""3&3&tQw/iiUD)11*=wwr2D	R wwvD	S !wwv

h&'wws|

j()r   c                 "   U R                  5       R                  nUR                  SSS5      n[        [        R
                  " U5      5        UR                  [        R                  " S/S-  5      SS5      n[        UR                  S:H  5        g )N   rC   r   r   )rk   rO   hypergeometricr   r   r   r(   r   r   s      r   test_hypergeometricRNG.test_hypergeometric  so    ""  R,D!"  2$)!4b"=

e#$r   c                 "   U R                  5       R                  nUR                  SSS5      n[        [        R
                  " U5      5        UR                  S[        R                  " S/S-  5      S5      n[        UR                  S:H  5        g )Nr   r   r   r   )rk   rO   
triangularr   r   r   r(   r   r   s      r   test_triangularRNG.test_triangular  sk    ""}}RA&D!"}}R1#(!3Q7

e#$r   c                    U R                  5       R                  nSS/nSS/SS//nUR                  X#S5      n[        UR                  S:H  5        UR                  X#S5      n[        UR                  S:H  5        UR                  X#S5      n[        UR                  S:H  5        [        XV:g  R                  5       5        g )Nr   r"   rM    )r_  r%   )rk   rO   multivariate_normalr   r   r   )ro   rO   meancovxx_zigx_invs          r   test_multivariate_normalRNG.test_multivariate_normal  s    ""1v1v3x ""4d39$%&&t$79$%&&t$79$%$$&'r   c                     U R                  5       R                  nUR                  SSS/5      n[        UR                  S:H  5        UR                  SSS/SS9n[        UR                  S:H  5        g )NrM  gUUUUUU?gUUUUUU?)r%   r   r   r$   )rk   rO   multinomialr   r   r   s      r   test_multinomialRNG.test_multinomial  sf    ""~~cGW#56

d"#~~cGW#5B~?

g%&r   c                     U R                  5       R                  nUR                  SS5      n[        UR                  S:H  5        g )N)r   r   r   rC   )rC   r   )rk   rO   	dirichletr   r   )ro   rO   ss      r   test_dirichletRNG.test_dirichlet  s7    ""LLR(7"#r   c                 \   U R                  5       R                  n[        R                  " U5      n[        R                  " U5      n[        [        U5      [        U5      :H  5        [        [        UR                  R                  UR                  R                  5      5        [        R                  " U5      n[        R                  " U5      n[        [        U5      [        U5      :H  5        [        [        UR                  R                  UR                  R                  5      5        g r   )
rk   rO   pickledumpsloadsr   r6   r5   rU   rn   )ro   rO   pickunpicks       r   test_pickleRNG.test_pickle  s    ""||Bd#RDL()
2++11!//557 	8 ||Bd#RDL()
2++11!//557 	8r   c                    U R                  5       nUR                  c/  UR                  R                  n[        R
                  " SU 35        UR                  S:X  a  [        R                  nO[        R                  n[        R                  " S/US9nUR                  U5      nUR                  nUR                  S5      nUR                  n[        [        Xg5      5        [        R                  " SUS9nUR                  U5      nUR                  nUR                  US   5      nUR                  n[        [        Xg5      (       + 5        [        R                  " SUS9nUR                  U5      nUR                  nUR                  US   5      nUR                  n[        [        Xg5      (       + 5        S[        R                  " [        R                  " SUS9UR                  S-
  5      -  S-   nUR                  U5      nUR                  nUR                  US   5      nUR                  n[        [        Xg5      (       + 5        g )	Nz#Vector seeding is not supported by     r"   rD      r   i  r%   )rk   rX   rU   rZ   rw   rx   r   r   rL   r(   rn   r   r5   r&   mod)ro   rp   ry   rE   rW   bgr;   r<   s           r   test_seed_array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                 B   U R                  5       R                  n[        U" S5      5      n[        U5        UR                  R                  nUR                  S[        R                  S9n[        U" 5       5      n[        U5        X5R                  l        UR                  S[        R                  S9n[        XF5        [        UR                  [        R                  5        [        [        UR                  R                  UR                  R                  5      5        g )Nrf   rB   rD   )rk   rU   r	   rQ   rn   rG   r   rJ   r   r   rE   r   r5   ro   rU   rO   rn   r1r   r2s          r   test_uniform_floatRNG.test_uniform_float  s    ((*88}U+,r
  &&YYrY,(s"'ZZ"**Z-2"RXXrzz*
2++1133D3D3J3JKLr   c                 D   U R                  5       R                  n[        U" 5       5      n[        U5        UR                  R                  nUR                  SS[        R                  S9n[        U" 5       5      n[        U5        X5R                  l        UR                  SS[        R                  S9n[        XF5        [        UR                  [        R                  5        [        [        UR                  R                  UR                  R                  5      5        g )Ng      @rB   rD   )rk   rU   r	   rQ   rn   rM   r   rJ   r   r   rE   r   r5   r  s          r   test_gamma_floatsRNG.test_gamma_floats(  s    ((*88}'r
  &&sBbjj9(s"'Rrzz:2"RXXrzz*
2++1133D3D3J3JKLr   c                 @   U R                  5       R                  n[        U" 5       5      n[        U5        UR                  R                  nUR                  S[        R                  S9n[        U" 5       5      n[        U5        X5R                  l        UR                  S[        R                  S9n[        XF5        [        UR                  [        R                  5        [        [        UR                  R                  UR                  R                  5      5        g NrB   rD   rk   rU   r	   rQ   rn   rI   r   rJ   r   r   rE   r   r5   r  s          r   test_normal_floatsRNG.test_normal_floats6      ((*88}'r
  &&"**5(s"'  2:: 62"RXXrzz*
2++1133D3D3J3JKLr   c                 @   U R                  5       R                  n[        U" 5       5      n[        U5        UR                  R                  nUR                  S[        R                  S9n[        U" 5       5      n[        U5        X5R                  l        UR                  S[        R                  S9n[        XF5        [        UR                  [        R                  5        [        [        UR                  R                  UR                  R                  5      5        g r  r  r  s          r   test_normal_zig_floatsRNG.test_normal_zig_floatsD  r  r   c                    U R                  5       R                  nUR                  R                  nSn[        R
                  " U5      nX!R                  l        UR                  US9  X!R                  l        UR                  US9n[        XT5        [        R
                  " U5      nX!R                  l        UR                  XfR                  S9  [        R
                  " U[        R                  S9nX!R                  l        UR                  U[        R                  S9  X!R                  l        UR                  U[        R                  S9n[        XT5        g )N      a   outr   )r  r   rD   r  rE   r   )
rk   rO   rU   rn   r   emptyrI   r   r   rJ   )ro   rO   rn   r   existingdirectsizeds          r   test_output_fillRNG.test_output_fillR  s   ""  &&88D>!&
x(!&###.V&!&
u;;788D

3!&
xrzz:!&##RZZ#@V&r   c                 :   U R                  5       R                  nUR                  R                  nSn[        R
                  " U5      nX!R                  l        UR                  US9  X!R                  l        UR                  US9n[        XT5        [        R
                  " U[        R                  S9nX!R                  l        UR                  U[        R                  S9  X!R                  l        UR                  U[        R                  S9n[        XT5        g Nr  r  r   rD   r  r   )	rk   rO   rU   rn   r   r  rG   r   rJ   ro   rO   rn   r   r  r  s         r   test_output_filling_uniformRNG.test_output_filling_uniformh  s    ""  &&88D>!&
		h	!&%V&88D

3!&
		hbjj	1!&BJJ7V&r   c                 :   U R                  5       R                  nUR                  R                  nSn[        R
                  " U5      nX!R                  l        UR                  US9  X!R                  l        UR                  US9n[        XT5        [        R
                  " U[        R                  S9nX!R                  l        UR                  U[        R                  S9  X!R                  l        UR                  U[        R                  S9n[        XT5        g r  )	rk   rO   rU   rn   r   r  r   r   rJ   r  s         r   test_output_filling_exponential#RNG.test_output_filling_exponentialz  s    ""  &&88D>!&
H-!&((d(3V&88D

3!&
HBJJ?!&((d"**(EV&r   c                 B   U R                  5       R                  nUR                  R                  nSn[        R
                  " U5      nX!R                  l        UR                  SUS9  X!R                  l        UR                  SUS9n[        XT5        [        R
                  " U[        R                  S9nX!R                  l        UR                  SU[        R                  S9  X!R                  l        UR                  SU[        R                  S9n[        XT5        g )Nr  rD  r  r   rD   r  r   )	rk   rO   rU   rn   r   zerosrM   r   rJ   r  s         r   test_output_filling_gammaRNG.test_output_filling_gamma  s    ""  &&88D>!&
#8,!&""3T"2V&88D

3!&
#82::>!&""3T"DV&r   c                 l   U R                  5       R                  nUR                  R                  nSn[        R
                  " S5      S-   n[        R                  " U5      nX!R                  l        UR                  XES9  X!R                  l        UR                  XCS9n[        Xe5        [        R                  " U[        R                  S9nX!R                  l        UR                  XE[        R                  S9  X!R                  l        UR                  XC[        R                  S9n[        Xe5        g )	Nr  g     @X@rD  r  r   rD   r  r   )
rk   rO   rU   rn   r   r&   r  rM   r   rJ   )ro   rO   rn   r   mur  r  s          r   #test_output_filling_gamma_broadcast'RNG.test_output_filling_gamma_broadcast  s    ""  &&YYt_s"88D>!&
"+!&""2"1V&88D

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

"CV&r   c                    U R                  5       R                  nSn[        R                  " U5      n[        R
                  " [        5         UR                  U[        R                  S9  S S S 5        [        R
                  " [        5         UR                  US S S2   S9  S S S 5        [        R                  " U[        R                  S9n[        R
                  " [        5         UR                  U[        R                  S9  S S S 5        [        R                  " U[        R                  S9n[        R
                  " [        5         UR                  SU[        R                  S9  S S S 5        [        R
                  " [        5         UR                  SUS S S2   [        R                  S9  S S S 5        [        R                  " U[        R                  S9n[        R
                  " [        5         UR                  SU[        R                  S9  S S S 5        [        R
                  " [        5         UR                  SUS S S2   S9  S S S 5        g ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN,= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)Nr  r  r   r  rD   rD  )rk   rO   r   r  rw   raises	TypeErrorrI   rJ   
ValueErrorrN   r  rM   )ro   rO   r   r  s       r   test_output_fill_errorRNG.test_output_fill_error  s   ""88D>]]9%82::> &]]:&8CaC=1 '88D

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

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

3]]9%cxrzzB &]]:&cx!}5 '&! &%&& &% &%&& &%&&sT   II.)J  J&J$: J5<K
I+.
I= 
J
J!$
J25
K
KrE   c                   ^ U R                  5       R                  nUR                  R                  mU4S jnU[        R
                  :X  a  SnSnO:[        R                  " U5      n[        UR                  5      S-   nUR                  nU" U5        TUR                  l        UR                  XT/S-  US9nU" U5        UR                  U/S-  XAS9n[        Xx5        U" U5        UR                  XTSUS9n	[        Xy5        U" U5        UR                  [        R                  " U/S-  5      [        R                  " U/[        S9SUS9n
[        Xz5        U" U5        UR                  [        R                  " U/S-  5      [        R                  " U/S-  5      SUS9n[        X{5        U" U5        UR                  SUSUS9nU" U5        UR                  U/S-  US9n[        Xx5        g )Nc                 (   > TU R                   l        g r   )rU   rn   )rnginitial_states    r   reset_state0RNG.test_integers_broadcast.<locals>.reset_state  s    &3C#r   r%   r   r"   r   rD   r   )rk   rO   rU   rn   r   booliinfor`   r)   minrK   r   r(   object)ro   rE   rO   r  upperlowerinfor+   r,   r-   r.   r/   r  s               @r   test_integers_broadcastRNG.test_integers_broadcast  s   ""((..	4 BGGEE88E?DMA%EHHEB!.KKw|5K9BKK"eK9QBKK2UK;QBKKGbL88UG6:   	QBKKHHeWr\"BHHeWr\$:   	QBKK5rK7BKK"EK2Qr   c                 l   U R                  5       R                  n[        R                  " S/5      n[        R                  " S/5      nUR	                  XCUS9nUR
                  S:X  d   eUR	                  US   X1S9nUR
                  S:X  d   eUR	                  XCS   US9nUR
                  S:X  d   eg )Nr"   r   rD   )r"   )rk   rO   r   r(   rK   r   )ro   rE   rO   highlowr  s         r   test_integers_numpyRNG.test_integers_numpy  s    ""xx}hhsmkk#5k1yyD   kk#a&$k4yyD   kk#Awek4yyD   r   c                 4   U R                  5       R                  nU[        R                  :X  a  SnSnO:[        R                  " U5      n[        UR                  5      S-   nUR                  n[        R                  " [        5         UR                  XCS-   /S-  US9  S S S 5        [        R                  " [        5         UR                  US-
  U/S-  US9  S S S 5        [        R                  " [        5         UR                  US-
  /U/S-  US9  S S S 5        [        R                  " [        5         UR                  S/S/US9  S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Ng= f! , (       d  f       g = f)Nr%   r   r"   r   rD   )rk   rO   r   r  r  r`   r)   r  rw   r  r  rK   )ro   rE   rO   r  r  r  s         r   test_integers_broadcast_errors"RNG.test_integers_broadcast_errors   s$   ""BGGEE88E?DMA%EHHE]]:&KK	{R/uK= ']]:&KK	E7R<uK= ']]:&KKeWr\K? ']]:&KKaSK. '& '&&&&&&&s0   EE'=E89F	
E$'
E58
F	
FrY   N)NrZ   r[   r\   r]   classmethodrk   rr   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-  r1  r5  r8  r<  r@  rF  rJ  rR  rW  r\  rf  rj  ro  rw  r~  r  r  r  r  r  r  r  r  r  r  rw   markparametrizeDTYPES_BOOL_INT_UINTr  r  r  ra   rY   r   r   rc   rc   e   s   K K.FC$   
3%
$*
D(%
 
,
 9M	#	#	"..(!
!!
!
/!
!
!
!
!
!
	!!
!
!
!
,!
!
!
*%%
('$
8%0NMMMM','$'$'$'&6. [[W&:;& <&P [[W&:;! <! [[W&:;/ </r   rc   c                   *    \ rS rSr\S 5       rS rSrg)TestMT19937i  c                 R    [         nS nS/n[        U" U6 5      nSn[        XX4U5      $ )Ni! ! rz  )r   r	   rS   ri   s         r   rk   TestMT19937._create_rng  s9    ./}d+,}t9IJJr   c                 z   U R                  5       R                  n[        R                  R	                  5       nUR                  S5        UR                  5       nX1R                  l        UR                  R                  n[        US   US   S   :H  R                  5       5        [        US   US   S   :H  5        g )Nc   r"   rn   r>   r%   pos)rk   rO   r   rG   RandomStaterI   	get_staterU   rn   r   r   )ro   rO   nprgrn   r<   s        r   test_numpy_stateTestMT19937.test_numpy_state  s    ""yy$$&R  !&!!''qVG_U3388:;aF7OE223r   rY   N)rZ   r[   r\   r]   r  rk   r  ra   rY   r   r   r  r    s    K K4r   r  c                   $    \ rS rSr\S 5       rSrg)
TestPhiloxi)  c                 R    [         nSnS/n[        U" U6 5      nSn[        XX4U5      $ Nl         rf   rg   )r
   r	   rS   ri   s         r   rk   TestPhilox._create_rng*  s8    +w}d+,}t9IJJr   rY   NrZ   r[   r\   r]   r  rk   ra   rY   r   r   r  r  )      K Kr   r  c                   $    \ rS rSr\S 5       rSrg)	TestSFC64i4  c                 R    [         nS nS/n[        U" U6 5      nSn[        XX4U5      $ )Nrf      )r   r	   rS   ri   s         r   rk   TestSFC64._create_rng5  s8    w}d+,}t9IJJr   rY   Nr  rY   r   r   r  r  4  r  r   r  c                   $    \ rS rSr\S 5       rSrg)	TestPCG64i?  c                 R    [         nSnS/n[        U" U6 5      nSn[        XX4U5      $ r  rh   ri   s         r   rk   TestPCG64._create_rng@  s8    +w}d+,}t9IJJr   rY   Nr  rY   r   r   r  r  ?  r  r   r  c                   $    \ rS rSr\S 5       rSrg)TestPCG64DXSMiJ  c                 R    [         nSnS/n[        U" U6 5      nSn[        XX4U5      $ r  )r   r	   rS   ri   s         r   rk   TestPCG64DXSM._create_rngK  s8    !+w}d+,}t9IJJr   rY   Nr  rY   r   r   r  r  J  r  r   r  c                   0    \ rS rSr\S 5       rS rS rSrg)TestDefaultRNGiU  c                 p    [         nSnS/n[        R                  R                  " U6 nSn[	        XX4U5      $ r  )r   r   rG   default_rngrS   ri   s         r   rk   TestDefaultRNG._create_rngV  s?     +wYY""D)}t9IJJr   c                 ~    U R                  5       R                  n[        [        UR                  [
        5      5        g r   )rk   rO   r   r3   rU   r   r   s     r   test_default_is_pcg64$TestDefaultRNG.test_default_is_pcg64a  s-     ""
2++U34r   c                    [         R                  R                  5         [         R                  R                  S 5        [         R                  R                  S5        [         R                  R                  S5        [         R                  R                  S5        [         R                  R                  SS/5        [        R                  " [
        5         [         R                  R                  S5        S S S 5        [        R                  " [
        5         [         R                  R                  SS/5        S S S 5        g ! , (       d  f       NS= f! , (       d  f       g = f)Nrf   r   l	   -tE+I6%Yl  l	   )	~eR :TI*6 r   )r   rG   r  rw   r  r  )ro   s    r   r   TestDefaultRNG.test_seedg  s    
		
		d#
		e$
		a 
		DE
		EFH 	I]]:&II!!"% ']]:&II!!5"+. '& '&&&s    E"E
E
E"rY   N)	rZ   r[   r\   r]   r  rk   r  r   ra   rY   r   r   r  r  U  s     K K5/r   r  )Fr   ))rr  dataclassesr   	functoolsr   rw   numpyr   numpy.randomr   r   r   r   r	   r
   numpy.testingr   r   r   r  int8int16int32int64uint8uint16r   rL   r  r   r1   r5   rQ   rS   rc   r  r  r  r  r  r  rY   r   r   <module>r     s     !    L L C C"((BHHbhh"))RYY		C 
!B #   l
/ l
/^4# 4*K KK KK KKC K/S /r   