L iTddlZddlZddlZddlZddlmZddlmcm Z ddl m Z m Z ddlmZmZmZmZmZddlmZmZddlmZmZmZddlmZddlmZdd Z dd Z!d Z"ejFjId d ejFjIddejFjIddGddZ%ejFjIddejFjId dejFjIddejFjIddGddZ&y)N)assert_allclose)xp_assert_closexp_assert_equal)array_namespacexp_sizexp_ravelxp_copyis_numpy)specialstats)quad_vecnsumtanhsinh) _pair_cache)_gen_harmonic_gt1c|| t|n|}dd|jzdzz |j|dz dz zS)N?)rpiexpxxps i/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/scipy/integrate/tests/test_tanhsinh.pynorm_pdfrs@!z rB ag^ bffadU1Wo --c|| t|n|}dtjd|jzz|dzdz z S)Ngr)rmathlogrrs r norm_logpdfr!s;!z rB 255! !AqDF **rc d}|S)Ncfd}|S)Nc|dj}|Dcgc] }t|}}g}ttj|D](}|Dcgc]}|| }}|j |*|Scc}wcc}w)Nr)shaperrangerprodappend) arg_arraysr% arg_arrayresi arg_scalarsfs rwrappedz._vectorize..decorator..wrapped sqM''E?IJ)(9-JJJC499U+, ,=GH y|H H 1k?+ ,J KIs A6 A;)r.r/s` r decoratorz_vectorize..decorators rr0)rr1s r _vectorizer2s  rarray_api_strictz)Currently uses fancy indexing assignment.reasonz dask.arrayzboolean indexing assignmentz jax.numpyz*JAX arrays do not support item assignment.c eZdZdZde_de_dZejdz dejdzzdz e_de_dZ ejejdz dz dz e _ejdz e _dZ d ejdzzd z e _de _d Z d e _de _d Zejdz e_de_dZdej ejzej$dzej$dz e_de_dZde_de_dZej ejdzdz e_ejdz e_dZejej dzdz e_ejdz e_dZejdz e_ej.e_dZej eje_ej.e_dZej ejdz e_ej.e_dZde_ej.e_dZejdz e_ej.e_dPdZdZej>jAdde!j.fdge!j. dfdge!j. e!j.fdge!j.e!j. fd gd!e"jFjId e"jFjIdz ggd"Z%ej>jMd#d$%ej>jAd&e'dd'd(Z(ej>jMd#d)%ej>jAd*dd+d,gfej>jAd-e"jRjTd.Z+ej>jAd/e,d0d1d2gd3Z-d4Z.d5Z/d6Z0d7Z1d8Z2ej>jMd9d:;ej>jAdgd?Z3d@Z4ej>jAdAe'ddBZ5dCZ6ej>jAdDdEe!j. dgdFdFgffej>jAdGdHdIZ7dJZ8dKZ9dLZ:ej>jMd#MdNZ;dOZas rf4zTestTanhSinh.f4Ls8 GGAQJ yy|AF a/00r`cXtj|tj|zSrG)r;rLr r<s rf5zTestTanhSinh.f5SswwqzBFF1I%%rgqqܿc8tjd|dzz SNrrr;rLr<s rf6zTestTanhSinh.f6Yswwq16z""rcdtj|tjd|dzz z SrTrUr<s rf7zTestTanhSinh.f7_s&wwqzBGGAQJ///rg?c2tj|dzSrBr:r<s rf8zTestTanhSinh.f8esvvayA~rcRtjtj|SrG)r;r rIr<s rf9zTestTanhSinh.f9ksvvbffQi  rcRtjtj|SrG)r;rLtanr<s rf10zTestTanhSinh.f10qswwrvvay!!rcdd|dzzz SrTr0r<s rf11zTestTanhSinh.f11wsAQJrcZtj| tj|z SrG)r;rrLr<s rf12zTestTanhSinh.f12}svvqbzBGGAJ&&rc:tj|dz dz SrB)r;rr<s rf13zTestTanhSinh.f13svvqAvgk""rcZtj| tj|zSrGrHr<s rf14zTestTanhSinh.f14svvqbzBFF1I%%rrc2tj||z SrG)r;sinr<s rf15zTestTanhSinh.f15svvay1}rNc| t||n|}t||z }|s|Stjd5|j |cdddS#1swYyxYw)Nignoredivide)rabsr;errstatelog10)r=r+refr rerrs rerrorzTestTanhSinh.errorsU*,*_S# &"#)nJ [[ ) !88C= ! ! !s AAc|j}|jd}|j|j}d}tjt |5t d||dddd}tjt |5t |||ddddd}tjt |5t ||jd |dddtjt |5t |||d dddtjt |5t |||t dddd }tjt |5t |||d dddtjt |5t ||||j dddd}tjt |5t ||||jddddtjt |5t ||||jddddd}tjt |5t |||tdddtjt |5t |||ddddd}tjt |5t |||ddddtjt |5t |||ddddd}tjt |5t |||ddddd}tjt |5t |||ddddy#1swYxYw#1swYxYw#1swYxYw#1swYxYw#1swYqxYw#1swYIxYw#1swYxYw#1swYxYw#1swYxYw#1swYxYw#1swY_xYw#1swY7xYw#1swYxYw#1swYxYw#1swYyxYw)Nr`f` must be callable.match*...must be True or False.rr ...must be real numbers.??ekkiatolrtol#...must be non-negative and finite. ...may not be positive infinity.T)rr )rr z...must be integers.maxlevelzmigratory coconut)minlevelz...must be non-negative.preserve_shapez...must be callable. elderberry)callback) r?asarraybpytestraises ValueError _tanhsinhinfobject)r=rr.zerof_bmessages rtest_input_validationz"TestTanhSinh.test_input_validationsk GGzz!}jjo) ]]:W 5 % b$ $ %. ]]:W 5 + as * +- ]]:W 5 0 aD)3 / 0 ]]:W 5 1 as 0 1 ]]:W 5 1 as 0 18 ]]:W 5 - as , - ]]:W 5 1 as 0 15 ]]:W 5 ; asT : ; ]]:W 5 ; asT : ;) ]]:W 5 7 asVX 6 7]]:W 5 B as-@ A B- ]]:W 5 1 asR 0 1]]:W 5 1 asR 0 1. ]]:W 5 6 as1 5 6) ]]:W 5 ; as\ : ; ;a % % + + 0 0 1 1 1 1 - - 1 1 ; ; ; ; 7 7 B B 1 1 1 1 6 6 ; ;sN N >N>N'1N4*OOOO(O5P P=P2P)'P5N  NN$'N14N>O OO%(O25O?P PP&)P25P>z limits, refr?)rrc|Dcgc]}|j|}}|jt|dj}|j||}ttg|}t |j |ttg|ddi}t |j|j |d|dkDr(|j|j jds*J|j|j jdsJd |j|jjjz}t |j|j|j|d ycc}w) Nrdtyper TF) check_dtype real floatingzcomplex floatingr)rr) rfloatrrrrintegralr!risdtypefinforueps) r=limitsrsrlimitrr+logresrs rtest_integral_transformsz%TestTanhSinh.test_integral_transformss0288"**U#88 5+,22jjEj**6* c*;::T:v/%HFIAg 6??00/B LKZZ 5 57IJ LK288CIIOO,000v||,ciidPUV9sE3Tz!Cumbersome to convert everything.np_onlyr5f_numberct|d|}d}t|d|j|}t|j|j ||dvrMt |j|j|j |jz }||jksJ|dvry|jsJ|jdk(sJy)Nr.g:0yU>rr>rE>r rE) getattrrrrrrsrprusuccessstatus)r=rrr.rr+ true_errors r test_basiczTestTanhSinh.test_basics DAhZ. )1acc- aee$7 ; &TZZ aeekstwodgammalaplacedweibullz0tanh-sinh is not great for non-smooth integrands> levy_stablestudentized_range SCIPY_XSLOWrz%This case passes, but it is too slow.) rskipintosgetenvrr intervalrpdfrr) r=rsrrdistnameparamsdistrr+s r test_accuracyzTestTanhSinh.test_accuracys  & A A KKJ K < <BIImQ78 KK? @'wuh'0 MM# %1% c*rr%rErWrrrc tjjd}|j|j|}|j|j|}|j|j|}t j |fdd_d_t|d}t|||f}||||} gd} | D]i} |j| D cgc]} t| | c} } tt|| }t|| dt|| j|k(riJ|j|j j"d sJ|j|j$j"d sJ|j|j&j"d sJ|j|j(j"d sJ|j+|j&jk(sJ|j+|j(d k\sJ|j+|j(j k(sJycc} w) NF*BGcxjdz c_xjt|k(s|jdkrdn|jdz c_||zSNrr)ncallfevalrndimr%rpr.ns rr.z*TestTanhSinh.test_vectorization..f!sE GGqLG GGWQZ1_! q!''"+ MGa4Krrc$tfd||S)Nc|zSrGr0rrs rzKTestTanhSinh.test_vectorization.._tanhsinh_single..*s q!tr)r)rMrrs `r_tanhsinh_singlez9TestTanhSinh.test_vectorization.._tanhsinh_single(s^Q2 2rargsrrurrnfevrV瞯.f..Dsrvvq!te}rc&j|SrGrrs rrz4TestTanhSinh.test_flags..f..Esrvvayrc<j|jSrG) full_likenanrs rrz4TestTanhSinh.test_flags..f..Fsr||Arvv6r.)nitr&rrrr(r) xsjsfuncsr+r,rjr.rs rr.z"TestTanhSinh.test_flags..fBs EEQJE,(68EC72;' (q#vJ Q( 858A;' (88C= rrrrrO)rrr) rarangeint64rrrint32rr)r=rrrMrr+ ref_flagsr.s ` @r test_flagszTestTanhSinh.test_flags?s ! !288 ,. JJxz " JJy1} %1a!$7JJ{"((J;  I.rcfd}jjgdz}jj gdz}t|||dd}jgdj}t |j |y)Ncj|ddz j|dj|djg}j|S)Nrrr)rrrr)rr+rs rr.z1TestTanhSinh.test_flags_preserve_shape..fXsU661Q47(#66!A$<<<!bff-/C88C= rrrOT)rrrr)rrrrrr)r=rr.rMrr+rs ` rtest_flags_preserve_shapez&TestTanhSinh.test_flags_preserve_shapeVsr ! JJx!| $ JJy1} %1a!DAJJ{"((J;  I.rcdtfddd}tfdjdjdd}jdj}t |j j|d| y) Nc |j|j||jd|zg|j|jd|z||jd|zzggS)Nrd)rrjrIrs rr.z+TestTanhSinh.test_preserve_shape..ffse88RXXq"&&a.&9:XXrvvb1f~q266#'?7J&KLNO Orc|tSrG)r;rr.s rrz2TestTanhSinh.test_preserve_shape..js 1brrrc|SrGr0rr.rs rrz2TestTanhSinh.test_preserve_shape..ks !Ar(rTrr)r rrrrr)r=rrsr+rr.s ` @rtest_preserve_shapez TestTanhSinh.test_preserve_shapedsp O)1a0*BJJqM2::a='+- 2$$ bjjQuj&EFrc>j}fd}jd|}jd|jd|}}d}tdD]B}t|||d|} |j | j |d  } | |d zks| d ksJ| }Dy) Nc2|jd|zzSr9r|)r>rs rr.z(TestTanhSinh.test_convergence..fssrvva!e}$ $rr@rrrrrWrrT)r rrg/)float64rr&rrur) r=rrr.rsrMr last_logerrr,r+logerrs ` rtest_convergencezTestTanhSinh.test_convergenceps  %jjUj+zz"Ez*BJJrJ,G1 q !AAq!a! K  !rc8  fd jtjdz dtjdzzdz j _d} j |z}jdj}jdj}d\ _ _t ||}|j|j j |jcxkr|ksJJ|j j k(sJ j|_|jsJ|jd k(sJd\ _ _t|j}t ||| } j|_||k(sJd\ _ _|d z}|dk\sJt ||| }|j|j j |jcxkr|kDsJJ|j j cxk(r|jksJJ j|jd z k(sJ|jrJ|jt j"k(sJ|} j|_d\ _ _t%j&t)|jt$j*} t ||d | }|j|jk(sJ|j|jk(sJ|j j cxk(r|jk(sJJ j|jk(sJ|jsJ|jd k(sJd\ _ _t%j&t)|jt$j* } t ||d | }|j|j j |jcxkr| ksJJ|j j cxk(r|jkDsJJ j|jkDsJ|jsJ|jd k(sJd\ _ _t%j&t)|j|jz t$j*} t ||| }|j|jk(sJ|j|jk(sJ|j j cxk(r|jk(sJJ j|jk(sJ|jsJ|jd k(sJd\ _ _t%j&t)|j|jz t$j* } t ||| }|j|j j  j z |j|jz cxkr| ksJJ|j j cxk(r|jkDsJJ j|jkDsJ|jsJ|jd k(sJy)Ncxjdz c_xjtj|z c_|dzj |zSrT)callsrrratanr s rr.z:TestTanhSinh.test_options_and_result_attributes..fsB GGqLG GGwrzz!}- -Ga4"''!*$ $rrrEr-q=rr)rrrrrrrr)rrrr rrsrrrrurrrrrreim _ECONVERRr; nextafterrr) r=r default_rtol default_atolrMrrsrr+rrr.s ` @r"test_options_and_result_attributesz/TestTanhSinh.test_options_and_result_attributessZ %  DGGaK!dhhqk/9R?rzz R uu|+  JJrJ , JJrJ , 1a zz#,,.I\IIIIIxx177"""GG {{{zzQ s||$1a(3GG czz A 1}}1a(3zz#,,.I\IIIIIxx177-SXX-----ww#))a-''';;zzS]]***,GG  ||E#)),bff51aad3||s||+++yyCII%%%xx177.chh.....ww#))###{{{zzQ||E#)),rvvg61aad3zz#,,.ATAAAAAxx177-SXX-----ww"""{{{zzQ ||E#))CLL"89266B1ad+||s||+++yyCII%%%xx177.chh.....ww#))###{{{zzQ||E#))CLL"89BFF7C1ad+zz#,,.quu4syy7MTPTTTTTTxx177-SXX-----ww"""{{{zzQrtorchzAhttps://github.com/scipy/scipy/pull/21149#issuecomment-2330477359r4rg-C6?+=c @tdd}jdj}jdj}tt||dt j |}tt||| }tj|j|jfi|tj|j|jfi||j|jk(sJd }fd } jj j}jjj}t| ||d }t|||}tjd 5tj|j|jfi|dditj|j|jfi|ddiddd|j|jk(sJy#1swY%xYw)NgC]r2.fsN?8A;. .rcvjt|dzt|zjdzzS)Ny?)r r!rrs rlogfz#TestTanhSinh.test_log..logfs166+a.2-.Q?"%%"*L Lrr|rmallrF)dictrrrr!rr rrrrrurrr;rq) r=rr test_tolsrMrr+rsr.r*s ` rtest_logzTestTanhSinh.test_logs e%0  JJs"**J - JJrJ , Qt$((4.I!QT2s||,cllHiHsyy)399B Bxx388### / M JJwbjjJ 1 JJrvvRZZJ 0a-1a [[X & / BFF3<<0#,, /) /(- / BFF399-syy /I /(- / / xx388###  / /s A)HHcfd}jdjjdz }}t|||}tjddz dtjddz z dzz}t |j j|d}jjjj }}t|||}t |j jdy) Nc,jd|zSNr)rrs rr.z$TestTanhSinh.test_complex..fs66"q&> !rrrWrrr)c<t|dt|dz zzS)N?r)rr's rr.z$TestTanhSinh.test_complex..f$sA;hqsm!33 3ry)rrrrrLrrrr=rr.rMrr+rss ` r test_complexzTestTanhSinh.test_complexs "zz"~rzz"%%'211a iil1n$))A,q. 0"44 bjjo6 4zz"&&!2::rvvg#611a  bjj&9:rrc fd ddjgc _ _ _jdj}jdj}t ||d|}j j}td|dzD])}ddjgc _ _ _t||}t ||fi|} t| j|jdt| j|jd|jz| j jcxk(r jjdk(sJJ j||z dzdzk(sJ| j|jk(sJt|j j,y) Nc xjdz c_xjtj|z c_j j t |f_|dzj|zSrT)rrrrconcatrrrr s rr.z%TestTanhSinh.test_minlevel..f1s_ GGqLG GGwrzz!}- -G))QSS(1+./ACa4"''!*$ $rrrrrgؗҼ.fMs,VVAbhhqkN661a4%= rrir)rrrrLrrrr)r=rr.rMrrsr+s ` rtest_improper_integralsz$TestTanhSinh.test_improper_integralsKs ! JJRVVGRVVS266'3G H JJBFF7BBFFC Dii jj#s1uc!ecT3SAB1a  c*rrrrrr)float32rctj|\}}fd}jk(rdnd}t||||}|jj k(sJ|j j k(sJj|jsJt|jj|j|z y)NrcH|jk(sJj|SrG)rr)rrrs rr.z"TestTanhSinh.test_dtype..f^s#77e# ##66!9 rrh㈵>r) rrrrrrrur,rrr) r=rrrrMrr.rr+s `` r test_dtypezTestTanhSinh.test_dtypeWsE"zz&z.1 +u1ad+||!!U***yy%'''vvckk""" bffQiq &9:rc jj jj}}fd}d\}}||z dz t||d}t|||fi|}|jrJ|j |k(sJ fd d _d _|d=t|||fi|d i} |jD]?} | d k(r|| d k(sJ| | d k(rJ| |  j| cxk(r || k(r.fl661"Q$< r)rrrr)rrrcxjdz c_|_t|dsJ|jdk(sJjk(rty)Nrr)iterr+hasattrr StopIteration)r+rmaxiters rrz4TestTanhSinh.test_maxiter_callback..callbackvsO MMQ MHL3 + ++::? "?}}'##(rrrrrr) rrr-rrrrMr+keys) r=rrMrr.rrkwargsr+res2keyrrPs ` @@rtest_maxiter_callbackz"TestTanhSinh.test_maxiter_callbackis&zz266'"BJJrvv$61 "(X%)x(G1a*6*;;||x''' $  : Aq>F>X>88: BCh3x2~%~CyB&CyHLL$5ASAAAAA  Brcjj j}jjj}fd}fdg_g_d}t |||d|t |dzD]c}t |||||}tjd|z|jd tjd|z|jd d ey) Nrc.j| |zSrGrrs rr.z&TestTanhSinh.test_jumpstart..frKrcjjt|jdjjt|j dy)Nr0) integralsr(r rerrorsru)r+rs rrz-TestTanhSinh.test_jumpstart..callbacksE    % %gcll&;B&? @ OO " "7399#5b#9 :rrWr)rrrrrrrgؗҜ.fs ::agg7 77Hrrrrrc ||zSrGr0)rcs rr.z*TestTanhSinh.test_special_cases..fs a4Krrg?rr)rrrrrFFFTc,j|dzSr2rrs rrz1TestTanhSinh.test_special_cases..s"**QrT"2rr4c|SrGr0r's rrz1TestTanhSinh.test_special_cases..!rrCc|SrGr0r's rrz1TestTanhSinh.test_special_cases..rgrr)rrrrrrrurrfullrrremptyrxjcwjindicesh0zerosr%) r=rrMrr.r+r`r%rrs ` rtest_special_caseszTestTanhSinh.test_special_casess6zz!}bjjm1 1a {{{ bjjo61a!,||a 2::bff#561a!,||a 2::bff#561a {{{||r!!! bjjn5 1ab) bjj&67 JJ1a( ) JJ2661a( ) JJ1bffa( )1aqd+ bjj"&&"&&"&N&OP "1 rwwtRVV'<= BJJbhhJ$OP RZZ0K%LM! bggdARXXg&FG((1+ !  c  zz!}bjjm12Aq9 bjj&89 Q* bjjo6 RZZ]BHHUODN ,Dt9??e+ ++ ,r)rcptjdd}d|d<ttjd|y)NArrr)r;rirrj)r=rrs r#test_compress_nodes_weights_gh21496z0TestTanhSinh.test_compress_nodes_weights_gh21496s, GGBN""&&!Qrctddtddfd}jdjjdj}}t|||ddd }j |j sJt|||d }|j sJ|jd ksJt|j|jd y)NrEi'c>jd|z z|zzSr9)rj)r>c1c2rs rr.z2TestTanhSinh.test_gh_22681_finite_error..fs#66"A,a/0 0rrrrrr)rrrr$rrOr) complexrrrisfiniterurrrr) r=rr.rMrrsr+rxrys ` @@rtest_gh_22681_finite_errorz'TestTanhSinh.test_gh_22681_finite_errorsR  R_ 1zz"BJJz/Bbjj1Q11aaa"={{399%%%1ae,{{{||a cll?r)FN)=__name__ __module__ __qualname__r?rsrrDr;rr rJrrNrRrVrYrLr gammar[r]r`rbrrdrfrhrkrurrmark parametrizerr normcdfrskip_xp_backendsr&r _distr_paramsdistcontrtuplerrrrrr"r/r6r=rBrHrVr\rprtr|r0rrr7r7.s.!BF BD%eeai!fbffQi-'2 -BF BD%bffRUUQY!#q (BF 5519BD1!^b BF BD&BF BD#UUQYBF BD0 -'--"6 6u9M MBF BDBF BD!eeVfbffQi ! #BF 5519BD"eegbggaj 1$CG EEAICE eeaiCG FFCE'bggbeenCG FFCE#bggbeeai CG FFCE&CG FFCEeeaiCG FFCE!8;t [[] TXX 88)Q 88)TXX # ((TXXI $ %**..%);;< -WW( [[!!$)L"N [[Zq"6 7N  [[!!$)N"P [[US3*$56 [[VU%8%8%A%AB +C7P + [[Wuwvy&IJ%/K%/N/. / G !qf [[!!' O" [[VdE]3 $4 $D;& [[Zq2131> + [[X488)Q!Q0H'IJ [[W&<=;>K; BDU.@,D [[!!$!/ 0 @rr7r#zdata-apis/array-api-compat#271zNo fancy indexing.z No mutation.z1Data-dependent shapes in boolean index assignmentc0eZdZejj dZejdddjZ dZ ejdzdz e _ de _ eje _ee _dZej(e de_ d e_ eje_e fe_d Zde_ ej-d d d e_eeje e_ e fe_dZej4j7dedddZej4j7dgddZej4j7dedddgdZdZ dZ!dZ"ej4j7dddgd Z#d!Z$d"Z%ej4j7d#d$d%gd&Z&ej4j7d'd(d)gd*Z'ej4jQdd+,d-Z)y.)/TestNSumlQ[rrsizec |dzSNrr0)r=ks rr?z TestNSum.f1 s 2wrrcd||zz Sr9r0r=rrs rrDz TestNSum.f21a4xrrcd||zz Sr9r0rs rrJz TestNSum.f3rrrOr)rrc p|j}|j|j|j|j}}d}t j t |5td||dddd}t j t |5t|||ddddd}t j t |5t||jd|dddt j t |5t|||jddddt j t |5t||||jd dddt j t |5t|||td  dddt j t |5t|||tt  dddtjd5t||jtjtjg|jd}|jddk(r|jdrJ|j|j dr|j|j"dsJ|jddk(r|jdsJ|j d|j"dk(sJ|j%|j&ddk(sJt||jd|jtjdg}|jddk(r|jdrJ|j|j dr|j|j"dsJ|jddk(r|jdsJ|j d|j"dk(sJ|j%|j&ddk(sJt||jd|jd|j|j|j |jddg }|j%|jdk(|j|j z|j|j"z|jz|j&zdk(sJ dddd}t j t |5t|||td  dddt j t |5t|||ttj  dddd}t j t |5t|||ttj ddddt j t |5t|||ttj ddddd}t j t |5t|||ddddt j t |5t|||ddddy#1swYxYw#1swYxYw#1swYxYw#1swYxYw#1swYSxYw#1swY#xYw#1swYxYw#1swYxYw#1swYxYw#1swYxYw#1swYAxYw#1swYxYw#1swYxYw#1swYyxYw)Nrwrxrzr{rr|r}r~)steprr tolerancesrrmr+rrrrg$@rrT)rr z"...must be a non-negative integer.g @maxtermsr)r?rrMrrrrrr-r;rqrrrrisnansumrur,r)r=rr.rMrrr+s rrzTestNSum.test_input_validation$s GGzz!## 1331) ]]:W 5  QN . ]]:W 5 ! Aqa  !- ]]:W 5 ) BJJt$a ( ) ]]:W 5 ) Arzz$' ( ) ]]:W 5 1 Aqrzz$/ 0 1 ]]:W 5 8 AqTv%6 7 8 ]]:W 5 8 AqTv%6 7 8kkh' Pq"**bffbff%56 2GCJJqMR'Q ??88CGGAJ'BHHSYYq\,B BBJJqMQ&CKKN ::771:1- --66#((1+*+ ++q"**S/2::rvvqk+BCCJJqMR'Q ??88CGGAJ'BHHSYYq\,B BBJJqMQ&CKKN ::771:1- --66#((1+*+ ++q"**R."**S/JJQ'GHJC663::+rxx/@@HHSYY/036;;,?ADJMNOP PP# P(8 ]]:W 5 4 AqTr] 3 4 ]]:W 5 8 AqTrvv%6 7 85 ]]:W 5 B AqTrvv%6D A B ]]:W 5 B AqTrvv%6D A B7 ]]:W 5 ( Aq3 ' ( ]]:W 5 ' Aq2 & ' 'm   ! ! ) ) ) ) 1 1 8 8 8 8 P P* 4 4 8 8 B B B B ( ( ' 's ZZZZ+Z8 [[K+[[,([9)\*)\8\ +\,ZZZ(+Z58[[[[),[69\\\ \),\5rrWc2 jdj}t|d| j jj j}}t fd j D}j j|}t |||}t|j|t|jj|jjt|j j#|jj$t'j(d5t fd||d | } dddtj+ j|jtj+| j,|j,d t| j|jt| j |j y#1swYxYw) Nrr.c3@K|]}j|ywrGre).0argrs r z&TestNSum.test_basic..gs7RZZ_7srrrmrnc,j|SrGr|)rr.rs rrz%TestNSum.test_basic..osq$x(8rT)r rrr)rrrrMrrrrsrrrrrror%rronesrr;rqrru) r=rrrrMrrrsr+rr.s ` @rrzTestNSum.test_basicbsl 2$$ DAhZ. )zz!## 1331777jjej,1a&% BHHSYYbhhH$GH RWWSYYbggW%FG [[ ) 68aT6F 6 vzz*CGG4v||,ciieD szz2 4  6 6s H  Hr)rrrrAr c |j}fd}d}jddgjddjf}jddjgjddjjf}jgdjj d }j ||z |z } |} || |zz}|||zz} j||j||zzd d } |||| z |z } | | z||z}| | z|| z}||zd z }||z d z }j|||\}}}tj|jD]}t||t||t||}}}||z |z dz|ks<j|j|||z|j} | ||<| j| jj z||<d}t#||| ||t%|}t'|j|d|zt'|j(|d|z| |z |z dz|k}t'|j|||dt'|j(|||dt#||| |d t%t+j,||}t'j/|j|jt'j/|j(|j(y)Nc,dj|zSrr|rs rr*z$TestNSum.test_integral..logf{sbffQi< rc d|z S)Nrr0r's rFz!TestNSum.test_integral..F~s 6MrrrOrrAr )rrr)rrrrrT)axiskeepdimsrrr)rrrrr)rr rr)r?rrnewaxisrreshapefloorrrbroadcast_arraysr;ndindexr%rrrrrr-rrurr r)r=rrr.r*rrMrrnsteps b_originalrdirectrlowhighref_sumref_errr,aibistepirr+rs ` r test_integralzTestNSum.test_integralvs GG   JJ1vRZZJ 0BJJ ? JJC( J ;Arzz2::!:XOvzz*CGG4v||,cii8rr%rrrc :tjjd}|jdd|}tj}|j|dz}t j |fdd_tjd}t|j||j|d|j|f }||||d j} gd } | D]m} | D cgc]} |jt| | } } t|| }tt||j| d |j|k(rmJ|j!|j"j$dsJ|j!|j&j$dsJ|j!|j(j$dsJt+|r4t-|j/|j(jk(sJyycc} w)Nrrrrcxj|jk(s|jdkrdn|jdz c_d||zz Sr)rrrr%rs rr.z&TestNSum.test_vectorization..fs= GGQVVq[AFFaKqaggbk IGqAv: rrc(tfd|||S)Ncd|zz Sr9r0rs rrzBTestNSum.test_vectorization..nsum_single..s!ad(rr)r)rMrrrs ` r nsum_singlez0TestNSum.test_vectorization..nsum_singles*Aq8D Drrs)rrr)rrurrrrrrr)r;rrintegersrrr'r vectorizerrravelrrrr%rrrrrr rr)r=r%rrrMrrrr+rrrrsrrr.rs @@rrzTestNSum.test_vectorizationsii##$89 LLBUL + FF JJu  ! IIe    E  E1bjjmRZZ]TA(*1aT288:= +DBFG3 73#56GHGsD)H HX. 80D5 Q>>U* **  + zz#++++V444zz#****J777zz#((..*555 B<rvvchh'(AGG3 33 Hs7"Hcn|j}gd}|jdddddtjg|j}|jdtj tj tj tj tj g|j}t j|d}|j||j}tjd5t||||f}ddd|jgd }|jgd |j} tj|t|j| t|j|j|j||jy#1swYxYw) N)rrg?g?rrrrrrrmrnr)FFFFTF)rrrrQrr)rDrr;rrrr zetarqrrrrrrr) r=rr.rrMrrsr+ ref_success ref_statuss r test_statuszTestNSum.test_statuss3 GG " JJ1aArvv.bjjJ A JJBFFBFFBFFBFFBFFC2::J Vll1a  JJq J + [[ ) +q!QaT*C +jj!JK ZZ 7rxxZH  [1 J/ ,bjjockk.JK + +s 4F++F4cpfdd_t|jd|jd}|jjk(sJd_t|jd|j|jt d}|jjk(sJy)NcPxjt|z c_d|dzz SrT)rrr s rr.zTestNSum.test_nfev..fs" FFgaj Fq!t8Orrrrư>rr)rrrrr-)r=rr+r.s @r test_nfevzTestNSum.test_nfevs 1bjjmRZZ^4xx166!!!1bjjmRZZ%7DdOTxx166!!!rc |jddg}|j|j}td||dtd}td||}|j |j |j |j z kDsJ|j |j |j |j zksJy) NrrWcd|dzz SrTr0rs rrz)TestNSum.test_inclusive..QaZrig?r)rrcd|dzz SrTr0rs rrz)TestNSum.test_inclusive..rr)rrrr-r,rru)r=rrMrr+rss rtest_inclusivezTestNSum.test_inclusives JJ1v  JJrvv 'ADcN<'A.vvcgg399!45666vvcgg399!45666rr TFcbjdtj tj g}jtjdtjg}jgd}fd}t||||f}jtj j ddtj j dddg}rj|n|}r|jjk(rdnd nd} t|jj||j | fd }jdtj g}jtjdg}jddg} t|||| f}r(tjtjd ntjd }t|jj|j||j y)Nrr)rrrcr8jj|dz |j|zz Sj|dz j| j|zzSrB)r tanhrpr)rrMr rs rr.z(TestNSum.test_infinite_bounds..fsc*Qrvvay[8 >1r"&&)|(<< >r)rr rrg|=rGrrcLrdj||zzSd||zdzz S)Nrrrr|)rr`r rs rr.z(TestNSum.test_infinite_bounds..f s,%(2bffQqSk> :a1Q3(l :rr)rr;rrr dlaplacesfr rrrrr rrir%) r=r rrMrr`r.r+rsrrs `` rtest_infinite_boundszTestNSum.test_infinite_boundss JJBFF7RVVG, - JJBFF+ , JJy ! >1a!3/jj%..++Aq15>>3D3DQ3JANO bffSkc;>"**,$ACqww!?dK ; JJBFF7| $ JJ| $jj!R!1a#S1),bffW\\!_%',,q/#QWW!EFrc$fd}jdjjtjj}}t |||}jdj}t |j |dy)Nc.j|dz SrBrrs rr.z)TestNSum.test_decreasing_check..fs6616'? "rirgtfԸ\?rr)rrr;rrrrr5s ` rtest_decreasing_checkzTestNSum.test_decreasing_checkso #zz#RZZz0"**RVV2::*2V11amjj*"**j=51rc |j}|jdx}}t|||}t|j|j|dt|j |jd|jt j|jd}t|j|j|jj|jd}|jd}|jd}t j|j|j|j}t|j |||f}|jj|k(sJ|jj|k(sJ|jj|k(sJd}t||jd|jd d }|j|jsJ|j|j sJ|jd k(sJt||jd|jd d }|j#|jsJ|j#|j sJ|jd k(sJ|j|j$dddg}|j|j|j$|j|jg}|jdd|j$dg}t|j |||f}t|j|j|j$|j$|j$|jjgt|j dd |j'd|j$t|j|jgd|j(t|j*|jgdt|jdd|j'dd|j(y)Nrrr)rrr)rrrWcdtjd5d|z cdddS#1swYyxYw)Nrmrnr)r;rqr's rr.z%TestNSum.test_special_case..fBs*H- 1u   s&/rrrrrrrb)rrrrrrc)r)r?rrrrrDr;rrrsrjbroadcast_shapesr%rrr@rurrrirr)r=rr.rMrr+rr%s rtest_special_casezTestNSum.test_special_case,s) GG 1 A1amAaD!12477BJJqM2::bff+=BJJqMRDGGKK!89 HHY  HHV  HHQK##AGGQWWagg>477Aqt,ww}}%%%zz5(((xx~~&&& 1bjjmRZZ^a@xx   xx """zzR1bjjmRZZ^a@xx   xx """zzR JJ1a( ) JJ7 8 JJ1bffa( )477Aqt,RVVRVVRVVTWW[[,Q!RS "1 rwwtRVV'<= BJJbhhJ$OP RZZ0K%LM! bggdARXXg&FGrrrDrctfd}jd}jdjg}t|||}|jj k(sJ|j j k(sJjk(rdnd}ttjdjgd}t|jj||y) NcX|jk(sJd|jdzz S)Nrrr)rr)rrrs rr.zTestNSum.test_dtype..fas277e# ##qBJJqJ666 6rrrrrrrr) rrrrrrrurrr;r) r=rrr.rMrr+rrss `` rrHzTestNSum.test_dtype]sE" 7 JJqJ & JJBFF|5J 11amww}}%%%yy%'''+u B< 8!<Cu!=DIrr)rr )r rc|\}}d}tj}d}|||zz}tjdd} || tj|zz} tj| |z |z } t t | dk(sJ|j||j|j| |j} }|j||j|j| |j} }t||| ||} t|j| dkD|j| jdkDt| jd | jd||zy) Ncd|dzz SrTr0rs rr.z.TestNSum.test_nondivisible_interval..fvsqAv: rgUUUUUU?rrrr)rrrr)r;erspacingrlensetrrrrdiffrr) r=rrrrr.rMrb0r,rnsr+s rtest_nondivisible_intervalz#TestNSum.test_nondivisible_intervalos5  8  DD T\ IIb!  RZZ^# # XXq1un %3r7|q   zz!2::z. 1BJJ 0O1::d"**:5rzz"BJJz7Wb1a9 a)9A)=> SWWQZ!B%%78rzNeeds beta function.rcZtjjdd}d}tjd5tj |tj sJ dddt|dtj }t|j|y#1swY;xYw)NrWrOcNtjj|d|dzzS)NrOrW)r yulesimon_pmfr's rr.z0TestNSum.test_logser_kurtosis_gh20648..fs"??''1-14 4rrm)invalidr) r rmomentr;rqrrrrr)r=rrsr.r+s rtest_logser_kurtosis_gh20648z%TestNSum.test_logser_kurtosis_gh20648s~oo$$Q* 5[[ * '88AbffI& && '1a %  ' 's ,B!!B*N)*r}r~rr;rrruniformtolistrr?rrsrMrrrrrDr rrJrrrrrrr&rrrrrrrrrrHrrrr0rrrrs1 ))   3 4C Ar #**,A UUAXaZBF BD 66BDgBGW\\!Q BF BD 66BDdBG BD <<2F< +BD rttQ 'BFdBG<'| [[Zq!5565& [[Z)<=09>09d [[Wuwvy&IJ%4K%4NL$ " 7 [[UT5M2G3G42,/Hb [[Wy)&<=J>J" [[Vi%;<9=9. [[!!$7M!N &O &rrrG)'rrrnumpyr; numpy.testingr(scipy._lib._elementwise_iterative_method_lib_elementwise_iterative_methodrscipy._lib._array_api_no_0drrscipy._lib._array_apirrrr r scipyr r scipy.integrater rrrscipy.integrate._tanhsinhrscipy.stats._discrete_distnsrrr!r2rrr7rr0rrrsS )66HWW AA1:. + $J6DE @E @E @Pg.NO09MNk.A >M&M& BOPM&r