L iƴddlZddlZddlZddlmZddlmZddlm Z m Z m Z ddl m Z ddlmZddlmZmZmZmZmZddlmZdd lmZej4j7d ej8ZGd d ZGd dZGddZ y)N) assert_warns)ComplexWarning)xp_assert_equalxp_assert_closeassert_array_almost_equal)skip_xp_invalid_arg)raises)RegularGridInterpolatorinterpnRectBivariateSplineNearestNDInterpolatorLinearNDInterpolator)matrix)_run_concurrent_barriermethodc eZdZdZdZdZdZedZe jjdgddZ e jjd ee jgd gd gd gfee jgd fgdZdZedZdZdZdZe jjde jgddfe jgddfe jgddfe jgddfe jgddfgdZdZd Zd!Zd"Zd#Zd$Zd%Zd&Ze jjdd'd(gd)Zd*Zd+Z d,Z!e jjd-d.e jDe jFge jjdd(d'gd/Z$e jjdd'd(gd0Z%e jjdd'd(gd1Z&e jjOd2ee jjd3d4d5fd6d7fd8d9fd:d;fgd<Z(d=Z)ed>Z*e jjOd:ed?Z+ee jjd@dAdBgdCZ,dDZ-e jjdEe j\e j^e j`e jbge jjdFe j\e j^gdGZ2dHZ3e jjhdIZ5y.)JTestRegularGridInterpolatorcdgdz}tjgd}|ddtjtjtjf}|tjddtjtjf}|tjtjddtjf}|tjtjtjddf}||dzz|dzz|dzz}||fS)N?? dnpasarraynewaxisselfpointsvaluesvalues0values1values2values3s f/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/scipy/interpolate/tests/test_rgi.py_get_sample_4dz*TestRegularGridInterpolator._get_sample_4ds!#L)BJJ BJJ>?Q BJJ>?RZZBJJ>?RZZQ>?GbL(7S=87T>Iv~c"dgdzdgdzz}tjgd}|ddtjtjtjf}|tjddtjtjf}|tjtjddtjf}|tjtjtjddf}||dzz|dzz|dzz}||fSNr)r@$@rrrrr!s r)_get_sample_4d_2z,TestRegularGridInterpolator._get_sample_4d_2(s!#}o&99L)BJJ BJJ>?Q BJJ>?RZZBJJ>?RZZQ>?GbL(7S=87T>Iv~r+cdgdz}tjgd}|ddtjtjtjf}|tjddtjtjf}|tjtjddtjf}|tjtjtjddf}||dzz|dzz|dzz}||fS)Nrrr?@@@rrrrrr!s r)_get_sample_4d_3z,TestRegularGridInterpolator._get_sample_4d_33s56:?@BJJ BJJ>?Q BJJ>?RZZBJJ>?RZZQ>?GbL(7S=87T>Iv~r+cdgdz}tjddg}|ddtjtjtjf}|tjddtjtjf}|tjtjddtjf}|tjtjtjddf}||dzz|dzz|dzz}||fS)N)rrrrrrrrrr!s r)_get_sample_4d_4z,TestRegularGridInterpolator._get_sample_4d_4>s!S#J'BJJ BJJ>?Q BJJ>?RZZBJJ>?RZZQ>?GbL(7S=87T>Iv~r+c|j\}}tjgdgdgdg}t||j |}||j }t|||}||}t ||y)N皙?r=r?皙?r=g?g?rrrrr)r8rrr tolistr)r"rr#r$sampleinterpv1v2s r)test_list_inputz+TestRegularGridInterpolator.test_list_inputIs..0/1D/12))/068FMMO $()/068F^Br+r)cubicquinticpchipcr|j\}}d}tjt|5t |||dddt ||}t j gdgdgdg}tjt|5|||dddy#1swYbxYw#1swYyxYw)Nzpoints in dimensionmatchrBr<r?rA)r:pytestr ValueErrorr rr)r"rr#r$rNrErDs r)test_spline_dim_errorz1TestRegularGridInterpolator.test_spline_dim_errorZs..0%]]:U 3 C #FF6 B C)8/1D/12 ]]:U 3 * 6& ) * * C C * *sB! B-!B*-B6zpoints_values, sampler<r?rAr=r=r0"@c||\}}t||d}||}t||d}||}t||y)NlinearrBslinear)r r)r" points_valuesrDr#r$rErFrGs r)test_linear_and_slinear_closez9TestRegularGridInterpolator.test_linear_and_slinear_closejsJ't,(I F^( J F^Br+c|j\}}tjgdgdgdg}t||d}t t 5||ddddt ||dtjgd d t ||d tjgd d t ||dtjgdd y#1swYxYw)Nr<r?rArVrB)nu)rZrrr)rrZrZV瞯<atol)rrZrr)r0rr)rrZrZr)rrrg-=)r*rarrayr assert_raisesrPrr)r"r#r$rDrEs r)test_derivativesz,TestRegularGridInterpolator.test_derivativess,,.33356) J : & ! 6a  ! v,7 ;/e =v,7 >2 @ v,7 ;/e = ! !s  C$$C-cv|dk(rtjd|j\}}|d|zz }tjgdgdgdg}t |||}t ||j |}t ||j|}||}||d||zz} t|| y) NrK*pchip does not make sense for complex data@r<r?rArB?) rOskipr8rrr realimagr) r"rr#r$rDrErinterpiinterprFrGs r) test_complexz(TestRegularGridInterpolator.test_complexs W  KKD E..0"V)#/1D/12)G)&&++fM)&&++fM F^ V_r'&/1 1Br+cgdgd}}tj||d\}}d||}t||f|d}t||f|d}|dd g}|dd g} tj|| d d rJy) N)rZr.rij)indexingc|dz|dzzS)Nrxys r)zATestRegularGridInterpolator.test_cubic_vs_pchip..sq!tad{r+rIrBrKr4r.+=rr^rtol)rmeshgridr allclose) r"rsrtxgygr$rIrK vals_cubic vals_pchips r)test_cubic_vs_pchipz/TestRegularGridInterpolator.test_cubic_vs_pchips\1QD1B*B3'AwG'AwGC8_ C8_ ;;z:EJJJJr+c|j\}}t||}tjgd}tjdg}t |||y)NrRH@r1r rrrr"r#r$rErDwanteds r)test_linear_xi1dz,TestRegularGridInterpolator.test_linear_xi1dsM..0(8/0VH%!&.&9r+c|j\}}t||}tjgdgdgdg}tjgd}t |||y)Nr<r?rArgq@g\@r*r rrrrs r)test_linear_xi3dz,TestRegularGridInterpolator.test_linear_xi3dsY,,.(8/1D/1223!&.&9r+zsample, wanted)r=r=r>r>g0@)r=r=r=r=rrrrrrrrr\@)r=皙?g333333?r>g|@c|j\}}t||d}tj|g}t |||y)NnearestrBr)r"rDrr#r$rEs r) test_nearestz(TestRegularGridInterpolator.test_nearestsB,,.( JVH%!&.&9r+c|j\}}t||}tjgdgdg}tjddg}t |||y)Nrrrrrrs r)test_linear_edgesz-TestRegularGridInterpolator.test_linear_edgessU,,.(8-/?@ARK(!&.&9r+cddg}tjgd}|ddtjf}|tjddf}||dzz}ttt ||ddg}ttt ||ddg}ttt ||gd}ttt ||ddg}ttt ||dy) Nr)rrrr)r)rrg?r)rrr undefmethodrB)rrr r`rPr )r"r#r$r%r&s r)test_valid_createz-TestRegularGridInterpolator.test_valid_creates -L)BJJ'Q'GbL(j"966J"L1j"966J#\2j"966J;j"966J -j"966* ,r+cL|j\}}t||}tjgdgdg}t t ||dtjgdgdg}t t ||tjgdgdg}t t ||y)Nrrr)rrr)rrr)rrr皙?)r*r rrr`rP)r"r#r$rErDs r)test_valid_callz+TestRegularGridInterpolator.test_valid_calls,,.(8-/?@Aj&&-@\<89j&&1-/@ABj&&1r+c6|j\}}t||dd}tjgdgdgdgdg}tjgd}t ||d |tjgd }t ||d |y) NF bounds_error fill_value皙rrrrrrr@皙irrrr)rr&@rrrB)gfffff[gfffff@ggrUrrs r)test_out_of_bounds_extrapz5TestRegularGridInterpolator.test_out_of_bounds_extraps,,.(e48:13G13IKL12!& "BFK>?!&"A6Jr+c6|j\}}t||dd}tjgdgdgdgdg}tjgd}t ||d |tjgd }t ||d |y) NFrrrrr)rrrrrrB)g333333(g33333`@ggyXrUrrs r)test_out_of_bounds_extrap2z6TestRegularGridInterpolator.test_out_of_bounds_extrap2s..0(e48:13G13IKL/0!& "BFK9:!&"A6Jr+c|j\}}t||dtj}tjgdgdgdg}tjtjtjtjg}t ||d|t ||d|tjgd gd gd g}tjgd }t |||y) NFrrrrrrBrUr<r?rAr)r*r rnanrrrs r)test_out_of_bounds_fillz3TestRegularGridInterpolator.test_out_of_bounds_fill s,,.(e46FF<13G356RVVRVVRVV45!& "BFK!&"A6J/1D/1223!&.&9r+cb|j\}}t||d}tj|}|Dcgc]}|}}t j |}|j d}t||}t j gdgdgdg}t||||ycc}w)NrrBr<r?rA) r*r itertoolsproductrrreshaper r r"r#r$rE points_qhullp values_qhull interp_qhullrDs r)test_nearest_compare_qhullz6TestRegularGridInterpolator.test_nearest_compare_qhulls,,.( J ((&1 #/0a0 0zz,/ ~~b) ,\<H /1D/12!&.,v2FG 1s B,c^|j\}}t||}tj|}|Dcgc]}|}}t j |}|j d}t||}t j gdgdgdg}t||||ycc}w)Nrr<r?rA) r*r rrrrrrrrs r)test_linear_compare_qhullz5TestRegularGridInterpolator.test_linear_compare_qhull#s,,.(8 ((&1 #/0a0 0zz,/ ~~b) +L,G /1D/12!&.,v2FG 1s B*rrUctjddd}tjddd}td}t||f||}|dd g}t||f|j|}|dd g}t ||d y) Nrr.rZrrrBrffffff?F check_dtype)rlinspaceMyValuer _vr)r"rrsrtr$rErFrGs r)test_duck_typed_valuesz2TestRegularGridInterpolator.test_duck_typed_values/s KK1a  KK1a (!QG S#J (!Q6J S#J BE2r+c2tjjdtjddd}tjddd}tjj dd}t ||f|dt tt ||f|dy) Nrr.rrZrry?@)rrandomseedrrandr r`rP)r"rsrtr$s r)test_invalid_fill_valuez3TestRegularGridInterpolator.test_invalid_fill_value=sv t KK1a  KK1a 1% A1= j"9!ff 7r+ctjdd}|jDcgc]}tj|}}t ||t ||dycc}w)Nrz>f4dtyperr)ronesshapearanger )r"r$nr#s r)test_fillvalue_typez/TestRegularGridInterpolator.test_fillvalue_typeJsLU3(. 51"))A,55/2>6sAc d}tjddd}tjddd}|tj||dd}t||f|ddd }t |tj ddgdd gddggtj gd d t |tj ddgddgddgggdd t |tj ddg|jdddd d|_t |ddgddggddgdt |ddgddggddgdt||f|ddd }t |ddgddggtj d d!gdy)"Nc ||zSNrqrrs r)fz;TestRegularGridInterpolator.test_length_one_axis..fVs q5Lr+rZrrnTrosparserUFerrrr)r5 rvr]gffffff?333333@)333333@333333@rrr)r check_shapecheck_0dr^333333?g'@g?g)@r\r4gffffff?rg?gffffff@r7r)rrryr rr_rr)r"rrsrtdatarEs r)test_length_one_axisz0TestRegularGridInterpolator.test_length_one_axisRs  KK1a  KK2r ""++aT$?@(!Qh6;M rxx!Q!Q!R(ABC <0" $ rxx!SAs8aW(EFG&" $ rxxc 34))$)uu" $ !C1d)45d % 1 c S$K89d % 1)!Qi6;Nc RI67 C8," $r+rNc|d|d}tjddtjzd}tj|}t |f|ddfi|}t |dgf|dddffi|}tjddtjzdzd}||} tj d} |tj || gj} t| | tjd} |tj || gj} | t| | yt| tj| |y) NFrrrrr.rrrZr) rrpisinr zerosvstackTrr full_like) r"rroptionsrszfafbx1azay1bzbs r)test_length_one_axis2z1TestRegularGridInterpolator.test_length_one_axis2~s ",U#% KK1RUU7B ' FF1I $aT1Q4 ;7 ; $a!XqDz EW Ekk"agai- Whhsm  3*%'' (Bggcl  3*%'' (   B # B R < =r+ctgdfgddd|}tj|tjgsJtjj d}|j dd z}|j dd kD}tj||<tj d 5||}dddtj|jsJt|||||gd}dg}tjd }t||f|dd|}tjtj|tjdgsJtjtj|dtjgsJy#1swYxYw)N)rZr.rmrrZFrlJrsizerrignoreinvalid)rmrZ) r risnanrr default_rngerrstateallrr) r"rrrngrsiresrtrs r) test_nan_x_1dz)TestRegularGridInterpolator.test_nan_x_1dso $YL,116v Gxx266( $$$ii##J/ JJCJ  " JJCJ 3 &vv! [[ *  A$C  xxA##%%%QB1aR5*  Ewwv #QFDQ16v Gvvbhhq"&&!~.///vvbhhq!RVV~.///#  s 4 F66F?c*tjgdtjgd}}d}tj||dd\}}|||}t||f||d}tjd 5|d tj gd d gg} dddt  d d dtj| dsJtjjd} | jddzd z }| jddz}| jddkD} | jddkD} | | z} tj || <tj || <tj||gj}tjd 5||} dddtj| | jsJt| | ||| dy#1swYcxYw#1swY[xYw)N)rrZr.)rZrmrc|dz|dzzSNr.rqrrs r)rz4TestRegularGridInterpolator.test_nan_x_2d..fsa4!Q$; r+rnTrFrrrrr4rZr5rvr]rrrrrrr) rr_ryr rrrrrrrrr)r"rrsrtrr{r|rrErri1i2rrs r) test_nan_x_2dz)TestRegularGridInterpolator.test_nan_x_2dsxx "BHHY$71 QD>BRy(!Q06UL[[ * 23-!Q01C 2A%0xxAii##J/ JJCJ  "1 $ JJCJ  " ZZSZ !C ' ZZSZ !C ' G"" HHaV    [[ *  )C  xxA##%%%QB1"EB/ 2 2  s>G<& H <H Hr)ndimsfuncr.c$d|dzzd|dzzzSNr.rmrqrrs r)ruz$TestRegularGridInterpolator.sQ!Va!q&j0r+rmc*d|dzzd|dzzz|z Srrq)rsrtrs r)ruz$TestRegularGridInterpolator.s AQJQ!V3a7r+rc0d|dzzd|dzzz|z |zSrrqrsrtras r)ruz$TestRegularGridInterpolator.s%q16zAQJ6:Q>r+rc6d|dzzd|dzzz|z ||zzSrrq)rsrtrrbs r)ruz$TestRegularGridInterpolator.s)!a1f*q16z"9A"=A"Er+c|dk\r|dvrtjdtjj d}d}d}|j ||d|f}t |Dcgc]}tj||d } }|tj| d d d } t| | | } | |} | D cgc] } | ddd }} |tj|d d d }t||| }||}t| |ycc}wcc} w)Nr>rIrJz-too slow; OOM (quintic); or nearly so (cubic)*rZrr.r rnTrrBr) rOrfrrruniformrangerryr r)r"rrrr sample_low sample_high test_points_ascending_pointsascending_valuesascending_interpascending_resultxidescending_pointsdescending_valuesdescending_interpdescending_results r)test_descending_points_ndz5TestRegularGridInterpolator.test_descending_points_ndsB A:&$88 KKG Hii##B'  kk*kE kK &+5\3 !KK KD33 .>6:48":;33C3C:@B,K80@A"R"XAA "++/@7;59#;<44E4E;AC.k:(*;<+3Bs %D8D cd}tjgd}tjgd}||f}|tj|ddd}d}tjt |5t ||dddy#1swYyxYw) Nc$d|dzzd|dzzzSrrqrrs r) val_func_2dzJTestRegularGridInterpolator.test_invalid_points_order..val_func_2dsqAv:AF * *r+rr5r@@rr5r7r2r3rnTr(must be strictly ascending or descendingrM)rr_ryrOr rPr )r"r0rsrtr#r$rNs r)test_invalid_points_orderz5TestRegularGridInterpolator.test_invalid_points_orders~ + HH* + HH* +Qbkk6D1578: ]]:U 3 4 #FF 3 4 4 4s , BB cttjdgtjd|d}tj|dgsJy)NrFr r)r rrrr)r"rrEs r)test_fill_valuez+TestRegularGridInterpolator.test_fill_values@("))A,06ULxxt %%%r+c|dk(rtjddgdzdgdzz}tjj d}|jd}|jd}t |||d }||}|j d k(sJ|g}td D]-} t ||d | f|d }|j||/tj|jddd} t|| d|yNrJ Way too slow.rrrr4r5r6r.)rr/r0.@r9@r)rrrrr )rrmrFr )rrmr r .rZrrvr^err_msg) rOrfrrrr rrappendr_ transposer) r"rr#rr$rDrEvvsjrGs r)test_nonscalar_valuesz1TestRegularGridInterpolator.test_nonscalar_valuess Y  KK (11A5 ,9 9ii##D)O,I&(6;= 6Nww)#+V+# q &A,VVCF^4::?AF IIfVn %  & XXb\ # #Aq! ,2E6:r+ flip_pointsFTc |dvrtjdgd}|r!|Dcgc]}tt|}}tj j d}d}|j dddd g|}|j d }t|||d } | |} | jd g|k(sJt j|jdd} t|jdD]O} t|jdD]2} t||d| | f|d } | |j| | | f<4Qt j| d}t| |d|ycc}w)N>rIrJr;r<r3)rr/r0r=rr>A@B@) rr/r0r=rr>rJrK/rrmr.rrr  rFr rZr.raxisrvr?)rOrftuplereversedrrrr remptyritem expand_dimsr)r"rrGr#rrtrailing_pointsr$rDrErCrDrrErGs r)test_nonscalar_values_2z3TestRegularGridInterpolator.test_nonscalar_values_29sr ) ) KK (D 289QeHQK(9F9ii##D) Q1a:/:;A(6;= 6Nww1/////XXfll23' (v||B'( 1A6<<+, 10Q 9J8>>CE"&>..01a4  1 1 ^^BQ '2E6:3:sE*c \d}ddg}tjjd}d}|jddg|}|jd}t|||d }||}|jd g|k(sJtj |jd d} t |jd D]O} t |jd D]2} t||d| | f|d }||j| | | f<4Qtj| d} t|| d|y)NrUr<r3r)rmrrrr.Fr rZrOr.rrPrvr?) rrrr rrTrrUrVr) r"rr#rrWr$rDrErCrDrrErGs r)test_nonscalar_values_linear_2Dz;TestRegularGridInterpolator.test_nonscalar_values_linear_2Dds=059ii##D) Q4O45A(6;= 6Nww1/////XXfll23' (v||B'( 1A6<<+, 10Q 9J8>>CE"&>..01a4  1 1 ^^BQ '2E6:r+rxi_dtypecXd}tjddd}tjddd}tj||dd \}}|||}|j|}t ||f|} tj d d gd d gg|} t | | ddgdddy)Nc$d|dzzd|dzzzSrrqrrs r)rz:TestRegularGridInterpolator.test_float32_values..fsq!t8a!Q$h& &r+rZrrrrnTrrg@ffffff @g@rg Y`@g{,c@gHz>F)r^rxr)rrryastyper r_r) r"rr[rrsrtr{r|rrEptss r)test_float32_valuesz/TestRegularGridInterpolator.test_float32_valuess ' KK1b ! KK1b !QD>BRy{{5!(!Q6hhc c $+35 s lL%A!% Ar+cTtjddd}tjddd}tj||dd\}}||z}tt5t ||f|ddddtt 5t ||f|d d dddtt 5t ||f|d d d dddtt 5t ||f|d d didddy#1swYxYw#1swYlxYw#1swYMxYw#1swYyxYw)NrrmrrnTrc|Srrqrss r)ruz=TestRegularGridInterpolator.test_bad_solver..s1r+)solverrVc|Srrqres r)ruz=TestRegularGridInterpolator.test_bad_solver..r+)rrfc|Srrqres r)ruz=TestRegularGridInterpolator.test_bad_solver..rhr+woof)rrfrjr)r solver_args)rrryr`rPr TypeError)r"rsrtr{r|rs r)test_bad_solverz+TestRegularGridInterpolator.test_bad_solvers! KK1a  KK1a QD>BBw: & F #QFD E F9 %  #AY{   9 %  #AY{   9 %  #AYfb\    F F        s0C:D2DD:DDDD'c|j\}}tjgdgdgdgdgt||d}ddgfd}t d ||y) Nr<r?rA)rr=r@rrVrBrcb|j}|dz}|||j|usJy)Nr.rB)_spline)tidrEsplinermethodsrDs r) worker_fnz?TestRegularGridInterpolator.test_concurrency..worker_fns6^^FS1W%F 6& )>>V+ ++r+r)r*rr_r r)r"r#r$rErtrsrDs @@r)test_concurrencyz,TestRegularGridInterpolator.test_concurrencysc,,.333356) Ji( , Iv6r+)6__name__ __module__ __qualname__r*r1r8r:parametrize_rgi_interp_methodsrHrOmark parametrizerQrrrXrarkrrrrrrrrrrrrrrrrrrrrr fail_slowr-r6r8rFrXrZfloat32float64 complex64 complex128rbrm thread_unsaferurqr+r)rrs    $ $  [[X'DE *F * [[ )*)+ zrzz*?@ A     =($ $ K:: [[ RZZ, -v 6 RZZ, -s 3 RZZ, -s 3 RZZ, -v 6 RZZ, -v 6   : : :,$2 K K : H H [[X 8'<= 3> 3 7?*$X [[\D"&&"%%+@A [[X)'<=>>B>4 [[X 8'<=0>0< [[X 8'<="C>"CH [[2# [[. 01 78 >? EF 1 = $=B 4$&$&  [[1#;$;:$ [[]UDM:';;$';R;> [[ RZZr}}= [[Z"**bjj)ABAC  A08 [[77r+rc*eZdZdZdZdZdZddZy)rz" Minimal indexable object cd|_||_tjtj|j ||_yr )ndimrrrprodrr)r"rs r)__init__zMyValue.__init__s3  ))BGGEN+33E:r+c |j|Sr)r)r"idxs r) __getitem__zMyValue.__getitem__swws|r+cyrrq)r"s r)__array_interface__zMyValue.__array_interface__sr+Nctd)NzNo array representation) RuntimeError)r"rcopys r) __array__zMyValue.__array__s455r+)NN)rvrwrx__doc__rrrrrqr+r)rrs; 6r+rceZdZdZdZedZdZdZdZ dZ dZ d Z d Z d Zed Zej"j%d edZedZdZedZej"j.dZej"j.dZej"j5dddgdZeedZdZdZdZ dZ!dZ"dZ#dZ$ej"j5d d!d"gd#Z%y$)% TestInterpNc tjgd}tjgd}tjgdgdgdgdgdgdg}|||fS)N)rr5r7r2r3g@)rZr.rZr.rZrZ)rZr.rmr.rZrZ)rZr.r.r.rZrZ)rr_)r"rsrtrs r)_sample_2d_datazTestInterpN._sample_2d_datasR HH. / HH. / HH""""""   !Qwr+c |j\}}}t|||}tjgdgdgj}t t ||f||d|j|dddf|dddfy)NrZffffff@rrr_333333?rmrZr_rr2r/rrm splinef2drBrrZ)rr rr_rrr ev)r"rsrtrlutr(s r)test_spline_2dzTestInterpN.test_spline_2ds|&&(1a!!Q* XX66899: !'1a&!R "L"%&&AqD2ad8"< >r+cF|j\}}}tjgdgdgj}t ||f|||}t |j |j f|j |j |}t |||y)NrrrB)r@)rrr_rr rCr)r"rrsrtrr(rFrGs r)rHzTestInterpN.test_list_inputs&&(1a XX66899: aVQ6 2  XXZ $ahhj"))+f  B/r+c tjgd}tjgd}tjgdgdgdgdgdg}t|||}tjgdgdgj}t ||f||ddd }|j |ddd f|ddd f}d |d dt ||ttt||f||ddd y)Nr4rZr.rZr.rZrZr.rmr.rZrZr.r.r.rZrZrrrr_rrmrZr_rgr/rrmrFR?@rrrZr.r) rr_r rr rrr`rP)r"rsrtrrr(actualexpecteds r)test_spline_2d_outofboundsz&TestInterpN.test_spline_2d_outofbounds s HH* + HH* + HHo%8 9!!Q* XX679::;! !QB{&+@66"QT(Bq!tH-1 !&(3 j'Aq61b#(T ;r+c"dgdzdgdzz}tjgd}|ddtjtjtjf}|tjddtjtjf}|tjtjddtjf}|tjtjtjddf}||dzz|dzz|dzz}||fSr-rr!s r)_sample_4d_datazTestInterpN._sample_4d_datas!#}o&99L)BJJ BJJ>?Q BJJ>?RZZBJJ>?RZZQ>?GbL(7S=87T>Iv~r+c|j\}}t||}tjgdg}t |||d}t |||y)NrRrUrBrr rrr rr"r#r$ interp_rgrDrs r)test_linear_4dzTestInterpN.test_linear_4d&sQ--/+FF; 012A!)F"3V} }} t|tj| jd|ycc} wcc} }w)N>rIrJr;rIrrMrrr rNrFr rZrrO.rvr?) rOrfrrrr rrrrr) r"rr#rrWr$rDrCrErrDs r)rXz#TestInterpN.test_nonscalar_values_2s& ) ) KK (D ii##D) Q1a:/:;A FFF6 Nww1///// v||B/026;6<<;K5L01sAqy 16&%*,22 2::b>++%H 2s(DD $DDc"|j\}}tjjdtjj ddddd}tjj ddd}t t t|||dy) NrrmrrrrrrB)rrrrrr`rPr )r"r#r$rDs r) test_non_scalar_values_splinef2dz,TestInterpN.test_non_scalar_values_splinef2dsi--/ t1aA.2q)j'666( *r+cl|dk(rtjd|j\}}}||f}|d|zz }tjgdgdgj }t ||||}t ||j||}t ||j||} |d| zz} t|| y)NrKrcrdrrrBre) rOrfrrr_rr rgrhr) r"rrsrtr$r#rDrFv2rv2irGs r)rkzTestInterpN.test_complexs W  KKD E++- 1fQ"V)#::<==>Q VVVF ;ffkk6&Affkk6&A 2c6\Br+c |j\}}}||f}|d|zz }tjgdgdgj}t j t d5t|||ddddy#1swYyxYw)NrdrrrgrMrKrB)rrr_rrOr rPr r"rsrtr$r#rDs r)test_complex_pchipzTestInterpN.test_complex_pchips++- 1fQ"V)#::<==>Q  ]]:V 4 < FFF7 ; < < Q  . ) @ FFF; ? @ @ @s A..A7rrUrctjddd}tjddd}td}t||f|ddg| }t||f|jddg| }t ||d y) Nrr.rrZrrrrrBFr)rrrr rr)r"rrsrtr$rFrGs r)rz"TestInterpN.test_duck_typed_valuessq KK1a  KK1a  aVVc3Z ? aVVYYc 6 BBE2r+ctjddd}tjddd}ttjj dd}tjj ddd}t ||f|||}t ||ftj |||}|dk(rt||d d y t||y ) z8np.matrix inputs are allowed for backwards compatibilityrr.rrZrrmrBrJg-C6 ?g>rwN)rrrrrr rr)r"rrsrtr$rDrFrGs r)test_matrix_inputzTestInterpN.test_matrix_inputs KK1a  KK1a  q!,-1a( aVVVF ; aVRZZ/ G Y  BD 9 B #r+c:tjgdg}tjddgddgddgg}tdggdf||}gd}t||d tjd dgd dgd dgg}tdggdf||d d}t||d y)N)r=rZrrZg@g @gffffff@)r.rmr)gQ?gffffff@gffffff @r\r]rr4gffffffFr)rr_r r)r"r$r(rrs r)rz TestInterpN.test_length_one_axiss <.) XX3x!SAs84 5sI&3 V%0XXSzC:c{; <sI&#(T; V%0r+c Pd}tjgd}tjgd}tjgd}tjgd}||||f}|tj|ddd}dd tjtjd d d tjd d d f}t |||} |ddd } |ddd } |ddd } |ddd } | | | | f}|tj|ddd}t |||}t | |y)Nc0d|dzzd|dzzz|z |z Srrqrs r) value_func_4dz9TestInterpN.test_descending_points..value_func_4ds'qAv:AF *Q.2 2r+)rrZr.rm)rrrr)rr=r@rrnTrr=rrrrr)rr_ryrBrr r)r"rx1x2x3x4r#r$racorrect_result x1_descend x2_descend x3_descend x4_descendpoints_shuffledvalues_shuffled test_results r)test_descending_pointsz"TestInterpN.test_descending_pointss! 3XXl # XXo & XXo & XX& 'b"b! [[&4 =?Cbkk!R&;<{{1c1%' 5"X "X "X "X %z:zJ' [[/D FHoD  4r+cttjgd}tjgd}tjgdgdgdgdgdg}tjgdgdgj}d}tjt | 5t ||f||dddy#1swYyxYw) Nr1r4rrrrrr5rM)rr_rrOr rPr )r"rsrtrr(rNs r)r6z%TestInterpN.test_invalid_points_order4s HH* + HH* + HHo%8 9 XX679::;! ; ]]:U 3 # QFAr " # # #s B..B7cdg}ddg}tjd}d}tt|5t |||dddy#1swYyxYw)N)rrZrrZ)rZrZrmzaThe requested sample points xi have dimension 3, but this RegularGridInterpolator has dimension 1rM)rrr`rPr )r"r#r$r(msgs r)test_invalid_xi_dimensionsz&TestInterpN.test_invalid_xi_dimensions@sRQ WWY 9 :S 1 ( FFB ' ( ( (s AActjddd}tjddd}tjddd}|||f}tjd}tjgd}|D]}d|j_d|j_d|j_t |||t|||y) NrrrrrrrrGz@(\@gffffff?Frrrr_flags writeabler r )r"rsrtrr#r$pointds r)test_readonly_gridzTestInterpN.test_readonly_gridJs KK1a  KK1a  KK1a Q#+, &A %AGG  &!&  % &//6r+crtjddd}tjddd}||f}tjd}tjddg}|D]}d|j_d|j_d|j_t |||t|||y) NrrrrrrrrFr)r"rsrtr#r$rrs r)test_2d_readonly_gridz!TestInterpN.test_2d_readonly_gridYs KK1a  KK1a Q$& &A %AGG  &!&  % &//6r+ctjddd}tj|tj|fjj dddf}|j jrJtjddd}tjddd}|||f}tjd}tjgd}t|||t|||y)Nrrrrrrr) rrr empty_likerrr c_contiguousrr_r r )r"rsrtrr#r$rs r)test_non_c_contiguous_gridz&TestInterpN.test_non_c_contiguous_gridhs KK1a  IIq"--*+ , . . 3 3 5ad ;77'''' KK1a  KK1a Q#+,&//6r+rz>f8z$0$0;&=2=2  2$2$2& [[1#;$;0$I$I@*$ $ $ [[ < < [[ @ @ [[ 93 3#$$$"1,54 #( 7 7 7 [[Wuen5 76 7r+r)!rrOnumpyr numpy.testingrnumpy.exceptionsrscipy._lib._array_apirrrscipy.conftestrr r`scipy.interpolater r r r rscipy.sparse._sputilsrscipy._lib._testutilsrrzr{ _ALL_METHODSryrrrrqr+r)rs &+/*LL)9"(!8!8 %22"r 7r 7j66(Z7Z7r+