
    (phŴ                        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	  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  S S	KJr  \R4                  R7                  S
\R8                  5      r " S S5      r " S S5      r " S S5      r g)    N)assert_warns)xp_assert_equalxp_assert_closeassert_array_almost_equal)skip_xp_invalid_arg)raises)RegularGridInterpolatorinterpnRectBivariateSplineNearestNDInterpolatorLinearNDInterpolator)matrix)ComplexWarning)_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\R                  " / SQ5      S4\R                  " / SQ5      S4\R                  " / SQ5      S4\R                  " / SQ5      S4\R                  " / SQ5      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!S- r"\
R                  R                  S.S/\RF                  \RH                  /5      \
R                  R                  SS)S(/5      S0 5       5       r%\
R                  R                  SS(S)/5      S1 5       r&\
R                  R                  SS(S)/5      S2 5       r'\
R                  RQ                  S35      \\
R                  R                  S4S5S6 4S7S8 4S9S: 4S;S< 4/5      S= 5       5       5       r)S> r*\S? 5       r+\
R                  RQ                  S;5      \S@ 5       5       r,\\
R                  R                  SASBSC/5      SD 5       5       r-SE r.\
R                  R                  SF\R^                  \R`                  \Rb                  \Rd                  /5      \
R                  R                  SG\R^                  \R`                  /5      SH 5       5       r3SI r4\
R                  Rj                  SJ 5       r6SKr7g/)LTestRegularGridInterpolator   c                    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$ )N              ?      ?   
   d     npasarraynewaxisselfpointsvaluesvalues0values1values2values3s          S/var/www/html/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[         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$ 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[         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$ )Nr   r   r         ?       @      @      @r   r   r   r   r   r"   s          r*   _get_sample_4d_3,TestRegularGridInterpolator._get_sample_4d_32   s    56:?@BJJ

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

BJJ>?RZZBJJ>?RZZQ>?bL(7S=87T>I~r-   c                    S/S-  n[         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X4S-  -   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                  5       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皙?rB   r   ?皙?rB   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_inputH   s    ..0/1D/1 2 ))/068 FMMO$()/068 F^r-   r   )cubicquinticpchipc                 l   U R                  5       u  p#Sn[        R                  " [        US9   [	        X#US9  S S S 5        [	        X#5      n[
        R                  " / SQ/ SQ/ SQ/5      n[        R                  " [        US9   U" XaS9  S S S 5        g ! , (       d  f       Na= f! , (       d  f       g = f)Nzpoints in dimensionmatchrG   rA   rD   rF   )r>   pytestr   
ValueErrorr	   r   r    )r#   r   r$   r%   rT   rJ   rI   s          r*   test_spline_dim_error1TestRegularGridInterpolator.test_spline_dim_errorY   s    ..0% ]]:U3#F6B 4 )8/1D/1 2]]:U36) 43 43 43s   BB%
B"%
B3zpoints_values, samplerA   rD   rF   rB   rB   r2         "@c                 v    U" U 5      u  p4[        X4SS9nU" U5      n[        X4SS9nU" U5      n[        Xg5        g )NlinearrG   slinear)r	   r   )r#   points_valuesrI   r$   r%   rJ   rK   rL   s           r*   test_linear_and_slinear_close9TestRegularGridInterpolator.test_linear_and_slinear_closei   sB     't,(IF^(	JF^r-   c                    U R                  5       u  p[        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[        R                  " / S	Q5      S
S9  [        U" USS9[        R                  " / SQ5      S
S9  [        U" USS9[        R                  " / SQ5      SS9  g ! , (       d  f       N= f)NrA   rD   rF   r]   rG      )nu)rb   r   r   r   )r   rb   rb   V瞯<atol)r   rb   r   r   )r2   r   r   )r   rb   rb   r   )r   r   r   g-=)r+   r   arrayr	   assert_raisesrV   r   r    )r#   r$   r%   rI   rJ   s        r*   test_derivatives,TestRegularGridInterpolator.test_derivatives   s    ,,.3335 6 )	J:&6a  ' 	v,7

;/e	=v,7

>2	@ 	v,7

