o 6al> @sddlZddlZddlZddlZddlZddlZddlmZm Z m Z m Z m Z m Z mZmZddlmZmZddlmZddddded d fd d d dZeejdkr`dddddddddZn dddddddd dZejd!ed"d#d$Zd%d&ZGd'd(d(ZGd)d*d*ZGd+d,d,ZGd-d.d.Z Gd/d0d0Z!Gd1d2d2Z"Gd3d4d4Z#Gd5d6d6Z$Gd7d8d8Z%d9d:Z&d;d<Z'd=d>Z(dS)?N)assert_ assert_raises assert_equal assert_warnsassert_no_warningsassert_array_equalassert_array_almost_equalsuppress_warnings)MT19937PCG64)random)gY@g333333?)?)r rg@)dr )$@))binomial geometrichypergeometric logseries multinomialnegative_binomialpoissonzipf@2fbead005fc63942decb5326d36a1f32fe2c9d32c904ee61e46866b88447c263@23ead5dcde35d4cfd4ef2c105e4c3d43304b45dc1b1444b7823b9ee4fa144ebb@0d764db64f5c3bad48c8c33551c13b4d07a1e7b470f77629bef6c985cac76fcf@7b59bf2f1691626c5815cdcd9a49e1dd68697251d4521575219e4d2a1b8b2c67@d754fa5b92943a38ec07630de92362dd2e02c43577fc147417dc5b9db94ccdd3@8eb216f7cb2a63cf55605422845caaff002fddc64a7dc8b2d45acd477a49e824@70c891d76104013ebd6f6bcf30d403a9074b886ff62e4e6b8eb605bf1a4673b7@01f074f97517cd5d21747148ac6ca4074dde7fcb7acbaec0a936606fecacd93f)rrrrrrrr@8626dd9d052cb608e93d8868de0a7b347258b199493871a1dc56e2a26cacb112@8edd53d272e49c4fc8fbbe6c7d08d563d62e482921f3131d0a0e068af30f0db9@83496cc4281c77b786c9b7ad88b74d42e01603a55c60577ebab81c3ba8d45657@65878a38747c176bc00e930ebafebb69d4e1e16cd3a704e264ea8f5e24f548db@7a984ae6dca26fd25374479e118b22f55db0aedccd5a0f2584ceada33db98605@d636d968e6a24ae92ab52fe11c46ac45b0897e98714426764e820a7d77602a61@956552176f77e7c9cb20d0118fc9cf690be488d790ed4b4c4747b965e61b0bb4@f84ba7feffda41e606e20b28dfc0f1ea9964a74574513d4a4cbc98433a8bfa45module)scopeparamscCs|jt|jt|jfSN)param INT_FUNCSINT_FUNC_HASHES)requestr5E/usr/lib/python3/dist-packages/numpy/random/tests/test_randomstate.pyint_func2s r7cCsnt|d|dt|dd|ddt|dd|ddt|d|dt|d|ddS)N bit_generatorstatekeypos has_gaussgauss)rr)abr5r5r6assert_mt19937_state_equal8s r@c@sDeZdZddZddZddZddZd d Zd d Zd dZ dS)TestSeedcCs8td}t|ddtd}t|dddS)Nrii)r RandomStaterrandintselfsr5r5r6 test_scalarAs  zTestSeed.test_scalarcCszttd}t|ddttd}t|ddtdg}t|ddtdg}t|dddS)NrrBirirCi )r rDrangerrEnparangerFr5r5r6 test_arrayGs  zTestSeed.test_arraycCs tttjdtttjddS)Nr TypeErrorr rD ValueErrorrGr5r5r6test_invalid_scalarQzTestSeed.test_invalid_scalarcCsXtttjdgtttjdgtttjdgtttjgdtttjgddS)NrNrOr)rr)rVrrPrSr5r5r6test_invalid_arrayVs zTestSeed.test_invalid_arraycCsLtttjtjgtjdtttjgdgtttjgdgdgdS)NdtyperVr)r)rrRr rDrKarrayint64rSr5r5r6test_invalid_array_shape^s z!TestSeed.test_invalid_array_shapecCsFttd}tt|dWddS1swYdS)Nr)r rDr rrQseed)rGrsr5r5r6test_cannot_seedfs  "zTestSeed.test_cannot_seedcCstttjtdSr0)rrRr rDr rSr5r5r6test_invalid_initializationksz$TestSeed.test_invalid_initializationN) __name__ __module__ __qualname__rIrMrTrXrarerfr5r5r5r6rA@s  rAc@seZdZddZddZdS) TestBinomialcCsBtjddd}dD]}ttd|dktt|||q dS)NrintrY)rr rVr)rKzerosrr rr)rGrlpr5r5r6 test_n_zerops zTestBinomial.test_n_zerocCstttjdtjdS)NrV)rrRr rrKnanrSr5r5r6 test_p_is_nanyszTestBinomial.test_p_is_nanN)rgrhrirnrpr5r5r5r6rjos rjc@sLeZdZddZddZddZddZd d Zd d Zd dZ ddZ dS)TestMultinomialcCstdddgdS)Nr皙?皙?r rrSr5r5r6 test_basiczTestMultinomial.test_basiccCstdgddS)Nr)rrrsrwrwrtrSr5r5r6test_zero_probabilityrvz%TestMultinomial.test_zero_probabilitycCsZtdtddkodkntddd}ttd|ktt|dkdS)NrOr^)rr rErKallrGxr5r5r6test_int_negative_intervals$z*TestMultinomial.test_int_negative_intervalcCsddg}ttd|tdjdttd|tdjdttd|tdjdttd|ddgjdttd|djdttd|tdjdtttjd|t ddS)Nr rVrVrrrrrrr) rr rrKuint32shaper_rrQfloatrGrmr5r5r6 test_sizes zTestMultinomial.test_sizecCs,tttjdddgtttjdddgdS)Nr皙?rr皙?rrRr rrSr5r5r6test_invalid_probsz!TestMultinomial.test_invalid_probcCstttjdddgdS)NrOrsrrrrSr5r5r6test_invalid_nzTestMultinomial.test_invalid_ncCsttd}|t|ddd}|ddd}tdtjd|d}tdtjdt|d}t||dS)Ng.@rVr\i۠iUr)pvals)rKrLsumr rcrascontiguousarrayr)rGrmr non_contigcontigr5r5r6test_p_non_contiguouss   z%TestMultinomial.test_p_non_contiguouscCsdtjgdtjd}||}d}tjt|dtd|WddS1s+wYdS)N) Gz?r& .>rrrrrrrrYz-[\w\s]*pvals array is cast to 64-bit floating)matchrV) rKr_float32rpytestraisesrRr r)rGr|rrr5r5r6test_multinomial_pvals_float32s  "z.TestMultinomial.test_multinomial_pvals_float32N) rgrhrirurxr}rrrrrr5r5r5r6rq~s rqc@sdeZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ dS) TestSetStatecCs$d|_t|j|_|j|_dSNiI)rcr rD random_state get_stater9rSr5r5r6setupszTestSetState.setupcCs<|jd}|j|j|jd}tt||kdS)N)rtomaxint set_stater9rrKrzrGoldnewr5r5r6rus  zTestSetState.test_basiccCs@|jjdd}|j|j|jjdd}tt||kdSNr\size)rstandard_normalrr9rrKrzrr5r5r6test_gaussian_resetsz TestSetState.test_gaussian_resetcCsR|j|j}|jjdd}|j||jjdd}tt||kdSr)rrrrrrKrz)rGr9rrr5r5r6 test_gaussian_reset_in_media_ress   z-TestSetState.test_gaussian_reset_in_media_rescCsz|jdd}|jjdd}|j||jjdd}|j|j|jjdd}tt||ktt||kdS)NrWrr)r9rrrrrKrz)rG old_statex1x2x3r5r5r6test_backwards_compatibilitys z)TestSetState.test_backwards_compatibilitycCs|jdddSNr )rrrSr5r5r6test_negative_binomialsz#TestSetState.test_negative_binomialcCsxtt}t)}|t}|}tt|dkt |t s"J|ddks*JWddS1s5wYdS)NrVr8r ) r rDr r recordRuntimeWarningrrlen isinstancedict)rGrdsupwr9r5r5r6test_get_state_warnings  "z#TestSetState.test_get_state_warningcCsl|j}d|dd}tt|jj|tt|jjtj|td|jjdd}|d=tt|jj|dS)N)UnknownrVrYFlegacyr8) rrrrRrrQrKr_object)rGr9 new_stater5r5r6!test_invalid_legacy_state_settings   z.TestSetState.test_invalid_legacy_state_settingcCsj|jd|jd|j|jjdd}t|ddtt|j}|jdd}t ||dS)NrrFrr<rV) rrc random_samplerrrpickleloadsdumpsr@)rGpickled rs_unpick unpickledr5r5r6 test_pickles    zTestSetState.test_picklecCs<|j}|j|j||jjdd}t||dS)NFr)r __getstate__r __setstate__rr@)rG attr_stater9r5r5r6test_state_settings   zTestSetState.test_state_settingcCst|jds JdS)NzRandomState(MT19937))reprr startswithrSr5r5r6 test_reprrzTestSetState.test_reprN)rgrhrirrurrrrrrrrrr5r5r5r6rs     rc @seZdZejZejejej ej ej ej ej ejejg ZddZddZddZddZd d Zd d Zejjed jdkddddZddZddZdS) TestRandintcCstt|jdtddSNrVrY)rrQrfuncrrSr5r5r6test_unsupported_typesz!TestRandint.test_unsupported_typecCs|jD]J}|tjur dnt|j}|tjurdnt|jd}tt|j|d||dtt|j||d|dtt|j|||dtt|jdd|dqdS)NrrrVrY) ityperKbool_iinfominmaxrrRr)rGdtlbndubndr5r5r6test_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)NrrrVrBrrZ)rrKrrrrrr)rGrrrtgtr5r5r6test_rng_zero_and_extremess  z&TestRandint.test_rng_zero_and_extremesc Cs|jD]<}|tjur dnt|j}|tjurdnt|jd}z |j|||dWqty?}ztdt |d}~wwdS)NrrrVrYzMNo error should have been raised, but one was with the following message: %s) rrKrrrrr ExceptionAssertionErrorstr)rGrrrer5r5r6test_full_range,s zTestRandint.test_full_rangecCst|jddD] }dD]}|jd|d|d}t||kt|dkqq |jdddtjd}t|dkt|dkdS)NrV)r]rrirr) r rcrrrrrrKr)rGrrvalsr5r5r6test_in_bounds_fuzz:szTestRandint.test_in_bounds_fuzzc Csdddddddddd }|jddD]8}tdtjd kr)|jd d d |d }n |jd d d |d }t| t j  }t |t |j|kqtd|jd dd td  t j }t| }t |t tj|kdS)N@509aea74d792fb931784c4b0135392c65aec64beee12b0cc167548a2c3d31e71@7b07f1a920e46f6d0fe02314155a2330bcfd7635e708da50e536c5ebb631a7d4@e577bfed6c935de944424667e3da285012e741892dcb7051a8f1ce68ab05c92f@0fbead0b06759df2cfb55e43148822d4a1ff953c7eb19a5b08445a63bb64fa9e@001aac3a5acb935a9b186cbe14a1ca064b8bb2dd0b045d48abeacf74d0203404) boolint16int32r`int8uint16ruint64uint8rVrblittlerrrBrr)rr rcsys byteorderrbyteswaphashlibsha256viewrKr hexdigestrrZnamer)rGrrvalresr5r5r6test_repeatabilityIs*   zTestRandint.test_repeatabilitylrzCannot test with 32-bit C long)reasonc Cstgdgdgdggdgdgdggdgdgd ggd gd gd ggd gdgdgg}dD]$}td|jdgdgdgggd|d}t||durX|n|dq9dS)N)lQ[ldm"l0)l;ilvlmliXp)i\L_lZNiwU')l<~l20liP?)ifiwLl@ Vo)lo\iwi 1])i{YSlr=|i)l0lli&})lQZ)l(q l'}Q)lWqV1iM l't)i nMlb"l))iallS"f)idi9 8lnDk)lJ ci-l)iMi'*ll,)N)r^r\r\i90rOrrV)rCrlr)rKr_r rcrr)rGdesiredrr|r5r5r6.test_repeatability_32bit_boundary_broadcastingis8  z:TestRandint.test_repeatability_32bit_boundary_broadcastingcCs^tj}ttjj}tttjj}tttjjd}tj|||d}t||dSr)rKr`rrrr rEr)rGrrrractualr5r5r6test_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)NrrrVrYrZ)rrKrrrrrrrZrrkcompatlongrhasattrtype)rGrrrsampler5r5r6test_respect_dtype_singletons z(TestRandint.test_respect_dtype_singletonN)rgrhrir rErrKrrrrrrrr`rrrrrrrrrmarkskipifrrrrr r5r5r5r6r s"    rc@seZdZddZddZddZddZd 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"dAdBZ#dCdDZ$dEdFZ%dGdHZ&dIdJZ'dKdLZ(dMdNZ)dOdPZ*dQdRZ+dSdTZ,dUdVZ-dWdXZ.dYdZZ/d[d\Z0d]d^Z1d_d`Z2dadbZ3dcddZ4dedfZ5dgdhZ6didjZ7dkdlZ8dmdnZ9dodpZ:dqdrZ;dsdtZdydzZ?d{d|Z@d}d~ZAddZBddZCddZDddZEddZFddZGddZHddZIddZJddZKddZLddZMddZNddZOddZPddZQddZRddZSdS)TestRandomDistcC d|_dSrrcrSr5r5r6r zTestRandomDist.setupcCsFt|jtdd}tddgddgddgg}t||d d dS) Nr\r_\*?琛?<p?,o?H?Z?decimal)r rcrandrKr_rrGrrr5r5r6 test_rand   zTestRandomDist.test_randcCs*t|jt}d}t||dddS)Nrrr)r rcrrrr5r5r6test_rand_singletons z"TestRandomDist.test_rand_singletoncCslt|jtdd}tddgddgddgg}t||d d t|jt}t||d d d dS) Nr\r!t|jtjdddgdd}tgd}t||dS)Nr]r\F)rE333333?r rErIrm)rr\rVrArr5r5r6 test_choice_nonuniform_noreplace<s z/TestRandomDist.test_choice_nonuniform_noreplacecCs8t|jtgdd}tgd}t||dS)N)r>r?cdr])rOrPrOrPrArr5r5r6test_choice_nonintegerBrKz%TestRandomDist.test_choice_nonintegercCs2tj}tt|ddtt|ddtt|ddgddggdtt|gdtt|gddddgddggd tt|ddgdgd d tt|ddgdd d gd tt|ddgdd d gd tt|gddddtt|gddddtt|gddddtt|gddddtt|gdddgdddS)NrOr\@rVrr])rVrr\r]g?rF)rDrDrrrrrDr[FrHrW)rO)rOrV)rVrrrM)r rBrrR)rGr r5r5r6test_choice_exceptionsHs$ z%TestRandomDist.test_choice_exceptionsc Csddg}tttjdddtttjdddtttjdd|dtttjdd|dtttjddgddttjdgdddutddg}tjdtd }||d <ttj|dd|ut}tttjd|dd tttjd|dd tttjd|d|d tttjd|d|d tttjddg|dd ttjdg|ddj d ktddg}tjdtd }||d <ttj||dd |ud }gd }t tjd |ddj |t tjd |ddj |t tjd |d|dj |t tjd |d|dj |t tjt d |ddj |t tjd d ddj dt tjd dd dj dt tjddd dj dt tjd d dj dt tjgddj dt tjddgddj dtttjgddS)NrErrTrHFrMrVrYr)rr\)rErErErErDrrr)r\rr]ri)rrr>r?)rrKisscalarr rBr_emptyrtuplendimitemrrrLrErrR)rGrmr>arrrHr5r5r6test_choice_return_shape[sL z'TestRandomDist.test_choice_return_shapecCs,tgd}gd}tttj||ddS)N)*rVr)NNNrF)rKr_rrRr rB)rGr>rmr5r5r6test_choice_nan_probabilitiessz,TestRandomDist.test_choice_nan_probabilitiesc Cs|tdd}d|ddd<t|jtjdd|dddd}t|jtjddt|dddd}t||dS)Nrr^rRrVrr\rF)rKonesr rcrBrr)rGrmrrr5r5r6test_choice_p_non_contiguouss   z+TestRandomDist.test_choice_p_non_contiguouscCs(t|jtd}d}t||dS)Nrs Ui+Wf)r rcbytesrrr5r5r6 test_bytess  zTestRandomDist.test_bytesc Csddddddddddddddd dd dd dd df D] }t|j|gd }t||}|gd}t||q#dS)NcSs tgSr0)rKr_r|r5r5r6s z-TestRandomDist.test_shuffle..cSs|Sr0r5rar5r5r6rbscSt|tjSr0)rKasarrayastyperrar5r5r6rbcSrcr0)rKrdrerrar5r5r6rbrfcSrcr0)rKrdre complex64rar5r5r6rbrfcSst|tSr0)rKrdrerrar5r5r6rbcSsdd|DS)NcSg|]}||fqSr5r5.0ir5r5r6 ATestRandomDist.test_shuffle....r5rar5r5r6rbscSstdd|DS)NcSsg|]}||gqSr5r5rjr5r5r6rmrnro)rKrdrar5r5r6rbrncSst||gjSr0)rKvstackTrar5r5r6rbrhcSs*tdd|DdtfdtfgtjS)NcSrir5r5rjr5r5r6rmrnror>r?)rKrdrkrrecarrayrar5r5r6rbs cSs(tdd|DdtdfdtjdfgS)NcSrir5r5rjr5r5r6rmrnror>rVr?)rKrdrrrar5r5r6rbs   rVrr\r]r^rr r rrVrvrrr]r^rrur\)r rcshuffler)rGconvalistrrr5r5r6 test_shuffles&     zTestRandomDist.test_shufflecCstjttddddd}tjtdddd}|}|}tdD]2}t|t t |j |j t |j |j t|t t |j |j t |j |j q+dd}dS) Nr)r^r]r\rVrO2cSstd}tttj|dS)Nr\)rKr_rrQr rxr{r5r5r6test_shuffle_invalid_objectss zHTestRandomDist.test_shuffle_masked..test_shuffle_invalid_objects) rKma masked_valuesreshaperJrLcopyr rxrsorteddatamask)rGr>r?a_origb_origrlr}r5r5r6test_shuffle_maskeds"      z"TestRandomDist.test_shuffle_maskedcCst|jgd}t|}gd}t||t|jtgdj}t|}t|t|jt|jd}tttj|t|jd}tttj|d}gd}t|jt|}t||dS)Nrtrwabcdg333333?r) rvrrr^rVr\r]rurr) r rc permutationrrK atleast_2drqr IndexError)rGrzrrarr_2d bad_x_str bad_x_float integer_valr5r5r6test_permutations(         zTestRandomDist.test_permutationcCJt|jtjdddd}tddgddgd d gg}t||d d dS) NrErr,rgAKč?ghA?g ҇o>gάXf+q?gS1$?g'8zX ?rr)r rcbetarKr_rrr5r5r6 test_betas zTestRandomDist.test_betacCslt|jtjdddd}tddgddgd d gg}t||t|jtdd}d}t||dS) NgZd;Y@gv/?r,r%+r[0.-)r rcrrKr_rrr5r5r6 test_binomials     zTestRandomDist.test_binomialcCHt|jtjddd}tddgddgdd gg}t||d d dS) Nr|r,rg+Q]uO@g+Q@gY7`ZqP@ge(fG@gvtR@gEIȋR@ r)r rc chisquarerKr_rrr5r5r6test_chisquare  zTestRandomDist.test_chisquarecCst|jtddg}tj|dd}tddgddggd d gd d ggd dgddggg}t||ddtddg}tttj|t|jtddg}t|}t||ddddS)NIrrrr5r5r6#test_dirichlet_alpha_non_contiguous's   z2TestRandomDist.test_dirichlet_alpha_non_contiguouscCr) Ng8EGr?r,rgNU?gbI0?gVU\@g:3@gU?g"qo?rr)r rc exponentialrKr_rrr5r5r6test_exponential1rzTestRandomDist.test_exponentialcC&ttjdddtttjdddSNrscale)rr rrrRrSr5r5r6test_exponential_09z!TestRandomDist.test_exponential_0cCr) N Mr,rg7?g`j?g6"+?gܳ2>?gc>+Y?g_}S?rr)r rcfrKr_rrr5r5r6test_f=  zTestRandomDist.test_fcCr) Nr^r\r,rgԏGM8@gȌ<@g ":@gv#)@gZQ?@gr[@@r)r rcgammarKr_rrr5r5r6 test_gammaErzTestRandomDist.test_gammacCs*ttjddddtttjddddS)Nr)rrr)rr rrrRrSr5r5r6 test_gamma_0MszTestRandomDist.test_gamma_0cCDt|jtjddd}tddgddgddgg}t||dS) N_c97ݚ?r,rrrur^r)r rcrrKr_rrr5r5r6test_geometricQ  zTestRandomDist.test_geometriccCstttjdtttjdgdtttjdtttjdgdt!}|ttttjtjtttjtjgdWddS1sIwYdS)Nrrr) rrRr rr rrrKrorGrr5r5r6test_geometric_exceptionsYs "z(TestRandomDist.test_geometric_exceptionscCr) Nr@r,locrrgؕ?gs0?g#0g(xg-KD?gůp`@rr)r rcgumbelrKr_rrr5r5r6 test_gumbelcrzTestRandomDist.test_gumbelcCrr)rr rrrRrSr5r5r6 test_gumbel_0krzTestRandomDist.test_gumbel_0cCst|jtjddddd}tddgddgddgg}t||tjdd d d d}tgd }t||tjd d dd d}tgd}t||tjd dd d d}tgd}t||tjd d dd d}tgd}t||dS)Ng333333$@g@rr,rrrvr^rr\r])r\r\r\r\rr)rrrr)rrrr)r rcrrKr_rrr5r5r6test_hypergeometricos&      z"TestRandomDist.test_hypergeometriccCr) Nrrr,rg bO?g¸?gpJm @g{K*t @g:^w-gY~o?rr)r rclaplacerKr_rrr5r5r6 test_laplacerzTestRandomDist.test_laplacecCrr)rr rrrRrSr5r5r6test_laplace_0rzTestRandomDist.test_laplace_0cCr) Nrrr,rg#K-z?gJ?g92@gر[@g#+^˿g-@rr)r rclogisticrKr_rrr5r5r6 test_logisticrzTestRandomDist.test_logisticcCr) Nrrr,)meansigmargɁ0@go,+4FB@g)ʭ6@g5?gnxNnP@g)U@rr)r rc lognormalrKr_rrr5r5r6test_lognormalrzTestRandomDist.test_lognormalcCs&ttjdddtttjdddS)Nr)rrVr)rr rrrRrSr5r5r6test_lognormal_0rzTestRandomDist.test_lognormal_0cCsDt|jtjddd}tddgddgddgg}t||dS)Ngƀ@?r,)rmrrrrr\)r rcrrKr_rrr5r5r6test_logseriesrzTestRandomDist.test_logseriescCs\t!}|ttttjtjtttjtjgdWddS1s'wYdS)Nr) r rrrrRr rrKrorr5r5r6test_logseries_exceptionss  "z(TestRandomDist.test_logseries_exceptionscCsdt|jtjddgddd}tgdgdggdgd ggd gd gg}t||dS) NrUUUUUU?rr,r)r]r\r^r]rr)r^rrrrrV)r\r]r\rrr])rrVr]r\rr])r]r]rr^rr\)r]r\r]rr\r])r rcrrKr_rrr5r5r6test_multinomials  zTestRandomDist.test_multinomialc Cst|jd}ddgddgg}d}t|||}tddgddggd d gd d ggd dgddggg}t||ddt||}tddg}t||ddddg}ddgddgg}tttj||ttj||ddt t tj||ddtjddgddggtj d}t }t||| t}t|dksJWdn1swYtd}td}t t tj||ddt t tjtd|t t tj|tdt t tj|tddS)N)rrrVrr,g4Vj?gy'@gI1?gSB#@g e<@g4W(@g6R¿?g9r v"@gс?g{#@g4xg"f"@rrgN}O6?gYMW"@rignore) check_validraiserErYother)rrVrVr\)r rcmultivariate_normalrKr_rrrrrrRrr rrrleyerU) rGrcovrrrrrmur5r5r6test_multivariate_normals`             z'TestRandomDist.test_multivariate_normalcCr)) Nrg|Pk?r,)nrmriPiIi|ici i)r rcrrKr_rrr5r5r6rr3z%TestRandomDist.test_negative_binomialcCs`t#}|ttttjdtjtttjdtjgdWddS1s)wYdS)Nrr) r rrrrRr rrKrorr5r5r6!test_negative_binomial_exceptionss   "z0TestRandomDist.test_negative_binomial_exceptionscCst|jtjdddd}tddgddgdd gg}t||d d tjd d dd}tddgddgddgg}t||d d t|jtjdddd}tddgddgddgg}t||d d dS)Nr^r,)dfnoncrgG7@g!ܴ*@g1}z9?@g+驸0@g26E_r#@gI!1@rrr rrg?gTD?g?T?g+qnl?g~|D?g밬?rg{01#@gprs'@g~;$@g"dI @g*@g }',@)r rcnoncentral_chisquarerKr_rrr5r5r6test_noncentral_chisquares(     z(TestRandomDist.test_noncentral_chisquarecCLt|jtjddddd}tddgdd gd d gg}t||d d dS)Nr^rrVr,)dfnumdfdenrrg^~?g/+c?g". @g@g7?gE?rr)r rc noncentral_frKr_rrr5r5r6test_noncentral_f   z TestRandomDist.test_noncentral_fcCs0t|jtjddtjd}t|sJdS)Nr^r)rrr)r rcrrKroisnan)rGrr5r5r6test_noncentral_f_nan"s z$TestRandomDist.test_noncentral_f_nancCr) Nrrr,rg&&n@gOG_ @g~w@gtw]տgm&5@g$>@rr)r rcnormalrKr_rrr5r5r6 test_normal'rzTestRandomDist.test_normalcCrr)rr rrrRrSr5r5r6 test_normal_0/rzTestRandomDist.test_normal_0cCsLt|jtjddd}tddgddgdd gg}tjj||d d dS) Nrr,r>rgW I@g Ԩy@gy]0Ag1~\Aga@gY 7A)nulp)r rcparetorKr_testingassert_array_almost_equal_nulprr5r5r6 test_pareto3s  zTestRandomDist.test_paretocCsDt|jtjddd}tddgddgddgg}t||dS)Nrr,)lamrrrV)r rcrrKr_rrr5r5r6 test_poissonBrzTestRandomDist.test_poissoncCstdj}d}tttj|tttj|gdtttj|tttj|gdt!}|t tttjtj tttjtj gdWddS1sQwYdS)NrrOr) rKrrrrRr rr rrro)rGlambiglamnegrr5r5r6test_poisson_exceptionsJs  "z&TestRandomDist.test_poisson_exceptionscCr) Nrr,rg;'?gܴw*?g5?gFG?gD]?g$`?rr)r rcpowerrKr_rrr5r5r6 test_powerVrzTestRandomDist.test_powercCr) Nrr,)rrg"u+@gN$MB*@g7v8B4@g55@ge&@g~ӣZ1@rr)r rcrayleighrKr_rrr5r5r6 test_rayleigh^rzTestRandomDist.test_rayleighcCrr)rr rrrRrSr5r5r6test_rayleigh_0frzTestRandomDist.test_rayleigh_0cCFt|jtjdd}tddgddgddgg}t||d d dS) Nr,rgMoDL?g6([9grF=?gM' -gVgVA:Qy?rr)r rcstandard_cauchyrKr_rrr5r5r6test_standard_cauchyjrz#TestRandomDist.test_standard_cauchycCr) Nr,rg܁?gc!z?g&N"@gNI@gF>?g~ME?rr)r rcstandard_exponentialrKr_rrr5r5r6test_standard_exponentialrrz(TestRandomDist.test_standard_exponentialcCr) Nr\r,)rrg)@gľ@gd],q@gPk{@g9B #1@gv @rr)r rcstandard_gammarKr_rrr5r5r6test_standard_gammazrz"TestRandomDist.test_standard_gammacCr)Nr)rr)rr rrrRrSr5r5r6test_standard_gamma_0rz$TestRandomDist.test_standard_gamma_0cCr) Nr,rrr r!r"r#r$rr)r rcrrKr_rrr5r5r6test_standard_normalrz#TestRandomDist.test_standard_normalcCs0t|jt}td}t||dddS)Nrrrr&rr5r5r6test_randn_singletons  z#TestRandomDist.test_randn_singletoncCr) Nrr,)rrg\VH?ghU%gH$M?gLgVqdzǿg㖀?rr)r rc standard_trKr_rrr5r5r6test_standard_trzTestRandomDist.test_standard_tcCr)Ng{Gz@g(\u$@gףp= W4@r,)leftmoderightrg:}\)@ghرTj(@gǨL30@g6ڜA0@g6sh&@g<,@rr)r rc triangularrKr_rrr5r5r6test_triangularrzTestRandomDist.test_triangularcCr) NGz?gGz%@r,)lowhighrg>#H@gu@g#@g}d]#@gN@gw )* @rr)r rcuniformrKr_rrr5r5r6 test_uniformrzTestRandomDist.test_uniformcCstdj}tdj}tj}tt|tj dtt|dtjtt|||tt|tj gdgtt|dgtjgtjt |d|dddS)NrrrVg؅W4vC)rr) rKfinforrr rr OverflowErrorinf nextafter)rGfminfmaxfuncr5r5r6test_uniform_range_boundss  z(TestRandomDist.test_uniform_range_boundscCsjGdddtj}td|}tttj||Gdddtj}td|}tttj|dddS)Nc@eZdZddZdS)zGTestRandomDist.test_scalar_exception_propagation..ThrowingFloatcStr0rQrSr5r5r6 __float__zQTestRandomDist.test_scalar_exception_propagation..ThrowingFloat.__float__N)rgrhrir$r5r5r5r6 ThrowingFloat r&?c@r!)zITestRandomDist.test_scalar_exception_propagation..ThrowingIntegercSr"r0r#rSr5r5r6__int__r%zQTestRandomDist.test_scalar_exception_propagation..ThrowingInteger.__int__N)rgrhrir)r5r5r5r6ThrowingIntegerr'r*rV) rKndarrayr_rrrQr rr)rGr&throwing_floatr* throwing_intr5r5r6!test_scalar_exception_propagations z0TestRandomDist.test_scalar_exception_propagationcCr) Nrp= ף?r,rkappargLZI@g'N"@gkr?gk=m@gډ?g^=\?rrr rcvonmisesrKr_rrr5r5r6 test_vonmisesrzTestRandomDist.test_vonmisescCs2t|jtjdddd}tt|dS)Nrwg g5_PG>@Br0)r rcr3rrKisfiniterzrGrr5r5r6test_vonmises_smalls z"TestRandomDist.test_vonmises_smallcCs<t|jtjdddd}tgd}t||dddS)NrwgcAr\r0)gA^>?g@R7?gx.rrr2rr5r5r6test_vonmises_larges z"TestRandomDist.test_vonmises_largecCs.t|jtjdtjd}tt|dS)Nrw)rr1)r rcr3rKrorrr7r5r5r6test_vonmises_nans z TestRandomDist.test_vonmises_nancCr) Nrr/r,)rrrgZ@g- g@g8 m?gVP"?g`V?gx^&3?rr)r rcwaldrKr_rrr5r5r6 test_waldrzTestRandomDist.test_waldcCr) Nrr,rg@6?g]A?g(1ڥR?gU?g2_u?g^}-Q?rr)r rcweibullrKr_rrr5r5r6 test_weibullrzTestRandomDist.test_weibullcCs:t|jttjdddtdtttjdddS)Nrrrr)r>)r rcrr>rKrlrrRrSr5r5r6test_weibull_0s zTestRandomDist.test_weibull_0cCr) Nrr,rBrVr\r)r rcrrKr_rrr5r5r6 test_zipfrzTestRandomDist.test_zipfN)Trgrhrirrrr(r2r7r8r:r?r@rCrGrJrNrQrSrZr\r^r`r{rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r r r rrrr r.r4r9r:r;r=r?r@rCr5r5r5r6r s  .       3     r c@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)N[rrSr5r5r6rrzTestBroadcast.setupcCst|jdSr0)r rcrSr5r5r6set_seedszTestBroadcast.set_seedcCsldg}dg}tj}tgd}|||d|}t||dd||||d}t||dddS)NrrVgl ?g_x ?g =*BN?r\rr)r rrKr_rFr)rGrrrrrr5r5r6rszTestBroadcast.test_uniformcCdg}dg}dg}tj}tgd}|||d|}t||ddtt||d|||||d}t||ddtt|||ddS)NrrVrO)g-r@gYl@g-`w?r\rr)r rrKr_rFrrrR)rGrr bad_scalerrrr5r5r6r&zTestBroadcast.test_normalcCdg}dg}dg}dg}tj}tgd}|||d|}t||ddtt||d|tt||d|||||d}t||ddtt|||dtt|||ddS) NrVrrOrW)gnQVf?gVKB?g v`k?r\rr)r rrKr_rFrrrR)rGr>r?bad_abad_brrrr5r5r6r9 zTestBroadcast.test_betacCVdg}dg}tj}tgd}|||d}t||ddtt||ddSNrVrO)g.UgZ?giPrq?gE K?r\rr)r rrKr_rFrrrR)rGrrIrrrr5r5r6rO zTestBroadcast.test_exponentialcCrOrP)r rrKr_rFrrrR)rGr bad_shape std_gammarrr5r5r6r \rQz!TestBroadcast.test_standard_gammacCrK) NrVrrOrW)g.UgZ?giPrq?gE K?r\rr)r rrKr_rFrrrR)rGrrrRrIrrrr5r5r6rirNzTestBroadcast.test_gammacCrK) NrVrrOrW)gbyʜ?go?gT7@r\rr)r rrKr_rFrrrR)rGrr bad_dfnum bad_dfdenrrrr5r5r6rrNzTestBroadcast.test_fc Csdg}dg}dg}dg}dg}dg}tj}tgd}|||d||} t| |dd tt|||tjgdsAJt t ||d||t t ||d||t t ||d||||||d|} t| |dd t t |||d|t t |||d|t t |||d||||||d} t| |dd t t ||||dt t ||||dt t ||||ddS) Nrr\r]rrOrW)gr^G"@g/ *@gц!@rr) r rrKr_rFrrzrrorrR) rGrrrrTrUbad_noncnonc_frrr5r5r6rs6$zTestBroadcast.test_noncentral_fcCs:|tddg}tjddddd}t||dddS)Ngaz@gn4M;%?rrrrr)rFrKr_r rr)rGrrr5r5r6test_noncentral_f_small_dfsz(TestBroadcast.test_noncentral_f_small_dfcCrO)NrVrO)g~}N??g$F?g'rS?r\rr)r rrKr_rFrrrR)rGrbad_dfrrrr5r5r6rrQzTestBroadcast.test_chisquarecCrK) NrVrrOrW)g w"@g2 WR@gRY@r\rr)r rrKr_rFrrrR)rGrrrYrVnonc_chirrr5r5r6rrNz'TestBroadcast.test_noncentral_chisquarecChdg}dg}tj}tgd}|||d}t||ddtt||dtttj|ddS)NrVrO)gT @g~Fl@gƚtp?r\rr)r r rKr_rFrrrR)rGrrYtrrr5r5r6r zTestBroadcast.test_standard_tcCrH)NrrVrO)gW!@gOBg}?r\rr)r r3rKr_rFrrrR)rGrr1 bad_kappar3rrr5r5r6r4rJzTestBroadcast.test_vonmisescCr[)NrVrO)g&8??geFX?gՋː?r\rr)r rrKr_rFrrrR)rGr>rLrrrr5r5r6rr]zTestBroadcast.test_paretocCr[rP)r r>rKr_rFrrrR)rGr>rLr>rrr5r5r6r?r]zTestBroadcast.test_weibullcCr[)NrVrOrGr\rr)r rrKr_rFrrrR)rGr>rLrrrr5r5r6rr]zTestBroadcast.test_powercCrH)NrrVrO)g:BKc?g3k?g~q?r\rr)r rrKr_rFrrrR)rGrrrIrrrr5r5r6r,rJzTestBroadcast.test_laplacecCrH)NrrVrO)g'Zy?gdSO=?g3L1?r\rr)r rrKr_rFrrrR)rGrrrIrrrr5r5r6r?rJzTestBroadcast.test_gumbelcCsdg}dg}dg}tj}tgd}|||d|}t||ddtt||d|||||d}t||ddtt|||dttdd ddS) NrrVrO)g“y?gJR?g ~&?r\rrr(rw) r rrKr_rFrrrRr)rGrrrIrrrr5r5r6rRszTestBroadcast.test_logisticcCsdg}dg}dg}tj}tgd}|||d|}t||ddtt||d|tttj|d|||||d}t||ddtt|||dtttj||ddS)NrrVrO)gH"@gܮ @gvv :@r\rr)r rrKr_rFrrrR)rGrr bad_sigmarrrr5r5r6rfszTestBroadcast.test_lognormalcCrO)NrVrO)gݱlo?g/ӂ?gz~R?r\rr)r rrKr_rFrrrR)rGrrIrrrr5r5r6r{rQzTestBroadcast.test_rayleighcCsdg}dg}dg}dg}tj}tgd}|||d|}t||ddtt||d|tt||d|tttj|d|tttj|d|||||d}t||ddtt|||dtt|||dtt|d dtt|dd dS) Nr rVrrW)g@m e?g`I߿?g|2?r\rrrw)r r<rKr_rFrrrR)rGrrbad_meanrIr<rrr5r5r6r=s(zTestBroadcast.test_waldc Csdg}dg}dg}dg}dg}|d\}}tj}tgd} |||d||} t| | ddtt||d||tt||d||tt||d||||||d|} t| | ddtt|||d|tt|||d|tt|||d||||||d} t| | ddtt||||dtt||||dtt||||dtt|dd d tt|dd d tt|ddddS) NrVr\rr])g,P;bD@g%G@g,~S@rrrrwg4@g9@)r rrKr_rFrrrR) rGrrr bad_left_one bad_mode_one bad_left_two bad_mode_tworrrr5r5r6rsF  zTestBroadcast.test_triangularc Cdg}dg}dg}dg}dg}tj}tgd}|||d|}t||tt||d|tt||d|tt||d|||||d}t||tt|||dtt|||dtt|||ddS)NrVr rO?rVrVrVr\)r rrKr_rFrrrR) rGrrmbad_n bad_p_one bad_p_twobinomrrr5r5r6r&  zTestBroadcast.test_binomialc Cre)NrVr rOrf)rVrrVr\)r rrKr_rFrrrR) rGrrmrhrirj neg_binomrrr5r5r6rrlz$TestBroadcast.test_negative_binomialcCsvtj}dg}dg}|dg}tj}tgd}|||d}t||tt ||dtt ||ddS)NrVrOr)rVrVrr\) r rD_poisson_lam_maxrrKr_rFrrrR)rGmax_lamr bad_lam_one bad_lam_tworrrr5r5r6rs    zTestBroadcast.test_poissoncCsdg}dg}tj}tgd}|||d}t||tt||dtjddtt|tj tt|ddtj gWddS1sJwYdS)Nrr)rrrVr\r)invalid) r rrKr_rFrrrRerrstatero)rGr>rLrrrr5r5r6rCs  "zTestBroadcast.test_zipfcChdg}dg}dg}tj}tgd}|||d}t||tt||dtt||ddS)Nr rOrfrr\)r rrKr_rFrrrR)rGrmrirjgeomrrr5r5r6r  zTestBroadcast.test_geometricc Csdg}dg}dg}dg}dg}dg}dg}tj}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||||dtt|dd d tt|d dd tt|d d dtt|d d d dS) NrVrrOrWrr]rgr\rr)r rrKr_rFrrrR) rGngoodnbadnsample bad_ngoodbad_nbadbad_nsample_onebad_nsample_two hypergeomrrr5r5r6r"sD   z!TestBroadcast.test_hypergeometriccCrt)Nr rrOrgr\)r rrKr_rFrrrR)rGrmrirjrrrr5r5r6rJrvzTestBroadcast.test_logseriesN)#rgrhrirrFrrrrr rrrrXrrrr4rr?rrrrrrr=rrrrrCrrrr5r5r5r6rD sB  #  ( (rDc@s4eZdZddZddZddZddZd d Zd S) TestThreadcCstd|_dS)Nr])rJseedsrSr5r5r6rZszTestThread.setupcsddlmtt|jf|}tt|jf|}fddt|j|D}dd|Ddd|Dt|j|D] \}}t||q>t j j dkr_t j dkr_t||dSt||dS) Nr)Threadcs&g|]\}}t||fdqS))targetargs)r rD)rkrHorfunctionr5r6rmdsz-TestThread.check_function..cSg|]}|qSr5)startrkr|r5r5r6rmfrncSrr5)joinrr5r5r6rmgrnr]win32) threadingrrKrUrrzipr rDintprZitemsizerplatformrr)rGrszout1out2r\rHrr5rr6check_function]s   zTestThread.check_functioncCdd}|j|dddS)NcSs|jdd|d<dS)N'r.)rr9outr5r5r6 gen_randomtrvz*TestThread.test_normal..gen_random)rrrrGrr5r5r6rszTestThread.test_normalcCr)NcSs|jtdd|d<dS)NrrBr.)rrKr]rr5r5r6rzsz'TestThread.test_exp..gen_randomrrrrr5r5r6test_expyrzTestThread.test_expcCr)NcSs|jddgddd|d<dS)Nrrrrr.)rrr5r5r6rsz/TestThread.test_multinomial..gen_random)rrrrrr5r5r6rrzTestThread.test_multinomialN)rgrhrirrrrrr5r5r5r6rXs  rc@s,eZdZddZddZddZddZd S) TestSingleEltArrayInputcCs4tdg|_tdg|_tdg|_d|_dS)Nrr\r]rs)rKr_argOneargTwoargThreetgtShaperSr5r5r6rs zTestSingleEltArrayInput.setupc Cstjtjtjtjtjtjtjtjtj tj tj tj f }tj tj f}|D]}||vr1|t dg}n||j}t|j|jq"dSr)r rrrr rr>rrrrrrrKr_rrrr)rGfuncs probfuncsrrr5r5r6test_one_arg_funcss  z*TestSingleEltArrayInput.test_one_arg_funcscCstjtjtjtjtjtjtjtjtj tj tj tj tj tjf}tj tjf}|D];}||vr3tdg}n|j}||j|}t|j|j||jd|}t|j|j||j|d}t|j|jq&dS)Nr r)r rrrrrrr3rrrrr<rrrKr_rrrrr)rGrrrrrr5r5r6test_two_arg_funcss(  z*TestSingleEltArrayInput.test_two_arg_funcscCstjtjtjg}|D]6}||j|j|j}t|j|j ||jd|j|j}t|j|j ||j|jd|j}t|j|j q dS)Nr) r rrrrrrrrr)rGrrrr5r5r6test_three_arg_funcssz,TestSingleEltArrayInput.test_three_arg_funcsN)rgrhrirrrrr5r5r5r6rs  rcCsDtd|\}}}tt|}||ddi}t|jtdkdS)NrErrr)r rcgetattrrrZrK)r7fnamerrrrr5r5r6test_integer_dtypes   rcCsdtd|\}}}tt|}||ddi}tjdkr|}t|t j  }t ||kdS)NrErr5r) r rcrrrrrrrrKrrr)r7rrrrrrr5r5r6test_integer_repeats    rcCstttjdddgddWdn1swYtttjddgdddWdn1s9wYtttjddgddgddWddS1s[wYdS)NrVrLgffffff?)rrVrr)rrrRr rr5r5r5r6test_broadcast_size_errors   "r))rrrr<numpyrKr numpy.testingrrrrrrrr numpy.randomr r r r]r2rrkrr3fixturer7r@rArjrqrrr rDrrrrrr5r5r5r6s~(    /5W"hO/E