
    h                    :   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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\R2                  " 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"\RF                  RI                  \S-S.9 " S/ S05      5       r% " S1 S25      r&\RF                  RO                  S3\5      S4 5       r(S5 r)S6 r*S7 r+\RF                  RO                  S8S9S9//5      \RF                  RO                  S:SS/5      S; 5       5       r,\RF                  RO                  S<S=S>/5      S? 5       r-\RF                  RO                  S<S=S>/5      \RF                  RO                  S@SASB/5      \RF                  RO                  SC\R\                  \R.                  /5      SD 5       5       5       r/SE r0g)F    N)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    c/var/www/fran/franai/venv/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   r/   r0   r1   )r   r   ranger   r2   nparanger3   s     r'   
test_arrayTestSeed.test_array3   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_rawr3   s     r'   test_seedsequenceTestSeed.test_seedsequence=   s"    LO$Q\\!_j1r)   c                 X    [        [        [        S5        [        [        [        S5        g )N      r   	TypeErrorr   
ValueErrorr4   s    r'   test_invalid_scalarTestSeed.test_invalid_scalarA   s    i$/j'2.r)   c                     [        [        [        S/5        [        [        [        S/5        [        [        [        / SQ5        g )NrD   rE   )r?           rF   rI   s    r'   test_invalid_arrayTestSeed.test_invalid_arrayF   s+    i4&1j'B40j'+>?r)   c                 6    [        [        [        [        5        g r$   )r   rH   r   r   rI   s    r'   test_noninstantized_bitgen#TestSeed.test_noninstantized_bitgenL   s    j)W5r)    N)__name__
__module____qualname____firstlineno__r6   r<   rA   rJ   rO   rR   __static_attributes__rT   r)   r'   r+   r+   ,   s!    ,,2/
@6r)   r+   c                        \ rS rSrS rS rSrg)TestBinomialP   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
   )r4   rc   ps      r'   test_n_zeroTestBinomial.test_n_zeroQ   sI     %(AFOOAq)Q./vu8%@ r)   c                 `    [        [        [        R                  S[        R
                  5        g )Nr?   )r   rH   rd   re   r:   nanrI   s    r'   test_p_is_nanTestBinomial.test_p_is_nanZ   s    j&//1bff=r)   rT   N)rU   rV   rW   rX   rg   rk   rY   rT   r)   r'   r[   r[   P   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)TestMultinomial_   c                 4    [         R                  SSS/5        g )Nd   皙?皙?rd   multinomialrI   s    r'   
test_basicTestMultinomial.test_basic`   s    3c
+r)   c                 4    [         R                  S/ SQ5        g )Nrq   )rr   rs           ry   ry   rt   rI   s    r'   test_zero_probability%TestMultinomial.test_zero_probabilityc   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 )NrE      )r   rd   r2   r:   allr4   xs     r'   test_int_negative_interval*TestMultinomial.test_int_negative_intervalf   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 )Nrb   r?   r?   r^   r^   r^   r^   r^   r^   r^   )
r   rd   ru   r:   uint32shapearrayr   rG   floatr4   rf   s     r'   	test_sizeTestMultinomial.test_sizel   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 )Nrq   皙?rr   皙?r   rH   rd   ru   rI   s    r'   test_invalid_prob!TestMultinomial.test_invalid_probz   s2    j&"4"4cC:Fj&"4"4cC:Fr)   c                     [        [        [        R                  SSS/5        [        [        [        R                  S/S-  SS/5        g )NrE   rs   rr   r   r   rI   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?      ۠iUrq   )pvals)r:   r;   sumr   r   ru   ascontiguousarrayr
   )r4   rf   r   rd   
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   r`   r   z-[\w\s]*pvals array is cast to 64-bit floatingmatchr?   )
r:   r   float32r   r   r   pytestraisesrH   ru   )r4   r   r   rd   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rT   N)rU   rV   rW   rX   rv   rz   r   r   r   r   r   r   rY   rT   r)   r'   rn   rn   _   s,    ,;  GM/)r)   rn   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   rI   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   rE   )rE   r^   r   r^   r?   iɚ;e   r~   	marginalsrq   count)
r   rH   rd   multivariate_hypergeometricr:   iinfoint64maxra   itemsize)r4   
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   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:   emptyr   r   )r4   r   rd   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   rE   axis)
fill_valuera   順 MbP?{Gzt?)rtolatol)r   r   r   r:   r   r   
isinstancer_   r   r   r   r   r
   r   fullr   mean)r4   r   r   r   rd   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
   r4   rd   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)rU   rV   rW   rX   r   r   r   markparametrizer   r   r   r   r   rY   rT   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_staterI   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   )r4   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   )r4   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 Nrb   )r	  negative_binomialrI   s    r'   test_negative_binomial#TestSetState.test_negative_binomial8  s     	!!#s+r)   )r  r
  r	  r   r  N)	rU   rV   rW   rX   r   r  r  r  rY   rT   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(   ra   )r   rG   rfuncr   )r4   r(   s     r'   test_unsupported_type"TestIntegers.test_unsupported_typeE  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   rH   r!  r4   r(   dtlbndubnds        r'   test_bounds_checking!TestIntegers.test_bounds_checkingH  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_arraya  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(   ra   r'  r(  r:   r   r)  r   r   r!  )r4   r(   r+  r,  r-  is_opentgts          r'   test_rng_zero_and_extremes'TestIntegers.test_rng_zero_and_extremeso  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   ra   r`   r5  )r4   r(   r   r+  r,  r-  r7  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r4   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?  r@  rD  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   r4  r   )r   r   r'  r!  r   r   r)  r(  )r4   r(   rd   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.     r4  )
r'  r(  r:   r   r)  r   r   r   r2   r
   )