;/e	= '&s   C
Cc                 `   US:X  a  [         R                  " S5        U R                  5       u  p#USU-  -
  n[        R                  " / SQ/ SQ/ SQ/5      n[        X#US9n[        X#R                  US9n[        X#R                  US9nU" U5      nU" U5      SU" U5      -  -   n	[        X5        g )	NrQ   *pchip does not make sense for complex data               @rA   rD   rF   rG                 ?)	rU   skipr;   r   r    r	   realimagr   )
r#   r   r$   r%   rI   rJ   rinterpiinterprK   rL   s
             r*   test_complex(TestRegularGridInterpolator.test_complex   s    WKKDE..0"V)#/1D/1 2 )G)&++fM)&++fMF^V_r'&/11r-   c                     / SQ/ SQp![         R                  " XSS9u  p4S " X45      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	[         R                  " XS
SS9(       a   eg )N)rb   r0      r   ij)indexingc                     U S-  US-  -  $ )Nr    xys     r*   <lambda>ATestRegularGridInterpolator.test_cubic_vs_pchip.<locals>.<lambda>   s    q!tad{r-   rO   rG   rQ   r7   r0   +=r   rf   rtol)r   meshgridr	   allclose)
r#   r}   r~   xgygr%   rO   rQ   
vals_cubic
vals_pchips
             r*   test_cubic_vs_pchip/TestRegularGridInterpolator.test_cubic_vs_pchip   sx    \1QD1*B3'wG'wGC8_
C8_
;;zEJJJJr-   c                     U R                  5       u  p[        X5      n[        R                  " / SQ5      n[        R                  " S/5      n[	        U" U5      U5        g )NrY   H@r3   r	   r   r    r   r#   r$   r%   rJ   rI   wanteds         r*   test_linear_xi1d,TestRegularGridInterpolator.test_linear_xi1d   sI    ..0(8/0VH%!&.&9r-   c                     U R                  5       u  p[        X5      n[        R                  " / SQ/ SQ/ SQ/5      n[        R                  " / SQ5      n[	        U" U5      U5        g )NrA   rD   rF   r   gq@g     \@r+   r	   r   r    r   r   s         r*   test_linear_xi3d,TestRegularGridInterpolator.test_linear_xi3d   sU    ,,.(8/1D/1 223!&.&9r-   zsample, wanted)rB   rB   rC   rC   g     0@)rB   rB   rB   rB   r   r   r   r   r   r   r   r   r        \@)rB   皙?g333333?rC   g     |@c                     U R                  5       u  p4[        X4SS9n[        R                  " U/5      n[	        U" U5      U5        g )NnearestrG   r   )r#   rI   r   r$   r%   rJ   s         r*   test_nearest(TestRegularGridInterpolator.test_nearest   s>     ,,.(	JVH%!&.&9r-   c                     U R                  5       u  p[        X5      n[        R                  " / SQ/ SQ/5      n[        R                  " SS/5      n[	        U" U5      U5        g )Nr   r   r   r   r   r   s         r*   test_linear_edges-TestRegularGridInterpolator.test_linear_edges   sQ    ,,.(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   undefmethodrG   )r   r    r!   rh   rV   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                 H   U R                  5       u  p[        X5      n[        R                  " / SQ/ SQ/5      n[	        [
        X4S5        [        R                  " / SQ/ SQ/5      n[	        [
        X45        [        R                  " / SQ/ SQ/5      n[	        [
        X45        g )Nr   r   r   )r   r   r   )r   r   r   )r   r   r   皙?)r+   r	   r   r    rh   rV   )r#   r$   r%   rJ   rI   s        r*   test_valid_call+TestRegularGridInterpolator.test_valid_call   sy    ,,.(8-/?@Aj&-@\<89j&1-/@ABj&1r-   c                 &   U R                  5       u  p[        XSS S9n[        R                  " / SQ/ SQ/ SQ/ SQ/5      n[        R                  " / SQ5      n[	        U" USS	9U5        [        R                  " / S
Q5      n[	        U" USS	9U5        g )NFbounds_error
fill_value皙r   r   r   r   r   r   r       @皙ir   r   r   r   )r   r         &@r   r   rG   )gfffff[gfffff@g     gr\   r   r   s         r*   test_out_of_bounds_extrap5TestRegularGridInterpolator.test_out_of_bounds_extrap   s    ,,.(e48:13G13IK L12!&	"BFK>?!&"A6Jr-   c                 &   U R                  5       u  p[        XSS S9n[        R                  " / SQ/ SQ/ SQ/ SQ/5      n[        R                  " / SQ5      n[	        U" USS	9U5        [        R                  " / S
Q5      n[	        U" USS	9U5        g )NFr   r   r   r   r   )r   r   r   r   r   rG   )g333333(g33333`@g     gyXr\   r   r   s         r*   test_out_of_bounds_extrap26TestRegularGridInterpolator.test_out_of_bounds_extrap2   s    ..0(e48:13G13IK L/0!&	"BFK9:!&"A6Jr-   c                    U R                  5       u  p[        XS[        R                  S9n[        R                  " / SQ/ SQ/ SQ/5      n[        R                  " [        R                  [        R                  [        R                  /5      n[        U" USS9U5        [        U" USS9U5        [        R                  " / S	Q/ S
Q/ SQ/5      n[        R                  " / SQ5      n[        U" U5      U5        g )NFr   r   r   r   r   rG   r\   rA   rD   rF   r   )r+   r	   r   nanr    r   r   s         r*   test_out_of_bounds_fill3TestRegularGridInterpolator.test_out_of_bounds_fill  s    ,,.(e46FF<13G35 6RVVRVVRVV45!&	"BFK!&"A6J/1D/1 223!&.&9r-   c                 `   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   rG   rA   rD   rF   )	r+   r	   	itertoolsproductr   r    reshaper   r   	r#   r$   r%   rJ   points_qhullpvalues_qhullinterp_qhullrI   s	            r*   test_nearest_compare_qhull6TestRegularGridInterpolator.test_nearest_compare_qhull  s    ,,.(	J ((&1#/0<a<0zz,/~~b),\H/1D/1 2!&.,v2FG 1s   B+c                 b   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   rA   rD   rF   )	r+   r	   r   r   r   r    r   r   r   r   s	            r*   test_linear_compare_qhull5TestRegularGridInterpolator.test_linear_compare_qhull"  s    ,,.(8 ((&1#/0<a<0zz,/~~b)+LG/1D/1 2!&.,v2FG 1s   B,r   r\   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   r0      rb      r   r   rG   r   ffffff?Fcheck_dtype)r   linspaceMyValuer	   _vr   )r#   r   r}   r~   r%   rJ   rK   rL   s           r*   test_duck_typed_values2TestRegularGridInterpolator.test_duck_typed_values.  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   r0   r   rb   r   r   y      ?       @)r   randomseedr   randr	   rh   rV   )r#   r}   r~   r%   s       r*   test_invalid_fill_value3TestRegularGridInterpolator.test_invalid_fill_value<  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>f4dtyper   r   )r   onesshapearanger	   )r#   r%   nr$   s       r*   test_fillvalue_type/TestRegularGridInterpolator.test_fillvalue_typeI  sI    U3(.51"))A,5/2> 6s    A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-   $ Nr{   r|   s     r*   f;TestRegularGridInterpolator.test_length_one_axis.<locals>.fU  s	    5Lr-   rb   r   rx   Try   sparser\   Fe   r   r   r   r   )r8         r   re   gffffff?333333@)333333@333333@r   r   r   )r   check_shapecheck_0drf   333333?g      '@g?g      )@rd   r7   gffffff?r   g?gffffff@r:   r   )r   r   r   r	   r   rg   r    r   )r#   r   r}   r~   datarJ   s         r*   test_length_one_axis0TestRegularGridInterpolator.test_length_one_axisQ  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   r0   r   r   rb   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)N)rb   r0   rw   r   rb   Fr     lJ r   sizer   r   ignoreinvalid)rw   rb   )
r	   r   isnanr   r   default_rngerrstateallr   r   )	r#   r   r   rngr}   iresr~   r  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   rb   r0   )rb   rw   r   c                     U S-  US-  -   $ Nr0   r{   r|   s     r*   r   4TestRegularGridInterpolator.test_nan_x_2d.<locals>.f  s    a4!Q$;r-   rx   Tr   Fr   r   r  r  r7   rb   r8   r   re   r   r  r   r  r      r   r   )r   rg   r   r	   r   r   r   r  r   r  r  r!  r   )r#   r   r}   r~   r   r   r   r  rJ   r$  r"  i1i2r#  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funcr0   c                 $    SU S-  -  SUS-  -  -   $ Nr0   rw   r{   r|   s     r*   r   $TestRegularGridInterpolator.<lambda>  s    Q!Va!q&j0r-   rw   c                 *    SU S-  -  SUS-  -  -   U-
  $ r4  r{   )r}   r~   r  s      r*   r   r5    s    AQJQ!V3a7r-   r   c                 0    SU S-  -  SUS-  -  -   U-
  U-   $ r4  r{   r}   r~   r  as       r*   r   r5    s#    q16zAQJ6:Q>r-   r   c                 4    SU S-  -  SUS-  -  -   U-
  X4-  -   $ r4  r{   )r}   r~   r  r9  bs        r*   r   r5    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   >   rO   rP   z-too slow; OOM (quintic); or nearly so (cubic)*   rb   r   r0   r     rx   Tr   rG   r   )rU   ro   r   r   r  uniformranger   r   r	   r   )r#   r   r1  r2  r"  
sample_lowsample_hightest_points_ascending_pointsascending_valuesascending_interpascending_resultxidescending_pointsdescending_valuesdescending_interpdescending_results                     r*   test_descending_points_nd5TestRegularGridInterpolator.test_descending_points_nd  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-  -  -   $ r4  r{   r|   s     r*   val_func_2dJTestRegularGridInterpolator.test_invalid_points_order.<locals>.val_func_2d  s    qAv:AF
**r-   r   r8   r         @      @r   r8   r:   rU  rV  rx   Tr   (must be strictly ascending or descendingrS   )r   rg   r   rU   r   rV   r	   )r#   rR  r}   r~   r$   r%   rT   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   r  )r#   r   rJ   s      r*   test_fill_value+TestRegularGridInterpolator.test_fill_value  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 NrP   Way too slow.r   r   r   r7   r8   r9   r0   )r   r1   r2         .@r         9@r   )r   r   r   r   r,  )r   rw   r   Fr+  )r   rw   r,  r,  .rb   r   r   rf   err_msg)rU   ro   r   r   r  r	   r   r@  appendrg   	transposer   )r#   r   r$   r"  r%   rI   rJ   vvsjrL   s              r*   test_nonscalar_values1TestRegularGridInterpolator.test_nonscalar_values  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>   rO   rP   r`  ra  r6   )r   r1   r2   rb  r   rc       A@      B@)	r   r1   r2   rb  r   rc  rp  rq  /   r   rw   r0   r   r   r,  	   r   Fr+  rb   r   .r   axisr   rd  )rU   ro   tuplereversedr   r   r  r	   r   emptyr@  itemexpand_dimsr   )r#   r   rm  r$   r   r"  trailing_pointsr%   rI   rJ   rh  ri  r#  rj  rL   s                  r*   test_nonscalar_values_23TestRegularGridInterpolator.test_nonscalar_values_28  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 )Nr\   ra  r6   r   )rw   r   r   r   r0   Fr+  rb   ru  r   .r   rv  r   rd  )
r   r   r  r	   r   rz  r@  r{  r|  r   )r#   r   r$   r"  r}  r%   rI   rJ   rh  ri  r#  rj  rL   s                r*   test_nonscalar_values_linear_2D;TestRegularGridInterpolator.test_nonscalar_values_linear_2Dc  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-   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-  -  -   $ r4  r{   r|   s     r*   r   :TestRegularGridInterpolator.test_float32_values.<locals>.f  s    q!t8a!Q$h&&r-   rb   r   r   r      rx   Tr   r   g@ffffff
@g@r   g Y`@g{,c@gHz>F)rf   r   r   )r   r   r   astyper	   rg   r   )r#   r   r  r   r}   r~   r   r   r  rJ   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   rw   r   rx   Tr   c                     U $ r   r{   r}   s    r*   r   =TestRegularGridInterpolator.test_bad_solver.<locals>.<lambda>  s    1r-   )solverr]   c                     U $ r   r{   r  s    r*   r   r        r-   )r   r  c                     U $ r   r{   r  s    r*   r   r    r  r-   woof)r   r  r  r=  )r   solver_args)r   r   r   rh   rV   r	   	TypeError)r#   r}   r~   r   r   r  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 )
NrA   rD   rF   )r   rB   rE   r   r]   rG   r   c                 ^   > UR                   nTU S-     nU" TUS9  UR                   UL d   eg )Nr0   rG   )_spline)tidrJ   spliner   methodsrI   s       r*   	worker_fn?TestRegularGridInterpolator.test_concurrency.<locals>.worker_fn  s6    ^^FS1W%F6&)>>V+++r-   r   )r+   r   rg   r	   r   )r#   r$   r%   rJ   r  r  rI   s        @@r*   test_concurrency,TestRegularGridInterpolator.test_concurrency  s]    ,,.33335 6 )	J i(	, 	 I6r-   r{   )8__name__
__module____qualname____firstlineno__r+   r3   r;   r>   parametrize_rgi_interp_methodsrM   rU   markparametrizerW   r   r    r_   ri   rt   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r  r%  r/  	fail_slowrN  rY  r\  rk  r~  r  float32float64	complex64
complex128r  r  thread_unsafer  __static_attributes__r{   r-   r*   r   r      s   				 $  $   [[X'DE* F* [[ 

)*)+ rzz*?@A
	
  =( $  $  
K:: [[ZZ,-v6ZZ,-s3ZZ,-s3ZZ,-v6ZZ,-v6	
	:	::,$2	K	K:
H
H [[X	8'<=3 >37?*$X [[\D"&&"%%+@A[[X)'<=> > B>4 [[X	8'<=0 >0< [[X	8'<="C >"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 [[7 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 r)  )ndimr   r   r   prodr   r   )r#   r   s     r*   __init__MyValue.__init__  s1    	
))BGGEN+33E:r-   c                      U R                   U   $ r   )r   )r#   idxs     r*   __getitem__MyValue.__getitem__  s    wws|r-   c                     g r   r{   )r#   s    r*   __array_interface__MyValue.__array_interface__  s    r-   Nc                     [        S5      e)NzNo array representation)RuntimeError)r#   r   copys      r*   	__array__MyValue.__array__  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\R$                  R0                  S 5       r\R$                  R0                  S 5       r\R$                  R7                  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$                  R7                  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   r8   r:   rU  rV  g      @)rb   r0   rb   r0   rb   rb   )rb   r0   rw   r0   rb   rb   )rb   r0   r0   r0   rb   rb   )r   rg   )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rb   ffffff@r   r   r  333333?rw   rb   r  r  rU  r1   r   rw   	splinef2drG   r   rb   )r  r   r   rg   r  r   r
   ev)r#   r}   r~   r  lutrI  s         r*   test_spline_2dTestInterpN.test_spline_2d  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  rG   )re  )r  r   rg   r  r
   rH   r   )r#   r   r}   r~   r  rI  rK   rL   s           r*   rM   TestInterpN.test_list_input  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 )NrW  rb   r0   rb   r0   rb   rb   r0   rw   r0   rb   rb   r0   r0   r0   rb   rb   r  r   r   r  r  rw   rb   r  r  g      r1   r   rw   r  FR?@r   r   rb   r0   r   )	r   rg   r   r  r
   r  r   rh   rV   )r#   r}   r~   r  r  rI  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$ 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~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 )NrY   r\   rG   r  r	   r   r    r
   r   r#   r$   r%   	interp_rgrI   r   s         r*   test_linear_4dTestInterpN.test_linear_4d%  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rB   r   g333333$@rZ   r  r\   Fr   r  r   r    r
   r   r#   r$   r%   rI   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   rG   rY   r  r  s         r*   test_nearest_4dTestInterpN.test_nearest_4d6  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 )NrY   F)r   )r  r   r    r
   r   r#   r$   r%   rI   rK   rL   s         r*   
test_xi_1dTestInterpN.test_xi_1dG  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   r0   rw   r   r   Fr+  r0   rw   r   )	r  r   r   r   r   r
   r   r   r   r  s         r*   
test_xi_ndTestInterpN.test_xi_ndO  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   rb   r0   rw   Fr+  r  )r  r   r   r
   r   r   c_r  ravelr   r   )r#   r   r}   r~   r%   r$   rI  yirI   rK   xxyyrL   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_  )rU   ro   r   r   r  r
   r   r@  rg   rg  r   )
r#   r   r$   r"  r%   rI   rh  rj  ri  rL   s
             r*   rk  !TestInterpN.test_nonscalar_valuesr  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>   rO   rP   r`  ro  r   rs  r   r   r,  rt  r   Fr+  rb   r   ru  .r   rd  )rU   ro   r   r   r  r
   r   r@  r   r    r  )r#   r   r$   r"  r}  r%   rI   rh  rj  r#  ri  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   rw   r   r   r   r   r  rG   )r  r   r   r   r   rh   rV   r
   )r#   r$   r%   rI   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 )NrQ   rl   rm   r  r  rG   rn   )
rU   ro   r  r   rg   r  r
   rp   rq   r   )r#   r   r}   r~   r%   r$   rI   rK   v2rv2irL   s              r*   rt   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)Nrm   r  r  rp   rS   rQ   rG   )r  r   rg   r  rU   r   rV   r
   r#   r}   r~   r%   r$   rI   s         r*   test_complex_pchipTestInterpN.test_complex_pchip  sr     ++-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[	        [
        5         [        XCUSS9  S S S 5        g ! , (       d  f       g = f)Nrm   r  r  r  rG   )r  r   rg   r  r   r   r
   r  s         r*   test_complex_spline2fd"TestInterpN.test_complex_spline2fd  sl     ++-f"V)#::< ==>Q 	.)FF;? *))s   A))
