
    >>in                    B   S SK r S SKrS SKrS SKrS SKJr  S SKJrJrJ	r	J
r
JrJrJr   " 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*                  R-                  \SS9 " S S5      5       r " S S5      rg)    N)random)IS_WASMassert_assert_array_almost_equalassert_array_equalassert_equalassert_no_warningsassert_raisesc                   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     ]/var/www/html/land-tabula/venv/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_shape1   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(   r/   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)TestBinomial:   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-   intr2   )r         ?r,   r   )r   zerosr   r   binomialr   )r   rI   ps      r   test_n_zeroTestBinomial.test_n_zero;   sI     %(AFOOAq)Q./vu8%@ r   c                 `    [        [        [        R                  S[        R
                  5        g )Nr,   )r
   r&   r   rJ   r   nanr'   s    r   test_p_is_nanTestBinomial.test_p_is_nanD   s    j&//1bff=r   r=   N)r>   r?   r@   rA   rL   rP   rB   r=   r   r   rD   rD   :   s    A>r   rD   c                   2    \ rS rSrS rS rS rS rS rSr	g)	TestMultinomialI   c                 6    [         R                  " SSS/5        g )Nd   皙?皙?r   multinomialr'   s    r   
test_basicTestMultinomial.test_basicJ   s    3c
+r   c                 6    [         R                  " S/ SQ5        g )NrV   )rW   rX           r^   r^   rY   r'   s    r   test_zero_probability%TestMultinomial.test_zero_probabilityM   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#   r7   )r   r   r   r   all)r   xs     r   test_int_negative_interval*TestMultinomial.test_int_negative_intervalP   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 )NrH   r,   r,   r-   r-   r-   r-   r-   r-   r-   )
r   r   r   rZ   uint32shaper9   r
   r%   floatr   rK   s     r   	test_sizeTestMultinomial.test_sizeV   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   rZ   r9   r'   s    r   test_multidimensional_pvals+TestMultinomial.test_multidimensional_pvalsd   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>   r?   r@   rA   r[   r_   re   ro   rr   rB   r=   r   r   rS   rS   I   s    ,;  Yr   rS   c                   >    \ rS rSrS rS rS rS rS rS r	S r
S	rg
)TestSetStatek   c                 X    Sn[         R                  " U5      nUR                  5       nX#4$ )NI)r   r   	get_state)r   seedprngstates       r   _create_rngTestSetState._create_rngl   s+    !!$' {r   c                     U R                  5       u  pUR                  S5      nUR                  U5        UR                  S5      n[        [        R
                  " X4:H  5      5        g )N   )r}   tomaxint	set_stater   r   rc   r   r{   r|   oldnews        r   r[   TestSetState.test_basicr   sM    &&(mmBummBsz"#r   c                     U R                  5       u  pUR                  SS9nUR                  U5        UR                  SS9n[        [        R
                  " X4:H  5      5        g Nr5   sizer}   standard_normalr   r   r   rc   r   s        r   test_gaussian_reset TestSetState.test_gaussian_resety   sW    &&("""*u"""*sz"#r   c                    U R                  5       u  pUR                  5         UR                  5       nUR                  SS9nUR                  U5        UR                  SS9n[	        [
        R                  " X4:H  5      5        g r   )r}   r   ry   r   r   r   rc   r   s        r    test_gaussian_reset_in_media_res-TestSetState.test_gaussian_reset_in_media_res   sq     &&( """*u"""*sz"#r   c                 T   U R                  5       u  pUS S nUR                  SS9nUR                  U5        UR                  SS9nUR                  U5        UR                  SS9n[        [        R
                  " XE:H  5      5        [        [        R
                  " XF:H  5      5        g )Nr.   r   r   r   )r   r{   r|   	old_statex1x2x3s          r   test_backwards_compatibility)TestSetState.test_backwards_compatibility   s     &&(#2J	!!r!*y!!!r!*u!!r!*rx !rx !r   c                 L    U R                  5       u  pUR                  SS5        g NrH   )r}   negative_binomialr   r{   _s      r   test_negative_binomial#TestSetState.test_negative_binomial   s$     ""$sC(r   c                     U R                  5       u  p[        R                  " [        5         UR	                  S5        S S S 5        g ! , (       d  f       g = f)Nr=   )r}   pytestraises
IndexErrorr   r   s      r   test_set_invalid_state#TestSetState.test_set_invalid_state   s6    ""$]]:&NN2 '&&s   A
Ar=   N)r>   r?   r@   rA   r}   r[   r   r   r   r   r   rB   r=   r   r   ru   ru   k   s%    $$	$")r   ru   c            	          \ rS rS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                 j    [         R                  " 5       n[        [        UR                  S[
        S9  g Nr,   r2   )r   r   r
   r%   r   rm   )r   rngs     r   test_unsupported_type!TestRandint.test_unsupported_type   s"      "iau=r   c           	         [         R                  " 5       n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-
  XBS9  [        [        UR                  X4S-   US9  [        [        UR                  XCUS9  [        [        UR                  SSUS9  M     g )Nr   r-   r,   r2   )r   r   ityper   booliinfominmaxr
   r&   r   )r   r   dtlbndubnds        r   test_bounds_checking TestRandint.test_bounds_checking   s      "**Bbgg1288B<+;+;Dbgg1288B<+;+;a+?D*ckk4!8TL*ckk4L*ckk4RH*ckk1arB r   c           
         [         R                  " 5       n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                  XUS-   SUS9U5        Un[        UR                  XUS-   SUS9U5        X4-   S-  n[        UR                  XUS-   SUS9U5        M     g )Nr   r-   r,   r   r   r3   )
r   r   r   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S'BGMCS'BGM;1$CS'BGM r   c                    [         R                  " 5       n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                  X4US9  M     g ! [         a  n[        S[        U5      -  5      eS nAff = f)Nr   r-   r,   r2   zMNo error should have been raised, but one was with the following message:

%s)r   r   r   r   r   r   r   r   r   	ExceptionAssertionErrorstr)r   r   r   r   r   es         r   test_full_rangeTestRandint.test_full_range   s      "**Bbgg1288B<+;+;Dbgg1288B<+;+;a+?D@Db1   @$ &68;A&? @ @@s   B((
C2C		Cc           	         [         R                  " 5       n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,   )r6      r   r-   i   r   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"{{1db{A
T)*
a( # ! {{1ae277{;
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                  " S	5      n[        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                  " S	5      n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uint16rk   uint64uint8r,   i  littler8   r   r   r-   )hashlibr   r   r   sys	byteorderr   byteswapsha256viewr   r   	hexdigestr   r3   namer   )r   r   r   r   r   valress          r   test_repeatabilityTestRandint.test_repeatability   sF    \[[[[[[[[] **QR.B$$T*C }}(kk!QTk<kk!QTk<EEG.."''!23==?CC))*c12 !   &kk!QTk6;;BGGD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                    [         R                  " 5       n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                  X4U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                  X4US9n[        [        US5      (       + 5        [        [        U5      U5        M     g )Nr   r-   r,   r2   longr3   )r   r   r   r   r   r   r   r   r   r   r3   rG   r   hasattrtype)r   r   r   r   r   samples         r   test_respect_dtype_singleton(TestRandint.test_respect_dtype_singleton  s
     "**Bbgg1288B<+;+;Dbgg1288B<+;+;a+?D[[2[6Frxx|4  +Bd
1(8(<(<Dd
1(8(<(<q(@D [[2[6F001fr* r   r=   N)r>   r?   r@   rA   r   r   r   r   r   r   r   rk   r:   r   r   r   r   r   r   r   r   r   r   rB   r=   r   r   r   r      so     WWbggrxx299XXryy"((BII7E>CN@!1B".+r   r   c                   z   \ rS rSrSrS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rS rS rS rS rS r\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TestRandomDisti4  rx   c                     [         R                  " U R                  5      nUR                  SS5      n[        R
                  " SS/SS/SS//5      n[        X#S	S
9  g )Nr5   r-   _\*?琛?<p?,o?H?Z?   decimal)r   r   rz   randr   r9   r   r   r   r   desireds       r   	test_randTestRandomDist.test_rand9  sa      +!Q((02EF02EF/1CDF G 	"&2>r   c                     [         R                  " U R                  5      nUR                  SS5      n[        R
                  " SS/SS/SS//5      n[        X#S	S
9  g )Nr5   r-   !<Oq?4u,?3?LI/DͿ@? @HS\@r   r   )r   r   rz   randnr   r9   r   r   s       r   
test_randnTestRandomDist.test_randnA  sa      +1a((02EF-/BC-/BCE F 	"&2>r   c                     [         R                  " U R                  5      nUR                  SSSS9n[        R
                  " SS/SS/S	S
//5      n[        X#5        g Nic   r5   r-   r      r5   i)   ii)r   r   rz   r   r   r9   r   r   s       r   test_randintTestRandomDist.test_randintI  s[      +S"62((RG "I #J( ) 	6+r   c                 $   [         R                  " U R                  5      n[        R                  " [
        5         UR                  SSSS9nS S S 5        [        R                  " SS/SS/S	S
//5      n[        WU5        g ! , (       d  f       N:= fr
  )
r   r   rz   r   warnsDeprecationWarningrandom_integersr   r9   r   r   s       r   test_random_integers#TestRandomDist.test_random_integersQ  s{      +\\,-((bv(>F .((RG "I #J( ) 	67+ .-s   B
Bc                 |   [         R                  " [        5         [        R                  R                  [        R                  " S5      R                  [        R                  " S5      R                  5      nS S S 5        [        R                  " S5      R                  n[        WU5        g ! , (       d  f       N;= f)Nl)	r   r  r  r   r   r  r   r   r   )r   r   r   s      r   test_random_integers_max_int+TestRandomDist.test_random_integers_max_intZ  st     \\,-YY..rxx}/@/@/1xx}/@/@BF . ((3-##VW% .-s   AB--
B;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_deprecatedg  s    $$&!!'+=> ,))33((3-++-
 ,))33((3-++RXXc]->->@ '&&s   C	C((
C6c                     [         R                  " U R                  5      nU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   rz   r   r9   r   r   s       r   test_randomTestRandomDist.test_randomu  s`      +F#((02EF02EF/1CDF G 	"&2>r   c                     [         R                  " U R                  5      nUR                  SS5      n[        R
                  " / SQ5      n[        X#5        g )Nr6   )r-   r5   r-   r5   r   r   rz   choicer   r9   r   r   s       r   test_choice_uniform_replace*TestRandomDist.test_choice_uniform_replace}  s<      +Aq!((<(6+r   c                     [         R                  " U R                  5      nUR                  SS/ SQS9n[        R
                  " / SQ5      n[        X#5        g )Nr6   )皙?r+  皙?r,  rK   )r,   r,   r-   r-   r&  r   s       r   test_choice_nonuniform_replace-TestRandomDist.test_choice_nonuniform_replace  sA      +Aq$89((<(6+r   c                     [         R                  " U R                  5      nUR                  SSSS9n[        R
                  " / SQ5      n[        X#5        g )Nr6   r5   Freplace)r   r,   r5   r&  r   s       r   test_choice_uniform_noreplace,TestRandomDist.test_choice_uniform_noreplace  s@      +Aq%0((9%6+r   c                     [         R                  " U R                  5      nUR                  SSS/ SQS9n[        R
                  " / SQ5      n[        X#5        g )Nr6   r5   F)r,  g333333?rH   r,  r2  rK   )r-   r5   r,   r&  r   s       r    test_choice_nonuniform_noreplace/TestRandomDist.test_choice_nonuniform_noreplace  sH      +Aq%$8  :((9%6+r   c                     [         R                  " U R                  5      nUR                  / SQS5      n[        R
                  " / SQ5      n[        X#5        g )N)abcdr6   )r<  r=  r<  r=  r&  r   s       r   test_choice_noninteger%TestRandomDist.test_choice_noninteger  s>      +0!4((/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#   r5   g      @r,   r-   r6   )r,   r-   r5   r6   g      ?r-  )r+  r+  rW   g?gr+  r4   Fr1  r.   )r#   )r#   r,   )r,   r   r   r6  )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                 8   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        S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 )Nr,  ?r-   Tr1  Fr6  r,   r2   r   r=   )r-   r5   )r,  r,  r,  r,  r+  rW   r8   )r5   r   r6   r   i)r   r   r:  r;  )r   r   isscalarr   r'  r9   emptyobjectndimitemr   rl   r   r   r
   r&   )r   rK   r:  arrr   s        r   test_choice_return_shape'TestRandomDist.test_choice_return_shape  sm   #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 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-   )NNNr-  )r   r9   r
   r&   r   r'  )r   r:  rK   s      r   test_choice_nan_probabilities,TestRandomDist.test_choice_nan_probabilities  s+    HHZ j"))"2"2A;r   c                     [         R                  " U R                  5      nUR                  S5      nSn[	        X#5        g )Nr   s
   Ui+Wf)r   r   rz   bytesr   r   s       r   
test_bytesTestRandomDist.test_bytes  s0      +2.V%r   c                     S S S S S S S S S	 S
 S 4 HU  n[         R                  " U R                  5      nU" / SQ5      nUR                  U5        UnU" / SQ5      n[	        XE5        MW     g )Nc                 .    [         R                  " / 5      $ Nr   r9   rd   s    r   <lambda>-TestRandomDist.test_shuffle.<locals>.<lambda>  s    rxx|r   c                     U $ rW  r=   rY  s    r   rZ  r[    s    qr   c                 h    [         R                  " U 5      R                  [         R                  5      $ rW  )r   asarrayastyper   rY  s    r   rZ  r[    s    rzz!}33BGG<r   c                 h    [         R                  " U 5      R                  [         R                  5      $ rW  )r   r^  r_  float32rY  s    r   rZ  r[    s    rzz!}33BJJ?r   c                 h    [         R                  " U 5      R                  [         R                  5      $ rW  )r   r^  r_  	complex64rY  s    r   rZ  r[    s    rzz!}33BLLAr   c                 T    [         R                  " U 5      R                  [        5      $ rW  )r   r^  r_  rG  rY  s    r   rZ  r[    s    rzz!}33F;r   c                 4    U  Vs/ s H  oU4PM     sn$ s  snf rW  r=   rd   is     r   rZ  r[    s    21A22s   c                 \    [         R                  " U  Vs/ s H  oU/PM     sn5      $ s  snf rW  )r   r^  rf  s     r   rZ  r[    s!    rzz1*=1aq61*=>*=s   )c                 D    [         R                  " X /5      R                  $ rW  )r   vstackTrY  s    r   rZ  r[    s    ryy!022r   c                     [         R                  " U  Vs/ s H  oU4PM     snS[        4S[        4/5      R                  [         R                  5      $ s  snf Nr:  r;  )r   r^  rG   r   recarrayrf  s     r   rZ  r[    sG    

A+>AqFA+>-0#Jc
+C!E!%bkk!2!3+>s   Ac                     [         R                  " U  Vs/ s H  oU4PM     snS[        4S[         R                  4/5      $ s  snf rm  )r   r^  rG  r   rf  s     r   rZ  r[    s8    rzz1*=1aq61*=,/=3/*J L*=s   A)
r,   r-   r5   r6   r7   r8      r   	   r   )
r   r,   rq  r8   r-   r6   r7   r   rp  r5   )r   r   rz   shuffler   )r   convr   alistr   r   s         r   test_shuffleTestRandomDist.test_shuffle  s}     , <?A;2>24LMD  $$TYY/C78EKK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   )r7   r6   r5   r,   r#   2   )r   mamasked_valuesreshaper   r   copyr   rr  r   sorteddatamask)r   r:  r;  a_origb_origrg  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-   r5   r6   r7   r8   )r   r,   r-   r5   r6   r7   r8   z!you are shuffling a 'dict' objectmatchr#  )r   r  UserWarningrr  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>   r?   r@   rA   rB   r=   r   r   MyArrr    s    r   r  r5   r   rp  r2   c              3   @   >#    U  H  n[        U5      T;   v   M     g 7frW  id.0rg  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rW  r  r  s     r   r  r  3  s     6#Qr!u(#r  )r   ndarrayr9   float64rG  r  r   rc   
isinstancer   	Generatorr   r  r  rr  )r   r   r  r  itemsrJ  rg  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                 H   [         R                  " U R                  5      n[        R                  " S5      R
                  nUR                  U5        [        [        R                  " U5      / SQ5        [         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 )Nr7   )r   r,   r6   r5   r-   )r   r,   r-   r5   r6   )r6   r,   r   r5   r-   )
r   r   rz   r   r   r  rr  r   r^  default_rng)r   r   r:  s      r   test_shuffle_memoryview&TestRandomDist.test_shuffle_memoryview5  s       +IIaLARZZ]O4  +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)Nr5   Fz	read-onlyr  )	r   rI   flags	writeabler   r   r&   r   rr  )r   r:  s     r   test_shuffle_not_writeable)TestRandomDist.test_shuffle_not_writeableD  sG    HHQK!]]:[9IIa  :99s    A**
A8c                     [         R                  " U R                  5      nUR                  SSSS9n[        R
                  " SS/SS/S	S
//5      n[        X#SS9  g )Nr,  rD  r  r   gAKč?ghA?g ҇o>gάXf+q?gS1$?g'8zX ?r   r   )r   r   rz   betar   r9   r   r   s       r   	test_betaTestRandomDist.test_betaJ  sf      +"bv.(()+BC)+BC)+BCEF 	"&2>r   c                     [         R                  " U R                  5      nUR                  SSSS9n[        R
                  " SS/SS/S	S
//5      n[        X#5        g )NrV   gv/?r  r   %   +   rN  0   .   -   )r   r   rz   rJ   r   r9   r   r   s       r   test_binomialTestRandomDist.test_binomialS  s[      +c4f5((RHHH& ' 	6+r   c                     [         R                  " U R                  5      nUR                  SSS9n[        R
                  " SS/SS/SS	//5      n[        X#S
S9  g )Nry  r  r   g+Q]uO@g+Q@gY7`ZqP@ge(fG@gvtR@gEIȋR@   r   )r   r   rz   	chisquarer   r9   r   r   s       r   test_chisquareTestRandomDist.test_chisquare[  sd      +r/((13GH13GH02FGI J 	"&2>r   c                     [         R                  " U R                  5      n[        R                  " SS/5      nUR                  USS9n[        R                  " SS/SS//S	S
/SS//SS/SS///5      n[        X4SS9  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   rz   r   r9   	dirichletr   )r   r   alphar   r   s        r   test_dirichletTestRandomDist.test_dirichletc  s      +.0DEFu62((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,   rh   r-   ri   rj   )
r   r9   r   r   r  rk   rl   r
   r%   rm   rn   s     r   test_dirichlet_size"TestRandomDist.test_dirichlet_sizeo  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ؗҜr7   r,   )r   r9   r
   r&   r   mtrandr  )r   r  s     r   test_dirichlet_bad_alpha'TestRandomDist.test_dirichlet_bad_alpha{  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                  " U R                  5      nUR                  SSS9n[        R
                  " SS/SS/SS	//5      n[        X#S
S9  g )Ng8EGr?r  r   gNU?gbI0?gVU\@g:3@gU?g"qo?r   r   )r   r   rz   exponentialr   r9   r   r   s       r   test_exponentialTestRandomDist.test_exponential  sd      +f5((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                  " U R                  5      nU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   rz   fr   r9   r   r   s       r   test_fTestRandomDist.test_f  sf      +r2F+((02EF02EF02EFH I 	"&2>r   c                     [         R                  " U R                  5      nUR                  SSSS9n[        R
                  " SS/SS/S	S
//5      n[        X#SS9  g )Nr7   r5   r  r   gԏGM8@gȌ<@g	":@gv#)@gZQ?@gr[@@   r   )r   r   rz   gammar   r9   r   r   s       r   
test_gammaTestRandomDist.test_gamma  sf      +1af-((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   )rl   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                  " U R                  5      nUR                  SSS9n[        R
                  " SS/SS/SS//5      n[        X#5        g )	N_c97ݚ?r  r   r   rp     r7   r  )r   r   rz   	geometricr   r9   r   r   s       r   test_geometricTestRandomDist.test_geometric  sY      +z7((QFHG% & 	6+r   c                     [         R                  " U R                  5      nUR                  SSSS9n[        R
                  " SS/SS/S	S
//5      n[        X#SS9  g )Nr         @r  locr  r   gؕ?gs0 ?g#0g(xg-KD?gůp`@r   r   )r   r   rz   gumbelr   r9   r   r   s       r   test_gumbelTestRandomDist.test_gumbel  sf      +
#FC((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                 d   [         R                  " U R                  5      nUR                  SSSSS9n[        R
                  " SS/SS/SS//5      n[        X#5        UR                  SSSS	S9n[        R
                  " / S
Q5      n[        X#5        UR                  SSSS	S9n[        R
                  " / SQ5      n[        X#5        UR                  SSSS	S9n[        R
                  " / SQ5      n[        X#5        UR                  SSSS	S9n[        R
                  " / SQ5      n[        X#5        g )Nr   r7   r  r  r   rq  r   r5   r6   )r5   r5   r5   r5   r   r  )r  r  r  r  )r   r   r   r   )r   r   rz   hypergeometricr   r9   r   r   s       r   test_hypergeometric"TestRandomDist.test_hypergeometric  s!     +##B2F#;((RHHF$ % 	6+ ##Aq!!#4((<(6+##B2A#6((+,6+ ##Aq!!#4((<(6+##Ar2A#6((<(6+r   c                     [         R                  " U R                  5      nUR                  SSSS9n[        R
                  " SS/SS/S	S
//5      n[        X#SS9  g )Nr  r  r  r  g bO?g¸?gpJm	@g{K*t	@g:^w-gY~o?r   r   )r   r   rz   laplacer   r9   r   r   s       r   test_laplaceTestRandomDist.test_laplace  sf      +3VD((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                  " U R                  5      nUR                  SSSS9n[        R
                  " SS/SS/S	S
//5      n[        X#SS9  g )Nr  r  r  r  g#K-z?gJ?g92@gر[@g#+^˿g-@r   r   )r   r   rz   logisticr   r9   r   r   s       r   test_logisticTestRandomDist.test_logistic  sf      +*CfE((02DE02EF13FGI J 	"&2>r   c                     [         R                  " U R                  5      nUR                  SSSS9n[        R
                  " SS/SS/S	S
//5      n[        X#SS9  g )Nr  r  r  )meansigmar   gɁ0@go,+4FB@g)ʭ6@g5?gnxNnP@g)U@r  r   )r   r   rz   	lognormalr   r9   r   r   s       r   test_lognormalTestRandomDist.test_lognormal  sf      +JcG((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                  " U R                  5      nUR                  SSS9n[        R
                  " SS/SS/SS//5      n[        X#5        g )Ngƀ@?r  )rK   r   r-   r8   r  r5   )r   r   rz   	logseriesr   r9   r   r   s       r   test_logseriesTestRandomDist.test_logseries  sY      +&9((QFGF$ % 	6+r   c                     [         R                  " U R                  5      nUR                  SS/S-  SS9n[        R
                  " / SQ/ SQ// SQ/ S	Q// S
Q/ SQ//5      n[        X#5        g )Nrx  UUUUUU?r8   r  r   )r6   r5   r7   r6   r-   r-   )r7   r-   r   r-   r-   r,   )r5   r6   r5   r8   r   r6   )r-   r,   r6   r5   r8   r6   )r6   r6   r-   r7   r-   r5   )r6   r5   r6   r-   r5   r6   )r   r   rz   rZ   r   r9   r   r   s       r   test_multinomialTestRandomDist.test_multinomial  sn      +fX\?((//1//1//1	2 3 	6+r   c                    [         R                  " U R                  5      nSnSS/SS//nSnUR                  X#U5      n[        R
                  " SS/SS//S	S
/SS//SS/SS///5      n[        XVSS9  UR                  X#5      n[        R
                  " SS/5      n[        XVSS9  SS/nSS/SS//n[        R                  " [        UR                  X#5        [        UR                  X#SS9  [        [        UR                  X#SS9  [        R
                  " SS/SS//[        R                  S9n[        R                  " 5          [        R                   " S5        UR                  X#5        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raiser,  r2   r  )r   r   rz   multivariate_normalr   r9   r   r   r  RuntimeWarningr	   r
   r&   ra  r  r  r  )r   r   r  covr   r   r   s          r   test_multivariate_normal'TestRandomDist.test_multivariate_normal  s     +1v1v((D9((/1BC/1BCE/1CD/1BCE/1BC02CDF	G H 	"&2> ((3((-/?@A!&2> 1v1v1v^S%<%<dH 	322D'/	1 	j#"9"94")	+ hhC3(+2::>$$&!!'*##D. '&&s   (E77
Fc                     [         R                  " U R                  5      nUR                  SSSS9n[        R
                  " SS/SS/S	S
//5      n[        X#5        g )NrV   g|Pk?r  )nrK   r   iP  iI  i|  ic  i  i  )r   r   rz   r   r   r9   r   r   s       r   r   %TestRandomDist.test_negative_binomial.  s^      +&&V&D((S#J #J #J( ) 	6+r   c                    [         R                  " U R                  5      nUR                  SSSS9n[        R
                  " SS/SS/SS	//5      n[        X#S
S9  UR                  SSSS9n[        R
                  " SS/SS/SS//5      n[        X#S
S9  [         R                  " U R                  5      nUR                  SSSS9n[        R
                  " SS/SS/SS//5      n[        X#S
S9  g )Nr7   r  )dfnoncr   gG7@g! ܴ*@g1}z9?@g+驸0@g26E_r#@gI!1@r  r   rH   rW   g?gTD?g?T?g+qnl?g~|D?g밬?r   g{01#@gprs'@g~;$@g"dI@g*@g}',@)r   r   rz   noncentral_chisquarer   r9   r   r   s       r   test_noncentral_chisquare(TestRandomDist.test_noncentral_chisquare6  s#     +))QQV)D((13GH13GH02FGI J 	"&2>))Rbv)F((03FG03FG.1DEG H 	"&2>  +))QQV)D((.0BC/1BC/1CDF G 	"&2>r   c                     [         R                  " U R                  5      nUR                  SSSSS9n[        R
                  " SS/SS	/S
S//5      n[        X#SS9  g )Nr7   r-   r,   r  )dfnumdfdenr$  r   g^~?g/+c?g".@g@g7?gE?r  r   )r   r   rz   noncentral_fr   r9   r   r   s       r   test_noncentral_f TestRandomDist.test_noncentral_fK  sp      +!!-3 " 5((02EF02EF02DEG H 	"&2>r   c                     [         R                  " U R                  5      nUR                  SSSS9n[        R
                  " SS/SS/S	S
//5      n[        X#SS9  g )Nr  r  r  r  g&&n@gOG_@g~w@gtw]տgm&5@g$>@r   r   )r   r   rz   normalr   r9   r   r   s       r   test_normalTestRandomDist.test_normalT  sf      +
#FC((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   r/  r
   r&   r'   s    r   test_normal_0TestRandomDist.test_normal_0\  r  r   c                     [         R                  " U R                  5      nUR                  SSS9n[        R
                  " SS/SS/SS	//5      n[        R                  R                  X#S
S9  g )Nr  r  r:  r   gWI@gԨy@gy]0Ag1~\Aga@gY
7A   )nulp)r   r   rz   paretor   r9   testingassert_array_almost_equal_nulpr   s       r   test_paretoTestRandomDist.test_pareto`  sq      +jv6(()+BC)+BC)+BCEF 	

11&1Kr   c                     [         R                  " U R                  5      nUR                  SSS9n[        R
                  " SS/SS/SS//5      n[        X#5        g )Nr  r  )lamr   r   r,   )r   r   rz   poissonr   r9   r   r   s       r   test_poissonTestRandomDist.test_poissono  sY      +&9((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   r@  )r   lambiglamnegs      r   test_poisson_exceptions&TestRandomDist.test_poisson_exceptionsw  s~    #""j"))"3"3V<j"))"3"3fX]Cj"))"3"3V<j"))"3"3fX]Cr   c                     [         R                  " U R                  5      nUR                  SSS9n[        R
                  " SS/SS/SS	//5      n[        X#S
S9  g )Nr  r  r6  g;'?gܴw*?g5?gFG?g D]?g$`?r   r   )r   r   rz   powerr   r9   r   r   s       r   
test_powerTestRandomDist.test_power  sd      +Zf5((02EF02EF02EFH I 	"&2>r   c                     [         R                  " U R                  5      nUR                  SSS9n[        R
                  " SS/SS/SS	//5      n[        X#S
S9  g )Nr   r  )r  r   g"u+@gN$MB*@g7v8B4@g55@ge&@g~ӣZ1@r  r   )r   r   rz   rayleighr   r9   r   r   s       r   test_rayleighTestRandomDist.test_rayleigh  sd      +BV4((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   rM  r
   r&   r'   s    r   test_rayleigh_0TestRandomDist.test_rayleigh_0  s4    RYY''a'0!4j"))"4"4C@r   c                     [         R                  " U R                  5      nU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   rz   standard_cauchyr   r9   r   r   s       r   test_standard_cauchy#TestRandomDist.test_standard_cauchy  se      +$$&$1((02FG02FG13FGI J 	"&2>r   c                     [         R                  " U R                  5      nUR                  SS9n[        R
                  " SS/SS/SS//5      n[        X#S	S
9  g )Nr  r   g܁?gc!z?g&N"@gNI@gF>?g~ME?r   r   )r   r   rz   standard_exponentialr   r9   r   r   s       r   test_standard_exponential(TestRandomDist.test_standard_exponential  se      +))v)6((02EF/1DE/1DEG H 	"&2>r   c                     [         R                  " U R                  5      nUR                  SSS9n[        R
                  " SS/SS/SS	//5      n[        X#S
S9  g )Nr5   r  )rl   r   g)@gľ@gd],q@gPk{@g9B#1@gv @r  r   )r   r   rz   standard_gammar   r9   r   r   s       r   test_standard_gamma"TestRandomDist.test_standard_gamma  sg      +##!&#9((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   )rl   r  )r   r   r   r\  r
   r&   r'   s    r   test_standard_gamma_0$TestRandomDist.test_standard_gamma_0  s4    RYY--A-6:j"))":":#Fr   c                     [         R                  " U R                  5      nU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   rz   r   r   r9   r   r   s       r   test_standard_normal#TestRandomDist.test_standard_normal  se      +$$&$1((02EF.0CD.0CDF G 	"&2>r   c                     [         R                  " U R                  5      nUR                  SSS9n[        R
                  " SS/SS/SS	//5      n[        X#S
S9  g )Nr   r  )r#  r   g\VH?ghU%gH$M?gLgVqdzǿg㖀?r   r   )r   r   rz   
standard_tr   r9   r   r   s       r   test_standard_tTestRandomDist.test_standard_t  sd      +2F3((02FG02FG13FGI J 	"&2>r   c                     [         R                  " U R                  5      nUR                  SSSSS9n[        R
                  " SS/SS	/S
S//5      n[        X#SS9  g )Ng{Gz@g(\u$@gףp=
W4@r  )leftmoderightr   g:}\)@ghرTj(@gǨL30@g6ڜA0@g6sh&@g<,@r  r   )r   r   rz   
triangularr   r9   r   r   s       r   test_triangularTestRandomDist.test_triangular  sn      +TU+1   3((13FG13GH13FGI J 	"&2>r   c                     [         R                  " U R                  5      nUR                  SSSS9n[        R
                  " SS/SS/S	S
//5      n[        X#SS9  g )NGz?gGz%@r  )lowhighr   g>#H@gu@g#@g}d]#@gN@gw)* @r   r   )r   r   rz   uniformr   r9   r   r   s       r   test_uniformTestRandomDist.test_uniform  sf      +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 )Nrm   r   r,   g ؅W4vC)rr  rs  )
r   finfor   r   r   rt  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rW  r%   r'   s    r   	__float__QTestRandomDist.test_scalar_exception_propagation.<locals>.ThrowingFloat.__float__      r   r=   N)r>   r?   r@   rA   r  rB   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rW  r  r'   s    r   __int__QTestRandomDist.test_scalar_exception_propagation.<locals>.ThrowingInteger.__int__  r  r   r=   N)r>   r?   r@   rA   r  	__index__rB   r=   r   r   ThrowingIntegerr    s       Ir   r  r,   )	r   r  r9   r   r
   r%   r   rt  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                  " U R                  5      nUR                  SSSS9n[        R
                  " SS/SS/S	S
//5      n[        X#SS9  g )Nrq  p=
ף?r  mukappar   gLZI@g'N"@gkr?gk=m@gډ?g^=\?r   r   )r   r   rz   vonmisesr   r9   r   r   s       r   test_vonmisesTestRandomDist.test_vonmises  sf      +T?((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   rz   r  r:  r   isfiniterc   )r   rs     r   test_vonmises_small"TestRandomDist.test_vonmises_small   sT    
		tyy!II"F?


2;;q>--/0r   c                     [         R                  " U R                  5      nUR                  SSSS9n[        R
                  " SS/SS/S	S
//5      n[        X#SS9  g )Nrq  r  r  )r  r  r   gZ@g-g@g8
m?gVP"?g`V?gx^&3?r  r   )r   r   rz   waldr   r9   r   r   s       r   	test_waldTestRandomDist.test_wald  sf      +t4f=((02EF02EF02EFH I 	"&2>r   c                     [         R                  " U R                  5      nUR                  SSS9n[        R
                  " SS/SS/SS	//5      n[        X#S
S9  g )Nrq  r  r6  g@6?g]A?g(1ڥR?gU?g2_u?g^}-Q?r   r   )r   r   rz   weibullr   r9   r   r   s       r   test_weibullTestRandomDist.test_weibull  sd      +t&1((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  r6  r  )r:  )r   r   rz   r   r  rI   r
   r&   r'   s    r   test_weibull_0TestRandomDist.test_weibull_0  sR    
		tyy!RYY&&&4bhhrlCj"))"3"3s;r   c                     [         R                  " U R                  5      nUR                  SSS9n[        R
                  " SS/SS/SS//5      n[        X#5        g )	Nrq  r  r6  B      r,   r5   r  )r   r   rz   zipfr   r9   r   r   s       r   	test_zipfTestRandomDist.test_zipf  sY      +Dv.((RHFG% & 	6+r   r=   N)Ur>   r?   r@   rA   rz   r   r  r  r  r  r   r#  r(  r.  r3  r7  r>  rA  rK  rO  rS  ru  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   r&  r,  r0  r3  r<  rA  rF  rJ  rN  rQ  rU  rY  r]  r`  rc  rg  rn  ru  r  r  r  r  r  r  r  r  rB   r=   r   r   r   r   4  s3    D??,,&@?,,,,,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,	,%/N,?*???L,D??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#g")#TestBroadcasti$  i[c                 :   S/nS/n[         R                  " / SQ5      n[        R                  " U R                  5      nUR                  US-  U5      n[        XSSS9  [        R                  " U R                  5      nUR                  XS-  5      n[        XSSS9  g )Nr   r,   gl?g_x?g=*BN?r5   r  r   )r   r9   r   r   rz   rt  r   )r   rr  rs  r   r   r   s         r   ru  TestBroadcast.test_uniform,  s    cs(( 1 2   +S1Wd+!&2>  +S(+!&2>r   c                    S/nS/nS/n[         R                  " / SQ5      n[        R                  " U R                  5      nUR                  US-  U5      n[        XdSS9  [        [        UR
                  US-  U5        [        R                  " U R                  5      nUR                  XS-  5      n[        XdSS9  [        [        UR
                  XS-  5        g )Nr   r,   r#   )g-r@gYl@g-`w?r5   r  r   )	r   r9   r   r   rz   r/  r   r
   r&   r   r  r  	bad_scaler   r   r   s          r   r0  TestBroadcast.test_normal;  s    cD	(( 0 1   +C!GU+!&2>j#**cAgyA  +C+!&2>j#**cq=Ar   c                 :   S/nS/nS/nS/n[         R                  " / SQ5      n[        R                  " U R                  5      nUR                  US-  U5      n[        XuSS9  [        [        UR
                  US-  U5        [        [        UR
                  US-  U5        [        R                  " U R                  5      nUR                  XS-  5      n[        XuSS9  [        [        UR
                  X2S-  5        [        [        UR
                  XS-  5        g )	Nr,   r-   r#   r.   )gnQVf?gVKB?gv`k?r5   r  r   )	r   r9   r   r   rz   r  r   r
   r&   )r   r:  r;  bad_abad_br   r   r   s           r   r  TestBroadcast.test_betaM  s    CC(( 1 2   +!a%#!&2>j#((EAIq9j#((AE59  +!U#!&2>j#((Eq59j#((Aqy9r   c                     S/nS/n[         R                  " / SQ5      n[        R                  " U R                  5      nUR                  US-  5      n[        XSSS9  [        [        UR
                  US-  5        g Nr,   r#   )g.UgZ?gi Prq?gEK?r5   r  r   )	r   r9   r   r   rz   r  r   r
   r&   r   r  r  r   r   r   s         r   r  TestBroadcast.test_exponentialb  si    D	(( 1 2   ++!&2>j#//9q=Ar   c                     S/nS/n[         R                  " / SQ5      n[        R                  " U R                  5      nUR                  US-  5      n[        XSSS9  [        [        UR
                  US-  5        g r  )	r   r9   r   r   rz   r\  r   r
   r&   )r   rl   	bad_shaper   r   r   s         r   r]  !TestBroadcast.test_standard_gamman  sm    D	(( 1 2   +##EAI.!&2>j#"4"4i!mDr   c                 :   S/nS/nS/nS/n[         R                  " / SQ5      n[        R                  " U R                  5      nUR                  US-  U5      n[        XuSS9  [        [        UR
                  US-  U5        [        [        UR
                  US-  U5        [        R                  " U R                  5      nUR                  XS-  5      n[        XuSS9  [        [        UR
                  X2S-  5        [        [        UR
                  XS-  5        g )	Nr,   r-   r#   r.   )g.UgZ?gi Prq?gEK?r5   r  r   )	r   r9   r   r   rz   r  r   r
   r&   )r   rl   r  r  r  r   r   r   s           r   r  TestBroadcast.test_gammaz  s    D	D	(( 0 1   +519e,!&2>j#))Y]EBj#))UQY	B  +5!),!&2>j#))Y	Bj#))UMBr   c                 :   S/nS/nS/nS/n[         R                  " / SQ5      n[        R                  " U R                  5      nUR                  US-  U5      n[        XuSS9  [        [        UR
                  US-  U5        [        [        UR
                  US-  U5        [        R                  " U R                  5      nUR                  XS-  5      n[        XuSS9  [        [        UR
                  X2S-  5        [        [        UR
                  XS-  5        g )	Nr,   r-   r#   r.   )gbyʜ?go?gT7@r5   r  r   )	r   r9   r   r   rz   r  r   r
   r&   )r   r)  r*  	bad_dfnum	bad_dfdenr   r   r   s           r   r  TestBroadcast.test_f  s    D	D	(( 0 1   +uqy%(!&2>j#%%Q>j#%%I>  +uai(!&2>j#%%AI>j#%%A>r   c                     S/nS/nS/nS/nS/nS/n[         R                  " / SQ5      n[        R                  " U R                  5      nUR                  US-  X#5      n	[        XSS	9  [        [        UR
                  US-  X#5        [        [        UR
                  US-  XS5        [        [        UR
                  US-  X&5        [        R                  " U R                  5      nUR                  XS-  U5      n	[        XSS	9  [        [        UR
                  XBS-  U5        [        [        UR
                  XS-  U5        [        [        UR
                  XS-  U5        [        R                  " U R                  5      nUR                  XUS-  5      n	[        XSS	9  [        [        UR
                  XBUS-  5        [        [        UR
                  XUS-  5        [        [        UR
                  XUS-  5        g )
Nr-   r5   r6   r   r#   r.   )gr^G"@g/*@gц!@r  r   )	r   r9   r   r   rz   r+  r   r
   r&   )
r   r)  r*  r$  r  r  bad_noncr   r   r   s
             r   r,  TestBroadcast.test_noncentral_f  s   sC	D	4(( 0 1   +!!%!)U9!&2>j#"2"2IM5Oj#"2"2EAIyOj#"2"2EAIuO  +!!%D9!&2>j#"2"2Iqy$Oj#"2"2Eq=$Oj#"2"2E19hO  +!!%q9!&2>j#"2"2IdQhOj#"2"2EdQhOj#"2"2E(Q,Or   c                     [         R                  " U R                  5      n[        R                  " SS/5      nUR                  SSSSS9n[        X2SS9  g )Ngaz@gn4M;%?rD  r-   r   r  r   )r   r   rz   r   r9   r+  r   )r   r   r   r   s       r   test_noncentral_f_small_df(TestBroadcast.test_noncentral_f_small_df  sN      +((-/@AB!!#sAA!6!&2>r   c                     S/nS/n[         R                  " / SQ5      n[        R                  " U R                  5      nUR                  US-  5      n[        XSSS9  [        [        UR
                  US-  5        g )Nr,   r#   )g~}N??g$F?g'rS?r5   r  r   )	r   r9   r   r   rz   r  r   r
   r&   r   r#  bad_dfr   r   r   s         r   r  TestBroadcast.test_chisquare  si    S(( 0 1   +rAv&!&2>j#--!<r   c                 :   S/nS/nS/nS/n[         R                  " / SQ5      n[        R                  " U R                  5      nUR                  US-  U5      n[        XuSS9  [        [        UR
                  US-  U5        [        [        UR
                  US-  U5        [        R                  " U R                  5      nUR                  XS-  5      n[        XuSS9  [        [        UR
                  X2S-  5        [        [        UR
                  XS-  5        g )	Nr,   r-   r#   r.   )g w "@g2WR@gRY@r5   r  r   )	r   r9   r   r   rz   r%  r   r
   r&   )r   r#  r$  r  r  r   r   r   s           r   r&  'TestBroadcast.test_noncentral_chisquare  s    Ss4(( 0 1   +))"q&$7!&2>j#":":FQJMj#":":BFHM  +))"Qh7!&2>j#":":F1HMj#":":B1Mr   c                     S/nS/n[         R                  " / SQ5      n[        R                  " U R                  5      nUR                  US-  5      n[        XSSS9  [        [        UR
                  US-  5        g )Nr,   r#   )gT@g~Fl@gƚtp?r5   r  r   )	r   r9   r   r   rz   rf  r   r
   r&   r  s         r   rg  TestBroadcast.test_standard_t  si    S(( 0 1   +Q'!&2>j#..&1*=r   c                    S/nS/nS/n[         R                  " / SQ5      n[        R                  " U R                  5      nUR                  US-  U5      n[        XdSS9  [        [        UR
                  US-  U5        [        R                  " U R                  5      nUR                  XS-  5      n[        XdSS9  [        [        UR
                  XS-  5        g )Nr-   r,   r#   )gW!@gOBg}?r5   r  r   )	r   r9   r   r   rz   r  r   r
   r&   )r   r  r  	bad_kappar   r   r   s          r   r  TestBroadcast.test_vonmises  s    SD	(( 1 2   +b1fe,!&2>j#,,Q	B  +b!),!&2>j#,,MBr   c                     S/nS/n[         R                  " / SQ5      n[        R                  " U R                  5      nUR                  US-  5      n[        XSSS9  [        [        UR
                  US-  5        g )Nr,   r#   )g&8??geFX?gՋː?r5   r  r   )	r   r9   r   r   rz   r9  r   r
   r&   r   r:  r  r   r   r   s         r   r<  TestBroadcast.test_pareto	  si    C(( 0 1   +AE"!&2>j#**eai8r   c                     S/nS/n[         R                  " / SQ5      n[        R                  " U R                  5      nUR                  US-  5      n[        XSSS9  [        [        UR
                  US-  5        g r  )	r   r9   r   r   rz   r  r   r
   r&   r  s         r   r  TestBroadcast.test_weibull  si    C(( 1 2   +QU#!&2>j#++uqy9r   c                     S/nS/n[         R                  " / SQ5      n[        R                  " U R                  5      nUR                  US-  5      n[        XSSS9  [        [        UR
                  US-  5        g )Nr,   r#   r  r5   r  r   )	r   r9   r   r   rz   rI  r   r
   r&   r  s         r   rJ  TestBroadcast.test_power!  si    C(( 1 2   +1q5!!&2>j#))UQY7r   c                    S/nS/nS/n[         R                  " / SQ5      n[        R                  " U R                  5      nUR                  US-  U5      n[        XdSS9  [        [        UR
                  US-  U5        [        R                  " U R                  5      nUR                  XS-  5      n[        XdSS9  [        [        UR
                  XS-  5        g )Nr   r,   r#   )g:BKc?g3k?g~q?r5   r  r   )	r   r9   r   r   rz   r  r   r
   r&   r  s          r   r  TestBroadcast.test_laplace-  s    cD	(( 2 3   +S1We,!&2>j#++sQw	B  +S!),!&2>j#++sMBr   c                    S/nS/nS/n[         R                  " / SQ5      n[        R                  " U R                  5      nUR                  US-  U5      n[        XdSS9  [        [        UR
                  US-  U5        [        R                  " U R                  5      nUR                  XS-  5      n[        XdSS9  [        [        UR
                  XS-  5        g )Nr   r,   r#   )g'Zy?gdSO=?g3L1?r5   r  r   )	r   r9   r   r   rz   r  r   r
   r&   r  s          r   r  TestBroadcast.test_gumbel?  s    cD	(( 1 2   +C!GU+!&2>j#**cAgyA  +C+!&2>j#**cq=Ar   c                    S/nS/nS/n[         R                  " / SQ5      n[        R                  " U R                  5      nUR                  US-  U5      n[        XdSS9  [        [        UR
                  US-  U5        [        R                  " U R                  5      nUR                  XS-  5      n[        XdSS9  [        [        UR
                  XS-  5        g )Nr   r,   r#   )gy?gJR?g
~&?r5   r  r   )	r   r9   r   r   rz   r  r   r
   r&   r  s          r   r  TestBroadcast.test_logisticQ  s    cD	(( 2 3   +cAgu-!&2>j#,,aC  +c19-!&2>j#,,]Cr   c                    S/nS/nS/n[         R                  " / SQ5      n[        R                  " U R                  5      nUR                  US-  U5      n[        XdSS9  [        [        UR
                  US-  U5        [        R                  " U R                  5      nUR                  XS-  5      n[        XdSS9  [        [        UR
                  XS-  5        g )Nr   r,   r#   )gH"@gܮ @gvv	:@r5   r  r   )	r   r9   r   r   rz   r  r   r
   r&   )r   r  r  	bad_sigmar   r   r   s          r   r	  TestBroadcast.test_lognormalc  s    sD	(( 0 1   +tax/!&2>j#--9E  +tQY/!&2>j#--1}Er   c                     S/nS/n[         R                  " / SQ5      n[        R                  " U R                  5      nUR                  US-  5      n[        XSSS9  [        [        UR
                  US-  5        g )Nr,   r#   )gݱlo?g/ӂ?gz~R?r5   r  r   )	r   r9   r   r   rz   rM  r   r
   r&   r  s         r   rN  TestBroadcast.test_rayleighu  si    D	(( 0 1   +eai(!&2>j#,,	A>r   c                    S/nS/nS/nS/n[         R                  " / SQ5      n[        R                  " U R                  5      nUR                  US-  U5      n[        XuSS9  [        [        UR
                  US-  U5        [        [        UR
                  US-  U5        [        R                  " U R                  5      nUR                  XS-  5      n[        XuSS9  [        [        UR
                  X2S-  5        [        [        UR
                  XS-  5        [        [        UR
                  S	S5        [        [        UR
                  SS	5        g )
NrH   r,   r   r.   )g@m e?g`I߿?g|2?r5   r  r   r^   )	r   r9   r   r   rz   r  r   r
   r&   )r   r  r  bad_meanr  r   r   r   s           r   r  TestBroadcast.test_wald  s   u3D	(( 0 1   +$(E*!&2>j#((HqL%@j#((D1Hi@  +$	*!&2>j#((Hai@j#((Da-@j#((C3j#((C5r   c                 
   S/nS/nS/nS/nS/nUS-  u  pg[         R                  " / SQ5      n[        R                  " U R                  5      n	U	R                  US-  X25      n
[        XSS9  [        [        U	R
                  US-  X25        [        [        U	R
                  US-  XR5        [        [        U	R
                  US-  UU5        [        R                  " U R                  5      n	U	R                  XS-  U5      n
[        XSS9  [        [        U	R
                  XCS-  U5        [        [        U	R
                  XS-  U5        [        [        U	R
                  XgS-  U5        [        R                  " U R                  5      n	U	R                  XUS-  5      n
[        XSS9  [        [        U	R
                  XCUS-  5        [        [        U	R
                  XUS-  5        [        [        U	R
                  XgUS-  5        g )Nr,   r5   r-   r6   )g,P;bD @g%G @g,~S @r  r   )	r   r9   r   r   rz   rm  r   r
   r&   )r   rj  rl  rk  bad_left_onebad_mode_onebad_left_twobad_mode_twor   r   r   s              r   rn  TestBroadcast.test_triangular  s   ssss%*QY"(( 0 1   +q$6!&2>j#..,2BDPj#..$(LPj#..,2BL	   +Qh6!&2>j#..,q%Pj#..$q8H%Pj#..,q@P	   +EAI6!&2>j#..,eaiPj#..$eaiPj#..,ai	!r   c                    S/nS/nS/nS/nS/n[         R                  " / SQ5      n[        R                  " U R                  5      nUR                  US-  U5      n[        X5        [        [        UR
                  US-  U5        [        [        UR
                  US-  U5        [        [        UR
                  US-  U5        [        R                  " U R                  5      nUR                  XS-  5      n[        X5        [        [        UR
                  X2S-  5        [        [        UR
                  XS-  5        [        [        UR
                  XS-  5        g )Nr,   rH   r#         ?r,   r,   r,   r5   )	r   r9   r   r   rz   rJ   r   r
   r&   	r   r   rK   bad_n	bad_p_one	bad_p_twor   r   r   s	            r   r  TestBroadcast.test_binomial  s   CED	E	((9%  +a!eQ'6+j#,,	1=j#,,AyAj#,,AyA  +aQ'6+j#,,1u=j#,,q=Aj#,,q=Ar   c                    S/nS/nS/nS/nS/n[         R                  " / SQ5      n[        R                  " U R                  5      nUR                  US-  U5      n[        X5        [        [        UR
                  US-  U5        [        [        UR
                  US-  U5        [        [        UR
                  US-  U5        [        R                  " U R                  5      nUR                  XS-  5      n[        X5        [        [        UR
                  X2S-  5        [        [        UR
                  XS-  5        [        [        UR
                  XS-  5        g )Nr,   rH   r#   r  )r,   r   r,   r5   )	r   r9   r   r   rz   r   r   r
   r&   r  s	            r   r   $TestBroadcast.test_negative_binomial  s   CED	E	((9%  +&&q1ua06+j#"7"7AFj#"7"7Q	Jj#"7"7Q	J  +&&qa%06+j#"7"7AFj#"7"7MJj#"7"7MJr   c                    [         R                  R                  5       R                  nS/nS/nUS-  /n[         R                  " / SQ5      n[        R                  " U R
                  5      nUR                  US-  5      n[        Xu5        [        [        UR                  US-  5        [        [        UR                  US-  5        g )Nr,   r#   r-   )r,   r,   r   r5   )
r   r   r   _poisson_lam_maxr9   rz   r@  r   r
   r&   )r   max_lamr?  bad_lam_onebad_lam_twor   r   r   s           r   rA  TestBroadcast.test_poisson  s    ))'')::cd{m((9%  +S1W%6+j#++{Q?j#++{Q?r   c                     S/nS/n[         R                  " / SQ5      n[        R                  " U R                  5      nUR                  US-  5      n[        XS5        [        [        UR
                  US-  5        [         R                  " SS9   [        [        UR
                  [         R                  5        [        [        UR
                  SS[         R                  /5        S S S 5        g ! , (       d  f       g = f)Nr-   r   )r-   r-   r,   r5   r  )invalid)r   r9   r   r   rz   r  r   r
   r&   errstaterO   r  s         r   r  TestBroadcast.test_zipf  s    C((9%  +!a%6+j#((EAI6[[**chh7*chhArvv? +**s   AC//
C=c                 <   S/nS/nS/n[         R                  " / SQ5      n[        R                  " U R                  5      nUR                  US-  5      n[        Xd5        [        [        UR
                  US-  5        [        [        UR
                  US-  5        g )NrH   r#   r  ri   r5   )	r   r9   r   r   rz   r  r   r
   r&   r   rK   r   r  r   r   r   s          r   r  TestBroadcast.test_geometric  s{    ED	E	((9%  +q1u%6+j#--Q?j#--Q?r   c                    S/nS/nS/nS/nS/nS/nS/n[         R                  " / SQ5      n[        R                  " U R                  5      n	U	R                  US-  X#5      n
[        X5        [        [        U	R
                  US-  X#5        [        [        U	R
                  US-  XS5        [        [        U	R
                  US-  X&5        [        [        U	R
                  US-  X'5        [        R                  " U R                  5      n	U	R                  XS-  U5      n
[        X5        [        [        U	R
                  XBS-  U5        [        [        U	R
                  XS-  U5        [        [        U	R
                  XS-  U5        [        [        U	R
                  XS-  U5        [        R                  " U R                  5      n	U	R                  XUS-  5      n
[        X5        [        [        U	R
                  XBUS-  5        [        [        U	R
                  XUS-  5        [        [        U	R
                  XUS-  5        [        [        U	R
                  XUS-  5        g )	Nr,   r-   r#   r.   r   r6   r  r5   )	r   r9   r   r   rz   r  r   r
   r&   )r   ngoodnbadnsample	bad_ngoodbad_nbadbad_nsample_onebad_nsample_twor   r   r   s              r   r  !TestBroadcast.test_hypergeometric  s   s#D	4##((9%  +##EAIt=6+j#"4"4i!mTSj#"4"4eaiSj#"4"4eaiWj#"4"4eaiW  +##E!8W=6+j#"4"4i7Sj#"4"4e\7Sj#"4"4eAXWj#"4"4eAXW  +##E1=6+j#"4"4iwQR{Sj#"4"4ewQR{Sj#"4"4e?UVCVWj#"4"4e?UVCVWr   c                 <   S/nS/nS/n[         R                  " / SQ5      n[        R                  " U R                  5      nUR                  US-  5      n[        Xd5        [        [        UR
                  US-  5        [        [        UR
                  US-  5        g )NrH   r-   r#   r  r5   )	r   r9   r   r   rz   r  r   r
   r&   r  s          r   r  TestBroadcast.test_logseries0  s{    EC	D	((9%  +q1u%6+j#--Q?j#--Q?r   r=   N)$r>   r?   r@   rA   rz   ru  r0  r  r  r]  r  r  r,  r  r  r&  rg  r  r<  r  rJ  r  r  r  r	  rN  r  rn  r  r   rA  r  r  r  r  rB   r=   r   r   r  r  $  s     D
?B$:*
B
EC*?*P@?
=N*
>C$
9
:
8C$B$D$F$
?6.!!FB,K,@@
@ XD
@r   r  zcan't start thread)reasonc                   <    \ rS rSr\" S5      rS rS rS rS r	Sr
g)	
TestThreadi=  r6   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argsr6   win32)	threadingr!  r   rF  lenseedszipr   r   startjoinintpr3   itemsizer   platformr   r   )
r   functionszr!  out1out2r   otrd   s
             r   check_functionTestThread.check_functionB  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   .)r/  r|   outs     r   
gen_random*TestThread.test_normal.<locals>.gen_randomY  s    |||/CHr   )r8  r/  r4  r   r;  s     r   r0  TestThread.test_normalX  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rV   r   r  .)r  r   onesr9  s     r   r;  'TestThread.test_exp.<locals>.gen_random^  s"    ((rww{/C(DCHr   rC  r=  r>  r?  s     r   test_expTestThread.test_exp]  s    	EJ;7r   c                 *    S nU R                  USS9  g )Nc                 4    U R                  SS/S-  SS9US'   g )Nr   r  r8   r8  r   .)rZ   r9  s     r   r;  /TestThread.test_multinomial.<locals>.gen_randomc  s#    ((fX\(FCHr   )r8  r8   r=  r>  r?  s     r   r  TestThread.test_multinomialb  s    	GJ:6r   r=   N)r>   r?   r@   rA   r   r'  r4  r0  rF  r  rB   r=   r   r   r  r  =  s!     !HE+,5
8
7r   r  c                   2    \ rS rSrS rS rS rS rS rSr	g)	TestSingleEltArrayInputii  c                     [         R                  " S/5      [         R                  " S/5      [         R                  " S/5      S4$ )Nr-   r5   r6   )r,   rX  r'   s    r   _create_arrays&TestSingleEltArrayInput._create_arraysj  s/    xx}bhhsmRXXqc]D@@r   c                    U R                  5       u  n  p#[        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 HD  nXe;   a  U" [        R                  " S/5      5      nOU" U5      n[!        UR"                  U5        MF     g r   )rO  r   r   r  r\  r  rf  r9  r  rI  rM  r@  r  r  r  r9   r   rl   )r   argOner   tgtShapefuncs	probfuncsr~  r:  s           r   test_one_arg_funcs*TestSingleEltArrayInput.test_one_arg_funcsm  s   !%!4!4!61&&		(@(@$$bii&:&:!!299#4#4"))"4"4""BIINN$$bii&9&9; YY(("))*=*=>	D 288SE?+ 6lH- r   c                 d   U R                  5       u  pp4[        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Xv;   a  [        R"                  " S/5      nOUnU" X5      n[%        UR&                  U5        U" US   U5      n[%        UR&                  U5        U" XS   5      n[%        UR&                  U5        M     g )NrH   r   )rO  r   r   rt  r/  r  r  r  r%  r  r  r  r  r  r  rJ   r   r9   r   rl   )	r   rR  argTwor   rS  rT  rU  r~  r:  s	            r   test_two_arg_funcs*TestSingleEltArrayInput.test_two_arg_funcs  s\   &*&9&9&;#""BII$4$4bii<<##RYY%6%6!!299#5#5$$biinn##RYY%@%@B YY'')D)DE	D 3%  v&CH-vay&)CH-vay)CH- r   c           	         U R                  5       u      p[        [        R                  [        R                  [        R
                  [        R                  [        R                  [        R                  [        R                  [        R                  /	n[        R                  R                  n[        R                  " S/5      n[        R                  " S/5      nU H`  nU" XeUS9n[        UR                  U5        U" US   XWS9n[        UR                  U5        U" XeS   US9n[        UR                  U5        Mb     g )Nr,   r   r2   )rO  r   r   r   r   r   r   r   rk   r:   r   r   r   r9   r   rl   )	r   r   rS  r   r~  rs  rr  r   r:  s	            r   r  $TestSingleEltArrayInput.test_randint  s     //11arww"((BII299bhh		;yy  xx}hhsmBs+CH-s1vt.CH-sG2.CH- r   c                    U R                  5       u  pp4[        R                  R                  [        R                  R                  [        R                  R
                  /nU Hf  nU" XU5      n[        UR                  U5        U" US   X#5      n[        UR                  U5        U" XS   U5      n[        UR                  U5        Mh     g )Nr   )rO  r   r   r+  rm  r  r   rl   )r   rR  rY  argThreerS  rT  r~  r:  s           r   test_three_arg_funcs,TestSingleEltArrayInput.test_three_arg_funcs  s    -1-@-@-B*'')=)=))+ Dvx0CH-vay&3CH-vay(3CH- r   r=   N)
r>   r?   r@   rA   rO  rV  rZ  r  r`  rB   r=   r   r   rM  rM  i  s    A.(.8.$.r   rM  )r   r  r   numpyr   r   numpy.testingr   r   r   r   r   r	   r
   r   rD   rS   ru   r   r   r  r  skipifr  rM  r=   r   r   <module>re     s    
      $F $FN> >Y YD8 8vK+ K+\m, m,`V@ V@r G$89'7 '7 :'7VS. S.r   