r4   r(   r+  r,  r-  r   rd   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?   rQ  littler   r   r.   r4  r^   )r'  r   r   sys	byteorderr2   byteswaphashlibsha256	hexdigestr   r:   ra   namer(  viewr^  )r4   r(   r7  r+  rd   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?   rQ  r.   r4  r   )r'  r(  r:   bool_r   r)  r   r   r   r2   r
   )r4   r(   r+  r,  r-  rd   rk  val_bcs           r'   test_repeatability_broadcasting,TestIntegers.test_repeatability_broadcasting  s   **BtRXX..1BHHRL4D4DDtRXX..1BHHRL4D4Dq4HD'4!8TD wt}-F//$4(#% " 'C wt}-F__dVd]D&( % *F s+wt}-F__dVd]TFTM)1 % =F s+) r)   zbound, expectedr0   )iui,YQiXgi$#Pl   bA i{El   /Yi rN   )ui,YQXgi%#Pl   bA i|El   0Yi        )rt  ru  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 )NrQ  r  r   )lenr   r   r2   r   )r4   boundr   r   rd   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  rE   r   r?   )r0   rN   rv  r  )r:   r   r   r   r2   r
   )r4   desiredr   rd   r   s        r'   .test_repeatability_32bit_boundary_broadcasting;TestIntegers.test_repeatability_32bit_boundary_broadcasting4  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   )rE               r   r   r   r   ))r   l            )l         r  r  r  )        r  r   r   r`   )	r:   r`  r   r   r   rH   rd   r2   object)r4   r(   configsra   configlowhighlow_ahigh_alow_ohigh_os              r'   &test_int64_uint64_broadcast_exceptions3TestIntegers.test_int64_uint64_broadcast_exceptionsK  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   r`  rd   r2   r   )r4   r(   r+  r7  r,  r-  actuals          r'   test_int64_uint64_corner_case*TestIntegers.test_int64_uint64_corner_caseg  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   ra   )r'  r(  r:   r   r)  r   rp  r!  r   ra   r_   hasattrtyper4   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4ZRB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   rp  r!  r   ra   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4ZRB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   ra   r   rd   r2   )r4   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;  )rc  rd  r   r   rH   rd   r2   )r4   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^   )rd   r2   r:   uniquer   )
r4   sample_sizer  ra   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)   rT   N),rU   rV   rW   rX   rd   r2   r!  r(  r:   r^  ra  r\  r_  r]  r   r   r`  r'  r"  r.  r1  r8  r<  rF  rI  rN  rT  rm  rr  r   r   r  r   rz  r~  r  r  r  r  r  r  slowr  rY   rT   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-\R                  R                  S%\.\//5      \R                  R                  S&S'\R`                  " / S(Q/ S)Q/5      4S*\R`                  " / S+Q/ S,Q/5      4S-\R`                  " / S.Q/ S/Q/5      4/5      S0 5       5       r1S1 r2S2 r3\R                  R                  S3S4S5/5      S6 5       r4S7 r5S8 r6S9 r7S: r8S; r9S< r:S= r;S> r<S? r=S@ r>\R                  R~                  SA 5       r@\R                  R                  SB/ SCQ/ SDQ/ SEQ/ SFQ/ SGQ/ SHQSI// SJQ/5      SK 5       rASL rBSM rCSN rDSO rESP rFSQ rGSR rHSS rIST rJSU rKSV rLSW rMSX rNSY rOSZ rPS[ rQS\ rR\R                  R                  S]\R                  " SIS^5      S_\R                  S`/5      Sa 5       rUSb rV\R                  R                  \XScSd9\R                  R                  Se/ SfQ5      Sg 5       5       rY\R                  R                  ShS*/Si//4Sj/S-//4/5      Sk 5       rZ\R                  R                  Se/ SfQ5      Sl 5       r[Sm 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 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   rI   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   r2   r:   r   r
   r4   rd   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  r`   )r   r   r   r2   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(   )rd   r2   r:   r   r   r   )r4   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   rd   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 )Nr`   r  r   r  )r   r   r   rd   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   r`   r?   i$^  i,e  )r   r   r   rd   r:   count_nonzerorj  )r4   ra   uint_view_typerd   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]  r`   )r   rG   rd   rI   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^   r`   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  rf   )r   r?   r   r?   r`   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   r`   )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?rb   r  r  rf   )r   r^   r   r`   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_noninteger1  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_axis7  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 )NrE   r         @)r?   r^   r   r         ?r  r?   r^   )r  r  rr   r   r   r  r   r   Fr  rM   )rE   )rE   r?   )r?   r   r   r   )rd   r  r   rH   )r4   r   s     r'   test_choice_exceptions%TestRandomDist.test_choice_exceptionsC  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?   r`   r   r   )r  r  r  r  r  rr   r   r  r  r  r  r   r  r  )r   r:   isscalarrd   r  r   r   r  tuplendimitemr   r   r;   r2   r   rH   )r4   rf   r  arrr5   s        r'   test_choice_return_shape'TestRandomDist.test_choice_return_shapeU  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   rH   rd   r  )r4   r  rf   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
   )r4   rf   rd   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  )rf   r  )r:   r#  rd   r  ra   r   )r4   rf   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  rb  )r   r   r   r  rc  rd  re  rf  rg  rj  r:   r^  rh  r   )r4   choice_hashrd   r  rl  s        r'   test_choice_large_sample'TestRandomDist.test_choice_large_sample  su    X7499-.udE:==H$__&FnnV[[12<<>"#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$   rT   r5  s    r'   r6  r7    s    qr)   c                 h    [         R                  " U 5      R                  [         R                  5      $ r$   )r:   asarrayastyper^  r5  s    r'   r6  r7    s    rzz!}33BGG<r)   c                 h    [         R                  " U 5      R                  [         R                  5      $ r$   )r:   r:  r;  r   r5  s    r'   r6  r7    s    rzz!}33BJJ?r)   c                 h    [         R                  " U 5      R                  [         R                  5      $ r$   )r:   r:  r;  	complex64r5  s    r'   r6  r7    s    rzz!}33BLLAr)   c                 T    [         R                  " U 5      R                  [        5      $ r$   )r:   r:  r;  r  r5  s    r'   r6  r7    s    rzz!}33F;r)   c                 4    U  Vs/ s H  oU4PM     sn$ s  snf r$   rT   r   is     r'   r6  r7    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:  rA  s     r'   r6  r7    s!    rzz1*=1aq61*=>*=s   )c                 D    [         R                  " X /5      R                  $ r$   )r:   vstackTr5  s    r'   r6  r7    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_   rj  recarrayrA  s     r'   r6  r7    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]  rA  s     r'   r6  r7    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
   )r4   convrd   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 )
