+
    im                        ^ 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_equalmodule)scopeparamsc                     V P                   # N)param)requests   &?/usr/lib/python3/dist-packages/numpy/random/tests/test_smoke.pydtyper      s     ==    c                 T   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)fvals   & r   params_0r$      s    
#CBKK
B%CCII
H+CCII!"
L/CCII%&
.CCII r   c                    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egs   &&      r   params_1r8      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                    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)	
isinstancedict
comp_statetypelisttupler   ndarrayzip)state1state2	identicalkeys1s2s   &&    r   r<   r<   @   s    I&$CFK==I   
ff	%T&\T&\11	  VdE2::6
7
7JT5"**-=/ =/&)FBB++I *  	v%%	r   c                    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   randomrandintstandard_normalfloat32integersuint64standard_gammafloat64)rgns   &&r   warmuprU   P   s    y""1b))qqq

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

+KK7ARYYK/KK7ARYYK/dAdARZZ0IIarzzI"IIarzzI"r   c                     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                   \         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   rS   stateinitial_stateseed_vector_bits_extra_setupclss   &r   setup_classRNG.setup_class`   sc     "73,,chh78FF0066!r   c                    \         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   ri   )r   r-   vec_1dvec_2dr.   mat	TypeError
seed_errorrc   s   &r   rb   RNG._extra_setupk   sQ    YYsE*
YYsE*73
))C-55jA"r   c                P    V P                   V P                  P                  n        R # r   )r`   rS   r\   r_   selfs   &r   _reset_stateRNG._reset_stater   s    &*&8&8#r   c                   \        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   r\   r_   rM   r
   r<   )rr   rS   r_   	new_states   &   r   	test_initRNG.test_initu   sl    t))+,  &&
1
1!&$$**	
5,-r   c                   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# )r]   zAdvance is not supported by N)rS   r\   r_   hasattrr]   r
   r<   	__class____name__pytestskip)rr   r_   bitgen_names   &  r   test_advance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                   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   )rS   r\   r_   rz   r   r
   r<   rK   r{   r|   AttributeErrorr}   r~   )rr   r_   bit_gen2jumped_statebit_gen3rejumped_stater   s   &      r   	test_jump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                    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      )rS   uniformr
   lenallrr   rs   & r   test_uniformRNG.test_uniform   sN    GGOOD#BO/A"Rar   c                t   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# r   )rS   r   r   r/   r
   r   r   r   s   & r   test_uniform_array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
   r   rS   rK   r$   rq   s   &r   test_randomRNG.test_random   s1    DGGNN2&'2-. r   c                f    \        \        V P                  P                  ^
4      4      ^
8H  4       R# r   )r
   r   rS   rM   rq   s   &r   test_standard_normal_zigRNG.test_standard_normal_zig   s#    DGG++B/0B67r   c                    \        \        V P                  P                  ^
