
    Bpj/                     :   S SK r S SKrS SKrS SKJr  S SKJrJrJ	r	J
r
  S SKJr  S SKJr  S SKJrJrJrJrJr  S SKJrJr  S SKJr  S S	KJr  \R8                  R;                  S
\R<                  5      r\
" \5       " S S5      5       r  " S S5      r! " S S5      r"g)    N)ComplexWarning)xp_assert_equalxp_assert_closeassert_array_almost_equalmake_xp_test_case)skip_xp_invalid_arg)raises)RegularGridInterpolatorinterpnRectBivariateSplineNearestNDInterpolatorLinearNDInterpolator)_regrid_ndbspline_call_like_bivariate)matrix)_run_concurrent_barriermethodc            
           \ rS rSrS rS rS rS r\S 5       r	\
R                  R                  S/ SQ5      S	 5       r\
R                  R                  S
\\R                  " / SQ/ SQ/ SQ/5      4\\R                  " / SQ5      4/5      S 5       rS r\S 5       rS rS rS r\
R                  R                  S/ SQS4/ SQS4/ SQS4/ SQS4/ SQS4/5      S 5       rS  rS! rS" rS# rS$ rS% rS& rS' r\
R                  R                  SS(S)/5      S* 5       rS+ r S, r!\
R                  R                  S-\RD                  \RF                  /5      \
R                  R                  S./ S/Q5      \
R                  R                  SS)S(/5      S0 5       5       5       r$S1 r%\
R                  R                  S2S3\RL                  \RN                  /5      \
R                  R                  SS)S(/5      S4 5       5       r(\
R                  R                  SS(S)/5      S5 5       r)\
R                  R                  SS(S)/5      S6 5       r*\
R                  RW                  S75      \\
R                  R                  S8S9S: 4S;S< 4S=S> 4S?S@ 4/5      SA 5       5       5       r,SB r-\SC 5       r.\
R                  RW                  S?5      \SD 5       5       r/\\
R                  R                  SESFSG/5      SH 5       5       r0SI r1\
R                  R                  S-\RD                  \RF                  \Rd                  \Rf                  /5      \
R                  R                  SJ\RD                  \RF                  /5      SK 5       5       r4SL r5SM r6SNr7g3)OTestRegularGridInterpolator   c                    S/S-  nUR                  / SQ5      nUS S 2[        R                  [        R                  [        R                  4   nU[        R                  S S 2[        R                  [        R                  4   nU[        R                  [        R                  S S 2[        R                  4   nU[        R                  [        R                  [        R                  S S 24   nXES-  -   US-  -   US-  -   nX#4$ )N              ?      ?   
   d     asarraynpnewaxisselfxppointsvaluesvalues0values1values2values3s           \/var/www/html/pdf-tiff/venv/lib/python3.13/site-packages/scipy/interpolate/tests/test_rgi.py_get_sample_4d*TestRegularGridInterpolator._get_sample_4d    s    !#L)BJJ

BJJ>?Q

BJJ>?RZZBJJ>?RZZQ>?bL(7S=87T>I~    c                    S/S-  S/S-  -   nUR                  / SQ5      nUS S 2[        R                  [        R                  [        R                  4   nU[        R                  S S 2[        R                  [        R                  4   nU[        R                  [        R                  S S 2[        R                  4   nU[        R                  [        R                  [        R                  S S 24   nXES-  -   US-  -   US-  -   nX#4$ Nr      )r         @      $@r   r   r   r    r$   s           r-   _get_sample_4d_2,TestRegularGridInterpolator._get_sample_4d_2+   s    !#}o&99L)BJJ

BJJ>?Q

BJJ>?RZZBJJ>?RZZQ>?bL(7S=87T>I~r0   c                    S/S-  nUR                  / SQ5      nUS S 2[        R                  [        R                  [        R                  4   nU[        R                  S S 2[        R                  [        R                  4   nU[        R                  [        R                  S S 2[        R                  4   nU[        R                  [        R                  [        R                  S S 24   nXES-  -   US-  -   US-  -   nX#4$ )Nr   r   r         ?       @      @      @r   r   r   r   r    r$   s           r-   _get_sample_4d_3,TestRegularGridInterpolator._get_sample_4d_36   s    56:?@BJJ

BJJ>?Q

BJJ>?RZZBJJ>?RZZQ>?bL(7S=87T>I~r0   c                    S/S-  nUR                  SS/5      nUS S 2[        R                  [        R                  [        R                  4   nU[        R                  S S 2[        R                  [        R                  4   nU[        R                  [        R                  S S 2[        R                  4   nU[        R                  [        R                  [        R                  S S 24   nXES-  -   US-  -   US-  -   nX#4$ )N)r   r   r   r   r   r   r   r   r    r$   s           r-   _get_sample_4d_4,TestRegularGridInterpolator._get_sample_4d_4A   s    !S#J'BJJ

BJJ>?Q

BJJ>?RZZBJJ>?RZZQ>?bL(7S=87T>I~r0   c                    U R                  [        S9u  p#[        R                  " / SQ/ SQ/ SQ/5      n[        UUR	                  5       US9nU" UR	                  5       5      n[        UUUS9nU" U5      n[        Xg5        g )N)r&   皙?rE   r   ?皙?rE   g?g?r   r   r   r   r   )r>   r"   r!   r
   tolistr   )r%   r   r'   r(   sampleinterpv1v2s           r-   test_list_input+TestRegularGridInterpolator.test_list_inputL   s    ..".5/1D/1 2 ))/068 FMMO$()/068 F^r0   r   )cubicquinticpchipc                   ^ U R                  T5      u  p4[        U4S jU 5       5      nSn[        R                  " [        US9   [        X4US9  S S S 5        [        X45      nTR                  / SQ/ SQ/ SQ/5      n[        R                  " [        US9   U" XqS9  S S S 5        g ! , (       d  f       N\= f! , (       d  f       g = f)Nc              3   F   >#    U  H  nTR                  U5      v   M     g 7fNr!   .0pr&   s     r-   	<genexpr>DTestRegularGridInterpolator.test_spline_dim_error.<locals>.<genexpr>`        4VbjjmmV   !zpoints in dimensionmatchrJ   rD   rG   rI   )rA   listpytestr	   
ValueErrorr
   r!   )r%   r   r&   r'   r(   ra   rM   rL   s     `     r-   test_spline_dim_error1TestRegularGridInterpolator.test_spline_dim_error]   s    ..r24V44% ]]:U3#F6B 4 )8/1D/1 2]]:U36) 43 43 43s   B&B7&
B47
Czpoints_values, samplerD   rG   rI   rE   rE   r5         "@c                    ^ U" U T5      u  pE[        U4S jU 5       5      TR                  U5      p$[        XESS9nU" U5      n[        XESS9nU" U5      n[        Xx5        g )Nc              3   F   >#    U  H  nTR                  U5      v   M     g 7frW   rX   rY   s     r-   r\   LTestRegularGridInterpolator.test_linear_and_slinear_close.<locals>.<genexpr>~   s     <VbjjmmVr_   linearrJ   slinear)rb   r!   r
   r   )	r%   points_valuesrL   r&   r'   r(   rM   rN   rO   s	      `     r-   test_linear_and_slinear_close9TestRegularGridInterpolator.test_linear_and_slinear_closen   s`     'tR0<V<<bjj>P(IF^(	JF^r0   c                   ^ U R                  T5      u  p#[        U4S jU 5       5      nTR                  / SQ/ SQ/ SQ/5      n[        X#SS9n[	        [
        5         U" USS9  S S S 5        [        U" US	S9TR                  / S
QTR                  S9SS9  [        U" USS9TR                  / SQTR                  S9SS9  [        U" USS9TR                  / SQTR                  S9SS9  g ! , (       d  f       N= f)Nc              3   F   >#    U  H  nTR                  U5      v   M     g 7frW   rX   rY   s     r-   r\   ?TestRegularGridInterpolator.test_derivatives.<locals>.<genexpr>   r^   r_   rD   rG   rI   rm   rJ      )nu)rt   r   r   r   )r   rt   rt   dtypeV瞯<atol)r   rt   r   r   )r5   r   r   )r   rt   rt   r   )r   r   r   g-=)r.   rb   r!   r
   assert_raisesrd   r   float64)r%   r&   r'   r(   rL   rM   s    `    r-   test_derivatives,TestRegularGridInterpolator.test_derivatives   s    ,,R04V445335 6 )	J:&6a  ' 	v,7

;bjj
A	Ov,7

>
D5	R 	v,7

;bjj
A	O '&s   C,,
C:c                   ^ US:X  a  [         R                  " S5        U R                  T5      u  p4[        U4S jU 5       5      nUSU-  -
  nTR	                  / SQ/ SQ/ SQ/5      n[        X4US9n[        UTR                  U5      US9n[        UTR                  U5      US9nU" U5      n	U" U5      S	U" U5      -  -   n
[        X5        g )
NrT   *pchip does not make sense for complex datac              3   F   >#    U  H  nTR                  U5      v   M     g 7frW   rX   rY   s     r-   r\   ;TestRegularGridInterpolator.test_complex.<locals>.<genexpr>   r^   r_                  @rD   rG   rI   rJ                 ?)	rc   skipr>   rb   r!   r
   realimagr   )r%   r   r&   r'   r(   rL   rM   rinterpiinterprN   rO   s     `        r-   test_complex(TestRegularGridInterpolator.test_complex   s    WKKDE..r24V44"V)#/1D/1 2 )G)&"''&/&Q)&"''&/&QF^V_r'&/11r0   c                 4   UR                  / SQ5      UR                  / SQ5      p2UR                  X#SS9u  pES " XE5      n[        X#4USS9n[        X#4USS9nU" SS	/5      n	U" SS	/5      n
UR                  UR	                  X-
  5      S
:  5      (       a   eg )N)rt   r3      r   ij)indexingc                     U S-  US-  -  $ )Nr    xys     r-   <lambda>ATestRegularGridInterpolator.test_cubic_vs_pchip.<locals>.<lambda>   s    q!tad{r0   rR   rJ   rT   r:   r3   +=)r!   meshgridr
   allabs)r%   r&   r   r   xgygr(   rR   rT   
vals_cubic
vals_pchips              r-   test_cubic_vs_pchip/TestRegularGridInterpolator.test_cubic_vs_pchip   s    zz,'L)A1QD1*B3'wG'wGC8_
C8_
66"&&!89EABBBBBr0   c                    ^ U R                  T5      u  p#[        U4S jU 5       5      n[        X#5      nTR                  / SQ5      nTR                  S/TR                  S9n[        U" U5      U5        g )Nc              3   F   >#    U  H  nTR                  U5      v   M     g 7frW   rX   rY   s     r-   r\   ?TestRegularGridInterpolator.test_linear_xi1d.<locals>.<genexpr>   r^   r_   rg   H@rv   r6   rb   r
   r!   r|   r   r%   r&   r'   r(   rM   rL   wanteds    `     r-   test_linear_xi1d,TestRegularGridInterpolator.test_linear_xi1d   sd    ..r24V44(8/0VHBJJ7!&.&9r0   c                    ^ U R                  T5      u  p#[        U4S jU 5       5      n[        X#5      nTR                  / SQ/ SQ/ SQ/5      nTR                  / SQ5      n[	        U" U5      U5        g )Nc              3   F   >#    U  H  nTR                  U5      v   M     g 7frW   rX   rY   s     r-   r\   ?TestRegularGridInterpolator.test_linear_xi3d.<locals>.<genexpr>   r^   r_   rD   rG   rI   r   gq@g     \@r.   rb   r
   r!   r   r   s    `     r-   test_linear_xi3d,TestRegularGridInterpolator.test_linear_xi3d   sh    ,,R04V44(8/1D/1 223!&.&9r0   zsample, wanted)rE   rE   rF   rF   g     0@)rE   rE   rE   rE   r   r   r   r   r   r   r   r   r        \@)rE   皙?g333333?rF   g     |@c                    ^ U R                  T5      u  pE[        U4S jU 5       5      TR                  U5      p[        XESS9nTR                  U/TR                  S9n[        U" U5      U5        g )Nc              3   F   >#    U  H  nTR                  U5      v   M     g 7frW   rX   rY   s     r-   r\   ;TestRegularGridInterpolator.test_nearest.<locals>.<genexpr>   s     =frzz!}}fr_   nearestrJ   rv   )r.   tupler!   r
   r|   r   )r%   rL   r   r&   r'   r(   rM   s      `   r-   test_nearest(TestRegularGridInterpolator.test_nearest   sd     ,,R0=f==rzz&?Q(	JVHBJJ7!&.&9r0   c                    ^ U R                  T5      u  p#[        U4S jU 5       5      n[        X#5      nTR                  / SQ/ SQ/5      nTR                  SS/5      n[	        U" U5      U5        g )Nc              3   F   >#    U  H  nTR                  U5      v   M     g 7frW   rX   rY   s     r-   r\   @TestRegularGridInterpolator.test_linear_edges.<locals>.<genexpr>   r^   r_   r   r   r   r   r   r   s    `     r-   test_linear_edges-TestRegularGridInterpolator.test_linear_edges   sd    ,,R04V44(8-/?@ARK(!&.&9r0   c                    SS/n[         R                  " / SQ5      nUS S 2[         R                  4   nU[         R                  S S 24   nX4S-  -   n[        [        [
        X5        SS/n[        [        [
        X5        SS/n[        [        [
        X5        / SQn[        [        [
        X5        SS/n[        [        [
        XSS9  g )	Nr   )r   r   r   r   )r   )r   r   g      ?r   )r   r   r   undefmethodrJ   )r"   r!   r#   r{   rd   r
   )r%   r'   r(   r)   r*   s        r-   test_valid_create-TestRegularGridInterpolator.test_valid_create   s    -L)BJJ'Q'bL(j"96J"L1j"96J#\2j"96J;j"96J-j"96*	,r0   c                   ^ U R                  T5      u  p#[        U4S jU 5       5      n[        X#5      nTR                  / SQ/ SQ/5      n[	        [
        5         U" US5        S S S 5        TR                  / SQ/ SQ/5      n[	        [
        5         U" U5        S S S 5        TR                  / SQ/ SQ/5      n[	        [
        5         U" U5        S S S 5        g ! , (       d  f       N}= f! , (       d  f       NW= f! , (       d  f       g = f)Nc              3   F   >#    U  H  nTR                  U5      v   M     g 7frW   rX   rY   s     r-   r\   >TestRegularGridInterpolator.test_valid_call.<locals>.<genexpr>   r^   r_   r   r   r   )r   r   r   )r   r   r   )r   r   r   皙?)r.   rb   r
   r!   r{   rd   )r%   r&   r'   r(   rM   rL   s    `    r-   test_valid_call+TestRegularGridInterpolator.test_valid_call   s    ,,R04V44(8-/?@A:&6=) ' \<89:&6N ' -/@AB:&6N '& '& '& '&s$   
C	C-
	C>
C*-
C;>
Dc                 l  ^ U R                  T5      u  p#[        U4S jU 5       5      n[        X#SS S9nTR                  / SQ/ SQ/ SQ/ SQ/TR                  S9nTR                  / S	QTR                  S9n[        U" US
S9U5        TR                  / SQTR                  S9n[        U" USS9U5        g )Nc              3   F   >#    U  H  nTR                  U5      v   M     g 7frW   rX   rY   s     r-   r\   HTestRegularGridInterpolator.test_out_of_bounds_extrap.<locals>.<genexpr>  r^   r_   Fbounds_error
fill_value皙r   r   r   r   r   r   r       @皙ir   r   r   r   rv   )r   r         &@r   r   rJ   )gfffff[gfffff@g     grl   )r.   rb   r
   r!   r|   r   r   s    `     r-   test_out_of_bounds_extrap5TestRegularGridInterpolator.test_out_of_bounds_extrap  s    ,,R04V44(e48:13G13IK"$**  . 1D!&	"BFK>bjjQ!&"A6Jr0   c                 l  ^ U R                  T5      u  p#[        U4S jU 5       5      n[        X#SS S9nTR                  / SQ/ SQ/ SQ/ SQ/TR                  S9nTR                  / S	QTR                  S9n[        U" US
S9U5        TR                  / SQTR                  S9n[        U" USS9U5        g )Nc              3   F   >#    U  H  nTR                  U5      v   M     g 7frW   rX   rY   s     r-   r\   ITestRegularGridInterpolator.test_out_of_bounds_extrap2.<locals>.<genexpr>  r^   r_   Fr   r   r   r   r   rv   )r   r   r   r   r   rJ   )g333333(g33333`@g     gyXrl   r   r   s    `     r-   test_out_of_bounds_extrap26TestRegularGridInterpolator.test_out_of_bounds_extrap2  s    ..r24V44(e48:13G13IK"$**  . /rzzB!&	"BFK9L!&"A6Jr0   c                   ^ U R                  T5      u  p#[        U4S jU 5       5      n[        X#STR                  S9nTR	                  / SQ/ SQ/ SQ/5      nTR	                  TR                  TR                  TR                  /5      n[        U" USS9U5        [        U" US	S9U5        TR	                  / S
Q/ SQ/ SQ/5      nTR	                  / SQ5      n[        U" U5      U5        g )Nc              3   F   >#    U  H  nTR                  U5      v   M     g 7frW   rX   rY   s     r-   r\   FTestRegularGridInterpolator.test_out_of_bounds_fill.<locals>.<genexpr>!  r^   r_   Fr   r   r   r   r   rJ   rl   rD   rG   rI   r   )r.   rb   r
   nanr!   r   r   s    `     r-   test_out_of_bounds_fill3TestRegularGridInterpolator.test_out_of_bounds_fill  s    ,,R04V44(e46FF<13G35 6RVVRVVRVV45!&	"BFK!&"A6J/1D/1 223!&.&9r0   c                 j   U R                  [        5      u  p[        XSS9n[        R                  " U6 nU Vs/ s H  oUPM     nn[        R
                  " U5      nUR                  S5      n[        XF5      n[        R
                  " / SQ/ SQ/ SQ/5      n[        U" U5      U" U5      5        g s  snf )Nr   rJ   rD   rG   rI   )	r.   r"   r
   	itertoolsproductr!   reshaper   r   	r%   r'   r(   rM   points_qhullr[   values_qhullinterp_qhullrL   s	            r-   test_nearest_compare_qhull6TestRegularGridInterpolator.test_nearest_compare_qhull.  s    ,,R0(	J ((&1#/0<a<0zz,/~~b),\H/1D/1 2!&.,v2FG 1s   B0c                 l   U R                  [        5      u  p[        X5      n[        R                  " U6 nU Vs/ s H  oUPM     nn[        R
                  " U5      nUR                  S5      n[        XF5      n[        R
                  " / SQ/ SQ/ SQ/5      n[        U" U5      U" U5      5        g s  snf )Nr   rD   rG   rI   )	r.   r"   r
   r   r   r!   r   r   r   r   s	            r-   test_linear_compare_qhull5TestRegularGridInterpolator.test_linear_compare_qhull:  s    ,,R0(8 ((&1#/0<a<0zz,/~~b)+LG/1D/1 2!&.,v2FG 1s   B1r   rl   c                     [         R                  " SSS5      n[         R                  " SSS5      n[        S5      n[        X#4XAS9nU" SS	/5      n[        X#4UR                  US9nU" SS	/5      n[        XgS
S9  g )Nr   r3      rt      r   r   rJ   r   ffffff?Fcheck_dtype)r"   linspaceMyValuer
   _vr   )r%   r   r   r   r(   rM   rN   rO   s           r-   test_duck_typed_values2TestRegularGridInterpolator.test_duck_typed_valuesF  sw    KK1a KK1a (!GS#J(!6JS#JE2r0   c                 &   [         R                  R                  S5        [         R                  " SSS5      n[         R                  " SSS5      n[         R                  R	                  SS5      n[        X4USS9  [        [        [
        X4USS9  g )	N  r   r3   r   rt   r   r   y      ?       @)r"   randomseedr   randr
   r{   rd   )r%   r   r   r(   s       r-   test_invalid_fill_value3TestRegularGridInterpolator.test_invalid_fill_valueT  sr    
		tKK1a KK1a 1% 	 1= 	j"9ff	7r0   c                     [         R                  " SSS9nUR                   Vs/ s H  n[         R                  " U5      PM     nn[	        X15        [	        X1SS9  g s  snf )Nr      r   z>f4rv   r   r  )r"   onesshapearanger
   )r%   r(   nr'   s       r-   test_fillvalue_type/TestRegularGridInterpolator.test_fillvalue_typea  sI    U3(.51"))A,5/2> 6s    Arw   ndimrt   r3   r   c                    [         R                  " X!S9n[        S U 5       5      n[         R                  " SUS9n[         R                  " SU-  US9n[         R                  " SUS9nUS:X  a  [         R
                  OUn	[        XWUSUS	9n
[        XWUS
S9n[         R                  " U/5      n[         R                  " U/U	S9nU
" U5      U" U5      4 H  n[        X5        M     US==   S-  ss'   [         R                  " U/5      n[         R                  " U/U	S9nU
" U5      n[        X5        [        R                  " [        SS9   U" U5        S S S 5        [         R                  US'   [         R                  " U/5      n[         R                  " [         R                  /U	S9nU
" U5      n[        X5        [        R                  " [        SS9   U" U5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nrv   c              3   P   #    U  H  n[         R                  " U/5      v   M     g 7frW   )r"   r!   )rZ   xis     r-   r\   GTestRegularGridInterpolator.test_length_one_axis_all.<locals>.<genexpr>w  s     5"Brzz2$''"s   $&g$I$I?)rt   )r  r   gaa?rl   Fr   r   r   Tr   r   r   rt   z9^One of the requested xi is out of bounds in dimension 0$r`   )r"   r  r   r!   fullr|   r
   r   rc   r	   rd   r   )r%   rw   r  r   x0r'   valr(   fillpromoted_dtypeinterp_fill
interp_errrL   r   results                  r-   test_length_one_axis_all4TestRegularGridInterpolator.test_length_one_axis_alli  s    YYt) 5"55 jjE*uTzc: zz$e, (.'9u .6$
 -6


 RD!SE8"6*Jv,>?FF+ @ 	1
RD!TF.9V$']]M
 v	
 1RD!RVVHN;V$']]M
 v	
 

 

 
s   	G*	G;*
G8;
H	c           
         S n[         R                  " SSS5      n[         R                  " SSS5      nU" [         R                  " X#SSS96 n[        X#4USSS	S
9n[	        U" [         R
                  " SS/SS/SS//5      5      [         R                  " / SQ5      SS9  [	        U" [         R
                  " SS/SS/SS//5      5      / SQSS9  [	        U" [         R
                  " SS/5      5      UR                  SSSSS9  S Ul        [	        U" SS/SS//5      SS/SS9  [	        U" SS/SS//5      SS/SS9  [        X#4USSS S
9n[	        U" SS/SS//5      [         R                  " S S!/5      SS9  g )"Nc                 
    X-   $ rW   r   r   s     r-   f;TestRegularGridInterpolator.test_length_one_axis.<locals>.f  s	    5Lr0   rt   r   r   Tr   sparserl   Fe   r  r   )r;         r   ry   gffffff?333333@)333333@333333@r,  r   r.  )r   check_shapecheck_0drz   333333?g      '@g?g      )@rx   r:   gffffff?r   g?gffffff@r=   r+  )r"   r   r   r
   r   arrayr!   r   )r%   r&  r   r   datarM   s         r-   test_length_one_axis0TestRegularGridInterpolator.test_length_one_axis  s   	KK1a KK2r""++aT$?@(!h6;M 	rxx!Q!Q!R(ABC

<0"	$
 	rxx!SAs8aW(EFG&"	$
 	rxxc
34))$)uu"	$ !C1d)45d%	1 	c
S$K89d%	1 )!i6;Nc
RI67

C8,"	$r0   r   Nc                    USUS.n[         R                  " SS[         R                  -  S5      n[         R                  " U5      n[	        U4US S  40 UD6n[	        US/4US S 2S 4   40 UD6n[         R                  " SS[         R                  -  S-   S5      nU" U5      n	[         R
                  " S5      n
U" [         R                  " X/5      R                  5      n[        X5        [         R                  " S5      n
U" [         R                  " X/5      R                  5      nUc  [        X5        g [        U[         R                  " X5      5        g )	NFr   r   r   r   r3   r  r   rt   r   )r"   r   pisinr
   zerosvstackTr   r  	full_like)r%   r   r   optionsr   zfafbx1azay1bzbs               r-   test_length_one_axis21TestRegularGridInterpolator.test_length_one_axis2  s    ",U#% KK1RUU7B'FF1I$aT1Q4;7;$a!XqDzEWEkk"agai-W hhsm		3*%''( ggcl		3*%''(B#BR <=r0   c                    [        / SQ4/ SQSSUS9n[        R                  " U" [        R                  /5      5      (       d   e[        R                  R                  S5      nUR	                  SS9S	-  nUR	                  SS9S
:  n[        R                  XE'   [        R                  " SS9   U" U5      nS S S 5        [        R                  " WU   5      R                  5       (       d   e[        Xe)    U" XE)    5      5        / SQnS/n[        R                  " S5      n[        XG4USSUS9n[        R                  " [        R                  " U" [        R                  S/5      5      5      (       d   e[        R                  " [        R                  " U" S[        R                  /5      5      5      (       d   eg ! , (       d  f       GN= f)Nr  r
  rt   Fr9     lJ r   sizer   r   ignoreinvalid)r   rt   )
r
   r"   isnanr   r  default_rngerrstater   r   r  )	r%   r   r&  rngr   iresr   r5  s	            r-   test_nan_x_1d)TestRegularGridInterpolator.test_nan_x_1d  sl    $YL,116vGxx266($$$$ ii##J/JJCJ "JJCJ 3&vv[[*
 A$C + xxA##%%%%B1R5* Ewwv#QFDQ16vGvvbhhq"&&!~.////vvbhhq!RVV~.////# +*s   .	F??
Gc                    [         R                  " / SQ5      [         R                  " / SQ5      p2S n[         R                  " X#SSS9u  pVU" XV5      n[        X#4UUSS9n[         R                  " S	S
9   U" S[         R
                  /SS//5      n	S S S 5        [        W	S   SSS9  [         R                  " U	S   5      (       d   e[         R                  R                  S5      n
U
R                  SS9S-  S-
  nU
R                  SS9S-  nU
R                  SS9S:  nU
R                  SS9S:  nX-  n[         R
                  X+'   [         R
                  X<'   [         R                  " X#/5      R                  n[         R                  " S	S
9   U" U5      n	S S S 5        [         R                  " X   5      R                  5       (       d   e[        X)    U" X)    5      SS9  g ! , (       d  f       GNZ= f! , (       d  f       Ne= f)N)r   rt   r3   )rt   r   r   c                     U S-  US-  -   $ Nr3   r   r   s     r-   r&  4TestRegularGridInterpolator.test_nan_x_2d.<locals>.f  s    a4!Q$;r0   r   Tr(  Fr  rN  rO  r:   rt   r;   r   ry   r   rK  r   rL  r      r   r   )r"   r4  r   r
   rS  r   r   rQ  r  rR  r>  r   r   )r%   r   r   r   r&  r   r   r5  rM   rV  rT  i1i2rU  rA  s                  r-   test_nan_x_2d)TestRegularGridInterpolator.test_nan_x_2d  s   xx	"BHHY$71	 QD>y(!06UL [[*3-!Q01C +A%0xxA ii##J/JJCJ "1$JJCJ "ZZSZ!C'ZZSZ!C'GHHaV[[*
 )C + xx##%%%%B"EB/ +* +*s   4G$	G6$
G36
Hr   )ndimsfuncr3   c                 $    SU S-  -  SUS-  -  -   $ Nr3   r   r   r   s     r-   r   $TestRegularGridInterpolator.<lambda>8  s    Q!Va!q&j0r0   r   c                 *    SU S-  -  SUS-  -  -   U-
  $ re  r   )r   r   rA  s      r-   r   rf  9  s    AQJQ!V3a7r0   r   c                 0    SU S-  -  SUS-  -  -   U-
  U-   $ re  r   r   r   rA  as       r-   r   rf  :  s#    q16zAQJ6:Q>r0   r   c                 4    SU S-  -  SUS-  -  -   U-
  X4-  -   $ re  r   )r   r   rA  rj  bs        r-   r   rf  ;  s%    !a1f*q16z"9A"="Er0   c                     US:  a  US;   a  [         R                  " S5        [        R                  R	                  S5      nSnSnUR                  XVSU4S9n[        U5       Vs/ s H  n[        R                  " XVS	5      PM     n	nU" [        R                  " U	S
SS.66 n
[        U	U
US9nU" U5      nU	 Vs/ s H
  oS S S2   PM     nnU" [        R                  " US
SS.66 n[        UUUS9nU" U5      n[        UU5        g s  snf s  snf )Nr   >   rR   rS   z-too slow; OOM (quintic); or nearly so (cubic)*   rt   r   r3   rL     r   Tr(  rJ   r   )rc   r   r"   r  rR  uniformranger   r   r
   r   )r%   r   rb  rc  rT  
sample_lowsample_hightest_points_ascending_pointsascending_valuesascending_interpascending_resultr  descending_pointsdescending_valuesdescending_interpdescending_results                     r-   test_descending_points_nd5TestRegularGridInterpolator.test_descending_points_nd5  sA    A:&$88KKGHii##B'
kk*E
kK &+5\3%1 KK
D%1 	 3  .>6:48": ; 33C3C:@B ,K80@A0@""X0@A "++/@7;59#; < 44E4E;AC .k:(*;<+3 Bs   %!D9Dc                 $   S n[         R                  " / SQ5      n[         R                  " / SQ5      nX#4nU" [         R                  " USSS.66 nSn[        R                  " [
        US9   [        XE5        S S S 5        g ! , (       d  f       g = f)	Nc                 $    SU S-  -  SUS-  -  -   $ re  r   r   s     r-   val_func_2dJTestRegularGridInterpolator.test_invalid_points_order.<locals>.val_func_2d_  s    qAv:AF
**r0   r   r;   r         @      @r   r;   r=   r  r  r   Tr(  (must be strictly ascending or descendingr`   )r"   r4  r   rc   r	   rd   r
   )r%   r  r   r   r'   r(   ra   s          r-   test_invalid_points_order5TestRegularGridInterpolator.test_invalid_points_order^  sq    	+ HH*+HH*+bkk6D157 8:]]:U3#F3 433s   ,B
Bc                     [        [        R                  " S5      /[        R                  " S5      USS9n[        R                  " U" S/5      5      (       d   eg )Nr+  Fr  r   )r
   r"   r  r  rQ  )r%   r   rM   s      r-   test_fill_value+TestRegularGridInterpolator.test_fill_valuek  sC    ("))A,06ULxxt%%%%r0   c                    US:X  a  [         R                  " S5        S/S-  S/S-  -   n[        R                  R	                  S5      nUR                  S5      nUR                  S5      n[        X$US	S
9nU" U5      nUR                  S:X  d   U5       e/ n[        S5       H*  n	[        X$SU	4   US	S
9nUR                  U" U5      5        M,     [        R                  " U5      R                  SSS5      n
[        XzSUS9  g NrS   Way too slow.r   r   r   r:   r;   r<   r3   )r   r4   r5         .@r        9@r  )r+  r+  r+  r+  r]  )r   r   r   Fr  )r   r   r]  r]  .rt   r   r   rz   err_msg)rc   r   r"   r  rR  r
   r  rq  appendr4  	transposer   )r%   r   r'   rT  r(   rL   rM   vvsjrO   s              r-   test_nonscalar_values1TestRegularGridInterpolator.test_nonscalar_valuesq  s	    YKK( 11A5,9
9  ii##D)O,I&(6;=6Nww)#+V+#qA,VCF^4::?AF IIfVn%	 
 XXb\##Aq!,E6:r0   flip_pointsFTc           	         US;   a  [         R                  " S5        / SQnU(       a$  U Vs/ s H  n[        [        U5      5      PM     nn[        R
                  R                  S5      nSnUR                  SSSS	/UQ75      nUR                  S
5      n[        X7USS9n	U	" U5      n
U
R                  S/UQ7:X  d   e[        R                  " UR                  SS  5      n[        UR                  S   5       HL  n[        UR                  S   5       H-  n[        X7SX4   USS9n	U	" U5      R                  5       XU4'   M/     MN     [        R                  " USS9n[        XSUS9  g s  snf )N>   rR   rS   r  r  r9   )r   r4   r5   r  r  r       A@      B@)	r   r4   r5   r  r  r  r  r  /   r  r   r3   r+  r   r]  	   r   Fr  rt   r   .r   axisr   r  )rc   r   r   reversedr"   r  rR  r
   r  emptyrq  itemexpand_dimsr   )r%   r   r  r'   r[   rT  trailing_pointsr(   rL   rM   r  r  rU  r  rO   s                  r-   test_nonscalar_values_23TestRegularGridInterpolator.test_nonscalar_values_2  s_    ))KK(D 289&QeHQK(&F9ii##D) Q1a:/:;A(6;=6N ww1///// XXfll23'(v||B'(A6<<+,0Q	9J8>>CE "&>..0a4	 - ) ^^BQ'E6:3 :s   E+c           	      H   SnSS/n[         R                  R                  S5      nSnUR                  SS/UQ75      nUR                  S5      n[        X%US	S
9nU" U5      nUR                  S/UQ7:X  d   e[         R
                  " UR                  SS  5      n	[        UR                  S   5       HL  n
[        UR                  S   5       H-  n[        X%SX4   US	S
9nU" U5      R                  5       XU4'   M/     MN     [         R                  " U	SS9n[        XSUS9  g )Nrl   r  r9   r  )r   r   r+  r   r3   Fr  rt   r  r   .r   r  r   r  )
r"   r  rR  r
   r  r  rq  r  r  r   )r%   r   r'   rT  r  r(   rL   rM   r  r  rU  r  rO   s                r-   test_nonscalar_values_linear_2D;TestRegularGridInterpolator.test_nonscalar_values_linear_2D  s)   059 ii##D) Q4O45A(6;=6N ww1///// XXfll23'(v||B'(A6<<+,0Q	9J8>>CE "&>..0a4	 - ) ^^BQ'E6:r0   xi_dtypec                 F   S n[         R                  " SSS5      n[         R                  " SSS5      n[         R                  " XESSS	9u  pgU" Xg5      nUR                  U5      n[	        XE4U5      n	[         R
                  " S
S/SS//US9n
[        U	" U
5      SS/SSSS9  g )Nc                 $    SU S-  -  SUS-  -  -   $ re  r   r   s     r-   r&  :TestRegularGridInterpolator.test_float32_values.<locals>.f  s    q!t8a!Q$h&&r0   rt   r   r,  r      r   Tr(  r   g@ffffff
@g@rv   g Y`@g{,c@gHz>F)rz   rtolr   )r"   r   r   astyper
   r4  r   )r%   rw   r  r&  r   r   r   r   r5  rM   ptss              r-   test_float32_values/TestRegularGridInterpolator.test_float32_values  s    	' KK1b!KK1b!QD>y{{5!(!6hhc
c
$+35 	slL%A!%	Ar0   c           	      V   [         R                  " SSS5      n[         R                  " SSS5      n[         R                  " XSSS9u  p4X4-   n[        [        5         [        X4US S9  S S S 5        [        [        5         [        X4US	S
 S9  S S S 5        [        [        5         [        X4US	S SS9  S S S 5        [        [        5         [        X4US	SS0S9  S S S 5        g ! , (       d  f       N= f! , (       d  f       Nn= f! , (       d  f       NX= f! , (       d  f       g = f)Nr   r   r   r   Tr(  c                     U $ rW   r   r   s    r-   r   =TestRegularGridInterpolator.test_bad_solver.<locals>.<lambda>  s    1r0   )solverrm   c                     U $ rW   r   r  s    r-   r   r        r0   )r   r  c                     U $ rW   r   r  s    r-   r   r  
  r  r0   woof)r   r  r  rn  )r   solver_args)r"   r   r   r{   rd   r
   	TypeError)r%   r   r   r   r   r5  s         r-   test_bad_solver+TestRegularGridInterpolator.test_bad_solver  s    KK1a KK1a QD>w :&#QFDE ' 9%#Y{ & 9%#Y{ & 9%#Yfb\ &% '& &% &% &%s0   C'C8'D	D'
C58
D	
D
D(c                    ^^ U R                  [        5      u  p[        R                  " / SQ/ SQ/ SQ/ SQ/5      m[        XSS9nSS/mUU4S jn[	        S	XC5        g )
NrD   rG   rI   )r2  rE   rH   r   rm   rJ   r   c                 ^   > UR                   nTU S-     nU" TUS9  UR                   UL d   eg )Nr3   rJ   )_spline)tidrM   spliner   methodsrL   s       r-   	worker_fn?TestRegularGridInterpolator.test_concurrency.<locals>.worker_fn  s6    ^^FS1W%F6&)>>V+++r0   r   )r.   r"   r4  r
   r   )r%   r'   r(   rM   r  r  rL   s        @@r-   test_concurrency,TestRegularGridInterpolator.test_concurrency  s_    ,,R033335 6 )	J i(	, 	 I6r0   r   )8__name__
__module____qualname____firstlineno__r.   r6   r>   rA   parametrize_rgi_interp_methodsrP   rc   markparametrizere   r"   r!   ro   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  float32r|   r"  r6  r   r:  rH  rW  r`  	fail_slowr~  r  r  r  r  r  	complex64
complex128r  r  r  __static_attributes__r   r0   r-   r   r      s   				 $  $   [[X'DE* F*  [[ 

%&%' rzz*?@A
	
  O* $  $ "C:: [[!6*!3'!3'!6*!6*	
	:	::,$ KK:
H
H [[X	8'<=3 >37? [[Wrzz2::&>?[[VY/[[X)'<=; > 0 @;z*$X [[\D"&&"%%+@A[[X)'<=> > B>4 [[X	8'<=0 >0< [[X	8'<="C >"CH [[2#[[.	
01	
78	
>?	
EF	1 = $ =B4 $& $&
 [[1#; $ ;: $[[]UDM:'; ; $';R;> [[	RZZr}}= [[Z"**bjj)ABA C	
A087r0   r   c                   4    \ rS rSrSrS rS rS rS	S jrSr	g)
r   i'  z
Minimal indexable object
c                     SU l         Xl        [        R                  " [        R                  " U5      5      R                  U5      U l        g r[  )r  r  r"   r  prodr   r   )r%   r  s     r-   __init__MyValue.__init__,  s1    	
))BGGEN+33E:r0   c                      U R                   U   $ rW   )r   )r%   idxs     r-   __getitem__MyValue.__getitem__1  s    wws|r0   c                     g rW   r   )r%   s    r-   __array_interface__MyValue.__array_interface__4  s    r0   Nc                     [        S5      e)NzNo array representation)RuntimeError)r%   rw   copys      r-   	__array__MyValue.__array__7  s    455r0   )r   r  r  )NN)
r  r  r  r  __doc__r  r  r  r  r  r   r0   r-   r   r   '  s    ;
6r0   r   c                      \ rS rSrS rS r\S 5       rS rS r	S r
S rS	 rS
 rS rS r\S 5       r\R$                  R'                  S5      \S 5       5       r\S 5       rS r\S 5       rS rS r\R$                  R5                  SSS/5      S 5       r\\S 5       5       rS rS rS r S r!S r"S r#S  r$\R$                  R5                  S!S"S#/5      S$ 5       r%S%r&g&)'TestInterpNi;  c           	          [         R                  " / SQ5      n[         R                  " / SQ5      n[         R                  " / SQ/ SQ/ SQ/ SQ/ SQ/ SQ/5      nXU4$ )N)r   r;   r=   r  r  g      @)rt   r3   rt   r3   rt   rt   )rt   r3   r   r3   rt   rt   )rt   r3   r3   r3   rt   rt   )r"   r4  )r%   r   r   rA  s       r-   _sample_2d_dataTestInterpN._sample_2d_data<  sP    HH./HH./HH""""""	
 Qwr0   c           
      h   U R                  5       u  pn[        XU5      n[        XU5      n[        R                  " / SQ/ SQ/5      R
                  n[        [        X4X6SS9UR                  US S 2S4   US S 2S4   5      5        [        [        X4X6SS9[        XVS S 2S4   US S 2S4   SS95        g )	Nrt   ffffff@r-  r   r  333333?r   rt   r  r  r  r4   r   r   	splinef2drJ   r   rt   Fgrid)r  r   r   r"   r4  r>  r   r   evr   r   )r%   r   r   rA  lut
lut_customr  s          r-   test_spline_2dTestInterpN.test_spline_2dK  s    &&(a!!*Q1%
XX668 99: 	!'1&!"L"%&&AqD2ad8"<	>kB"@&0QT(Bq!tH+0#2	3r0   c                 .   U R                  5       u  p#n[        R                  " / SQ/ SQ/5      R                  n[	        X#4XEUS9n[	        UR                  5       UR                  5       4UR                  5       UR                  5       US9n[        XgUS9  g )Nr  r  rJ   )r  )r  r"   r4  r>  r   rK   r   )r%   r   r   r   rA  r  rN   rO   s           r-   rP   TestInterpN.test_list_inputY  s    &&(aXX668 99: 	aVQ62XXZ$ahhj"))+f
 	/r0   c                 H   [         R                  " / SQ5      n[         R                  " / SQ5      n[         R                  " / SQ/ SQ/ SQ/ SQ/ SQ/5      n[        XU5      n[        XU5      n[         R                  " / SQ/ SQ/5      R                  n[        X4X6SSS	S
9nUR                  US S 2S4   US S 2S4   5      nS	USS& [        Xx5        [        XVS S 2S4   US S 2S4   SS9n	S	U	SS& [        Xy5        S	U	SS& [        Xy5        [        [        [
        X4X6SSS S
9  g )Nr  rt   r3   rt   r3   rt   rt   r3   r   r3   rt   rt   r3   r3   r3   rt   rt   r  r/  r   r  r  r   rt   r  r  g      r4   r   r   r  FR?@r  r   rt   r3   r   r  )r"   r4  r   r   r>  r   r  r   r   r   r{   rd   )
r%   r   r   rA  r   r  r  actualexpectedexpected_customs
             r-   test_spline_2d_outofbounds&TestInterpN.test_spline_2d_outofboundsd  s&   HH*+HH*+HHo%8 9!!*Q1%
XX679 ::;! 	!{&+@66"QT(Bq!tH-1!&381a4"QT(8%!0%!0 	j'A61#(T	;r0   c                     S/S-  S/S-  -   n[         R                  " / SQ5      nUS S 2[         R                  [         R                  [         R                  4   nU[         R                  S S 2[         R                  [         R                  4   nU[         R                  [         R                  S S 2[         R                  4   nU[         R                  [         R                  [         R                  S S 24   nX4S-  -   US-  -   US-  -   nX4$ r2   )r"   r!   r#   )r%   r'   r(   r)   r*   r+   r,   s          r-   _sample_4d_dataTestInterpN._sample_4d_data  s    !#}o&99L)BJJ

BJJ>?Q

BJJ>?RZZBJJ>?RZZQ>?bL(7S=87T>I~r0   c                     U R                  5       u  p[        X5      n[        R                  " / SQ/5      n[	        XUSS9n[        U" U5      U5        g )Nrg   rl   rJ   r  r
   r"   r!   r   r   r%   r'   r(   	interp_rgrL   r   s         r-   test_linear_4dTestInterpN.test_linear_4d  sK    --/+F;	012A!)F"3V<r0   c           	          U R                  5       u  p[        R                  " / SQ/5      n[        R                  " S/5      n[        XUSSSS9n[	        XT5        g )NrE   r   g333333$@rh   r  rl   Fr  r  r"   r!   r   r   r%   r'   r(   rL   r   r  s         r-   test_4d_linear_outofbounds&TestInterpN.test_4d_linear_outofbounds  sR    --/234VH%&+@!&1r0   c                     U R                  5       u  p[        XSS9n[        R                  " / SQ/5      n[	        XUSS9n[        U" U5      U5        g )Nr   rJ   rg   r  r  s         r-   test_nearest_4dTestInterpN.test_nearest_4d  sM    --/+F9M	012	B!)F"3V<r0   c           	          U R                  5       u  p[        R                  " / SQ/5      n[        R                  " S/5      n[        XUSSSS9n[	        XT5        g )Nr  r  r   Fr  r  r  s         r-   test_4d_nearest_outofbounds'TestInterpN.test_4d_nearest_outofbounds  sR    --/234VH%	&+@!&1r0   c                     U R                  5       u  p[        R                  " / SQ5      n[        XUSS9n[        XUS S S 24   SS9n[	        XE5        g )Nrg   F)r   )r  r"   r!   r   r   r%   r'   r(   rL   rN   rO   s         r-   
test_xi_1dTestInterpN.test_xi_1d  sM    --//0VV%@VVDF^%Hr0   c                 d   U R                  5       u  p[        R                  R                  S5        [        R                  R	                  SSS5      n[        XUSSS9nUR                  S:X  d   e[        XUR                  S	S5      SSS9n[        XER                  UR                  5      5        g )
Nr  r3   r   r   r   Fr  r3   r   r   )	r  r"   r  r  r  r   r  r   r   r(  s         r-   
test_xi_ndTestInterpN.test_xi_nd  s    --/
		t1a(VVI"')xx6!!!VV^^B%:%E;JJrxx01r0   c                    U R                  5       u  p#nX#4n[        R                  " SSS5      n[        R                  " SSS5      nUS S 2S 4   US S S 24   4n[        XTXSS9n	U	R                  S:X  d   e[        R
                  " Xg5      u  p[        R                  U
R                  R                  5       UR                  R                  5       4   n[        XTUUSS9n[        XR                  U	R                  5      5        g )Nr   rt   r3   r   Fr  r,  )r  r"   r   r   r  r   c_r>  ravelr   r   )r%   r   r   r   r(   r'   r  yirL   rN   xxyyrO   s                r-   test_xi_broadcastTestInterpN.test_xi_broadcast  s     ++-f[[Aq![[Aq!QW+r$'{+VVOxx6!!!R$rttzz|RTTZZ\12VV"8JJrxx01r0   r   c                    US:X  a  [         R                  " S5        S/S-  S/S-  -   n[        R                  R	                  S5      nUR                  S5      nUR                  S5      n[        X$XQS	S
9nUR                  S:X  d   U5       e[        S5       Vs/ s H  n[        X$SU4   XQS	S
9PM     nn[        R                  " U5      R                  SSS5      n	[        XiSUS9  g s  snf r  )rc   r   r"   r  rR  r   r  rq  r4  r  r   )
r%   r   r'   rT  r(   rL   r  r  r  rO   s
             r-   r  !TestInterpN.test_nonscalar_values  s     YKK( 11A5,9
9  ii##D)O,I&FF!&(ww)#+V+# 498=3;a fS!Vnf#(*3; 	 =XXb\##Aq!,E6:	=s   C)c                 B   US;   a  [         R                  " S5        / SQn[        R                  R	                  S5      nSnUR                  SSSS	/UQ75      nUR                  S
5      n[        X%XaSS9nUR                  S/UQ7:X  d   e[        UR                  S   5       VV	s/ s H:  n[        UR                  S   5       V	s/ s H  n	[        X%SX4   XaSS9PM     sn	PM<     n
nn	[        U[        R                  " U
5      R                  SUS9  g s  sn	f s  sn	nf )N>   rR   rS   r  r  r  r  r+  r   r]  r  r   Fr  rt   r   r  .r   r  )rc   r   r"   r  rR  r   r  rq  r   r!   r>  )r%   r   r'   rT  r  r(   rL   r  r  rU  r  s              r-   r  #TestInterpN.test_nonscalar_values_2  s&    ))KK(D
 ii##D) Q1a:/:;AFFN ww1///// v||B/02 1A 6;6<<;K5L5L sAy 16%*,5L 1 	 2
 	2::b>++%H 2s   ' DD!DDc           	         U R                  5       u  p[        R                  R                  S5        [        R                  R	                  SSSSS5      n[        R                  R	                  SSS5      n[        [        [        XUSS9  g )	Nr  r   r+  r   r,  r   r  rJ   )r  r"   r  r  r  r{   rd   r   )r%   r'   r(   rL   s       r-    test_non_scalar_values_splinef2d,TestInterpN.test_non_scalar_values_splinef2d  se    --/
		t1aA.2q)j'66(	*r0   c                 N   US:X  a  [         R                  " S5        U R                  5       u  p#nX#4nUSU-  -
  n[        R                  " / SQ/ SQ/5      R
                  n[        XTXaS9n[        XTR                  XaS9n[        XTR                  XaS9n	USU	-  -   n
[        Xz5        g )NrT   r   r   r  r  rJ   r   )
rc   r   r  r"   r4  r>  r   r   r   r   )r%   r   r   r   r(   r'   rL   rN   v2rv2irO   s              r-   r   TestInterpN.test_complex  s    WKKDE++-f"V)#::< ==>Q 	 VV;fkk6Afkk6A2c6\r0   c                    U R                  5       u  pnX4nUSU-  -
  n[        R                  " / SQ/ SQ/5      R                  n[        R
                  " [        SS9   [        XCUSS9  S S S 5        g ! , (       d  f       g = f)Nr   r  r  r   r`   rT   rJ   )r  r"   r4  r>  rc   r	   rd   r   r%   r   r   r(   r'   rL   s         r-   test_complex_pchipTestInterpN.test_complex_pchip/  sp    ++-f"V)#::< ==>Q 	]]:V4FF7; 544s   A33
Bc                 
   U R                  5       u  pnX4nUSU-  -
  n[        R                  " / SQ/ SQ/5      R                  n[        R
                  " [        5         [        XCUSS9  S S S 5        g ! , (       d  f       g = f)Nr   r  r  r  rJ   )r  r"   r4  r>  rc   warnsr   r   rC  s         r-   test_complex_spline2fd"TestInterpN.test_complex_spline2fd:  sn    ++-f"V)#::< ==>Q 	\\.)FF;? *))s   A44
Br   rl   r   c                     [         R                  " SSS5      n[         R                  " SSS5      n[        S5      n[        X#4USS/US	9n[        X#4UR                  SS/US	9n[        XVS
S9  g )Nr   r3   r   rt   r   r   r   r   rJ   Fr   )r"   r   r   r   r   r   )r%   r   r   r   r(   rN   rO   s          r-   r   "TestInterpN.test_duck_typed_valuesE  sk    
 KK1a KK1a aVVc3Z?aVVYYc
6BE2r0   c                    [         R                  " SSS5      n[         R                  " SSS5      n[        [         R                  R	                  SS5      5      n[         R                  R	                  SSS5      n[        X#4XEUS9n[        X#4[         R                  " U5      XQS9nUS:X  a  [        XgS	S
S9  g[        Xg5        g)z8np.matrix inputs are allowed for backwards compatibilityr   r3   r+  rt   r   r   rJ   rS   g-C6
?g>)rz   r  N)r"   r   r   r  r  r   r!   r   )r%   r   r   r   r(   rL   rN   rO   s           r-   test_matrix_inputTestInterpN.test_matrix_inputS  s     KK1a KK1a 		q!,-1a(aVVF;aVRZZ/GYBD9B#r0   c                 &   [         R                  " / SQ/5      n[         R                  " SS/SS/SS//5      n[        S// SQ4X5      n/ SQn[        X4SS	9  [         R                  " S
S/SS/SS//5      n[        S// SQ4XSS S9n[        X4SS	9  g )N)rE   rt   r   rt   g@g	@gffffff@)r3   r   r   )gQ?gffffff@gffffff @rx   ry   r   r:   gffffffFr   )r"   r4  r   r   )r%   r(   r  rV  r   s        r-   r6   TestInterpN.test_length_one_axisf  s    
 <.)XX3x!SAs845sI&3 	%0 XXSzC:c{;<sI&#(T; 	%0r0   c           	      V   S n[         R                  " / SQ5      n[         R                  " / SQ5      n[         R                  " / SQ5      n[         R                  " / SQ5      nX#XE4nU" [         R                  " USSS.66 nSS	[         R                  " [         R                  " S
SS5      5      [         R                  " S
S	S5      4n[        XgU5      n	US S S2   n
US S S2   nUS S S2   nUS S S2   nXX4nU" [         R                  " USSS.66 n[        XU5      n[        U	U5        g )Nc                 0    SU S-  -  SUS-  -  -   U-
  U-
  $ re  r   ri  s       r-   value_func_4d9TestInterpN.test_descending_points.<locals>.value_func_4d}  s'    qAv:AF
*Q.22r0   )r   rt   r3   r   )r   r   r  r   )r   rE   rH   r2  r   Tr(  rE   r2  r   r   r   r   )r"   r4  r   r  r   r   r   )r%   rS  x1x2x3x4r'   r(   r  correct_result
x1_descend
x2_descend
x3_descend
x4_descendpoints_shuffledvalues_shuffledtest_results                    r-   test_descending_points"TestInterpN.test_descending_points|  s   	3 XXl#XXo&XXo&XX&'"![[&4=?Cbkk!R&;<{{1c1%' 5"X
"X
"X
"X
%:J'[[/DFHoD4r0   c                 ~   [         R                  " / SQ5      n[         R                  " / SQ5      n[         R                  " / SQ/ SQ/ SQ/ SQ/ SQ/5      n[         R                  " / SQ/ SQ/5      R                  nSn[        R                  " [
        US	9   [        X4X45        S S S 5        g ! , (       d  f       g = f)
Nr  r  r  r  r	  r
  r  r  r`   )r"   r4  r>  rc   r	   rd   r   )r%   r   r   rA  r  ra   s         r-   r  %TestInterpN.test_invalid_points_order  s    HH*+HH*+HHo%8 9XX679 ::;! 	 ;]]:U3QFA" 433s   B..
B<c                     S/nSS/n[         R                  " S5      nSn[        [        US9   [	        XU5        S S S 5        g ! , (       d  f       g = f)N)r   rt   r   rt   )rt   rt   r   zaThe requested sample points xi have dimension 3, but this RegularGridInterpolator has dimension 1r`   )r"   r  r{   rd   r   )r%   r'   r(   r  msgs        r-   test_invalid_xi_dimensions&TestInterpN.test_invalid_xi_dimensions  sG    QWWY9:S1FB' 211s   A
Ac                    [         R                  " SSS5      n[         R                  " SSS5      n[         R                  " SSS5      nXU4n[         R                  " S5      n[         R                  " / SQ5      nU H  nSUR                  l        M     SUR                  l        SUR                  l        [        XEU5        [        XE5      " U5        g )	Nr   r   r   r+  r   r   r+  r   Gz@(\@gffffff?Fr"   r   r  r4  flags	writeabler   r
   )r%   r   r   rA  r'   r(   pointds           r-   test_readonly_gridTestInterpN.test_readonly_grid  s    KK1a KK1a KK1a #+,A %AGG !& %&/6r0   c                 x   [         R                  " SSS5      n[         R                  " SSS5      nX4n[         R                  " S5      n[         R                  " SS/5      nU H  nSUR                  l        M     SUR                  l        SUR                  l        [        X4U5        [        X45      " U5        g )	Nr   r   r   r+  r   r+  rl  rm  Frn  )r%   r   r   r'   r(   rq  rr  s          r-   test_2d_readonly_grid!TestInterpN.test_2d_readonly_grid  s     KK1a KK1a $&A %AGG !& %&/6r0   c                    [         R                  " SSS5      n[         R                  " U[         R                  " U5      45      R                  R                  5       S S 2S4   nUR                  R                  (       a   e[         R                  " SSS5      n[         R                  " SSS5      nXU4n[         R                  " S5      n[         R                  " / SQ5      n[        XEU5        [        XE5      " U5        g )Nr   r   r   r+  r   rj  rk  )r"   r   r=  
empty_liker>  r  ro  c_contiguousr  r4  r   r
   )r%   r   r   rA  r'   r(   rq  s          r-   test_non_c_contiguous_grid&TestInterpN.test_non_c_contiguous_grid  s    KK1a IIq"--*+,..335ad;77''''KK1a KK1a #+,&/6r0   rw   z>f8z<f8c                     [         R                  " SSSUS9n[         R                  " SSSUS9nX#4n[         R                  " SUS9n[         R                  " SS/US9n[	        XEU5        [        XE5      " U5        g )	Nr   r   r   rv   r+  rv  rl  rm  )r"   r   r  r4  r   r
   )r%   rw   r   r   r'   r(   rq  s          r-   test_endiannessTestInterpN.test_endianness  sn     KK1au-KK1au-u-$U3&/6r0   r   N)'r  r  r  r  r  r  r  rP   r  r  r  r  r"  r%  r)  r-  r5  rc   r  r  r  r  r<  r   rD  rH  r  r   r   rM  r6  ra  r  rg  rs  rw  r|  r  r  r   r0   r-   r  r  ;  sX   3 $0 $0;8=2=2 2 $2 $2& [[1#; $ ;0 $I $I@* $  $ $	<	@ [[	93	3 #$ $ $"1,54
#(777 [[Wuen5	7 6	7r0   r  )#r   rc   numpyr"   numpy.exceptionsr   scipy._lib._array_apir   r   r   r   scipy.conftestr   r	   r{   scipy.interpolater
   r   r   r   r   scipy.interpolate._regridr   r   scipy.sparse._sputilsr   scipy._lib._testutilsr   r  r  _ALL_METHODSr  r   r   r  r   r0   r-   <module>r     s       +  / *L LN ) 9 "(!8!8%22"  *+E7 E7 ,E7P6 6(f7 f7r0   