NrL  r   r   r?   r   r   r   r?   r^   r   r   r~   r   r      r   r   r   r   r   r   rE   )	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   rX  r  r
   )r4   rd   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;   rX  copyr   r   r   r  rF  r
   )r4   y1y2rd   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?   rE   r   )r:   mamasked_valuesrX  r9   r;   r_  rd   r  r   sorteddatamask)r4   r  r  a_origb_origrB  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[        [        R                  UR                  US5        [        R                  " S5      R                  S5      n[        [        R                  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[        [        R                  UR                  US5        g )
Nr   r?   r   r   r   r   r^   r   )r   r~   r   r  )r   r   r   r:   r;   r   	AxisErrorr  rX  rG   sliceNotImplementedErrorr   r#  r4   rd   r  s      r'   test_shuffle_exceptions&TestRandomDist.test_shuffle_exceptions  s    7499-.iimbllFNNC;iil""6*bllFNNC;ieAq$6GH)$)6>>3Bhhqki5ggfobllFNNC;r)   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:   rc   flags	writeabler   r   rH   r  )r4   rd   r  s      r'   test_shuffle_not_writeable)TestRandomDist.test_shuffle_not_writeable  sT    7499-.HHQK!]]:[9NN1 :99s   A::
Bc                    [        [        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[        [
        R                  UR                  U5        Sn[        [
        R                  UR                  U5        [        [        U R                  5      5      nSn/ SQnUR                  U5      n[	        X45        g )NrK  rL  abcdg333333?r   )
r   r   r   r   r   r   r^   r~   r?   r   )
r   r   r   permutationr
   r:   
atleast_2drF  r   rp  )	r4   rd   rN  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#;#;<	bllF$6$6	BbllF$6$6D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 )
NrL  rR  rS  rT  rU  rW  r?   r   rE   )	r:   r;   rX  r   r   r   r   r~  r
   )r4   r  r}  rd   r  s        r'   test_permutation_custom_axis+TestRandomDist.test_permutation_custom_axis#  s    IIbM!!&)((,,,,. / 7499-.##AA#.6+7499-.##AB#/6+r)   c           
         [        [        U R                  5      5      n[        R                  " S5      n[        [        R                  UR                  US5        [        R                  " S5      R                  S5      n[        [        R                  UR                  US5        [        [        UR                  U[        SSS 5      5        g )Nr   r?   r   ro  r   r^   )r   r   r   r:   r;   r   rp  r~  rX  rG   rq  rs  s      r'   test_permutation_exceptions*TestRandomDist.test_permutation_exceptions0  s    7499-.iimbllF$6$6Q?iil""6*bllF$6$6Q?i!3!3S%1d:KLr)   ra   zaxis, expectedN)r   r   r   r   r   rV  )r   r   r^   r~   r?   r   r   )r   r?   r^   r   r   rV  )r   r   r   r   r   r~   r?   )r~   r   r   r   r^   r?   )rV  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;   rX  r;  permutedr
   ra   )r4   ra   r   r   rd   r   ys          r'   test_permutedTestRandomDist.test_permuted8  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^   rV  r   r?   r  )r   r   r   r   )r   r   rV  r   )
r   r   r   r:   r;   rX  r_  r  r   r
   )r4   rd   x0x1r   r  r   s          r'   test_permuted_with_strides)TestRandomDist.test_permuted_with_stridesL  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$   )rd   r  r
   )r4   r  s     r'   test_permuted_empty"TestRandomDist.test_permuted_emptyY  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   r`   z
same shaper   r  )	r:   r   rc   ra   r   r   rH   rd   r  )r4   r  r  r  s       r'   "test_permuted_out_with_wrong_shape1TestRandomDist.test_permuted_out_with_wrong_shape]  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~   r`   zCannot castr   r?   r  )	r:   rc   r]  r#  r   r   rG   rd   r  )r4   r  r   s      r'   !test_permuted_out_with_wrong_type0TestRandomDist.test_permuted_out_with_wrong_typed  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~   Frw  r   r?   r  )	r:   rc   rx  ry  r   r   rH   rd   r  r   s     r'   test_permuted_not_writeable*TestRandomDist.test_permuted_not_writeablej  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_betap  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   r   re   r:   r   r
   r  s       r'   test_binomialTestRandomDist.test_binomialy  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   rH   )r4   rd   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   rd   r  r   r   r   rG   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   rH   rd   r  )r4   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   )r4   r  r  rd   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  ry   r   r  )r:   r   r   r   r   r  r   )r4   epsr  rd   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Q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 )N)g{Gz?{Gz?Q?i -1r  r   r   r   )r   )	r:   r   r   r   r   r   r  r   r   )r4   r  
exact_meanrd   r   sample_means         r'   %test_dirichlet_moderately_small_alpha4TestRandomDist.test_dirichlet_moderately_small_alpha  sc     +,YY[(
7499-.!!%h!7kkqk)d;r)   r  )r~   r   r   r   )rb   r   r   r   )r?   r~   r   r         ?r   r   r   )g{Gz?r  r   r   )gh㈵>r   r   r   )gMb`?gQ?r   r   r  r   r   r   ry   r   c                 |    [         R                  " U5      n[        R                  U5      n[	        X!S:H     S5        g )Nr   ry   )r:   r   rd   r  r   )r4   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   rd   r  r   rH   rI   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   rd   r  r   rH   rI   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?   rV  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   rH   rd   r  r:   errstaterj   rI   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   rd   r  r   rH   rI   s    r'   test_gumbel_0TestRandomDist.test_gumbel_0'  '    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_hypergeometric+  s    7499-.&&tS"6&B((aGGG% & 	6+ &&q!QQ&7((<(6+&&r1bq&9((+,6+ &&q!QQ&7((<(6+&&q"bq&9((<(6+r)   c                     [        [        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_laplaceE  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   rd   r	  r   rH   rI   s    r'   test_laplace_0TestRandomDist.test_laplace_0M  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_logisticQ  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_lognormalY  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   rd   r  r   rH   rI   s    r'   test_lognormal_0TestRandomDist.test_lognormal_0a  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  )rf   r   r   r   r      r~   r?   )r   r   r   	logseriesr:   r   r
   r  s       r'   test_logseriesTestRandomDist.test_logseriese  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  r4   rd   s     r'   test_logseries_zero"TestRandomDist.test_logseries_zerom  s.    7499-."a'''r)   valuerE   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   rH   r  r   )r4   r$  rd   s      r'   test_logseries_exceptions(TestRandomDist.test_logseries_exceptionsq  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   ru   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_validr/  r0  r  )r3  r   )r.  r/  r   ).r   ).r?   r   r  r`   other)r^   r?   r?   r   )r   r   r   multivariate_normalr:   r   r   r   rH   r   RuntimeWarningr   r	   r   r   recordrx  rc   eyer   )r4   r   rd   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   rG   r5  )r4   r   r9  rd   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   rM   r  rr   )
