
    doiD                     *   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  S SKJr  \R2                  R5                  S	\R6                  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)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/land-ocr/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~r.   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_34   s    56:?@BJJ

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

BJJ>?RZZBJJ>?RZZQ>?bL(7S=87T>I~r.   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_4?   s    !S#J'BJJ

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

BJJ>?RZZBJJ>?RZZQ>?bL(7S=87T>I~r.   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$   皙?rC   r   ?皙?rC   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_inputJ   s    ..".5/1D/1 2 ))/068 FMMO$()/068 F^r.   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matchrH   rB   rE   rG   )r?   listpytestr	   
ValueErrorr
   r   )r#   r   r$   r%   r&   r_   rK   rJ   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, samplerB   rE   rG   rC   rC   r3         "@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rU   rV   rW   s     r+   rZ   LTestRegularGridInterpolator.test_linear_and_slinear_close.<locals>.<genexpr>|   s     <VbjjmmVr]   linearrH   slinear)r`   r   r
   r   )	r#   points_valuesrJ   r$   r%   r&   rK   rL   rM   s	      `     r+   test_linear_and_slinear_close9TestRegularGridInterpolator.test_linear_and_slinear_closel   s`     'tR0<V<<bjj>P(IF^(	JF^r.   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rU   rV   rW   s     r+   rZ   ?TestRegularGridInterpolator.test_derivatives.<locals>.<genexpr>   r\   r]   rB   rE   rG   rk   rH      )nu)rr   r   r   r   )r   rr   rr   dtypeV瞯<atol)r   rr   r   r   )r3   r   r   )r   rr   rr   r   )r   r   r   g-=)r,   r`   r   r
   assert_raisesrb   r   float64)r#   r$   r%   r&   rJ   rK   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 )
NrR   *pchip does not make sense for complex datac              3   F   >#    U  H  nTR                  U5      v   M     g 7frU   rV   rW   s     r+   rZ   ;TestRegularGridInterpolator.test_complex.<locals>.<genexpr>   r\   r]                  @rB   rE   rG   rH                 ?)	ra   skipr<   r`   r   r
   realimagr   )r#   r   r$   r%   r&   rJ   rK   rinterpiinterprL   rM   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r.   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)rr   r1      r   ij)indexingc                     U S-  US-  -  $ )Nr    xys     r+   <lambda>ATestRegularGridInterpolator.test_cubic_vs_pchip.<locals>.<lambda>   s    q!tad{r.   rP   rH   rR   r8   r1   +=)r   meshgridr
   allabs)r#   r$   r   r   xgygr&   rP   rR   
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Br.   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rU   rV   rW   s     r+   rZ   ?TestRegularGridInterpolator.test_linear_xi1d.<locals>.<genexpr>   r\   r]   re   H@rt   r4   r`   r
   r   rz   r   r#   r$   r%   r&   rK   rJ   wanteds    `     r+   test_linear_xi1d,TestRegularGridInterpolator.test_linear_xi1d   sd    ..r24V44(8/0VHBJJ7!&.&9r.   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rU   rV   rW   s     r+   rZ   ?TestRegularGridInterpolator.test_linear_xi3d.<locals>.<genexpr>   r\   r]   rB   rE   rG   r   gq@g     \@r,   r`   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!&.&9r.   zsample, wanted)rC   rC   rD   rD   g     0@)rC   rC   rC   rC   r   r   r   r   r   r   r   r   r        \@)rC   皙?g333333?rD   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rU   rV   rW   s     r+   rZ   ;TestRegularGridInterpolator.test_nearest.<locals>.<genexpr>   s     =frzz!}}fr]   nearestrH   rt   )r,   tupler   r
   rz   r   )r#   rJ   r   r$   r%   r&   rK   s      `   r+   test_nearest(TestRegularGridInterpolator.test_nearest   sd     ,,R0=f==rzz&?Q(	JVHBJJ7!&.&9r.   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rU   rV   rW   s     r+   rZ   @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(!&.&9r.   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   undefmethodrH   )r    r   r!   ry   rb   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*	,r.   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rU   rV   rW   s     r+   rZ   >TestRegularGridInterpolator.test_valid_call.<locals>.<genexpr>   r\   r]   r   r   r   )r   r   r   )r   r   r   )r   r   r   皙?)r,   r`   r
   r   ry   rb   )r#   r$   r%   r&   rK   rJ   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rU   rV   rW   s     r+   rZ   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   rt   )r   r         &@r   r   rH   )gfffff[gfffff@g     grj   )r,   r`   r
   r   rz   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Jr.   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rU   rV   rW   s     r+   rZ   ITestRegularGridInterpolator.test_out_of_bounds_extrap2.<locals>.<genexpr>  r\   r]   Fr   r   r   r   r   rt   )r   r   r   r   r   rH   )g333333(g33333`@g     gyXrj   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Jr.   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rU   rV   rW   s     r+   rZ   FTestRegularGridInterpolator.test_out_of_bounds_fill.<locals>.<genexpr>  r\   r]   Fr   r   r   r   r   rH   rj   rB   rE   rG   r   )r,   r`   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!&.&9r.   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   rH   rB   rE   rG   )	r,   r    r
   	itertoolsproductr   reshaper   r   	r#   r%   r&   rK   points_qhullrY   values_qhullinterp_qhullrJ   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   rB   rE   rG   )	r,   r    r
   r   r   r   r   r   r   r   s	            r+   test_linear_compare_qhull5TestRegularGridInterpolator.test_linear_compare_qhull8  s    ,,R0(8 ((&1#/0<a<0zz,/~~b)+LG/1D/1 2!&.,v2FG 1s   B1r   rj   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   r1      rr      r   r   rH   r   ffffff?Fcheck_dtype)r    linspaceMyValuer
   _vr   )r#   r   r   r   r&   rK   rL   rM   s           r+   test_duck_typed_values2TestRegularGridInterpolator.test_duck_typed_valuesD  sw    KK1a KK1a (!GS#J(!6JS#JE2r.   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   r1   r   rr   r   r   y      ?       @)r    randomseedr   randr
   ry   rb   )r#   r   r   r&   s       r+   test_invalid_fill_value3TestRegularGridInterpolator.test_invalid_fill_valueR  sr    
		tKK1a KK1a 1% 	 1= 	j"9ff	7r.   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         z>f4rt   r   r  )r    onesshapearanger
   )r#   r&   nr%   s       r+   test_fillvalue_type/TestRegularGridInterpolator.test_fillvalue_type_  sI    U3(.51"))A,5/2> 6s    Aru   ndimrr   r1   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)Nrt   c              3   P   #    U  H  n[         R                  " U/5      v   M     g 7frU   )r    r   )rX   xis     r+   rZ   GTestRegularGridInterpolator.test_length_one_axis_all.<locals>.<genexpr>u  s     5"Brzz2$''"s   $&g$I$I?)rr   )r  r   gaa?rj   Fr   r   r   Tr   r   r   rr   z9^One of the requested xi is out of bounds in dimension 0$r^   )r    r  r   r   fullrz   r
   r   ra   r	   rb   r   )r#   ru   r  r   x0r%   valr&   fillpromoted_dtypeinterp_fill
