
    Kh(                       S SK rS SKrS SKrS SKrS SKrS SKJr  S SK	J
r
  S SKJrJrJrJrJrJrJrJrJrJr  S SKJrJrJrJr  \" \" 5       5      rS SSSS	.S
SS	.S.SSSSS	.SSS	.S./ SQSSSS	.SSS	.S./r\R:                  " SSS/S9S 5       r " S S5      r " S  S!5      r  " S" S#5      r! " S$ S%5      r" " S& S'5      r# " S( S)5      r$ " S* S+5      r% " S, S-5      r&\RN                  RQ                  \S.S/9 " S0 S15      5       r) " S2 S35      r*\RN                  RW                  S4\5      S5 5       r,S6 r-S7 r.S8 r/\RN                  RW                  S9S:S://5      \RN                  RW                  S;SS/5      S< 5       5       r0\RN                  RW                  S=S>S?/5      S@ 5       r1\RN                  RW                  S=S>S?/5      \RN                  RW                  SASBSC/5      \RN                  RW                  SD\Rd                  \R6                  /5      SE 5       5       5       r3SF r4SG r5\RN                  RW                  SHSISJ/5      SK 5       r6g)L    N)	AxisError)LinAlgError)
assert_assert_raisesassert_equalassert_allcloseassert_warnsassert_no_warningsassert_array_equalassert_array_almost_equalsuppress_warningsIS_WASM)	GeneratorMT19937SeedSequenceRandomState
   @bb1636883c2707b51c5b7fc26c6927af4430f2e0785a8c7bc886337f919f9edf	   )