r   r   r   r:   r   r5  rF  r   absr   )	r4   r   rd   n_sr   r9  r5   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 )Nrq   g|Pk?r  )nrf   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  rq   r   )r:   r  r   rH   rd   r  rj   rI   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   rH   rd   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   rH   rd   r  rI   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  rb   rr   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dfdenrX  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^   )r]  r^  rX  )r   r   r   r_  r:   rj   isnanr4   rd   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   rd   rh  r   rH   rI   s    r'   test_normal_0TestRandomDist.test_normal_0,  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_pareto0  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_poisson>  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   rE   r   r  r  )	r:   r   r   r   rH   rd   rx  r  rj   )r4   lambiglamnegs      r'   test_poisson_exceptions&TestRandomDist.test_poisson_exceptionsF  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  ro  gZ >g?gÄ(=g҇?gŚE?gߢH?r   r  )r   r   r   powerr:   r   r   r  s       r'   
test_powerTestRandomDist.test_powerQ  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_rayleighY  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   rd   r  r   rH   rI   s    r'   test_rayleigh_0TestRandomDist.test_rayleigh_0a  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_cauchye  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_exponentialm  sf    7499-.,,&,G((.0AB.0AB.0ABD E 	"&2>r)   c                 Z    [        [        [        R                  [        R
                  S9  g Nr`   )r   rG   rd   r  r:   r]  rI   s    r'   #test_standard_expoential_type_error2TestRandomDist.test_standard_expoential_type_erroru  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_gammax  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   r`   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  r`         $@r  ra   gM»L$@ga {@gN]"@gPS")@g_+@gmB@r~   r  r  r   ra   )	r:   rc   r   r   r   r   r  r   r   )r4   r  rd   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]  r`   )r   rG   rd   r  rI   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:   rc   r   rH   rd   r  )r4   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   rd   r  r   rH   rI   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   rG   rd   r  r:   r]  rI   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  )rW  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   rd   r  r   OverflowErrorinf	nextafter)r4   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  ry   g