A7r   r\   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   r0   r   rb   r   r   r   r   rG   Fr   )r   r   r   r
   r   r   )r#   r   r}   r~   r%   rK   rL   s          r*   r   "TestInterpN.test_duck_typed_values  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   r0   r   rb   r   rw   rG   rP   g-C6
?g>r   N)r   r   r   r   r   r
   r    r   )r#   r   r}   r~   r%   rI   rK   rL   s           r*   test_matrix_inputTestInterpN.test_matrix_input  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)rB   rb   r   rb   g@g	@gffffff@)r0   rw   r   )gQ?gffffff@gffffff @rd   re   r   r7   gffffffFr   )r   rg   r
   r   )r#   r%   rI  r$  r   s        r*   r   TestInterpN.test_length_one_axis  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-
  $ r4  r{   r8  s       r*   value_func_4d9TestInterpN.test_descending_points.<locals>.value_func_4d  s'    qAv:AF
*Q.22r-   )r   rb   r0   rw   )r   r   r   r   )r   rB   rE   r   rx   Tr   rB   r   r   r   r   r   )r   rg   r   rg  r   r
   r   )r#   r!  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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)
NrT  rW  r  r  r  r  r  rX  rS   )r   rg   r  rU   r   rV   r
   )r#   r}   r~   r  rI  rT   s         r*   rY  %TestInterpN.test_invalid_points_order3  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   rb   r   rb   )rb   rb   rw   zaThe requested sample points xi have dimension 3, but this RegularGridInterpolator has dimension 1rS   )r   r   rh   rV   r
   )r#   r$   r%   rI  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   rg   flags	writeabler
   r	   )r#   r}   r~   r  r$   r%   pointds           r*   test_readonly_gridTestInterpN.test_readonly_gridI  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   r:  r;  Fr<  )r#   r}   r~   r$   r%   r?  r@  s          r*   test_2d_readonly_grid!TestInterpN.test_2d_readonly_gridX  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   r8  r9  )r   r   r
  