key_sha256pos@ff682ac12bb140f2d72fba8d3506cf4e46817a0db27aae1683867629031d8d55iV  )seedstepsinitialjumpedi$<i8  @16b791a1e04886ccbbb4d448d6ff791267dc458ae599475d08d5cced29d11614i7  @a0110a2cf23b56be0feaed8f787a7fc84bef0cb5623003d75b26bdfa1c18002ci  )i|2iEm:iS43i5  i  @d306cf01314d51bd37892d874308200951a35265ede54d200f1e065004c3e9eai  @0e00ab449f01a5195a83b4aee0dfbc2ce8d46466a640b92e33977d2e42f777f8i  moduleTF)scopeparamsc                     U R                   $ N)param)requests    [/var/www/html/env/lib/python3.13/site-packages/numpy/random/tests/test_generator_mt19937.pyendpointr)   )   s    ==    c                   8    \ rS rSrS rS rS rS rS rS r	Sr
g	)
TestSeed.   c                     [        [        S5      5      n[        UR                  S5      S5        [        [        S5      5      n[        UR                  S5      S5        g )Nr           D  )r   r   r   integersselfss     r(   test_scalarTestSeed.test_scalar/   sE    gaj!QZZ%s+gj)*QZZ%s+r*   c                    [        [        [        S5      5      5      n[        UR	                  S5      S5        [        [        [
        R                  " S5      5      5      n[        UR	                  S5      S5        [        [        S/5      5      n[        UR	                  S5      S5        [        [        S/5      5      n[        UR	                  S5      S5        g )Nr   r/   i  r   r0   r1   r2   )r   r   ranger   r3   nparanger4   s     r(   
test_arrayTestSeed.test_array5   s    geBi()QZZ%s+gbiim,-QZZ%s+gqcl#QZZ%s+gzl+,QZZ%s+r*   c                 b    [        [        S5      5      n[        UR                  S5      S5        g )Nr      iz)r   r   r   
random_rawr4   s     r(   test_seedsequenceTestSeed.test_seedsequence?   s"    LO$Q\\!_j1r*   c                 X    [        [        [        S5        [        [        [        S5        g )N      r   	TypeErrorr   
ValueErrorr5   s    r(   test_invalid_scalarTestSeed.test_invalid_scalarC   s    i$/j'2.r*   c                     [        [        [        S/5        [        [        [        S/5        [        [        [        / SQ5        g )NrE   rF   )r@           rG   rJ   s    r(   test_invalid_arrayTestSeed.test_invalid_arrayH   s+    i4&1j'B40j'+>?r*   c                 6    [        [        [        [        5        g r%   )r   rI   r   r   rJ   s    r(   test_noninstantized_bitgen#TestSeed.test_noninstantized_bitgenN   s    j)W5r*    N)__name__
__module____qualname____firstlineno__r7   r=   rB   rK   rP   rS   __static_attributes__rU   r*   r(   r,   r,   .   s!    ,,2/
@6r*   r,   c                        \ rS rSrS rS rSrg)TestBinomialR   c                     [         R                  " SSS9nS HD  n[        [        R	                  SU5      S:H  5        [        [        R	                  X5      U5        MF     g )N   intdtype)r         ?r@   r   )r;   zerosr   randombinomialr   )r5   rd   ps      r(   test_n_zeroTestBinomial.test_n_zeroS   sI     %(AFOOAq)Q./vu8%@ r*   c                 `    [        [        [        R                  S[        R
                  5        g )Nr@   )r   rI   re   rf   r;   nanrJ   s    r(   test_p_is_nanTestBinomial.test_p_is_nan\   s    j&//1bff=r*   rU   N)rV   rW   rX   rY   rh   rl   rZ   rU   r*   r(   r\   r\   R   s    A>r*   r\   c                   D    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
rg)TestMultinomiala   c                 4    [         R                  SSS/5        g )Nd   皙?皙?re   multinomialrJ   s    r(   
test_basicTestMultinomial.test_basicb   s    3c
+r*   c                 4    [         R                  S/ SQ5        g )Nrr   )rs   rt           rz   rz   ru   rJ   s    r(   test_zero_probability%TestMultinomial.test_zero_probabilitye   s    3 9:r*   c                    [        S[        R                  SS5      s=:*  =(       a    S:  Os  5        [        R                  SSS5      n[        [        R                  " SU:*  5      5        [        [        R                  " US:  5      5        g )NrF      )r   re   r3   r;   allr5   xs     r(   test_int_negative_interval*TestMultinomial.test_int_negative_intervalh   s\    foob"-2223OOBA&rQw q2vr*   c           	         SS/n[        [        R                  SU[        R                  " S5      5      R
                  S5        [        [        R                  SU[        R                  " S5      5      R
                  S5        [        [        R                  SU[        R                  " S5      5      R
                  S5        [        [        R                  SUSS/5      R
                  S5        [        [        R                  SUS5      R
                  S5        [        [        R                  SU[        R                  " S5      5      R
                  S5        [        [        [        R                  SU[        S5      5        g )Nrc   r@   r@   r_   r_   r_   r_   r_   r_   r_   )
r   re   rv   r;   uint32shapearrayr   rH   floatr5   rg   s     r(   	test_sizeTestMultinomial.test_sizen   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                     [        [        [        R                  SSS/5        [        [        [        R                  SSS/5        g )Nrr   皙?rs   皙?r   rI   re   rv   rJ   s    r(   test_invalid_prob!TestMultinomial.test_invalid_prob|   s2    j&"4"4cC:Fj&"4"4cC:Fr*   c                     [        [        [        R                  SSS/5        [        [        [        R                  S/S-  SS/5        g )NrF   rt   rs   r   r   rJ   s    r(   test_invalid_nTestMultinomial.test_invalid_n   s8    j&"4"4b3*Ej&"4"4rdRi#sLr*   c                 L   [         R                  " S5      nU[         R                  " USS S2   5      -  nUSS S2   n[        [	        S5      5      nUR                  SUS9n[        [	        S5      5      nUR                  S[         R                  " U5      S9n[        XE5        g )Ng      .@r@      ۠iUrr   )pvals)r;   r<   sumr   r   rv   ascontiguousarrayr   )r5   rg   r   re   
non_contigcontigs         r(   test_p_non_contiguous%TestMultinomial.test_p_non_contiguous   s    IIcN	RVVAaddG_!$Q$7:./''5'9
7:./##Cr/C/CE/J#K:.r*   c                 (   [         R                  " / SQ[         R                  S9nXR                  5       -  n[	        [        S5      5      nSn[        R                  " [        US9   UR                  SU5        S S S 5        g ! , (       d  f       g = f)N)
Gz?r   &.>r   r   r   r   r   r   r   ra   r   z-[\w\s]*pvals array is cast to 64-bit floatingmatchr@   )
r;   r   float32r   r   r   pytestraisesrI   rv   )r5   r   r   re   r   s        r(   test_multinomial_pvals_float32.TestMultinomial.test_multinomial_pvals_float32   sh    HH :ACMEEG7:./@]]:U3q%( 433s   'B
BrU   N)rV   rW   rX   rY   rw   r{   r   r   r   r   r   r   rZ   rU   r*   r(   ro   ro   a   s,    ,;  GM/)r*   ro   c                   F   \ rS rSrS rS r\R                  R                  SSS/5      S 5       r	\R                  R                  S/ S	Q5      \R                  R                  SSS/5      \R                  R                  S
/ SQ5      S 5       5       5       r
S rS rS rSrg)TestMultivariateHypergeometric   c                     SU l         g )Ni_ r   rJ   s    r(   setup_method+TestMultivariateHypergeometric.setup_method   s	    	r*   c                 v   [        [        [        R                  SS5        [        [        [        R                  / SQS5        [        [        [        R                  / SQS5        [        [        [        R                  / SQS5        [        [        [        R                  / S5        [        [        [        R                  SS	/S
SS5        [        R
                  " [        R                  5      nUR                  nX!R                  R                  -  n[        [        [        R                  US-
  S	/S
SS5        g )Nr      )r_   r   r   rF   )rF   r_   r   r_   r@   iɚ;e   r   	marginalsrr   count)
r   rI   re   multivariate_hypergeometricr;   iinfoint64maxrb   itemsize)r5   
int64_info	max_int64max_int64_indexs       r(   test_argument_validation7TestMultivariateHypergeometric.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                 \   [        [        U R                  5      5      nUR                  / SQSUS9n[	        U/ SQ5        UR                  / SUS9n[	        U/ 5        UR                  / SSUS9n[	        U[
        R                  " S[
        R                  S95        UR                  / SQSUS9n[	        U/ SQ5        UR                  / S	QS
US9n[	        U/ SQ5        / SQnUR                  U[        U5      US9n[	        X45        UR                  / SQSS
US9n[	        U/ SQ/S
-  5        g )Nr   r   r   r   r   r@   sizer   )r@   r   ra   r@   r_   r   )r   r   r   r   )r   r   r   )r@   r@   r   r@   r@   r   r   r      )	r   r   r   r   r   r;   emptyr   r   )r5   r   re   r   colorss        r(   test_edge_cases.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< / >1yk!m,r*   nsample)      -   7   r   )r   r_   r   iI c           	         [        [        U R                  5      5      n[        R                  " / SQ5      nUR                  XQUUS9n[        U[        5      (       a  U4UR                  -   nOX5R                  -   n[        UR                  U5        [        US:  R                  5       5        [        Xe:*  R                  5       5        [        UR                  SS9[        R                  " X1[        S95        [        U[        5      (       a4  US:  a-  [        UR!                  SS9X-  UR                  5       -  SS	S
9  g g g )N)r   r      r   r   r   rF   axis)
fill_valuerb   順 MbP?{Gzt?)rtolatol)r   r   r   r;   r   r   
isinstancer`   r   r   r   r   r   r   fullr   mean)r5   r   r   r   re   r   sampleexpected_shapes           r(   test_typical_cases1TestMultivariateHypergeometric.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                     [        [        U R                  5      5      nUR                  / SQSSSS9n[        R
                  " / SQ/ SQ/ SQ/ SQ/ SQ/5      n[        X#5        g )Nr   r   r   r   )r_   r@   r_   r@   r@   r   r_   r   r   r   r   r   r   r;   r   r   r5   re   r   expecteds       r(   test_repeatability12TestMultivariateHypergeometric.test_repeatability1   s_    7499-.33Iqq;B 4 D88Y&&&&	( )
 	6,r*   c                     [        [        U R                  5      5      nUR                  / SQSSSS9n[        R
                  " / SQ/ SQ/ SQ/ SQ/ S	Q/5      n[        X#5        g )
Nr      2   r   r   r   r   )r         )      r   )r         )r      r   r   r   s       r(   test_repeatability22TestMultivariateHypergeometric.test_repeatability2  sb    7499-.33L"9:;F 4 H 88\))))	+ ,
 	6,r*   c                     [        [        U R                  5      5      nUR                  / SQSSSS9n[        R
                  " / SQ/ SQ/ SQ/ SQ/ S	Q/5      n[        X#5        g )
Nr   r   r   r   r   )r_   r   r   )r   r   r   )r_   r   r   )r@   r      r   r   s       r(   test_repeatability32TestMultivariateHypergeometric.test_repeatability3  sb    7499-.33L"9:;F 4 H 88Y&&&&	( )
 	6,r*   r   N)rV   rW   rX   rY   r   r   r   markparametrizer   r   r   r   r   rZ   rU   r*   r(   r   r      s    CB [[X'=>- ?-D [[Y8[[X'=>[[V%893 : ? 93,	-
-
-r*   r   c                   ,    \ rS rSrS rS rS rS rSrg)TestSetStatei  c                 2   SU l         [        [        U R                   5      5      U l        U R                  R                  U l        U R                  R
                  U l        U R
                  S   U R
                  S   S   U R
                  S   S   4U l        g )NIbit_generatorstatekeyr   )r   r   r   rgr  r  legacy_staterJ   s    r(   r   TestSetState.setup_method  s{    	GDII./!WW22''--
!ZZ8!ZZ07!ZZ079r*   c                     U R                   R                  SS9nU R                  U R                  l        U R                   R                  SS9n[	        [
        R                  " X:H  5      5        g Nr   r   )r
  standard_normalr  r  r   r;   r   )r5   oldnews      r(   test_gaussian_reset TestSetState.test_gaussian_reset(  sU    gg%%1%-#':: gg%%1%-sz"#r*   c                 *   U R                   R                  5         U R                  R                  nU R                   R                  SS9nXR                  l        U R                   R                  SS9n[	        [
        R                  " X#:H  5      5        g r  )r
  r  r  r  r   r;   r   )r5   r  r  r  s       r(    test_gaussian_reset_in_media_res-TestSetState.test_gaussian_reset_in_media_res/  sr     	!""((gg%%1%-#( gg%%1%-sz"#r*   c                 <    U R                   R                  SS5        g Nrc   )r
  negative_binomialrJ   s    r(   test_negative_binomial#TestSetState.test_negative_binomial:  s     	!!#s+r*   )r  r  r
  r   r  N)	rV   rW   rX   rY   r   r  r  r  rZ   rU   r*   r(   r  r    s    9$	$,r*   r  c                      \ rS rSr\R
                  r\\R                  \R                  \R                  \R                  \R                  \R                  \R                  \R                   /	rS rS rS rS rS rS rS rS	 rS
 rS rS r\R<                  R?                  SS\R@                  " / SQ5      4S\R@                  " / SQ5      4S\R@                  " / SQ5      4/5      S 5       r!S r"S r#S r$S r%S r&S r'S r(\R<                  RR                  \R<                  R?                  SSS\R                  S4SS \R                  S!4S"S#\R                  S$4S%S&\R                  S'4/5      S( 5       5       r*S)r+g*)+TestIntegersi@  c                 B    [        [        U R                  SU[        S9  g Nr@   r)   rb   )r   rH   rfuncr   )r5   r)   s     r(   test_unsupported_type"TestIntegers.test_unsupported_typeG  s    iQOr*   c           
         U R                    GHt  nU[        L a  SO[        R                  " U5      R                  nU[        L a  SO"[        R                  " U5      R
                  S-   nU(       a  US-
  OUn[        [        U R                  US-
  UXS9  [        [        U R                  X4S-   XS9  [        [        U R                  XCXS9  [        [        U R                  SSUUS9  [        [        U R                  US-
  /UXS9  [        [        U R                  U/US-   /XS9  [        [        U R                  U/U/XS9  [        [        U R                  SS/XS9  [        [        U R                  US-   /U/XS9  GMw     g Nr   r_   r@   r!  	itypeboolr;   r   minr   r   rI   r"  r5   r)   dtlbndubnds        r(   test_bounds_checking!TestIntegers.test_bounds_checkingJ  sK   **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6(TF#+7+ r*   c           
         U R                    H  nU[        L a  SO[        R                  " U5      R                  nU[        L a  SO'[        R                  " U5      R
                  U(       + -   n[        [        U R                  US-
  /S-  U/S-  XS9  [        [        U R                  U/S-  US-   /S-  XS9  [        [        U R                  XC/S-  XS9  [        [        U R                  S/S-  SXS9  M     g r&  r'  r+  s        r(   test_bounds_checking_array'TestIntegers.test_bounds_checking_arrayc  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 r*   c                    U R                    GH8  nU[        L a  SO[        R                  " U5      R                  nU[        L a  SO"[        R                  " U5      R
                  S-   nU(       a  US-
  OUnU(       + nUS-
  n[        U R                  XfU-   SXS9U5        [        U R                  U/Xe-   SXS9U5        Un[        U R                  XfU-   SXS9U5        [        U R                  XfU-   /SXS9U5        X4-   S-  n[        U R                  XfU-   SXS9U5        [        U R                  U/Xe-   /SXS9U5        GM;     g )Nr   r_   r@   r/   r   r)   rb   r(  r)  r;   r   r*  r   r   r"  )r5   r)   r,  r-  r.  is_opentgts          r(   test_rng_zero_and_extremes'TestIntegers.test_rng_zero_and_extremesq  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nU R                    GH  nU[        L a  SO[        R                  " U5      R                  nU[        L a  SO"[        R                  " U5      R
                  S-   nU(       a  US-
  OUnUS-
  n[        U R                  U/US-   /X#S9U5        [        U R                  U/U-  US-   /U-  US9U5        [        U R                  U/U-  US-   /U-  X#S9U5        Un[        U R                  U/US-   /X#S9U5        [        U R                  U/U-  US-   /U-  US9U5        [        U R                  U/U-  US-   /U-  X#S9U5        XE-   S-  n[        U R                  U/US-   /X#S9U5        [        U R                  U/U-  US-   /U-  US9U5        [        U R                  U/U-  US-   /U-  X#S9U5        GM     g )Nr/   r   r_   r@   r   rb   ra   r6  )r5   r)   r   r,  r-  r.  r8  s          r(    test_rng_zero_and_extremes_array-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                 l   U R                    H{  nU[        L a  SO[        R                  " U5      R                  nU[        L a  SO"[        R                  " U5      R
                  S-   nU(       a  US-
  OUn U R                  X4XS9  M}     g ! [         a  n[        S[        U5      -  5      eS nAff = fNr   r_   r@   r!  zMNo error should have been raised, but one was with the following message:

%s
r(  r)  r;   r   r*  r   r"  	ExceptionAssertionErrorstrr5   r)   r,  r-  r.  es         r(   test_full_rangeTestIntegers.test_full_range  s     **Bd
1(8(8Dd
1(8(81(<D'4!8TD@

4
C   @$ &68;A&? @ @@s   8B
B3B..B3c                 x   U R                    H  nU[        L a  SO[        R                  " U5      R                  nU[        L a  SO"[        R                  " U5      R
                  S-   nU(       a  US-
  OUn U R                  U/S-  U/XS9  M     g ! [         a  n[        S[        U5      -  5      eS nAff = fr@  rA  rE  s         r(   test_full_range_array"TestIntegers.test_full_range_array  s     **Bd
1(8(8Dd
1(8(81(<D'4!8TD@

D6A:v
K   @$ &68;A&? @ @@s   8B
B9B44B9c           
         [        [        5       5      nU R                  SS   HX  nS HO  nU R                  SXA-
  SXS9n[	        UR                  5       U:  5        [	        UR                  5       S:  5        MQ     MZ     U R                  SSU-
  SU[        S9n[	        UR                  5       S:  5        [	        UR                  5       S:  5        g )Nr@   )r   r      r_   i   r5  r   )r   r   r(  r"  r   r   r*  r)  )r5   r)   re   r,  r.  valss         r(   test_in_bounds_fuzz TestIntegers.test_in_bounds_fuzz  s    79%**QR.B"zz!T_7+3 " ?
T)*
a(	 # ! zz!Q\( $  &
Q
a r*   c           	         U R                    H  nU[        L a  SO[        R                  " U5      R                  nU[        L a  SO"[        R                  " U5      R
                  S-   nU(       a  US-
  OUnSn[        [        S5      5      nUR                  X4XQUS9n[        [        S5      5      nUR                  U/U/UXS9n[        [        S5      5      nUR                  U/U-  U/U-  XQUS9n	[        Xx5        [        Xy5        M     g )Nr   r_   r@   r/     r5  
r(  r)  r;   r   r*  r   r   r   r3   r   )
r5   r)   r,  r-  r.  r   re   scalarscalar_arrayr   s
             r(   test_scalar_array_equiv$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           
         SSSSSSSSSS.	nU R                   SS   H  n[        [        S5      5      n[        R                  S	:X  a  UR                  S
SU-
  SUUS9nO$UR                  S
SU-
  SUUS9R                  5       n[        R                  " U5      R                  5       n[        U[        R                  " U5      R                     U:H  5        M     [        [        S5      5      nUR                  S
SU-
  SU[        S9R                  [        R                   5      n[        R                  " U5      R                  5       n[        U[        R                  " [        5      R                     U:H  5        g )N@053594a9b82d656f967c54869bc6970aa0358cf94ad469c81478459c6a90eee3@54de9072b6ee9ff7f20b58329556a46a447a8a29d67db51201bf88baa6e4e5d4@d3a0d5efb04542b25ac712e50d21f39ac30f312a5052e9bbb1ad3baa791ac84b@14e224389ac4580bfbdccb5697d6190b496f91227cf67df60989de3d546389b1@0e203226ff3fbbd1580f15da4621e5f7164d0d8d6b51696dd42d004ece2cbec1)	r)  int16int32r   int8uint16r   uint64uint8r@   rR  littler   r   r/   r5  r_   )r(  r   r   sys	byteorderr3   byteswaphashlibsha256	hexdigestr   r;   rb   namer)  viewr`  )r5   r)   r8  r,  re   valress          r(   test_repeatabilityTestIntegers.test_repeatability  s\    \[[[[[[[[] **QR.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           	      d   U R                    GH  nU[        [        R                  4;   a  SO[        R                  " U5      R                  nU[        [        R                  4;   a  SO"[        R                  " U5      R
                  S-   nU(       a  US-
  OUn[        [        S5      5      nUR                  X4SUUS9n[        [        S5      5      nUR                  U/S-  XAUS9n[        Xg5        [        [        S5      5      nUR                  U/S-  U/S-  XS9n[        Xg5        GM"     g )Nr   r_   r@   rR  r/   r5  r!  rS  )r5   r)   r,  r-  r.  re   rm  val_bcs           r(   test_repeatability_broadcasting,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, expectedr1   )iui,YQiXgi$#Pl   bA i{El   /Yi rO   )ui,YQXgi%#Pl   bA i|El   0Yi        )ru  rv  l   bA l   1Yi i{,miuHl   HM c                     S [        U5      4 H9  n[        [        S5      5      nUR                  XS9n[	        XSb  UOUS   5        M;     g )NrR  r  r   )lenr   r   r3   r   )r5   boundr   r   re   r   s         r(   !test_repeatability_32bit_boundary.TestIntegers.test_repeatability_32bit_boundary'  sH     3x=)Dwt}-F1A(8HhqkJ *r*   c           
      &   [         R                  " / SQ/ SQ/ SQ// SQ/ SQ/ SQ// SQ/ SQ/ S	Q// S
Q/ SQ/ SQ// SQ/ SQ/ SQ//5      nS HC  n[        [        S5      5      nUR	                  S/S/S/// SQUS9n[        XBb  UOUS   5        ME     g )N)i
`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   r   r   i90  rF   r   r@   )r1   rO   rw  r  )r;   r   r   r   r3   r   )r5   desiredr   re   r   s        r(   .test_repeatability_32bit_boundary_broadcasting;TestIntegers.test_repeatability_32bit_boundary_broadcasting6  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                    [         R                  SSS-  4SSS4[         R                  S0nU GH[  nX#    GHN  nUu  pVXa-
  n[         R                  " U/S-  /5      n[         R                  " U/S-  5      n[	        [
        [        R                  XVXS	9  [	        [
        [        R                  XvXS	9  [	        [
        [        R                  XXXS	9  [	        [
        [        R                  XxXS	9  [         R                  " U/S-  /[        S
9n	[         R                  " U/S-  [        S
9n
[	        [
        [        R                  XXS	9  [	        [
        [        R                  XZXS	9  [	        [
        [        R                  XXS	9  GMQ     GM^     g )Nr   r_   A   )rF               r   r   r   r   ))r   l            )l         r  r  r  )        r  r   r!  ra   )	r;   rb  r   r   r   rI   re   r3   object)r5   r)   configsrb   configlowhighlow_ahigh_alow_ohigh_os              r(   &test_int64_uint64_broadcast_exceptions3TestIntegers.test_int64_uint64_broadcast_exceptionsM  sB   991b5z;H88 45 E!."	3%(,4&2+.j&//3'/>j&//5'/>j&//3'/>j&//5'/> 3%(6:4&2+V<j&//5'/>j&//3'/>j&//5'/>) ) r*   c                    [         R                  n[         R                  " [         R                  5      R                  n[         R                  " [         R                  " [         R                  5      R                  5      n[         R                  " [         R                  " [         R                  5      R                  S-   U-
  5      n[
        R                  XEXS9n[        Xc5        g r   )r;   r   r   r   rb  re   r3   r   )r5   r)   r,  r8  r-  r.  actuals          r(   test_int64_uint64_corner_case*TestIntegers.test_int64_uint64_corner_casei  s     XXhhrxx $$xx*../yy"((+//!3h>? hIV!r*   c                    U R                    H  nU[        L a  SO[        R                  " U5      R                  nU[        L a  SO"[        R                  " U5      R
                  S-   nU(       a  US-
  OUnU[        L a  [        R                  OUnU R                  X4XS9n[        UR                  U5        M     [        [        4 H  nU[        L a  SO[        R                  " U5      R                  nU[        L a  SO"[        R                  " U5      R
                  S-   nU(       a  US-
  OUnU R                  X4XS9n[        US5      (       a   e[        [        U5      U5        M     g )Nr   r_   r@   r!  rb   )r(  r)  r;   r   r*  r   r"  r   rb   r`   hasattrtyper5   r)   r,  r-  r.  r   s         r(   test_respect_dtype_singleton)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                    U R                    H  nU[        L a  SO[        R                  " U5      R                  nU[        L a  SO"[        R                  " U5      R
                  S-   nU(       a  US-
  OUnU[        L a  [        R                  OUnU R                  U/U/XS9n[        UR                  U5        U R                  U/S-  U/S-  UUS9n[        UR                  U5        M     g r&  )	r(  r)  r;   r   r*  r   r"  r   rb   r  s         r(   test_respect_dtype_array%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           	         U R                    H  nU R                  SSSXS9nUR                  S:X  d   eUR                  U:X  d   eU R                  SSSUUS9R                  S:X  d   e[	        [
        R                  SSSS9R                  S5        [	        [
        R                  SSSS9R                  S5        [	        [
        R                  SSSS9R                  S5        M     g )Nr   r   r   r   r!  r   r  r   )r(  r"  r   rb   r   re   r3   )r5   r)   r,  r   s       r(   test_zero_size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                     [         R                  S:X  a  SOSn[        R                  " [        5         [
        R                  SSSUS9  S S S 5        g ! , (       d  f       g = f)Nbigz<i4z>i4r      r   r<  )re  rf  r   r   rI   re   r3   )r5   other_byteord_dts     r(   test_error_byteorder!TestIntegers.test_error_byteorder  sB    $'MMU$:5]]:&OOAs3COD '&&s   A
A!zsample_size,high,dtype,chi2maxi@KL r   g     @_@r   g     b@i i	  g     ȩ@i  g     d@c                     [         R                  X!US9n[        R                  " USS9u  pgX-  nXx-
  S-  U-  R	                  5       n	X:  d   eg )Nr<  T)return_countsr_   )re   r3   r;   uniquer   )
r5   sample_sizer  rb   chi2maxsamplesvaluescountsr   chi2s
             r(   $test_integers_small_dtype_chisquared1TestIntegers.test_integers_small_dtype_chisquared  sU     //$/F7$?%"Q&1668~~r*   rU   N),rV   rW   rX   rY   re   r3   r"  r)  r;   r`  rc  r^  ra  r_  r   r   rb  r(  r#  r/  r2  r9  r=  rG  rJ  rO  rV  ro  rs  r   r  r  r   r{  r  r  r  r  r  r  r  slowr  rZ   rU   r*   r(   r  r  @  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                      \ rS rSrS rS rS rS rS rS r	S r
S	 r\R                  R                  S
\R                   \R"                  4\R$                  \R&                  4/5      S 5       rS rS rS rS rS rS rS rS rS rS rS rS r S r!S r"S r#S r$S r%S r&S r'S r(S  r)S! r*S" r+S# r,S$ r-S% r.\R                  R                  S&\/\0/5      \R                  R                  S'S(\Rb                  " / S)Q/ S*Q/5      4S+\Rb                  " / S,Q/ S-Q/5      4S.\Rb                  " / S/Q/ S0Q/5      4/5      S1 5       5       r2S2 r3S3 r4\R                  R                  S4S5S6/5      S7 5       r5S8 r6S9 r7S: r8S; r9S< r:S= r;S> r<S? r=S@ r>SA r?\R                  R                  SB 5       rA\R                  R                  SC/ SDQ/ SEQ/ SFQ/ SGQ/ SHQ/ SIQSJ// SKQ/5      SL 5       rBSM rCSN rDSO rESP rFSQ rGSR rHSS rIST rJSU rKSV rLSW rMSX rNSY rOSZ rPS[ rQS\ rRS] rS\R                  R                  S^\R                  " SJS_5      S`\R                  Sa/5      Sb 5       rVSc rW\R                  R                  \YSdSe9\R                  R                  Sf/ SgQ5      Sh 5       5       rZ\R                  R                  SiS+/Sj//4Sk/S.//4/5      Sl 5       r[\R                  R                  Sf/ SgQ5      Sm 5       r\Sn r]So r^Sp r_Sq r`Sr raSs rbSt rcSu rdSv reSw rfSx rgSy rhSz riS{ rjS| rkS} rlS~ rmS rnS roS rpS rqS rrS rsS rtS ruS rvS rwS rxS ryS rzS r{S r|S r}S r~S rS rS r\R                  R                  SSS/5      S 5       r\R                  R                  SS\GR                  * S\GR                  S/5      \R                  R                  S/ SQ5      S 5       5       rS rS rS rS rSrg()TestRandomDisti  c                     SU l         g )Nr  r   rJ   s    r(   r   TestRandomDist.setup_method  s	    	r*   c                     [        [        U R                  5      5      nUR                  SSSS9n[        R
                  " SS/SS/S	S
//5      n[        X#5        g )Nc   r   r_   r  )   %   ir   r   r   r3   r;   r   r   r5   re   r  r~  s       r(   test_integersTestRandomDist.test_integers  sR    7499-.bv6((S#JR3*=>6+r*   c                     [        [        U R                  5      5      nUR                  SSS[        R
                  S9n[        R                  " SS/SS/S	S
//[        R
                  S9n[        X#5        g )Nr   r  r  r<  r      F   D   r   r  ra   )r   r   r   r3   r;   r   r   r   r  s       r(   test_integers_masked#TestRandomDist.test_integers_masked  s`     7499-.BV299E((QGb"X2w7ryyI6+r*   c                     [        [        U R                  5      5      nUR                  SSSSS9n[        R
                  " SS/SS	/S
S//5      n[        X#5        g )Nr  r  r  T)r   r)   r  r  r  &   r  ir  r  s       r(   test_integers_closed#TestRandomDist.test_integers_closed  sT    7499-.bvE((S#J"b	C:>?6+r*   c                     [         R                  [        R                  " S5      R                  [        R                  " S5      R                  SS9n[        R                  " S5      R                  n[        X5        g )NlTr)   )re   r3   r;   r   r   r   )r5   r  r~  s      r(   test_integers_max_int$TestRandomDist.test_integers_max_int  sW     #!2!2BHHSM4E4E*. ! 0 ((3-##V%r*   c                 *   [        [        U R                  5      5      nUR                  S5      n[        R
                  " SS/SS/SS//5      n[        X#SS	9  [        [        U R                  5      5      nUR                  5       n[        X#S
   SS	9  g )Nr  gG0Ը?gæ?g2?gu	A?gH
>H?g;dE?r   decimalr  r   r   r   re   r;   r   r   r  s       r(   test_randomTestRandomDist.test_random  s    7499-.v&((.0AB.0AB.0ABD E 	"&2>7499-.!&$-Dr*   c                     [        [        U R                  5      5      nUR                  S5      n[        R
                  " SS/SS/SS//5      n[        X#SS	9  g )
Nr  CԸ?gP?gtX?g81
A?grO>H?g88dE?r   r  r  r  s       r(   test_random_float TestRandomDist.test_random_float  sY    7499-.v&((Y4'4'46 7 	"&1=r*   c                     [        [        U R                  5      5      nUR                  [        R
                  S9nSn[        X#SS9  g )Nra   r  r   r  )r   r   r   re   r;   r   r   r  s       r(   test_random_float_scalar'TestRandomDist.test_random_float_scalar  s8    7499-.RZZ0!&1=r*   zdtype, uint_view_typec                     [        [        U R                  5      5      nUR                  SUS9n[        R
                  " UR                  U5      S-  5      nSUs=:  a  S:  d   e   eg )Nr   ra   r@   i$^  i,e  )r   r   r   re   r;   count_nonzerorl  )r5   rb   uint_view_typere   r   num_ones_in_lsbs         r(   test_random_distribution_of_lsb.TestRandomDist.test_random_distribution_of_lsb	  sb     7499-.vU3**6;;~+F+JK ......r*   c                 >    [        [        [        R                  SS9  g )Nr_  ra   )r   rH   re   rJ   s    r(   test_random_unsupported_type+TestRandomDist.test_random_unsupported_type  s    ig>r*   c                     [        [        U R                  5      5      nUR                  SS5      n[        R
                  " / SQ[        R                  S9n[        X#5        g )Nr   )r   r   r_   r_   ra   r   r   r   choicer;   r   r   r   r  s       r(   test_choice_uniform_replace*TestRandomDist.test_choice_uniform_replace  sA    7499-.q!$((<rxx86+r*   c                     [        [        U R                  5      5      nUR                  SS/ SQS9n[        R
                  " / SQ[        R                  S9n[        X#5        g )Nr   )皙?r  皙?r  rg   )r   r@   r   r@   ra   r  r  s       r(   test_choice_nonuniform_replace-TestRandomDist.test_choice_nonuniform_replace  sF    7499-.q!';<((<rxx86+r*   c                 B   [        [        U R                  5      5      nUR                  SSSS9n[        R
                  " / SQ[        R                  S9n[        X#5        UR                  SSSSS9n[        R                  " S[        R                  S9n[        X#5        g )Nr   r   Freplacer   ra   )r  shuffle)	r   r   r   r  r;   r   r   r   r<   r  s       r(   test_choice_uniform_noreplace,TestRandomDist.test_choice_uniform_noreplace$  sw    7499-.q!U3((9BHH56+q!UEB))ARXX.6+r*   c                     [        [        U R                  5      5      nUR                  SSS/ SQS9n[        R
                  " / SQ[        R                  S9n[        X#5        g )Nr   r   F)r  333333?rc   r  r  rg   )r   r_   r   ra   r  r  s       r(    test_choice_nonuniform_noreplace/TestRandomDist.test_choice_nonuniform_noreplace-  sH    7499-.q!U6JK((9BHH56+r*   c                     [        [        U R                  5      5      nUR                  / SQS5      n[        R
                  " / SQ5      n[        X#5        g )N)abcdr   )r  r  r  r  r   r   r   r  r;   r   r   r  s       r(   test_choice_noninteger%TestRandomDist.test_choice_noninteger3  s=    7499-.3Q7((/06+r*   c                     [        [        U R                  5      5      nUR                  SS/SS/SS/SS//S5      n[        R
                  " SS/SS/SS//5      n[        X#5        g )	Nr   r@   r_   r   r   r   r   r   r	  r  s       r(   )test_choice_multidimensional_default_axis8TestRandomDist.test_choice_multidimensional_default_axis9  sg    7499-.AAAA?C((QFQFQF346+r*   c                     [        [        U R                  5      5      nUR                  SS/SS/SS/SS//SSS	9n[        R
                  " S/S/S/S//5      n[        X#5        g )
Nr   r@   r_   r   r   r   r   r   r   r	  r  s       r(   (test_choice_multidimensional_custom_axis7TestRandomDist.test_choice_multidimensional_custom_axis?  si    7499-.AAAA?K((QC!qcA3/06+r*   c           	         [         R                  n[        [        USS5        [        [        USS5        [        [        U/ S5        [        [        U/ SQSSS/SS//S9  [        [        USS/S/ S	QS9  [        [        USS/SS
S/S9  [        [        USS/SSS/S9  [        [        U/ SQSSS9  [        [        U/ SQSSS9  [        [        U/ SQSSS9  [        [        U/ SQSSS9  [        [        U/ SQSS/ SQS9  g )NrF   r         @)r@   r_   r   r         ?r  r@   r_   )r  r  rs   r   r   r  r   r   Fr  rN   )rF   )rF   r@   )r@   r   r   r  )re   r  r   rI   )r5   r   s     r(   test_choice_exceptions%TestRandomDist.test_choice_exceptionsE  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S/n[        [        R                  " [        R	                  SSS95      5        [        [        R                  " [        R	                  SSS95      5        [        [        R                  " [        R	                  SSUS95      5        [        [        R                  " [        R	                  SSUS95      5        [        [        R                  " [        R	                  SS/SS95      5        [        [        R	                  S /SS9S L 5        [        R
                  " SS/5      n[        R                  " S[        S	9nX#S
'   [        [        R	                  USS9UL 5        [        5       n[        [        R                  " [        R	                  SUSS95      (       + 5        [        [        R                  " [        R	                  SUSS95      (       + 5        [        [        R                  " [        R	                  SUSUS95      (       + 5        [        [        R                  " [        R	                  SUSUS95      (       + 5        [        [        R                  " [        R	                  SS/USS95      (       + 5        [        [        R	                  S /USS9R                  S
:H  5        [        R
                  " SS/5      n[        R                  " S[        S	9nX#S
'   [        [        R	                  X4SS9R                  5       UL 5        Sn/ SQn[        [        R	                  SUSS9R                  U5        [        [        R	                  SUSS9R                  U5        [        [        R	                  SUSUS9R                  U5        [        [        R	                  SUSUS9R                  U5        [        [        R	                  [        R                  " S5      USS9R                  U5        [        [        R                  S
S
SS9R                  S5        [        [        R                  S
SS
S9R                  S5        [        [        R                  SSS
S9R                  S5        [        [        R	                  S
S
S9R                  S5        [        [        R	                  / SS9R                  S5        [        [        R	                  SS/SS9R                  S5        [        [         [        R                  / S5        g )Nr  r   r_   Tr  Fr  r@   ra   r   r   )r  r  r  r  r  rs   r   r  r  r  r  r   r  r  )r   r;   isscalarre   r  r   r   r  tuplendimitemr   r   r<   r3   r   rI   )r5   rg   r  arrr6   s        r(   test_choice_return_shape'TestRandomDist.test_choice_return_shapeW  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 G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                 v    [         R                  " / SQ5      n/ SQn[        [        [        R
                  XS9  g )N)*   r@   r_   )NNNr  )r;   r   r   rI   re   r  )r5   r  rg   s      r(   test_choice_nan_probabilities,TestRandomDist.test_choice_nan_probabilities  s%    HHZ j&--8r*   c           
      X   [         R                  " S5      S-  nSUSS S2'   [        [        U R                  5      5      nUR                  SSUS S S2   S9n[        [        U R                  5      5      nUR                  SS[         R                  " US S S2   5      S9n[        X45        g )Nr   r   r  r@   r_   r   r  )r;   onesr   r   r   r  r   r   )r5   rg   re   r   r   s        r(   test_choice_p_non_contiguous+TestRandomDist.test_choice_p_non_contiguous  s    GGBK!O!$Q$7499-.]]1a1SqS6]2
7499-.q!r';';AccF'CD:.r*   c                    [         R                  " S5      S-  n[        R                  SS5      nUR                  [         R
                  :X  d   e[        R                  SSSS9nUR                  [         R
                  :X  d   e[        R                  SSUS9nUR                  [         R
                  :X  d   e[        R                  SSUSS9nUR                  [         R
                  :X  d   eg )Nr   g      @r_   Fr  r  )rg   r  )r;   r$  re   r  rb   r   )r5   rg   r  s      r(   test_choice_return_type&TestRandomDist.test_choice_return_type  s    GGAJOq!$||rxx'''q!U3||rxx'''q!q)||rxx'''q!q%8||rxx'''r*   c                 J   Sn[        [        U R                  5      5      nUR                  SSSS9n[        R
                  S:w  a  UR                  5       n[        R                  " UR                  [        R                  5      5      R                  5       n[        X:H  5        g )N@4266599d12bfcfb815213303432341c06b4349f5455890446578877bb322e222'  r  Fr  rd  )r   r   r   r  re  rf  rg  rh  ri  rl  r;   r`  rj  r   )r5   choice_hashre   r  rn  s        r(   test_choice_large_sample'TestRandomDist.test_choice_large_sample  su    X7499-.udE:==H$__&FnnV[[12<<>"#r*   c                 N   [        [        U R                  5      5      n[        UR	                  / SQSS9[
        R                  " S5      SS9  [        UR	                  / SQ/SS9/ SQ5        [        UR	                  S//SS9S/SS9  [        UR	                  S//SSS9S/SS9  g )Nr   rU   r  r@   T)strict)r   r   )r   r   r   r   r  r;   r   r5   re   s     r(   "test_choice_array_size_empty_tuple1TestRandomDist.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                 |    [        [        U R                  5      5      nUR                  S5      nSn[	        X#5        g )Nr   s
   	8%)r   r   r   bytesr   r  s       r(   
test_bytesTestRandomDist.test_bytes  s0    7499-.b!5V%r*   c                     S S S S S S S S S	 S
 S 4 HS  n[        [        U R                  5      5      nU" / SQ5      nUR                  U5        UnU" / SQ5      n[	        XE5        MU     g )Nc                 .    [         R                  " / 5      $ r%   )r;   r   r   s    r(   <lambda>-TestRandomDist.test_shuffle.<locals>.<lambda>  s    rxx|r*   c                     U $ r%   rU   r;  s    r(   r<  r=    s    qr*   c                 h    [         R                  " U 5      R                  [         R                  5      $ r%   )r;   asarrayastyper`  r;  s    r(   r<  r=    s    rzz!}33BGG<r*   c                 h    [         R                  " U 5      R                  [         R                  5      $ r%   )r;   r@  rA  r   r;  s    r(   r<  r=    s    rzz!}33BJJ?r*   c                 h    [         R                  " U 5      R                  [         R                  5      $ r%   )r;   r@  rA  	complex64r;  s    r(   r<  r=    s    rzz!}33BLLAr*   c                 T    [         R                  " U 5      R                  [        5      $ r%   )r;   r@  rA  r  r;  s    r(   r<  r=    s    rzz!}33F;r*   c                 4    U  Vs/ s H  oU4PM     sn$ s  snf r%   rU   r   is     r(   r<  r=    s    21A22s   c                 \    [         R                  " U  Vs/ s H  oU/PM     sn5      $ s  snf r%   )r;   r@  rG  s     r(   r<  r=    s!    rzz1*=1aq61*=>*=s   )c                 D    [         R                  " X /5      R                  $ r%   )r;   vstackTr;  s    r(   r<  r=    s    ryy!022r*   c                     [         R                  " U  Vs/ s H  oU4PM     snS[        4S[        4/5      R                  [         R                  5      $ s  snf )Nr  r  )r;   r@  r`   rl  recarrayrG  s     r(   r<  r=    sG    

A+>AqFA+>-0#Jc
+C!E!%bkk!2!3+>s   Ac                     [         R                  " U  Vs/ s H  oU4PM     snS[        S4S[         R                  S4/5      $ s  snf )Nr  r@   r  )r;   r@  r  r_  rG  s     r(   r<  r=    sB    rzz1*=1aq61*=,/+>,/4+@+B C*=s   A
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   )r5   convre   alistr  r~  s         r(   test_shuffleTestRandomDist.test_shuffle  s|     , <?A;2>24CDD" wtyy12F78ENN5!F9:Gv/-Dr*   c                    [        [        U R                  5      5      n[        R                  " S5      R                  S5      nUR                  USS9  [        R                  " / SQ/ SQ/ SQ/ SQ/5      n[        X#5        [        [        U R                  5      5      n[        R                  " S5      R                  S5      nUR                  US	S9  [        X#5        g )
NrM  r   r   r@   r   r   r   r@   r_   r   r   r   r   r      r   r   r   r   r   r   rF   )	r   r   r   r;   r<   reshaper  r   r   r  s       r(   test_shuffle_custom_axis'TestRandomDist.test_shuffle_custom_axis  s    7499-.2&&v.vA&((,,,,. / 	6+7499-.2&&v.vB'6+r*   c                    [        [        U R                  5      5      n[        R                  " / 5      R                  S5      nS HB  n[        R                  " / 5      R                  S5      nUR                  XCS9  [        XB5        MD     g )N)r   r   )r   r@   r   )r   r   r   r;   r   r^  r  r   )r5   re   r~  r   r  s        r(   test_shuffle_custom_axis_empty-TestRandomDist.test_shuffle_custom_axis_empty  se    7499-.((2,&&v.DXXb\))&1FNN6N-v/ r*   c                 T   [         R                  " S5      R                  SS5      nUR                  5       n[	        [        U R                  5      5      nUR                  USS9  [	        [        U R                  5      5      nUR                  UR                  5        [        X5        g )Nr   r_   r   r@   r   )
r;   r<   r^  copyr   r   r   r  rL  r   )r5   y1y2re   s       r(   test_shuffle_axis_nonsquare*TestRandomDist.test_shuffle_axis_nonsquare  su    YYr]""1b)WWY7499-.r"7499-.rtt2"r*   c                    [         R                  R                  [         R                  " [	        S5      S5      S-  S-
  S5      n[         R                  R                  [         R
                  " S5      S-  S-
  S5      nUR                  5       nUR                  5       n[	        S5       H  n[        R                  U5        [        [        UR                  UR                  )    5      [        UR                  UR                  )    5      5        [        R                  U5        [        [        UR                  UR                  )    5      [        UR                  UR                  )    5      5        M     g )Nr   )r   r   r   r@   rF   r   )r;   mamasked_valuesr^  r:   r<   re  re   r  r   sorteddatamask)r5   r  r  a_origb_origrH  s         r(   test_shuffle_masked"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           
         [        [        U R                  5      5      n[        R                  " S5      n[        [        UR                  US5        [        R                  " S5      R                  S5      n[        [        UR                  US5        [        [        UR                  U[        SSS 5      5        / SQ/ SQ/n[        [        UR                  US5        [        R                  " S5      n[        [        UR                  U5        [        R                  " S	5      n[        [        UR                  US5        g )
Nr   r@   r   r   r   r   r_   r   )r   r   r   r  )r   r   r   r;   r<   r   r   r  r^  rH   sliceNotImplementedErrorr   r$  r5   re   r  s      r(   test_shuffle_exceptions&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                    [        [        U R                  5      5      n[        R                  " S5      nSUR
                  l        [        R                  " [        SS9   UR                  U5        S S S 5        g ! , (       d  f       g = f)Nr   F	read-onlyr   )r   r   r   r;   rd   flags	writeabler   r   rI   r  )r5   re   r  s      r(   test_shuffle_not_writeable)TestRandomDist.test_shuffle_not_writeable  sT    7499-.HHQK!]]:[9NN1 :99s   A::
Bc                 r   [        [        U R                  5      5      n/ SQnUR                  U5      n/ SQn[	        X45        [        [        U R                  5      5      n[
        R                  " / SQ5      R                  nUR                  U5      n[	        U[
        R                  " U5      R                  5        Sn[        [        UR                  U5        Sn[        [        UR                  U5        [        [        U R                  5      5      nSn/ SQnUR                  U5      n[	        X45        g )NrQ  rR  abcdg333333?r   )
r   r   r   r   r   r   r_   r   r@   r   )
r   r   r   permutationr   r;   
atleast_2drL  r   r   )	r5   re   rT  r  r~  arr_2d	bad_x_strbad_x_floatinteger_vals	            r(   test_permutation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                 v   [         R                  " S5      R                  S5      n[         R                  " / SQ/ SQ/ SQ/ SQ/5      n[	        [        U R                  5      5      nUR                  USS9n[        XB5        [	        [        U R                  5      5      nUR                  US	S9n[        XB5        g )
NrM  rX  rY  rZ  r[  r]  r@   r   rF   )	r;   r<   r^  r   r   r   r   r  r   )r5   r  r~  re   r  s        r(   test_permutation_custom_axis+TestRandomDist.test_permutation_custom_axis.  s    IIbM!!&)((,,,,. / 7499-.##AA#.6+7499-.##AB#/6+r*   c           
      t   [        [        U R                  5      5      n[        R                  " S5      n[        [        UR                  US5        [        R                  " S5      R                  S5      n[        [        UR                  US5        [        [        UR                  U[        SSS 5      5        g )Nr   r@   r   ru  r   r_   )r   r   r   r;   r<   r   r   r  r^  rH   rv  rx  s      r(   test_permutation_exceptions*TestRandomDist.test_permutation_exceptions;  s    7499-.iimi!3!3S!<iil""6*i!3!3S!<i!3!3S%1d:KLr*   rb   zaxis, expectedN)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   c                    [        [        U R                  5      5      n[        R                  " S5      R                  SS5      R                  U5      nUR                  XRUS9  [        XS5        [        [        U R                  5      5      n[        R                  " S5      R                  SS5      R                  U5      nUR                  XRS9nUR                  U:X  d   e[        Xc5        g )Nr   r_   r   r   outr   )
r   r   r   r;   r<   r^  rA  permutedr   rb   )r5   rb   r   r   re   r   ys          r(   test_permutedTestRandomDist.test_permutedC  s     7499-.IIbM!!!Q'..u5!,1'7499-.IIbM!!!Q'..u5OOAO)ww%1'r*   c                 `   [        [        U R                  5      5      n[        R                  " S5      R                  SS5      nUR                  5       nUS S 2S S S24   nUR                  USUS9n[        R                  " / SQ/ SQ/5      n[        XV5        XcS S 2S S S24'   [        X25        g )	N   r_   r\  r   r@   r  )r   r   r   r   )r   r   r\  r   )
r   r   r   r;   r<   r^  re  r  r   r   )r5   re   x0x1r   r  r   s          r(   test_permuted_with_strides)TestRandomDist.test_permuted_with_stridesW  s    7499-.YYr]""1b)WWYq#A#vJOOAA1O-88\-/ 01'1cc6
2"r*   c                 F    [         R                  / 5      n[        U/ 5        g r%   )re   r  r   )r5   r  s     r(   test_permuted_empty"TestRandomDist.test_permuted_emptyd  s    OOB1b!r*   outshaper   r   c                     [         R                  " / SQ5      n[         R                  " XR                  S9n[        R
                  " [        SS9   [        R                  X#S9  S S S 5        g ! , (       d  f       g = f)Nr   ra   z
same shaper   r  )	r;   r   rd   rb   r   r   rI   re   r  )r5   r  r  r  s       r(   "test_permuted_out_with_wrong_shape1TestRandomDist.test_permuted_out_with_wrong_shapeh  sJ    HHYhhxww/]]:\:OOAO' ;::s   A--
A;c                    [         R                  " S[         R                  S9n[         R                  " S5      n[        R
                  " [        SS9   [        R                  USUS9  S S S 5        g ! , (       d  f       g = f)N)r   r   ra   zCannot castr   r@   r  )	r;   rd   r_  r$  r   r   rH   re   r  )r5   r  r   s      r(   !test_permuted_out_with_wrong_type0TestRandomDist.test_permuted_out_with_wrong_typeo  sO    hhvRXX.GGFO]]9M:OOAA3O/ ;::s   A22
B c                     [         R                  " S5      nSUR                  l        [        R
                  " [        SS9   [        R                  USUS9  S S S 5        g ! , (       d  f       g = f)N)r_   r   Fr|  r   r@   r  )	r;   rd   r}  r~  r   r   rI   re   r  r   s     r(   test_permuted_not_writeable*TestRandomDist.test_permuted_not_writeableu  sH    HHV!]]:[9OOAA1O- :99s   A  
A.c                     [        [        U R                  5      5      nUR                  SSSS9n[        R
                  " SS/SS/S	S
//5      n[        X#SS9  g )Nr  r   r  r  gW<$=g^
=g/:Ћ?gG!Gc>g'`2?gU?r   r  )r   r   r   betar;   r   r   r  s       r(   	test_betaTestRandomDist.test_beta{  sc    7499-.R&1((#%:;#%:;#%:;=> 	"&2>r*   c                 0   [        [        U R                  5      5      nUR                  SSSS9n[        R
                  " SS/SS/SS	//5      n[        X#5        [        [        U R                  5      5      nUR                  SS5      nSn[        X#5        g )
NgZd;Y@gv/?r  r  r   r  0   ,   r   )r   r   r   rf   r;   r   r   r  s       r(   test_binomialTestRandomDist.test_binomial  s    7499-.$V<((RHHH& ' 	6+7499-.$/6+r*   c                     [        [        U R                  5      5      nUR                  SSS9n[        R
                  " SS/SS/SS	//5      n[        X#S
S9  g )Nr   r  r  gmE~@@g
1ςC@grӳL@gm%xL@g<kQK@gtK@r   r  )r   r   r   	chisquarer;   r   r   r  s       r(   test_chisquareTestRandomDist.test_chisquare  sf    7499-.!!"6!2((-/?@-/?@-/?@B C 	"&2>r*   c                    [        [        U R                  5      5      n[        R                  " SS/5      nUR                  USS9n[        R                  " SS/SS//S	S
/SS//SS/SS///5      n[        X4SS9  [        R                  " SS/5      n[        [        UR
                  U5        [        [        U R                  5      5      n[        R                  " SS/5      nUR                  U5      n[        X4S   SS9  g )NI<I@EZC@r  r  g28\h?gɎG/?gAp?g|);?gLX?gfOh?g됷W?g(ސP?gz$Q?gmWt ?g搝K?g4hz?r   r  HzG?缉ؗҜr  )	r   r   r   r;   r   	dirichletr   r   rI   )r5   re   alphar  r~  	bad_alphas         r(   test_dirichlet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                 "   [         R                  " SS/5      n[        [        R	                  U[         R
                  " S5      5      R                  S5        [        [        R	                  U[         R
                  " S5      5      R                  S5        [        [        R	                  U[         R
                  " S5      5      R                  S5        [        [        R	                  USS/5      R                  S5        [        [        R	                  US5      R                  S5        [        [        R	                  U[         R                  " S5      5      R                  S5        [        [        [        R                  U[        S5      5        g )Nr  r  r@   r   r_   r   r   )
r;   r   r   re   r  r   r   r   rH   r   r   s     r(   test_dirichlet_size"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           	         [         R                  " SS/5      n[        [        [        R
                  U5        [        [        [        R
                  SS//5        [        [        [        R
                  S/S//5        [        [        [        R
                  S/S//S/S///5        [        [        [        R
                  [         R                  " SS/SS//5      5        g )Nr  r  r   r@   )r;   r   r   rI   re   r  )r5   r  s     r(   test_dirichlet_bad_alpha'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                 :   [         R                  " / SQ5      nUS S S2   n[        [        U R                  5      5      nUR                  USS9n[        [        U R                  5      5      nUR                  [         R                  " U5      SS9n[        XE5        g )N)r  g      r  r_   r  r  )r;   r   r   r   r   r  r   r   )r5   r  r  re   r   r   s         r(   #test_dirichlet_alpha_non_contiguous2TestRandomDist.test_dirichlet_alpha_non_contiguous  s    HHGH#A#7499-.%%e&%9
7499-.!!""6"6u"='- " /!*5r*   c                    SnU[         R                  " SS/5      -  n[        [        U R                  5      5      nUR                  USS9n[         R                  " SS/SS//SS/SS//SS/SS///5      n[        XESS9  g )	Nr         ?r   r  r  rz   r   r  )r;   r   r   r   r   r  r   )r5   epsr  re   r  r   s         r(   test_dirichlet_small_alpha)TestRandomDist.test_dirichlet_small_alpha  s    bhhF|,,7499-.!!%f!588"X"X"X"X"X"X
  	"&B?r*   c                     [         R                  " SS/5      nXR                  5       -  n[        [	        U R
                  5      5      nUR                  USS9nUR                  SS9n[        XRSS9  g )	Ng{Gz?{Gz?i -1r  r   r   r   )r   )	r;   r   r   r   r   r   r  r   r   )r5   r  
exact_meanre   r   sample_means         r(   %test_dirichlet_moderately_small_alpha4TestRandomDist.test_dirichlet_moderately_small_alpha  sf     $&YY[(
7499-.!!%h!7kkqk)d;r*   r  )r   r   r   r   )rc   r   r   r   )r@   r   r   r         ?r   r   r   )g{Gz?gQ?r   r   )gh㈵>r   r   r   )gMb`?gQ?r   r   r  r   r   r   rz   r   c                 |    [         R                  " U5      n[        R                  U5      n[	        X!S:H     S5        g )Nr   rz   )r;   r   re   r  r   )r5   r  r  s      r(   &test_dirichlet_multiple_zeros_in_alpha5TestRandomDist.test_dirichlet_multiple_zeros_in_alpha  s1     U#Qz]C(r*   c                     [        [        U R                  5      5      nUR                  SSS9n[        R
                  " SS/SS/SS	//5      n[        X#S
S9  g )Ng8EGr?r  r  gvM?g?g#c?gQ:N?gAP?gE_9@r   r  )r   r   r   exponentialr;   r   r   r  s       r(   test_exponentialTestRandomDist.test_exponential  sf    7499-.##F#8((.0AB.0AB.0@BD E 	"&2>r*   c                 x    [        [        R                  SS9S5        [        [        [        R                  SS9  g Nr   scale       )r   re   r  r   rI   rJ   s    r(   test_exponential_0!TestRandomDist.test_exponential_0  s,    V''a'0!4j&"4"4C@r*   c                     [        [        U R                  5      5      nUR                  SSSS9n[        R
                  " SS/SS/S	S
//5      n[        X#SS9  g )Nr   M   r  r  g}(Ҍ?gi?g=r?g]hDA?gjӨ?g8k*u?r   r  )r   r   r   fr;   r   r   r  s       r(   test_fTestRandomDist.test_f  se    7499-."bv.((.0AB.0@B.0ABD E 	"&2>r*   c                     [        [        U R                  5      5      nUR                  SSSS9n[        R
                  " SS/SS/S	S
//5      n[        X#SS9  g )Nr   r   r  r  g,שn'@gt@g<e2@g1a3@g3r
y-2@gs1-2@r   r  )r   r   r   gammar;   r   r   r  s       r(   
test_gammaTestRandomDist.test_gamma  sd    7499-.a0((.B.0AB.0ABD E 	"&2>r*   c                 |    [        [        R                  SSS9S5        [        [        [        R                  SSS9  g )Nr   )r   r  r  )r   re   r  r   rI   rJ   s    r(   test_gamma_0TestRandomDist.test_gamma_0  s+    V\\\3Q7j&,,cEr*   c                     [        [        U R                  5      5      nUR                  SSS9n[        R
                  " SS/SS/SS//5      n[        X#5        g )N_c97ݚ?r  r  r@   r\  r   r   )r   r   r   	geometricr;   r   r   r  s       r(   test_geometricTestRandomDist.test_geometric  s[    7499-.!!*6!:((QGGH& ' 	6+r*   c                 $   [        [        [        R                  S5        [        [        [        R                  S/S-  5        [        [        [        R                  S5        [        [        [        R                  S/S-  5        [        R
                  " SS9   [        [        [        R                  [        R                  5        [        [        [        R                  [        R                  /S-  5        S S S 5        g ! , (       d  f       g = f)Nr   r   r   ignoreinvalid)r   rI   re   r  r;   errstaterk   rJ   s    r(   test_geometric_exceptions(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                     [        [        U R                  5      5      nUR                  SSSS9n[        R
                  " SS/SS/S	S
//5      n[        X#SS9  g )Nr         @r  locr  r   gA7G@g1Fiҿgei@g_Cg0cPg`(_տr   r  )r   r   r   gumbelr;   r   r   r  s       r(   test_gumbelTestRandomDist.test_gumbel*  se    7499-.:SvF((/1CD/1CD/1CDF G 	"&2>r*   c                 x    [        [        R                  SS9S5        [        [        [        R                  SS9  g r  )r   re   r  r   rI   rJ   s    r(   test_gumbel_0TestRandomDist.test_gumbel_02  '    V]]]+Q/j&--s;r*   c                 `   [        [        U R                  5      5      nUR                  SSSSS9n[        R
                  " SS/SS/SS//5      n[        X#5        UR                  SS	S
SS9n[        R
                  " / SQ5      n[        X#5        UR                  SS	SSS9n[        R
                  " / SQ5      n[        X#5        UR                  S	SS
SS9n[        R
                  " / SQ5      n[        X#5        UR                  S	SSSS9n[        R
                  " / SQ5      n[        X#5        g )Ng333333$@g      @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   hypergeometricr;   r   r   r  s       r(   test_hypergeometric"TestRandomDist.test_hypergeometric6  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                     [        [        U R                  5      5      nUR                  SSSS9n[        R
                  " SS/SS/S	S
//5      n[        X#SS9  g )Nr  r  r  r   g6@	ga@bDA"?g*[r{g>K?g(?g<?r   r  )r   r   r   laplacer;   r   r   r  s       r(   test_laplaceTestRandomDist.test_laplaceP  se    7499-.JcG((/2CD/2CD/2CDF G 	"&2>r*   c                 x    [        [        R                  SS9S5        [        [        [        R                  SS9  g r  )r   re   r  r   rI   rJ   s    r(   test_laplace_0TestRandomDist.test_laplace_0X  s'    V^^!^,a0j&..<r*   c                     [        [        U R                  5      5      nUR                  SSSS9n[        R
                  " SS/SS/S	S
//5      n[        X#SS9  g )Nr  r  r  r   gbZgHʊg$>?g>&gQh@g%?n?gĉ8|?r   r  )r   r   r   logisticr;   r   r   r  s       r(   test_logisticTestRandomDist.test_logistic\  se    7499-.ZsH((/2CD.2CD/2CDF G 	"&2>r*   c                     [        [        U R                  5      5      nUR                  SSSS9n[        R
                  " SS/SS/S	S
//5      n[        X#SS9  g )Nr  r  r  )r   sigmar   gܒx?gk*+@g<Ҿ?g
@g5a@g%jz(@r   r  )r   r   r   	lognormalr;   r   r   r  s       r(   test_lognormalTestRandomDist.test_lognormald  sf    7499-.!!z6!J((o/?@-@-/?@B C 	"&2>r*   c                 x    [        [        R                  SS9S5        [        [        [        R                  SS9  g )Nr   )r  r@   r  )r   re   r  r   rI   rJ   s    r(   test_lognormal_0TestRandomDist.test_lognormal_0l  s,    V%%A%.2j&"2"2#>r*   c                     [        [        U R                  5      5      nUR                  SSS9n[        R
                  " SS/SS/SS	//5      n[        X#5        g )
Ngƀ@?r  )rg   r   r   r   r      r   r@   )r   r   r   	logseriesr;   r   r   r  s       r(   test_logseriesTestRandomDist.test_logseriesp  s[    7499-.!!JV!<((RHGF$ % 	6+r*   c                 n    [        [        U R                  5      5      nUR                  S5      S:X  d   eg )Nr   r@   )r   r   r   r"  r2  s     r(   test_logseries_zero"TestRandomDist.test_logseries_zerox  s.    7499-."a'''r*   valuerF   r  g      @c                    [        [        U R                  5      5      n[        R                  " SS9   [
        R                  " [        5         UR                  U5        S S S 5        [
        R                  " [        5         UR                  [        R                  " U/S-  5      5        S S S 5        [
        R                  " [        5         UR                  [        R                  " U/S-  5      S S S2   5        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       Nz= f! , (       d  f       N9= f! , (       d  f       g = f)Nr  r  r   r_   )
r   r   r   r;   r  r   r   rI   r"  r   )r5   r(  re   s      r(   test_logseries_exceptions(TestRandomDist.test_logseries_exceptions|  s    7499-.[[*z*  ' +z*  5'B,!78 + z*  5'B,!7!!<= + +***** +* +*sS   ED "E*D ,"E0D1>E
D	E 
D.	*E1
D?	;E
Ec                     [        [        U R                  5      5      nUR                  SS/S-  SS9n[        R
                  " / SQ/ SQ// SQ/ S	Q// S
Q/ SQ//5      n[        X#5        g )Nr   UUUUUU?r   r  r  )r@   r   r@   r   r   r   )r   r_   r   r_   r   r_   )r   r   r_   r   r   r@   )r   r   r   r_   r   r   )r   r   r@   r   r   r_   )r   r   r   r@   r_   r   )r   r   r   rv   r;   r   r   r  s       r(   test_multinomialTestRandomDist.test_multinomial  sp    7499-.##B16#B((//1//1//1	2 3 	6+r*   zfp errors don't work in wasmreasonr   )svdeighcholeskyc           	         [        [        U R                  5      5      nSnSS/SS//nSnUR                  X4XQS9n[        R
                  " SS/SS	//S
S/SS//SS/SS///5      n[        XgSS9  UR                  X4US9n[        R
                  " SS/5      n[        XgSS9  SS/nSS/SS//n[        [        UR                  X4SS9  SS/SS//n[        [        UR                  X45        [        [        UR                  X4SS9  [        [        UR                  X4SS9  [        UR                  X4SS9  [        [        UR                  X4SS9  [        [        UR                  X4SSS9  SS/SS//nUS;   a#  UR                  X4SUS9n[        US   US    S!S9  O[        [        UR                  X4SS9  [        R
                  " SS"/S"S//[        R                  S#9n[        5        n	UR                  X4US9  U	R                  [        5      n
[!        U
5      S:X  d   e S S S 5        [        R"                  " S5      n[        R$                  " S5      n[        [        UR                  X4S$S9  [        [        UR                  [        R"                  " S%5      U5        [        [        UR                  U[        R&                  " S5      5        [        [        UR                  U[        R$                  " S&5      5        g ! , (       d  f       N= f)'N)r  r   r@   r   r  r   gtg$&@g&بO=g!$@gDo?g\&@g,R{?g
f!@g?ժ?gT^o#@g`R?gP'@r   r  gl?g$("@r_   raise)check_validr3  r4  r  )r7  r   )r2  r3  r   ).r   ).r@   r   r  ra   other)r_   r@   r@   r   )r   r   r   multivariate_normalr;   r   r   r   rI   r	   RuntimeWarningr   r
   r   r   recordry  rd   eyer   )r5   r   re   r   covr   r  r~  r  supwmus               r(   test_multivariate_normal'TestRandomDist.test_multivariate_normal  s    7499-.1v1v++Dt+K((03DG13EGI13EG14EGI14EG13EGI	J K 	"&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   '7K>>
Lz	mean, covy      ?      ?y                c                     [        [        U R                  5      5      n[        R                  " [
        SS9   UR                  X5        S S S 5        g ! , (       d  f       g = f)Nzmust not be complexr   )r   r   r   r   r   rH   r9  )r5   r   r=  re   s       r(   )test_multivariate_normal_disallow_complex8TestRandomDist.test_multivariate_normal_disallow_complex  s?    7499-.]]9,AB&&t1 CBBs   A
A!c                    [        [        U R                  5      5      nSn[        R                  " SS/5      n[        R                  " SS/SS//5      nUR                  XEU4US9nXd-
  nUR                  U-  US-
  -  n[        R                  " [        R                  " UR                  S5      5      S:  5      (       d   e[        R                  " [        R                  " X-
  5      S:  5      (       d   eg )Nr/   r@   r_   r   rN   r  rs   )
r   r   r   r;   r   r9  rL  r   absr   )	r5   r   re   n_sr   r=  r6   s_centercov_emps	            r(   $test_multivariate_normal_basic_stats3TestRandomDist.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                     [        [        U R                  5      5      nUR                  SSSS9n[        R
                  " SS/SS/S	S
//5      n[        X#5        g )Nrr   g|Pk?r  )nrg   r   i  i  i  i  iX  i  )r   r   r   r  r;   r   r   r  s       r(   r  %TestRandomDist.test_negative_binomial  s]    7499-.))C6)G((S#J #J #J( ) 	6+r*   c                     [         R                  " SS9   [        [        [        R
                  S[         R                  5        [        [        [        R
                  S[         R                  /S-  5        S S S 5        g ! , (       d  f       g = f)Nr  r  rr   r   )r;   r  r   rI   re   r  rk   rJ   s    r(   !test_negative_binomial_exceptions0TestRandomDist.test_negative_binomial_exceptions  sS    [[**f&>&>RVVL*f&>&>66(R-) +**s   A!A??
Bc                     [        [        5         [        R                  SS5      nS S S 5        g ! , (       d  f       g = fNr@   r   )r   rI   re   r  r   s     r(   #test_negative_binomial_p0_exception2TestRandomDist.test_negative_binomial_p0_exception   s(    :&((A.A '&&s   0
>c                     [         R                  " SS9   [        [        [        R
                  SS5        [        [        [        R
                  S/S/5        S S S 5        g ! , (       d  f       g = f)Nr  r  r  r  )r;   r  r   rI   re   r  rJ   s    r(   .test_negative_binomial_invalid_p_n_combination=TestRandomDist.test_negative_binomial_invalid_p_n_combination  sH     [[**f&>&>sK*f&>&>#O +**s   AA!!
A/c                    [        [        U R                  5      5      nUR                  SSSS9n[        R
                  " SS/SS/SS	//5      n[        X#S
S9  UR                  SSSS9n[        R
                  " SS/SS/SS//5      n[        X#S
S9  [        [        U R                  5      5      nUR                  SSSS9n[        R
                  " SS/SS/SS//5      n[        X#S
S9  g )Nr   r  )dfnoncr   gs؀3J?gugو/@gNJm+@gA}-4@gq=&@gjhn@r   r  rc   rs   gZօDN?gE!X&?gt%T?gQ)V?g5Zlf?gΎ{?r   gmK?gZ?g%yKY@g@W@gĈ{>@g&BB=@)r   r   r   noncentral_chisquarer;   r   r   r  s       r(   test_noncentral_chisquare(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                     [        [        U R                  5      5      nUR                  SSSSS9n[        R
                  " SS/SS	/S
S//5      n[        X#SS9  g )Nr   r_   r@   r  )dfnumdfdenr\  r   gHP
?gn?g%f?gch?gzƎ?g]?:?r   r  )r   r   r   noncentral_fr;   r   r   r  s       r(   test_noncentral_f TestRandomDist.test_noncentral_f!  sm    7499-.$$1AA*0 % 2((^/?@-@-/?@B C 	"&2>r*   c                     [        [        U R                  5      5      nUR                  SS[        R
                  S9n[        R                  " U5      (       d   eg )Nr   r_   )ra  rb  r\  )r   r   r   rc  r;   rk   isnanr5   re   r  s      r(   test_noncentral_f_nan$TestRandomDist.test_noncentral_f_nan*  sE    7499-.$$1ABFF$Cxxr*   c                     [        [        U R                  5      5      nUR                  SSSS9n[        R
                  " SS/SS/S	S
//5      n[        X#SS9  g )Nr  r  r  r   g?`xg\P@g/7u g0aj?gi%?gog@r   r  )r   r   r   normalr;   r   r   r  s       r(   test_normalTestRandomDist.test_normal/  se    7499-.:SvF((/2CD/2CD/2CDF G 	"&2>r*   c                 x    [        [        R                  SS9S5        [        [        [        R                  SS9  g r  )r   re   rl  r   rI   rJ   s    r(   test_normal_0TestRandomDist.test_normal_07  r  r*   c                     [        [        U R                  5      5      nUR                  SSS9n[        R
                  " SS/SS/SS	//5      n[        R                  R                  X#S
S9  g )Nr  r  r  r   gá?gƫh@gi`>?g0"&Agc@g=fAr   )nulp)r   r   r   paretor;   r   testingassert_array_almost_equal_nulpr  s       r(   test_paretoTestRandomDist.test_pareto;  sp    7499-.&9((35KL35KL35KLN O 	

11&1Kr*   c                     [        [        U R                  5      5      nUR                  SSS9n[        R
                  " SS/SS/SS//5      n[        X#5        g )Nr  r  )lamr   r   )r   r   r   poissonr;   r   r   r  s       r(   test_poissonTestRandomDist.test_poissonI  sX    7499-.JV<((QFFF$ % 	6+r*   c                 h   [         R                  " S5      R                  nSn[        [        [
        R                  U5        [        [        [
        R                  U/S-  5        [        [        [
        R                  U5        [        [        [
        R                  U/S-  5        [         R                  " SS9   [        [        [
        R                  [         R                  5        [        [        [
        R                  [         R                  /S-  5        S S S 5        g ! , (       d  f       g = f)Nr   rF   r   r  r  )	r;   r   r   r   rI   re   r|  r  rk   )r5   lambiglamnegs      r(   test_poisson_exceptions&TestRandomDist.test_poisson_exceptionsQ  s    '"&&j&..&9j&..6(R-@j&..&9j&..6(R-@[[**fnnbff=*fnnrvvhmD +**s   ;AD##
D1c                     [        [        U R                  5      5      nUR                  SSS9n[        R
                  " SS/SS/SS	//5      n[        X#S
S9  g )Nr  r  rs  gZ >g?gÄ(=g҇?gŚE?gߢH?r   r  )r   r   r   powerr;   r   r   r  s       r(   
test_powerTestRandomDist.test_power\  sc    7499-.
8((24IJ24IJ24IJL M 	"&2>r*   c                     [        [        U R                  5      5      nUR                  SSS9n[        R
                  " SS/SS/SS	//5      n[        X#S
S9  g )Nr   r  )r  r   gry@gtQP0@gAI_@g@u81@g	G0@g"wc5@r   r  )r   r   r   rayleighr;   r   r   r  s       r(   test_rayleighTestRandomDist.test_rayleighd  sc    7499-.r7((-/@A-/@A.0ABD E 	"&2>r*   c                 x    [        [        R                  SS9S5        [        [        [        R                  SS9  g r  )r   re   r  r   rI   rJ   s    r(   test_rayleigh_0TestRandomDist.test_rayleigh_0l  s'    V__1_-q1j&//=r*   c                     [        [        U R                  5      5      nUR                  SS9n[        R
                  " SS/SS/SS//5      n[        X#S	S
9  g )Nr  r  gH1gW|3
g\?gLeg5P	gFA?r   r  )r   r   r   standard_cauchyr;   r   r   r  s       r(   test_standard_cauchy#TestRandomDist.test_standard_cauchyp  sd    7499-.''V'4((/1CD/1CD/2CDF G 	"&2>r*   c                     [        [        U R                  5      5      nUR                  SSS9n[        R
                  " SS/SS/SS	//5      n[        X#S
S9  g )Nr  invr   ga\5?gr7k?g8PC*?g5$[?gW3T?g*?r   r  )r   r   r   standard_exponentialr;   r   r   r  s       r(   test_standard_exponential(TestRandomDist.test_standard_exponentialx  sf    7499-.,,&,G((.0AB.0AB.0ABD E 	"&2>r*   c                 Z    [        [        [        R                  [        R
                  S9  g Nra   )r   rH   re   r  r;   r_  rJ   s    r(   #test_standard_expoential_type_error2TestRandomDist.test_standard_expoential_type_error  s    i!<!<BHHMr*   c                     [        [        U R                  5      5      nUR                  SSS9n[        R
                  " SS/SS/SS	//5      n[        X#S
S9  g )Nr   r  r   r   gΈ̏&?gTϿ?g1n21@gDb<z@gBv@gc^@r   r  r   r   r   standard_gammar;   r   r   r  s       r(   test_standard_gamma"TestRandomDist.test_standard_gamma  sf    7499-.&&QV&<((-/?@+/?@-/?@B C 	"&2>r*   c                     [        [        U R                  5      5      nUR                  S[        R
                  S9nSn[        X#SS9  g )Nr   ra   g   d@r   r  )r   r   r   r  r;   r   r   r  s       r(   !test_standard_gammma_scalar_float0TestRandomDist.test_standard_gammma_scalar_float  s=    7499-.&&q

&;$!&1=r*   c                     [        [        U R                  5      5      nUR                  SSS9n[        R
                  " SS/SS/SS	//5      n[        X#S
S9  g )Nr   r  r  gf&?gMO?g1@g):@g@g;i@r   r  r  r  s       r(   test_standard_gamma_float(TestRandomDist.test_standard_gamma_float  s`    7499-.&&QV&<((Wf.$f.$g.0 1 	"&1=r*   c                    [         R                  " S[         R                  S9n[        [	        U R
                  5      5      nUR                  SU[         R                  S9  [         R                  " SS/SS/S	S
//[         R                  S9n[        XSS9  [        [	        U R
                  5      5      nUR                  SUS[         R                  S9  [        XSS9  g )Nr  ra         $@r  rb   gM»L$@ga {@gN]"@gPS")@g_+@gmB@r   r  r  r   rb   )	r;   rd   r   r   r   r   r  r   r   )r5   r  re   r~  s       r(   test_standard_gammma_float_out-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                 @    [        [        [        R                  SSS9  g )Nr  r_  ra   )r   rH   re   r  rJ   s    r(    test_standard_gamma_unknown_type/TestRandomDist.test_standard_gamma_unknown_type  s    i!6!6#	%r*   c                     [         R                  " S5      n[        [        [        R
                  SSUS9  [        [        [        R
                  SSUS9  g )Nr   r  r   )r   r  )r   r@   )r;   rd   r   rI   re   r  )r5   r  s     r(   test_out_size_mismatch%TestRandomDist.test_out_size_mismatch  sA    hhrlj&"7"7B	j&"7"7G	r*   c                 x    [        [        R                  SS9S5        [        [        [        R                  SS9  g )Nr   )r   r  )r   re   r  r   rI   rJ   s    r(   test_standard_gamma_0$TestRandomDist.test_standard_gamma_0  s,    V***3Q7j&"7"7sCr*   c                     [        [        U R                  5      5      nUR                  SS9n[        R
                  " SS/SS/SS//5      n[        X#S	S
9  g )Nr  r  g
bYg? ?gGH{Lgz\?gc`+?gT}?r   r  )r   r   r   r  r;   r   r   r  s       r(   test_standard_normal#TestRandomDist.test_standard_normal  sd    7499-.''V'4((/2BD/2CD/2CDF G 	"&2>r*   c                 Z    [        [        [        R                  [        R
                  S9  g r  )r   rH   re   r  r;   r_  rJ   s    r(   %test_standard_normal_unsupported_type4TestRandomDist.test_standard_normal_unsupported_type  s    i!7!7rxxHr*   c                     [        [        U R                  5      5      nUR                  SSS9n[        R
                  " SS/SS/SS	//5      n[        X#S
S9  g )Nr   r  )r[  r   gV1g	|ڙ(?g-?g NhڿgMc?g!uLM r   r  )r   r   r   
standard_tr;   r   r   r  s       r(   test_standard_tTestRandomDist.test_standard_t  sf    7499-.""bv"6((/2BD/1CD/1CDF G 	"&2>r*   c                     [        [        U R                  5      5      nUR                  SSSSS9n[        R
                  " SS/SS	/S
S//5      n[        X#SS9  g )Ng{Gz@g(\u$@gףp=
W4@r  )leftmoderightr   gEpw@g4DC+@gŋ@g/,@gkuR*@gHNPcr+@r   r  )r   r   r   
triangularr;   r   r   r  s       r(   test_triangularTestRandomDist.test_triangular  so    7499-.""5(. # 0((.0@B.0AB.0ABD E 	"&2>r*   c                     [        [        U R                  5      5      nUR                  SSSS9n[        R
                  " SS/SS/S	S
//5      n[        X#SS9  g )NGz?gGz%@r  )r  r  r   gm2@gJaD@g: @g
Q @g@T{e@gb@r   r  r   r   r   uniformr;   r   r   r  s       r(   test_uniformTestRandomDist.test_uniform  se    7499-.Du6B((-0AB.0AB.0ABD E 	"&2>r*   c                 *   [         R                  " S5      R                  n[         R                  " S5      R                  n[        R
                  n[        [        U[         R                  * S5        [        [        US[         R                  5        [        [        X1U5        [        [        U[         R                  * /S/5        [        [        US/[         R                  /5        [        R                  [         R                  " US5      US-  S9  g )Nr   r   r@   g ؅W4vC)r  r  )
r;   finfor*  r   re   r  r   OverflowErrorinf	nextafter)r5   fminfmaxfuncs       r(   test_uniform_range_bounds(TestRandomDist.test_uniform_range_bounds  s    xx $$xx $$~~mTBFF7A6mT1bff5mT6mTRVVG9qc:mTA39
 	2<<a0td{Cr*   c                 <   [         R                  nU" SS5      n[        US5        U" S[        R                  /S[        R                  /5      n[        US[        R                  /5        U" S/S//SS/5      n[        US[        R
                  " S5      -   5        g )Nr  rz   g
ףp= @r   )re   r  r   r;   pird   )r5   r  results      r(   test_uniform_zero_range&TestRandomDist.test_uniform_zero_range  s    ~~c3$sBEElS"%%L1bee-y7),w.@A"((6*: :;r*   c                     [         R                  n[        [        USS5        [        [        USS/SS/5        [        [        USS/SS//S5        g )Nr_   r@   r   r   )re   r  r   rI   )r5   r  s     r(   test_uniform_neg_range%TestRandomDist.test_uniform_neg_range  sI    ~~j$1-j$!Q!Q8j$1a&!Q!<r*   c                 ~    " S S[         R                  5      n[         R                  " S5      R                  U5      n[	        [
        [        R                  UU5         " S S[         R                  5      n[         R                  " S5      R                  U5      n[	        [
        [        R                  USS5        g )Nc                       \ rS rSrS rSrg)GTestRandomDist.test_scalar_exception_propagation.<locals>.ThrowingFloati  c                     [         er%   rH   rJ   s    r(   	__float__QTestRandomDist.test_scalar_exception_propagation.<locals>.ThrowingFloat.__float__       r*   rU   N)rV   rW   rX   rY   r  rZ   rU   r*   r(   ThrowingFloatr         r*   r  r  c                       \ rS rSrS rSrg)ITestRandomDist.test_scalar_exception_propagation.<locals>.ThrowingIntegeri  c                     [         er%   r  rJ   s    r(   __int__QTestRandomDist.test_scalar_exception_propagation.<locals>.ThrowingInteger.__int__  r  r*   rU   N)rV   rW   rX   rY   r  rZ   rU   r*   r(   ThrowingIntegerr    r  r*   r  r@   )	r;   ndarrayr   rl  r   rH   re   r  r
  )r5   r  throwing_floatr  throwing_ints        r(   !test_scalar_exception_propagation0TestRandomDist.test_scalar_exception_propagation  s    	 BJJ 	  #++M:i$	&	 bjj 	  xx{''8i!6!6aKr*   c                     [        [        U R                  5      5      nUR                  SSSS9n[        R
                  " SS/SS/S	S
//5      n[        X#SS9  g )Nr  p=
ף?r  r@  kappar   gLA?gxyw@gzVR?gpE ?g8&Aпgv @r   r  )r   r   r   vonmisesr;   r   r   r  s       r(   test_vonmisesTestRandomDist.test_vonmises  se    7499-.D6B((/2CD/2CD/2CDF G 	"&2>r*   c                     [        [        U R                  5      5      nUR                  SSSS9n[	        [
        R                  " U5      R                  5       5        g )Nrz   gg5_PG>i@B r  )r   r   r   r  r   r;   isfiniter   r5   re   rs      r(   test_vonmises_small"TestRandomDist.test_vonmises_small  sB    7499-.OOreO<A""$%r*   c                     [        [        U R                  5      5      nUR                  S[        R
                  S9n[        [        R                  " U5      5        g )Nrz   )r@  r  )r   r   r   r  r;   rk   r   rg  r  s      r(   test_vonmises_nan TestRandomDist.test_vonmises_nan  s;    7499-.OOrO0r*   r  g     @  4&kCc                 \   [        [        U R                  5      5      n[        UR                  5      nUR                  R
                  nUR                  SUSS9nXBR                  l        UR                  SUSS9nUS:  a  [        XV5        g [        R                  " XV:g  5      (       d   eg )Nr   r   r  g    .A)
r   r   r   r   r  r  r  r   r;   r   )r5   r  re   rsr  random_state_valsgen_valss          r(   test_vonmises_large_kappa(TestRandomDist.test_vonmises_large_kappa!  s    7499-.--.$$**KK5rK:%*"??1e"?53;-866+78888r*   r@  g      gg	@)r   gư>r@   g     @@r  c                 "   [        [        U R                  5      5      nUR                  XS5      n[	        [
        R                  " U[
        R                  * :  5      =(       a'    [
        R                  " U[
        R                  :*  5      5        g )Nr   )r   r   r   r  r   r;   r   r  )r5   r@  r  re   r  s        r(   test_vonmises_large_kappa_range.TestRandomDist.test_vonmises_large_kappa_range/  sX     7499-.OOBr*qBEE6z"9rvva255j'9:r*   c                     [        [        U R                  5      5      nUR                  SSSS9n[        R
                  " SS/SS/S	S
//5      n[        X#SS9  g )Nr  r  r  )r   r  r   g*س2?gt	@g;S@g\ F@gxF @g6b?r   r  )r   r   r   waldr;   r   r   r  s       r(   	test_waldTestRandomDist.test_wald6  sd    7499-.$d@((-@-/?@-/?@B C 	"&2>r*   c                     [        [        U R                  5      5      nUR                  SSS9n[        R
                  " SS/SS/SS	//5      n[        X#S
S9  g )Nr  r  rs  gnJZ?g*/F?gs(RY?g]'%?g,qD?g8 ?r   r  )r   r   r   weibullr;   r   r   r  s       r(   test_weibullTestRandomDist.test_weibull>  sc    7499-.$V4((.0AB.0AB.0ABD E 	"&2>r*   c                     [        [        U R                  5      5      n[        UR	                  SSS9[
        R                  " S5      5        [        [        UR                  SS9  g )Nr   r   rs  r  )r  )	r   r   r   r   r  r;   rd   r   rI   r2  s     r(   test_weibull_0TestRandomDist.test_weibull_0F  sD    7499-.V^^ab^1288B<@j&..C8r*   c                     [        [        U R                  5      5      nUR                  SSS9n[        R
                  " SS/SS/SS//5      n[        X#5        g )	Nr  r  rs  r@   r   ic  ib  r_   )r   r   r   zipfr;   r   r   r  s       r(   	test_zipfTestRandomDist.test_zipfK  sX    7499-.t&1((qAJ #J AJ( ) 	6+r*   r   )rV   rW   rX   rY   r   r  r  r  r  r  r  r  r   r  r  r;   r   r   float64rb  r  r  r  r  r  r  r
  r  r  r  r  r!  r%  r(  r.  r3  r7  rU  r_  rb  rh  rr  ry  r  r  r  r  r`   r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r#  r&  r  rk   r*  r.  skipifr   rA  rD  rK  r  rQ  rU  rX  r^  rd  ri  rm  rp  rx  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  rZ   rU   r*   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 [[[QC4&?bTQC5M*JK2 L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            	       z   \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS r S r!S  r"S! r#\$RJ                  RM                  S"S#\'RP                  " S#S#/5      \'RP                  " S#//S#///5      /5      S$ 5       r)S% r*S& r+S'r,g())TestBroadcastiT  c                     SU l         g )Ni[r   rJ   s    r(   r   TestBroadcast.setup_methodW  s	    	r*   c                    [        [        U R                  5      5      nS/nS/nUR                  n[        R
                  " / SQ5      n[        [        U R                  5      5      nUR                  US-  U5      n[        XeSS9  [        [        U R                  5      5      nUR                  X#S-  5      n[        XeSS9  g )Nr   r@   )g4
7^?gF]
"?g .?r   r   r  r  )r5   re   r  r  r  r~  r  s          r(   r  TestBroadcast.test_uniformZ  s    7499-.cs..((QR7499-.a.!&2>7499-.AX.!&2>r*   c                    S/nS/nS/n[        [        U R                  5      5      n[        R                  " / SQ5      n[        [        U R                  5      5      nUR                  US-  U5      n[        XeSS9  [        [        UR
                  US-  U5        [        [        U R                  5      5      nUR
                  nU" XS-  5      n[        XeSS9  [        [        XqUS-  5        g )Nr   r@   rF   )gw-Dؿgn0_x?gʊ;<.?r   r   r  )	r   r   r   r;   r   rl  r   r   rI   )r5   r  r  	bad_scalere   r~  r  rl  s           r(   rm  TestBroadcast.test_normali  s    cD	7499-.((ST7499-.sQw.!&2>j&--q)D7499-.QY'!&2>j&y1}=r*   c                    S/nS/nS/nS/n[         R                  " / SQ5      n[        [        U R                  5      5      nUR
                  nU" US-  U5      n[        XSS9  [        [        XsS-  U5        [        [        XqS-  U5        [        [        U R                  5      5      nUR                  XS-  5      n[        XSS9  g )	Nr@   r_   rF   rN   )gf8?g%eo?g$q??r   r   r  )	r;   r   r   r   r   r  r   r   rI   )	r5   r  r  bad_abad_br~  re   r  r  s	            r(   r  TestBroadcast.test_beta{  s    CC((QR7499-.{{a!eQ!&2>j$	15j$Au57499-.QA&!&2>r*   c                     S/nS/n[         R                  " / SQ5      n[        [        U R                  5      5      nUR                  US-  5      n[        XSSS9  [        [        UR
                  US-  5        g Nr@   rF   )g`ʄ?gE]?g?r   r   r  )	r;   r   r   r   r   r  r   r   rI   r5   r  r'  r~  re   r  s         r(   r  TestBroadcast.test_exponential  sf    D	((PQ7499-.##EAI.!&2>j&"4"4i!mDr*   c                     S/nS/n[         R                  " / SQ5      n[        [        U R                  5      5      nUR
                  nU" US-  5      n[        XcSS9  [        [        XRS-  5        g r.  )	r;   r   r   r   r   r  r   r   rI   )r5   r   	bad_shaper~  re   	std_gammar  s          r(   r  !TestBroadcast.test_standard_gamma  sc    D	((PQ7499-.))	519%!&2>j)];r*   c                    S/nS/nS/nS/n[         R                  " / SQ5      n[        [        U R                  5      5      nUR
                  nU" US-  U5      n[        XSS9  [        [        XsS-  U5        [        [        XqS-  U5        [        [        U R                  5      5      nUR
                  nU" XS-  5      n[        XSS9  [        [        XsUS-  5        [        [        XqUS-  5        g )	Nr@   r_   rF   rN   )g3ʄ?gJE]?g?r   r   r  )	r;   r   r   r   r   r  r   r   rI   )	r5   r   r  r2  r'  r~  re   r  r  s	            r(   r  TestBroadcast.test_gamma  s    D	D	((PQ7499-.uqy%(!&2>j%Q>j%I>7499-.uai(!&2>j%EAI>j%	A>r*   c                    S/nS/nS/nS/n[         R                  " / SQ5      n[        [        U R                  5      5      nUR
                  nU" US-  U5      n[        XSS9  [        [        XsS-  U5        [        [        XqS-  U5        [        [        U R                  5      5      nUR
                  nU" XS-  5      n[        XSS9  [        [        XsUS-  5        [        [        XqUS-  5        g )	Nr@   r_   rF   rN   )gM3B?gybi@g0?r   r   r  )	r;   r   r   r   r   r  r   r   rI   )	r5   ra  rb  	bad_dfnum	bad_dfdenr~  re   r  r  s	            r(   r  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           
         S/nS/nS/nS/nS/nS/n[         R                  " / SQ5      n[        [        U R                  5      5      nUR
                  n	U	" US-  X#5      n
[        XSS	9  [         R                  " [         R                  " U	" X[         R                  /S-  5      5      5      (       d   e[        [        XS-  X#5        [        [        XS-  XS5        [        [        XS-  X&5        [        [        U R                  5      5      nUR
                  n	U	" XS-  U5      n
[        XSS	9  [        [        XUS-  U5        [        [        XUS-  U5        [        [        XUS-  U5        [        [        U R                  5      5      nUR
                  n	U	" XUS-  5      n
[        XSS	9  [        [        XX#S-  5        [        [        XXSS-  5        [        [        XX&S-  5        g )
Nr_   r   r   r   rF   rN   )gŜ,n1 @g!6)@g9?r   r  )r;   r   r   r   r   rc  r   r   rg  rk   r   rI   )r5   ra  rb  r\  r8  r9  bad_noncr~  re   nonc_fr  s              r(   rd  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                     [        [        U R                  5      5      n[        R                  " SS/5      nUR                  SSSSS9n[        X2SS9  g )NgZ\#?gDqw?r   r_   r  r   r  )r   r   r   r;   r   rc  r   )r5   re   r~  r  s       r(   test_noncentral_f_small_df(TestBroadcast.test_noncentral_f_small_df  sL    7499-.((,o>?$$S#qq$9!&2>r*   c                     S/nS/n[         R                  " / SQ5      n[        [        U R                  5      5      nUR                  US-  5      n[        XSSS9  [        [        UR
                  US-  5        g )Nr@   rF   )gC{?g7Q#?g%h1T@r   r   r  )	r;   r   r   r   r   r  r   r   rI   r5   r[  bad_dfr~  re   r  s         r(   r  TestBroadcast.test_chisquare  sf    S((PQ7499-.!!"q&)!&2>j&"2"2FQJ?r*   c                    S/nS/nS/nS/n[         R                  " / SQ5      n[        [        U R                  5      5      nUR
                  nU" US-  U5      n[        XSS9  [        [        XsS-  U5        [        [        XqS-  U5        [        [        U R                  5      5      nUR
                  nU" XS-  5      n[        XSS9  [        [        XsUS-  5        [        [        XqUS-  5        g )	Nr@   r_   rF   rN   )g-S?g[@gr3/.?r   r   r  )	r;   r   r   r   r   r]  r   r   rI   )	r5   r[  r\  rD  r<  r~  re   nonc_chir  s	            r(   r^  '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                     S/nS/n[         R                  " / SQ5      n[        [        U R                  5      5      nUR                  US-  5      n[        XSSS9  [        [        UR
                  US-  5        g )Nr@   rF   )g>Qg{g,e?r   r   r  )	r;   r   r   r   r   r  r   r   rI   rC  s         r(   r  TestBroadcast.test_standard_t  sf    S((ST7499-.""26*!&2>j&"3"3VaZ@r*   c                    S/nS/nS/n[         R                  " / SQ5      n[        [        U R                  5      5      nUR                  US-  U5      n[        XdSS9  [        [        UR
                  US-  U5        [        [        U R                  5      5      nUR                  XS-  5      n[        XdSS9  [        [        UR
                  XS-  5        g )Nr_   r@   rF   )gD()@g,)ʸ@gPor   r   r  )	r;   r   r   r   r   r  r   r   rI   )r5   r@  r  	bad_kappar~  re   r  s          r(   r  TestBroadcast.test_vonmises  s    SD	((RS7499-.a/!&2>j&//269E7499-.QY/!&2>j&//21}Er*   c                     S/nS/n[         R                  " / SQ5      n[        [        U R                  5      5      nUR                  US-  5      n[        XSSS9  [        [        UR
                  US-  5        g )Nr@   rF   )g/h?gcE?g/gV?r   r   r  )	r;   r   r   r   r   ru  r   r   rI   r5   r  r*  r~  re   r  s         r(   rx  TestBroadcast.test_pareto.  sb    C((QR7499-.q1u%!&2>j&--;r*   c                     S/nS/n[         R                  " / SQ5      n[        [        U R                  5      5      nUR                  US-  5      n[        XSSS9  [        [        UR
                  US-  5        g r.  )	r;   r   r   r   r   r  r   r   rI   rO  s         r(   r  TestBroadcast.test_weibull8  sb    C((PQ7499-.A&!&2>j&..%!)<r*   c                     S/nS/n[         R                  " / SQ5      n[        [        U R                  5      5      nUR                  US-  5      n[        XSSS9  [        [        UR
                  US-  5        g )Nr@   rF   )gT?gʥ?gKܮc?r   r   r  )	r;   r   r   r   r   r  r   r   rI   rO  s         r(   r  TestBroadcast.test_powerB  sb    C((QR7499-.a!e$!&2>j&,,	:r*   c                    S/nS/nS/n[         R                  " / SQ5      n[        [        U R                  5      5      nUR
                  nU" US-  U5      n[        XtSS9  [        [        XaS-  U5        [        [        U R                  5      5      nUR
                  nU" XS-  5      n[        XtSS9  [        [        XaUS-  5        g )Nr   r@   rF   )gh&BgsgR#?r   r   r  )	r;   r   r   r   r   r  r   r   rI   )r5   r  r  r'  r~  re   r  r  s           r(   r  TestBroadcast.test_laplaceL  s    cD	((ST7499-...q%(!&2>j'7I>7499-...ai(!&2>j'	A>r*   c                    S/nS/nS/n[         R                  " / SQ5      n[        [        U R                  5      5      nUR
                  nU" US-  U5      n[        XtSS9  [        [        XaS-  U5        [        [        U R                  5      5      nUR
                  nU" XS-  5      n[        XtSS9  [        [        XaUS-  5        g )Nr   r@   rF   )gs4?g$Cw%T?gտr   r   r  )	r;   r   r   r   r   r  r   r   rI   )r5   r  r  r'  r~  re   r  r  s           r(   r  TestBroadcast.test_gumbel^  s    cD	((RS7499-.a'!&2>j&'9=7499-.QY'!&2>j&y1}=r*   c                    S/nS/nS/n[         R                  " / SQ5      n[        [        U R                  5      5      nUR                  US-  U5      n[        XdSS9  [        [        UR
                  US-  U5        [        [        U R                  5      5      nUR                  XS-  5      n[        XdSS9  [        [        UR
                  XS-  5        [        UR                  SS	5      S5        g )
Nr   r@   rF   )g$DgXPg,?r   r   r  r  rz   )
r;   r   r   r   r   r  r   r   rI   r   )r5   r  r  r'  r~  re   r  s          r(   r  TestBroadcast.test_logisticp  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/nS/nS/n[         R                  " / SQ5      n[        [        U R                  5      5      nUR
                  nU" US-  U5      n[        XtSS9  [        [        XaS-  U5        [        [        U R                  5      5      nUR                  XS-  5      n[        [        UR
                  XS-  5        g )Nr   r@   rF   )g c?gu@gVQ?r   r   r  )	r;   r   r   r   r   r  r   r   rI   )r5   r   r  	bad_sigmar~  re   r  r  s           r(   r  TestBroadcast.test_lognormal  s    sD	((QR7499-.$$	4!8U+!&2>j)AXyA7499-.!!$	2j&"2"2Da-Hr*   c                     S/nS/n[         R                  " / SQ5      n[        [        U R                  5      5      nUR                  US-  5      n[        XSSS9  [        [        UR
                  US-  5        g )Nr@   rF   )gs(?g4mK?gVk+?r   r   r  )	r;   r   r   r   r   r  r   r   rI   r/  s         r(   r  TestBroadcast.test_rayleigh  sh    D	((!
 7499-.+!&2>j&//9q=Ar*   c                 2   S/nS/nS/nS/n[         R                  " / SQ5      n[        [        U R                  5      5      nUR                  US-  U5      n[        XuSS9  [        [        UR
                  US-  U5        [        [        UR
                  US-  U5        [        [        U R                  5      5      nUR                  XS-  5      n[        XuSS9  [        [        UR
                  X2S-  5        [        [        UR
                  XS-  5        g )	Nrc   r@   r   rN   )gk7Z?g*}z9?gc-	?r   r   r  )	r;   r   r   r   r   r  r   r   rI   )r5   r   r  bad_meanr'  r~  re   r  s           r(   r  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/nS/nS/nS/nS/nUS-  u  pg[         R                  " / SQ5      n[        [        U R                  5      5      n	U	R
                  n
U
" US-  X25      n[        XSS9  [        [        XS-  X25        [        [        XS-  XR5        [        [        XS-  UU5        [        [        U R                  5      5      n	U	R
                  n
U
" XS-  U5      n[        XSS9  [        [        XUS-  U5        [        [        XUS-  U5        [        [        XUS-  U5        [        [        U R                  5      5      n	U	R
                  n
U
" XUS-  5      n[        XSS9  [        [        XX2S-  5        [        [        XXRS-  5        [        [        XUUS-  5        [        [        U
SS	S
5        [        [        U
SSS
5        [        [        U
SSS5        g )Nr@   r   r_   r   )gR8T>?gK?g;>h@r   r  r  rz   g      4@g      9@)	r;   r   r   r   r   r  r   r   rI   )r5   r  r  r  bad_left_onebad_mode_onebad_left_twobad_mode_twor~  re   r  r  s               r(   r  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/nS/nS/nS/nS/n[         R                  " / SQ5      n[        [        U R                  5      5      nUR
                  nU" US-  U5      n	[        X5        [        [        XS-  U5        [        [        XS-  U5        [        [        XS-  U5        [        [        U R                  5      5      nUR                  XS-  5      n	[        X5        [        [        XUS-  5        [        [        XUS-  5        [        [        XUS-  5        g )Nr@   rc   rF   r  r   r   r@   r   )	r;   r   r   r   r   rf   r   r   rI   )
r5   rN  rg   bad_n	bad_p_one	bad_p_twor~  re   binomr  s
             r(   r  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/nS/nS/nS/nS/n[         R                  " / SQ[         R                  S9n[        [	        U R
                  5      5      nUR                  nU" US-  U5      n	[        X5        [        [        XS-  U5        [        [        XS-  U5        [        [        XS-  U5        [        [	        U R
                  5      5      nUR                  nU" XS-  5      n	[        X5        [        [        XUS-  5        [        [        XUS-  5        [        [        XUS-  5        g )Nr@   rc   rF   r  )r   r_   r@   ra   r   )
r;   r   r   r   r   r   r  r   r   rI   )
r5   rN  rg   rk  rl  rm  r~  re   	neg_binomr  s
             r(   r  $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                 0   S/nS/n[         R                  " / SQ5      n[        [        U R                  5      5      nUR
                  nUS-  /nUR                  nU" US-  5      n[        X5        [        [        XrS-  5        [        [        XvS-  5        g )Nr@   rF   )r   r   r   r_   r   )
r;   r   r   r   r   _poisson_lam_maxr|  r   r   rI   )	r5   r{  bad_lam_oner~  re   max_lambad_lam_twor|  r  s	            r(   r}  TestBroadcast.test_poisson		  s    cd((9%7499-.)){m..q!6+j'?;j'?;r*   c                    S/nS/n[         R                  " / SQ5      n[        [        U R                  5      5      nUR
                  nU" US-  5      n[        Xc5        [        [        XRS-  5        [         R                  " SS9   [        [        U[         R                  5        [        [        USS[         R                  /5        S S S 5        g ! , (       d  f       g = f)Nr_   r   )r@   r   r@   r   r  r  )r;   r   r   r   r   r  r   r   rI   r  rk   )r5   r  r*  r~  re   r  r  s          r(   r  TestBroadcast.test_zipf	  s    C((9%7499-.{{a!e6+j$	2[[**dBFF3*dQ266N; +**s   AC
Cc                    S/nS/nS/n[         R                  " / SQ5      n[        [        U R                  5      5      nUR
                  nU" US-  5      n[        Xt5        [        [        XbS-  5        [        [        XcS-  5        g )Nrc   rF   r  r   r   )	r;   r   r   r   r   r  r   r   rI   )r5   rg   rl  rm  r~  re   r  r  s           r(   r  TestBroadcast.test_geometric&	  su    ED	E	((9%7499-.$$	1q5!6+j)];j)];r*   c                 v   S/nS/nS/nS/nS/nS/nS/n[         R                  " / SQ5      n[        [        U R                  5      5      n	U	R                  US-  X#5      n
[        X5        [        [        U	R
                  US-  X#5        [        [        U	R
                  US-  XS5        [        [        U	R
                  US-  X&5        [        [        U	R
                  US-  X'5        [        [        U R                  5      5      n	U	R                  XS-  U5      n
[        X5        [        [        U	R
                  XBS-  U5        [        [        U	R
                  XS-  U5        [        [        U	R
                  XS-  U5        [        [        U	R
                  XS-  U5        [        [        U R                  5      5      n	U	R
                  nU" XUS-  5      n
[        X5        [        [        XX#S-  5        [        [        XXSS-  5        [        [        XX&S-  5        [        [        XX'S-  5        [        [        USSS	5        [        [        USSS	5        [        [        USSS5        [        [        USSS
5        [        [        USSS	5        [        [        USSS5        [        [        USSS/S5        g )Nr@   r_   rF   rN   r   rj  r   r   r   r   i   @i  l        r   i    r/   )	r;   r   r   r   r   r
  r   r   rI   )r5   ngoodnbadr   	bad_ngoodbad_nbadbad_nsample_onebad_nsample_twor~  re   r  	hypergeoms               r(   r  !TestBroadcast.test_hypergeometric3	  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/nS/nS/n[         R                  " / SQ5      n[        [        U R                  5      5      nUR
                  nU" US-  5      n[        Xt5        [        [        XbS-  5        [        [        XcS-  5        g )Nrc   r_   rF   )r@   r@   r@   r   )	r;   r   r   r   r   r"  r   r   rI   )r5   rg   rl  rm  r~  re   r"  r  s           r(   r#  TestBroadcast.test_logseries`	  su    EC	D	((9%7499-.$$	1q5!6+j)];j)];r*   c                    [        [        U R                  5      5      nUR                  SS/S/S-  SS9n[        R
                  " / SQ/ SQ// S	Q/ S
Q// SQ/ SQ//[        R                  S9n[        X#5        [        [        U R                  5      5      nUR                  SS/S/S-  5      n[        R
                  " / SQ/ SQ/[        R                  S9n[        X#5        [        [        U R                  5      5      nUR                  SS/S/S-  /S-  5      n[        R
                  " / SQ/ SQ/[        R                  S9n[        X#5        [        [        U R                  5      5      nUR                  S/S//S/S-  /S-  5      n[        R
                  " / SQ/ SQ// SQ/ S
Q//[        R                  S9n[        X#5        g )Nr   r   r-  r   r  r  )r   r   r_   r@   r_   r   )r_   r   r   r   r_   r   )r@   r   r@   r   r_   r@   )r   r_   r_   r@   r   r   )r   r_   r   r@   r_   r   )r   r_   r   r   r   r   ra   r_   )r   r   r_   r@   r@   r@   )r   r_   r   r   r   r   )r   r   r   rv   r;   r   r   r   r  s       r(   r.  TestBroadcast.test_multinomialm	  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*   rN  r   c                 ~   [        [        U R                  5      5      n[        R                  " S/S-  5      nUR                  X5      n[        U[        5      (       a
  [        5       OUR                  nUS-   nUR                  U:X  d   e[        R                  " X3/5      nUR                  X5      n[        R                  " XSR                  S S 5      S-   nUR                  U:X  d   e[        R                  " U/U//5      nUR                  X5      n[        R                  " XSR                  S S 5      nUR                  US-   :X  d   eUR                  XSU-   S9nUR                  SU-   S-   :X  d   e[        R                  " [        5         UR                  XSS9nS S S 5        g ! , (       d  f       g = f)Nr  r   )r   rF   r  r  )r@   r@   r@   r@   r@   r@   )r   r   r   r;   r   rv   r   r`   r  r   rK  broadcast_shapesr   r   rI   )r5   rN  re   r   r  n_shaper   s          r(   test_multinomial_pval_broadcast-TestBroadcast.test_multinomial_pval_broadcast	  s}    7499-.%1%##A-'3//%'QWW 4||~---		5.)##A-,,Wkk#26FG$N||~---		E7UG,-##A-,,Wkk#26FG||~4444##A6N3J#K||v6====]]:&''x'@F '&&s   F..
F<c                     [        [        U R                  5      5      nS/S-  S/S-  /n[        [        UR
                  SU5        [        [        UR
                  SS5        g )Nr-  r   r  r@   rc   )r   r   r   r   rI   rv   )r5   re   r   s      r(   test_invalid_pvals_broadcast*TestBroadcast.test_invalid_pvals_broadcast	  sS    7499-.1ugk*j&"4"4a?j&"4"4a=r*   c                    [        [        U R                  5      5      nUR                  [        R
                  " SS5      S/S-  5      nUR                  S:X  d   eUR                  S[        R
                  " S5      5      nUR                  S:X  d   eUR                  [        R
                  " SS5      [        R
                  " S	5      5      nUR                  S	:X  d   eg )
N)r   r   r   i8r-  r   )r   r   r   r   r   )r   r   r   )r   r   r   )r   r   r   r   )r   r   r   rv   r;   r   r   rh  s      r(   test_empty_outputs TestBroadcast.test_empty_outputs	  s    7499-.##BHHZ$>!L||},,,##B(=>||{***##BHHY$=$&HH\$:<|||+++r*   r   N)-rV   rW   rX   rY   r   r  rm  r  r  r  r  r  rd  r@  r  r^  r  r  rx  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  rZ   rU   r*   r(   r!  r!  T  s   ?>$?$E	<?*;*!FF?@>*AF <=;?$>$5"I BD&&=P;.?0<<<+HZ<,> [[S2#%88RH#5#%88rdVrdV,<#=#% 
A
A.>,r*   r!  zcan't start threadr0  c                   2    \ rS rSrS rS rS rS rS rSr	g)	
TestThreadi	  c                 $    [        S5      U l        g )Nr   )r:   seedsrJ   s    r(   r   TestThread.setup_method	  s    1X
r*   c                 
   SSK Jn  [        R                  " [	        U R
                  5      4U-   5      n[        R                  " [	        U R
                  5      4U-   5      n[        U R
                  U5       VVs/ s H   u  pgU" U[        [        U5      5      U4S9PM"     nnnU V	s/ s H  oR                  5       PM       n	U V	s/ s H  oR                  5       PM       n	[        U R
                  U5       H   u  pgU" [        [        U5      5      U5        M"     [        R                  " 5       R                  R                  S:X  a   [        R                  S:X  a  [!        XE5        g [#        XE5        g s  snnf s  sn	f s  sn	f )Nr   )Thread)targetargsr   win32)	threadingr  r;   r   ry  r  zipr   r   startjoinintprb   r   re  platformr   r   )
r5   functionszr  out1out2r6   otr   s
             r(   check_function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   :'E5(E;F c                 *    S nU R                  USS9  g )Nc                 (    U R                  SS9US'   g )Nr,  r  .)rl  r  r  s     r(   
gen_random*TestThread.test_normal.<locals>.gen_random	  s    |||/CHr*   )r,  r  r  r5   r  s     r(   rm  TestThread.test_normal	  s    	0 	J84r*   c                 *    S nU R                  USS9  g )Nc                 P    U R                  [        R                  " S5      S9US'   g )Nrr   r/   r  .)r  r;   r$  r  s     r(   r  'TestThread.test_exp.<locals>.gen_random	  s"    ((rww{/C(DCHr*   r  r  r  r  s     r(   test_expTestThread.test_exp	  s    	E 	J;7r*   c                 *    S nU R                  USS9  g )Nc                 4    U R                  SS/S-  SS9US'   g )Nr   r-  r   r,  r  .)rv   r  s     r(   r  /TestThread.test_multinomial.<locals>.gen_random	  s#    ((fX\(FCHr*   )r,  r   r  r  r  s     r(   r.  TestThread.test_multinomial	  s    	G 	J:6r*   )r  N)
rV   rW   rX   rY   r   r  rm  r  r.  rZ   rU   r*   r(   r  r  	  s    +,587r*   r  c                   2    \ rS rSrS rS rS rS rS rSr	g)	TestSingleEltArrayInputi	  c                     [         R                  " S/5      U l        [         R                  " S/5      U l        [         R                  " S/5      U l        SU l        g )Nr_   r   r   rP  )r;   r   argOneargTwoargThreetgtShaperJ   s    r(   r   $TestSingleEltArrayInput.setup_method	  s<    hhsmhhsm!r*   c                 l   [         R                  [         R                  [         R                  [         R                  [         R
                  [         R                  [         R                  [         R                  [         R                  [         R                  [         R                  [         R                  4n[         R                  [         R                  4nU HX  nX2;   a  U" [        R                  " S/5      5      nOU" U R                  5      n[!        UR"                  U R$                  5        MZ     g r  )re   r  r  r  r  ru  r  r  r  r|  r  r  r"  r;   r   r  r   r   r  )r5   funcs	probfuncsr  r  s        r(   test_one_arg_funcs*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                    [         R                  [         R                  [         R                  [         R                  [         R
                  [         R                  [         R                  [         R                  [         R                  [         R                  [         R                  [         R                  [         R                  [         R                  4n[         R                  [         R                  4nU H  nX2;   a  [        R                   " S/5      nOU R"                  nU" U R$                  U5      n['        UR(                  U R*                  5        U" U R$                  S   U5      n['        UR(                  U R*                  5        U" U R$                  US   5      n['        UR(                  U R*                  5        M     g )Nrc   r   )re   r  rl  r  r  r  r]  r  r  r  r  r  r  rf   r  r;   r   r  r  r   r   r  )r5   r  r  r  r  r  s         r(   test_two_arg_funcs*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           	         [         R                  [         R                  [         R                  [         R                  [         R
                  [         R                  [         R                  [         R                  [         R                  /	n[        R                  n[         R                  " S/5      n[         R                  " S/5      nU H  nU" XTXS9n[        UR                  U R                  5        U" US   XAUS9n[        UR                  U R                  5        U" XTS   XS9n[        UR                  U R                  5        M     g )Nr@   r   r!  )r;   r)  r`  rc  r^  ra  r_  r   r   rb  re   r3   r   r   r   r  )r5   r)   r(  r  r  r  r,  r  s           r(   r  %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                 0   [         R                  [         R                  [         R                  /nU H  nU" U R                  U R
                  U R                  5      n[        UR                  U R                  5        U" U R                  S   U R
                  U R                  5      n[        UR                  U R                  5        U" U R                  U R
                  S   U R                  5      n[        UR                  U R                  5        M     g )Nr   )
re   rc  r  r
  r  r  r  r   r   r  )r5   r  r  r  s       r(   test_three_arg_funcs,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)
rV   rW   rX   rY   r   r  r  r  r  rZ   rU   r*   r(   r  r  	  s    3&363"3r*   r  r  c                    U S   nU S   n[        U5      nUR                  U5        UR                  S   S   n[        R                  S:X  a  UR                  5       n[        R                  " U5      nUR                  S   S   U S   S   :X  d   eUR                  5       U S   S   :X  d   eUR                  5       nUR                  S   S   n[        R                  S:X  a  UR                  5       n[        R                  " U5      nUR                  S   S   U S	   S   :X  d   eUR                  5       U S	   S   :X  d   eg )
Nr   r   r  r	  r  r   r   r   r   )
r   rA   r  re  rf  rg  rh  ri  rj  r   )r  r   r   mt19937r	  ri  r   s          r(   test_jumpedr  >
  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                     [         R                  " S5      n [         R                  " S5      nSn[        R                  XSS9R                  S:X  d   e[
        R                  " [        5         [        R                  XUS9  S S S 5        [
        R                  " [        5         [        R                  XSS9  S S S 5        [
        R                  " [        5         [        R                  XSS9  S S S 5        [         R                  " S5      n[
        R                  " [        5         [        R                  X2S9  S S S 5        [
        R                  " [        5         [        R                  USS9  S S S 5        [
        R                  " [        5         [        R                  USS9  S S S 5        [         R                  " U5      n[
        R                  " [        5         [        R                  X4S	9  S S S 5        [
        R                  " [        5         [        R                  S
SS/SS9  S S S 5        [
        R                  " [        5         [        R                  S
S/SSS9  S S S 5        [
        R                  " [        5         [        R                  S
S/SS/SS9  S S S 5        [
        R                  " [        5         [        R                  SS/SS/SS9  S S S 5        [        R                  SSS9n[        R                  SSS9n[        R                  SSS9n[        R                  XVU5      R                  S:X  d   e[
        R                  " [        SS9   [        R                  XVUSS9  S S S 5        g ! , (       d  f       GN	= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN`= f! , (       d  f       GN;= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN]= f! , (       d  f       g = f)Nr   )r   r   )r   r   r_   )r   r   r   r  )r@   r   )r   r@   r@   )r   r  r@   r   gffffff?)r_   r@   r_   r   zOutput size \(6, 5, 1, 1\) isr   )r   r   r@   r@   )r;   r$  re   rl  r   r   r   rI   r  r   rf   rv   r  rc  )r@  r  r   r   r  r  r  r  s           r(   test_broadcast_size_errorr  Z
  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A!,7 
K	JE 
#	"	"	"	"	" 
#	"	"	"	"	" 
#	" 
#	"	"	"	"	"	"	" 
K	Js   -N$NN((N:OO"O0PPP&P8%Q

N
N%(
N7:
O	
O
O-0
O?
P
P#&
P58
Q

Qc                     [         R                  " S5      n [         R                  " S5      n[        R                  XSS9  [        R
                  " [        5         [        R                  XSS9  S S S 5        g ! , (       d  f       g = f)Nr   r  r_   )r;   r$  re   rl  r   r   rI   )r@  r  s     r(   test_broadcast_size_scalarr  
  sT    	BGGAJE
MM"!M$	z	"ba( 
#	"	"s   A99
Bc                  x    / / S/n [        [        S5      5      n[        UR                  U 5        U S/ / /:X  d   eg rT  )r   r   r
   r  )seqgens     r(   test_ragged_shuffler  
  s=    r1+C
GAJ
Cs{{C(1b"+r*   r  rN   r)   c                    [        [        S5      5      nU(       a  SOSn[        R                  " [        US9   UR                  XS9  S S S 5        U(       a  SOSn[        R                  " [        US9   UR                  SXS9  S S S 5        [        R                  " [        US9   UR                  S/XS9  S S S 5        g ! , (       d  f       N= f! , (       d  f       NS= f! , (       d  f       g = f)	Nr   zhigh < 0z	high <= 0r   r  z
low > highzlow >= highrF   )r   r   r   r   rI   r3   )r  r)   r  msgs       r(   !test_single_arg_integer_exceptionr  
  s     GAJ
C *kC	z	-T- 
.",C	z	-R1 
.	z	-bT43 
.	- 
.	- 
.	-	-	-s#   C5C'C$
C
C!$
C2rb   f4f8c                 j   [         R                  " SSU S9n/ SQn[        R                  " [        SS9   [
        R                  X!U S9  S S S 5        [        R                  " [        SS9   [
        R                  X!UR                  U S9  S S S 5        g ! , (       d  f       NP= f! , (       d  f       g = f)	Nr   F)orderrb   r   zSupplied output arrayr   r  r  )r;   r   r   r   rI   re   r  r   )rb   r  r   s      r(   test_c_contig_req_outr  
  s     ((6E
2CE	z)@	AeE: 
B	z)@	Ae399EJ 
B	A 
B	A	A	As   B* B$
B!$
B2r  r  Cdistc                 t    [         R                  " SX!S9nU " X2S9nXCL d   eU " X2UR                  S9nXCL d   eg )Nr   )rb   r  r  )r  rb   r   )r;   r   r   )r  r  rb   r  variatess        r(   test_contig_req_outr  
  sB    
 ((6
4C)H??syy9H??r*   c                     [         R                  R                  [         R                  R                  S5      5      n U R	                  S5        U R                  5       u  nu  p#UR                  R                  S:X  d   e[        U5        U" S6 n[        U5        UR                  UR                  l	        UR                  R                  nUR                  U:X  d   eg )Nr   r@   	PCG64DXSM)r  )r;   re   r   r  r  
__reduce__	__class__rV   printr  r  )r
  ctorbit_gen_r  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S K n [        R                  R                  [        R                  R	                  S5      5      nUR
                  R                  nU R                  U R                  U5      5      nUR
                  R                  n[        UR                  UR                  5        [        UR                  UR                  5        UR
                  R                  R                  S5        U R                  U R                  U5      5      nUR
                  R                  n[        UR                  UR                  5        g )Nr   i4r   )pickler;   re   r   r  r  seed_seqloadsdumpsr   r  poolspawn)r  r
  ssrg_plkss_plks        r(   #test_pickle_preserves_seed_sequencer  
  s     			RYY00:	;B				"	"B\\&,,r*+F!!**F6<<(&++&##B'\\&,,r*+F!!**F6<<(r*   versiony   ~   c                 R   SS K nSS Kn[        R                  R	                  [        R                  R                  [        5      5      S   n[        R                  R                  USSU  S35      nUR                  U5       nUR                  U5      nS S S 5        WR                  R                  S   n[        U[        5      (       d   e[        UR                  [        R                  R                   5      (       d   eUS   S:X  d   eUS   S:X  d   eg ! , (       d  f       N= f)	Nr   rn  generator_pcg64_npz.pkl.gzr  l	   a*MzJR2MP incl	   sN	D%(^6FA )r  gzipospathsplitabspath__file__r  openloadr  r  r   r   r;   re   PCG64)r  r  r
  	base_pathpkl_filegzr
  r  s           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   D
D&)7os.pathr  re  rh  r   numpyr;   numpy.exceptionsr   numpy.linalgr   numpy.testingr   r   r   r   r	   r
   r   r   r   r   numpy.randomr   r   r   r   re   JUMP_TEST_DATAfixturer)   r,   r\   ro   r   r  r  r  r!  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rU   r*   r(   <module>r     s    
    & $; ; ;
 G F	79	 "dmno!clop	 "dmpq!clop	 7"dmpq!clop	, he}5 6!6 !6H> >4) 4)nC- C-L, ,DE EPI, I,X$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*   