ףp= @r   )rd   r  r   r:   pirc   )r4   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   )rd   r  r   rH   )r4   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$   rG   rI   s    r'   	__float__QTestRandomDist.test_scalar_exception_propagation.<locals>.ThrowingFloat.__float__      r)   rT   N)rU   rV   rW   rX   r  rY   rT   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  rI   s    r'   __int__QTestRandomDist.test_scalar_exception_propagation.<locals>.ThrowingInteger.__int__  r  r)   rT   N)rU   rV   rW   rX   r  rY   rT   r)   r'   ThrowingIntegerr    r  r)   r  r?   )	r:   ndarrayr   rj  r   rG   rd   r  r  )r4   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 )Nry   gg5_PG>i@B r  )r   r   r   r  r   r:   isfiniter   r4   rd   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 )Nry   )r<  r  )r   r   r   r  r:   rj   r   rc  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   )r4   r  rd   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  )r4   r<  r  rd   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_wald+  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  ro  gnJZ?g*/F?gs(RY?g]'%?g,qD?g8 ?r   r  )r   r   r   weibullr:   r   r   r  s       r'   test_weibullTestRandomDist.test_weibull3  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   ro  r  )r  )	r   r   r   r   r  r:   rc   r   rH   r!  s     r'   test_weibull_0TestRandomDist.test_weibull_0;  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  ro  r?   r   ic  ib  r^   )r   r   r   zipfr:   r   r
   r  s       r'   	test_zipfTestRandomDist.test_zipf@  sX    7499-.t&1((qAJ #J AJ( ) 	6+r)   r   )rU   rV   rW   rX   r   r  r  r  r  r  r  r  r   r   r  r:   r   r   float64r`  r  r  r  r  r  r  r	  r  r  r  r  r   r$  r'  r-  r1  rO  rY  r\  rb  rl  rt  rz  r  r  r  r_   r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r
  r  r  r  r  r  r"  r  rj   r&  r*  skipifr   r=  r@  rG  r  rM  rQ  rT  rZ  r`  re  ri  rl  rt  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  rY   rT   r)   r'   r  r    s   ,,,