4      4      ^
8H  4       \	        V P                  P                  4       R# r   )r
   r   rS   rM   r$   rq   s   &r   test_standard_normalRNG.test_standard_normal   5    DGG++B/0B67(()r   c           
     @   \        \        V P                  P                  ^
^
4      4      ^
8H  4       \        \        V P                  P                  \        P
                  ! ^
.^
,          4      ^
4      4      ^
8H  4       \        V P                  P                  4       R# r   )r
   r   rS   rQ   r   r/   r8   rq   s   &r   test_standard_gammaRNG.test_standard_gamma   si    DGG**2r23r9:DGG**288RD2I+>CDJK''(r   c                    \        \        V P                  P                  ^
4      4      ^
8H  4       \	        V P                  P                  4       R# r   )r
   r   rS   standard_exponentialr$   rq   s   &r   test_standard_exponentialRNG.test_standard_exponential   s5    DGG0045;<--.r   c                   V P                   P                  ^
RR7      p\        \        V4      ^
8H  4       VP                  \
        P                  8X  g   Q h\        \        V P                   P                  RR7      4       R# )r   rN   rI   N	rS   r   r
   r   r   r   rN   r$   r   rr   randomss   & r   test_standard_exponential_float#RNG.test_standard_exponential_float   s[    ''..r.CG"#}}

***55YGHr   c                   V P                   P                  ^
RRR7      p\        \        V4      ^
8H  4       VP                  \
        P                  8X  g   Q h\        \        V P                   P                  RRR7      4       R# )r   rN   inv)r   methodNr   r   s   & r   #test_standard_exponential_float_log'RNG.test_standard_exponential_float_log   si    ''..r6; / =G"#}}

***55Y %' 	(r   c                    \        \        V P                  P                  ^
4      4      ^
8H  4       \	        V P                  P                  4       R# r   )r
   r   rS   standard_cauchyr$   rq   s   &r   test_standard_cauchyRNG.test_standard_cauchy   r   r   c                    \        \        V P                  P                  ^
^
4      4      ^
8H  4       \	        V P                  P                  4       R# r   )r
   r   rS   
standard_tr8   rq   s   &r   test_standard_tRNG.test_standard_t   s7    DGG&&r2./256##$r   c                    \        V P                  P                  ^
R4      ^ 8  4       \        V P                  P                  RR4      ^ 8  4       R# )r   r)     N)r
   rS   binomialrq   s   &r   test_binomialRNG.test_binomial   s>      R(A-.  r*a/0r   c                    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        )rS   r\   r_   rO   r
   )rr   r_   int_1int_2s   &   r   test_reset_stateRNG.test_reset_state   sY    %%++  '&+#  'r   c                    \        V P                  4       4      p\        V P                  4       4      p\        \        VP                  P                  VP                  P                  4      '       * 4       R # r   )r   r\   r
   r<   r_   rr   rS   rg2s   &  r   test_entropy_initRNG.test_entropy_init   sY    t))+,**,-Jr//55"00668 8 	9r   c                L   \        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   r\   r^   rK   r
   r<   r_   r   s   &  r   	test_seedRNG.test_seed   sm    t))49956**DII67
		


2++1133D3D3J3JKLr   c                H   \        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   r\   r^   rM   r_   r   rr   rS   r_   n1r   n2s   &     r   test_reset_state_gaussRNG.test_reset_state_gauss   s    t))49956
  &&R(**,-"'  b )2"r   c                   \        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   rI   NrJ   )r   r\   r^   rO   r   uint32r_   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                p   \        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# )rN   rI   r   r   N)r   r\   r^   rK   r_   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                    \         P                  ! ^^ R4      pV P                  P                  V4      p\	        W8g  P                  4       4       R#    Nr   r   r-   rS   permutationr
   anyrr   originalpermuteds   &  r   test_shuffleRNG.test_shuffle  <    99S!R(77&&x0%**,-r   c                    \         P                  ! ^^ R4      pV P                  P                  V4      p\	        W8g  P                  4       4       R# r   r   r   s   &  r   test_permutationRNG.test_permutation  r   r   c                Z   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   )rS   betar
   r   r   r/   r!   rr   valss   & r   	test_beta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                j    V P                   P                  ^
4      p\        \        V4      ^
8H  4       R# r   )rS   bytesr
   r   r   s   & r   
test_bytes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)rS   	chisquarer
   r   r8   r   s   & r   test_chisquareRNG.test_chisquare'  s:    ww  b)D	R ""#r   c                    V P                   P                  R ^
4      p\        \        V4      ^
8H  4       \	        V P                   P                  4       R# r   )rS   exponentialr
   r   r8   r   s   & r   test_exponentialRNG.test_exponential,  s:    ww""3+D	R $$%r   c                n    V P                   P                  ^R^
4      p\        \        V4      ^
8H  4       R#    r   N)rS   r"   r
   r   r   s   & r   test_f
