
    Kh                    J   S SK r S SKrS SKrS SKJrJrJrJrJ	r	J
r
JrJrJr  S SKJr  S SK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\R.                  R1                  \SS9 " S S5      5       r " S S5      rg)    N)	assert_assert_raisesassert_equalassert_warnsassert_no_warningsassert_array_equalassert_array_almost_equalsuppress_warningsIS_WASM)randomc                   2    \ rS rSrS rS rS rS rS rSr	g)	TestSeed   c                     [         R                  R                  S5      n[        UR	                  S5      S5        [         R                  R                  S5      n[        UR	                  S5      S5        g )Nr     i      i  )npr   RandomStater   randintselfss     P/var/www/html/env/lib/python3.13/site-packages/numpy/random/tests/test_random.pytest_scalarTestSeed.test_scalar   sN    II!!!$QYYt_c*II!!*-QYYt_c*    c                    [         R                  R                  [        S5      5      n[	        UR                  S5      S5        [         R                  R                  [         R                  " S5      5      n[	        UR                  S5      S5        [         R                  R                  S/5      n[	        UR                  S5      S5        [         R                  R                  S/5      n[	        UR                  S5      S5        g )N
   r   i  r   i  r   i	  )r   r   r   ranger   r   aranger   s     r   
test_arrayTestSeed.test_array   s    II!!%),QYYt_c*II!!"))B-0QYYt_c*II!!1#&QYYt_c*II!!:,/QYYt_c*r   c                     [        [        [        R                  R                  S5        [        [
        [        R                  R                  S5        g )N      r   	TypeErrorr   r   r   
ValueErrorr   s    r   test_invalid_scalarTestSeed.test_invalid_scalar    s.    i!6!6=j"))"7"7<r   c                    [        [        [        R                  R                  S/5        [        [
        [        R                  R                  S/5        [        [
        [        R                  R                  S/5        [        [
        [        R                  R                  / SQ5        [        [
        [        R                  R                  / SQ5        g )Nr$   r%           )      r-   )r.   r-   r&   r)   s    r   test_invalid_arrayTestSeed.test_invalid_array%   sx    i!6!6?j"))"7"7">j"))"7"7*Fj"))"7"79KLj"))"7"79LMr   c           	      N   [        [        [        R                  R                  [        R
                  " / [        R                  S95        [        [        [        R                  R                  / SQ/5        [        [        [        R                  R                  / SQ/ SQ/5        g )Ndtyper.   r/      )         )r   r(   r   r   r   arrayint64r)   s    r   test_invalid_array_shape!TestSeed.test_invalid_array_shape-   sd    j"))"7"7hhr2	4j"))"7"7)Ej"))"7"7):C:E 	Fr    N)
__name__
__module____qualname____firstlineno__r   r!   r*   r1   r=   __static_attributes__r?   r   r   r   r      s    ++=
NFr   r   c                        \ rS rSrS rS rSrg)TestBinomial6   c                     [         R                  " SSS9nS HF  n[        [        R                  " SU5      S:H  5        [        [        R                  " X5      U5        MH     g )Nr/   intr4   )r         ?r.   r   )r   zerosr   r   binomialr   )r   rK   ps      r   test_n_zeroTestBinomial.test_n_zero7   sI     %(AFOOAq)Q./vu8%@ r   c                 `    [        [        [        R                  S[        R
                  5        g )Nr.   )r   r(   r   rL   r   nanr)   s    r   test_p_is_nanTestBinomial.test_p_is_nan@   s    j&//1bff=r   r?   N)r@   rA   rB   rC   rN   rR   rD   r?   r   r   rF   rF   6   s    A>r   rF   c                   2    \ rS rSrS rS rS rS rS rSr	g)	TestMultinomialE   c                 6    [         R                  " SSS/5        g )Nd   皙?皙?r   multinomialr)   s    r   
test_basicTestMultinomial.test_basicF   s    3c
+r   c                 6    [         R                  " S/ SQ5        g )NrX   )rY   rZ           r`   r`   r[   r)   s    r   test_zero_probability%TestMultinomial.test_zero_probabilityI   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 )Nr%   r9   )r   r   r   r   all)r   xs     r   test_int_negative_interval*TestMultinomial.test_int_negative_intervalL   s\    fnnR,11r12NN2r1%rQw q2vr   c           	         SS/n[        [        R                  R                  SU[        R                  " S5      5      R
                  S5        [        [        R                  R                  SU[        R                  " S5      5      R
                  S5        [        [        R                  R                  SU[        R                  " S5      5      R
                  S5        [        [        R                  R                  SUSS/5      R
                  S5        [        [        R                  R                  SUS5      R
                  S5        [        [        R                  R                  SU[        R                  " S5      5      R
                  S5        [        [        [        R                  R                  SU[        S5      5        g )NrJ   r.   r.   r/   r/   r/   r/   r/   r/   r/   )
r   r   r   r\   uint32shaper;   r   r'   floatr   rM   s     r   	test_sizeTestMultinomial.test_sizeR   s(   #JRYY**1a1>DDfMRYY**1a1>DDfMRYY**1a1>DDfMRYY**1a!Q8>>	JRYY**1a8>>	JRYY**1a&1ABHH	  	i!6!61Ah	 r   c           
         [        [        [        R                  R                  SSS//5        [        [        [        R                  R                  SS/S//5        [        [        [        R                  R                  SS/S//S/S///5        [        [        [        R                  R                  S[        R
                  " SS/SS//5      5        g )Nr   r   r.   )r   r(   r   r   r\   r;   r)   s    r   test_multidimensional_pvals+TestMultinomial.test_multidimensional_pvals`   s    j"))"7"7q!fXFj"))"7"7qcA3ZHj"))"7"7sQCjA3QRPS*=UVj"))"7"7RXX1vPQSTvFV=WXr   r?   N)
r@   rA   rB   rC   r]   ra   rg   rq   rt   rD   r?   r   r   rU   rU   E   s    ,;  Yr   rU   c                   >    \ rS rSrS rS rS rS rS rS r	S r
S	rg
)TestSetStateg   c                     SU l         [        R                  " U R                   5      U l        U R                  R	                  5       U l        g NiI)seedr   r   prng	get_statestater)   s    r   setup_methodTestSetState.setup_methodh   s3    	&&tyy1	YY((*
r   c                     U R                   R                  S5      nU R                   R                  U R                  5        U R                   R                  S5      n[	        [
        R                  " X:H  5      5        g )N   )r|   tomaxint	set_stater~   r   r   re   r   oldnews      r   r]   TestSetState.test_basicm   sS    ii  $		DJJ'ii  $sz"#r   c                     U R                   R                  SS9nU R                   R                  U R                  5        U R                   R                  SS9n[	        [
        R                  " X:H  5      5        g Nr7   size)r|   standard_normalr   r~   r   r   re   r   s      r   test_gaussian_reset TestSetState.test_gaussian_resets   sY    ii''Q'/		DJJ'ii''Q'/sz"#r   c                 H   U R                   R                  5         U R                   R                  5       nU R                   R                  SS9nU R                   R                  U5        U R                   R                  SS9n[	        [
        R                  " X#:H  5      5        g r   )r|   r   r}   r   r   r   re   )r   r~   r   r   s       r    test_gaussian_reset_in_media_res-TestSetState.test_gaussian_reset_in_media_resz   sy     			!!#		##%ii''Q'/		E"ii''Q'/sz"#r   c                    U R                   S S nU R                  R                  SS9nU R                  R                  U5        U R                  R                  SS9nU R                  R                  U R                   5        U R                  R                  SS9n[	        [
        R                  " X#:H  5      5        [	        [
        R                  " X$:H  5      5        g )Nr0   r   r   )r~   r|   r   r   r   r   re   )r   	old_statex1x2x3s        r   test_backwards_compatibility)TestSetState.test_backwards_compatibility   s     JJsO	YY&&B&/		I&YY&&B&/		DJJ'YY&&B&/rx !rx !r   c                 <    U R                   R                  SS5        g NrJ   )r|   negative_binomialr)   s    r   test_negative_binomial#TestSetState.test_negative_binomial   s     			##C-r   c                     [         R                  " [        5         U R                  R	                  S5        S S S 5        g ! , (       d  f       g = f)Nr?   )pytestraises
IndexErrorr|   r   r)   s    r   test_set_invalid_state#TestSetState.test_set_invalid_state   s,    ]]:&II# '&&s   A  
A)r|   r{   r~   N)r@   rA   rB   rC   r   r]   r   r   r   r   r   rD   r?   r   r   rw   rw   g   s%    +
$$	$
".
$r   rw   c            	       :   \ rS rSr\R
                  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g)TestRandint   c                 @    [        [        U R                  S[        S9  g Nr.   r4   )r   r'   rfuncro   r)   s    r   test_unsupported_type!TestRandint.test_unsupported_type   s    iQe<r   c           	         U R                    H  nU[        R                  L a  SO[        R                  " U5      R                  nU[        R                  L a  SO"[        R                  " U5      R
                  S-   n[        [        U R                  US-
  X1S9  [        [        U R                  X#S-   US9  [        [        U R                  X2US9  [        [        U R                  SSUS9  M     g )Nr   r/   r.   r4   )	ityper   booliinfominmaxr   r(   r   )r   dtlbndubnds       r   test_bounds_checking TestRandint.test_bounds_checking   s    **Bbgg1288B<+;+;Dbgg1288B<+;+;a+?D*djj$(DK*djj$qK*djj$BG*djj!QbA r   c           
         U R                    H  nU[        R                  L a  SO[        R                  " U5      R                  nU[        R                  L a  SO"[        R                  " U5      R
                  S-   nUS-
  n[        U R                  XDS-   SUS9U5        Un[        U R                  XDS-   SUS9U5        X#-   S-  n[        U R                  XDS-   SUS9U5        M     g )Nr   r/   r.   r   r   r5   )r   r   r   r   r   r   r   r   )r   r   r   r   tgts        r   test_rng_zero_and_extremes&TestRandint.test_rng_zero_and_extremes   s    **Bbgg1288B<+;+;Dbgg1288B<+;+;a+?D(CCqt2FLCCqt2FL;"CCqt2FL r   c                 x   U R                    H  nU[        R                  L a  SO[        R                  " U5      R                  nU[        R                  L a  SO"[        R                  " U5      R
                  S-   n U R                  X#US9  M     g ! [         a  n[        S[        U5      -  5      eS nAff = f)Nr   r/   r.   r4   zMNo error should have been raised, but one was with the following message:

%s)
r   r   r   r   r   r   r   	ExceptionAssertionErrorstr)r   r   r   r   es        r   test_full_rangeTestRandint.test_full_range   s     **Bbgg1288B<+;+;Dbgg1288B<+;+;a+?D@

4R
0   @$ &68;A&? @ @@s   >B
B9B44B9c           	         [         R                  R                  5         U R                  SS   HV  nS HM  nU R	                  SUSUS9n[        UR                  5       U:  5        [        UR                  5       S:  5        MO     MX     U R	                  SSS[         R                  S9n[        UR                  5       S:  5        [        UR                  5       S:  5        g )Nr.   )r8      r   r/   i   r   r   )	r   r   r{   r   r   r   r   r   r   )r   r   r   valss       r   test_in_bounds_fuzzTestRandint.test_in_bounds_fuzz   s    
		**QR.B"zz!TRz@
T)*
a( # ! zz!QU"''z:
Q
a r   c           
      :   SS K nSSSSSSSSSS.	nU R                  SS   H  n[        R                  R	                  S	5        [
        R                  S
:X  a  U R                  SSSUS9nO U R                  SSSUS9R                  5       nUR                  UR                  [        R                  5      5      R                  5       n[        U[        R                  " U5      R                     U:H  5        M     [        R                  R	                  S	5        U R                  SSS[         S9R                  [        R                  5      nUR                  U5      R                  5       n[        U[        R                  " [         5      R                     U:H  5        g )Nr   @509aea74d792fb931784c4b0135392c65aec64beee12b0cc167548a2c3d31e71@7b07f1a920e46f6d0fe02314155a2330bcfd7635e708da50e536c5ebb631a7d4@e577bfed6c935de944424667e3da285012e741892dcb7051a8f1ce68ab05c92f@0fbead0b06759df2cfb55e43148822d4a1ff953c7eb19a5b08445a63bb64fa9e@001aac3a5acb935a9b186cbe14a1ca064b8bb2dd0b045d48abeacf74d0203404)	r   int16int32r<   int8uint16rm   uint64uint8r.   i  littler:   r   r   r/   )hashlibr   r   r   r{   sys	byteorderr   byteswapsha256viewr   	hexdigestr   r5   namer   )r   r   r   r   valress         r   test_repeatabilityTestRandint.test_repeatability   sF    ZZZZY[[[Z\ **QR.BIINN4  }}(jjADj;jjADj;DDF.."''!23==?CC))*c12 ! 			tjjADj5::277CnnS!++-BHHTN''(C/0r   c                    [         R                  n[         R                  " [         R                  5      R                  n[         R                  " [         R                  " [         R                  5      R                  5      n[         R                  " [         R                  " [         R                  5      R                  S-   5      n[         R
                  R                  X4US9n[        XR5        g r   )r   r<   r   r   r   r   r   r   )r   r   r   r   r   actuals         r   test_int64_uint64_corner_case)TestRandint.test_int64_uint64_corner_case   s     XXhhrxx $$xx*../yy"((+//!34 ""4R"8V!r   c                    U R                    H  nU[        R                  L a  SO[        R                  " U5      R                  nU[        R                  L a  SO"[        R                  " U5      R
                  S-   nU R                  X#US9n[        UR                  [        R                  " U5      5        M     [        [        4 H  nU[        L a  SO[        R                  " S5      R                  nU[        L a  SO"[        R                  " S5      R
                  S-   nU R                  X#US9n[        [        US5      (       + 5        [        [        U5      U5        M     g )Nr   r/   r.   r4   longr5   )r   r   r   r   r   r   r   r   r5   rI   r   hasattrtype)r   r   r   r   samples        r   test_respect_dtype_singleton(TestRandint.test_respect_dtype_singleton  s    **Bbgg1288B<+;+;Dbgg1288B<+;+;a+?DZZ"Z5Frxx|4  +Bd
1(8(<(<Dd
1(8(<(<q(@D ZZ"Z5F001fr* r   r?   N)r@   rA   rB   rC   r   r   r   r   r   r   r   r   r   r   rm   r<   r   r   r   r   r   r   r   r   r   r   rD   r?   r   r   r   r      s~    IIE WWbggrxx299XXryy"((BII7E=BM@!1B".+r   r   c                   |   \ 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\R0                  R3                  S\R6                  \R6                  R9                  5       \R6                  R;                  5       /5      S 5       r\R0                  R3                  S\R6                  \R6                  R9                  5       \R6                  R;                  5       /5      \R0                  R3                  SSS/5      S 5       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+ r0S, r1S- r2S. r3S/ r4S0 r5S1 r6S2 r7S3 r8S4 r9S5 r:S6 r;S7 r<S8 r=S9 r>S: r?S; r@S< rAS= rBS> rCS? rDS@ rESA rFSB rGSC rHSD rISE rJSF rKSG rLSH rMSI rNSJ rOSK rPSL rQSM rRSN rSSOrTgP)QTestRandomDisti'  c                     SU l         g rz   r{   r)   s    r   r   TestRandomDist.setup_method+  s	    	r   c                     [         R                  R                  U R                  5        [         R                  R                  SS5      n[         R                  " SS/SS/SS//5      n[        XS	S
9  g )Nr7   r/   _\*?琛?<p?,o?H?Z?r   decimal)r   r   r{   randr;   r	   r   r   desireds      r   	test_randTestRandomDist.test_rand.  sf    
		tyy!1%((02EF02EF/1CDF G 	"&2>r   c                     [         R                  R                  U R                  5        [         R                  R                  SS5      n[         R                  " SS/SS/SS//5      n[        XS	S
9  g )Nr7   r/   !<Oq?4u,?3?LI/DͿ@? @HS\@r   r   )r   r   r{   randnr;   r	   r   s      r   
test_randnTestRandomDist.test_randn6  sf    
		tyy!A&((02EF-/BC-/BCE F 	"&2>r   c                     [         R                  R                  U R                  5        [         R                  R                  SSSS9n[         R                  " SS/SS/S	S
//5      n[        X5        g )Nc   r7   r/   r      r7   )   )r   r   r{   r   r;   r   r   s      r   test_randintTestRandomDist.test_randint>  sb    
		tyy!""3"8((RG "I #J( ) 	6+r   c                    [         R                  R                  U R                  5        [        5        nUR	                  [
        5      n[         R                  R                  SSSS9n[        [        U5      S:H  5        S S S 5        [         R                  " SS/SS	/S
S//5      n[        WU5        g ! , (       d  f       N:= f)Nr  r  r  r   r.   r  r7   r  r  r  r  )r   r   r{   r
   recordDeprecationWarningrandom_integersr   lenr;   r   r   supwr   r   s        r   test_random_integers#TestRandomDist.test_random_integersF  s    
		tyy! C

-.AYY..sBV.DFCFaK  ! ((RG "I #J( ) 	67+ ! s   AB44
Cc                    [        5        nUR                  [        5      n[        R                  R                  [        R                  " S5      R                  [        R                  " S5      R                  5      n[        [        U5      S:H  5        S S S 5        [        R                  " S5      R                  n[        WU5        g ! , (       d  f       N;= f)Nlr.   )r
   r  r  r   r   r  r   r   r   r  r   r  s        r   test_random_integers_max_int+TestRandomDist.test_random_integers_max_intQ  s      C

-.AYY..rxx}/@/@/1xx}/@/@BFCFaK 	 ! ((3-##VW% ! s   B	C		
Cc           	         [         R                  " 5          [         R                  " S[        5        [	        [        [
        R                  R                  [
        R                  " S5      R                  5        [	        [        [
        R                  R                  [
        R                  " S5      R                  [
        R                  " S5      R                  5        S S S 5        g ! , (       d  f       g = f)Nerrorr   )
warningscatch_warningssimplefilterr  r   r   r   r  r   r   r)   s    r   test_random_integers_deprecated.TestRandomDist.test_random_integers_deprecated`  s    $$&!!'+=> ,))33((3-++-
 ,))33((3-++RXXc]->->@ '&&s   C	C((
C6c                     [         R                  R                  U R                  5        [         R                  R                  S5      n[         R                  " SS/SS/SS//5      n[	        XSS	9  g )
Nr  r   r   r   r   r   r   r   r   )r   r   r{   r;   r	   r   s      r   test_randomTestRandomDist.test_randomn  sf    
		tyy!!!&)((02EF02EF/1CDF G 	"&2>r   c                     [         R                  R                  U R                  5        [         R                  R                  SS5      n[         R                  " / SQ5      n[        X5        g )Nr8   )r/   r7   r/   r7   r   r   r{   choicer;   r   r   s      r   test_choice_uniform_replace*TestRandomDist.test_choice_uniform_replacev  sB    
		tyy!!!!Q'((<(6+r   c                     [         R                  R                  U R                  5        [         R                  R                  SS/ SQS9n[         R                  " / SQ5      n[        X5        g )Nr8   )皙?r3  皙?r4  rM   )r.   r.   r/   r/   r.  r   s      r   test_choice_nonuniform_replace-TestRandomDist.test_choice_nonuniform_replace|  sH    
		tyy!!!!Q*>!?((<(6+r   c                     [         R                  R                  U R                  5        [         R                  R                  SSSS9n[         R                  " / SQ5      n[        X5        g )Nr8   r7   Freplace)r   r.   r7   r.  r   s      r   test_choice_uniform_noreplace,TestRandomDist.test_choice_uniform_noreplace  sG    
		tyy!!!!Q!6((9%6+r   c                     [         R                  R                  U R                  5        [         R                  R                  SSS/ SQS9n[         R                  " / SQ5      n[        X5        g )Nr8   r7   F)r4  g333333?rJ   r4  r:  rM   )r/   r7   r.   r.  r   s      r    test_choice_nonuniform_noreplace/TestRandomDist.test_choice_nonuniform_noreplace  sN    
		tyy!!!!Q$8 " :((9%6+r   c                     [         R                  R                  U R                  5        [         R                  R                  / SQS5      n[         R                  " / SQ5      n[        X5        g )N)abcdr8   )rD  rE  rD  rE  r.  r   s      r   test_choice_noninteger%TestRandomDist.test_choice_noninteger  sD    
		tyy!!!"6:((/06+r   c           	      H   [         R                  R                  n[        [        USS5        [        [        USS5        [        [        USS/S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 )Nr%   r7   g      @r.   r/   r8   )r.   r/   r7   r8   g      ?r5  )r3  r3  rY   g?gr3  r6   Fr9  r0   )r%   )r%   r.   )r.   r   r   r>  )r   r   r/  r   r(   )r   r   s     r   test_choice_exceptions%TestRandomDist.test_choice_exceptions  s   !!j&"a0j&"a0j&Aq6Aq6*:A>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                 H   SS/n[        [        R                  " [        R                  R	                  SSS95      5        [        [        R                  " [        R                  R	                  SSS95      5        [        [        R                  " [        R                  R	                  SSUS95      5        [        [        R                  " [        R                  R	                  SSUS95      5        [        [        R                  " [        R                  R	                  SS/SS95      5        [        [        R                  R	                  S /SS9S L 5        [        R
                  " SS/5      n[        R                  " S[        S	9nX#S
'   [        [        R                  R	                  USS9UL 5        [        5       n[        [        R                  " [        R                  R	                  SUSS95      (       + 5        [        [        R                  " [        R                  R	                  SUSS95      (       + 5        [        [        R                  " [        R                  R	                  SUSUS95      (       + 5        [        [        R                  " [        R                  R	                  SUSUS95      (       + 5        [        [        R                  " [        R                  R	                  SS/USS95      (       + 5        [        [        R                  R	                  S /USS9R                  S
:H  5        [        R
                  " SS/5      n[        R                  " S[        S	9nX#S
'   [        [        R                  R	                  X4SS9R                  5       UL 5        Sn/ SQn[        [        R                  R	                  SUSS9R                  U5        [        [        R                  R	                  SUSS9R                  U5        [        [        R                  R	                  SUSUS9R                  U5        [        [        R                  R	                  SUSUS9R                  U5        [        [        R                  R	                  [        R                  " S5      USS9R                  U5        [        [        R                  R                  S
S
SS9R                  S5        [        [        R                  R                  S
SS
S9R                  S5        [        [        R                  R                  SSS
S9R                  S5        [        [        R                  R	                  S
S
S9R                  S5        [        [        R                  R	                  / SS9R                  S5        [        [        R                  R	                  SS/SS9R                  S5        [        [         [        R                  R                  / S5        g )Nr4  ?r/   Tr9  Fr>  r.   r4   r   )r/   r7   )r4  r4  r4  r4  r3  rY   r:   )r7   r   r8   r   i)r   r   rB  rC  )r   r   isscalarr   r/  r;   emptyobjecttuplendimitemr   rn   r    r   r   r(   )r   rM   rB  arrr   s        r   test_choice_return_shape'TestRandomDist.test_choice_return_shape  so   #JBII,,Q,=>?BII,,Q,>?@BII,,Q,BCDBII,,Q,CDEBII,,aVT,BCD		  $ 6$>?HHaVhhq'A		  d 3q89 GBKK		 0 0At 0 DEEFBKK		 0 0Au 0 EFFGBKK		 0 0Atq 0 IJJKBKK		 0 0Au 0 JKKLBKK		 0 0!QD 0 IJJK		  $D 9>>!CDHHaVhhq'A		   6;;=BC *RYY%%aD%9??CRYY%%aE%:@@!DRYY%%aDA%>DDaHRYY%%aEQ%?EEqIRYY%%biilAt%DJJAN 	RYY&&q!)&<BBINRYY&&q#A&6<<dCRYY&&r2A&6<<dCRYY%%aa%066=RYY%%bt%4::DARYY%%sCjy%AGG	 j"))"2"2B;r   c                     [         R                  " / SQ5      n/ SQn[        [        [         R                  R
                  XS9  g )N)*   r.   r/   )NNNr5  )r   r;   r   r(   r   r/  )r   rB  rM   s      r   test_choice_nan_probabilities,TestRandomDist.test_choice_nan_probabilities  s+    HHZ j"))"2"2A;r   c                     [         R                  R                  U R                  5        [         R                  R                  S5      nSn[	        X5        g )Nr   s
   Ui+Wf)r   r   r{   bytesr   r   s      r   
test_bytesTestRandomDist.test_bytes  s5    
		tyy!$.V%r   c                    S S S S S S S S S	 S
 S 4 Hl  n[         R                  R                  U R                  5        U" / SQ5      n[         R                  R                  U5        UnU" / SQ5      n[	        X45        Mn     g )Nc                 .    [         R                  " / 5      $ N)r   r;   rf   s    r   <lambda>-TestRandomDist.test_shuffle.<locals>.<lambda>  s    rxx|r   c                     U $ r`  r?   ra  s    r   rb  rc    s    qr   c                 h    [         R                  " U 5      R                  [         R                  5      $ r`  )r   asarrayastyper   ra  s    r   rb  rc    s    rzz!}33BGG<r   c                 h    [         R                  " U 5      R                  [         R                  5      $ r`  )r   rf  rg  float32ra  s    r   rb  rc    s    rzz!}33BJJ?r   c                 h    [         R                  " U 5      R                  [         R                  5      $ r`  )r   rf  rg  	complex64ra  s    r   rb  rc    s    rzz!}33BLLAr   c                 T    [         R                  " U 5      R                  [        5      $ r`  )r   rf  rg  rO  ra  s    r   rb  rc    s    rzz!}33F;r   c                 4    U  Vs/ s H  oU4PM     sn$ s  snf r`  r?   rf   is     r   rb  rc    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   rf  rn  s     r   rb  rc    s!    rzz1*=1aq61*=>*=s   )c                 D    [         R                  " X /5      R                  $ r`  )r   vstackTra  s    r   rb  rc    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 NrB  rC  )r   rf  rI   r   recarrayrn  s     r   rb  rc    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[        4S[         R                  4/5      $ s  snf ru  )r   rf  rO  r   rn  s     r   rb  rc    s8    rzz1*=1aq61*=,/=3/*J L*=s   A)
r.   r/   r7   r8   r9   r:      r   	   r   )
r   r.   ry  r:   r/   r8   r9   r   rx  r7   )r   r   r{   shuffler   )r   convalistr   r   s        r   test_shuffleTestRandomDist.test_shuffle  s     , <?A;2>24LMD  IINN499%78EIIe$F9:Gv/+M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                  R                  U5        [        [        UR                  UR                  )    5      [        UR                  UR                  )    5      5        [         R                  R                  U5        [        [        UR                  UR                  )    5      [        UR                  UR                  )    5      5        M     g )N   )r9   r8   r7   r.   r%   2   )r   mamasked_valuesreshaper   r    copyr   rz  r   sorteddatamask)r   rB  rC  a_origb_origro  s         r   test_shuffle_masked"TestRandomDist.test_shuffle_masked  s   EE

59f = AA ErJEE		" 1A 5r:rAIIa qvvqvvg'V[[L0I)JLIIa qvvqvvg'V[[L0I)JL r   r   c                     SSSSSSSS.n[         R                  " [        S	S
9 nUR                  " U5        S S S 5        SWS   R                  ;   d   eg ! , (       d  f       N$= f)Nr   r.   r/   r7   r8   r9   r:   )r   r.   r/   r7   r8   r9   r:   z!you are shuffling a 'dict' objectmatchr+  )r   warnsUserWarningrz  filename)r   r   valuesrecs       r   test_shuffle_untyped_warning+TestRandomDist.test_shuffle_untyped_warning	  s`     1qQ1;\\+9;>ANN6"; A///; ;s   A
A#use_array_likeTFc                   ^  " S S[         R                  5      nS [         R                  " S/5      [         R                  " S5      [         R                  " S5      [         R                  " S5      /n[         R                  " U[        S9nU Vs1 s H  n[        U5      iM     snmU(       a  UR                  U5      n[        U4S jU 5       5      (       d   eU(       a^  [        U[         R                  R                  5      (       d5  [        R                  " [        SS	9   UR                  " U5        S S S 5        g UR                  " U5        [        U4S
 jU 5       5      (       d   eg s  snf ! , (       d  f       g = f)Nc                       \ rS rSrSrg)>TestRandomDist.test_shuffle_no_object_unpacking.<locals>.MyArri  r?   N)r@   rA   rB   rC   rD   r?   r   r   MyArrr    s    r   r  r7   r   rx  r4   c              3   @   >#    U  H  n[        U5      T;   v   M     g 7fr`  id.0ro  item_idss     r   	<genexpr>BTestRandomDist.test_shuffle_no_object_unpacking.<locals>.<genexpr>#  s     2c2a5H$c   z#Shuffling a one dimensional array.*r  c              3   @   >#    U  H  n[        U5      T;   v   M     g 7fr`  r  r  s     r   r  r  ,  s     6#Qr!u(#r  )r   ndarrayr;   float64rO  r  r   re   
isinstancer   	Generatorr   r  r  rz  )r   r   r  r  itemsrS  ro  r  s          @r    test_shuffle_no_object_unpacking/TestRandomDist.test_shuffle_no_object_unpacking  s   	BJJ 	 "((A3-Abjjm
 hhuF+#()5aBqE5)((5/C 2c22222*VRYY5H5H"I"Ik?As#A A NN36#66666 *A As   E0%E55
Fc                    [         R                  R                  U R                  5        [         R                  " S5      R                  n[         R                  R                  U5        [        [         R                  " U5      / SQ5        [         R                  R                  U R                  5      nUR                  U5        [        [         R                  " U5      / SQ5        [         R                  R                  U R                  5      nUR                  U5        [        [         R                  " U5      / SQ5        g )Nr9   )r   r.   r8   r7   r/   )r   r.   r/   r7   r8   )r8   r.   r   r7   r/   )
r   r   r{   r    r  rz  r   rf  r   default_rng)r   rB  rngs      r   test_shuffle_memoryview&TestRandomDist.test_shuffle_memoryview.  s     			tyy!IIaL
		!RZZ]O4ii##DII.ARZZ]O4ii##DII.ARZZ]O4r   c                     [         R                  " S5      nSUR                  l        [        R
                  " [        SS9   [         R                  R                  U5        S S S 5        g ! , (       d  f       g = f)Nr7   Fz	read-onlyr  )	r   rK   flags	writeabler   r   r(   r   rz  )r   rB  s     r   test_shuffle_not_writeable)TestRandomDist.test_shuffle_not_writeable=  sG    HHQK!]]:[9IIa  :99s    A**
A8c                     [         R                  R                  U R                  5        [         R                  R                  SSSS9n[         R                  " SS/SS/S	S
//5      n[        XSS9  g )Nr4  rL  r  r   gAKč?ghA?g ҇o>gάXf+q?gS1$?g'8zX ?r   r   )r   r   r{   betar;   r	   r   s      r   	test_betaTestRandomDist.test_betaC  sj    
		tyy!BV4(()+BC)+BC)+BCEF 	"&2>r   c                     [         R                  R                  U R                  5        [         R                  R                  SSSS9n[         R                  " SS/SS/S	S
//5      n[        X5        g )NrX   gv/?r  r   %   +   rW  0   .   -   )r   r   r{   rL   r;   r   r   s      r   test_binomialTestRandomDist.test_binomialL  sb    
		tyy!##CF#;((RHHH& ' 	6+r   c                     [         R                  R                  U R                  5        [         R                  R                  SSS9n[         R                  " SS/SS/SS	//5      n[        XS
S9  g )Nr  r  r   g+Q]uO@g+Q@gY7`ZqP@ge(fG@gvtR@gEIȋR@   r   )r   r   r{   	chisquarer;   r	   r   s      r   test_chisquareTestRandomDist.test_chisquareT  sk    
		tyy!$$Rf$5((13GH13GH02FGI J 	"&2>r   c                 @   [         R                  R                  U R                  5        [         R                  " SS/5      n[         R                  R                  R                  USS9n[         R                  " SS/SS//S	S
/SS//SS/SS///5      n[        X#SS9  g )NI<I@EZC@r  r   gi{s?gn,	A?g]^?gpDB?gȧ#y?gr?g1U?gѨUC?g^,%?gB?gډOoX;?gM`!O?r   r   )r   r   r{   r;   mtrand	dirichletr	   )r   alphar   r   s       r   test_dirichletTestRandomDist.test_dirichlet\  s    
		tyy!.0DEF!!++E+?((13FG13FGI13FG13FGI13FG13FGI	J K 	"&2>r   c                    [         R                  " SS/5      n[        [         R                  R	                  U[         R
                  " S5      5      R                  S5        [        [         R                  R	                  U[         R
                  " S5      5      R                  S5        [        [         R                  R	                  U[         R
                  " S5      5      R                  S5        [        [         R                  R	                  USS/5      R                  S5        [        [         R                  R	                  US5      R                  S5        [        [         R                  R	                  U[         R                  " S5      5      R                  S5        [        [        [         R                  R                  U[        S5      5        g )Nr  r  r.   rj   r/   rk   rl   )
r   r;   r   r   r  rm   rn   r   r'   ro   rp   s     r   test_dirichlet_size"TestRandomDist.test_dirichlet_sizeh  s   HH*,@ABRYY((BIIaL9??HRYY((BIIaL9??HRYY((BIIaL9??HRYY((QF3999ERYY((F3999ERYY((BHHV,<=CCYOi!4!4aqBr   c           	         [         R                  " SS/5      n[        [        [         R                  R
                  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 )NgHzG?gؗҜr9   r.   )r   r;   r   r(   r   r  r  )r   r  s     r   test_dirichlet_bad_alpha'TestRandomDist.test_dirichlet_bad_alphat  s    '8,-j"))"2"2"<"<eD 	j&"2"2aVH=j&"2"2aS1#J?j&"2"2qcA3Z1#s4LMj&"2"2BHHq!fq!f=M4NOr   c                     [         R                  R                  U R                  5        [         R                  R                  SSS9n[         R                  " SS/SS/SS	//5      n[        XS
S9  g )Ng8EGr?r  r   gNU?gbI0?gVU\@g:3@gU?g"qo?r   r   )r   r   r{   exponentialr;   r	   r   s      r   test_exponentialTestRandomDist.test_exponential  sk    
		tyy!&&vF&;((02EF02EF02EFH I 	"&2>r   c                     [        [        R                  R                  SS9S5        [	        [
        [        R                  R                  SS9  g Nr   scale       )r   r   r   r  r   r(   r)   s    r   test_exponential_0!TestRandomDist.test_exponential_0  s4    RYY***3Q7j"))"7"7sCr   c                     [         R                  R                  U R                  5        [         R                  R                  SSSS9n[         R                  " SS/SS/S	S
//5      n[        XSS9  g )N   M   r  r   g7?g`j?g6"+?gܳ2>?gc>+Y?g_}S?r   r   )r   r   r{   fr;   r	   r   s      r   test_fTestRandomDist.test_f  sj    
		tyy!R&1((02EF02EF02EFH I 	"&2>r   c                     [         R                  R                  U R                  5        [         R                  R                  SSSS9n[         R                  " SS/SS/S	S
//5      n[        XSS9  g )Nr9   r7   r  r   gԏGM8@gȌ<@g	":@gv#)@gZQ?@gr[@@   r   )r   r   r{   gammar;   r	   r   s      r   
test_gammaTestRandomDist.test_gamma  sj    
		tyy!AF3((13GH13GH13GHJ K 	"&2>r   c                     [        [        R                  R                  SSS9S5        [	        [
        [        R                  R                  SSS9  g )Nr   )rn   r  r  )r   r   r   r  r   r(   r)   s    r   test_gamma_0TestRandomDist.test_gamma_0  s3    RYY__1A_6:j"))//CHr   c                     [         R                  R                  U R                  5        [         R                  R                  SSS9n[         R                  " SS/SS/SS//5      n[        X5        g )	N_c97ݚ?r  r   r   rx     r9   r  )r   r   r{   	geometricr;   r   r   s      r   test_geometricTestRandomDist.test_geometric  s`    
		tyy!$$Zf$=((QFHG% & 	6+r   c                     [         R                  R                  U R                  5        [         R                  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   gؕ?gs0 ?g#0g(xg-KD?gůp`@r   r   )r   r   r{   gumbelr;   r	   r   s      r   test_gumbelTestRandomDist.test_gumbel  sm    
		tyy!!!j&!I((02EF02FG02FGI J 	"&2>r   c                     [        [        R                  R                  SS9S5        [	        [
        [        R                  R                  SS9  g r  )r   r   r   r  r   r(   r)   s    r   test_gumbel_0TestRandomDist.test_gumbel_0  4    RYY%%A%.2j"))"2"2#>r   c                    [         R                  R                  U R                  5        [         R                  R                  SSSSS9n[         R                  " SS/SS/SS//5      n[        X5        [         R                  R                  SSSS	S9n[         R                  " / S
Q5      n[        X5        [         R                  R                  SSSS	S9n[         R                  " / SQ5      n[        X5        [         R                  R                  SSSS	S9n[         R                  " / SQ5      n[        X5        [         R                  R                  SSSS	S9n[         R                  " / SQ5      n[        X5        g )Nr   r9   r  r  r   ry  r   r7   r8   )r7   r7   r7   r7   r   r  )r  r  r  r  )r   r   r   r   )r   r   r{   hypergeometricr;   r   r   s      r   test_hypergeometric"TestRandomDist.test_hypergeometric  s5   
		tyy!))"a&)A((RHHF$ % 	6+ ))!Q):((<(6+))"a!)<((+,6+ ))!Q):((<(6+))!R!)<((<(6+r   c                     [         R                  R                  U R                  5        [         R                  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 bO?g¸?gpJm	@g{K*t	@g:^w-gY~o?r   r   )r   r   r{   laplacer;   r	   r   s      r   test_laplaceTestRandomDist.test_laplace  sm    
		tyy!""z6"J((02EF02EF13FGI J 	"&2>r   c                     [        [        R                  R                  SS9S5        [	        [
        [        R                  R                  SS9  g r  )r   r   r   r  r   r(   r)   s    r   test_laplace_0TestRandomDist.test_laplace_0  s4    RYY&&Q&/3j"))"3"33?r   c                     [         R                  R                  U R                  5        [         R                  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#K-z?gJ?g92@gر[@g#+^˿g-@r   r   )r   r   r{   logisticr;   r	   r   s      r   test_logisticTestRandomDist.test_logistic  sm    
		tyy!##
#F#K((02DE02EF13FGI J 	"&2>r   c                     [         R                  R                  U R                  5        [         R                  R                  SSSS9n[         R                  " SS/SS/S	S
//5      n[        XSS9  g )Nr  r  r  )meansigmar   gɁ0@go,+4FB@g)ʭ6@g5?gnxNnP@g)U@r  r   )r   r   r{   	lognormalr;   r	   r   s      r   test_lognormalTestRandomDist.test_lognormal  sm    
		tyy!$$*Cf$M((13GH13FG13GHJ K 	"&2>r   c                     [        [        R                  R                  SS9S5        [	        [
        [        R                  R                  SS9  g )Nr   )r  r.   r  )r   r   r   r  r   r(   r)   s    r   test_lognormal_0TestRandomDist.test_lognormal_0  s4    RYY((q(115j"))"5"5SAr   c                     [         R                  R                  U R                  5        [         R                  R                  SSS9n[         R                  " SS/SS/SS//5      n[        X5        g )Ngƀ@?r  )rM   r   r/   r:   r  r7   )r   r   r{   	logseriesr;   r   r   s      r   test_logseriesTestRandomDist.test_logseries  s`    
		tyy!$$z$?((QFGF$ % 	6+r   c                    [         R                  R                  U R                  5        [         R                  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   )r8   r7   r9   r8   r/   r/   )r9   r/   r   r/   r/   r.   )r7   r8   r7   r:   r   r8   )r/   r.   r8   r7   r:   r8   )r8   r8   r/   r9   r/   r7   )r8   r7   r8   r/   r7   r8   )r   r   r{   r\   r;   r   r   s      r   test_multinomialTestRandomDist.test_multinomial  su    
		tyy!&&rD6!8&&A((//1//1//1	2 3 	6+r   c                    [         R                  R                  U R                  5        SnSS/SS//nSn[         R                  R                  XU5      n[         R                  " SS/SS//S	S
/SS//SS/SS///5      n[        XESS9  [         R                  R                  X5      n[         R                  " SS/5      n[        XESS9  SS/nSS/SS//n[        [        [         R                  R                  X5        [        [         R                  R                  XSS9  [        [        [         R                  R                  XSS9  [         R                  " SS/SS//[         R                  S9n[        5        n[         R                  R                  X5        UR                  [        5      n[        U5      S:X  d   e S S S 5        g ! , (       d  f       g = f)N)r  r   r.   r   r  g4Vj?gy'@gI1?gSB#@ge<@g 4W(@g6R¿?g9r
v"@gс?g{#@g4xg"f"@r   r   gN}O6?gYMW"@r/   ignore)check_validraiser4  r4   )r   r   r{   multivariate_normalr;   r	   r   RuntimeWarningr   r   r(   ri  r
   r  r  )r   r  covr   r   r   r  r  s           r   test_multivariate_normal'TestRandomDist.test_multivariate_normal   s   
		tyy!1v1v..t$?((/1BC/1BCE/1CD/1BCE/1BC02CDF	G H 	"&2> ..t9((-/?@A!&2> 1v1v1v^RYY%B%BDN 	29988$'/	1 	j"))"?"?")	+ hhC3(+2::> CII))$4

>*Aq6Q;; !  s   ?AG
Gc                     [         R                  R                  U R                  5        [         R                  R                  SSSS9n[         R                  " SS/SS/S	S
//5      n[        X5        g )NrX   g|Pk?r  )nrM   r   iP  iI  i|  ic  i  i  )r   r   r{   r   r;   r   r   s      r   r   %TestRandomDist.test_negative_binomial(  sb    
		tyy!,,sf6,J((S#J #J #J( ) 	6+r   c                 X   [         R                  R                  U R                  5        [         R                  R                  SSSS9n[         R                  " SS/SS/SS	//5      n[        XS
S9  [         R                  R                  SSSS9n[         R                  " SS/SS/SS//5      n[        XS
S9  [         R                  R                  U R                  5        [         R                  R                  SSSS9n[         R                  " SS/SS/SS//5      n[        XS
S9  g )Nr9   r  )dfnoncr   gG7@g! ܴ*@g1}z9?@g+驸0@g26E_r#@gI!1@r  r   rJ   rY   g?gTD?g?T?g+qnl?g~|D?g밬?r   g{01#@gprs'@g~;$@g"dI@g*@g}',@)r   r   r{   noncentral_chisquarer;   r	   r   s      r   test_noncentral_chisquare(TestRandomDist.test_noncentral_chisquare0  s/   
		tyy!//116/J((13GH13GH02FGI J 	"&2>//2BV/L((03FG03FG.1DEG H 	"&2>
		tyy!//116/J((.0BC/1BC/1CDF G 	"&2>r   c                     [         R                  R                  U R                  5        [         R                  R                  SSSSS9n[         R                  " SS/SS	/S
S//5      n[        XSS9  g )Nr9   r/   r.   r  )dfnumdfdenr.  r   g^~?g/+c?g".@g@g7?gE?r  r   )r   r   r{   noncentral_fr;   r	   r   s      r   test_noncentral_f TestRandomDist.test_noncentral_fE  st    
		tyy!''aqq-3 ( 5((02EF02EF02DEG H 	"&2>r   c                     [         R                  R                  U R                  5        [         R                  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@gOG_@g~w@gtw]տgm&5@g$>@r   r   )r   r   r{   normalr;   r	   r   s      r   test_normalTestRandomDist.test_normalN  sm    
		tyy!!!j&!I((02EF.0DE02EFH I 	"&2>r   c                     [        [        R                  R                  SS9S5        [	        [
        [        R                  R                  SS9  g r  )r   r   r   r9  r   r(   r)   s    r   test_normal_0TestRandomDist.test_normal_0V  r  r   c                    [         R                  R                  U R                  5        [         R                  R                  SSS9n[         R                  " SS/SS/SS	//5      n[         R
                  R                  XS
S9  g )Nr  r  rB  r   gWI@gԨy@gy]0Ag1~\Aga@gY
7A   )nulp)r   r   r{   paretor;   testingassert_array_almost_equal_nulpr   s      r   test_paretoTestRandomDist.test_paretoZ  sx    
		tyy!!!JV!<(()+BC)+BC)+BCEF 	

11&1Kr   c                     [         R                  R                  U R                  5        [         R                  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   r{   poissonr;   r   r   s      r   test_poissonTestRandomDist.test_poissoni  s`    
		tyy!""z"?((QFFF$ % 	6+r   c                    [         R                  " S5      R                  nSn[        [        [         R
                  R                  U5        [        [        [         R
                  R                  U/S-  5        [        [        [         R
                  R                  U5        [        [        [         R
                  R                  U/S-  5        g )Nr   r%   r   )r   r   r   r   r(   r   rJ  )r   lambiglamnegs      r   test_poisson_exceptions&TestRandomDist.test_poisson_exceptionsq  s~    #""j"))"3"3V<j"))"3"3fXb[Aj"))"3"3V<j"))"3"3fXb[Ar   c                     [         R                  R                  U R                  5        [         R                  R                  SSS9n[         R                  " SS/SS/SS	//5      n[        XS
S9  g )Nr  r  r@  g;'?gܴw*?g5?gFG?g D]?g$`?r   r   )r   r   r{   powerr;   r	   r   s      r   
test_powerTestRandomDist.test_powery  sh    
		tyy!:F;((02EF02EF02EFH I 	"&2>r   c                     [         R                  R                  U R                  5        [         R                  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"u+@gN$MB*@g7v8B4@g55@ge&@g~ӣZ1@r  r   )r   r   r{   rayleighr;   r	   r   s      r   test_rayleighTestRandomDist.test_rayleigh  sk    
		tyy!##"6#:((02DE13GH13GHJ K 	"&2>r   c                     [        [        R                  R                  SS9S5        [	        [
        [        R                  R                  SS9  g r  )r   r   r   rW  r   r(   r)   s    r   test_rayleigh_0TestRandomDist.test_rayleigh_0  s4    RYY''a'0!4j"))"4"4C@r   c                     [         R                  R                  U R                  5        [         R                  R                  SS9n[         R                  " SS/SS/SS//5      n[        XS	S
9  g )Nr  r   gMoDL?g6([9grF=?gM'	- gVgVA:Qy?r   r   )r   r   r{   standard_cauchyr;   r	   r   s      r   test_standard_cauchy#TestRandomDist.test_standard_cauchy  si    
		tyy!***7((02FG02FG13FGI J 	"&2>r   c                     [         R                  R                  U R                  5        [         R                  R                  SS9n[         R                  " SS/SS/SS//5      n[        XS	S
9  g )Nr  r   g܁?gc!z?g&N"@gNI@gF>?g~ME?r   r   )r   r   r{   standard_exponentialr;   r	   r   s      r   test_standard_exponential(TestRandomDist.test_standard_exponential  si    
		tyy!//V/<((02EF/1DE/1DEG H 	"&2>r   c                     [         R                  R                  U R                  5        [         R                  R                  SSS9n[         R                  " SS/SS/SS	//5      n[        XS
S9  g )Nr7   r  )rn   r   g)@gľ@gd],q@gPk{@g9B#1@gv @r  r   )r   r   r{   standard_gammar;   r	   r   s      r   test_standard_gamma"TestRandomDist.test_standard_gamma  sk    
		tyy!)))?((02EF02EF02CDF G 	"&2>r   c                     [        [        R                  R                  SS9S5        [	        [
        [        R                  R                  SS9  g )Nr   )rn   r  )r   r   r   rf  r   r(   r)   s    r   test_standard_gamma_0$TestRandomDist.test_standard_gamma_0  s4    RYY--A-6:j"))":":#Fr   c                     [         R                  R                  U R                  5        [         R                  R                  SS9n[         R                  " SS/SS/SS//5      n[        XS	S
9  g )Nr  r   r  r  r  r  r  r  r   r   )r   r   r{   r   r;   r	   r   s      r   test_standard_normal#TestRandomDist.test_standard_normal  si    
		tyy!***7((02EF.0CD.0CDF G 	"&2>r   c                     [         R                  R                  U R                  5        [         R                  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\VH?ghU%gH$M?gLgVqdzǿg㖀?r   r   )r   r   r{   
standard_tr;   r	   r   s      r   test_standard_tTestRandomDist.test_standard_t  sk    
		tyy!%%&%9((02FG02FG13FGI J 	"&2>r   c                     [         R                  R                  U R                  5        [         R                  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:}\)@ghرTj(@gǨL30@g6ڜA0@g6sh&@g<,@r  r   )r   r   r{   
triangularr;   r	   r   s      r   test_triangularTestRandomDist.test_triangular  st    
		tyy!%%4e5+1 & 3((13FG13GH13FGI J 	"&2>r   c                     [         R                  R                  U R                  5        [         R                  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  )lowhighr   g>#H@gu@g#@g}d]#@gN@gw)* @r   r   )r   r   r{   uniformr;   r	   r   s      r   test_uniformTestRandomDist.test_uniform  sm    
		tyy!""t%f"E((02EF02EF02EFH I 	"&2>r   c                 R   [         R                  " S5      R                  n[         R                  " S5      R                  n[         R                  R
                  n[        [        U[         R                  * S5        [        [        US[         R                  5        [        [        X1U5        [        [        U[         R                  * /S/5        [        [        US/[         R                  /5        [         R                  R                  [         R                  " US5      US-  S9  g )Nro   r   r.   g ؅W4vC)r|  r}  )
r   finfor   r   r   r~  r   OverflowErrorinf	nextafter)r   fminfmaxfuncs       r   test_uniform_range_bounds(TestRandomDist.test_uniform_range_bounds  s    xx $$xx $$yy  mTBFF7A6mTABFF;mTD9mTRVVG9qc:mTA39
 			bll43$+Fr   c                     " S S[         R                  5      n[         R                  " S5      R                  U5      n[	        [
        [         R                  R                  UU5         " S S[         R                  5      n[         R                  " S5      R                  U5      n[	        [
        [         R                  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`  r'   r)   s    r   	__float__QTestRandomDist.test_scalar_exception_propagation.<locals>.ThrowingFloat.__float__      r   r?   N)r@   rA   rB   rC   r  rD   r?   r   r   ThrowingFloatr    s     r   r  g      ?c                       \ rS rSrS r\rSrg)ITestRandomDist.test_scalar_exception_propagation.<locals>.ThrowingIntegeri  c                     [         er`  r  r)   s    r   __int__QTestRandomDist.test_scalar_exception_propagation.<locals>.ThrowingInteger.__int__  r  r   r?   N)r@   rA   rB   rC   r  	__index__rD   r?   r   r   ThrowingIntegerr    s       Ir   r  r.   )	r   r  r;   r   r   r'   r   r~  r  )r   r  throwing_floatr  throwing_ints        r   !test_scalar_exception_propagation0TestRandomDist.test_scalar_exception_propagation  s    	 BJJ 	  #++M:i!2!2N$	&	 bjj 	  xx{''8i!9!9<ANr   c                     [         R                  R                  U R                  5        [         R                  R                  SSSS9n[         R                  " SS/SS/S	S
//5      n[        XSS9  g )Nr{  p=
ף?r  mukappar   gLZI@g'N"@gkr?gk=m@gډ?g^=\?r   r   )r   r   r{   vonmisesr;   r	   r   s      r   test_vonmisesTestRandomDist.test_vonmises  sm    
		tyy!##t4f#E((02EF02EF02EFH I 	"&2>r   c                    [         R                  R                  U R                  5        [         R                  R                  SSSS9n[         R                  R                  [         R                  " U5      R                  5       5        g )Nr`   gg5_PG>i@B r  )r   r   r{   r  rD  r   isfinitere   )r   rs     r   test_vonmises_small"TestRandomDist.test_vonmises_small  sT    
		tyy!II"F?


2;;q>--/0r   c                     [         R                  R                  U R                  5        [         R                  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Z@g-g@g8
m?gVP"?g`V?gx^&3?r  r   )r   r   r{   waldr;   r	   r   s      r   	test_waldTestRandomDist.test_wald   sj    
		tyy!TFC((02EF02EF02EFH I 	"&2>r   c                     [         R                  R                  U R                  5        [         R                  R                  SSS9n[         R                  " SS/SS/SS	//5      n[        XS
S9  g )Nr{  r  r@  g@6?g]A?g(1ڥR?gU?g2_u?g^}-Q?r   r   )r   r   r{   weibullr;   r	   r   s      r   test_weibullTestRandomDist.test_weibull  sk    
		tyy!""T"7((02EF02EF02EFH I 	"&2>r   c                    [         R                  R                  U R                  5        [        [         R                  R	                  SSS9[         R
                  " S5      5        [        [        [         R                  R                  SS9  g )Nr   r  r@  r  )rB  )r   r   r{   r   r  rK   r   r(   r)   s    r   test_weibull_0TestRandomDist.test_weibull_0  sR    
		tyy!RYY&&&4bhhrlCj"))"3"3s;r   c                     [         R                  R                  U R                  5        [         R                  R                  SSS9n[         R                  " SS/SS/SS//5      n[        X5        g )	Nr{  r  r@  B      r.   r7   r  )r   r   r{   zipfr;   r   r   s      r   	test_zipfTestRandomDist.test_zipf  s]    
		tyy!$V4((RHFG% & 	6+r   r   N)Ur@   rA   rB   rC   r   r   r  r  r  r!  r(  r+  r0  r6  r;  r?  rF  rI  rT  rX  r\  r}  r  r   markparametrizer   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   r0  r6  r:  r=  rF  rK  rP  rT  rX  r[  r_  rc  rg  rj  rm  rq  rx  r  r  r  r  r  r  r  r  r  rD   r?   r   r   r   r   '  s1   ??,	,&@?,,,,,2&,<\<
&04L [[XYY		--/1F1F1HIK0K0 [[X	BII))+RYY-B-B-DEG[[-e}=7 >G705!?,?
?
C	P?D??I,??,4?@??B,	,&P,?*???L,B??A???G????G O0?1??<
,r   r   c                       \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS r S r!S  r"S! r#S"r$g#)$TestBroadcasti  c                     SU l         g )Ni[r   r)   s    r   r   TestBroadcast.setup_method!  s	    	r   c                 V    [         R                  R                  U R                  5        g r`  )r   r   r{   r)   s    r   setSeedTestBroadcast.setSeed$  s    
		tyy!r   c                 
   S/nS/n[         R                  R                  n[         R                  " / SQ5      nU R	                  5         U" US-  U5      n[        XTSS9  U R	                  5         U" XS-  5      n[        XTSS9  g )Nr   r.   gl?g_x?g=*BN?r7   r  r   )r   r   r~  r;   r  r	   )r   r|  r}  r~  r   r   s         r   r  TestBroadcast.test_uniform*  sx    cs))##(( 1 2 	q$'!&2>Qh'!&2>r   c                 `   S/nS/nS/n[         R                  R                  n[         R                  " / SQ5      nU R	                  5         U" US-  U5      n[        XeSS9  [        [        XAS-  U5        U R	                  5         U" XS-  5      n[        XeSS9  [        [        XAUS-  5        g )Nr   r.   r%   )g-r@gYl@g-`w?r7   r  r   )r   r   r9  r;   r  r	   r   r(   )r   r  r  	bad_scaler9  r   r   s          r   r:  TestBroadcast.test_normal:  s    cD	!!(( 0 1 	a'!&2>j&'9=QY'!&2>j&y1}=r   c                    S/nS/nS/nS/n[         R                  R                  n[         R                  " / SQ5      nU R	                  5         U" US-  U5      n[        XvSS9  [        [        XSS-  U5        [        [        XQS-  U5        U R	                  5         U" XS-  5      n[        XvSS9  [        [        XSUS-  5        [        [        XQUS-  5        g )	Nr.   r/   r%   r0   )gnQVf?gVKB?gv`k?r7   r  r   )r   r   r  r;   r  r	   r   r(   )r   rB  rC  bad_abad_br  r   r   s           r   r  TestBroadcast.test_betaM  s    CCyy~~(( 1 2 	a!eQ!&2>j$	15j$Au5aQ!&2>j$q1u5j$5195r   c                     S/nS/n[         R                  R                  n[         R                  " / SQ5      nU R	                  5         U" US-  5      n[        XTSS9  [        [        X2S-  5        g Nr.   r%   )g.UgZ?gi Prq?gEK?r7   r  r   )r   r   r  r;   r  r	   r   r(   )r   r  r  r  r   r   s         r   r  TestBroadcast.test_exponentialc  sc    D	ii++(( 1 2 	UQY'!&2>j+1}=r   c                     S/nS/n[         R                  R                  n[         R                  " / SQ5      nU R	                  5         U" US-  5      n[        XTSS9  [        [        X2S-  5        g r  )r   r   rf  r;   r  r	   r   r(   )r   rn   	bad_shape	std_gammar   r   s         r   rg  !TestBroadcast.test_standard_gammap  sc    D	II,,	(( 1 2 	519%!&2>j)];r   c                    S/nS/nS/nS/n[         R                  R                  n[         R                  " / SQ5      nU R	                  5         U" US-  U5      n[        XvSS9  [        [        XSS-  U5        [        [        XQS-  U5        U R	                  5         U" XS-  5      n[        XvSS9  [        [        XSUS-  5        [        [        XQUS-  5        g )	Nr.   r/   r%   r0   )g.UgZ?gi Prq?gEK?r7   r  r   )r   r   r  r;   r  r	   r   r(   )r   rn   r  r  r  r  r   r   s           r   r  TestBroadcast.test_gamma}  s    D	D			(( 0 1 	uqy%(!&2>j%Q>j%I>uai(!&2>j%EAI>j%	A>r   c                    S/nS/nS/nS/n[         R                  R                  n[         R                  " / SQ5      nU R	                  5         U" US-  U5      n[        XvSS9  [        [        XSS-  U5        [        [        XQS-  U5        U R	                  5         U" XS-  5      n[        XvSS9  [        [        XSUS-  5        [        [        XQUS-  5        g )	Nr.   r/   r%   r0   )gbyʜ?go?gT7@r7   r  r   )r   r   r  r;   r  r	   r   r(   )r   r3  r4  	bad_dfnum	bad_dfdenr  r   r   s           r   r  TestBroadcast.test_f  s    D	D	IIKK(( 0 1 	519e$!&2>j!]E:j!QY	:5!)$!&2>j!	:j!IM:r   c                    S/nS/nS/nS/nS/nS/n[         R                  R                  n[         R                  " / SQ5      nU R	                  5         U" US-  X#5      n	[        XSS	9  [        [        XtS-  X#5        [        [        XqS-  XS5        [        [        XqS-  X&5        U R	                  5         U" XS-  U5      n	[        XSS	9  [        [        XtUS-  U5        [        [        XqUS-  U5        [        [        XqUS-  U5        U R	                  5         U" XUS-  5      n	[        XSS	9  [        [        XtX#S-  5        [        [        XqXSS-  5        [        [        XqX&S-  5        g )
Nr/   r7   r8   r   r%   r0   )gr^G"@g/*@gц!@r  r   )r   r   r5  r;   r  r	   r   r(   )
r   r3  r4  r.  r  r  bad_noncnonc_fr   r   s
             r   r6  TestBroadcast.test_noncentral_f  sO   sC	D	4''(( 0 1 		5/!&2>j&a-Ej&!)YEj&!)UEqy$/!&2>j&UQYEj&QEj&HEdQh/!&2>j&U1HEj&1HEj&1Er   c                     U R                  5         [        R                  " SS/5      n[        R                  R	                  SSSSS9n[        X!SS9  g )Ngaz@gn4M;%?rL  r/   r   r  r   )r  r   r;   r   r5  r	   )r   r   r   s      r   test_noncentral_f_small_df(TestBroadcast.test_noncentral_f_small_df  sG    ((-/@AB''S!!'<!&2>r   c                     S/nS/n[         R                  R                  n[         R                  " / SQ5      nU R	                  5         U" US-  5      n[        XTSS9  [        [        X2S-  5        g )Nr.   r%   )g~}N??g$F?g'rS?r7   r  r   )r   r   r  r;   r  r	   r   r(   )r   r-  bad_dfr  r   r   s         r   r  TestBroadcast.test_chisquare  sc    SII''	(( 0 1 	26"!&2>j)aZ8r   c                    S/nS/nS/nS/n[         R                  R                  n[         R                  " / SQ5      nU R	                  5         U" US-  U5      n[        XvSS9  [        [        XSS-  U5        [        [        XQS-  U5        U R	                  5         U" XS-  5      n[        XvSS9  [        [        XSUS-  5        [        [        XQUS-  5        g )	Nr.   r/   r%   r0   )g w "@g2WR@gRY@r7   r  r   )r   r   r/  r;   r  r	   r   r(   )r   r-  r.  r  r  nonc_chir   r   s           r   r0  'TestBroadcast.test_noncentral_chisquare  s    Ss49911(( 0 1 	"q&$'!&2>j(QJ=j(FH="Qh'!&2>j(D1H=j(1=r   c                     S/nS/n[         R                  R                  n[         R                  " / SQ5      nU R	                  5         U" US-  5      n[        XTSS9  [        [        X2S-  5        g )Nr.   r%   )gT@g~Fl@gƚtp?r7   r  r   )r   r   rp  r;   r  r	   r   r(   )r   r-  r  tr   r   s         r   rq  TestBroadcast.test_standard_t  sb    SII  (( 0 1 	26!&2>j!aZ0r   c                 `   S/nS/nS/n[         R                  R                  n[         R                  " / SQ5      nU R	                  5         U" US-  U5      n[        XeSS9  [        [        XAS-  U5        U R	                  5         U" XS-  5      n[        XeSS9  [        [        XAUS-  5        g )Nr/   r.   r%   )gW!@gOBg}?r7   r  r   )r   r   r  r;   r  r	   r   r(   )r   r  r  	bad_kappar  r   r   s          r   r  TestBroadcast.test_vonmises   s    SD	99%%(( 1 2 	"q&%(!&2>j(FI>"ai(!&2>j(	A>r   c                     S/nS/n[         R                  R                  n[         R                  " / SQ5      nU R	                  5         U" US-  5      n[        XTSS9  [        [        X2S-  5        g )Nr.   r%   )g&8??geFX?gՋː?r7   r  r   )r   r   rC  r;   r  r	   r   r(   )r   rB  r  rC  r   r   s         r   rF  TestBroadcast.test_pareto  sb    C!!(( 0 1 	A!&2>j&!)4r   c                     S/nS/n[         R                  R                  n[         R                  " / SQ5      nU R	                  5         U" US-  5      n[        XTSS9  [        [        X2S-  5        g r  )r   r   r  r;   r  r	   r   r(   )r   rB  r  r  r   r   s         r   r  TestBroadcast.test_weibull   sb    C))##(( 1 2 	Q!&2>j'195r   c                     S/nS/n[         R                  R                  n[         R                  " / SQ5      nU R	                  5         U" US-  5      n[        XTSS9  [        [        X2S-  5        g )Nr.   r%   r  r7   r  r   )r   r   rS  r;   r  r	   r   r(   )r   rB  r  rS  r   r   s         r   rT  TestBroadcast.test_power-  s`    C		(( 1 2 	q1u!&2>j%3r   c                 `   S/nS/nS/n[         R                  R                  n[         R                  " / SQ5      nU R	                  5         U" US-  U5      n[        XeSS9  [        [        XAS-  U5        U R	                  5         U" XS-  5      n[        XeSS9  [        [        XAUS-  5        g )Nr   r.   r%   )g:BKc?g3k?g~q?r7   r  r   )r   r   r  r;   r  r	   r   r(   )r   r  r  r  r  r   r   s          r   r  TestBroadcast.test_laplace:  s    cD	))##(( 2 3 	q%(!&2>j'7I>ai(!&2>j'	A>r   c                 `   S/nS/nS/n[         R                  R                  n[         R                  " / SQ5      nU R	                  5         U" US-  U5      n[        XeSS9  [        [        XAS-  U5        U R	                  5         U" XS-  5      n[        XeSS9  [        [        XAUS-  5        g )Nr   r.   r%   )g'Zy?gdSO=?g3L1?r7   r  r   )r   r   r  r;   r  r	   r   r(   )r   r  r  r  r  r   r   s          r   r  TestBroadcast.test_gumbelM  s    cD	!!(( 1 2 	a'!&2>j&'9=QY'!&2>j&y1}=r   c                 `   S/nS/nS/n[         R                  R                  n[         R                  " / SQ5      nU R	                  5         U" US-  U5      n[        XeSS9  [        [        XAS-  U5        U R	                  5         U" XS-  5      n[        XeSS9  [        [        XAUS-  5        g )Nr   r.   r%   )gy?gJR?g
~&?r7   r  r   )r   r   r  r;   r  r	   r   r(   )r   r  r  r  r  r   r   s          r   r  TestBroadcast.test_logistic`  s    cD	99%%(( 2 3 	#'5)!&2>j(!GY?#qy)!&2>j(Q?r   c                 `   S/nS/nS/n[         R                  R                  n[         R                  " / SQ5      nU R	                  5         U" US-  U5      n[        XeSS9  [        [        XAS-  U5        U R	                  5         U" XS-  5      n[        XeSS9  [        [        XAUS-  5        g )Nr   r.   r%   )gH"@gܮ @gvv	:@r7   r  r   )r   r   r  r;   r  r	   r   r(   )r   r  r  	bad_sigmar  r   r   s          r   r  TestBroadcast.test_lognormals  s    sD	II''	(( 0 1 	4!8U+!&2>j)AXyA4+!&2>j)9q=Ar   c                     S/nS/n[         R                  R                  n[         R                  " / SQ5      nU R	                  5         U" US-  5      n[        XTSS9  [        [        X2S-  5        g )Nr.   r%   )gݱlo?g/ӂ?gz~R?r7   r  r   )r   r   rW  r;   r  r	   r   r(   )r   r  r  rW  r   r   s         r   rX  TestBroadcast.test_rayleigh  sc    D	99%%(( 0 1 	%!)$!&2>j(M:r   c                    S/nS/nS/nS/n[         R                  R                  n[         R                  " / SQ5      nU R	                  5         U" US-  U5      n[        XvSS9  [        [        XSS-  U5        [        [        XQS-  U5        U R	                  5         U" XS-  5      n[        XvSS9  [        [        XSUS-  5        [        [        XQUS-  5        [        [        US	S5        [        [        USS	5        g )
NrJ   r.   r   r0   )g@m e?g`I߿?g|2?r7   r  r   r`   )r   r   r  r;   r  r	   r   r(   )r   r  r  bad_meanr  r  r   r   s           r   r  TestBroadcast.test_wald  s    u3D	yy~~(( 0 1 	dQh&!&2>j$1e<j$q)<dAI&!&2>j$%!)<j$i!m<j$Q/j$S1r   c                    S/nS/nS/nS/nS/nUS-  u  pg[         R                  R                  n[         R                  " / SQ5      n	U R	                  5         U" US-  X25      n
[        XSS9  [        [        XS-  X25        [        [        XS-  XR5        [        [        XS-  UU5        U R	                  5         U" XS-  U5      n
[        XSS9  [        [        XUS-  U5        [        [        XUS-  U5        [        [        XUS-  U5        U R	                  5         U" XUS-  5      n
[        XSS9  [        [        XX2S-  5        [        [        XXRS-  5        [        [        XUUS-  5        g )Nr.   r7   r/   r8   )g,P;bD @g%G @g,~S @r  r   )r   r   rw  r;   r  r	   r   r(   )r   rt  rv  ru  bad_left_onebad_mode_onebad_left_twobad_mode_tworw  r   r   s              r   rx  TestBroadcast.test_triangular  si   ssss%*QY"YY))
(( 0 1 	D1Hd2!&2>j*Q.>Lj*QhLj*Q.>	 	D(E2!&2>j*D1HeLj*L14DeLj*L1<L	 	D	2!&2>j*D!)Lj*L!)Lj*Lai	!r   c                    S/nS/nS/nS/nS/n[         R                  R                  n[         R                  " / SQ5      nU R	                  5         U" US-  U5      n[        X5        [        [        XcS-  U5        [        [        XaS-  U5        [        [        XaS-  U5        U R	                  5         U" XS-  5      n[        X5        [        [        XcUS-  5        [        [        XaUS-  5        [        [        XaUS-  5        g )Nr.   rJ   r%         ?r.   r.   r.   r7   )r   r   rL   r;   r  r   r   r(   )	r   r*  rM   bad_n	bad_p_one	bad_p_twobinomr   r   s	            r   r  TestBroadcast.test_binomial  s    CED	E			""((9%q1ua6+j%A6j%Q	:j%Q	:qa%6+j%A6j%IM:j%IM:r   c                    S/nS/nS/nS/nS/n[         R                  R                  n[         R                  " / SQ5      nU R	                  5         U" US-  U5      n[        X5        [        [        XcS-  U5        [        [        XaS-  U5        [        [        XaS-  U5        U R	                  5         U" XS-  5      n[        X5        [        [        XcUS-  5        [        [        XaUS-  5        [        [        XaUS-  5        g )Nr.   rJ   r%   r  )r.   r   r.   r7   )r   r   r   r;   r  r   r   r(   )	r   r*  rM   r  r  r  	neg_binomr   r   s	            r   r   $TestBroadcast.test_negative_binomial  s    CED	E	II//	((9%1q5!$6+j)QY:j)UI>j)UI>1!e$6+j)AE:j)	A>j)	A>r   c                 h   [         R                  R                  5       R                  nS/nS/nUS-  /n[         R                  R                  n[         R
                  " / SQ5      nU R                  5         U" US-  5      n[        Xv5        [        [        XSS-  5        [        [        XTS-  5        g )Nr.   r%   r/   )r.   r.   r   r7   )
r   r   r   _poisson_lam_maxrJ  r;   r  r   r   r(   )r   max_lamrI  bad_lam_onebad_lam_tworJ  r   r   s           r   rK  TestBroadcast.test_poisson  s    ))'')::cd{m))##((9%q!6+j'?;j'?;r   c                    S/nS/n[         R                  R                  n[         R                  " / SQ5      nU R	                  5         U" US-  5      n[        XT5        [        [        X2S-  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.   r7   r!  )invalid)
r   r   r  r;   r  r   r   r(   errstaterQ   )r   rB  r  r  r   r   s         r   r  TestBroadcast.test_zipf  s    Cyy~~((9%a!e6+j$	2[[**dBFF3*dQ266N; +**s   AC
Cc                    S/nS/nS/n[         R                  R                  n[         R                  " / SQ5      nU R	                  5         U" US-  5      n[        Xe5        [        [        XBS-  5        [        [        XCS-  5        g )NrJ   r%   r  rk   r7   )r   r   r  r;   r  r   r   r(   )r   rM   r  r  geomr   r   s          r   r  TestBroadcast.test_geometric  sn    ED	E	yy""((9%a!e6+j$A6j$A6r   c                 d   S/nS/nS/nS/nS/nS/nS/n[         R                  R                  n[         R                  " / SQ5      n	U R	                  5         U" US-  X#5      n
[        X5        [        [        XS-  X#5        [        [        XS-  XS5        [        [        XS-  X&5        [        [        XS-  X'5        U R	                  5         U" XS-  U5      n
[        X5        [        [        XUS-  U5        [        [        XUS-  U5        [        [        XUS-  U5        [        [        XUS-  U5        U R	                  5         U" XUS-  5      n
[        X5        [        [        XX#S-  5        [        [        XXSS-  5        [        [        XX&S-  5        [        [        XX'S-  5        g )	Nr.   r/   r%   r0   r   r8   r  r7   )r   r   r  r;   r  r   r   r(   )r   ngoodnbadnsample	bad_ngoodbad_nbadbad_nsample_onebad_nsample_two	hypergeomr   r   s              r   r  !TestBroadcast.test_hypergeometric'  s}   s#D	4##II,,	((9%519d46+j)]DJj)QYJj)QYNj)QYN5(G46+j)q'Jj)HqL'Jj)D1HoNj)D1HoN5!46+j)kJj)HkJj)DA:MNj)DA:MNr   c                    S/nS/nS/n[         R                  R                  n[         R                  " / SQ5      nU R	                  5         U" US-  5      n[        Xe5        [        [        XBS-  5        [        [        XCS-  5        g )NrJ   r/   r%   r  r7   )r   r   r  r;   r  r   r   r(   )r   rM   r  r  r  r   r   s          r   r  TestBroadcast.test_logseriesJ  so    EC	D	II''	((9%1q5!6+j)];j)];r   r   N)%r@   rA   rB   rC   r   r  r  r:  r  r  rg  r  r  r6  r  r  r0  rq  r  rF  r  rT  r  r  r  r  rX  r  rx  r  r   rK  r  r  r  r  rD   r?   r   r   r  r    s    "? >&6,><?,;,FB?9>,1?&564?&>&@&B&;20"!H;.?.<<7!OF<r   r  zcan't start thread)reasonc                   2    \ rS rSrS rS rS rS rS rSr	g)	
TestThreadiX  c                 $    [        S5      U l        g )Nr8   )r   seedsr)   s    r   r   TestThread.setup_method[  s    1X
r   c           
      6   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[        R                  R                  U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" [        R                  R                  U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argsr8   win32)	threadingr5  r   rN  r  r2  zipr   r   startjoinintpr5   itemsizer   platformr	   r   )
r   functionszr5  out1out2r   or  rf   s
             r   check_functionTestThread.check_function^  s)   $xxTZZ*R/0xxTZZ*R/0 TZZ.0. 8299+@+@+CQ*GH. 	
 0AqA1a1 

D)DARYY**1-q1 * 779??##q(S\\W-D%d1t*0s   :2F3FFc                 *    S nU R                  USS9  g )Nc                 (    U R                  SS9US'   g )N'  r   .)r9  r~   outs     r   
gen_random*TestThread.test_normal.<locals>.gen_randomu  s    |||/CHr   )rI  rA  rE  r   rL  s     r   r:  TestThread.test_normalt  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rX   r   r  .)r  r   onesrJ  s     r   rL  'TestThread.test_exp.<locals>.gen_randomz  s"    ((rww{/C(DCHr   rT  rN  rO  rP  s     r   test_expTestThread.test_expy  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:   rI  r   .)r\   rJ  s     r   rL  /TestThread.test_multinomial.<locals>.gen_random  s#    ((dVAXE(BCHr   )rI  r:   rN  rO  rP  s     r   r  TestThread.test_multinomial~  s    	CJ:6r   )r2  N)
r@   rA   rB   rC   r   rE  r:  rW  r  rD   r?   r   r   r0  r0  X  s    +,5
8
7r   r0  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/   r7   r8   )r.   )r   r;   argOneargTwoargThreetgtShaper)   s    r   r   $TestSingleEltArrayInput.setup_method  s<    hhsmhhsm!r   c                    [         R                  R                  [         R                  R                  [         R                  R                  [         R                  R
                  [         R                  R                  [         R                  R                  [         R                  R                  [         R                  R                  [         R                  R                  [         R                  R                  [         R                  R                  [         R                  R                  4n[         R                  R                  [         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   )r   r   r  rf  r  rp  rC  r  rS  rW  rJ  r  r  r  r;   r`  r   rn   rc  )r   funcs	probfuncsr  rK  s        r   test_one_arg_funcs*TestSingleEltArrayInput.test_one_arg_funcs  s   &&		(@(@$$bii&:&:!!299#4#4"))"4"4""BIINN$$bii&9&9; YY(("))*=*=>	D 288SE?+ 4;;'DMM2 r   c                    [         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                  4n[         R                  R                  [         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 )NrJ   r   )r   r   r~  r9  r  r  r  r/  r  r  r  r  r  r  rL   r   r;   ra  r`  r   rn   rc  )r   rf  rg  r  ra  rK  s         r   test_two_arg_funcs*TestSingleEltArrayInput.test_two_arg_funcs  si   ""BII$4$4bii<<##RYY%6%6!!299#5#5$$biinn##RYY%@%@B YY'')D)DE	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                  /	n[        R                  R                  n[        R                  " S/5      n[        R                  " S/5      nU H~  nU" XCUS9n[        UR                  U R                  5        U" US   X5S9n[        UR                  U R                  5        U" XCS   US9n[        UR                  U R                  5        M     g )Nr.   r   r4   )r   r   r   r   r   r   r   rm   r<   r   r   r   r;   r   rn   rc  )r   r   r  r}  r|  r   rK  s          r   r  $TestSingleEltArrayInput.test_randint  s    rww"((BII299bhh		;yy  xx}hhsmBs+CDMM2s1vt.CDMM2sG2.CDMM2 r   c                 l   [         R                  R                  [         R                  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   )r   r   r5  rw  r  r`  ra  rb  r   rn   rc  )r   rf  r  rK  s       r   test_three_arg_funcs,TestSingleEltArrayInput.test_three_arg_funcs  s    '')=)=))+ Dt{{DKK?CDMM2t{{1~t{{DMMBCDMM2t{{DKKNDMMBCDMM2 r   )r`  rb  ra  rc  N)
r@   rA   rB   rC   r   rh  rk  r  rp  rD   r?   r   r   r^  r^    s    3&363"3r   r^  )r%  r   numpyr   numpy.testingr   r   r   r   r   r   r	   r
   r   r   r   r   rF   rU   rw   r   r   r  r  skipifr0  r^  r?   r   r   <module>ru     s      
 
 

  
$F $FN> >Y YD2$ 2$jH+ H+Vt, t,nw< w<t G$89(7 (7 :(7XR3 R3r   