&
E>> [[4!zz2995!zz299578/8/?,,,,,,,2$,9\9
/
($&06,0#L<,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())TestBroadcastiI  c                     SU l         g )Ni[r   rI   s    r'   r   TestBroadcast.setup_methodL  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  )r4   rd   r  r  r  r}  r  s          r'   r  TestBroadcast.test_uniformO  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?   rE   )gw-Dؿgn0_x?gʊ;<.?r   r   r  )	r   r   r   r:   r   rh  r   r   rH   )r4   r  r  	bad_scalerd   r}  r  rh  s           r'   ri  TestBroadcast.test_normal^  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^   rE   rM   )gf8?g%eo?g$q??r   r   r  )	r:   r   r   r   r   r  r   r   rH   )	r4   r  r  bad_abad_br}  rd   r  r  s	            r'   r  TestBroadcast.test_betap  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?   rE   )g`ʄ?gE]?g?r   r   r  )	r:   r   r   r   r   r  r   r   rH   r4   r  r#  r}  rd   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   rH   )r4   r   	bad_shaper}  rd   	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^   rE   rM   )g3ʄ?gJE]?g?r   r   r  )	r:   r   r   r   r   r  r   r   rH   )	r4   r   r  r.  r#  r}  rd   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^   rE   rM   )gM3B?gybi@g0?r   r   r  )	r:   r   r   r   r   r  r   r   rH   )	r4   r]  r^  	bad_dfnum	bad_dfdenr}  rd   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   rE   rM   )gŜ,n1 @g!6)@g9?r   r  )r:   r   r   r   r   r_  r   r   rc  rj   r   rH   )r4   r]  r^  rX  r4  r5  bad_noncr}  rd   nonc_fr  s              r'   r`  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   r_  r   )r4   rd   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?   rE   )gC{?g7Q#?g%h1T@r   r   r  )	r:   r   r   r   r   r  r   r   rH   r4   rW  bad_dfr}  rd   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^   rE   rM   )g-S?g[@gr3/.?r   r   r  )	r:   r   r   r   r   rY  r   r   rH   )	r4   rW  rX  r@  r8  r}  rd   nonc_chir  s	            r'   rZ  '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?   rE   )g>Qg{g,e?r   r   r  )	r:   r   r   r   r   r  r   r   rH   r?  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?   rE   )gD()@g,)ʸ@gPor   r   r  )	r:   r   r   r   r   r  r   r   rH   )r4   r<  r  	bad_kappar}  rd   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?   rE   )g/h?gcE?g/gV?r   r   r  )	r:   r   r   r   r   rq  r   r   rH   r4   r  r&  r}  rd   r  s         r'   rt  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   rH   rK  s         r'   r  TestBroadcast.test_weibull-  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?   rE   )gT?gʥ?gKܮc?r   r   r  )	r:   r   r   r   r   r  r   r   rH   rK  s         r'   r  TestBroadcast.test_power7  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?   rE   )gh&BgsgR#?r   r   r  )	r:   r   r   r   r   r	  r   r   rH   )r4   r  r  r#  r}  rd   r	  r  s           r'   r
  TestBroadcast.test_laplaceA  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?   rE   )gs4?g$Cw%T?gտr   r   r  )	r:   r   r   r   r   r  r   r   rH   )r4   r  r  r#  r}  rd   r  r  s           r'   r  TestBroadcast.test_gumbelS  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?   rE   )g$DgXPg,?r   r   r  r  ry   )
