+
    ei c                   s   ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RI	H
t
 ^ RIHtHtHtHt ^ RIHtHtHtHtHtHtHtHtHtHt ]! ]! 4       4      t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. RJORRRR	RRR/RR	RRR//.t]P:                  ! RRR.R7      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+ R,4      t% ! R- R.4      t&]PN                  PQ                  ]R/R07       ! R1 R24      4       t) ! R3 R44      t*]PN                  PW                  R5]4      R6 4       t,R7 t-R8 t.R9 t/]PN                  PW                  R:RKRK..4      ]PN                  PW                  R;RR.4      R< 4       4       t0]PN                  PW                  R=R>R?.4      R@ 4       t1]PN                  PW                  R=R>R?.4      ]PN                  PW                  RARBRC.4      ]PN                  PW                  RD]Pd                  ]P6                  .4      RE 4       4       4       t3RF t4RG t5]PN                  PW                  RH^y^~.4      RI 4       t6R# )L    N)	AxisError)LinAlgError)MT19937	GeneratorRandomStateSeedSequence)
IS_WASMassert_assert_allcloseassert_array_almost_equalassert_array_equalassert_equalassert_no_warningsassert_raisesassert_warnssuppress_warningsseedstepsinitial
key_sha256Z@bb1636883c2707b51c5b7fc26c6927af4430f2e0785a8c7bc886337f919f9edfposjumpedZ@ff682ac12bb140f2d72fba8d3506cf4e46817a0db27aae1683867629031d8d55iV  i$<i8  Z@16b791a1e04886ccbbb4d448d6ff791267dc458ae599475d08d5cced29d11614i7  Z@a0110a2cf23b56be0feaed8f787a7fc84bef0cb5623003d75b26bdfa1c18002ci  i  Z@d306cf01314d51bd37892d874308200951a35265ede54d200f1e065004c3e9eai  Z@0e00ab449f01a5195a83b4aee0dfbc2ce8d46466a640b92e33977d2e42f777f8i  ZmoduleTF)ZscopeZparamsc                 s    V P                   # N)Zparam)Zrequest   &P/usr/lib64/python3.14/site-packages/numpy/random/tests/test_generator_mt19937.pyendpointr   0   s    ==    c                   sD   a  ] tR t^5t o R tR tR tR tR tR t	Rt
V tR# )	TestSeedc                s    \        \        ^ 4      4      p\        VP                  R4      R4       \        \        R4      4      p\        VP                  R4      R4       R# )r            D  N)r   r   r   integersselfs   & r   test_scalarZTestSeed.test_scalar6   sE    gaj!QZZ%s+gj)*QZZ%s+r   c                s   \        \        \        ^
4      4      4      p\        VP	                  R4      R4       \        \        \
        P                  ! ^
4      4      4      p\        VP	                  R4      R4       \        \        ^ .4      4      p\        VP	                  R4      R4       \        \        R.4      4      p\        VP	                  R4      R4       R# )
   r   i  r   r   r    N)r   r   ranger   r!   nparanger"   r%   r   
test_arrayZTestSeed.test_array<   s    geBi()QZZ%s+gbiim,-QZZ%s+gqcl#QZZ%s+gzl+,QZZ%s+r   c                sd    \        \        ^ 4      4      p\        VP                  ^4      R4       R# )r    izN)r   r   r   
random_rawr"   r%   r   test_seedsequenceZTestSeed.test_seedsequenceF   s"    LO$Q\\!_j1r   c                sZ    \        \        \        R4       \        \        \        R4       R# )      ?N      r   	TypeErrorr   
ValueErrorr#   r   r   test_invalid_scalarZTestSeed.test_invalid_scalarJ   s    i$/j'2.r   c                s    \        \        \        R.4       \        \        \        R.4       \        \        \        . RO4       R# )r.   Nr/   r0   )           r1   r4   r   r   test_invalid_arrayZTestSeed.test_invalid_arrayO   s+    i4&1j'B40j'+>?r   c                s8    \        \        \        \        4       R # r   )r   r3   r   r   r4   r   r   test_noninstantized_bitgenZ#TestSeed.test_noninstantized_bitgenU   s    j)W5r    N)__name__
__module____qualname____firstlineno__r&   r+   r-   r5   r9   r:   __static_attributes____classdictcell__Z__classdict__   @r   r   r   5   s)     ,,2/
@6 6r   r   c                   s,   a  ] tR t^Yt o R tR tRtV tR# )TestBinomialc                s    \         P                  ! ^RR7      pR FD  p\        \        P	                  ^ V4      ^ 8H  4       \        \        P	                  W4      V4       KF  	  R# )   intdtypeN)r    r.   r6   )r)   zerosr   randombinomialr   )r#   rI   p   &  r   test_n_zeroZTestBinomial.test_n_zeroZ   sI     %(AFOOAq)Q./vu8%@ r   c                sb    \        \        \        P                  ^\        P
                  4       R# r6   N)r   r3   rJ   rK   r)   nanr4   r   r   test_p_is_nanZTestBinomial.test_p_is_nanc   s    j&//1bff=r   r;   N)r<   r=   r>   r?   rN   rQ   r@   rA   rB   rC   r   rD   rD   Y   s     A> >r   rD   c                   sP   a  ] tR t^ht o R tR tR tR tR tR t	R t
R tR	tV tR
# )TestMultinomialc                s6    \         P                  ^dRR.4       R# )d   皙?皙?NrJ   multinomialr4   r   r   
test_basicZTestMultinomial.test_basici   s    3c
+r   c                s6    \         P                  ^d. RO4       R# )rS   N)rT   rU           rY   rY   rV   r4   r   r   test_zero_probabilityZ%TestMultinomial.test_zero_probabilityl   s    3 9:r   c                s"   \        R\        P                  RR4      u;8*  ;'       d    R8  Mu 4       \        P                  RR^4      p\        \        P                  ! RV8*  4      4       \        \        P                  ! VR8  4      4       R# )   Nir0   )r   rJ   r!   r)   allr#   xr%   r   test_int_negative_intervalZ*TestMultinomial.test_int_negative_intervalo   s\    foob"-2223OOBA&rQw q2vr   c           	     s
   R R .p\        \        P                  ^V\        P                  ! ^4      4      P
                  R4       \        \        P                  ^V\        P                  ! ^4      4      P
                  R4       \        \        P                  ^V\        P                  ! ^4      4      P
                  R4       \        \        P                  ^V^^.4      P
                  R4       \        \        P                  ^VR4      P
                  R4       \        \        P                  ^V\        P                  ! R4      4      P
                  R4       \        \        \        P                  ^V\        ^4      4       R# )r.   Nr6   rE   rE   rE   rE   rE   rE   )
r   rJ   rW   r)   uint32shapearrayr   r2   floatr#   rL   r%   r   	test_sizeZTestMultinomial.test_sizeu   s   #JV''1biil;AA6JV''1biil;AA6JV''1biil;AA6JV''1q!f5;;YGV''1f5;;YGV''1bhhv.>?EE	  	i!3!3QAh	 r   c                s    \        \        \        P                  ^dRR.4       \        \        \        P                  ^dRR.4       R# )rS   皙?rT   ?N皙r   r3   rJ   rW   r4   r   r   test_invalid_probZ!TestMultinomial.test_invalid_prob   s2    j&"4"4cC:Fj&"4"4cC:Fr   c                s    \        \        \        P                  RRR.4       \        \        \        P                  R.^
,          RR.4       R# )r6   rU   rT   Nr0   rl   r4   r   r   test_invalid_nZTestMultinomial.test_invalid_n   s8    j&"4"4b3*Ej&"4"4rdRi#sLr   c                sf   \         P                  ! R 4      pV\         P                  ! VR,          4      ,          pVR,          p\        \	        R4      4      pVP                  ^dVR7      p\        \	        R4      4      pVP                  ^d\         P                  ! V4      R7      p\        WE4       R# )g      .@:r6   N   ۠iU)pvalsN)r)   r*   sumr   r   rW   ascontiguousarrayr   )r#   rL   rq   rJ   
non_contigcontig   &     r   test_p_non_contiguousZ%TestMultinomial.test_p_non_contiguous   s    IIcN	RVVAdG_$7:./''5'9
7:./##Cr/C/CE/J#K:.r   c                sT   \         P                  ! . RO\         P                  R7      pWP                  4       ,          p\	        \        R4      4      pRp\        P                  ! \        VR7      ;_uu_ 4        VP                  ^V4       RRR4       R#   + '       g   i     R# ; i)Gz?rG   rp   z-[\w\s]*pvals array is cast to 64-bit floatingmatchN)
rx   rx   &.>r{   r{   r{   r{   r{   r{   r{   )
r)   re   float32rr   r   r   pytestraisesr3   rW   )r#   r^   rq   rJ   rz      &    r   test_multinomial_pvals_float32Z.TestMultinomial.test_multinomial_pvals_float32   sn    HH :ACMEEG7:./@]]:U33q%( 4333s   9BB'	r;   N)r<   r=   r>   r?   rX   rZ   r_   rh   rm   rn   rw   r   r@   rA   rB   rC   r   rR   rR   h   s4     ,;  GM/) )r   rR   c                   sR  a  ] tR t^t o R tR t]P                  P                  RRR.4      R 4       t	]P                  P                  R. RO4      ]P                  P                  RRR.4      ]P                  P                  R. RO4      R	 4       4       4       t
R
 tR tR tRtV tR# )TestMultivariateHypergeometricc                    R V n         R# )i_ Nr   r4   r   r   setup_methodZ+TestMultivariateHypergeometric.setup_method   s	    	r   c                s   \        \        \        P                  ^
^4       \        \        \        P                  . ROR4       \        \        \        P                  . RO^4       \        \        \        P                  . RO^
4       \        \        \        P                  . ^4       \        \        \        P                  R^e.^^R4       \        P
                  ! \        P                  4      pVP                  pW!P                  P                  ,          p\        \        \        P                  V^d,
          ^e.^^R4       R# )r'   iɚ;	marginalscountN)rE   ro      r0   )r0   rE   ro   )
r   r3   rJ   multivariate_hypergeometricr)   iinfoint64maxrH   itemsize)r#   Z
int64_infoZ	max_int64Zmax_int64_index   &   r   test_argument_validationZ7TestMultivariateHypergeometric.test_argument_validation   s     	j&"D"D!	 	j&"D"D	% 	j&"D"D !	% 	j&"D"D	% 	j&"D"D!	 	j&"D"D #&1k	; XXbhh'
NN	#'7'7'@'@@j&"D"D&,c2Aq'	Cr   methodr   r   c                s   \        \        V P                  4      4      pVP                  . RO^ VR7      p\	        V. RO4       VP                  . ^ VR7      p\	        V. 4       VP                  . ^ ^VR7      p\	        V\
        P                  ! R\
        P                  R7      4       VP                  . RO^ VR7      p\	        V. RO4       VP                  . RO^VR7      p\	        V. R	O4       . R
OpVP                  V\        V4      VR7      p\	        W44       VP                  . RO^^VR7      p\	        V. RO.^,          4       R# )r    r   sizer   rG   Nr    r    r    )r6   r    r6   rE   ro   )	   r    r    )ro   r    r    )r6   r6   r    r6   r6   ro   r   r[   )	r   r   r   r   r   r)   emptyr   rr   )r#   r   rJ   r^   colors   &&   r   test_edge_casesZ.TestMultivariateHypergeometric.test_edge_cases   s(    7499-...y!F.K1i(..r1V.D1b!..r11V.L1bhhvRXX>?..y!F.K1i(..y!F.K1i( ..vs6{6< / >1%..y"16< / >1ykAo.r   nsampler   c           	     s   \        \        V P                  4      4      p\        P                  ! . R	O4      pVP                  WQVVR7      p\        V\        4      '       d   V3VP                  ,           pMW5P                  ,           p\        VP                  V4       \        V^ 8  P                  4       4       \        We8*  P                  4       4       \        VP                  R
R7      \        P                  ! W1\        R7      4       \        V\        4      '       dF   VR8  d=   \        VP!                  ^ R7      W,          VP                  4       ,          RRR7       R# R# R# )r'   r   axis)Z
fill_valuerH   順 MbP?{Gzt?)rtolZatolN)r'   r[         r0   )r   r   r   r)   re   r   
isinstancerF   rd   r   r   r\   r   rr   Zfullr	   mean)r#   r   r   r   rJ   r   sampleexpected_shapes   &&&&    r   test_typical_casesZ1TestMultivariateHypergeometric.test_typical_cases   s    7499-./*33FT;A 4 CdC  "Wv||3N!LL0NV\\>21!!#$!&&()6::2:.7743G	IdC  TV^ FKKQK/#,vzz|;!%E3 &4 r   c                s    \        \        V P                  4      4      pVP                  . RO^^RR7      p\        P
                  ! . RO. RO. RO. RO. RO.4      p\        W#4       R# )ro   r   r   Nr   )rE   r6   rE   r6   r6   ro   rE   r    ro   r   r   r   r   r)   re   r   r#   rJ   r   expectedr   r   test_repeatability1Z2TestMultivariateHypergeometric.test_repeatability1  s_    7499-.33Iqq;B 4 D88Y&&&&	( )
 	6,r   c                s    \        \        V P                  4      4      pVP                  . RO^2^RR7      p\        P
                  ! . RO. RO. RO. RO. RO.4      p\        W#4       R# )	r   r   r   Nr      2   )r         )      r   )r      i   )      r   r   r   r   r   test_repeatability2Z2TestMultivariateHypergeometric.test_repeatability2  sb    7499-.33L"9:;F 4 H 88\))))	+ ,
 	6,r   c                s    \        \        V P                  4      4      pVP                  . RO^^RR7      p\        P
                  ! . RO. RO. RO. RO. RO.4      p\        W#4       R# )	r   r   r   Nr   )rE   ro   r   )r[   ro   r   )rE   r[   r[   )r6   r[      r   r   r   r   test_repeatability3Z2TestMultivariateHypergeometric.test_repeatability3  sb    7499-.33L"9:;F 4 H 88Y&&&&	( )
 	6,r   r   N)   r   i-   i7   )r[   rE   ro   iI )r<   r=   r>   r?   r   r   r}   markparametrizer   r   r   r   r   r@   rA   rB   rC   r   r   r      s     CB [[X'=>/ ?/D [[Y8[[X'=>[[V%893 : ? 93,	-
-
- 
-r   r   c                   s8   a  ] tR tRt o R tR tR tR tRtV t	R# )TestSetStatei%  c                s\   R V n         \        \        V P                   4      4      V n        V P                  P                  V n        V P                  P
                  V n        V P
                  R,          V P
                  R,          R,          V P
                  R,          R,          3V n        R# )Ibit_generatorstatekeyr   N)r   r   r   rgr   r   legacy_stater4   r   r   r   ZTestSetState.setup_method&  s{    	GDII./!WW22''--
!ZZ8!ZZ07!ZZ079r   c                s    V P                   P                  ^R7      pV P                  V P                  n        V P                   P                  ^R7      p\	        \
        P                  ! W8H  4      4       R# ro   r   N)r   standard_normalr   r   r   r)   r\   )r#   oldnewrM   r   test_gaussian_resetZ TestSetState.test_gaussian_reset/  sU    gg%%1%-#':: gg%%1%-sz"#r   c                s8   V P                   P                  4        V P                  P                  pV P                   P                  ^R7      pWP                  n        V P                   P                  ^R7      p\	        \
        P                  ! W#8H  4      4       R# r   )r   r   r   r   r   r)   r\   )r#   r   r   r   r   r    test_gaussian_reset_in_media_resZ-TestSetState.test_gaussian_reset_in_media_res6  sr     	!""((gg%%1%-#( gg%%1%-sz"#r   c                s>    V P                   P                  R R 4       R# r.   N)r   negative_binomialr4   r   r   test_negative_binomialZ#TestSetState.test_negative_binomialA  s     	!!#s+r   )r   r   r   r   r   N)
r<   r=   r>   r?   r   r   r   r   r@   rA   rB   rC   r   r   r   %  s     9$	$, ,r   r   c                   s
  a  ] tR tRt o ]P
                  t]]P                  ]P                  ]P                  ]P                  ]P                  ]P                  ]P                  ]P                   .	tR tR tR tR tR tR tR tR	 tR
 tR tR t]P<                  P?                  RR$]P@                  ! . R%O4      3R#]P@                  ! . R&O4      3R']P@                  ! . R(O4      3.4      R 4       t!R t"R t#R t$R t%R t&R t'R t(]P<                  PR                  ]P<                  P?                  RR^]P                  R3R^]P                  R3RR]P                  R3RR]P                  R3.4      R  4       4       t*R!t+V t,R"# ))TestIntegersiG  c                sJ    \        \        V P                  ^V\        R7       R# r6   r   rH   N)r   r2   rfuncrf   )r#   r      &&r   test_unsupported_typeZ"TestIntegers.test_unsupported_typeN  s    iQOr   c           
     s   V P                    EF  pV\        J d   ^ M\        P                  ! V4      P                  pV\        J d   ^M&\        P                  ! V4      P
                  ^,           pV'       d
   V^,
          MTp\        \        V P                  V^,
          VWR7       \        \        V P                  W4^,           WR7       \        \        V P                  WCWR7       \        \        V P                  ^^ VVR7       \        \        V P                  V^,
          .VWR7       \        \        V P                  V.V^,           .WR7       \        \        V P                  V.V.WR7       \        \        V P                  ^^ .WR7       \        \        V P                  V^,           .V.WR7       EK  	  R# r    r   N	itypeboolr)   r   minr   r   r3   r   r#   r   dtlbndubndr   r   test_bounds_checkingZ!TestIntegers.test_bounds_checkingQ  sP   **Bd