interp_errrJ   r   results                  r+   test_length_one_axis_all4TestRegularGridInterpolator.test_length_one_axis_allg  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-   $ rU   r   r   s     r+   f;TestRegularGridInterpolator.test_length_one_axis.<locals>.f  s	    5Lr.   rr   r   r   Tr   sparserj   Fe   r  r   )r9         r   rw   gffffff?333333@)333333@333333@r+  r   r-  )r   check_shapecheck_0drx   333333?g      '@g?g      )@rv   r8   gffffff?r   g?gffffff@r;   r*  )r    r   r   r
   r   arrayr   r   )r#   r%  r   r   datarK   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,"	$r.   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   r1   r	  r   rr   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 <=r.   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  rr   Fr8     lJ r   sizer   r   ignoreinvalid)r   rr   )
r
   r    isnanr   r  default_rngerrstater   r   r  )	r#   r   r%  rngr   iresr   r4  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   rr   r1   )rr   r   r   c                     U S-  US-  -   $ Nr1   r   r   s     r+   r%  4TestRegularGridInterpolator.test_nan_x_2d.<locals>.f  s    a4!Q$;r.   r   Tr'  Fr  rM  rN  r8   rr   r9   r   rw   r   rJ  r   rK  r      r   r   )r    r3  r   r
   rR  r   r   rP  r  rQ  r=  r   r   )r#   r   r   r   r%  r   r   r4  rK   rU  rS  i1i2rT  r@  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funcr1   c                 $    SU S-  -  SUS-  -  -   $ Nr1   r   r   r   s     r+   r   $TestRegularGridInterpolator.<lambda>6  s    Q!Va!q&j0r.   r   c                 *    SU S-  -  SUS-  -  -   U-
  $ rd  r   )r   r   r@  s      r+   r   re  7  s    AQJQ!V3a7r.   r   c                 0    SU S-  -  SUS-  -  -   U-
  U-   $ rd  r   r   r   r@  as       r+   r   re  8  s#    q16zAQJ6:Q>r.   r   c                 4    SU S-  -  SUS-  -  -   U-
  X4-  -   $ rd  r   )r   r   r@  ri  bs        r+   r   re  9  s%    !a1f*q16z"9A"="Er.   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   >   rP   rQ   z-too slow; OOM (quintic); or nearly so (cubic)*   rr   r   r1   rK     r   Tr'  rH   r   )ra   r   r    r  rQ  uniformranger   r   r
   r   )r#   r   ra  rb  rS  
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_nd3  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-  -  -   $ rd  r   r   s     r+   val_func_2dJTestRegularGridInterpolator.test_invalid_points_order.<locals>.val_func_2d]  s    qAv:AF
**r.   r   r9   r         @      @r   r9   r;   r  r  r   Tr'  (must be strictly ascending or descendingr^   )r    r3  r   ra   r	   rb   r
   )r#   r  r   r   r%   r&   r_   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  rP  )r#   r   rK   s      r+   test_fill_value+TestRegularGridInterpolator.test_fill_valuei  sC    ("))A,06ULxxt%%%%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$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 NrQ   Way too slow.r   r   r   r8   r9   r:   r1   )r   r2   r3         .@r	        9@r   )r*  r*  r*  r*  r\  )r   r   r   Fr  )r   r   r\  r\  .rr   r   r   rx   err_msg)ra   r   r    r  rQ  r
   r  rp  appendr3  	transposer   )r#   r   r%   rS  r&   rJ   rK   vvsjrM   s              r+   test_nonscalar_values1TestRegularGridInterpolator.test_nonscalar_valueso  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:r.   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>   rP   rQ   r  r  r7   )r   r2   r3   r  r	  r       A@      B@)	r   r2   r3   r  r	  r  r  r  /   r   r   r1   r*  r   r\  	   r   Fr  rr   r   .r   axisr   r  )ra   r   r   reversedr    r  rQ  r
   r  emptyrp  itemexpand_dimsr   )r#   r   r  r%   rY   rS  trailing_pointsr&   rJ   rK   r  r  rT  r  rM   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 )Nrj   r  r7   r   )r   r   r*  r   r1   Fr  rr   r  r   .r   r  r   r  )