r:   r   r   r   r   r  r   r   rH   r   )r4   r  r  r#  r}  rd   r  s          r'   r  TestBroadcast.test_logistice  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?   rE   )g c?gu@gVQ?r   r   r  )	r:   r   r   r   r   r  r   r   rH   )r4   r   r  	bad_sigmar}  rd   r  r  s           r'   r  TestBroadcast.test_lognormalv  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?   rE   )gs(?g4mK?gVk+?r   r   r  )	r:   r   r   r   r   r  r   r   rH   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 )	Nrb   r?   r   rM   )gk7Z?g*}z9?gc-	?r   r   r  )	r:   r   r   r   r   r  r   r   rH   )r4   r   r  bad_meanr#  r}  rd   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  ry   g      4@g      9@)	r:   r   r   r   r   r  r   r   rH   )r4   r  r  r  bad_left_onebad_mode_onebad_left_twobad_mode_twor}  rd   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?   rb   rE   r  r   r   r?   r   )	r:   r   r   r   r   re   r
   r   rH   )
r4   rJ  rf   bad_n	bad_p_one	bad_p_twor}  rd   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?   rb   rE   r  )r   r^   r?   r`   r   )
r:   r   r   r   r   r   r  r
   r   rH   )
r4   rJ  rf   rg  rh  ri  r}  rd   	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?   rE   )r   r   r   r^   r   )
r:   r   r   r   r   _poisson_lam_maxrx  r
   r   rH   )	r4   rw  bad_lam_oner}  rd   max_lambad_lam_tworx  r  s	            r'   ry  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   rH   r  rj   )r4   r  r&  r}  rd   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 )Nrb   rE   r  r   r   )	r:   r   r   r   r   r  r
   r   rH   )r4   rf   rh  ri  r}  rd   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^   rE   rM   r   rf  r   r   r   r   i   @i  l        r   i    r.   )	r:   r   r   r   r   r  r
   r   rH   )r4   ngoodnbadr   	bad_ngoodbad_nbadbad_nsample_onebad_nsample_twor}  rd   r  	hypergeoms               r'   r  !TestBroadcast.test_hypergeometric(	  sQ   s#D	4$#((9%7499-.&&uqy$@6+j&"7"7QVj&"7"7HVj&"7"7DZj&"7"7DZ7499-.&&uQh@6+j&"7"71HgVj&"7"71gVj&"7"7q/Zj&"7"7q/Z7499-.))	5!46+j)kJj)HkJj)DA:MNj)DA:MNj)RR8j)RR8j)RR8j)RR8 	j)UB;j)S%<j)S5%.$Gr)   c                    S/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 )Nrb   r^   rE   )r?   r?   r?   r   )	r:   r   r   r   r   r  r
   r   rH   )r4   rf   rh  ri  r}  rd   r  r  s           r'   r  TestBroadcast.test_logseriesU	  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~   r`   r^   )r   r   r^   r?   r?   r?   )r   r^   r   r   r~   r   )r   r   r   ru   r:   r   r   r
   r  s       r'   r*  TestBroadcast.test_multinomialb	  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)   rJ  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   rE   r  r  )r?   r?   r?   r?   r?   r?   )r   r   r   r:   r   ru   r   r_   r  r   rE  broadcast_shapesr   r   rH   )r4   rJ  rd   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?   rb   )r   r   r   r   rH   ru   )r4   rd   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   ru   r:   r   r   rd  s      r'   test_empty_outputs TestBroadcast.test_empty_outputs	  s    7499-.##BHHZ$>!L||},,,##B(=>||{***##BHHY$=$&HH\$:<|||+++r)   r   N)-rU   rV   rW   rX   r   r  ri  r  r  r  r  r  r`  r<  r  rZ  r  r  rt  r  r  r
  r  r  r  r  r  r  r  r  ry  r  r  r  r  r*  r   r   r  r:   r   r  r  r  rY   rT   r)   r'   r  r  I  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 threadr,  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   )r9   seedsrI   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   rx  r  zipr   r   startjoinintpra   r   rc  platformr   r
   )
