L i@ddlZddlZddlZddlmZmZmZmZddl m Z ddl Z ddl m Z ddlmZddlmZddlmZmZmZmZmZmZmZmZmZmZmZmZddlmZdd l m!Z!d Z"d Z#dd Z$d Z%GddZ&GddZ'GddZ(GddZ)GddZ*dZ+dZ,dZ-dZ.e j^j`dZ1dZ2dZ3y) N)xp_assert_equalxp_assert_closeassert_almost_equalassert_array_almost_equal)raises)check_free_memory)RectBivariateSpline) make_splrep) splrepsplevbisplrepbisplevsprootsplprepsplintspaldesplder splantiderinsertdblint) regrid_smth) dfitpack_intctjjtjjtjj t d|S)Ndata)ospathjoinabspathdirname__file__)basenames j/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/scipy/interpolate/tests/test_fitpack.py data_filer#s8 77<<(AB **chtjtj|j|SN)npsqrtdotT)xs r"norm2r,s 77266!##q> ""r$c|dzdk(rtj|S|dzdk(rtj|S|dzdk(rtj| S|dzdk(rtj| Sy)z$Derivatives of sin->cos->-sin->-cos.rN)r'sincos)r+ds r"f1r5so1uzvvay1uzvvay1uzq z1uzq zr$c tjttjtj |tj |}|j S)z7Helper function to create an array of pairs of x and y.)r'arraylist itertoolsproductasarrayr*)r+yxys r" makepairsr>*s; $y((A 1 FG HB 44Kr$ceZdZdZddddej zdddfdZddddej zfdZd Ze jjd dd ge jjd d dgdZ e jjdddge jjd dd gdZ e jjdddge jjd dd gdZdZe jjdddge jjdgddZdZy)TestSmokeTestszj Smoke tests (with a few asserts) for fitpack routines -- mostly check that they are runnable rr0FNc ||}||}dtj||dz}|||z tjdtztdz z z} t |} fd} t ddD] } t || || |} |r | d| | n| }t | dzD]K}| | |}tt ||t|| |z tt ||z }||krKJ|rt|| | ||}t|jt| dk(rOt|j| dd t|j| dd|jjd | d k(r Jy) Nr/dtypecHdz }d|d||z zzz}dkDr|dzz }|S)N??rgj@)kr4htolNss r"err_estz'TestSmokeTests.check_1..err_estBs;aAa#qs)n$C1us1u Jr$rNperrJxer)rJrNxbrSV瞯<atolvIh%<=rG)r'linspacearangefloatr5ranger r,r r lentrcsize)selfrRrNabat_nodesrTrSr+x1vrOrJtckttr4rLerrsplrMs ` @r"check_1zTestSmokeTests.check_15s| :B :B  KK1a!e $ !a%299Q77%A,F F qE q! "AAqR8C!)Q1"rB1Q3Z !amBr1Ib#q(99:U2b!9=MMSy y ! !!Q!qRB?suu:SV,#CEE3q6>#CEE3q6+355::+>UK6M6! "r$rBc ddtjzdtjz}}}tj||dz}tj|} fd} g} t ddD];} t || d|| |} | j t||| t|| g=d} | D]:}d}|dD])}| | |}t|t||d||dz}+| dz} <y) Nrr0皙?r/c.dz }d|d||z zzz}|S)NrFrGrHrI)rJr4rKrLrMs r"rOz'TestSmokeTests.check_2..err_estas'aAa#qs)n$CJr$rPrQrWrtol) r'pirYr2r\r appendrrrr5)rarRrMiaibrbrcdxr+rfrOnkrJrgrr4drrLs ` r"check_2zTestSmokeTests.check_2\sags255yb1 KK1ac " FF1I  q! >AAqQ7C IIvb"c*F2sO< = >  AAd amBr1IAC@aC !A  r$c|jd|jdtjz|jdtjzdtjzddy) Ngư>rN?)rcr0r/皙?)rcrSrRrN)rkr'rqras r"test_smoke_splrep_splevz&TestSmokeTests.test_smoke_splrep_splevusJ t  s255y ! s255yQruuW!t .f2s66!A#; r$r/rNkxkyr) r'rqrYr>r rr]shaper,ravel)rarTrSybyerrNxNyrr+r<r=rgrht2v1v2s r"test_smoke_bisplrep_bisplevz*TestSmokeTests.test_smoke_bisplrep_bisplevs;BruuHBBruuHBBB  KKBQ ' KKBQ ' q!_r!ubeR1r!u%5rbI!fRnc!fRn - r!ube $ RUBqE3 ' 1r!u r!u:s2a5z)RXXb2g&'$...r$)__name__ __module__ __qualname____doc__r'rqrkryrpytestmark parametrizerrrrrrrIr$r"r@r@0scqA2555D%"NraAbeeG2=  [[UQF+ [[Z$718,1 [[S2r(+ [[UQF+#,,# [[S2r(+ [[UQF+;,,;J" [[S2r(+ [[S/2(3,((/r$r@ceZdZdZdZdZy) TestSplevcgd}gd}t||}tdg|}|jdk(sJtd|}|jdk(sJy)Nrr.rGrPr/)r/rI)r r r)rar+r<rgzs r" test_1d_shapezTestSplev.test_1d_shapesO  Ql 1#sOww$ !SMww"}}r$cgd}gd}t||}tjgdgdg}t||}t|d|}t|d|}t |tj ||fy)Nrr)rFr|r@)@g @@g@rr/)r r'r7r rvstack)rar+r<rgr^rz0z1s r" test_2d_shapezTestSplev.test_2d_shapesr  Ql HH**, - !SM 1Q4  1Q4 299b"X./r$cgd}gd}t||d}ddgddgdddgg}d D]}ttddg|| ||!tttddg|d y) N)r/r0r1)rr0r.r/)rJrPrr.)rr/r1)extr0)r rr rr)rar+r<rgrstlrs r"test_extrapolation_modesz"TestSplev.test_extrapolation_modessx  QQQ!Q1v. NC %eQFCS&A49 M N j%!Q!r)r\r'rYr rjrr)rarxxdyrdy2s r"test_splder_vs_splevzTestSplder.test_splder_vs_splevss )ARD)BAvqR1W-.r488Q'B$((A&DD/CAvCd3C( )r$c<t|j}tjddd}|D]k}|D]d}t |||j}t ||t ||z }t tj|tj|fmy)Nrr/rB)rrjr'rYrr rr;)rarrrex2y1y2s r"test_splantider_vs_splintz$TestSplder.test_splantider_vs_splints$((#[[Ar " @B @BDHH-2t_uR6 2 2? @ @r$cDttt|jdy)Nr.)rrrrjr~s r"test_order0_diffzTestSplder.test_order0_diff!sj&$((A6r$cHtd|jd}t|dttt|dtd|jd}t|dttt|dtd|jd}ttt|dy)N?r0)mr1r/r.)rrjrrr)rars r" test_kinkzTestSplder.test_kink$svc488q)tQj&$2c488q)tQj&$2c488q)j&$2r$c$tdD]}|j\}}}tj|||f}tj||f}t |||f|}t ||}t||dt||d||dk(rJy)Nr1rr/r0)r\rjr'c_dstackrrr)rarr^r_rJc2rrs r" test_multidimzTestSplder.test_multidim2sq AhhGAq!q!QwBB8$Bq"aj!,D$?D AtAw ' BQ (Q< < r$N) rrrrrrrrrrrIr$r"rrs&0*)& @7 3  r$rceZdZdZy) TestSplintc 4d\}}tj|}|dz}t||d\}}}t|t|cxk(r|d|dz zzk(sJJt dd|||f}d}t ||z d ksJ|j } tj| t||z dz dt dd|| |f} t | |z d ksJtj| d<tjt dd|| |fsJ|dt||z dz } t dd|| |f} | |z d ksJttd 5t ddtjd tjd dfdddy#1swYyxYw)N)rr1r1rr{r0r/rPg@t@rXz>=n-k-1)match rG) r'rZr r]rrcopynanisnanr Exceptionones) rarrJr+r<r^r_resexpectedc0res0c1res1s r" test_len_czTestSplint.test_len_cBs1 IIaL qDA#1a1vQ.1q!A#w;.....QAq!9%3>"U***VVX ff3q6A:>?aQAJ'4(?#e+++1xxq!aQZ0111A Q aQAJ'x5((( 9J 7 7 1a"''"+rwwqz15 6 7 7 7s 7FFN)rrrrrIr$r"rrAs!7r$rcxeZdZdZdZej jee jk7ddZ y) TestBisplrepc ddlm}tjdk(rd}nd}|t j d|f}t tt||||ddddd y) Nr) as_stridedrldBBAr3 cr7BsGQ=b1b1 =>B GC 7) B 7) B<-wBDr$c d}d\}}d}tjdd|}tjdd|}t||}t|d|d||d|dd|| }d }tj||d<tj|d z|d<tjd} tjdd z} t j t5t| | |dddddy#1swYyxYw) Nrc2tj||zSr&rrs r"rztest_gh_1766..f2svvac{r$rrrir/ri r.r1) r'rYr>r rZrrr-r) r`rrrr+r<r=rg tx_ty_sizett_0tt_1s r" test_gh_1766r=s D FB Ar4 A BT"A 1aB 2a5"Q%BqE2a5!1Q2" ECJ YYz "CF YYz "Q &CF 99R=D 99R=1 D { #'dCA&'''s $C==Dctjdd}|dz}t||ddg}ttjd|}tj gd}t ||y)Nrrr1rG)rJr^r/)rFr@r?)r'rYr rfloat64r7r)r+r<rgrdess r"test_spalde_scalar_inputrBsZ ArA 1A Aqc "C A $C ((# $CS!r$c ftjgdd}gd}tjgd}d}t||||f}tj|}tjt dDcgc]}t ||||f|c}}t ||jd ycc}w) N)$" rrrFr|rrrr@r?r[rC)rDrDrDrDrErFrGrHrIrJrKrLrMrNrOrPrrrFr|rrrrrQr?r?r?r?)rFrrrrrrrrrrrrrrrrrrrrrrrrr1r.rUrV)r'r;rrr\r rr*)r+r^r_rJrnu res_splevs r"test_spalde_ncrTs J! #A "A < =A A Q1I C ))C.C eAhGE!aAY3GHIC51Hs7B.)r)4r9rnumpyr'scipy._lib._array_apirrrrrrrscipy._lib._testutilsrscipy.interpolater r scipy.interpolate._fitpack_pyr r r rrrrrrrrrscipy.interpolate._dfitpackrscipy.interpolate._fitpack2rr#r,r5r>r@rrrrrr$r(r6rxslowr=rBrTrIr$r"r]s + 31)JJJJ34* #  T/T/n#=#=LQ Q h"7"7J!5!5H > <8 0E&'',"2r$