RNG.test_f1  s(    wwyyD"%D	R r   c                n    V P                   P                  ^^^
4      p\        \        V4      ^
8H  4       R# )r  N)rS   gammar
   r   r   s   & r   
test_gammaRNG.test_gamma5  s(    ww}}Q2&D	R r   c                    V P                   P                  R ^
4      p\        \        V4      ^
8H  4       \	        V P                   P
                  RR7       R# )r)   Tr1   N)rS   	geometricr
   r   r8   r   r   s   & r   test_geometric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   )rS   gumbelr
   r   r   s   & r   test_gumbelRNG.test_gumbel>  s(    ww~~c3+D	R r   c                n    V P                   P                  R R ^
4      p\        \        V4      ^
8H  4       R# r   )rS   laplacer
   r   r   s   & r   test_laplaceRNG.test_laplaceB  s(    wwsC,D	R r   c                n    V P                   P                  R R ^
4      p\        \        V4      ^
8H  4       R# r   )rS   logisticr
   r   r   s   & r   test_logiticRNG.test_logiticF  s*    wwS"-D	R r   c                l    V P                   P                  R ^
4      p\        \        V4      ^
8H  4       R# )r)   N)rS   	logseriesr
   r   r   s   & r   test_logseriesRNG.test_logseriesJ  s(    ww  b)D	R r   c                n    V P                   P                  ^
R^
4      p\        \        V4      ^
8H  4       R# r   皙?N)rS   negative_binomialr
   r   r   s   & r   test_negative_binomialRNG.test_negative_binomialN  s*    ww((S"5D	R r   c                n    V P                   P                  ^
^^
4      p\        \        V4      ^
8H  4       R# r   )rS   noncentral_chisquarer
   r   r   s   & r   test_noncentral_chisquareRNG.test_noncentral_chisquareR  s*    ww++B26D	R r   c                P   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  )rS   noncentral_fr
   r   r   r/   r   s   & r   test_noncentral_f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                n    V P                   P                  ^
R^
4      p\        \        V4      ^
8H  4       R# r  )rS   normalr
   r   r   s   & r   test_normalRNG.test_normal`  s(    ww~~b#r*D	R r   c                l    V P                   P                  R ^
4      p\        \        V4      ^
8H  4       R# )r(   N)rS   paretor
   r   r   s   & r   test_paretoRNG.test_paretod  s&    ww~~c2&D	R r   c                F   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# r   )rS   poissonr
   r   r   r/   r8   r   s   & r   test_poissonRNG.test_poissonh  sg    wwr2&D	R wwrxxr	23D	R !r   c                l    V P                   P                  R ^
4      p\        \        V4      ^
8H  4       R# )r   N)rS   powerr
   r   r   s   & r   
test_powerRNG.test_powero  s&    ww}}S"%D	R r   c                n    V P                   P                  ^
^^
4      p\        \        V4      ^
8H  4       R# r   )rS   rO   r
   r   r   s   & r   test_integersRNG.test_integerss  s*    wwB+D	R r   c                    V P                   P                  R ^
4      p\        \        V4      ^
8H  4       \	        V P                   P                  RR7       R# )r   Tr
  N)rS   rayleighr
   r   r8   r   s   & r   test_rayleighRNG.test_rayleighw  s<    wwR(D	R !!40r   c                n    V P                   P                  ^
R^
4      p\        \        V4      ^
8H  4       R# r  )rS   vonmisesr
   r   r   s   & r   test_vonmisesRNG.test_vonmises|  s*    wwC,D	R r   c                n    V P                   P                  R R ^
4      p\        \        V4      ^
8H  4       R# r   N)rS   waldr
   r   r   s   & r   	test_waldRNG.test_wald  s(    ww||Cb)D	R r   c                l    V P                   P                  R ^
4      p\        \        V4      ^
8H  4       R# rH  )rS   weibullr
   r   r   s   & r   test_weibullRNG.test_weibull  s&    wwsB'D	R r   c                   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*   ri   rh   )rS   zipfr
   r   rj   rk   r!   rl   r   s   & r   	test_zipfRNG.test_zipf  s    ww||B#D	R ww||DKK(D	S !ww||DKK(

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

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

e#$r   c                    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   Nr   )rS   
triangularr
   r   r    r/   r!   r   s   & r   test_triangularRNG.test_triangular  sc    ww!!"a+D!"ww!!"bhhsRx&8!<

e#$r   c                   ^ ^ .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,   )rS   multivariate_normalr
   r!   r   )rr   meancovxx_zigx_invs   &     r   test_multivariate_normalRNG.test_multivariate_normal  s    1v1v3x GG''489$%++Dt<9$%++Dt<9$%$$&'r   c                    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# )ri   r   NgUUUUUU?gUUUUUU?)r,   r+   )rS   multinomialr
   r!   r   s   & r   test_multinomialRNG.test_multinomial  s_    ww""3'(:;

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

g%&r   c                n    V P                   P                  R^4      p\        VP                  R8H  4       R# )r   N)r   r   r  )   r  )rS   	dirichletr
   r!   )rr   ss   & r   test_dirichletRNG.test_dirichlet  s)    GGj"-7"#r   c                   \         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   )	pickledumpsrS   loadsr
   r=   r<   r\   r_   )rr   pickunpicks   &  r   test_pickle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                   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 rI   i  )ra   r\   r|   r}   r~   r   r   rP   r/   r_   r
   r<   r-   mod)rr   r   r   r^   bgrB   rC   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                @   \        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# )rZ   rI   N)r   r\   rU   r_   rK   r   rN   r   r   r   r
   r<   rr   rS   r_   r1r   r2s   &     r   test_uniform_floatRNG.test_uniform_float  s    t))%01r
  &&YYrY,**,-s"'ZZ"**Z-2"RXXrzz*
2++1133D3D3J3JKLr   c                B   \        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      @rI   N)r   r\   rU   r_   rQ   r   rN   r   r   r   r
   r<   r  s   &     r   test_gamma_floats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#    rI   Nr   r\   rU   r_   rM   r   rN   r   r   r   r
   r<   r  s   &     r   test_normal_floatsRNG.test_normal_floats       t))+,r
  &&"**5**,-s"'  2:: 6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# r  r  r  s   &     r   test_normal_zig_floatsRNG.test_normal_zig_floats  r  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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   rI   r  r   r   Nr     a   )	rS   r\   r_   r   emptyrM   r   r!   rN   )rr   rS   r_   r   existingdirectsizeds   &      r   test_output_fill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   rI   r  r   Nr  )rS   r\   r_   r   r  rK   r   rN   rr   rS   r_   r   r  r  s   &     r   test_output_filling_uniformRNG.test_output_filling_uniform0  s    WW  &&88D>!&
		h	!&%V&88D

3!&
		hbjj	1!&BJJ7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  )rS   r\   r_   r   r  r   r   rN   r  s   &     r   test_output_filling_exponential#RNG.test_output_filling_exponentialB  s    WW  &&88D>!&
H-!&((d(3V&88D

3!&
HBJJ?!&((d"**(EV&r   c                F   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  r   r  r   rI   r  r   Nr  )rS   r\   r_   r   zerosrQ   r   rN   r  s   &     r   test_output_filling_gammaRNG.test_output_filling_gammaT  s    WW  &&88D>!&
#8,!&""3T"2V&88D

3!&
#82::>!&""3T"DV&r   c                x   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@r   r  r   rI   r  r   Nr  )	rS   r\   r_   r   r-   r  rQ   r   rN   )rr   rS   r_   r   mur  r  s   &      r   #test_output_filling_gamma_broadcast'RNG.test_output_filling_gamma_broadcastf  s    WW  &&YYt_s"88D>!&
"+!&""2"1V&88D

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

"CV&r   c                f   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  rI   r   r  )rS   r   r  r}   raisesrm   rM   rN   
ValueErrorrR   r  rQ   )rr   rS   r   r  s   &   r   test_output_fill_error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                   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,   rI   r   N)r   booliinfointr0   minrs   rS   rO   r   r/   object)
rr   r   upperlowerinfor2   r3   r4   r5   r6   s
   &&        r   test_integers_broadcast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                   \         P                  ! ^.4      p\         P                  ! ^ .4      pV P                  P                  W2VR7      pVP                  R8X  g   Q hV P                  P                  V^ ,          W!R7      pVP                  R8X  g   Q hV P                  P                  W2^ ,          VR7      pVP                  R8X  g   Q hR# )r*   rI   N)r*   )r   r/   rS   rO   r!   )rr   r   highlowr  s   &&   r   test_integers_numpyRNG.test_integers_numpy  s    xx}hhsmggs6yyD   ggs1vt9yyD   ggsG59yyD   r   c                   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,   rI   N)r   r  r  r  r0   r  r}   r  r  rS   rO   )rr   r   r  r  r  s   &&   r   test_integers_broadcast_errors"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__classmethodre   rb   rs   rw   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.  r2  r6  r:  r=  rA  rE  rJ  rN  rR  rW  r\  rf  rj  rp  rx  r}  r  r  r  r  r  r  r  r  r  r  r  r  r  __static_attributes____classdictcell____classdict__s   @r   rW   rW   _   s      # #9.FC"  !8*)
/I(*%1 9M##".
.

(!$
&
!!4
!!!!!!!!!"!!1
!!!*%%	('$8$0LMMMM','$'$'$'&6.B!4 4r   rW   c                   6   a  ] tR tRt o ]R 4       tR tRtV tR# )TestMT19937i  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        \        V n        R # )Ni! ! )r   r\   r]   r^   r   rS   r_   r`   ra   rb   r  rn   rc   s   &r   re   TestMT19937.setup_class  si    #233,,chh78FF0066!#r   c                   \         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# )c   r_   rE   posN)
r   rK   RandomStaterM   	get_staterS   r\   r_   r
   r   )rr   nprgr_   rC   s   &   r   test_numpy_state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  re   r  r  r  r  s   @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,   rZ   Nl         )
r	   r\   r]   r^   r   rS   r_   r`   ra   rb   rc   s   &r   re   TestPhilox.setup_class  sa    "/73,,chh78FF0066!r   r  Nr|   r  r  r  r  re   r  r  r  s   @r   r  r          r   r  c                   0   a  ] tR tRt o ]R 4       tRtV tR# )	TestSFC64i  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 # rY   )
r   r\   r]   r^   r   rS   r_   r`   ra   rb   rc   s   &r   re   TestSFC64.setup_class  sa    !73,,chh78FF0066"r   r  Nr  r  s   @r   r  r    r  r   r  c                   0   a  ] tR tRt o ]R 4       tRtV tR# )	TestPCG64i  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  r[   rc   s   &r   re   TestPCG64.setup_class  sa    !/73,,chh78FF0066!r   r  Nr  r  s   @r   r  r    r  r   r  c                   0   a  ] tR tRt o ]R 4       tRtV tR# )TestPCG64DXSMi
  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  )
