L iYddlZddlZddlmZmZddlmZddl m Z dddejdfdejfgZ Gdd Z Gd d Zy) N)assert_allcloseassert_array_equal)FuncData))rr)rrrc reZdZejj dedZdZejj de jddfe jddfe je je jfde jdfgdZ ejj de j d d d e je jgd Z ejj d e j d d d e je jgdZdZdZdZdZdZdZy) TestGammainca, xcZtjtj||sJyN)npisnanscgammaincselfaxs g/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/scipy/special/tests/test_gammainc.py test_domainzTestGammainc.test_domainsxx Aq)***c:tjdddk(sJyNrr)rrrs rtest_a_eq_0_x_gt_0zTestGammainc.test_a_eq_0_x_gt_0s{{1a A%%%r a, x, desiredrrctj||}tj|rtj|sJy||k(sJyr )rrr rrrrdesiredresults rtest_infinite_argumentsz$TestGammainc.test_infinite_argumentss@Q" 88G 88F# ##W$ $$rrcvtjtjtj|sJyr r rrrnanrrs r test_a_nanzTestGammainc.test_a_nan)s#xx BFFA.///rrcvtjtj|tjsJyr r&rrs r test_x_nanzTestGammainc.test_x_nan-s#xx Arvv.///rcttjddtjtjdddtjddtjdtjk(sJyNidgN~hr)atolrtol)rrrr infrs rtest_infinite_limitsz!TestGammainc.test_infinite_limits1s\  KKc " KK $  {{3%S"&&)AAAArcptjdd}ttj|ddyNr r)r arangerrrr+s r test_x_zerozTestGammainc.test_x_zero<s' IIa 2;;q!,a0rctjdd}tjdd}tj||sJyN绽|=rr)rrr iscloserr limits rtest_limit_checkzTestGammainc.test_limit_check@s6UA& Aq!zz&%(((rctjgd}d}d}|D]}|||zz}||z}|tjdtjz|zz}|dz }|S)N)gUUUUUUտgt:W^g;dp?g4;GE?g{ >Lg 6rrg?)r arraysqrtpi)rrcresxfaccks r gammainc_linezTestGammainc.gammainc_lineEsw HH@ A B 2d7NC AID  rwwqwqy!! s  rctjtjddd}|}tj|||j |fj }t tj|dddjy)Ni,i)rrrAgdy=r1) r logspacelog10vstackrITrrrcheck)rrrdatasets r test_linezTestGammainc.test_lineSsd KK c3 / ))Q4#5#5a#89:<<gvqu=CCErctjddd}tjddd}tj|tj||}t ||dy)Nr6r/r;rL)r rMr gammaincinvrrrrrys rtest_roundtripzTestGammainc.test_roundtripYsM KKB $ KKB $ NN1bkk!Q/ 015)rN)__name__ __module__ __qualname__pytestmark parametrizeINVALID_POINTSrrr r2r'r!r)r,r3r8r?rIrSrYrrr r s3 [[V^4+5+& [[_ A A  BFFA / %  % [[SBFF7D$RVVRVV"LM0N0 [[SBFF7D$RVVRVV"LM0N0 B1) F *rr c feZdZejj dedZdZejj de jddfe jddfe je je jfde jdfgdZ ejj de j d d d e je jgd Z ejj d e j d d d e je jgdZdZdZdZdZy) TestGammainccr cZtjtj||sJyr )r rr gammainccrs rrzTestGammaincc.test_domaincsxx Q*+++rc:tjdddk(sJyr)rrers rrz TestGammaincc.test_a_eq_0_x_gt_0gs||Aq!Q&&&rrrrctj||}tj|rtj|sJy||k(sJyr )rrer rrs rr!z%TestGammaincc.test_infinite_argumentsjs@a# 88G 88F# ##W$ $$rrr"r#r$cvtjtjtj|sJyr r rrrer'r(s rr)zTestGammaincc.test_a_nanws#xx RVVQ/000rrcvtjtj|tjsJyr rir+s rr,zTestGammaincc.test_x_nan{s#xx Q/000rctjddtjtjdk(sJt tjddtjdtjddyr.)rrer r2rrs rr3z"TestGammaincc.test_infinite_limitssZ||D#&",,rvvs*CCCC LLd # LLbff %  rctjdd}tjdd}tj||sJyr:)rrer r<r=s rr?zTestGammaincc.test_limit_checks6eA& Qq!zz&%(((rcptjdd}ttj|ddyr5)r r7rrrer+s rr8zTestGammaincc.test_x_zeros' IIa 2<<1-q1rctjddd}tjddd}tj|tj||}t ||dy)NrUr6r/g+=rL)r rMr gammainccinvrerrWs rrYzTestGammaincc.test_roundtripsM KKB $ KKB $ OOAr||Aq1 215)rN)rZr[r\r]r^r_r`rrr r2r'r!r)r,r3r?r8rYrarrrcrcas' [[V^4,5,' [[_ A A  BFFA / %  % [[SBFF7D$RVVRVV"LM1N1 [[SBFF7D$RVVRVV"LM1N1  ) 2*rrc)r]numpyr numpy.testingrr scipy.specialspecialrscipy.special._testutilsrr'r`r rcrarrrusS =-   VVQKK K*K*\7*7*r