1(8(8Dd
1(8(81(<D'4!8TD*djj$(D#+7*djj$q#+7*djj$#+7*djj!Q "$ *djj4!8*d#+7*djj4&4!8*#+7*djj4&4&#+7*djj!aS#+7*djj4!8*tf#+7 7+ r   c           
     sb   V P                    EF  pV\        J d   ^ M\        P                  ! V4      P                  pV\        J d   ^M+\        P                  ! V4      P
                  V'       * ,           p\        \        V P                  V^,
          .^,          V.^,          WR7       \        \        V P                  V.^,          V^,           .^,          WR7       \        \        V P                  WC.^,          WR7       \        \        V P                  ^.^,          ^ WR7       EK   	  R# r   r   r   r   r   test_bounds_checking_arrayZ'TestIntegers.test_bounds_checking_arrayj  s    **Bd
1(8(8Dd
1(8(8L(ID*djj4!8*q.4&1*#+7*djj4&1*!8*q.8G*djj$
#+7*djj1#'1#+7 7 r   c                s   V P                    EFy  pV\        J d   ^ M\        P                  ! V4      P                  pV\        J d   ^M&\        P                  ! V4      P
                  ^,           pV'       d
   V^,
          MTpV'       * pV^,
          p\        V P                  WfV,           RWR7      V4       \        V P                  V.We,           RWR7      V4       Tp\        V P                  WfV,           RWR7      V4       \        V P                  WfV,           .RWR7      V4       W4,           ^,          p\        V P                  WfV,           RWR7      V4       \        V P                  V.We,           .RWR7      V4       EK|  	  R# )r    r   r   r   rH   Nr   r   r)   r   r   r   r   r   )r#   r   r   r   r   Zis_opentgt   &&     r   test_rng_zero_and_extremesZ'TestIntegers.test_rng_zero_and_extremesx  st   **Bd
1(8(8Dd
1(8(81(<D'4!8TD"lG(CCwT-5 $ ABEGSE3=t-5 $ ABEG CCwT-5 $ ABEGC-t-5 $ ABEG ;1$CCwT-5 $ ABEGSECM?)- $ L+ r   c           
     s   R pV P                    EFC  pV\        J d   ^ M\        P                  ! V4      P                  pV\        J d   ^M&\        P                  ! V4      P
                  ^,           pV'       d
   V^,
          MTpV^,
          p\        V P                  V.V^,           .W#R7      V4       \        V P                  V.V,          V^,           .V,          VR7      V4       \        V P                  V.V,          V^,           .V,          W#R7      V4       Tp\        V P                  V.V^,           .W#R7      V4       \        V P                  V.V,          V^,           .V,          VR7      V4       \        V P                  V.V,          V^,           .V,          W#R7      V4       WE,           ^,          p\        V P                  V.V^,           .W#R7      V4       \        V P                  V.V,          V^,           .V,          VR7      V4       \        V P                  V.V,          V^,           .V,          W#R7      V4       EKF  	  R# )r   r   rH   rG   Nr   )r#   r   r   r   r   r   r   r   r    test_rng_zero_and_extremes_arrayZ-TestIntegers.test_rng_zero_and_extremes_array  s4   **Bd
1(8(8Dd
1(8(81(<D'4!8TD(CSEC!G9)- $ 9:=?sQwi$.b $ :;>@sQwi$.T $ EFIK CSEC!G9)- $ 9:=?sQwi$.b $ :;>@sQwi$.T $ EFIK ;1$CSEC!G9)- $ 9:=?sQwi$.b $ :;>@sQwi$.T $ EFIK5 r   c                s   V P                    F  pV\        J d   ^ M\        P                  ! V4      P                  pV\        J d   ^M&\        P                  ! V4      P
                  ^,           pV'       d
   V^,
          MTp V P                  W4WR7       K  	  R#   \         d!   p\        R\        T4      ,          4      hRp?ii ; ir    r   zMNo error should have been raised, but one was with the following message:

%sN
r   r   r)   r   r   r   r   Z	ExceptionZAssertionErrorZstrr#   r   r   r   r   Ze   &&    r   test_full_rangeZTestIntegers.test_full_range  s     **Bd
1(8(8Dd
1(8(81(<D'4!8TD@

4
C   @$ &68;A&? @ @@s   BC'CCc                s   V P                    F  pV\        J d   ^ M\        P                  ! V4      P                  pV\        J d   ^M&\        P                  ! V4      P
                  ^,           pV'       d
   V^,
          MTp V P                  V.^,          V.WR7       K  	  R#   \         d!   p\        R\        T4      ,          4      hRp?ii ; ir   r   r   r   r   test_full_range_arrayZ"TestIntegers.test_full_range_array  s     **Bd
1(8(8Dd
1(8(81(<D'4!8TD@

D6A:v
K   @$ &68;A&? @ @@s   B&&C1CCc           
     s   \        \        4       4      pV P                  R ,           F_  pR FV  pV P                  ^WA,
          RWR7      p\	        VP                  4       V8  4       \	        VP                  4       ^8  4       KX  	  Ka  	  V P                  ^ ^V,
          RV\        R7      p\	        VP                  4       ^8  4       \	        VP                  4       ^ 8  4       R# )r6   NNr   N)r   r      i   )r   r   r   r   r   r   r   r   )r#   r   rJ   r   r   Zvalsr   r   test_in_bounds_fuzzZ TestIntegers.test_in_bounds_fuzz  s    79%**R..B"zz!T_7+3 " ?
T)*
a(	 # ! zz!Q\( $  &
Q
a r   c           	     s\   V P                    EF  pV\        J d   ^ M\        P                  ! V4      P                  pV\        J d   ^M&\        P                  ! V4      P
                  ^,           pV'       d
   V^,
          MTpRp\        \        R4      4      pVP                  W4WQVR7      p\        \        R4      4      pVP                  V.V.VWR7      p\        \        R4      4      pVP                  V.V,          V.V,          WQVR7      p	\        Wx4       \        Wy4       EK  	  R# )r    r     r   N
r   r   r)   r   r   r   r   r   r!   r   )
r#   r   r   r   r   r   rJ   ZscalarZscalar_arrayre   s
   &&        r   test_scalar_array_equivZ$TestIntegers.test_scalar_array_equiv  s   **Bd
1(8(8Dd
1(8(81(<D'4!8TDDwt}-F__Td&( % *F wt}-F!??D6D6/7 + CL wt}-FOOTFTMD6#4$*. $ MEv4v-% r   c                sN   R RRRRRRRRR	R
RRRRRRR	/	pV P                   R,           F  p\        \        R4      4      p\        P                  R8X  d   VP                  ^ ^V,
          RVVR7      pM+VP                  ^ ^V,
          RVVR7      P                  4       p\        P                  ! V4      P                  4       p\        V\        P                  ! V4      P                  ,          V8H  4       K  	  \        \        R4      4      pVP                  ^ ^V,
          RV\        R7      P                  \        P                   4      p\        P                  ! V4      P                  4       p\        V\        P                  ! \        4      P                  ,          V8H  4       R# )r   Z@053594a9b82d656f967c54869bc6970aa0358cf94ad469c81478459c6a90eee3int16Z@54de9072b6ee9ff7f20b58329556a46a447a8a29d67db51201bf88baa6e4e5d4int32Z@d3a0d5efb04542b25ac712e50d21f39ac30f312a5052e9bbb1ad3baa791ac84br   Z@14e224389ac4580bfbdccb5697d6190b496f91227cf67df60989de3d546389b1int8Z@0e203226ff3fbbd1580f15da4621e5f7164d0d8d6b51696dd42d004ece2cbec1uint16rc   uint64uint8r   r   littler   r   N)r   r   r   sys	byteorderr!   byteswaphashlibsha256	hexdigestr   r)   rH   Znamer   viewr   )r#   r   r   r   rJ   valresr   r   test_repeatabilityZTestIntegers.test_repeatability  sv    [[[[[[[[[] **R..Bwt}-F }}(ooaXD8') & + ooaXD8') & ++38:  ..%//1CC))*c12 ! 74=)ooaXD8#  %%)T"''] 	nnS!++-BHHTN''(C/0r   c           	     s   V P                    EF?  pV\        \        P                  39   d   ^ M\        P                  ! V4      P                  pV\        \        P                  39   d   ^M&\        P                  ! V4      P
                  ^,           pV'       d
   V^,
          MTp\        \        R4      4      pVP                  W4RVVR7      p\        \        R4      4      pVP                  V.R,          WAVR7      p\        Wg4       \        \        R4      4      pVP                  V.R,          V.R,          WR7      p\        Wg4       EKB  	  R# )r    r   r   r   r   Nr   )r#   r   r   r   r   rJ   r  Zval_bc   &&      r   test_repeatability_broadcastingZ,TestIntegers.test_repeatability_broadcasting  s   **BtRWWo-1288B<3C3CDtRWWo-1288B<3C3Ca3GD'4!8TD wt}-F//$4(#% " 'C wt}-F__dVd]D&( % *F s+wt}-F__dVd]TFTM)1 % =F s+) r   zbound, expectedc                s    R \        V4      3 FA  p\        \        R4      4      pVP                  WR7      p\	        YSe   TMV^ ,          4       KC  	  R # )Nr   r   )lenr   r   r!   r   )r#   Zboundr   r   rJ   r^      &&&   r   !test_repeatability_32bit_boundaryZ.TestIntegers.test_repeatability_32bit_boundary.  sH     3x=)Dwt}-F1A(8HhqkJ *r   c           
     s8   \         P                  ! . RO. RO. RO.. RO. RO. R	O.. R
O. RO. RO.. RO. RO. RO.. RO. RO. RO..4      pR FK  p\        \        R4      4      pVP	                  R.^ .^... ROVR7      p\        YBe   TMV^ ,          4       KM  	  R# )
`Ni90  r   )r  l   Y/ i0b)i)H{TiP-iTq)l   C iZ'l   !g )l   k40 l   n2c l   DBJ )i|(iy+l   _&A )ip@GiG^l   J|xK )l   
f l   Dmv l   E"g )i>{l   wT2L iJQ)iQ//itLol   k )i\siJi)i=l   }D l   E9l )l   
+x i#Jl   b )i0i7Ol   rn )ixiiAi.t)l   q/q i;-/i)N)r[   ro   ro   r0   )r   r8          )r)   re   r   r   r!   r   )r#   desiredr   rJ   r^   r   r   .test_repeatability_32bit_boundary_broadcastingZ;TestIntegers.test_repeatability_32bit_boundary_broadcasting=  s    ((AAAC BAAC BAAC BAAC BAACD E &Dwu~.F"sQC 0 =%)   +A q-='71:N &r   c                s   \         P                  ^ ^^A,          3RRR3\         P                  R/pV EF  pW#,           EF}  pVw  rVWa,
          p\         P                  ! V.^
,          .4      p\         P                  ! V.^
,          4      p\	        \
        \        P                  WVWR7       \	        \
        \        P                  WvWR7       \	        \
        \        P                  WXWR7       \	        \
        \        P                  WxWR7       \         P                  ! V.^
,          .\        R7      p	\         P                  ! V.^
,          \        R7      p
\	        \
        \        P                  WWR7       \	        \
        \        P                  WZWR7       \	        \
        \        P                  WWR7       EK  	  EK  	  R# )r    r   rG   N)r0               r'   r   r    r    ))r    l            )l         r  r  r  )        r  )	r)   r   r   re   r   r3   rJ   r!   object)r#   r   ZconfigsrH   configlowhighZlow_aZhigh_aZlow_oZhigh_os   &&         r   &test_int64_uint64_broadcast_exceptionsZ3TestIntegers.test_int64_uint64_broadcast_exceptionsT  sI   991b5z;H88 89 E!.."	3%"*.4&2+.j&//3'/>j&//5'/>j&//3'/>j&//5'/> 3%"*V<4&2+V<j&//5'/>j&//3'/>j&//5'/> >) ) r   c                s   \         P                  p\         P                  ! \         P                  4      P                  p\         P                  ! \         P                  ! \         P                  4      P                  4      p\         P                  ! \         P                  ! \         P                  4      P                  ^,           V,
          4      p\
        P                  WEWR7      p\        Wc4       R# r   )r)   r   r   r   r   rJ   r!   r   )r#   r   r   r   r   r   actualr   r   test_int64_uint64_corner_caseZ*TestIntegers.test_int64_uint64_corner_casep  s     XXhhrxx $$xx*../yy"((+//!3h>? hIV!r   c                s   V P                    F  pV\        J d   ^ M\        P                  ! V4      P                  pV\        J d   ^M&\        P                  ! V4      P
                  ^,           pV'       d
   V^,
          MTpV\        J d   \        P                  MTpV P                  W4WR7      p\        VP                  V4       K  	  \        \        3 F  pV\        J d   ^ M\        P                  ! V4      P                  pV\        J d   ^M&\        P                  ! V4      P
                  ^,           pV'       d
   V^,
          MTpV P                  W4WR7      p\        VR4      '       d   Q h\        \        V4      V4       K  	  R# )r    r   rH   N)r   r   r)   r   r   r   r   r   rH   rF   ZhasattrZtyper#   r   r   r   r   r   r   r   test_respect_dtype_singletonZ)TestIntegers.test_respect_dtype_singleton  s   **Bd
1(8(8Dd
1(8(81(<D'4!8TD$JBBZZXZHFr*  +Bd
1(8(8Dd
1(8(81(<D'4!8TD ZZXZHFvw////fr* r   c                s   V P                    F  pV\        J d   ^ M\        P                  ! V4      P                  pV\        J d   ^M&\        P                  ! V4      P
                  ^,           pV'       d
   V^,
          MTpV\        J d   \        P                  MTpV P                  V.V.WR7      p\        VP                  V4       V P                  V.^,          V.^,          VVR7      p\        VP                  V4       K  	  R# r   )	r   r   r)   r   r   r   r   r   rH   r  r   r   test_respect_dtype_arrayZ%TestIntegers.test_respect_dtype_array  s    **Bd
1(8(8Dd
1(8(81(<D'4!8TD$JBBZZZLFr*ZZ
TFQJ&(   *Fr* r   c           	     s   V P                    F  pV P                  ^ ^ RWR7      pVP                  R8X  g   Q hVP                  V8X  g   Q hV P                  ^ R^ VVR7      P                  R8X  g   Q h\	        \
        P                  ^ ^ RR7      P                  R4       \	        \
        P                  ^ R^ R7      P                  R4       \	        \
        P                  ^
^
^ R7      P                  R4       K  	  R# )r    r   r   Nro   r    r   r    )r   r   rd   rH   r   rJ   r!   )r#   r   r   r      &&  r   test_zero_sizeZTestIntegers.test_zero_size  s    **BZZ1i(ZMF<<9,,,<<2%%%::aa($&  ((-6 6 6AI>DD"$Ca8>>ERa8>>E r   c           	     s    \         P                  R 8X  d   RMRp\        P                  ! \        4      ;_uu_ 4        \
        P                  ^ ^^
VR7       RRR4       R#   + '       g   i     R# ; i)bigz<i4z>i4r   N)r   r   r}   r~   r3   rJ   r!   )r#   Zother_byteord_dtr%   r   test_error_byteorderZ!TestIntegers.test_error_byteorder  sH    $'MMU$:5]]:&&OOAs3COD '&&&s   A  A1	zsample_size,high,dtype,chi2maxi@KL g     @_@g     b@i i	  g     ȩ@i  g     d@c                s    \         P                  W!VR 7      p\        P                  ! VRR7      w  rgW,          pWx,
          ^,          V,          P	                  4       p	W8  g   Q hR# )r   T)Zreturn_countsN)rJ   r!   r)   Zuniquerr   )
r#   Zsample_sizer  rH   Zchi2maxsamplesZvaluesZcountsr   Zchi2s
   &&&&&     r   $test_integers_small_dtype_chisquaredZ1TestIntegers.test_integers_small_dtype_chisquared  sU     //$/F7$?%"Q&1668~~r   r;   Nr8   r   )iui,YQiXgi$#Pl   bA i{El   /Yi )ui,YQXgi%#Pl   bA i|El   0Yi r  )r'  r(  l   bA l   1Yi i{,miuHl   HM )-r<   r=   r>   r?   rJ   r!   r   r   r)   r   r   r   r   r   rc   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r}   r   r   re   r
  r  r  r  r  r  r!  r#  slowr&  r@   rA   rB   rC   r   r   r   G  s    OOE 277BHHbhh		XXryy"((BII7EP7274K>@@! .*!1F,. [[
RXX C D 
E
 ? @ 
A
RXX C D 
E		FKKO.>8".+*+FE [[[[=
1bggu	%
1bhh	&
D"((F	+
D"))V	,	
 r   r   c                   s  a  ] tR tRt o R tR tR tR tR tR t	R t
R	 t]P                  P                  R
]P                   ]P"                  3]P$                  ]P&                  3.4      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.]P                  P                  R&]/]0.4      ]P                  P                  R'R(]Pb                  ! . RO. RO.4      3^ ]Pb                  ! . RO. RO.4      3^]Pb                  ! . RO. RO.4      3.4      R) 4       4       t2R* t3R+ t4]P                  P                  R,R^.4      R- 4       t5R. t6R/ t7R0 t8R1 t9R2 t:R3 t;R4 t<R5 t=R6 t>R7 t?]P                  P                  R8 4       tA]P                  P                  R9. RO. RO. RO. RO. RO. ROR:.. RO.4      R; 4       tBR< tCR= tDR> tER? tFR@ tGRA tHRB tIRC tJRD tKRE tLRF tMRG tNRH tORI tPRJ tQRK tRRL tS]P                  P                  RM]P                  ! R:R4      RN]P                  RO.4      RP 4       tVRQ tW]P                  P                  ]YRRRS7      ]P                  P                  RT. RO4      RU 4       4       tZ]P                  P                  RV^ .R..3RW.^..3.4      RX 4       t[]P                  P                  RT. RO4      RY 4       t\RZ t]R[ t^R\ t_R] t`R^ taR_ tbR` tcRa tdRb teRc tfRd tgRe thRf tiRg tjRh tkRi tlRj tmRk tnRl toRm tpRn tqRo trRp tsRq ttRr tuRs tvRt twRu txRv tyRw tzRx t{Ry t|Rz t}R{ t~R| tR} tR~ t]P                  P                  RRR.4      R 4       t]P                  P                  RR]EP                  ) R]EP                  R.4      ]P                  P                  R. RO4      R 4       4       tR tR tR tR tR tRtV tR(# )TestRandomDisti  c                r   )r   Nr   r4   r   r   r   ZTestRandomDist.setup_method  s	    	r   c                s    \        \        V P                  4      4      pVP                  R^cRR7      p\        P
                  ! RR.^)^%.RR..4      p\        W#4       R# )	c   r   Nro   rE   ir   r   r   r!   r)   re   r   r#   rJ   r  r  r   r   test_integersZTestRandomDist.test_integers  sR    7499-.bv6((S#JR3*=>6+r   c                s    \        \        V P                  4      4      pVP                  ^ ^cR\        P
                  R7      p\        P                  ! ^	^.^F^D.^^)..\        P
                  R7      p\        W#4       R# )r    r   rG   Nr-  )r   r   r   r!   r)   rc   re   r   r2  r   r   test_integers_maskedZ#TestRandomDist.test_integers_masked  s`     7499-.BV299E((QGb"X2w7ryyI6+r   c                s    \        \        V P                  4      4      pVP                  R^cRRR7      p\        P
                  ! RR.^)^&.RR	..4      p\        W#4       R# )
r+  T)r   r   Nr,  r-  r.  r/  r0  ir1  r2  r   r   test_integers_closedZ#TestRandomDist.test_integers_closed  sT    7499-.bvE((S#JR3*=>6+r   c                s   \         P                  \        P                  ! R 4      P                  \        P                  ! R 4      P                  RR7      p\        P                  ! R 4      P                  p\        W4       R# )ZlTr   N)rJ   r!   r)   r   r   r   )r#   r  r  rM   r   test_integers_max_intZ$TestRandomDist.test_integers_max_int  sW     #!2!2BHHSM4E4E*. ! 0 ((3-##V%r   c                s@   \        \        V P                  4      4      pVP                  R	4      p\        P
                  ! RR.RR.RR..4      p\        W#^R7       \        \        V P                  4      4      pVP                  4       p\        W#R
,          ^R7       R# )ro   gG0Ը?gæ?g2?gu	A?gH
>H?g;dE?ZdecimalNr-  r  r   r   r   rJ   r)   re   r
   r2  r   r   test_randomZTestRandomDist.test_random  s    7499-.v&((.0AB.0AB.0ABD E 	"&2>7499-.!&$-Dr   c                s    \        \        V P                  4      4      pVP                  R	4      p\        P
                  ! RR.RR.RR..4      p\        W#^R7       R# )
ro   CԸ?gP?gtX?g81
A?grO>H?g88dE?r8  Nr-  r9  r2  r   r   test_random_floatZ TestRandomDist.test_random_float  sY    7499-.v&((Y4'4'46 7 	"&1=r   c                s    \        \        V P                  4      4      pVP                  \        P
                  R 7      pRp\        W#^R7       R# )rG   r;  r8  N)r   r   r   rJ   r)   r|   r
   r2  r   r   test_random_float_scalarZ'TestRandomDist.test_random_float_scalar
  s8    7499-.RZZ0!&1=r   zdtype, uint_view_typec                s    \        \        V P                  4      4      pVP                  R VR7      p\        P
                  ! VP                  V4      ^,          4      pRTu;8  d	   R8  g   Q h Q hR# )r   rG   i$^  i,e  N)r   r   r   rJ   r)   Zcount_nonzeror  )r#   rH   Zuint_view_typerJ   r   Znum_ones_in_lsbr	  r   test_random_distribution_of_lsbZ.TestRandomDist.test_random_distribution_of_lsb  sb     7499-.vU3**6;;~+F+JK ......r   c                sF    \        \        \        P                  R R7       R# )r   rG   N)r   r2   rJ   r4   r   r   test_random_unsupported_typeZ+TestRandomDist.test_random_unsupported_type  s    ig>r   c                s    \        \        V P                  4      4      pVP                  ^^4      p\        P
                  ! . RO\        P                  R7      p\        W#4       R# )r   rG   N)r    r    rE   rE   r   r   r   choicer)   re   r   r   r2  r   r   test_choice_uniform_replaceZ*TestRandomDist.test_choice_uniform_replace  sA    7499-.q!$((<rxx86+r   c                s    \        \        V P                  4      4      pVP                  ^^. ROR7      p\        P
                  ! . RO\        P                  R7      p\        W#4       R# )r   rL   rG   N)皙?rD  皙?rE  )r    r6   r    r6   r@  r2  r   r   test_choice_nonuniform_replaceZ-TestRandomDist.test_choice_nonuniform_replace%  sF    7499-.q!';<((<rxx86+r   c                s\   \        \        V P                  4      4      pVP                  ^^RR7      p\        P
                  ! . RO\        P                  R7      p\        W#4       VP                  ^^RRR7      p\        P                  ! ^\        P                  R7      p\        W#4       R# )r   FreplacerG   )rH  shuffleNr   )	r   r   r   rA  r)   re   r   r   r*   r2  r   r   test_choice_uniform_noreplaceZ,TestRandomDist.test_choice_uniform_noreplace+  sw    7499-.q!U3((9BHH56+q!UEB))ARXX.6+r   c                s    \        \        V P                  4      4      pVP                  ^^R. ROR7      p\        P
                  ! . RO\        P                  R7      p\        W#4       R# )r   FrH  rL   rG   N)rE  333333?r.   rE  )r    rE   ro   r@  r2  r   r    test_choice_nonuniform_noreplaceZ/TestRandomDist.test_choice_nonuniform_noreplace4  sH    7499-.q!U6JK((9BHH56+r   c                s    \        \        V P                  4      4      pVP                  . RO^4      p\        P
                  ! . RO4      p\        W#4       R# )aN)rN  bcZd)rN  rN  rP  rP  r   r   r   rA  r)   re   r   r2  r   r   test_choice_nonintegerZ%TestRandomDist.test_choice_noninteger:  s=    7499-.3Q7((/06+r   c                s    \        \        V P                  4      4      pVP                  ^ ^.^^.^^.^^..^4      p\        P
                  ! ^ ^.^ ^.^^..4      p\        W#4       R# r    NrQ  r2  r   r   )test_choice_multidimensional_default_axisZ8TestRandomDist.test_choice_multidimensional_default_axis@  sg    7499-.AAAA?C((QFQFQF346+r   c                s    \        \        V P                  4      4      pVP                  ^ ^.^^.^^.^^..^^R7      p\        P
                  ! ^ .^.^.^..4      p\        W#4       R# )r    r   NrQ  r2  r   r   (test_choice_multidimensional_custom_axisZ7TestRandomDist.test_choice_multidimensional_custom_axisF  si    7499-.AAAA?K((QC!qcA3/06+r   c           	     s<   \         P                  p\        \        VR
^4       \        \        VR^4       \        \        V. ^4       \        \        V. RO^RR.RR..R7       \        \        V^^.^. ROR7       \        \        V^^.^RR.R7       \        \        V^^.^RR.R7       \        \        V. RO^RR7       \        \        V. RORRR7       \        \        V. RORRR7       \        \        V. RORRR7       \        \        V. RO^R. ROR7       R	# )r6         @      ?rC  rD  ri   FrG  rK  Nr0   )r6   rE   ro   r   )rD  rD  rT   rk   r   r7   )r0   )r0   r6   )r6   r    r    )rJ   rA  r   r3   )r#   r   r%   r   test_choice_exceptionsZ%TestRandomDist.test_choice_exceptionsL  s    j&"a0j&"a0j&"a0j&,d|4	6j&1a&!Gj&1a&!T{Cj&1a&!SzBj&)QFj&)RGj&)UEJj&)WeLj&)Q#y	2r   c                s
   R R.p\        \        P                  ! \        P	                  ^RR7      4      4       \        \        P                  ! \        P	                  ^RR7      4      4       \        \        P                  ! \        P	                  ^RVR7      4      4       \        \        P                  ! \        P	                  ^RVR7      4      4       \        \        P                  ! \        P	                  ^^.RR7      4      4       \        \        P	                  R.RR7      RJ 4       \        P
                  ! ^^.4      p\        P                  ! ^\        R7      pW#^ &   \        \        P	                  VRR7      VJ 4       Rp\        \        P                  ! \        P	                  ^VRR7      4      '       * 4       \        \        P                  ! \        P	                  ^VRR7      4      '       * 4       \        \        P                  ! \        P	                  ^VRVR7      4      '       * 4       \        \        P                  ! \        P	                  ^VRVR7      4      '       * 4       \        \        P                  ! \        P	                  ^^.VRR7      4      '       * 4       \        \        P	                  R.VRR7      P                  ^ 8H  4       \        P
                  ! ^^.4      p\        P                  ! ^\        R7      pW#^ &   \        \        P	                  W4RR7      P                  4       VJ 4       Rp. ROp\        \        P	                  ^VRR7      P                  V4       \        \        P	                  ^VRR7      P                  V4       \        \        P	                  ^VRVR7      P                  V4       \        \        P	                  ^VRVR7      P                  V4       \        \        P	                  \        P                  ! ^4      VRR7      P                  V4       \        \        P                  ^ ^ RR7      P                  R4       \        \        P                  ^ R^ R7      P                  R4       \        \        P                  ^
^
^ R7      P                  R4       \        \        P	                  ^ ^ R7      P                  R4       \        \        P	                  . RR7      P                  R4       \        \        P	                  R	R
.RR7      P                  R4       \        \        \        P                  . ^
4       R# )rE  rj   TrG  FrK  NrG   r   rN  rO  r;   r   )rE  rE  rE  rE  rD  rT   r  r  r  )r   r)   ZisscalarrJ   rA  re   r   r  ZndimZitemr   rd   r*   r!   r   r3   )r#   rL   rN  arrr$   r   r   test_choice_return_shapeZ'TestRandomDist.test_choice_return_shape^  s   #JFMM!TM:;<FMM!UM;<=FMM!TQM?@AFMM!UaM@ABFMM1a&$M?@Atfd3t;<HHaVhhq'Ac40A56 BKKaD ABBCBKKaE BCCDBKKaDA FGGHBKKaEQ GHHIBKKq!fa FGGHtfa6;;q@AHHaVhhq'Acd388:a?@ *V]]1a]6<<a@V]]1a]7==qAV]]1a];AA1EV]]1a!]<BBAFV]]299Q<D]AGGK 	V__Q	_:@@)LV__Q!_4::DAV__R!_4::DAV]]11]-33T:V]]2D]177>V]]C:I]>DD	 j&--R8r   c                s~    \         P                  ! . RO4      p. ROp\        \        \        P
                  WR7       R# )*   NrC  )r[  r6   rE   )NNN)r)   re   r   r3   rJ   rA  )r#   rN  rL   rM   r   test_choice_nan_probabilitiesZ,TestRandomDist.test_choice_nan_probabilities  s%    HHZ j&--8r   c                sl   \         P                  ! ^
4      ^,          pRVR&   \        \        V P                  4      4      pVP                  ^^VR,          R7      p\        \        V P                  4      4      pVP                  ^^\         P                  ! VR,          4      R7      p\        W44       R# )r'   rV  :r6   NrE   NNrE   rC  N)r)   onesr   r   r   rA  rs   r   )r#   rL   rJ   rt   ru   r   r   test_choice_p_non_contiguousZ+TestRandomDist.test_choice_p_non_contiguous  s    GGBK!O$7499-.]]1a1S6]2
7499-.q!r';';AcF'CD:.r   c                s   \         P                  ! ^4      R,          p\        P                  ^^4      pVP                  \         P
                  8X  g   Q h\        P                  ^^RR7      pVP                  \         P
                  8X  g   Q h\        P                  ^^VR7      pVP                  \         P
                  8X  g   Q h\        P                  ^^VRR7      pVP                  \         P
                  8X  g   Q hR# )r   g      @FrG  rC  )rL   rH  N)r)   r^  rJ   rA  rH   r   )r#   rL   r  rM   r   test_choice_return_typeZ&TestRandomDist.test_choice_return_type  s    GGAJOq!$||rxx'''q!U3||rxx'''q!q)||rxx'''q!q%8||rxx'''r   c                sT   R p\        \        V P                  4      4      pVP                  RRRR7      p\        P
                  R8w  d   VP                  4       p\        P                  ! VP                  \        P                  4      4      P                  4       p\        W8H  4       R# )Z@4266599d12bfcfb815213303432341c06b4349f5455890446578877bb322e222'  r$  FrG  r   N)r   r   r   rA  r   r   r   r   r   r  r)   r   r  r   )r#   Zchoice_hashrJ   r  r  r   r   test_choice_large_sampleZ'TestRandomDist.test_choice_large_sample  su    X7499-.udE:==H$__&FnnV[[12<<>"#r   c                sz   \        \        V P                  4      4      p\        VP	                  . RORR7      \
        P                  ! ^4      RR7       \        VP	                  . RO.RR7      . RO4       \        VP	                  ^..RR7      ^.RR7       \        VP	                  ^..R^R7      ^.RR7       R# )r6   r   T)Zstrict)r   r   Nr   r;   )r   r   r   r   rA  r)   re   r#   rJ   r%   r   "test_choice_array_size_empty_tupleZ1TestRandomDist.test_choice_array_size_empty_tuple  s    7499-.6===<bhhqk"&	(6==)2=>	J6==1#R=81#dK6==1#Ra=@1#"&	(r   c                s~    \        \        V P                  4      4      pVP                  ^
4      pRp\	        W#4       R# )r'   s
   	8%N)r   r   r   Zbytesr   r2  r   r   
test_bytesZTestRandomDist.test_bytes  s0    7499-.b!5V%r   c                s    R  R R R R R R R R R	 R
 3 FS  p\        \        V P                  4      4      pV! . RO4      pVP                  V4       TpV! . RO4      p\	        WE4       KU  	  R# )c                 s.    \         P                  ! . 4      # r   )r)   re   r^   r   r   <lambda>-TestRandomDist.test_shuffle.<locals>.<lambda>  s    rxx|r   c                 s    V # r   r;   rf  r   r   rg  rh    s    qr   c                 h    \         P                  ! V 4      P                  \         P                  4      # r   )r)   asarrayastyper   rf  r   r   rg  rh    s    rzz!}33BGG<r   c                 ri  r   )r)   rj  rk  r|   rf  r   r   rg  rh    s    rzz!}33BJJ?r   c                 ri  r   )r)   rj  rk  Z	complex64rf  r   r   rg  rh    s    rzz!}33BLLAr   c                 sT    \         P                  ! V 4      P                  \        4      # r   )r)   rj  rk  r  rf  r   r   rg  rh    s    rzz!}33F;r   c                 s2    V  Uu. uF  qV3NK  	  up# u upi r   r;   r^   ir%   r   rg  rh    s    21A22s   c                 sZ    \         P                  ! V  Uu. uF  qV.NK  	  up4      # u upi r   )r)   rj  rl  r%   r   rg  rh    s!    rzz1*=1aq61*=>*=s   (c                 sD    \         P                  ! W .4      P                  # r   )r)   vstackTrf  r   r   rg  rh    s    ryy!022r   c                 s    \         P                  ! V  Uu. uF  qV3NK  	  upR \        3R\        3.4      P                  \         P                  4      # u upi )rN  rO  )r)   rj  rF   r  Zrecarrayrl  r%   r   rg  rh    sG    

A+>AqFA+>-0#Jc
+C!E!%bkk!2!3+>s   Ac                 s    \         P                  ! V  Uu. uF  qV3NK  	  upR \        R3R\         P                  R3.4      # u upi )rN  rO  r6   )r)   rj  r  r   rl  r%   r   rg  rh    sB    rzz1*=1aq61*=,/+>,/4+@+B C*=s   AN
r6   rE   ro   r   r[   r   r   r   r   r    
r   r6   r   r   r    r[   ro   r   rE   r   )r   r   r   rI  r   )r#   ZconvrJ   alistr  r  rv   r   test_shuffleZTestRandomDist.test_shuffle  s|     , <?A;2>24CDD" wtyy12F78ENN5!F9:Gv/-Dr   c                s   \        \        V P                  4      4      p\        P                  ! ^4      P                  R4      pVP                  V^R7       \        P                  ! . RO. RO. RO. RO.4      p\        W#4       \        \        V P                  4      4      p\        P                  ! ^4      P                  R4      pVP                  VRR7       \        W#4       R# 	r   r   N)r   r   )r    ro   r6   rE   )r   r   r[   r   )r      r   r'   )r   r   r   r   r0   )	r   r   r   r)   r*   reshaperI  re   r   r2  r   r   test_shuffle_custom_axisZ'TestRandomDist.test_shuffle_custom_axis  s    7499-.2&&v.vA&((,,,,. / 	6+7499-.2&&v.vB'6+r   c                s"   \        \        V P                  4      4      p\        P                  ! . 4      P                  R4      pR FE  p\        P                  ! . 4      P                  R4      pVP                  WCR7       \        WB4       KG  	  R# )r    r   N)r    r   )r    r6   )r   r   r   r)   re   rw  rI  r   )r#   rJ   r  r   r  r   r   test_shuffle_custom_axis_emptyZ-TestRandomDist.test_shuffle_custom_axis_empty  se    7499-.((2,&&v.DXXb\))&1FNN6N-v/ r   c                s\   \         P                  ! ^4      P                  ^^
4      pVP                  4       p\	        \        V P                  4      4      pVP                  V^R7       \	        \        V P                  4      4      pVP                  VP                  4       \        W4       R# )r   r   N)
r)   r*   rw  copyr   r   r   rI  ro  r   )r#   Zy1Zy2rJ   r   r   test_shuffle_axis_nonsquareZ*TestRandomDist.test_shuffle_axis_nonsquare  su    YYr]""1b)WWY7499-.r"7499-.rtt2"r   c                s2   \         P                  P                  \         P                  ! \	        ^4      R4      ^,          ^,
          R4      p\         P                  P                  \         P
                  ! ^4      ^,          ^,
          R4      pVP                  4       pVP                  4       p\	        ^24       F  p\        P                  V4       \        \        VP                  VP                  ( ,          4      \        VP                  VP                  ( ,          4      4       \        P                  V4       \        \        VP                  VP                  ( ,          4      \        VP                  VP                  ( ,          4      4       K  	  R# )r   N)r[   r   r0   )r)   ZmaZmasked_valuesrw  r(   r*   rz  rJ   rI  r   ZsorteddataZmask)r#   rN  rO  Za_origZb_origrm  rv   r   test_shuffle_maskedZ"TestRandomDist.test_shuffle_masked  s    EE

59f = AA ErJEE		" 1A 5r:rANN1qvvqvvg'V[[L0I)JLNN1qvvqvvg'V[[L0I)JL r   c           
     s   \        \        V P                  4      4      p\        P                  ! ^
4      p\        \        VP                  V^4       \        P                  ! ^	4      P                  R4      p\        \        VP                  V^4       \        \        VP                  V\        ^^R4      4       . RO. RO.p\        \        VP                  V^4       \        P                  ! ^4      p\        \        VP                  V4       \        P                  ! R4      p\        \        VP                  V^4       R# )r'   Nro   ro   r   )r   r[   r   r-  )r   r   r   r)   r*   r   r   rI  rw  r2   sliceZNotImplementedErrorre   r^  r#   rJ   rY  rM   r   test_shuffle_exceptionsZ&TestRandomDist.test_shuffle_exceptions  s    7499-.iimia8iil""6*ia8ieAq$6GH)$)6>>3Bhhqki5ggfoia8r   c                s4   \        \        V P                  4      4      p\        P                  ! ^4      pRVP
                  n        \        P                  ! \        RR7      ;_uu_ 4        VP                  V4       RRR4       R#   + '       g   i     R# ; i)r[   F	read-onlyry   N)r   r   r   r)   rI   flags	writeabler}   r~   r3   rI  )r#   rJ   rN  rM   r   test_shuffle_not_writeableZ)TestRandomDist.test_shuffle_not_writeable  sZ    7499-.HHQK!]]:[99NN1 :999s   *BB	c                st   \        \        V P                  4      4      p. ROpVP                  V4      p. ROp\	        W44       \        \        V P                  4      4      p\
        P                  ! . RO4      P                  pVP                  V4      p\	        V\
        P                  ! V4      P                  4       Rp\        \        VP                  V4       Rp\        \        VP                  V4       \        \        V P                  4      4      p^
p. ROpVP                  V4      p\	        W44       R# )r6   Zabcdg333333?Nrq  rr  )
ro   r    r   r   r   r   rE   r[   r6   r   )
r   r   r   permutationr   r)   Z
atleast_2dro  r   r   )	r#   rJ   rs  r  r  Zarr_2dZ	bad_x_strZbad_x_floatZinteger_val	   &        r   test_permutationZTestRandomDist.test_permutation  s    7499-..##E*06+7499-.=>@@##F+62==#9#;#;<	i!3!3Y?i!3!3[A7499-.0##K06+r   c                s   \         P                  ! ^4      P                  R4      p\         P                  ! . RO. RO. RO. RO.4      p\	        \        V P                  4      4      pVP                  V^R7      p\        WB4       \	        \        V P                  4      4      pVP                  VRR7      p\        WB4       R# ru  )	r)   r*   rw  re   r   r   r   r  r   )r#   rN  r  rJ   r  r   r   test_permutation_custom_axisZ+TestRandomDist.test_permutation_custom_axis5  s    IIbM!!&)((,,,,. / 7499-.##AA#.6+7499-.##AB#/6+r   c           
     sv   \        \        V P                  4      4      p\        P                  ! ^
4      p\        \        VP                  V^4       \        P                  ! ^	4      P                  R4      p\        \        VP                  V^4       \        \        VP                  V\        ^^R4      4       R# )r'   Nr~  )r   r   r   r)   r*   r   r   r  rw  r2   r  r  rM   r   test_permutation_exceptionsZ*TestRandomDist.test_permutation_exceptionsB  s    7499-.iimi!3!3S!<iil""6*i!3!3S!<i!3!3S%1d:KLr   rH   zaxis, expectedNc                s   \        \        V P                  4      4      p\        P                  ! ^4      P                  ^^4      P                  V4      pVP                  WRVR7       \        WS4       \        \        V P                  4      4      p\        P                  ! ^4      P                  ^^4      P                  V4      pVP                  WRR7      pVP                  V8X  g   Q h\        Wc4       R# )r   r   outr   N)
r   r   r   r)   r*   rw  rk  permutedr   rH   )r#   rH   r   r   rJ   r^   ys   &&&&   r   test_permutedZTestRandomDist.test_permutedJ  s     7499-.IIbM!!!Q'..u5!,1'7499-.IIbM!!!Q'..u5OOAO)ww%1'r   c                sT   \        \        V P                  4      4      p\        P                  ! ^4      P                  ^^4      pVP                  4       pVR,          pVP                  V^VR7      p\        P                  ! . RO. RO.4      p\        WV4       WcR&   \        W24       R# )i   r  N):NNN:NNro   )r    r   ro   r   )r   r   rv  r   )
r   r   r   r)   r*   rw  rz  r  re   r   )r#   rJ   Zx0Zx1r^   r  r      &      r   test_permuted_with_stridesZ)TestRandomDist.test_permuted_with_strides^  s    7499-.YYr]""1b)WWYvJOOAA1O-88\-/ 01'6
2"r   c                sH    \         P                  . 4      p\        V. 4       R # r   )rJ   r  r   )r#   r  r%   r   test_permuted_emptyZ"TestRandomDist.test_permuted_emptyk  s    OOB1b!r   outshapec                s&   \         P                  ! . RO4      p\         P                  ! WP                  R7      p\        P
                  ! \        RR7      ;_uu_ 4        \        P                  W#R7       RRR4       R#   + '       g   i     R# ; i)r6   rG   z
same shapery   r  Nr   )	r)   re   rI   rH   r}   r~   r3   rJ   r  )r#   r  rN  r  r   r   "test_permuted_out_with_wrong_shapeZ1TestRandomDist.test_permuted_out_with_wrong_shapeo  sP    HHYhhxww/]]:\::OOAO' ;:::s   A??B	c                s0   \         P                  ! R\         P                  R7      p\         P                  ! R4      p\        P
                  ! \        RR7      ;_uu_ 4        \        P                  V^VR7       RRR4       R#   + '       g   i     R# ; i)ro   rG   zCannot castry   r  N)ro   r[   )	r)   rI   r   r^  r}   r~   r2   rJ   r  )r#   r  r^   rM   r   !test_permuted_out_with_wrong_typeZ0TestRandomDist.test_permuted_out_with_wrong_typev  sU    hhvRXX.GGFO]]9M::OOAA3O/ ;:::s   !BB	c                s   \         P                  ! R4      pRVP                  n        \        P
                  ! \        RR7      ;_uu_ 4        \        P                  V^VR7       RRR4       R#   + '       g   i     R# ; i)rE   Fr  ry   r  N)rE   r[   )	r)   rI   r  r  r}   r~   r3   rJ   r  r]   r%   r   test_permuted_not_writeableZ*TestRandomDist.test_permuted_not_writeable|  sN    HHV!]]:[99OOAA1O- :999s   A//B 	c                    \        \        V P                  4      4      pVP                  R RRR7      p\        P
                  ! RR.RR.RR..4      p\        W#^R	7       R
# )rE  rj   r   gW<$=g^
=g/:Ћ?gG!Gc>g'`2?gU?r8  Nr-  )r   r   r   betar)   re   r
   r2  r   r   	test_betaZTestRandomDist.test_beta  sc    7499-.R&1((#%:;#%:;#%:;=> 	"&2>r   c                s8   \        \        V P                  4      4      pVP                  R RRR7      p\        P
                  ! ^*^).^*^0.^,^2..4      p\        W#4       \        \        V P                  4      4      pVP                  R R4      p^*p\        W#4       R# )gZd;Y@gv/?r   Nr-  )r   r   r   rK   r)   re   r   r2  r   r   test_binomialZTestRandomDist.test_binomial  s    7499-.$V<((RHHH& ' 	6+7499-.$/6+r   c                s    \        \        V P                  4      4      pVP                  ^2R
R7      p\        P
                  ! RR.RR.RR..4      p\        W#^R7       R	# )r   r   gmE~@@g
1ςC@grӳL@gm%xL@g<kQK@gtK@r8  Nr-  )r   r   r   	chisquarer)   re   r
   r2  r   r   test_chisquareZTestRandomDist.test_chisquare  sf    7499-.!!"6!2((-/?@-/?@-/?@B C 	"&2>r   c                s$   \        \        V P                  4      4      p\        P                  ! R R.4      pVP                  VRR7      p\        P                  ! RR.RR..RR.R	R
..RR.RR...4      p\        W4^R7       \        P                  ! RR.4      p\        \        VP
                  V4       \        \        V P                  4      4      p\        P                  ! R R.4      pVP                  V4      p\        W4R,          ^R7       R# )I<I@EZC@r   g28\h?gɎG/?gAp?g|);?gLX?gfOh?g됷W?g(ސP?gz$Q?gmWt ?g搝K?g4hz?r8  HzG?Nr-  缉ؗҜr  )	r   r   r   r)   re   	dirichletr
   r   r3   )r#   rJ   alphar  r  Z	bad_alpharv   r   test_dirichletZTestRandomDist.test_dirichlet  s   7499-..0DEF!!%f!5((03FG03EGI03FG.3FGI13EG.3FGI	J K 	"&2>HHgx01	j&"2"2I>7499-..0DEF!!%(!&$-Dr   c                s$   \         P                  ! R R.4      p\        \        P	                  V\         P
                  ! ^4      4      P                  R4       \        \        P	                  V\         P
                  ! ^4      4      P                  R4       \        \        P	                  V\         P
                  ! ^4      4      P                  R4       \        \        P	                  V^^.4      P                  R4       \        \        P	                  VR4      P                  R4       \        \        P	                  V\         P                  ! R4      4      P                  R4       \        \        \        P                  V\        ^4      4       R# )r  r  Nr`   ra   rb   )
r)   re   r   rJ   r  rc   rd   r   r2   rf   rg   r%   r   test_dirichlet_sizeZ"TestRandomDist.test_dirichlet_size  s   HH*,@ABV%%a16<<fEV%%a16<<fEV%%a16<<fEV%%a!Q066	BV%%a066	BV%%a&)9:@@)Li!1!11eAh?r   c           	     s   \         P                  ! R R.4      p\        \        \        P
                  V4       \        \        \        P
                  ^^..4       \        \        \        P
                  ^.^..4       \        \        \        P
                  ^.^..^.^...4       \        \        \        P
                  \         P                  ! ^^.^^..4      4       R# )r  Nr  )r)   re   r   r3   rJ   r  )r#   r  r%   r   test_dirichlet_bad_alphaZ'TestRandomDist.test_dirichlet_bad_alpha  s    '8,-j&"2"2E: 	j&"2"2aVH=j&"2"2aS1#J?j&"2"2qcA3Z1#s4LMj&"2"2BHHq!fq!f=M4NOr   c                sJ   \         P                  ! . RO4      pVR,          p\        \        V P                  4      4      pVP                  VRR7      p\        \        V P                  4      4      pVP                  \         P                  ! V4      RR7      p\        WE4       R# )r  r]  r   N)r  g      r  r-  )r)   re   r   r   r   r  rs   r
   )r#   rN  r  rJ   rt   ru   rv   r   #test_dirichlet_alpha_non_contiguousZ2TestRandomDist.test_dirichlet_alpha_non_contiguous  s    HHGH#7499-.%%e&%9
7499-.!!""6"6u"='- " /!*5r   c                s   R pV\         P                  ! RR.4      ,          p\        \        V P                  4      4      pVP                  VRR7      p\         P                  ! RR.RR..RR.RR..RR.RR...4      p\        WE^R7       R# )r{         ?r   r   rY   r8  Nr-  )r)   re   r   r   r   r  r
   )r#   Zepsr  rJ   r  r   rv   r   test_dirichlet_small_alphaZ)TestRandomDist.test_dirichlet_small_alpha  s    bhhF|,,7499-.!!%f!588"X"X"X"X"X"X
  	"&B?r   c                s   \         P                  ! . RO4      pWP                  4       ,          p\        \	        V P
                  4      4      pVP                  VRR7      pVP                  ^ R7      p\        WRRR7       R# ){Gz?i -1r   r   r   )r   N)r  {Gz?Q?)	r)   re   rr   r   r   r   r  r   r	   )r#   r  Z
exact_meanrJ   r   Zsample_meanrv   r   %test_dirichlet_moderately_small_alphaZ4TestRandomDist.test_dirichlet_moderately_small_alpha  sc     +,YY[(
7499-.!!%h!7kkqk)d;r   r  rY   c                s    \         P                  ! V4      p\        P                  V4      p\	        W!^ 8H  ,          R4       R# )r    rY   N)r)   re   rJ   r  r   )r#   r  r     && r   &test_dirichlet_multiple_zeros_in_alphaZ5TestRandomDist.test_dirichlet_multiple_zeros_in_alpha  s1     U#Qz]C(r   c                    \        \        V P                  4      4      pVP                  R R
R7      p\        P
                  ! RR.RR.RR..4      p\        W#^R7       R	# )g8EGr?r   gvM?g?g#c?gQ:N?gAP?gE_9@r8  Nr-  )r   r   r   exponentialr)   re   r
   r2  r   r   test_exponentialZTestRandomDist.test_exponential   sf    7499-.##F#8((.0AB.0AB.0@BD E 	"&2>r   c                    \        \        P                  ^ R7      ^ 4       \        \        \        P                  RR7       R# r    scaleN       )r   rJ   r  r   r3   r4   r   r   test_exponential_0Z!TestRandomDist.test_exponential_0  s,    V''a'0!4j&"4"4C@r   c                s    \        \        V P                  4      4      pVP                  ^^MR
R7      p\        P
                  ! RR.RR.RR..4      p\        W#^R7       R	# )r   r   g}(Ҍ?gi?g=r?g]hDA?gjӨ?g8k*u?r8  Nr-  )r   r   r   fr)   re   r
   r2  r   r   test_fZTestRandomDist.test_f  se    7499-."bv.((.0AB.0@B.0ABD E 	"&2>r   c                s    \        \        V P                  4      4      pVP                  ^^R
R7      p\        P
                  ! RR.RR.RR..4      p\        W#^R7       R	# )r[   r   g,שn'@gt@g<e2@g1a3@g3r
y-2@gs1-2@r8  Nr-  )r   r   r   gammar)   re   r
   r2  r   r   
test_gammaZTestRandomDist.test_gamma  sd    7499-.a0((.B.0AB.0ABD E 	"&2>r   c                s    \        \        P                  ^ ^ R7      ^ 4       \        \        \        P                  RRR7       R# )r    )rd   r  Nr  )r   rJ   r  r   r3   r4   r   r   test_gamma_0ZTestRandomDist.test_gamma_0  s+    V\\\3Q7j&,,cEr   c                s    \        \        V P                  4      4      pVP                  R RR7      p\        P
                  ! ^^.^^.^^..4      p\        W#4       R# )_c97ݚ?r   Nr-  )r   r   r   	geometricr)   re   r   r2  r   r   test_geometricZTestRandomDist.test_geometric   s[    7499-.!!*6!:((QGGH& ' 	6+r   c                sZ   \        \        \        P                  R 4       \        \        \        P                  R .^
,          4       \        \        \        P                  R4       \        \        \        P                  R.^
,          4       \        P
                  ! RR7      ;_uu_ 4        \        \        \        P                  \        P                  4       \        \        \        P                  \        P                  .^
,          4       RRR4       R#   + '       g   i     R# ; i)ri   ignoreZinvalidNrk   )r   r3   rJ   r  r)   errstaterP   r4   r   r   test_geometric_exceptionsZ(TestRandomDist.test_geometric_exceptions(  s    j&"2"2C8j&"2"2SEBJ?j&"2"2D9j&"2"2TFRK@[[***f&6&6?*f&6&62F +***s   ,A#DD*	c                s    \        \        V P                  4      4      pVP                  R RRR7      p\        P
                  ! RR.RR	.R
R..4      p\        W#^R7       R# )r         @locr  r   gA7G@gei@r8  Nr-  g1Fiҿg_Cg0cPg`(_տ)r   r   r   gumbelr)   re   r
   r2  r   r   test_gumbelZTestRandomDist.test_gumbel1  se    7499-.:SvF((/1CD/1CD/1CDF G 	"&2>r   c                r  r  )r   rJ   r  r   r3   r4   r   r   test_gumbel_0ZTestRandomDist.test_gumbel_09  '    V]]]+Q/j&--s;r   c                s   \        \        V P                  4      4      pVP                  R R^RR7      p\        P
                  ! ^	^	.^	^	.^
^	..4      p\        W#4       VP                  ^^ ^^R7      p\        P
                  ! . RO4      p\        W#4       VP                  ^^ ^^R7      p\        P
                  ! . RO4      p\        W#4       VP                  ^ ^^^R7      p\        P
                  ! . RO4      p\        W#4       VP                  ^ ^^^R7      p\        P
                  ! . RO4      p\        W#4       R# )g333333$@g      @r   Nr-  )ro   ro   ro   ro   )r   r   r   r   )r    r    r    r    )r   r   r   hypergeometricr)   re   r   r2  r   r   test_hypergeometricZ"TestRandomDist.test_hypergeometric=  s    7499-.&&tS"6&B((aGGG% & 	6+ &&q!QQ&7((<(6+&&r1bq&9((+,6+ &&q!QQ&7((<(6+&&q"bq&9((<(6+r   c                    \        \        V P                  4      4      pVP                  R RR	R7      p\        P
                  ! R
R.RR.RR..4      p\        W#^R7       R# )r  r  r  ga@bDA"?g>K?g(?g<?r8  Nr-  g6@	g*[r{)r   r   r   laplacer)   re   r
   r2  r   r   test_laplaceZTestRandomDist.test_laplaceW  se    7499-.JcG((/2CD/2CD/2CDF G 	"&2>r   c                r  r  )r   rJ   r  r   r3   r4   r   r   test_laplace_0ZTestRandomDist.test_laplace_0_  s'    V^^!^,a0j&..<r   c                r  )r  r  r  gHʊg$>?gQh@g%?n?gĉ8|?r8  Nr-  gbZg>&)r   r   r   logisticr)   re   r
   r2  r   r   test_logisticZTestRandomDist.test_logisticc  se    7499-.ZsH((/2CD.2CD/2CDF G 	"&2>r   c                s    \        \        V P                  4      4      pVP                  R RRR7      p\        P
                  ! RR.RR.RR..4      p\        W#^R	7       R
# )r  r  )r   sigmar   gܒx?gk*+@g<Ҿ?g
@g5a@g%jz(@r8  Nr-  )r   r   r   	lognormalr)   re   r
   r2  r   r   test_lognormalZTestRandomDist.test_lognormalk  sf    7499-.!!z6!J((o/?@-@-/?@B C 	"&2>r   c                s    \        \        P                  ^ R7      ^4       \        \        \        P                  RR7       R# )r    )r  Nr  )r   rJ   r  r   r3   r4   r   r   test_lognormal_0ZTestRandomDist.test_lognormal_0s  s,    V%%A%.2j&"2"2#>r   c                s    \        \        V P                  4      4      pVP                  R RR7      p\        P
                  ! ^^.^^.^^..4      p\        W#4       R# )gƀ@?)rL   r   Nr-  )r   r   r   	logseriesr)   re   r   r2  r   r   test_logseriesZTestRandomDist.test_logseriesw  s[    7499-.!!JV!<((RHGF$ % 	6+r   c                sr    \        \        V P                  4      4      pVP                  ^ 4      ^8X  g   Q hR# rS  )r   r   r   r  rc  r%   r   test_logseries_zeroZ"TestRandomDist.test_logseries_zero  s.    7499-."a'''r   valuer  g      @c           
     s   \        \        V P                  4      4      p\        P                  ! R R7      ;_uu_ 4        \
        P                  ! \        4      ;_uu_ 4        VP                  V4       RRR4       \
        P                  ! \        4      ;_uu_ 4        VP                  \        P                  ! V.^
,          4      4       RRR4       \
        P                  ! \        4      ;_uu_ 4        VP                  \        P                  ! V.^
,          4      R,          4       RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L@; i  + '       g   i     R# ; i)r  r  Nr]  )
r   r   r   r)   r  r}   r~   r3   r  re   )r#   r  rJ   r  r   test_logseries_exceptionsZ(TestRandomDist.test_logseries_exceptions  s    7499-.[[**z**  ' +z**  5'B,!78 + z**  5'B,!7!<= + +***** +* +**sS   #E5!D<	3*E5.E	*E555E"	*E5<EE5EE5"E2-E55F	c                s    \        \        V P                  4      4      pVP                  ^R.^,          RR7      p\        P
                  ! . RO. RO.. RO. RO.. R	O. R
O..4      p\        W#4       R# )r   r   NUUUUUU?r-  )r6   r[   r6   r   r   ro   )r   rE   r   rE   r   rE   )r[   ro   rE   r   ro   r6   )r   r   r    rE   ro   r   )r   ro   r6   r[   ro   rE   )r[   r[   ro   r6   rE   r   )r   r   r   rW   r)   re   r   r2  r   r   test_multinomialZTestRandomDist.test_multinomial  sp    7499-.##B16#B((//1//1//1	2 3 	6+r   zfp errors don't work in wasmZreasonr   c           	     s   \        \        V P                  4      4      pRp^^ .^ ^..pRpVP                  W4WQR7      p\        P
                  ! RR.RR..RR.RR..RR	.R
R...4      p\        Wg^R7       VP                  W4VR7      p\        P
                  ! RR.4      p\        Wg^R7       ^ ^ .p^^.^^..p\        \        VP                  W4RR7       ^^.^^..p\        \        VP                  W44       \        \        VP                  W4RR7       \        \        VP                  W4RR7       \        VP                  W4RR7       \        \        VP                  W4RR7       \        \        VP                  W4RRR7       ^^.^^..pVR9   d2   VP                  W4RVR7      p\        VR,          VR ,          ^R7       M\        \        VP                  W4RR7       \        P
                  ! ^R.R^..\        P                  R7      p\        4       ;_uu_ 4       p	VP                  W4VR7       V	P                  \        4      p
\!        V
4      ^ 8X  g   Q h RRR4       \        P"                  ! ^4      p\        P$                  ! ^4      p\        \        VP                  W4RR7       \        \        VP                  \        P"                  ! R!4      V4       \        \        VP                  V\        P&                  ! R4      4       \        \        VP                  V\        P$                  ! ^4      4       R#   + '       g   i     L; i)"r  r   g$&@g!$@gDo?g\&@g,R{?g
f!@g?ժ?gT^o#@g`R?gP'@r8  gl?g$("@Zraise)check_valideighcholeskyr  )r  r   r   rE  rG   NZother)r  r'   r-  gtg&بO=)svdr  ).r    ).r6   )rE   r6   r6   )r   r   r   multivariate_normalr)   re   r
   r   r3   r   ZRuntimeWarningr   r   r|   r   Zrecordr  rI   Zeyer   )r#   r   rJ   r   covr   r  r  r%  ZsupZwmus   &&          r   test_multivariate_normalZ'TestRandomDist.test_multivariate_normal  s     7499-.1v1v++Dt+K((03DF13EFH13EF14EFH14EF13EFH	I J 	"&2> ++Df+E((-/@AB!&2> 1v1v1vj&"<"<d")	+
 1v1v^V%?%?K^V%?%?"	$k6#=#=t'	) 	655t'/	1 	j&"<"<d")	+j&"<"<d")&	: 1v1v_$008> 1 @G%gfowv./1 +v'A'A4!+- hhC3(+2::>  C&&t&@

>*Aq6Q;; !
 XXa[ffQij&"<"<d")	+j&"<"<hhy)3	0j&"<"<"((6*	,j&"<"<"&&)	% ! s   ";MM	z	mean, covy                c                s    \        \        V P                  4      4      p\        P                  ! \
        R R7      ;_uu_ 4        VP                  W4       RRR4       R#   + '       g   i     R# ; i)zmust not be complexry   N)r   r   r   r}   r~   r2   r  )r#   r   r  rJ   s   &&& r   )test_multivariate_normal_disallow_complexZ8TestRandomDist.test_multivariate_normal_disallow_complex  sE    7499-.]]9,ABB&&t1 CBBBs   AA0	c                s(   \        \        V P                  4      4      pR p\        P                  ! ^^.4      p\        P                  ! ^^.^^..4      pVP                  WEV3VR7      pWd,
          pVP                  V,          V^,
          ,          p\        P                  ! \        P                  ! VP                  R4      4      R8  4      '       g   Q h\        P                  ! \        P                  ! W,
          4      R8  4      '       g   Q hR# )r   r   rE  rT   Nr7   )
r   r   r   r)   re   r  ro  r\   Zabsr   )	r#   r   rJ   Zn_sr   r  r$   Zs_centerZcov_emps	   &&       r   $test_multivariate_normal_basic_statsZ3TestRandomDist.test_multivariate_normal_basic_stats  s    7499-.xxAhhAA'(&&tvf&M8::(S1W5vvbffX]]2./#56666vvbffW]+c12222r   c                s    \        \        V P                  4      4      pVP                  ^dRR
R7      p\        P
                  ! RR.RR.RR..4      p\        W#4       R	# )rS   g|Pk?)nrL   r   i  i  i  i  iX  i  Nr-  )r   r   r   r   r)   re   r   r2  r   r   r   Z%TestRandomDist.test_negative_binomial  s]    7499-.))C6)G((S#J #J #J( ) 	6+r   c           	     sF   \         P                  ! R R7      ;_uu_ 4        \        \        \        P
                  ^d\         P                  4       \        \        \        P
                  ^d\         P                  .^
,          4       RRR4       R#   + '       g   i     R# ; i)r  r  N)r)   r  r   r3   rJ   r   rP   r4   r   r   !test_negative_binomial_exceptionsZ0TestRandomDist.test_negative_binomial_exceptions  sY    [[***f&>&>RVVL*f&>&>66(R-) +***s   A%BB 	c                s    \        \        4      ;_uu_ 4        \        P                  ^^ 4      pRRR4       R#   + '       g   i     R# ; irO   )r   r3   rJ   r   r]   r%   r   #test_negative_binomial_p0_exceptionZ2TestRandomDist.test_negative_binomial_p0_exception  s.    :&&((A.A '&&&s	   9A
	c                s   \         P                  ! R R7      ;_uu_ 4        \        \        \        P
                  RR4       \        \        \        P
                  R.R.4       RRR4       R#   + '       g   i     R# ; i)r  r  rE  Nr  )r)   r  r   r3   rJ   r   r4   r   r   .test_negative_binomial_invalid_p_n_combinationZ=TestRandomDist.test_negative_binomial_invalid_p_n_combination  sN     [[***f&>&>sK*f&>&>#O +***s   AA--A>	c                s   \        \        V P                  4      4      pVP                  ^^RR7      p\        P
                  ! RR.RR.RR..4      p\        W#^R7       VP                  R	R
RR7      p\        P
                  ! RR.RR.RR..4      p\        W#^R7       \        \        V P                  4      4      pVP                  ^^ RR7      p\        P
                  ! RR.RR.RR..4      p\        W#^R7       R# )r[   )dfnoncr   gs؀3J?gugو/@gNJm+@gA}-4@gq=&@gjhn@r8  r.   rT   gZօDN?gE!X&?gt%T?gQ)V?g5Zlf?gΎ{?gmK?gZ?g%yKY@g@W@gĈ{>@g&BB=@Nr-  )r   r   r   noncentral_chisquarer)   re   r
   r2  r   r   test_noncentral_chisquareZ(TestRandomDist.test_noncentral_chisquare  s!   7499-.,,,G((.0AB.0AB-1ABD E 	"&2>,,&,I((13GH13GH13GHJ K 	"&2>7499-.,,,G((-/?@-/?@-/?@B C 	"&2>r   c                s    \        \        V P                  4      4      pVP                  ^^^R
R7      p\        P
                  ! RR.RR.RR..4      p\        W#^R7       R	# )r[   )dfnumdfdenr  r   gHP
?gn?g%f?gch?gzƎ?g]?:?r8  Nr-  )r   r   r   noncentral_fr)   re   r
   r2  r   r   test_noncentral_fZ TestRandomDist.test_noncentral_f(  sm    7499-.$$1AA*0 % 2((^/?@-@-/?@B C 	"&2>r   c                s    \        \        V P                  4      4      pVP                  ^^\        P
                  R7      p\        P                  ! V4      '       g   Q hR# )r[   )r  r  r  N)r   r   r   r  r)   rP   isnanr#   rJ   r  rM   r   test_noncentral_f_nanZ$TestRandomDist.test_noncentral_f_nan1  sE    7499-.$$1ABFF$Cxxr   c                r  )r  r  r  g\P@g0aj?gi%?gog@r8  Nr-  g?`xg/7u )r   r   r   normalr)   re   r
   r2  r   r   test_normalZTestRandomDist.test_normal6  se    7499-.:SvF((/2CD/2CD/2CDF G 	"&2>r   c                r  r  )r   rJ   r  r   r3   r4   r   r   test_normal_0ZTestRandomDist.test_normal_0>  r  r   c                s    \        \        V P                  4      4      pVP                  R R
R7      p\        P
                  ! RR.RR.RR..4      p\        P                  P                  W#^R7       R	# )r  rN  r   gá?gƫh@gi`>?g0"&Agc@g=fA)ZnulpNr-  )r   r   r   paretor)   re   ZtestingZassert_array_almost_equal_nulpr2  r   r   test_paretoZTestRandomDist.test_paretoB  sp    7499-.&9((35KL35KL35KLN O 	

11&1Kr   c                s    \        \        V P                  4      4      pVP                  R RR7      p\        P
                  ! ^ ^ .^ ^ .^ ^ ..4      p\        W#4       R# )r  )lamr   Nr-  )r   r   r   poissonr)   re   r   r2  r   r   test_poissonZTestRandomDist.test_poissonP  sX    7499-.JV<((QFFF$ % 	6+r   c                s   \         P                  ! R 4      P                  pRp\        \        \
        P                  V4       \        \        \
        P                  V.^
,          4       \        \        \
        P                  V4       \        \        \
        P                  V.^
,          4       \         P                  ! RR7      ;_uu_ 4        \        \        \
        P                  \         P                  4       \        \        \
        P                  \         P                  .^
,          4       RRR4       R#   + '       g   i     R# ; i)r   r  r  Nr0   )	r)   r   r   r   r3   rJ   r   r  rP   )r#   ZlambigZlamnegrM   r   test_poisson_exceptionsZ&TestRandomDist.test_poisson_exceptionsX  s    '"&&j&..&9j&..6(R-@j&..&9j&..6(R-@[[***fnnbff=*fnnrvvhmD +***s   A#D;;E	c                r  )r  r  gZ >g?gÄ(=g҇?gŚE?gߢH?r8  Nr-  )r   r   r   powerr)   re   r
   r2  r   r   
test_powerZTestRandomDist.test_powerc  sc    7499-.
8((24IJ24IJ24IJL M 	"&2>r   c                s    \        \        V P                  4      4      pVP                  ^
R
R7      p\        P
                  ! RR.RR.RR..4      p\        W#^R7       R	# )r'   )r  r   gry@gtQP0@gAI_@g@u81@g	G0@g"wc5@r8  Nr-  )r   r   r   rayleighr)   re   r
   r2  r   r   test_rayleighZTestRandomDist.test_rayleighk  sc    7499-.r7((-/@A-/@A.0ABD E 	"&2>r   c                r  r  )r   rJ   r  r   r3   r4   r   r   test_rayleigh_0ZTestRandomDist.test_rayleigh_0s  s'    V__1_-q1j&//=r   c                s    \        \        V P                  4      4      pVP                  RR7      p\        P
                  ! RR.RR	.R
R..4      p\        W#^R7       R# )ro   r   g\?gFA?r8  Nr-  gH1gW|3
gLeg5P	)r   r   r   Zstandard_cauchyr)   re   r
   r2  r   r   test_standard_cauchyZ#TestRandomDist.test_standard_cauchyw  sd    7499-.''V'4((/1CD/1CD/2CDF G 	"&2>r   c                s    \        \        V P                  4      4      pVP                  RRR7      p\        P
                  ! RR.RR.RR..4      p\        W#^R	7       R
# )ro   Zinvr   ga\5?gr7k?g8PC*?g5$[?gW3T?g*?r8  Nr-  )r   r   r   standard_exponentialr)   re   r
   r2  r   r   test_standard_exponentialZ(TestRandomDist.test_standard_exponential  sf    7499-.,,&,G((.0AB.0AB.0ABD E 	"&2>r   c                b    \        \        \        P                  \        P
                  R 7       R# rG   N)r   r2   rJ   r	  r)   r   r4   r   r   #test_standard_expoential_type_errorZ2TestRandomDist.test_standard_expoential_type_error  s    i!<!<BHHMr   c                s    \        \        V P                  4      4      pVP                  ^R
R7      p\        P
                  ! RR.RR.RR..4      p\        W#^R7       R	# )ro   rd   r   gΈ̏&?gTϿ?g1n21@gDb<z@gBv@gc^@r8  Nr-  r   r   r   standard_gammar)   re   r
   r2  r   r   test_standard_gammaZ"TestRandomDist.test_standard_gamma  sf    7499-.&&QV&<((-/?@+/?@-/?@B C 	"&2>r   c                s    \        \        V P                  4      4      pVP                  ^\        P
                  R7      pRp\        W#^R7       R# )ro   rG   g   d@r8  N)r   r   r   r  r)   r|   r
   r2  r   r   !test_standard_gammma_scalar_floatZ0TestRandomDist.test_standard_gammma_scalar_float  s=    7499-.&&q

&;$!&1=r   c                s    \        \        V P                  4      4      pVP                  ^R
R7      p\        P
                  ! RR.RR.RR..4      p\        W#^R7       R	# )ro   r  gf&?gMO?g1@g):@g@g;i@r8  Nr-  r  r2  r   r   test_standard_gamma_floatZ(TestRandomDist.test_standard_gamma_float  s`    7499-.&&QV&<((Wf-$f-$g.0 1 	"&1=r   c                s   \         P                  ! R\         P                  R7      p\        \	        V P
                  4      4      pVP                  RV\         P                  R7       \         P                  ! RR.RR.RR	..\         P                  R7      p\        W^R
7       \        \	        V P
                  4      4      pVP                  RVR\         P                  R7       \        W^R
7       R# )ro   rG         $@r  rH   gM»L$@ga {@gN]"@gPS")@g_+@gmB@r8  r  r   rH   Nr-  )	r)   rI   r|   r   r   r   r  re   r
   )r#   r  rJ   r  r   r   test_standard_gammma_float_outZ-TestRandomDist.test_standard_gammma_float_out  s    &

37499-.dbjjA((X0&1&13:<**F 	"&1=7499-.dV2::N!&1=r   c                sH    \        \        \        P                  R RR7       R# )r  r   rG   N)r   r2   rJ   r  r4   r   r    test_standard_gamma_unknown_typeZ/TestRandomDist.test_standard_gamma_unknown_type  s    i!6!6#	%r   c                s    \         P                  ! ^
4      p\        \        \        P
                  R^VR7       \        \        \        P
                  RRVR7       R# )r'   r  )r   r  N)r'   r6   )r)   rI   r   r3   rJ   r  )r#   r  r%   r   test_out_size_mismatchZ%TestRandomDist.test_out_size_mismatch  sA    hhrlj&"7"7B	j&"7"7G	r   c                r  )r    )rd   Nr  )r   rJ   r  r   r3   r4   r   r   test_standard_gamma_0Z$TestRandomDist.test_standard_gamma_0  s,    V***3Q7j&"7"7sCr   c                s    \        \        V P                  4      4      pVP                  RR7      p\        P
                  ! R	R.R
R.RR..4      p\        W#^R7       R# )ro   r   g? ?gz\?gc`+?gT}?r8  Nr-  g
bYgGH{L)r   r   r   r   r)   re   r
   r2  r   r   test_standard_normalZ#TestRandomDist.test_standard_normal  sd    7499-.''V'4((/2BD/2CD/2CDF G 	"&2>r   c                r  r  )r   r2   rJ   r   r)   r   r4   r   r   %test_standard_normal_unsupported_typeZ4TestRandomDist.test_standard_normal_unsupported_type  s    i!7!7rxxHr   c                s    \        \        V P                  4      4      pVP                  ^
RR7      p\        P
                  ! RR.RR	.RR
..4      p\        W#^R7       R# )r'   )r  r   g	|ڙ(?g-?gMc?r8  Nr-  gV1g Nhڿg!uLM )r   r   r   
standard_tr)   re   r
   r2  r   r   test_standard_tZTestRandomDist.test_standard_t  sf    7499-.""bv"6((/2BC/1CD/1CDF G 	"&2>r   c                s    \        \        V P                  4      4      pVP                  R RRRR7      p\        P
                  ! RR.RR.RR	..4      p\        W#^R
7       R# )g{Gz@g(\u$@gףp=
W4@)leftmoderightr   gEpw@g4DC+@gŋ@g/,@gkuR*@gHNPcr+@r8  Nr-  )r   r   r   
triangularr)   re   r
   r2  r   r   test_triangularZTestRandomDist.test_triangular  so    7499-.""5(. # 0((.0@B.0AB.0ABD E 	"&2>r   c                r  )Gz?gGz%@)r  r  r   gm2@gJaD@g: @g
Q @g@T{e@gb@r8  Nr-  r   r   r   uniformr)   re   r
   r2  r   r   test_uniformZTestRandomDist.test_uniform  se    7499-.Du6B((-0AB.0AB.0ABD E 	"&2>r   c                s:   \         P                  ! R 4      P                  p\         P                  ! R 4      P                  p\        P
                  p\        \        V\         P                  ) ^ 4       \        \        V^ \         P                  4       \        \        W1V4       \        \        V\         P                  ) .^ .4       \        \        V^ .\         P                  .4       \        P                  \         P                  ! V^4      VR,          R7       R# )rf   g ؅W4vC)r  r  N)
r)   Zfinfor   r   rJ   r&  r   ZOverflowErrorZinf	nextafter)r#   ZfminZfmaxfuncr   r   test_uniform_range_boundsZ(TestRandomDist.test_uniform_range_bounds  s    xx $$xx $$~~mTBFF7A6mT1bff5mT6mTRVVG9qc:mTA39
 	2<<a0td{Cr   c                sF   \         P                  pV! R R 4      p\        VR 4       V! R\        P                  .R\        P                  .4      p\        VR\        P                  .4       V! R.R..RR.4      p\        VR\        P
                  ! R4      ,           4       R# )      ?rY   g
ףp= @Nrb   )rJ   r&  r	   r)   pirI   )r#   r)  ZresultrM   r   test_uniform_zero_rangeZ&TestRandomDist.test_uniform_zero_range  s    ~~c3$sBEElS"%%L1bee-y7),w.@A"((6*: :;r   c                s    \         P                  p\        \        V^^4       \        \        V^^.^^.4       \        \        V^ ^.^^..^4       R# )rE   N)rJ   r&  r   r3   )r#   r)  r%   r   test_uniform_neg_rangeZ%TestRandomDist.test_uniform_neg_range  sJ    ~~j$1-j$!Q!Q8j$1a&1a&)91=r   c                s    ! R  R\         P                  4      p\         P                  ! R4      P                  V4      p\	        \
        \        P                  VV4        ! R R\         P                  4      p\         P                  ! ^4      P                  V4      p\	        \
        \        P                  V^^4       R# )c                   &   a  ] tR tRt o R tRtV tR# )GTestRandomDist.test_scalar_exception_propagation.<locals>.ThrowingFloati  c                    \         hr   r2   r4   r   r   	__float__ZQTestRandomDist.test_scalar_exception_propagation.<locals>.ThrowingFloat.__float__      r   r;   N)r<   r=   r>   r?   r3  r@   rA   rB   rC   r   ThrowingFloatr0            r   r5  r  c                   r/  )ITestRandomDist.test_scalar_exception_propagation.<locals>.ThrowingIntegeri  c                r1  r   r2  r4   r   r   __int__ZQTestRandomDist.test_scalar_exception_propagation.<locals>.ThrowingInteger.__int__  r4  r   r;   N)r<   r=   r>   r?   r8  r@   rA   rB   rC   r   ThrowingIntegerr7    r6  r   r9  N)	r)   Zndarrayre   r  r   r2   rJ   r&  r  )r#   r5  Zthrowing_floatr9  Zthrowing_intr   r   !test_scalar_exception_propagationZ0TestRandomDist.test_scalar_exception_propagation  s    	 BJJ 	  #++M:i$	&	 bjj 	  xx{''8i!6!6aKr   c                s    \        \        V P                  4      4      pVP                  R RR
R7      p\        P
                  ! RR.RR.RR..4      p\        W#^R7       R	# )r$  p=
ף?r  kappar   gLA?gxyw@gzVR?gpE ?gv @r8  Nr-  g8&Aп)r   r   r   vonmisesr)   re   r
   r2  r   r   test_vonmisesZTestRandomDist.test_vonmises  se    7499-.D6B((/2CD/2CD/2CDF G 	"&2>r   c                s    \        \        V P                  4      4      pVP                  R RRR7      p\	        \
        P                  ! V4      P                  4       4       R# )rY   gg5_PG>r<  Ni@B )r   r   r   r>  r   r)   Zisfiniter\   r#   rJ   rrM   r   test_vonmises_smallZ"TestRandomDist.test_vonmises_small  sB    7499-.OOreO<A""$%r   c                s    \        \        V P                  4      4      pVP                  R \        P
                  R7      p\        \        P                  ! V4      4       R# )rY   )r  r=  N)r   r   r   r>  r)   rP   r   r  r@  rM   r   test_vonmises_nanZ TestRandomDist.test_vonmises_nan#  s;    7499-.OOrO0r   r=  g     @  4&kCc                sp   \        \        V P                  4      4      p\        VP                  4      pVP                  P
                  pVP                  ^ V^
R7      pWBP                  n        VP                  ^ V^
R7      pVR8  d   \        WV4       R# \        P                  ! WV8g  4      '       g   Q hR# )r    r   g    .AN)
r   r   r   r   r   r   r>  r	   r)   r\   )r#   r=  rJ   Zrsr   Zrandom_state_valsZgen_valsr   r   test_vonmises_large_kappaZ(TestRandomDist.test_vonmises_large_kappa(  s    7499-.--.$$**KK5rK:%*"??1e"?53;-866+78888r   r  g	@c                s&   \        \        V P                  4      4      pVP                  W^24      p\	        \
        P                  ! V\
        P                  ) 8  4      ;'       d(    \
        P                  ! V\
        P                  8*  4      4       R# )r   N)r   r   r   r>  r   r)   r\   r,  )r#   r  r=  rJ   rA     &&&  r   test_vonmises_large_kappa_rangeZ.TestRandomDist.test_vonmises_large_kappa_range6  s[     7499-.OOBr*qBEE6z"99rvva255j'9:r   c                s    \        \        V P                  4      4      pVP                  R RRR7      p\        P
                  ! RR.RR.RR..4      p\        W#^R	7       R
# )r$  r;  r   r  r   g*س2?gt	@g;S@g\ F@gxF @g6b?r8  Nr-  )r   r   r   waldr)   re   r
   r2  r   r   	test_waldZTestRandomDist.test_wald=  sd    7499-.$d@((-@-/?@-/?@B C 	"&2>r   c                s    \        \        V P                  4      4      pVP                  R RRR7      p\	        \
        P                  ! VR8  4      4       R# )g    eAg      @r   rH  rY   N)r   r   r   rI  r   r)   r\   )r#   rJ   r%  rM   r   test_wald_nonnegativeZ$TestRandomDist.test_wald_nonnegativeE  s>    7499-.++3d+>w#~&'r   c                r  )r$  r  gnJZ?g*/F?gs(RY?g]'%?g,qD?g8 ?r8  Nr-  )r   r   r   weibullr)   re   r
   r2  r   r   test_weibullZTestRandomDist.test_weibullJ  sc    7499-.$V4((.0AB.0AB.0ABD E 	"&2>r   c                s    \        \        V P                  4      4      p\        VP	                  ^ ^R7      \
        P                  ! ^4      4       \        \        VP                  RR7       R# )r    r  )rN  Nr  )	r   r   r   r   rL  r)   rI   r   r3   rc  r%   r   test_weibull_0ZTestRandomDist.test_weibull_0R  sD    7499-.V^^ab^1288B<@j&..C8r   c                s    \        \        V P                  4      4      pVP                  R RR7      p\        P
                  ! ^^.^
R.R^..4      p\        W#4       R# )r$  r  ic  ib  Nr-  )r   r   r   zipfr)   re   r   r2  r   r   	test_zipfZTestRandomDist.test_zipfW  sX    7499-.t&1((qAJ #J AJ( ) 	6+r   r   )ro   r   r    r   r'   rv  )r   r   rE   r[   r6   r   )r   r6   rE   r   r'   rv  )r    r   r   ro   r   r[   )r[   ro   r   r    rE   r6   )rv  r   r'   r   r   r   r   )r[   r   r    r   )r.   r    r    r    )r6   r[   r    r    r+  r    r    r    )g{Gz?r  r    r   )gh㈵>r    r    r    )gMb`?gQ?r    r    r  r    r    r    r   r0   )r  r  r  y      ?      ?g      g)r{   gư>r6   g     @@rD  )r<   r=   r>   r?   r   r3  r4  r5  r7  r:  r<  r=  r}   r   r   r)   r|   rc   Zfloat64r   r>  r?  rB  rF  rJ  rM  rR  rT  rU  rX  rZ  r\  r_  r`  rb  rd  re  rt  rx  ry  r{  r}  r  r  r  r  r  rF   r  re   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(  rP   r  r  skipifr   r  r  r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r
  r  r  r  r  r  r  r  r  r  r  r  r#  r'  r*  r-  r.  r:  r?  rB  rC  rE  r,  rG  rJ  rK  rM  rN  rP  r@   rA   rB   rC   r   r*  r*    s     ,,,
&
E>> [[4!zz2995!zz299578/8/?,,,,,,,2$,9\9
/
($(&06,0#L9,2,M [[WsFm4[[-#RXX/C/C/E &F G "((,@,@,B #C D "((,@,@,B #C D	EF
(F 5
(#" [[Z&!5( 6(0.?,?E&
@	P6@ [[< < [[			#			,
		
)
)
?A??F,G?<,4?=???,( [[Wr||B';R&LM
> N
>	, [[(FG[[X'BCG% D HG%R [[[QC6(+<tqcUm*LM2 N2
 [[X'BC
3 D
3,)/
P?*? 
?<L,	E??>??N?>>>%D?I???D <>L,?&
 [[WsDk29 39 [[TC"%%ruuc#BC[[W&@A; B D;
?(
?9
, ,r   r*  c            	       s  a  ] tR tRt o 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#]$PJ                  PM                  R"^
]'PP                  ! ^
^
.4      ]'PP                  ! ^
..^
...4      .4      R# 4       t)R$ t*R% t+R&t,V t-R'# )(TestBroadcasti`  c                r   )i[Nr   r4   r   r   r   ZTestBroadcast.setup_methodc  s	    	r   c                s   \        \        V P                  4      4      p^ .p^.pVP                  p\        P
                  ! . RO4      p\        \        V P                  4      4      pVP                  V^,          V4      p\        We^R7       \        \        V P                  4      4      pVP                  W#^,          4      p\        We^R7       R# )r    r8  N)g4
7^?gF]
"?g .?r%  )r#   rJ   r  r  r&  r  r  r  r   r'  ZTestBroadcast.test_uniformf  s    7499-.cs..((QR7499-.a.!&2>7499-.AX.!&2>r   c                s   ^ .p^.pR.p\        \        V P                  4      4      p\        P                  ! . RO4      p\        \        V P                  4      4      pVP                  V^,          V4      p\        We^R7       \        \        VP
                  V^,          V4       \        \        V P                  4      4      pVP
                  pV! W^,          4      p\        We^R7       \        \        WqV^,          4       R# )r    r8  Nr0   )gw-Dؿgn0_x?gʊ;<.?)	r   r   r   r)   re   r  r
   r   r3   )r#   r  r  	bad_scalerJ   r  r  r     &       r   r  ZTestBroadcast.test_normalu  s    cD	7499-.((QR7499-.sQw.!&2>j&--q)D7499-.QY'!&2>j&y1}=r   c                s   ^.p^.pR.pR.p\         P                  ! . RO4      p\        \        V P                  4      4      pVP
                  pV! V^,          V4      p\        W^R7       \        \        Ws^,          V4       \        \        Wq^,          V4       \        \        V P                  4      4      pVP                  W^,          4      p\        W^R7       R# )r6   r8  Nr0   r7   )gf8?g%eo?g$q??)	r)   re   r   r   r   r  r
   r   r3   )	r#   rN  rO  bad_aZbad_br  rJ   r  r  r  r   r  ZTestBroadcast.test_beta  s    CC((QR7499-.{{a!eQ!&2>j$	15j$Au57499-.QA&!&2>r   c                   ^.pR.p\         P                  ! . RO4      p\        \        V P                  4      4      pVP                  V^,          4      p\        WS^R7       \        \        VP
                  V^,          4       R# r6   r8  Nr0   )g`ʄ?gE]?g?)	r)   re   r   r   r   r  r
   r   r3   r#   r  rS  r  rJ   r  rv   r   r  ZTestBroadcast.test_exponential  sf    D	((PQ7499-.##EAI.!&2>j&"4"4i!mDr   c                s    ^.pR.p\         P                  ! . RO4      p\        \        V P                  4      4      pVP
                  pV! V^,          4      p\        Wc^R7       \        \        WR^,          4       R# rW  )	r)   re   r   r   r   r  r
   r   r3   )r#   rd   	bad_shaper  rJ   Z	std_gammar  r  r   r  Z!TestBroadcast.test_standard_gamma  sc    D	((PQ7499-.))	519%!&2>j)];r   c                (   ^.p^.pR.pR.p\         P                  ! . RO4      p\        \        V P                  4      4      pVP
                  pV! V^,          V4      p\        W^R7       \        \        Ws^,          V4       \        \        Wq^,          V4       \        \        V P                  4      4      pVP
                  pV! W^,          4      p\        W^R7       \        \        WsV^,          4       \        \        WqV^,          4       R# )r6   r8  Nr0   r7   )g3ʄ?gJE]?g?)	r)   re   r   r   r   r  r
   r   r3   )	r#   rd   r  rY  rS  r  rJ   r  r  r  r   r  ZTestBroadcast.test_gamma  s    D	D	((PQ7499-.uqy%(!&2>j%Q>j%I>7499-.uai(!&2>j%EAI>j%	A>r   c                rZ  )r6   r8  Nr0   r7   )gM3B?gybi@g0?)	r)   re   r   r   r   r  r
   r   r3   )	r#   r  r  	bad_dfnum	bad_dfdenr  rJ   r  r  r  r   r  ZTestBroadcast.test_f  s    D	D	((QR7499-.HH519e$!&2>j!]E:j!QY	:7499-.HH5!)$!&2>j!	:j!IM:r   c           
     sX   ^.p^.p^.p^ .pR.pR.p\         P                  ! . RO4      p\        \        V P                  4      4      pVP
                  p	V	! V^,          W#4      p
\        W^R7       \         P                  ! \         P                  ! V	! W\         P                  .^,          4      4      4      '       g   Q h\        \        W^,          W#4       \        \        W^,          WS4       \        \        W^,          W&4       \        \        V P                  4      4      pVP
                  p	V	! W^,          V4      p
\        W^R7       \        \        WV^,          V4       \        \        WV^,          V4       \        \        WV^,          V4       \        \        V P                  4      4      pVP
                  p	V	! WV^,          4      p
\        W^R7       \        \        WW#^,          4       \        \        WWS^,          4       \        \        WW&^,          4       R# )rE   r8  Nr0   r7   )gŜ,n1 @g!6)@g9?)r)   re   r   r   r   r  r
   r\   r  rP   r   r3   )r#   r  r  r  r[  r\  bad_noncr  rJ   Znonc_fr  s   &          r   r  ZTestBroadcast.test_noncentral_f  s   sC	D	4((RS7499-.$$	5/!&2>vvbhhveRVVHqLABCCCCj&a-Ej&!)YEj&!)UE7499-.$$qy$/!&2>j&UQYEj&QEj&HE7499-.$$dQh/!&2>j&U1HEj&1HEj&1Er   c                s    \        \        V P                  4      4      p\        P                  ! R R.4      pVP                  RR^^R7      p\        W2^R7       R# )gZ\#?gDqw?rj   r   r8  N)r   r   r   r)   re   r  r
   )r#   rJ   r  r  r   r   test_noncentral_f_small_dfZ(TestBroadcast.test_noncentral_f_small_df  sL    7499-.((,o>?$$S#qq$9!&2>r   c                rV  )r6   r8  Nr0   )gC{?g7Q#?g%h1T@)	r)   re   r   r   r   r  r
   r   r3   r#   r  bad_dfr  rJ   r  rv   r   r  ZTestBroadcast.test_chisquare  sf    S((PQ7499-.!!"q&)!&2>j&"2"2FQJ?r   c                rZ  )r6   r8  Nr0   r7   )g-S?g[@gr3/.?)	r)   re   r   r   r   r  r
   r   r3   )	r#   r  r  r`  r]  r  rJ   Znonc_chir  r  r   r  Z'TestBroadcast.test_noncentral_chisquare  s    Ss4((OP7499-..."q&$'!&2>j(QJ=j(FH=7499-..."Qh'!&2>j(D1H=j(1=r   c                rV  )r6   r8  Nr0   )g>Qg{g,e?)	r)   re   r   r   r   r  r
   r   r3   r_  rv   r   r  ZTestBroadcast.test_standard_t   sf    S((ST7499-.""26*!&2>j&"3"3VaZ@r   c                s   ^.p^.pR.p\         P                  ! . RO4      p\        \        V P                  4      4      pVP                  V^,          V4      p\        Wd^R7       \        \        VP
                  V^,          V4       \        \        V P                  4      4      pVP                  W^,          4      p\        Wd^R7       \        \        VP
                  W^,          4       R# )rE   r8  Nr0   )gD()@g,)ʸ@gPo)	r)   re   r   r   r   r>  r
   r   r3   )r#   r  r=  Z	bad_kappar  rJ   r  r  r   r?  ZTestBroadcast.test_vonmises*  s    SD	((RS7499-.a/!&2>j&//269E7499-.QY/!&2>j&//21}Er   c                rV  )r6   r8  Nr0   )g/h?gcE?g/gV?)	r)   re   r   r   r   r  r
   r   r3   r#   rN  rU  r  rJ   r  rv   r   r  ZTestBroadcast.test_pareto:  sb    C((PQ7499-.q1u%!&2>j&--;r   c                rV  rW  )	r)   re   r   r   r   rL  r
   r   r3   ra  rv   r   rM  ZTestBroadcast.test_weibullD  sb    C((PQ7499-.A&!&2>j&..%!)<r   c                rV  )r6   r8  Nr0   )gT?gʥ?gKܮc?)	r)   re   r   r   r   r  r
   r   r3   ra  rv   r   r  ZTestBroadcast.test_powerN  sb    C((QR7499-.a!e$!&2>j&,,	:r   c                   ^ .p^.pR.p\         P                  ! . RO4      p\        \        V P                  4      4      pVP
                  pV! V^,          V4      p\        Wt^R7       \        \        Wa^,          V4       \        \        V P                  4      4      pVP
                  pV! W^,          4      p\        Wt^R7       \        \        WaV^,          4       R# )r    r8  Nr0   )gh&BgsgR#?)	r)   re   r   r   r   r  r
   r   r3   )r#   r  r  rS  r  rJ   r  r  rT  r   r  ZTestBroadcast.test_laplaceX  s    cD	((ST7499-...q%(!&2>j'7I>7499-...ai(!&2>j'	A>r   c                rb  )r    r8  Nr0   )gs4?g$Cw%T?gտ)	r)   re   r   r   r   r  r
   r   r3   )r#   r  r  rS  r  rJ   r  r  rT  r   r  ZTestBroadcast.test_gumbelj  s    cD	((RS7499-.a'!&2>j&'9=7499-.QY'!&2>j&y1}=r   c                s   ^ .p^.pR.p\         P                  ! . RO4      p\        \        V P                  4      4      pVP                  V^,          V4      p\        Wd^R7       \        \        VP
                  V^,          V4       \        \        V P                  4      4      pVP                  W^,          4      p\        Wd^R7       \        \        VP
                  W^,          4       \        VP                  RR4      R4       R# )r    r8  r  rY   Nr0   )g$DgXPg,?)
r)   re   r   r   r   r  r
   r   r3   r   )r#   r  r  rS  r  rJ   r  r  r   r  ZTestBroadcast.test_logistic|  s    cD	((QR7499-.q%0!&2>j&//37IF7499-.ai0!&2>j&//3AFV__S#.4r   c                s   ^ .p^.pR.p\         P                  ! . RO4      p\        \        V P                  4      4      pVP
                  pV! V^,          V4      p\        Wt^R7       \        \        Wa^,          V4       \        \        V P                  4      4      pVP                  W^,          4      p\        \        VP
                  W^,          4       R# )r    r8  Nr0   )g c?gu@gVQ?)	r)   re   r   r   r   r  r
   r   r3   )r#   r   r  Z	bad_sigmar  rJ   r  r  rT  r   r  ZTestBroadcast.test_lognormal  s    sD	((QR7499-.$$	4!8U+!&2>j)AXyA7499-.!!$	2j&"2"2Da-Hr   c                rV  )r6   r8  Nr0   )gs(?g4mK?gVk+?)	r)   re   r   r   r   r  r
   r   r3   rX  rv   r   r  ZTestBroadcast.test_rayleigh  sh    D	((!
 7499-.+!&2>j&//9q=Ar   c                sp   R .p^.p^ .pR.p\         P                  ! . RO4      p\        \        V P                  4      4      pVP                  V^,          V4      p\        Wu^R7       \        \        VP
                  V^,          V4       \        \        VP
                  V^,          V4       \        \        V P                  4      4      pVP                  W^,          4      p\        Wu^R7       \        \        VP
                  W2^,          4       \        \        VP
                  W^,          4       R# )r.   r8  Nr7   )gk7Z?g*}z9?gc-	?)	r)   re   r   r   r   rI  r
   r   r3   )r#   r   r  Zbad_meanrS  r  rJ   r  rT  r   rJ  ZTestBroadcast.test_wald  s    u3D	((OP7499-.TAXu-!&2>j&++x!|UCj&++taxC7499-.T19-!&2>j&++xCj&++t]Cr   c                s@   ^.p^.p^.p^.p^.pV^,          w  rg\         P                  ! . RO4      p\        \        V P                  4      4      p	V	P
                  p
V
! V^,          W24      p\        W^R7       \        \        W^,          W24       \        \        W^,          WR4       \        \        W^,          VV4       \        \        V P                  4      4      p	V	P
                  p
V
! W^,          V4      p\        W^R7       \        \        WV^,          V4       \        \        WV^,          V4       \        \        WV^,          V4       \        \        V P                  4      4      p	V	P
                  p
V
! WV^,          4      p\        W^R7       \        \        WW2^,          4       \        \        WWR^,          4       \        \        WVV^,          4       \        \        V
RRR4       \        \        V
RRR4       \        \        V
RRR4       R# )r6   r8  r  rY   g      4@g      9@N)gR8T>?gK?g;>h@)	r)   re   r   r   r   r"  r
   r   r3   )r#   r  r!  r   Zbad_left_oneZbad_mode_oneZbad_left_twoZbad_mode_twor  rJ   r"  r     &           r   r#  ZTestBroadcast.test_triangular  s   ssss%*QY"((QR7499-.&&
D1Hd2!&2>j*Q.>Lj*QhLj*Q.>	 7499-.&&
D(E2!&2>j*D1HeLj*L14DeLj*L1<L	 7499-.&&
D	2!&2>j*D!)Lj*L!)Lj*Lai	! 	j*c2s;j*c3<j*c3<r   c                s   ^.pR.pR.pR.pR.p\         P                  ! . RO4      p\        \        V P                  4      4      pVP
                  pV! V^,          V4      p	\        W4       \        \        W^,          V4       \        \        W^,          V4       \        \        W^,          V4       \        \        V P                  4      4      pVP                  W^,          4      p	\        W4       \        \        WV^,          4       \        \        WV^,          4       \        \        WV^,          4       R# )r6   r.   r+  Nr0   r    r    r6   )	r)   re   r   r   r   rK   r   r   r3   )
r#   r  rL   bad_n	bad_p_one	bad_p_twor  rJ   Zbinomr  
   &         r   r  ZTestBroadcast.test_binomial  s    CED	E	((9%7499-.q1ua6+j%A6j%Q	:j%Q	:7499-.E*6+j%A6j%IM:j%IM:r   c                s   ^.pR.pR.pR.pR.p\         P                  ! . RO\         P                  R7      p\        \	        V P
                  4      4      pVP                  pV! V^,          V4      p	\        W4       \        \        W^,          V4       \        \        W^,          V4       \        \        W^,          V4       \        \	        V P
                  4      4      pVP                  pV! W^,          4      p	\        W4       \        \        WV^,          4       \        \        WV^,          4       \        \        WV^,          4       R# )r6   r.   r+  rG   Nr0   )r    rE   r6   )
r)   re   r   r   r   r   r   r   r   r3   )
r#   r  rL   re  rf  rg  r  rJ   Z	neg_binomr  rh  r   r   Z$TestBroadcast.test_negative_binomial  s   CED	E	((9BHH57499-.,,	1q5!$6+j)QY:j)UI>j)UI>7499-.,,	1!e$6+j)AE:j)	A>j)	A>r   c                sR   ^.pR.p\         P                  ! . RO4      p\        \        V P                  4      4      pVP
                  pV^,          .pVP                  pV! V^,          4      p\        W4       \        \        Wr^,          4       \        \        Wv^,          4       R# )r6   Nr0   )r    r    ro   )
r)   re   r   r   r   Z_poisson_lam_maxr   r   r   r3   )	r#   r  Zbad_lam_oner  rJ   Zmax_lamZbad_lam_twor   r  r  r   r  ZTestBroadcast.test_poisson	  s    cd((9%7499-.)){m..q!6+j'?;j'?;r   c           	     s   ^.p^ .p\         P                  ! . RO4      p\        \        V P                  4      4      pVP
                  pV! V^,          4      p\        Wc4       \        \        WR^,          4       \         P                  ! RR7      ;_uu_ 4        \        \        V\         P                  4       \        \        V^ ^ \         P                  .4       RRR4       R#   + '       g   i     R# ; i)rE   r  r  N)r6   r   r6   )r)   re   r   r   r   rO  r   r   r3   r  rP   )r#   rN  rU  r  rJ   rO  r  r  r   rP  ZTestBroadcast.test_zipf$	  s    C((9%7499-.{{a!e6+j$	2[[***dBFF3*dQ266N; +***s   AC%%C6	c                s,   R .pR.pR.p\         P                  ! . RO4      p\        \        V P                  4      4      pVP
                  pV! V^,          4      p\        Wt4       \        \        Wb^,          4       \        \        Wc^,          4       R# )r.   r+  Nr0   r   )	r)   re   r   r   r   r  r   r   r3   )r#   rL   rf  rg  r  rJ   r  r  rT  r   r  ZTestBroadcast.test_geometric2	  su    ED	E	((9%7499-.$$	1q5!6+j)];j)];r   c                s   ^.p^.p^.pR.pR.pR.p^.p\         P                  ! . RO4      p\        \        V P                  4      4      p	V	P                  V^,          W#4      p
\        W4       \        \        V	P
                  V^,          W#4       \        \        V	P
                  V^,          WS4       \        \        V	P
                  V^,          W&4       \        \        V	P
                  V^,          W'4       \        \        V P                  4      4      p	V	P                  W^,          V4      p
\        W4       \        \        V	P
                  WB^,          V4       \        \        V	P
                  W^,          V4       \        \        V	P
                  W^,          V4       \        \        V	P
                  W^,          V4       \        \        V P                  4      4      p	V	P
                  pV! WV^,          4      p
\        W4       \        \        WW#^,          4       \        \        WWS^,          4       \        \        WW&^,          4       \        \        WW'^,          4       \        \        VR^
^4       \        \        V^
R^4       \        \        V^
^
R4       \        \        V^
^
^4       \        \        VR^
^4       \        \        VRR^24       \        \        VRR	R.R4       R# )
r6   i  r   Nr0   r7   rd  i   @l        i    )	r)   re   r   r   r   r  r   r   r3   )r#   ZngoodZnbadr   Z	bad_ngoodZbad_nbadZbad_nsample_oneZbad_nsample_twor  rJ   r  Z	hypergeomrc  r   r  Z!TestBroadcast.test_hypergeometric?	  sQ   s#D	4$#((9%7499-.&&uqy$@6+j&"7"7QVj&"7"7HVj&"7"7DZj&"7"7DZ7499-.&&uQh@6+j&"7"71HgVj&"7"71gVj&"7"7q/Zj&"7"7q/Z7499-.))	5!46+j)kJj)HkJj)DA:MNj)DA:MNj)RR8j)RR8j)RR8j)RR8 	j)UB;j)S%<j)S5%.$Gr   c                s,   R .p^.pR.p\         P                  ! . RO4      p\        \        V P                  4      4      pVP
                  pV! V^,          4      p\        Wt4       \        \        Wb^,          4       \        \        Wc^,          4       R# )r.   Nr0   )r6   r6   r6   )	r)   re   r   r   r   r  r   r   r3   )r#   rL   rf  rg  r  rJ   r  r  rT  r   r  ZTestBroadcast.test_logseriesl	  su    EC	D	((9%7499-.$$	1q5!6+j)];j)];r   c                s   \        \        V P                  4      4      pVP                  ^^.R.^,          RR7      p\        P
                  ! . RO. RO.. RO. R	O.. R
O. RO..\        P                  R7      p\        W#4       \        \        V P                  4      4      pVP                  ^^.R.^,          4      p\        P
                  ! . RO. RO.\        P                  R7      p\        W#4       \        \        V P                  4      4      pVP                  ^^.R.^,          .^,          4      p\        P
                  ! . RO. RO.\        P                  R7      p\        W#4       \        \        V P                  4      4      pVP                  ^.^..R.^,          .^,          4      p\        P
                  ! . RO. RO.. RO. R	O..\        P                  R7      p\        W#4       R# )r[   r   rG   Nr  r-  )r    r    rE   r6   rE   r    )rE   ro   r   r   rE   ro   )r6   r    r6   r    rE   r6   )r   rE   rE   r6   r   r   )r    rE   r    r6   rE   r    )ro   rE   ro   ro   r   r[   )r    r    rE   r6   r6   r6   )r   rE   ro   ro   r[   ro   )r   r   r   rW   r)   re   r   r   r2  r   r   r  ZTestBroadcast.test_multinomialy	  s   7499-.##QGfX\#G((//1//1//1	2
 :<C 	6+7499-.##QGfX\:((..079xxA6+7499-.##QGvhl^a-?@((..079xxA6+7499-.##aS2$K6(Q,!1CD((//1//12 :<C 	6+r   r  c                s   \        \        V P                  4      4      p\        P                  ! R.^,          4      pVP                  W4      p\        V\        4      '       d   RMVP                  pVR,           pVP                  V8X  g   Q h\        P                  ! W3.4      pVP                  W4      p\        P                  ! WSP                  RR 4      R,           pVP                  V8X  g   Q h\        P                  ! V.V..4      pVP                  W4      p\        P                  ! WSP                  RR 4      pVP                  VR,           8X  g   Q hVP                  WRV,           R7      pVP                  RV,           R,           8X  g   Q h\        P                  ! \        4      ;_uu_ 4        VP                  WRR7      pRRR4       R#   + '       g   i     R# ; i)	r6   Nr   rW  r;   )r   r0   r-  )r6   r6   r6   r6   r6   r6   )r   r   r   r)   re   rW   r   rF   rd   rn  Zbroadcast_shapesr}   r~   r3   )r#   r  rJ   rq   r  Zn_shaper   r   r   test_multinomial_pval_broadcastZ-TestBroadcast.test_multinomial_pval_broadcast	  s    7499-.%1%##A-"1c**" 4||~---		5.)##A-,,Wkk#26FG$N||~---		E7UG,-##A-,,Wkk#26FG||~4444##A6N3J#K||v6====]]:&&''x'@F '&&&s   8GG'	c                s    \        \        V P                  4      4      pR.^,          R.^,          .p\        \        VP
                  ^V4       \        \        VP
                  ^R4       R# )r6   r.   Nr  rW  )r   r   r   r   r3   rW   )r#   rJ   rq   rM   r   test_invalid_pvals_broadcastZ*TestBroadcast.test_invalid_pvals_broadcast	  sS    7499-.1ugk*j&"4"4a?j&"4"4a=r   c                s   \        \        V P                  4      4      pVP                  \        P
                  ! RR4      R.^,          4      pVP                  R8X  g   Q hVP                  ^\        P
                  ! R4      4      pVP                  R8X  g   Q hVP                  \        P
                  ! RR4      \        P
                  ! R4      4      pVP                  R8X  g   Q hR# )	r'   Zi8N)r'   r    r   r  )r'   r    r   r   )r'   r    r'   )ro   r    r   )ro   r    r   r   )r   r   r   rW   r)   r   rd   r  rM   r   test_empty_outputsZ TestBroadcast.test_empty_outputs	  s    7499-.##BHHZ$>!L||},,,##B(=>||{***##BHHY$=$&HH\$:<|||+++r   r   N).r<   r=   r>   r?   r   r'  r  r  r  r  r  r  r  r^  r  r  r  r?  r  rM  r  r  r  r  r  r  rJ  r#  r  r   r  rP  r  r  r  r  r}   r   r   r)   re   ri  rj  rk  r@   rA   rB   rC   r   rR  rR  `  s    ?>$?$E	<?*;*!FF?@>*AF <=;?$>$5"I BD&&=P;.?0<<<+HZ<,> [[S2#%88RH#5#%88rdVrdV,<#=#% 
A
A.>, ,r   rR  zcan't start threadr  c                   >   a  ] tR tRt o R tR tR tR tR tRt	V t
R# )	
TestThreadi	  c                s&    \        ^4      V n        R# )r   N)r(   seedsr4   r   r   r   ZTestThread.setup_method	  s    1X
r   c                s"   ^ RI Hp \        P                  ! \	        V P
                  4      3V,           4      p\        P                  ! \	        V P
                  4      3V,           4      p\        V P
                  V4       UUu. uF#  w  rgV! V\        \        V4      4      V3R7      NK%  	  pppV U	u. uF  qP                  4       NK  	   p	V U	u. uF  qP                  4       NK  	   p	\        V P
                  V4       F   w  rgV! \        \        V4      4      V4       K"  	  \        P                  ! 4       P                  P                  ^8X  d#   \        P                  R8X  d   \!        WE4       R# \#        WE4       R# u uppi u up	i u up	i )r    )Thread)ZtargetZargsZwin32N)Z	threadingro  r)   r   r  rn  Zzipr   r   ZstartjoinZintprH   r   r   Zplatformr
   r   )
r#   Zfunctionszro  Zout1Zout2r$   ZoZtr^   s
   &&&       r   check_functionZTestThread.check_function	  s   $xxTZZ*R/0xxTZZ*R/0 TZZ.0. 89WQZ+@!*DE. 	
 0AqA1a1 

D)DAYwqz*A. * 779??##q(S\\W-D%d1t*0s   )F2FFc                2    R  pV P                  VRR7       R# )c                 s0    V P                  R R7      VR&   R# )ra  r   .N)r  r   r  r   r   
gen_randomZ*TestThread.test_normal.<locals>.gen_random	  s    |||/CHr   rq  N)ra  rr  r#   ru  r%   r   r  ZTestThread.test_normal	  s    	0 	J84r   c                rs  )c                 sX    V P                  \        P                  ! R4      R7      VR&   R# )rS   r  .NrS   r   )r  r)   r^  rt  r   r   ru  Z'TestThread.test_exp.<locals>.gen_random	  s"    ((rww{/C(DCHr   rv  Nry  rw  rx  r%   r   test_expZTestThread.test_exp	  s    	E 	J;7r   c                rs  )c                 sD    V P                  ^
R.^,          RR7      VR&   R# )r'   ra  r   .Nr  )rW   rt  r   r   ru  Z/TestThread.test_multinomial.<locals>.gen_random	  s#    ((fX\(FCHr   rv  N)ra  r   rw  rx  r%   r   r  ZTestThread.test_multinomial	  s    	G 	J:6r   )rn  N)r<   r=   r>   r?   r   rr  r  rz  r  r@   rA   rB   rC   r   rm  rm  	  s#     +,587 7r   rm  c                   rl  )	TestSingleEltArrayInputi	  c                s    \         P                  ! ^.4      V n        \         P                  ! ^.4      V n        \         P                  ! ^.4      V n        RV n        R# )rE   Nrp  )r)   re   argOneargTwoargThreetgtShaper4   r   r   r   Z$TestSingleEltArrayInput.setup_method	  s<    hhsmhhsm!r   c                sp   \         P                  \         P                  \         P                  \         P                  \         P
                  \         P                  \         P                  \         P                  \         P                  \         P                  \         P                  \         P                  3p\         P                  \         P                  3pV FY  pW29   d   V! \        P                  ! R .4      4      pMV! V P                  4      p\!        VP"                  V P$                  4       K[  	  R# r   )rJ   r  r  r  r  r  rL  r  r  r   rO  r  r  r)   re   r|  r   rd   r  )r#   funcs	probfuncsr)  r  r   r   test_one_arg_funcsZ*TestSingleEltArrayInput.test_one_arg_funcs	  s    ##V%:%:!!6#4#4v!!6#3#35 %%v'7'78	D 288SE?+ 4;;'DMM2 r   c                s   \         P                  \         P                  \         P                  \         P                  \         P
                  \         P                  \         P                  \         P                  \         P                  \         P                  \         P                  \         P                  \         P                  \         P                  3p\         P                  \         P                  3pV F  pW29   d   \        P                   ! R .4      pMV P"                  pV! V P$                  V4      p\'        VP(                  V P*                  4       V! V P$                  ^ ,          V4      p\'        VP(                  V P*                  4       V! V P$                  V^ ,          4      p\'        VP(                  V P*                  4       K  	  R# r   )rJ   r&  r  r  r  r  r  r>  r  r  r  r  rI  rK   r   r)   re   r}  r|  r   rd   r  )r#   r  r  r)  r}  r  rv   r   test_two_arg_funcsZ*TestSingleEltArrayInput.test_two_arg_funcs
  s   fll666&..!!6;;&":":< __f&>&>?	D 3% t{{F+CDMM2t{{1~v.CDMM2t{{F1I.CDMM2 r   c           	     s   \         P                  \         P                  \         P                  \         P                  \         P
                  \         P                  \         P                  \         P                  \         P                  .	p\        P                  p\         P                  ! ^.4      p\         P                  ! ^ .4      pV F  pV! WTWR7      p\        VP                  V P                  4       V! V^ ,          WAVR7      p\        VP                  V P                  4       V! WT^ ,          WR7      p\        VP                  V P                  4       K  	  R# r   )r)   r   r   r   r   r   r   rc   r   r   rJ   r!   re   r   rd   r  )r#   r   r   r)  r  r  r   r  r  r   r3  Z%TestSingleEltArrayInput.test_integers*
  s    "''288RXXryy299bhh		;xx}hhsmBs8>CDMM2s1vtbACDMM2sGhACDMM2 r   c                sB   \         P                  \         P                  \         P                  .pV F  pV! V P                  V P
                  V P                  4      p\        VP                  V P                  4       V! V P                  ^ ,          V P
                  V P                  4      p\        VP                  V P                  4       V! V P                  V P
                  ^ ,          V P                  4      p\        VP                  V P                  4       K  	  R# rS  )
rJ   r  r"  r  r|  r}  r~  r   rd   r  )r#   r  r)  r  r   r   test_three_arg_funcsZ,TestSingleEltArrayInput.test_three_arg_funcs;
  s    $$f&7&7&&( Dt{{DKK?CDMM2t{{1~t{{DMMBCDMM2t{{DKKNDMMBCDMM2 r   )r|  r~  r}  r  N)r<   r=   r>   r?   r   r  r  r3  r  r@   rA   rB   rC   r   r{  r{  	  s#     3&363"3 3r   r{  r  c                 s&   V R ,          pV R,          p\        V4      pVP                  V4       VP                  R,          R,          p\        P                  R8X  d   VP                  4       p\        P                  ! V4      pVP                  R,          R,          V R,          R,          8X  g   Q hVP                  4       V R,          R,          8X  g   Q hVP                  4       pVP                  R,          R,          p\        P                  R8X  d   VP                  4       p\        P                  ! V4      pVP                  R,          R,          V R,          R,          8X  g   Q hVP                  4       V R,          R,          8X  g   Q hR	# )
r   r   r   r   r"  r   r   r   r   N)
r   r,   r   r   r   r   r   r   r  r   )r  r   r   Zmt19937r   r   r   r  r   test_jumpedr  J
  s7    &>D7OEdmGu
--
 
'C
}}lln^^C F==!%(F9,=e,DDDD	!2<!@@@@^^F
,,w

&C
}}lln^^C F<< '6(+;E+BBBB!1,!????r   c            	      s
   \         P                  ! ^4      p \         P                  ! R4      pR	p\        P                  WR
R7      P                  R
8X  g   Q h\
        P                  ! \        4      ;_uu_ 4        \        P                  WVR7       RRR4       \
        P                  ! \        4      ;_uu_ 4        \        P                  WRR7       RRR4       \
        P                  ! \        4      ;_uu_ 4        \        P                  WRR7       RRR4       \         P                  ! R4      p\
        P                  ! \        4      ;_uu_ 4        \        P                  W2R7       RRR4       \
        P                  ! \        4      ;_uu_ 4        \        P                  VRR7       RRR4       \
        P                  ! \        4      ;_uu_ 4        \        P                  V^R7       RRR4       \         P                  ! V4      p\
        P                  ! \        4      ;_uu_ 4        \        P                  W4R7       RRR4       \
        P                  ! \        4      ;_uu_ 4        \        P                  ^RR.RR7       RRR4       \
        P                  ! \        4      ;_uu_ 4        \        P                  ^^.RRR7       RRR4       \
        P                  ! \        4      ;_uu_ 4        \        P                  ^^.RR.RR7       RRR4       \
        P                  ! \        4      ;_uu_ 4        \        P                  ^^.RR.RR7       RRR4       \        P                  ^^R7      p\        P                  ^RR7      p\        P                  ^R
R7      p\        P                  WVV4      P                  R
8X  g   Q h\
        P                  ! \        RR7      ;_uu_ 4        \        P                  WVVRR7       RRR4       R#   + '       g   i     EL; i  + '       g   i     ELd; i  + '       g   i     EL6; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELT; i  + '       g   i     EL#; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     R# ; i)ro   r   Nr  rL  gffffff?zOutput size \(6, 5, 1, 1\) isry   )r   ro   )r'   r   rE   )r[   r   ro   )r6   ro   )r   r6   r6   )ro   )rE   r6   )r   r[   r6   r6   )r)   r^  rJ   r  rd   r}   r~   r3   r  r   rK   rW   r  r  )r  r  r   rd   r  rN  rO  rP  s           r   test_broadcast_size_errorr  f
  s/   	BGGFOED===399YFFF	z	"	"bd+ 
#	z	"	"bf- 
#	z	"	"bi0 
# GGFOE	z	"	"e/ 
#	z	"	"e$/ 
#	z	"	"e!, 
# ((4.C	z	"	"e- 
# 
z	"	"C:F3 
#	z	"	"A&1 
#	z	"	"Ac
8 
#	z	"	"Aq6B8&9 
# 	#A(A+AqQ'--:::	z)I	J	JA!,7 
K	JE 
#	"	"	"	"	"	"	"	" 
#	"	"	"	"	"	"	"	" 
#	"	" 
#	"	"	"	"	"	"	"	"	"	"	" 
K	J	Js   9P;P.=QQQ*Q>0R1R&6R:;SS"7S6P+	.P?	Q	Q'	*Q;	>R	R#	&R7	:S	S	"S3	6T	c                  s8   \         P                  ! ^4      p \         P                  ! ^4      p\        P                  W^R7       \        P
                  ! \        4      ;_uu_ 4        \        P                  W^R7       RRR4       R#   + '       g   i     R# ; ir   )r)   r^  rJ   r  r}   r~   r3   )r  r       r   test_broadcast_size_scalarr  
  sZ    	BGGAJE
MM"!M$	z	"	"ba( 
#	"	"	"s   &BB	c                  s|    . . ^.p \        \        ^ 4      4      p\        VP                  V 4       V ^. . .8X  g   Q hR# rO   )r   r   r   rI  )Zseqgenr  r   test_ragged_shuffler  
  s=    r1+C
GAJ
Cs{{C(1b"+r   r  r   c                 sR   \        \        ^ 4      4      pV'       d   RMRp\        P                  ! \        VR7      ;_uu_ 4        VP                  WR7       RRR4       V'       d   RMRp\        P                  ! \        VR7      ;_uu_ 4        VP                  RWR7       RRR4       \        P                  ! \        VR7      ;_uu_ 4        VP                  R.WR7       RRR4       R#   + '       g   i     L; i  + '       g   i     Lf; i  + '       g   i     R# ; i)	r    zhigh < 0z	high <= 0ry   r6  Nz
low > highzlow >= highr0   )r   r   r}   r~   r3   r!   )r  r   r  Zmsgr   r   !test_single_arg_integer_exceptionr  
  s     GAJ
C *kC	z	-	-T- 
.",C	z	-	-R1 
.	z	-	-bT43 
.	- 
.	- 
.	-	-	-	-s$   C/DD/C?	D	D&	rH   Zf4Zf8c           	      s   \         P                  ! RRV R7      p. R	Op\        P                  ! \        RR7      ;_uu_ 4        \
        P                  W!V R7       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \
        P                  W!VP                  V R7       RRR4       R#   + '       g   i     La; i  + '       g   i     R# ; i)
rE   F)orderrH   zSupplied output arrayry   r  Nr  r   r   )r)   r   r}   r~   r3   rJ   r  rd   )rH   r  rd   rM   r   test_c_contig_req_outr  
  s     ((6E
2CE	z)@	A	AeE: 
B	z)@	A	Ae399EJ 
B	A 
B	A	A	A	As   B3#C3C	C	r  r  ZCdistc                 s    \         P                  ! RW!R7      pV ! W2R7      pWCJ g   Q hV ! W2VP                  R7      pWCJ g   Q hR# )rE   )rH   r  r  )r  rH   r   Nr   )r)   r   rd   )r  r  rH   r  ZvariatesrF  r   test_contig_req_outr  
  sB    
 ((6
4C)H??syy9H??r   c                  s   \         P                  P                  \         P                  P                  ^ 4      4      p V P	                  ^4       V P                  4       w  pw  r#VP                  P                  R8X  g   Q h\        V4       V! R!  p\        V4       VP                  VP                  n	        VP                  P                  pVP                  V8X  g   Q hR# )r    	PCG64DXSMN)r  )r)   rJ   r   r  r   Z
__reduce__Z	__class__r<   Zprintr   r   )r   ZctorZbit_genZ_rO  Zstate_bs         r   $test_generator_ctor_old_style_pickler  
  s    			RYY003	4Bq==?D+7%%444	$KnA	!H#MMAOOoo##G==G###r   c                  s   ^ RI p \        P                  P                  \        P                  P	                  R4      4      pVP
                  P                  pV P                  V P                  V4      4      pVP
                  P                  p\        VP                  VP                  4       \        VP                  VP                  4       VP
                  P                  P                  ^
4       V P                  V P                  V4      4      pVP
                  P                  p\        VP                  VP                  4       R# )r    Ni4)pickler)   rJ   r   r  r   Zseed_seqZloadsZdumpsr   r   ZpoolZspawn)r  r   ZssZrg_plkZss_plks        r   #test_pickle_preserves_seed_sequencer  
  s     			RYY00:	;B				"	"B\\&,,r*+F!!**F6<<(&++&##B'\\&,,r*+F!!**F6<<(r   versionc                 s   ^ RI p^ RIp\        P                  P	                  \        P                  P                  \        4      4      ^ ,          p\        P                  P                  VRRV  R24      pVP                  V4      ;_uu_ 4       pVP                  V4      pRRR4       XP                  P                  R,          p\        V\        4      '       g   Q h\        VP                  \        P                  P                   4      '       g   Q hVR,          R8X  g   Q hVR,          R8X  g   Q hR#   + '       g   i     L; i)	r    Nr|  Zgenerator_pcg64_npz.pkl.gzr   l	   a*MzJR2MP Zincl	   sN	D%(^6FA )gzipr  osZpathZsplitZabspathZ__file__rp  ZopenZloadr   r   r   r   r)   rJ   ZPCG64)r  r  r  Z	base_pathZpkl_fileZgzr   r   rT  r   test_legacy_pickler  
  s     bggooh78;Iww||6/y@H 
8		[[_ 
""7+Eb)$$$$b&&		8888>CCCC<AAAA 
	s   D55E	)i|2iEm:iS43i5  r7   )7r   Zos.pathr  r   r}   Znumpyr)   Znumpy.exceptionsr   Znumpy.linalgr   Znumpy.randomr   r   r   r   Znumpy.testingr   r   r	   r
   r   r   r   r   r   r   rJ   ZJUMP_TEST_DATAZfixturer   r   rD   rR   r   r   r   r*  rR  r   rQ  rm  r{  r   r  r  r  r  r  r  r   r  r  r  r  r;   r   r   <module>r     s     
   & $ F F   
79	 	L"dfkmnoL"dfkmpq	 		L"dfkmpqL"dfkmpq	 	6L"dfkmpqL"dfkmpq	, he}5 6!6 !6H> >4) 4)nC- C-L, ,DE EPN, N,b$b	, b	,J G$89+7 +7 :+7^R3 R3j >2@ 3@6(8V) "rd,dE]3
4 4 -
4 4,/K 0K 4,/3*-&"8"8&--!HI J . 0$)$ S#J/B 0Br   