r   r\   r]   r^   r   rS   r_   r`   ra   rb   rc   s   &r   re   TestPCG64DXSM.setup_class  sa    %/73,,chh78FF0066!r   r  Nr  r  s   @r   r  r  
  r  r   r  c                   <   a  ] tR tRt o ]R 4       tR tR tRtV t	R# )TestDefaultRNGi  c                   \         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   r\   r]   r^   r   rK   default_rngrS   r_   r`   ra   rb   rc   s   &r   re   TestDefaultRNG.setup_class  sb     "/7&&1FF0066!r   c                `    \        \        V P                  P                  \        4      4       R # r   )r
   r:   rS   r\   r   rq   s   &r   test_default_is_pcg64$TestDefaultRNG.test_default_is_pcg64#  s     	
47700%89r   c                   \         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)NrZ   l	   -tE+I6%Yl  l	   )	~eR :TI*6 r   )r   rK   r  r}   r  r  rq   s   &r   r   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  re   r  r   r  r  r  s   @r   r  r    s&     	 	:
/ /r   r  )Fr   )'rs  	functoolsr   r}   numpyr   numpy.randomr   r   r   r   r   r	   numpy.testingr
   r   r   fixturer  int8int16int32int64uint8uint16r   rP   r   r$   r8   r<   rU   rW   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   