empty_liker  r  r=  c_contiguousr   rg   r
   r	   )r#   r}   r~   r  r$   r%   r?  s          r*   test_non_c_contiguous_grid&TestInterpN.test_non_c_contiguous_gridg  s    KK1a IIq"--*+,..335ad;77''''KK1a KK1a #+,&/6r-   r   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   r   r   rD  r:  r;  )r   r   r   rg   r
   r	   )r#   r   r}   r~   r$   r%   r?  s          r*   test_endiannessTestInterpN.test_endiannesst  sn     KK1au-KK1au-u-$U3&/6r-   r{   N)(r  r  r  r  r  r  r  rM   r  r  r  r  r  r  r  r  r  rU   r  r  rk  r~  r  rt   r  r  r  r  r   r   r  r  r/  rY  r5  rA  rE  rJ  rM  r  r{   r-   r*   r  r    s   > $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   rU   numpyr   numpy.testingr   scipy._lib._array_apir   r   r   scipy.conftestr   r   rh   scipy.interpolater	   r
   r   r   r   scipy.sparse._sputilsr   scipy._lib._utilr   scipy._lib._testutilsr   r  r  _ALL_METHODSr  r   r   r  r{   r-   r*   <module>rX     s       &  / *L L ) + 9 "(!8!8%22" r
7 r
7j6 6(Z7 Z7r-   