r    r  rQ  r
   r  r  rp  r  r  r   )r#   r   r%   rS  r  r&   rJ   rK   r  r  rT  r  rM   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:r.   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-  -  -   $ rd  r   r   s     r+   r%  :TestRegularGridInterpolator.test_float32_values.<locals>.f  s    q!t8a!Q$h&&r.   rr   r   r+  r      r   Tr'  r   g@ffffff
@g@rt   g Y`@g{,c@gHz>F)rx   rtolr   )r    r   r   astyper
   r3  r   )r#   ru   r  r%  r   r   r   r   r4  rK   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r.   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 $ rU   r   r   s    r+   r   =TestRegularGridInterpolator.test_bad_solver.<locals>.<lambda>  s    1r.   )solverrk   c                     U $ rU   r   r  s    r+   r   r        r.   )r   r  c                     U $ rU   r   r  s    r+   r   r    r  r.   woof)r   r  r  rm  )r   solver_args)r    r   r   ry   rb   r
   	TypeError)r#   r   r   r   r   r4  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 )
NrB   rE   rG   )r1  rC   rF   r   rk   rH   r   c                 ^   > UR                   nTU S-     nU" TUS9  UR                   UL d   eg )Nr1   rH   )_spline)tidrK   spliner   methodsrJ   s       r+   	worker_fn?TestRegularGridInterpolator.test_concurrency.<locals>.worker_fn  s6    ^^FS1W%F6&)>>V+++r.   r   )r,   r    r3  r
   r   )r#   r%   r&   rK   r  r  rJ   s        @@r+   test_concurrency,TestRegularGridInterpolator.test_concurrency  s_    ,,R033335 6 )	J i(	, 	 I6r.   r   )8__name__
__module____qualname____firstlineno__r,   r4   r<   r?   parametrize_rgi_interp_methodsrN   ra   markparametrizerc   r    r   rm   r{   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  float32rz   r!  r5  r   r9  rG  rV  r_  	fail_slowr}  r  r  r  r  r  	complex64
complex128r  r  r  __static_attributes__r   r.   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7r.   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 rZ  )r  r  r    r  prodr   r   )r#   r  s     r+   __init__MyValue.__init__*  s1    	
))BGGEN+33E:r.   c                      U R                   U   $ rU   )r   )r#   idxs     r+   __getitem__MyValue.__getitem__/  s    wws|r.   c                     g rU   r   )r#   s    r+   __array_interface__MyValue.__array_interface__2  s    r.   Nc                     [        S5      e)NzNo array representation)RuntimeError)r#   ru   copys      r+   	__array__MyValue.__array__5  s    455r.   )r   r  r  )NN)
r  r  r  r  __doc__r  r  r  r  r  r   r.   r+   r   r   %  s    ;
6r.   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&)'TestInterpNi9  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   r9   r;   r  r  g      @)rr   r1   rr   r1   rr   rr   )rr   r1   r   r1   rr   rr   )rr   r1   r1   r1   rr   rr   )r    r3  )r#   r   r   r@  s       r+   _sample_2d_dataTestInterpN._sample_2d_data:  sP    HH./HH./HH""""""	
 Qwr.   c           	          U R                  5       u  pn[        XU5      n[        R                  " / SQ/ SQ/5      R                  n[        [        X4X5SS9UR                  US S 2S4   US S 2S4   5      5        g )Nrr   ffffff@r,  r   r  333333?r   rr   r  r  r  r2   r   r   	splinef2drH   r   rr   )r  r   r    r3  r=  r   r   ev)r#   r   r   r@  lutr  s         r+   test_spline_2dTestInterpN.test_spline_2dI  st    &&(a!!*XX668 99: 	!'1&!"L"%&&AqD2ad8"<	>r.   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  rH   )r  )r  r    r3  r=  r   rI   r   )r#   r   r   r   r@  r  rL   rM   s           r+   rN   TestInterpN.test_list_inputR  s    &&(aXX668 99: 	aVQ62XXZ$ahhj"))+f
 	/r.   c                    [         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[         R                  " / SQ/ SQ/5      R                  n[	        X4X5S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& [        Xg5        [        [        [        X4X5SSS S
9  g )Nr  rr   r1   rr   r1   rr   rr   r1   r   r1   rr   rr   r1   r1   r1   rr   rr   r  r.  r   r  r  r   rr   r  r  g      r2   r   r   r  FR?@r  r   rr   r1   r   )	r    r3  r   r=  r   r  r   ry   rb   )r#   r   r   r@  r  r  actualexpecteds           r+   test_spline_2d_outofbounds&TestInterpN.test_spline_2d_outofbounds]  s    HH*+HH*+HHo%8 9!!*XX679 ::;! 	!{&+@66"QT(Bq!tH-1!&3 	j'A61#(T	;r.   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$ r0   )r    r   r!   )r#   r%   r&   r'   r(   r)   r*   s          r+   _sample_4d_dataTestInterpN._sample_4d_datap  s    !#}o&99L)BJJ

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

BJJ>?RZZBJJ>?RZZQ>?bL(7S=87T>I~r.   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 )Nre   rj   rH   r  r
   r    r   r   r   r#   r%   r&   	interp_rgrJ   r   s         r+   test_linear_4dTestInterpN.test_linear_4dz  sK    --/+F;	012A!)F"3V<r.   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rC   r   g333333$@rf   r  rj   Fr  r  r    r   r   r   r#   r%   r&   rJ   r   r	  s         r+   test_4d_linear_outofbounds&TestInterpN.test_4d_linear_outofbounds  sR    --/234VH%&+@!&1r.   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   rH   re   r  r  s         r+   test_nearest_4dTestInterpN.test_nearest_4d  sM    --/+F9M	012	B!)F"3V<r.   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%	&+@!&1r.   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 )Nre   F)r   )r  r    r   r   r   r#   r%   r&   rJ   rL   rM   s         r+   
test_xi_1dTestInterpN.test_xi_1d  sM    --//0VV%@VVDF^%Hr.   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   r1   r   r   r   Fr  r1   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1r.   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   rr   r1   r   Fr  r'  )r  r    r   r   r  r   c_r=  ravelr   r   )r#   r   r   r   r&   r%   r  yirJ   rL   xxyyrM   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1r.   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  )ra   r   r    r  rQ  r   r  rp  r3  r  r   )
r#   r   r%   rS  r&   rJ   r  r  r  rM   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>   rP   rQ   r  r  r   r  r*  r   r\  r  r   Fr  rr   r   r  .r   r  )ra   r   r    r  rQ  r   r  rp  r   r   r=  )r#   r   r%   rS  r  r&   rJ   r  r  rT  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  rH   )r  r    r  r  r  ry   rb   r   )r#   r%   r&   rJ   s       r+    test_non_scalar_values_splinef2d,TestInterpN.test_non_scalar_values_splinef2d  se    --/
		t1aA.2q)j'66(	*r.   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 )NrR   r~   r   r  r  rH   r   )
ra   r   r  r    r3  r=  r   r   r   r   )r#   r   r   r   r&   r%   rJ   rL   v2rv2irM   s              r+   r   TestInterpN.test_complex  s    WKKDE++-f"V)#::< ==>Q 	 VV;fkk6Afkk6A2c6\r.   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^   rR   rH   )r  r    r3  r=  ra   r	   rb   r   r#   r   r   r&   r%   rJ   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  rH   )r  r    r3  r=  ra   warnsr   r   r>  s         r+   test_complex_spline2fd"TestInterpN.test_complex_spline2fd*  sn    ++-f"V)#::< ==>Q 	\\.)FF;? *))s   A44
Br   rj   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   r1   r   rr   r   r   r   r   rH   Fr   )r    r   r   r   r   r   )r#   r   r   r   r&   rL   rM   s          r+   r   "TestInterpN.test_duck_typed_values5  sk    
 KK1a KK1a aVVc3Z?aVVYYc
6BE2r.   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   r1   r*  rr   r   r   rH   rQ   g-C6
?g>)rx   r  N)r    r   r   r  r  r   r   r   )r#   r   r   r   r&   rJ   rL   rM   s           r+   test_matrix_inputTestInterpN.test_matrix_inputC  s     KK1a KK1a 		q!,-1a(aVVF;aVRZZ/GYBD9B#r.   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)rC   rr   r   rr   g@g	@gffffff@)r1   r   r   )gQ?gffffff@gffffff @rv   rw   r   r8   gffffffFr   )r    r3  r   r   )r#   r&   r  rU  r   s        r+   r5   TestInterpN.test_length_one_axisV  s    
 <.)XX3x!SAs845sI&3 	%0 XXSzC:c{;<sI&#(T; 	%0r.   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-
  $ rd  r   rh  s       r+   value_func_4d9TestInterpN.test_descending_points.<locals>.value_func_4dm  s'    qAv:AF
*Q.22r.   )r   rr   r1   r   )r   r   r	  r
  )r   rC   rF   r1  r   Tr'  rC   r1  r   r
  r   r   )r    r3  r   r  r   r   r   )r#   rN  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_pointsl  s   	3 XXl#XXo&XXo&XX&'"![[&4=?Cbkk!R&;<{{1c1%' 5"X
"X
"X
"X
%:J'[[/DFHoD4r.   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    r3  r=  ra   r	   rb   r   )r#   r   r   r@  r  r_   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   rr   r   rr   )rr   rr   r   zaThe requested sample points xi have dimension 3, but this RegularGridInterpolator has dimension 1r^   )r    r  ry   rb   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  r3  flags	writeabler   r
   )r#   r   r   r@  r%   r&   pointds           r+   test_readonly_gridTestInterpN.test_readonly_grid  s    KK1a KK1a KK1a #+,A %AGG !& %&/6r.   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*  rg  rh  Fri  )r#   r   r   r%   r&   rl  rm  s          r+   test_2d_readonly_grid!TestInterpN.test_2d_readonly_grid  s     KK1a KK1a $&A %AGG !& %&/6r.   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   re  rf  )r    r   r<  
empty_liker=  r  rj  c_contiguousr  r3  r   r
   )r#   r   r   r@  r%   r&   rl  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 #+,&/6r.   ru   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   rt   r*  rq  rg  rh  )r    r   r  r3  r   r
   )r#   ru   r   r   r%   r&   rl  s          r+   test_endiannessTestInterpN.test_endianness  sn     KK1au-KK1au-u-$U3&/6r.   r   N)'r  r  r  r  r  r  r  rN   r  r  r  r  r  r   r$  r(  r0  ra   r  r  r  r  r7  r   r?  rC  r  r   r   rH  r5  r\  r  rb  rn  rr  rw  rz  r  r   r.   r+   r  r  9  sX   > $0 $0;&=2=2 2 $2 $2& [[1#; $ ;0 $I $I@* $  $ $	<	@ [[	93	3 #$ $ $"1,54
#(777 [[Wuen5	7 6	7r.   r  ) r   ra   numpyr    numpy.exceptionsr   scipy._lib._array_apir   r   r   r   scipy.conftestr   r	   ry   scipy.interpolater
   r   r   r   r   scipy.sparse._sputilsr   scipy._lib._testutilsr   r  r  _ALL_METHODSr  r   r   r  r   r.   r+   <module>r     s       +  / *L L ) 9 "(!8!8%22"  *+E7 E7 ,E7P6 6(X7 X7r.   