o 6a@sddlZddlZddlZddlmZmZmZmZm Z m Z m Z m Z ddlm Z ddlZGdddZGdddZGdd d ZGd d d ZGd d d ZGdddZGdddZGdddZGdddZdS)N)assert_ assert_raises assert_equal assert_warnsassert_no_warningsassert_array_equalassert_array_almost_equalsuppress_warnings)randomc@4eZdZddZddZddZddZd d Zd S) TestSeedcCs<tjd}t|ddtjd}t|dddS)Nrii)npr RandomStaterrandintselfsr@/usr/lib/python3/dist-packages/numpy/random/tests/test_random.py test_scalars  zTestSeed.test_scalarcCstjtd}t|ddtjtd}t|ddtjdg}t|ddtjdg}t|dddS)N r iriri )rr rrangerrarangerrrr test_arrayszTestSeed.test_arraycCs$tttjjdtttjjddS)Nr TypeErrorrr r ValueErrorrrrrtest_invalid_scalar szTestSeed.test_invalid_scalarcCsbtttjjdgtttjjdgtttjjdgtttjjgdtttjjgddS)Nrr)r#)r$r#rr!rrrtest_invalid_array%s zTestSeed.test_invalid_arraycCsRtttjjtjgtjdtttjjgdgtttjjgdgdgdS)Ndtyper$r%))rr rr rarrayint64r!rrrtest_invalid_array_shape-s  z!TestSeed.test_invalid_array_shapeN)__name__ __module__ __qualname__rrr"r'r1rrrrr s   r c@seZdZddZddZdS) TestBinomialcCsBtjddd}dD]}ttd|dktt|||q dS)Nr%intr()r?r$r)rzerosrr binomialr)rr8prrr test_n_zero7s zTestBinomial.test_n_zerocCstttjdtjdS)Nr$)rr r r9rnanr!rrr test_p_is_nan@szTestBinomial.test_p_is_nanN)r2r3r4r;r=rrrrr56s r5c@r ) TestMultinomialcCstdddgdS)Nd皙?皙?r multinomialr!rrr test_basicFzTestMultinomial.test_basiccCstdgddS)Nr?)r@rArFrFrBr!rrrtest_zero_probabilityIrEz%TestMultinomial.test_zero_probabilitycCsZtdtddkodkntddd}ttd|ktt|dkdS)Nrr-)rr rrall)rxrrrtest_int_negative_intervalLs$z*TestMultinomial.test_int_negative_intervalcCsddg}ttjd|tdjdttjd|tdjdttjd|tdjdttjd|ddgjdttjd|djdttjd|tdjdtttjjd|t ddS)Nr7r$r$r%r%r%r%r%r%r%) rrr rCuint32shaper/rrfloatrr:rrr test_sizeRszTestMultinomial.test_sizec CstttjjdddggtttjjddgdggtttjjddgdggdgdgggtttjjdtddgddggdS)Nrrr$)rr rr rCr/r!rrrtest_multidimensional_pvals`s&(z+TestMultinomial.test_multidimensional_pvalsN)r2r3r4rDrGrKrSrTrrrrr>Es  r>c@s<eZdZddZddZddZddZd d Zd d Zd S) TestSetStatecCs$d|_t|j|_|j|_dSNiI)seedr rprng get_statestater!rrrsetuphszTestSetState.setupcCs<|jd}|j|j|jd}tt||kdS)N)rXtomaxint set_staterZrrrIroldnewrrrrDms  zTestSetState.test_basiccCs@|jjdd}|j|j|jjdd}tt||kdSNr+size)rXstandard_normalr^rZrrrIr_rrrtest_gaussian_resetssz TestSetState.test_gaussian_resetcCsR|j|j}|jjdd}|j||jjdd}tt||kdSrb)rXrerYr^rrrI)rrZr`rarrr test_gaussian_reset_in_media_reszs   z-TestSetState.test_gaussian_reset_in_media_rescCsz|jdd}|jjdd}|j||jjdd}|j|j|jjdd}tt||ktt||kdS)Nr&r\rc)rZrXrer^rrrI)r old_statex1x2x3rrrtest_backwards_compatibilitys z)TestSetState.test_backwards_compatibilitycCs|jdddSNr7)rXnegative_binomialr!rrrtest_negative_binomialsz#TestSetState.test_negative_binomialN) r2r3r4r[rDrfrgrlrorrrrrUgs rUc @s|eZdZejjZejejej ej ej ej ej ejejg ZddZddZddZddZd d Zd d Zd dZddZdS) TestRandintcCstt|jdtddSNr$r()rrrfuncrQr!rrrtest_unsupported_typesz!TestRandint.test_unsupported_typecCs|jD]J}|tjur dnt|j}|tjurdnt|jd}tt|j|d||dtt|j||d|dtt|j|||dtt|jdd|dqdS)Nrr%r$r() ityperbool_iinfominmaxrr rr)rdtlbndubndrrrtest_bounds_checkings z TestRandint.test_bounds_checkingcCs|jD]T}|tjur dnt|j}|tjurdnt|jd}|d}t|j||dd|d||}t|j||dd|d|||d}t|j||dd|d|qdS)Nrr%r$r rdr))rtrrurvrwrxrrr)rryrzr{tgtrrrtest_rng_zero_and_extremess  z&TestRandint.test_rng_zero_and_extremesc Cs|jD]<}|tjur dnt|j}|tjurdnt|jd}z |j|||dWqty?}ztdt |d}~wwdS)Nrr%r$r(zMNo error should have been raised, but one was with the following message: %s) rtrrurvrwrxrr ExceptionAssertionErrorstr)rryrzr{errrtest_full_ranges zTestRandint.test_full_rangecCstj|jddD] }dD]}|jd|d|d}t||kt|dkqq |jdddtjd}t|dkt|dkdS)Nr$)r,r\r%ir}r) rr rWrtrrrrxrwru)rryr{valsrrrtest_in_bounds_fuzzs zTestRandint.test_in_bounds_fuzzc Csddl}dddddddddd }|jddD]9}tjd tjd kr.|jdd d |d }n |jdd d |d }| | tj  }t |t|j|kqtjd |jddd td  tj }| | }t |ttj|kdS)Nr@509aea74d792fb931784c4b0135392c65aec64beee12b0cc167548a2c3d31e71@7b07f1a920e46f6d0fe02314155a2330bcfd7635e708da50e536c5ebb631a7d4@e577bfed6c935de944424667e3da285012e741892dcb7051a8f1ce68ab05c92f@0fbead0b06759df2cfb55e43148822d4a1ff953c7eb19a5b08445a63bb64fa9e@001aac3a5acb935a9b186cbe14a1ca064b8bb2dd0b045d48abeacf74d0203404) boolint16int32r0int8uint16rOuint64uint8r$ilittler.r r}r%)hashlibrtrr rWsys byteorderrrbyteswapsha256viewr hexdigestrr)namer)rrr~ryvalresrrrtest_repeatabilitys,   zTestRandint.test_repeatabilitycCs`tj}ttjj}tttjj}tttjjd}tjj|||d}t||dSrq)rr0rvrxrr rr)rryr~rzr{actualrrrtest_int64_uint64_corner_cases  z)TestRandint.test_int64_uint64_corner_casecCs|jD]/}|tjur dnt|j}|tjurdnt|jd}|j|||d}t|jt|qt t tj j fD]3}|t urBdnt|j}|t urNdnt|jd}|j|||d}t t|d tt||q:dS)Nrr%r$r(r))rtrrurvrwrxrrrr)rr6compatlongrhasattrtype)rryrzr{samplerrrtest_respect_dtype_singletons z(TestRandint.test_respect_dtype_singletonN)r2r3r4rr rrrrurrrrrrOr0rrtrsr|rrrrrrrrrrrps ! rpc@seZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zejd'ejejejgd(d)Zejd'ejejejgejd*d+d,gd-d.Zd/d0Zd1d2Z d3d4Z!d5d6Z"d7d8Z#d9d:Z$d;d<Z%d=d>Z&d?d@Z'dAdBZ(dCdDZ)dEdFZ*dGdHZ+dIdJZ,dKdLZ-dMdNZ.dOdPZ/dQdRZ0dSdTZ1dUdVZ2dWdXZ3dYdZZ4d[d\Z5d]d^Z6d_d`Z7dadbZ8dcddZ9dedfZ:dgdhZ;didjZdodpZ?dqdrZ@dsdtZAdudvZBdwdxZCdydzZDd{d|ZEd}d~ZFddZGddZHddZIddZJddZKddZLddZMddZNddZOddZPddZQdS)TestRandomDistcC d|_dSrVrWr!rrrr[% zTestRandomDist.setupcCJtj|jtjdd}tddgddgddgg}t||d d dS) Nr+r%_\*?琛?<p?,o?H?Z?decimal)rr rWrandr/rrrdesiredrrr test_rand( zTestRandomDist.test_randcCr) Nr+r%!s z-TestRandomDist.test_shuffle..cSs|SrrrrrrrscSt|tjSr)rasarrayastyperrrrrrcSrr)rrrfloat32rrrrrrcSrr)rrr complex64rrrrrrcSst|tSr)rrrrrrrrrcSsdd|DS)NcSg|]}||fqSrr.0irrr ATestRandomDist.test_shuffle....rrrrrrscSstdd|DS)NcSsg|]}||gqSrrr rrrr r r)rrrrrrrr cSst||gjSr)rvstackTrrrrrrcSs*tdd|DdtfdtfgtjS)NcSrrrr rrrr r rrr)rrr6rrecarrayrrrrrs cSs$tdd|DdtfdtjfgS)NcSrrrr rrrr r rrr)rrrrrrrrrs) r$r%r+r,r-r.r r) rr$rr.r%r,r-rrr+)rr rWshuffler)rconvalistrrrrr test_shuffles&    zTestRandomDist.test_shufflecCstjttddddd}tjtdddd}|}|}tdD]4}tj|t t |j |j t |j |j tj|t t |j |j t |j |j q+dS)N)r-r,r+r$r2) rma masked_valuesreshaperrcopyr rrsorteddatamask)rrra_origb_origr rrrtest_shuffle_maskeds"     z"TestRandomDist.test_shuffle_maskedr cCsbdddddddd}tjtd d  }||Wdn1s!wYd |djvs/JdS) Nrr$r%r+r,r-r.)rr$r%r+r,r-r.z!you are shuffling a 'dict' objectmatchr)pytestwarns UserWarningrfilename)rr valuesrecrrrtest_shuffle_untyped_warnings z+TestRandomDist.test_shuffle_untyped_warninguse_array_likeTFcsGdddtj}dtdgtdtdtdg}tj|td}dd|D|r2||}tfd d |Ds?J|rgt|tjj sgt j t d d | |WddS1s`wYdS| |tfd d |DsyJdS)Nc@s eZdZdS)z>TestRandomDist.test_shuffle_no_object_unpacking..MyArrN)r2r3r4rrrrMyArrsr.r+rrr(cSsh|]}t|qSridr rrr r zBTestRandomDist.test_shuffle_no_object_unpacking..c3|] }t|vVqdSrr/r item_idsrr zBTestRandomDist.test_shuffle_no_object_unpacking..z#Shuffling a one dimensional array.*r$c3r2rr/r r3rrr5&r6)rndarrayr/float64rrrI isinstancer Generatorr&r'r(r)rr r-r.itemsrrr3r test_shuffle_no_object_unpacking s $  " z/TestRandomDist.test_shuffle_no_object_unpackingcCstj|jtdj}tj|tt|gdtj|j}||tt|gdtj |j}||tt|gddS)Nr-)rr$r,r+r%)rr$r%r+r,)r,r$rr+r%) rr rWrrrrrr default_rng)rrrngrrrtest_shuffle_memoryview(s    z&TestRandomDist.test_shuffle_memoryviewcCNtj|jtjjdddd}tddgddgd d gg}t||d d dS) NrrrrcgAKč?ghA?g ҇o>gάXf+q?gS1$?g'8zX ?rr)rr rWbetar/rrrrr test_beta7szTestRandomDist.test_betacCr) Nr?gv/?rrc%+r0.-)rr rWr9r/rrrrr test_binomial@rzTestRandomDist.test_binomialcCLtj|jtjjddd}tddgddgdd gg}t||d d dS) Nrrrcg+Q]uO@g+Q@gY7`ZqP@ge(fG@gvtR@gEIȋR@ r)rr rW chisquarer/rrrrrtest_chisquareH zTestRandomDist.test_chisquarecCsttj|jtddg}tjjj|dd}tddgddggd d gd d ggd dgddggg}t||dddS)NI?gc>+Y?g_}S?rr)rr rWfr/rrrrrtest_f zTestRandomDist.test_fcCr@) Nr-r+rrcgԏGM8@gȌ<@g ":@gv#)@gZQ?@gr[@@r)rr rWgammar/rrrrr test_gammarczTestRandomDist.test_gammacCs.ttjjddddtttjjddddS)Nr)rPr[r\)rrr rerr r!rrr test_gamma_0szTestRandomDist.test_gamma_0cCHtj|jtjjddd}tddgddgddgg}t||dS) N_c97ݚ?rrcrrr-r_)rr rW geometricr/rrrrrtest_geometric zTestRandomDist.test_geometriccCr@) Nri@rlocr[rdgؕ?gs0?g#0g(xg-KD?gůp`@rr)rr rWgumbelr/rrrrr test_gumbelrczTestRandomDist.test_gumbelcCrXrY)rrr rqrr r!rrr test_gumbel_0r^zTestRandomDist.test_gumbel_0cCstj|jtjjddddd}tddgddgddgg}t||tjjdddd d}tgd }t||tjjd dd d d}tgd }t||tjjdddd d}tgd}t||tjjdd d d d}tgd}t||dS)Nrr-rdrrcrrr+r,)r+r+r+r+rr_)r_r_r_r_)rrrr)rr rWhypergeometricr/rrrrrtest_hypergeometrics&     z"TestRandomDist.test_hypergeometriccCr@) Nrirnrrog bO?g¸?gpJm @g{K*t @g:^w-gY~o?rr)rr rWlaplacer/rrrrr test_laplacerczTestRandomDist.test_laplacecCrXrY)rrr rvrr r!rrrtest_laplace_0r^zTestRandomDist.test_laplace_0cCr@) Nrirnrrog#K-z?gJ?g92@gر[@g#+^˿g-@rr)rr rWlogisticr/rrrrr test_logisticrczTestRandomDist.test_logisticcCr@) Nrirnr)meansigmardgɁ0@go,+4FB@g)ʭ6@g5?gnxNnP@g)U@rJr)rr rW lognormalr/rrrrrtest_lognormalrczTestRandomDist.test_lognormalcCs*ttjjdddtttjjdddS)Nr)r|r$r\)rrr r}rr r!rrrtest_lognormal_0r^zTestRandomDist.test_lognormal_0cCsHtj|jtjjddd}tddgddgddgg}t||dS)Ngƀ@?r)r:rdr%r.rjr+)rr rW logseriesr/rrrrrtest_logseriesrmzTestRandomDist.test_logseriescCshtj|jtjjddgddd}tgdgdggdgd ggd gd gg}t||dS) NrUUUUUU?r.rrc)r,r+r-r,r%r%)r-r%rr%r%r$)r+r,r+r.rr,)r%r$r,r+r.r,)r,r,r%r-r%r+)r,r+r,r%r+r,)rr rWrCr/rrrrrtest_multinomials zTestRandomDist.test_multinomialcCsftj|jd}ddgddgg}d}tj|||}tddgddggd d gd d ggd dgddggg}t||ddtj||}tddg}t||ddddg}ddgddgg}tttjj||ttjj||ddt t tjj||ddtjddgddggtj d}t }tj||| t}t|dksJWddS1swYdS)N)rirr$rrg4Vj?gy'@gI1?gSB#@g e<@g4W(@g6R¿?g9r v"@gс?g{#@g4xg"f"@rrgN}O6?gYMW"@r%ignore) check_validraiserr()rr rWmultivariate_normalr/rrRuntimeWarningrrr rr rr)rr{covrdrrrrrrrtest_multivariate_normalsD   "z'TestRandomDist.test_multivariate_normalcCr) Nr?g|Pk?r)nr:rdiPiIi|ici i)rr rWrnr/rrrrrrorz%TestRandomDist.test_negative_binomialcCstj|jtjjdddd}tddgddgdd gg}t||d d tjjd d dd}tddgddgddgg}t||d d tj|jtjjdddd}tddgddgddgg}t||d d dS)Nr-r)dfnoncrdgG7@g!ܴ*@g1}z9?@g+驸0@g26E_r#@gI!1@rdrr7r@g?gTD?g?T?g+qnl?g~|D?g밬?rg{01#@gprs'@g~;$@g"dI @g*@g }',@)rr rWnoncentral_chisquarer/rrrrrtest_noncentral_chisquare$s(   z(TestRandomDist.test_noncentral_chisquarecCPtj|jtjjddddd}tddgdd gd d gg}t||d d dS)Nr-r%r$r)dfnumdfdenrrdg^~?g/+c?g". @g@g7?gE?rdr)rr rW noncentral_fr/rrrrrtest_noncentral_f9  z TestRandomDist.test_noncentral_fcCr@) Nrirnrrog&&n@gOG_ @g~w@gtw]տgm&5@g$>@rr)rr rWnormalr/rrrrr test_normalBrczTestRandomDist.test_normalcCrXrY)rrr rrr r!rrr test_normal_0Jr^zTestRandomDist.test_normal_0cCsPtj|jtjjddd}tddgddgdd gg}tjj||d d dS) NrirrrdgW I@g Ԩy@gy]0Ag1~\Aga@gY 7A)nulp)rr rWparetor/testingassert_array_almost_equal_nulprrrr test_paretoNs zTestRandomDist.test_paretocCsHtj|jtjjddd}tddgddgddgg}t||dS)Nrir)lamrdrr$)rr rWpoissonr/rrrrr test_poisson]rmzTestRandomDist.test_poissoncCs`tdj}d}tttjj|tttjj|gdtttjj|tttjj|gddS)Nrrr)rrvrxrr r r)rlambiglamnegrrrtest_poisson_exceptionses z&TestRandomDist.test_poisson_exceptionscCrI) Nrirrg;'?gܴw*?g5?gFG?gD]?g$`?rr)rr rWpowerr/rrrrr test_powermrMzTestRandomDist.test_powercCrI) Nrr)r[rdg"u+@gN$MB*@g7v8B4@g55@ge&@g~ӣZ1@rdr)rr rWrayleighr/rrrrr test_rayleighurMzTestRandomDist.test_rayleighcCrXrY)rrr rrr r!rrrtest_rayleigh_0}r^zTestRandomDist.test_rayleigh_0cCJtj|jtjjdd}tddgddgddgg}t||d d dS) NrrcgMoDL?g6([9grF=?gM' -gVgVA:Qy?rr)rr rWstandard_cauchyr/rrrrrtest_standard_cauchyrz#TestRandomDist.test_standard_cauchycCr) Nrrcg܁?gc!z?g&N"@gNI@gF>?g~ME?rr)rr rWstandard_exponentialr/rrrrrtest_standard_exponentialrz(TestRandomDist.test_standard_exponentialcCrI) Nr+r)rPrdg)@gľ@gd],q@gPk{@g9B #1@gv @rdr)rr rWstandard_gammar/rrrrrtest_standard_gammarMz"TestRandomDist.test_standard_gammacCrX)Nr)rPr\)rrr rrr r!rrrtest_standard_gamma_0r^z$TestRandomDist.test_standard_gamma_0cCr) Nrrcrrrrrrrr)rr rWrer/rrrrrtest_standard_normalrz#TestRandomDist.test_standard_normalcCrI) Nrr)rrdg\VH?ghU%gH$M?gLgVqdzǿg㖀?rr)rr rW standard_tr/rrrrrtest_standard_trMzTestRandomDist.test_standard_tcCr)Ng{Gz@g(\u$@gףp= W4@r)leftmoderightrdg:}\)@ghرTj(@gǨL30@g6ڜA0@g6sh&@g<,@rdr)rr rW triangularr/rrrrrtest_triangularrzTestRandomDist.test_triangularcCr@) NGz?gGz%@r)lowhighrdg>#H@gu@g#@g}d]#@gN@gw )* @rr)rr rWuniformr/rrrrr test_uniformrczTestRandomDist.test_uniformcCstdj}tdj}tjj}tt|tj dtt|dtjtt|||tt|tj gdgtt|dgtjgtjjt |d|dddS)NrQrr$g؅W4vC)rr) rfinforwrxr rr OverflowErrorinf nextafter)rfminfmaxfuncrrrtest_uniform_range_boundss   z(TestRandomDist.test_uniform_range_boundscCsnGdddtj}td|}tttjj||Gdddtj}td|}tttjj|dddS)Nc@seZdZddZdS)zGTestRandomDist.test_scalar_exception_propagation..ThrowingFloatcStrrr!rrr __float__zQTestRandomDist.test_scalar_exception_propagation..ThrowingFloat.__float__N)r2r3r4rrrrr ThrowingFloats rg?c@seZdZddZeZdS)zITestRandomDist.test_scalar_exception_propagation..ThrowingIntegercSrrrr!rrr__int__rzQTestRandomDist.test_scalar_exception_propagation..ThrowingInteger.__int__N)r2r3r4r __index__rrrrThrowingIntegersrr$) rr7r/rrrr rrt)rrthrowing_floatr throwing_intrrr!test_scalar_exception_propagations z0TestRandomDist.test_scalar_exception_propagationcCr@) Nrp= ף?rmukappardgLZI@g'N"@gkr?gk=m@gډ?g^=\?rr)rr rWvonmisesr/rrrrr test_vonmisesrczTestRandomDist.test_vonmisescCs:tj|jtjjdddd}tjt|dS)NrFg g5_PG>i@Br)rr rWrrrisfiniterI)rrrrrtest_vonmises_smallsz"TestRandomDist.test_vonmises_smallcCr@) Nrrr)r{r[rdgZ@g- g@g8 m?gVP"?g`V?gx^&3?rdr)rr rWwaldr/rrrrr test_waldrczTestRandomDist.test_waldcCrI) Nrrrg@6?g]A?g(1ڥR?gU?g2_u?g^}-Q?rr)rr rWweibullr/rrrrr test_weibullrMzTestRandomDist.test_weibullcCs@tj|jttjjdddtdtttjjdddS)Nrr_rr\)r)rr rWrrr8rr r!rrrtest_weibull_0szTestRandomDist.test_weibull_0cCrh) NrrrBr$r+rJ)rr rWzipfr/rrrrr test_zipf rmzTestRandomDist.test_zipfN)Rr2r3r4r[rrrrrrrrrrrrrrrrrr#r&mark parametrizerr rr=r,r<r?rBrHrLrSrTrUrWr]rbrfrgrlrrrsrurwrxrzr~rrrrrorrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr!s .       (   rc@s eZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3d4Zd5d6Zd7d8Zd9d:Zd;d<Z d=d>Z!d?d@Z"dAS)B TestBroadcastcCr)Ni[rr!rrrr[rzTestBroadcast.setupcCstj|jdSr)rr rWr!rrrsetSeedszTestBroadcast.setSeedcCsndg}dg}tjj}tgd}|||d|}t||dd||||d}t||dddS)Nrr$gl ?g_x ?g =*BN?r+rdr)rr rr/rr)rrrrrrrrrrszTestBroadcast.test_uniformcCdg}dg}dg}tjj}tgd}|||d|}t||ddtt||d|||||d}t||ddtt|||ddS)Nrr$r)g-r@gYl@g-`w?r+rdr)rr rr/rrrr )rrpr[ bad_scalerrrrrrr.zTestBroadcast.test_normalcCdg}dg}dg}dg}tjj}tgd}|||d|}t||ddtt||d|tt||d|||||d}t||ddtt|||dtt|||ddS) Nr$r%rr&)gnQVf?gVKB?g v`k?r+rdr)rr rAr/rrrr )rrrbad_abad_brArrrrrrBA zTestBroadcast.test_betacCXdg}dg}tjj}tgd}|||d}t||ddtt||ddSNr$r)g.UgZ?giPrq?gE K?r+rdr)rr rVr/rrrr )rr[rrVrrrrrrWW zTestBroadcast.test_exponentialcCrr)rr rr/rrrr )rrP bad_shape std_gammarrrrrrdrz!TestBroadcast.test_standard_gammacCr) Nr$r%rr&)g.UgZ?giPrq?gE K?r+rdr)rr rer/rrrr )rrPr[rrrerrrrrrfqrzTestBroadcast.test_gammacCr) Nr$r%rr&)gbyʜ?go?gT7@r+rdr)rr rar/rrrr )rrr bad_dfnum bad_dfdenrarrrrrrbrzTestBroadcast.test_fc Csddg}dg}dg}dg}dg}dg}tjj}tgd}|||d||} t| |dd tt||d||tt||d||tt||d||||||d|} t| |dd tt|||d|tt|||d|tt|||d||||||d} t| |dd tt||||dtt||||dtt||||ddS) Nr%r+r,rrr&)gr^G"@g/ *@gц!@rdr)rr rr/rrrr ) rrrrrrbad_noncnonc_frrrrrrs4zTestBroadcast.test_noncentral_fcCs<|tddg}tjjddddd}t||dddS)Ngaz@gn4M;%?rr%rcrdr)rrr/r rr)rrrrrrtest_noncentral_f_small_dfsz(TestBroadcast.test_noncentral_f_small_dfcCr)Nr$r)g~}N??g$F?g'rS?r+rdr)rr rKr/rrrr )rrbad_dfrKrrrrrrLrzTestBroadcast.test_chisquarecCr) Nr$r%rr&)g w"@g2 WR@gRY@r+rdr)rr rr/rrrr )rrrrrnonc_chirrrrrrrz'TestBroadcast.test_noncentral_chisquarecCr)Nr$r)gT @g~Fl@gƚtp?r+rdr)rr rr/rrrr )rrrtrrrrrrrzTestBroadcast.test_standard_tcCr)Nr%r$r)gW!@gOBg}?r+rdr)rr rr/rrrr )rrr bad_kapparrrrrrrrzTestBroadcast.test_vonmisescCr)Nr$r)g&8??geFX?gՋː?r+rdr)rr rr/rrrr )rrrrrrrrrrrzTestBroadcast.test_paretocCrr)rr rr/rrrr )rrrrrrrrrrrzTestBroadcast.test_weibullcCr)Nr$rrr+rdr)rr rr/rrrr )rrrrrrrrrr!rzTestBroadcast.test_powercCr)Nrr$r)g:BKc?g3k?g~q?r+rdr)rr rvr/rrrr )rrpr[rrvrrrrrrw.rzTestBroadcast.test_laplacecCr)Nrr$r)g'Zy?gdSO=?g3L1?r+rdr)rr rqr/rrrr )rrpr[rrqrrrrrrrArzTestBroadcast.test_gumbelcCr)Nrr$r)g“y?gJR?g ~&?r+rdr)rr ryr/rrrr )rrpr[rryrrrrrrzTrzTestBroadcast.test_logisticcCr)Nrr$r)gH"@gܮ @gvv :@r+rdr)rr r}r/rrrr )rr{r| bad_sigmar}rrrrrr~grzTestBroadcast.test_lognormalcCr)Nr$r)gݱlo?g/ӂ?gz~R?r+rdr)rr rr/rrrr )rr[rrrrrrrrzrzTestBroadcast.test_rayleighcCsdg}dg}dg}dg}tjj}tgd}|||d|}t||ddtt||d|tt||d|||||d}t||ddtt|||dtt|||dtt|d dtt|dd dS) Nr7r$rr&)g@m e?g`I߿?g|2?r+rdrrF)rr rr/rrrr )rr{r[bad_meanrrrrrrrrs$zTestBroadcast.test_waldc Csjdg}dg}dg}dg}dg}|d\}}tjj}tgd} |||d||} t| | ddtt||d||tt||d||tt||d||||||d|} t| | ddtt|||d|tt|||d|tt|||d||||||d} t| | ddtt||||dtt||||dtt||||ddS)Nr$r+r%r,)g,P;bD@g%G@g,~S@rdr)rr rr/rrrr ) rrrr bad_left_one bad_mode_one bad_left_two bad_mode_tworrrrrrrs@  zTestBroadcast.test_triangularc Cdg}dg}dg}dg}dg}tjj}tgd}|||d|}t||tt||d|tt||d|tt||d|||||d}t||tt|||dtt|||dtt|||ddS)Nr$r7r?r$r$r$r+)rr r9r/rrrr ) rrr:bad_n bad_p_one bad_p_twobinomrrrrrrH&  zTestBroadcast.test_binomialc Cr)Nr$r7rr)r$rr$r+)rr rnr/rrrr ) rrr:rr r  neg_binomrrrrrror z$TestBroadcast.test_negative_binomialcCsztjj}dg}dg}|dg}tjj}tgd}|||d}t||tt ||dtt ||ddS)Nr$rr%)r$r$rr+) rr r_poisson_lam_maxrr/rrrr )rmax_lamr bad_lam_one bad_lam_tworrrrrrrs    zTestBroadcast.test_poissoncCsdg}dg}tjj}tgd}|||d}t||tt||dtjddtt|tj tt|ddtj gWddS1sKwYdS)Nr%r)r%r%r$r+r)invalid) rr rr/rrrr errstater<)rrrrrrrrrrs  "zTestBroadcast.test_zipfcCjdg}dg}dg}tjj}tgd}|||d}t||tt||dtt||ddS)Nr7rrrMr+)rr rkr/rrrr )rr:r r geomrrrrrrl  zTestBroadcast.test_geometricc Csdg}dg}dg}dg}dg}dg}dg}tjj}tgd} |||d||} t| | tt||d||tt||d||tt||d||tt||d||||||d|} t| | tt|||d|tt|||d|tt|||d|tt|||d||||||d} t| | tt||||dtt||||dtt||||dtt||||ddS) Nr$r%rr&rr,rr+)rr rtr/rrrr ) rngoodnbadnsample bad_ngoodbad_nbadbad_nsample_onebad_nsample_two hypergeomrrrrrrus<   z!TestBroadcast.test_hypergeometriccCr)Nr7r%rrr+)rr rr/rrrr )rr:r r rrrrrrr>rzTestBroadcast.test_logseriesN)#r2r3r4r[rrrrBrWrrfrbrrrLrrrrrrrwrrrzr~rrrrHrorrrlrurrrrrrsB  !      $ #rc@r ) TestThreadcCstd|_dS)Nr,)rseedsr!rrrr[NszTestThread.setupcsddlmtt|jf|}tt|jf|}fddt|j|D}dd|Ddd|Dt|j|D] \}}tj||q>t j j dkr`t j dkr`t||dSt||dS) Nr)Threadcs(g|]\}}tj||fdqS))targetargs)rr r)r ror!functionrrr Xsz-TestThread.check_function..cSg|]}|qSr)startr rJrrrr Zr cSr'r)joinr)rrrr [r r,win32) threadingr!rrrr zipr rintpr)itemsizerplatformrr)rr&szout1out2rrr$rr%rcheck_functionQs   zTestThread.check_functioncCdd}|j|dddS)NcSs|jdd|d<dS)N'rc.)rrZoutrrr gen_randomhrEz*TestThread.test_normal..gen_random)r6r1r4rr9rrrrgzTestThread.test_normalcCr5)NcSs|jtdd|d<dS)Nr?r rZ.)rVronesr7rrrr9msz'TestThread.test_exp..gen_randomr>r:r;r<rrrtest_explr=zTestThread.test_expcCr5)NcSs|jddgddd|d<dS)Nrrr.r6rc.)rCr7rrrr9rsz/TestThread.test_multinomial..gen_random)r6r.r:r;r<rrrrqr=zTestThread.test_multinomialN)r2r3r4r[r4rr@rrrrrrLs  rc@s,eZdZddZddZddZddZd S) TestSingleEltArrayInputcCs4tdg|_tdg|_tdg|_d|_dS)Nr%r+r,)r$)rr/argOneargTwoargThreetgtShaper!rrrr[ys zTestSingleEltArrayInput.setupc Cstjjtjjtjjtjjtjjtjjtjjtjj tjj tjj tjj tjj f }tjj tjj f}|D]}||vr?|tdg}n||j}t|j|jq0dSrm)rr rVrrKrrrrrrrrkrr/rBrrPrE)rfuncs probfuncsrr8rrrtest_one_arg_funcss       z*TestSingleEltArrayInput.test_one_arg_funcscCstjjtjjtjjtjjtjjtjjtjjtjj tjj tjj tjj tjj tjjtjjf}tjjtjjf}|D];}||vrCtdg}n|j}||j|}t|j|j||jd|}t|j|j||j|d}t|j|jq6dS)Nr7r)rr rrrArerarrrvrqryr}rr9rnr/rCrBrrPrE)rrFrGrrCr8rrrtest_two_arg_funcss(        z*TestSingleEltArrayInput.test_two_arg_funcscCstjjtjjtjjg}|D]6}||j|j|j}t|j |j ||jd|j|j}t|j |j ||j|jd|j}t|j |j q dS)Nr) rr rrrtrBrCrDrrPrE)rrFrr8rrrtest_three_arg_funcss z,TestSingleEltArrayInput.test_three_arg_funcsN)r2r3r4r[rHrIrJrrrrrAxs  -rA)rr&numpyr numpy.testingrrrrrrrr r rr r5r>rUrprrrrArrrrs2( '"0 v>,