r4   functionszr  out1out2r5   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  .)rh  r  r  s     r'   
gen_random*TestThread.test_normal.<locals>.gen_random	  s    |||/CHr)   )r+  r  r  r4   r  s     r'   ri  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rq   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  .)ru   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)
rU   rV   rW   rX   r   r  ri  r  r*  rY   rT   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   rJ  )r:   r   argOneargTwoargThreetgtShaperI   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  )rd   r  r  r  r  rq  r  r  r  rx  r  r  r  r:   r   r  r   r   r  )r4   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 )Nrb   r   )rd   r  rh  r  r  r  rY  r  r	  r  r  r  r  re   r  r:   r   r  r  r   r   r  )r4   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:   rp  r^  ra  r\  r_  r]  r   r   r`  rd   r2   r   r   r   r  )r4   r(   r'  r  r  r  r+  r  s           r'   r  %TestSingleEltArrayInput.test_integers
  s    277BHHbhh		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   )
rd   r_  r  r  r  r  r  r   r   r  )r4   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)
rU   rV   rW   rX   r   r  r  r  r  rY   rT   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   r@   r  rc  rd  re  rf  rg  rh  r   )r  r   r   mt19937r  rg  r   s          r'   test_jumpedr  3
  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#  rd   rh  r   r   r   rH   r  r   re   ru   r  r_  )r<  r  r   r   r  r  r  r  s           r'   test_broadcast_size_errorr  O
  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#  rd   rh  r   r   rH   )r<  r  s     r'   test_broadcast_size_scalarr  z
  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 rP  )r   r   r	   r  )seqgens     r'   test_ragged_shuffler  
  s=    r1+C
GAJ
Cs{{C(1b"+r)   r  rM   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 >= highrE   )r   r   r   r   rH   r2   )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ra   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)orderra   r   zSupplied output arrayr   r  r  )r:   r   r   r   rH   rd   r  r   )ra   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   )ra   r  r  )r  ra   r   )r:   r   r   )r  r  ra   r  variatess        r'   test_contig_req_outr  
  sB    
 ((6
4C)H??syy9H??r)   c                  D   [         R                  R                  [         R                  R                  S5      5      n U R	                  S5        U R                  5       u  pnUS S S:X  d   eU" US S 6 nX4R                  l        UR                  R                  nX5:X  d   eg )Nr   r?   )	PCG64DXSM)r:   rd   r   r  r  
__reduce__r  r  )r	  ctorr  state_ar  state_bs         r'   $test_generator_ctor_old_style_pickler  
  s    			RYY003	4Bq--/D8~%%%d2AhA#OOoo##Gr)   )1rc  rf  r   numpyr:   numpy.linalgr   numpy.testingr   r   r   r   r   r	   r
   r   r   r   numpy.randomr   r   r   r   rd   JUMP_TEST_DATAfixturer(   r+   r[   rn   r   r  r  r  r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  rT   r)   r'   <module>r     sx   
    $; ; ;
 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@, @,F$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
r)   