
    Ug<                        d dl Z d dlZd dlZd dlmZmZmZmZm	Z	 d dlm
Z d dlmZmZmZmZmZ d dlmZ d dlmZ ej                            dej                  Z G d d	          Z G d
 d          Z G d d          ZdS )    N)assert_allcloseassert_equalassert_warnsassert_array_almost_equalassert_array_equal)raises)RegularGridInterpolatorinterpnRectBivariateSplineNearestNDInterpolatorLinearNDInterpolator)matrix)ComplexWarningmethodc                      e Zd Zd Zd Zd Zd Zed             Ze	j
                            dg d          d             Ze	j
                            d	e ej        g d
g dg dg          fe ej        g d          fg          d             Zd Zed             Zd Zd Zd Ze	j
                            d ej        g d          df ej        g d          df ej        g d          df ej        g d          df ej        g d          dfg          d             Zd Zd  Zd! Zd" Zd# Zd$ Zd% Zd& Ze	j
                            dd'd(g          d)             Zd* Zd+ Z d, Z!e	j
                            d-d.ej"        ej#        g          e	j
                            dd(d'g          d/                         Z$e	j
                            dd'd(g          d0             Z%e	j
                            dd'd(g          d1             Z&e	j
        '                    d2          ee	j
                            d3d4d5 fd6d7 fd8d9 fd2d: fg          d;                                     Z(d< Z)ed=             Z*e	j
        '                    d4          ed>                         Z+ee	j
                            d?d@dAg          dB                         Z,dC Z-e	j
                            dDej.        ej/        ej0        ej1        g          e	j
                            dEej.        ej/        g          dF                         Z2dG Z3d.S )HTestRegularGridInterpolatorc                    dgdz  }t          j        g d          }|d d t           j        t           j        t           j        f         }|t           j        d d t           j        t           j        f         }|t           j        t           j        d d t           j        f         }|t           j        t           j        t           j        d d f         }||dz  z   |dz  z   |dz  z   }||fS )N              ?      ?   
   d     npasarraynewaxisselfpointsvaluesvalues0values1values2values3s          _/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/scipy/interpolate/tests/test_rgi.py_get_sample_4dz*TestRegularGridInterpolator._get_sample_4d   s    !#LLL))BJ
BJ>?QQQ
BJ>?RZBJ>?RZQQQ>?GbL(7S=87T>Iv~    c                    dgdz  dgdz  z   }t          j        g d          }|d d t           j        t           j        t           j        f         }|t           j        d d t           j        t           j        f         }|t           j        t           j        d d t           j        f         }|t           j        t           j        t           j        d d f         }||dz  z   |dz  z   |dz  z   }||fS Nr      )r         @      $@r   r   r   r   r    s          r(   _get_sample_4d_2z,TestRegularGridInterpolator._get_sample_4d_2"   s    !#}o&99LLL))BJ
BJ>?QQQ
BJ>?RZBJ>?RZQQQ>?GbL(7S=87T>Iv~r*   c                    dgdz  }t          j        g d          }|d d t           j        t           j        t           j        f         }|t           j        d d t           j        t           j        f         }|t           j        t           j        d d t           j        f         }|t           j        t           j        t           j        d d f         }||dz  z   |dz  z   |dz  z   }||fS )Nr   r   r         ?       @      @      @r   r   r   r   r   r    s          r(   _get_sample_4d_3z,TestRegularGridInterpolator._get_sample_4d_3-   s    56:???@@BJ
BJ>?QQQ
BJ>?RZBJ>?RZQQQ>?GbL(7S=87T>Iv~r*   c                    dgdz  }t          j        ddg          }|d d t           j        t           j        t           j        f         }|t           j        d d t           j        t           j        f         }|t           j        t           j        d d t           j        f         }|t           j        t           j        t           j        d d f         }||dz  z   |dz  z   |dz  z   }||fS )N)r   r   r   r   r   r   r   r   r   r    s          r(   _get_sample_4d_4z,TestRegularGridInterpolator._get_sample_4d_48   s    !S#J''BJ
BJ>?QQQ
BJ>?RZBJ>?RZQQQ>?GbL(7S=87T>Iv~r*   c                 J   |                                  \  }}t          j        g dg dg dg          }t          ||                                |          } ||                                          }t          |||          } ||          }t          ||           d S )N皙?r<   r   ?皙?r<   g?g?r   r   r   r   r   )r7   r   r   r	   tolistr   )r!   r   r"   r#   sampleinterpv1v2s           r(   test_list_inputz+TestRegularGridInterpolator.test_list_inputC   s    ..00///1D1D1D///1 2 2 ))/068 8 8 VFMMOO$$()/068 8 8 VF^^Br*   r   )cubicquinticpchipc                    |                                  \  }}d}t          j        t          |          5  t	          |||           d d d            n# 1 swxY w Y   t	          ||          }t          j        g dg dg dg          }t          j        t          |          5   |||           d d d            d S # 1 swxY w Y   d S )Nzpoints in dimensionmatchrA   r;   r>   r@   )r9   pytestr   
ValueErrorr	   r   r   )r!   r   r"   r#   rM   rD   rC   s          r(   test_spline_dim_errorz1TestRegularGridInterpolator.test_spline_dim_errorT   s~   ..00% ]:U333 	C 	C#FF6BBBB	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C )88///1D1D1D///1 2 2]:U333 	* 	*F6&))))	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*s#   AAA'CC	Czpoints_values, sampler;   r>   r@   r<   r<   r/         "@c                      ||           \  }}t          ||d          } ||          }t          ||d          } ||          }t          ||           d S )NlinearrA   slinear)r	   r   )r!   points_valuesrC   r"   r#   rD   rE   rF   s           r(   test_linear_and_slinear_closez9TestRegularGridInterpolator.test_linear_and_slinear_closed   so     't,,(IIIVF^^(	JJJVF^^Br*   c                    |                                  \  }}t          j        g dg dg dg          }t          ||d          }t	          t
                    5   ||d           d d d            n# 1 swxY w Y   t           ||d          g d	d
           t           ||d          g dd
           t           ||d          g dd           d S )Nr;   r>   r@   rU   rA      )nu)rY   r   r   r   )rY   rY   rY   V瞯<atol)r   rY   r   r   )r   r   r   )r   rY   rY   r   )r   r   r   g-=)r)   r   arrayr	   assert_raisesrO   r   )r!   r"   r#   rC   rD   s        r(   test_derivativesz,TestRegularGridInterpolator.test_derivativesz   sw   ,,..3333333335 6 6 )	JJJ:&& 	! 	!F6a    	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	v,777!			/ 	/ 	/ 	/v,777$5	2 	2 	2 	2 	v,777!			/ 	/ 	/ 	/ 	/ 	/s   A55A9<A9c                    |dk    rt          j        d           |                                 \  }}|d|z  z
  }t          j        g dg dg dg          }t          |||          }t          ||j        |          }t          ||j        |          } ||          } ||          d ||          z  z   }	t          ||	           d S )	NrJ   *pchip does not make sense for complex data               @r;   r>   r@   rA                 ?)	rN   skipr7   r   r   r	   realimagr   )
r!   r   r"   r#   rC   rD   rinterpiinterprE   rF   s
             r(   test_complexz(TestRegularGridInterpolator.test_complex   s    WKDEEE..00"V)#///1D1D1D///1 2 2 )GGG)&&+fMMM)&&+fMMMVF^^WV__r''&//11Br*   c                    g dg d}}t          j        ||d          \  }} d ||          }t          ||f|d          }t          ||f|d          } |dd	g          } |dd	g          }	t          j        ||	d
d          rJ d S )N)rY   r-      r   ij)indexingc                     | dz  |dz  z  S )Nr    xys     r(   <lambda>zATestRegularGridInterpolator.test_cubic_vs_pchip.<locals>.<lambda>   s    q!tad{ r*   rH   rA   rJ   r3   r-   +=r   r]   rtol)r   meshgridr	   allclose)
r!   rr   rs   xgygr#   rH   rJ   
vals_cubic
vals_pchips
             r(   test_cubic_vs_pchipz/TestRegularGridInterpolator.test_cubic_vs_pchip   s    ||\\\1QD111B***B33'AwGGG'AwGGGUC8__
UC8__
;z:EJJJJJJJJr*   c                     |                                  \  }}t          ||          }t          j        g d          }d}t	           ||          |           d S )NrQ   H@r0   r	   r   r   r   r!   r"   r#   rD   rC   wanteds         r(   test_linear_xi1dz,TestRegularGridInterpolator.test_linear_xi1d   s_    ..00(88///00!&&..&99999r*   c                     |                                  \  }}t          ||          }t          j        g dg dg dg          }t          j        g d          }t	           ||          |           d S )Nr;   r>   r@   r   gq@g     \@r)   r	   r   r   r   r   s         r(   test_linear_xi3dz,TestRegularGridInterpolator.test_linear_xi3d   s    ,,..(88///1D1D1D///1 2 222233!&&..&99999r*   zsample, wanted)r<   r<   r=   r=   g     0@)r<   r<   r<   r<   r   r   r   r   r   r   r   r   r        \@)r<   皙?g333333?r=   g     |@c                     |                                  \  }}t          ||d          }t           ||          |           d S )NnearestrA   )r)   r	   r   )r!   rC   r   r"   r#   rD   s         r(   test_nearestz(TestRegularGridInterpolator.test_nearest   sK     ,,..(	JJJ!&&..&99999r*   c                     |                                  \  }}t          ||          }t          j        g dg dg          }t          j        ddg          }t	           ||          |           d S )Nr   r   r   r   r   r   s         r(   test_linear_edgesz-TestRegularGridInterpolator.test_linear_edges   sy    ,,..(88---/?/?/?@AARK((!&&..&99999r*   c                    ddg}t          j        g d          }|d d t           j        f         }|t           j        d d f         }||dz  z   }t          t          t
          ||           ddg}t          t          t
          ||           ddg}t          t          t
          ||           g d}t          t          t
          ||           ddg}t          t          t
          ||d           d S )	Nr   )r   r   r   r   )r   )r   r   g      ?r   )r   r   r   undefmethodrA   )r   r   r   r_   rO   r	   )r!   r"   r#   r$   r%   s        r(   test_valid_createz-TestRegularGridInterpolator.test_valid_create   s    -LLL))BJ'QQQ'GbL(j"966JJJ"L1j"966JJJ#\2j"966JJJ;;;j"966JJJ-j"966*	, 	, 	, 	, 	, 	,r*   c                 v   |                                  \  }}t          ||          }t          j        g dg dg          }t	          t
          ||d           t          j        g dg dg          }t	          t
          ||           t          j        g dg dg          }t	          t
          ||           d S )Nr   r   r   )r   r   r   )r   r   r   )r   r   r   皙?)r)   r	   r   r   r_   rO   )r!   r"   r#   rD   rC   s        r(   test_valid_callz+TestRegularGridInterpolator.test_valid_call   s    ,,..(88---/?/?/?@AAj&&-@@@\\\<<<899j&&111---/@/@/@ABBj&&11111r*   c                 ^   |                                  \  }}t          ||dd           }t          j        g dg dg dg dg          }t          j        g d          }t	           ||d	          |           t          j        g d
          }t	           ||d	          |           d S )NFbounds_error
fill_value皙r   r   r   r   r   r   r       @皙ir   r   r   r   )r   r         &@r   r   rA   )gfffff[gfffff@g     grT   r   r   s         r(   test_out_of_bounds_extrapz5TestRegularGridInterpolator.test_out_of_bounds_extrap   s    ,,..(e48: : :1113G3G3G1113I3I3IK L L11122!&&	"B"B"BFKKK>>>??!&&"A"A"A6JJJJJr*   c                 ^   |                                  \  }}t          ||dd           }t          j        g dg dg dg dg          }t          j        g d          }t	           ||d	          |           t          j        g d
          }t	           ||d	          |           d S )NFr   r   r   r   r   )r   r   r   r   r   rA   )g333333(g33333`@g     gyXrT   r   r   s         r(   test_out_of_bounds_extrap2z6TestRegularGridInterpolator.test_out_of_bounds_extrap2   s    ..00(e48: : :1113G3G3G1113I3I3IK L L///00!&&	"B"B"BFKKK999::!&&"A"A"A6JJJJJr*   c                    |                                  \  }}t          ||dt          j                  }t          j        g dg dg dg          }t          j        t          j        t          j        t          j        g          }t           ||d          |           t           ||d          |           t          j        g d	g d
g dg          }t          j        g d          }t           ||          |           d S )NFr   r   r   r   r   rA   rT   r;   r>   r@   r   )r)   r	   r   nanr   r   r   s         r(   test_out_of_bounds_fillz3TestRegularGridInterpolator.test_out_of_bounds_fill  s&   ,,..(e46F< < <1113G3G3G3335 6 6RVRVRV455!&&	"B"B"BFKKK!&&"A"A"A6JJJ///1D1D1D///1 2 222233!&&..&99999r*   c                 |   |                                  \  }}t          ||d          }t          j        | }d |D             }t	          j        |          }|                    d          }t          ||          }t	          j        g dg dg dg          }t           ||           ||                     d S )Nr   rA   c                     g | ]}|S rp   rp   .0ps     r(   
<listcomp>zJTestRegularGridInterpolator.test_nearest_compare_qhull.<locals>.<listcomp>      000a000r*   r;   r>   r@   )	r)   r	   	itertoolsproductr   r   reshaper   r   r!   r"   r#   rD   points_qhullvalues_qhullinterp_qhullrC   s           r(   test_nearest_compare_qhullz6TestRegularGridInterpolator.test_nearest_compare_qhull  s    ,,..(	JJJ (&100<000z,//~~b)),\<HH///1D1D1D///1 2 2!&&..,,v2F2FGGGGGr*   c                 x   |                                  \  }}t          ||          }t          j        | }d |D             }t	          j        |          }|                    d          }t          ||          }t	          j        g dg dg dg          }t           ||           ||                     d S )Nc                     g | ]}|S rp   rp   r   s     r(   r   zITestRegularGridInterpolator.test_linear_compare_qhull.<locals>.<listcomp>   r   r*   r   r;   r>   r@   )	r)   r	   r   r   r   r   r   r   r   r   s           r(   test_linear_compare_qhullz5TestRegularGridInterpolator.test_linear_compare_qhull  s    ,,..(88 (&100<000z,//~~b))+L,GG///1D1D1D///1 2 2!&&..,,v2F2FGGGGGr*   r   rT   c                 *   t          j        ddd          }t          j        ddd          }t          d          }t          ||f||          } |dd	g          }t          ||f|j        |          } |dd	g          }t          ||           d S )
Nr   r-      rY      r   r   rA   r   ffffff?)r   linspaceMyValuer	   _vr   )r!   r   rr   rs   r#   rD   rE   rF   s           r(   test_duck_typed_valuesz2TestRegularGridInterpolator.test_duck_typed_values(  s    K1a  K1a  (!QGGGVS#J(!Q6JJJVS#JBr*   c                 D   t           j                            d           t          j        ddd          }t          j        ddd          }t           j                            dd          }t          ||f|d           t          t          t
          ||f|d           d S )	N  r   r-   r   rY   r   r   y      ?       @)r   randomseedr   randr	   r_   rO   )r!   rr   rs   r#   s       r(   test_invalid_fill_valuez3TestRegularGridInterpolator.test_invalid_fill_value6  s    
	tK1a  K1a  1%% 	 A1==== 	j"9!ff	7 	7 	7 	7 	7 	7r*   c                     t          j        dd          }d |j        D             }t          ||           t          ||d           d S )Nr         z>f4dtypec                 6    g | ]}t          j        |          S rp   )r   arange)r   ns     r(   r   zCTestRegularGridInterpolator.test_fillvalue_type.<locals>.<listcomp>F  s     5551")A,,555r*   r   r   )r   onesshaper	   )r!   r#   r"   s      r(   test_fillvalue_typez/TestRegularGridInterpolator.test_fillvalue_typeC  sV    U33355555///2>>>>>>r*   c           
         d }t          j        ddd          }t          j        ddd          } |t          j        ||dd           }t          ||f|ddd	
          }t	           |t          j        ddgddgddgg                    g dd           t	           |t          j        ddgddgddgg                    g dd           t	           |t          j        ddg                    |j        d           d |_        t	           |ddgddgg          ddgd           t	           |ddgddgg          ddgd           t          ||f|ddd 
          }t	           |ddgddgg          dd gd           d S )!Nc                     | |z   S Nrp   rq   s     r(   fz;TestRegularGridInterpolator.test_length_one_axis.<locals>.fO  s    q5Lr*   rY   r   rm   Trn   sparserT   Fe   r   r   r   r   )r-         ru   r\   gffffff?333333@)333333@333333@r   r   r   333333?g      '@g?g      )@r[   r3   gffffff?r   g?gffffff@rl   r   )r   r   rx   r	   r   r^   r   )r!   r   rr   rs   datarD   s         r(   test_length_one_axisz0TestRegularGridInterpolator.test_length_one_axisK  s:   	 	 	K1a  K2r""q"+aT$???@(!Qh6;M M M 	rx!Q!Q!R(ABBCC"

"	$ 	$ 	$ 	$
 	rx!SAs8aW(EFFGG&"	$ 	$ 	$ 	$
 	rxc
3344)"	$ 	$ 	$ 	$
 !C1d)455d%	1 	1 	1 	1 	c
S$K899d%	1 	1 	1 	1 )!Qi6;N N Nc
RI677A"	$ 	$ 	$ 	$ 	$ 	$r*   r   Nc                    |d|d}t          j        ddt           j        z  d          }t          j        |          }t	          |f|d d          fi |}t	          |dgf|d d d f         fi |}t          j        ddt           j        z  dz   d          } ||          }	t          j        d          }
 |t          j        ||
g          j                  }t          ||	           t          j	        d          }
 |t          j        ||
g          j                  }|t          ||	           d S t          ||           d S )	NFr   r   r   r   r-   r   r   rY   r   )
r   r   pisinr	   zerosvstackTr   r   )r!   r   r   optionsrr   zfafbx1azay1bzbs               r(   test_length_one_axis2z1TestRegularGridInterpolator.test_length_one_axis2v  sT    ",U#% % K1RU7B''F1II$aT1QQQ4;;7;;$a!XqDzEEWEEk"agai--RWW hsmmR	3*%%'((B gcllR	3*%%'((B#####B
+++++r*   c                 Z   t          g dfg ddd|          }t          j         |t          j        g                    sJ t          j                            d          }|                    d          d	z  }|                    d          d
k    }t          j        ||<   t          j        d          5   ||          }d d d            n# 1 swxY w Y   t          ||         t          j                   t          ||           |||                               g d}dg}t          j        d          }t          ||f|dd|          }t          j         |t          j        dg                    sJ t          j         |dt          j        g                    sJ d S )N)rY   r-   rl   r   rY   Fr      lJ r   sizer   r   ignoreinvalid)rl   rY   )	r	   r   isnanr   r   default_rngerrstater   r   )	r!   r   r   rngrr   iresrs   r   s	            r(   test_nan_x_1dz)TestRegularGridInterpolator.test_nan_x_1d  s    $YYYL,,,116vG G Gx26($$$$$ i##J//JJCJ  "JJCJ  3&v![*** 	 	
 !A$$C	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	SVRV$$$S!Waa1"hh''' IIEwv#QFDQ16vG G Gx261+'''''x1bf+'''''''s   :CCCc                 ^   t          j        g d          t          j        g d          }}d }t          j        ||dd          \  }} |||          }t          ||f||d          }t          j        d	
          5   |dt           j        gddgg          }	d d d            n# 1 swxY w Y   t          |	d         dd           t          j        |	d                   sJ t           j        	                    d          }
|
                    d          dz  dz
  }|
                    d          dz  }|
                    d          dk    }|
                    d          dk    }||z  }t           j        ||<   t           j        ||<   t          j        ||g          j
        }t          j        d	
          5   ||          }	d d d            n# 1 swxY w Y   t          |	|         t           j                   t          |	|           |||                               d S )N)r   rY   r-   )rY   rl   r   c                     | dz  |dz  z   S Nr-   rp   rq   s     r(   r   z4TestRegularGridInterpolator.test_nan_x_2d.<locals>.f  s    a4!Q$;r*   rm   Tr   Fr   r   r   r   r3   rY   r-   ru   r\   r   r   r   r   r      r   )r   r^   rx   r	   r  r   r   r  r   r  r   r   )r!   r   rr   rs   r   rz   r{   r   rD   r  r  i1i2r  r   s                  r(   test_nan_x_2dz)TestRegularGridInterpolator.test_nan_x_2d  s   x			""BHYYY$7$71	 	 	 QD>>>BqRyy(!Q06UL L L [*** 	2 	2&3-!Q011C	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2A....xA i##J//JJCJ  "1$JJCJ  "ZZSZ!!C'ZZSZ!!C'G""HaV[*** 	 	
 &))C	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	SVRV$$$S!WffQrUmm,,,,,s$   B))B-0B-GG"Gr   )ndimsfuncr-   c                 $    d| dz  z  d|dz  z  z   S Nr-   rl   rp   rq   s     r(   rt   z$TestRegularGridInterpolator.<lambda>  s    Q!Va!q&j0 r*   rl   c                 *    d| dz  z  d|dz  z  z   |z
  S r  rp   )rr   rs   r   s      r(   rt   z$TestRegularGridInterpolator.<lambda>  s     AQJQ!V3a7 r*   r   c                 0    d| dz  z  d|dz  z  z   |z
  |z   S r  rp   rr   rs   r   as       r(   rt   z$TestRegularGridInterpolator.<lambda>  s%    q16zAQJ6:Q> r*   c                 6    d| dz  z  d|dz  z  z   |z
  ||z  z   S r  rp   )rr   rs   r   r  bs        r(   rt   z$TestRegularGridInterpolator.<lambda>  s)    !a1f*q16z"9A"=A"E r*   c                    |dk    r|dv rt          j        d           t          j                            d          }dd|                    d|f          }fd	t          |          D             } |t          j        |d
dd }t          |||          } ||          }	d |D             }
 |t          j        |
d
dd }t          |
||          } ||          }t          |	|           d S )Nr   >   rH   rI   z-too slow; OOM (quintic); or nearly so (cubic)*   rY   r   r-   r   c                 <    g | ]}t          j        d           S )   )r   r   )r   _sample_high
sample_lows     r(   r   zITestRegularGridInterpolator.test_descending_points_nd.<locals>.<listcomp>  s7     3 3 3 ! K
KDD 3 3 3r*   rm   Tr   rA   c                 $    g | ]}|d d d         S )Nr   rp   )r   xis     r(   r   zITestRegularGridInterpolator.test_descending_points_nd.<locals>.<listcomp>  s"    AAA"R"XAAAr*   )
rN   re   r   r   r  uniformrangerx   r	   r   )r!   r   r  r  r  test_pointsascending_pointsascending_valuesascending_interpascending_resultdescending_pointsdescending_valuesdescending_interpdescending_resultr   r!  s                 @@r(   test_descending_points_ndz5TestRegularGridInterpolator.test_descending_points_nd  s    A::&$888KGHHHi##B''
kk*kE
kKK3 3 3 3 3%*5\\3 3 3  4.>6:48": ": ": ; 33C3C:@B B B ,+K88AA0@AAA D"+/@7;59#; #; #; < 44E4E;AC C C .-k::+->?????r*   c                 "   d }t          j        g d          }t          j        g d          }||f} |t          j        |ddd }d}t          j        t
          |          5  t          ||           d d d            d S # 1 swxY w Y   d S )	Nc                 $    d| dz  z  d|dz  z  z   S r  rp   rq   s     r(   val_func_2dzJTestRegularGridInterpolator.test_invalid_points_order.<locals>.val_func_2d   s    qAv:AF
**r*   r   r4   r         @      @r   r4   r6   r4  r5  rm   Tr   (must be strictly ascending or descendingrL   )r   r^   rx   rN   r   rO   r	   )r!   r2  rr   rs   r"   r#   rM   s          r(   test_invalid_points_orderz5TestRegularGridInterpolator.test_invalid_points_order  s    	+ 	+ 	+ H***++H***++Qbk6D157 7 7 8:]:U333 	4 	4#FF333	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4s   &BBBc                     t          t          j        d          gt          j        d          |d          }t          j         |dg                    sJ d S )Nr   Fr  r   )r	   r   r   r   r  )r!   r   rD   s      r(   test_fill_valuez+TestRegularGridInterpolator.test_fill_value  sZ    (")A,,06UL L Lxt%%%%%%%r*   c                 b   |dk    rt          j        d           dgdz  dgdz  z   }t          j                            d          }|                    d          }|                    d          }t          |||d	
          } ||          }t          |j        d|           g }t          d          D ];}	t          ||d|	f         |d	
          }|	                     ||                     <t          j
        |                              ddd          }
t          ||
d|           d S )NrI   Way too slow.r   r   r   r3   r4   r5   r-   r   r.   r/         .@r         9@r   r   r   r   r   r  r   rl   r   Fr  r   rl   r  err_msgr  .rY   r   ru   r]   rE  )rN   re   r   r   r  r	   r   r   r%  appendr^   	transposer   )r!   r   r"   r  r#   rC   rD   vvsjrF   s              r(   test_nonscalar_valuesz1TestRegularGridInterpolator.test_nonscalar_values  s[    YK((( 11A5,9
9  i##D))O,,I&&(6;= = =F6NNQWi8888q 	& 	&A,VVCF^4::?A A AF IIffVnn%%%%Xb\\##Aq!,,2E6::::::r*   flip_pointsFTc           	         |dv rt          j        d           g d}|rd |D             }t          j                            d          }d}|                    ddd	d
g|R           }|                    d          }t          |||d          } ||          }	|	j        dg|R k    sJ t          j        |j        dd                    }
t          |j        d                   D ]]}t          |j        d                   D ]@}t          ||d||f         |d          } ||          	                                |
||f<   A^t          j
        |
d          }t          |	|d|           d S )N>   rH   rI   r<  r=  r2   )r   r.   r/   r?  r   r@       A@      B@)	r   r.   r/   r?  r   r@  rP  rQ  /   c                 F    g | ]}t          t          |                    S rp   )tuplereversedr   s     r(   r   zGTestRegularGridInterpolator.test_nonscalar_values_2.<locals>.<listcomp>A  s&    999QeHQKK((999r*   r   rl   r-   r   r   r  	   r   Fr  rY   r   .r   axisru   rF  )rN   re   r   r   r  r	   r   emptyr%  itemexpand_dimsr   )r!   r   rM  r"   r  trailing_pointsr#   rC   rD   rI  rJ  r  rK  rF   s                 r(   test_nonscalar_values_2z3TestRegularGridInterpolator.test_nonscalar_values_21  s    )))K(((D D D  	:99&999Fi##D)) Q1a:/::;;A(6;= = =F6NN w1/////// Xfl233'((v|B'(( 	1 	1A6<+,, 1 10Q	9J8>>CE E E "6&>>..001a4	1
 ^BQ'''2E6::::::r*   c           	         d}ddg}t           j                            d          }d}|                    ddg|R           }|                    d          }t          |||d	
          } ||          }|j        dg|R k    sJ t          j        |j        dd                    }	t          |j        d                   D ]]}
t          |j        d                   D ]@}t          ||d|
|f         |d	
          } ||                                          |	|
|f<   A^t          j        |	d          }t          ||d|           d S )NrT   r=  r2   r   )rl   r   r   r   r-   Fr  rY   rX  r   .r   rY  ru   rF  )
r   r   r  r	   r   r[  r%  r\  r]  r   )r!   r   r"   r  r^  r#   rC   rD   rI  rJ  r  rK  rF   s                r(   test_nonscalar_values_linear_2Dz;TestRegularGridInterpolator.test_nonscalar_values_linear_2D\  s   059 i##D)) Q4O4455A(6;= = =F6NN w1/////// Xfl233'((v|B'(( 	1 	1A6<+,, 1 10Q	9J8>>CE E E "6&>>..001a4	1
 ^BQ'''2E6::::::r*   r   xi_dtypec                 r   d }t          j        ddd          }t          j        ddd          }t          j        ||dd	          \  }} |||          }|                    |          }t	          ||f|          }	t          j        d
dgddgg|          }
t           |	|
          ddgd           d S )Nc                 $    d| dz  z  d|dz  z  z   S r  rp   rq   s     r(   r   z:TestRegularGridInterpolator.test_float32_values.<locals>.f  s    q!t8a!Q$h&&r*   rY   r   r   r      rm   Tr   r   g@ffffff
@g@r   g Y`@g{,c@gHz>r\   )r   r   rx   astyper	   r^   r   )r!   r   rb  r   rr   rs   rz   r{   r   rD   ptss              r(   test_float32_valuesz/TestRegularGridInterpolator.test_float32_values{  s    	' 	' 	' K1b!!K1b!!QD>>>BqRyy{{5!!(!Q66hc
c
$+35 5 5 	slL%AMMMMMMr*   c                    t          j        ddd          }t          j        ddd          }t          j        ||dd          \  }}||z   }t          t                    5  t          ||f|d            d d d            n# 1 swxY w Y   t          t                    5  t          ||f|d	d
            d d d            n# 1 swxY w Y   t          t                    5  t          ||f|d	d d           d d d            n# 1 swxY w Y   t          t                    5  t          ||f|d	ddi           d d d            d S # 1 swxY w Y   d S )Nr   rl   r   rm   Tr   c                     | S r   rp   rr   s    r(   rt   z=TestRegularGridInterpolator.test_bad_solver.<locals>.<lambda>  s    1 r*   )solverrU   c                     | S r   rp   rl  s    r(   rt   z=TestRegularGridInterpolator.test_bad_solver.<locals>.<lambda>       r*   )r   rm  c                     | S r   rp   rl  s    r(   rt   z=TestRegularGridInterpolator.test_bad_solver.<locals>.<lambda>  ro  r*   woof)r   rm  rq  r  )r   solver_args)r   r   rx   r_   rO   r	   	TypeError)r!   rr   rs   rz   r{   r   s         r(   test_bad_solverz+TestRegularGridInterpolator.test_bad_solver  s   K1a  K1a  QD>>>BBw :&& 	F 	F#QFDEEEE	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 9%% 	 	#AY{{   	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 9%% 	 	#AY{{   	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 9%% 	 	#AYfb\   	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	sH   !BB
B"CC	C	$DDD'EEE)4__name__
__module____qualname__r)   r0   r7   r9   parametrize_rgi_interp_methodsrG   rN   markparametrizerP   r   r   rW   r`   rj   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  	fail_slowr/  r8  r:  rL  r_  ra  float32float64	complex64
complex128ri  rt  rp   r*   r(   r   r      s       	 	 		 	 		 	 		 	 	 $    $#   [X'D'D'DEE* * FE* [ 
)))***)))+  zrz*?*?*?@@A
	
      / / /( $    $#  
K 
K 
K: : :: : : [RZ,,,--v6RZ,,,--s3RZ,,,--s3RZ,,,--v6RZ,,,--v6	
	 	: :	 	:
: : :, , ,$2 2 2	K 	K 	K	K 	K 	K: : :
H 
H 
H
H 
H 
H [X	8'<==    >= 7 7 7? ? ?)$ )$ )$V [\D"&"%+@AA[X)'<==, , >= BA,4 [X	8'<==( ( >=(< [X	8'<=="- "- >="-H [1#[.	
001	
778	
>>?	
EEF	1  @ @  $# @B4 4 4 $& & $#&
 [1#; ; $# ;: $[]UDM::'; '; ;: $#';R; ; ;> [	RZr}=  [Z"*bj)ABBN N CB	 
N.    r*   r   c                   ,    e Zd ZdZd Zd Zd ZddZdS )r   z"
    Minimal indexable object
    c                     d| _         || _        t          j        t          j        |                                        |          | _        d S r  )ndimr   r   r   prodr   r   )r!   r   s     r(   __init__zMyValue.__init__  s;    	
)BGENN++33E::r*   c                     | j         |         S r   )r   )r!   idxs     r(   __getitem__zMyValue.__getitem__  s    ws|r*   c                     d S r   rp   )r!   s    r(   __array_interface__zMyValue.__array_interface__  s    tr*   Nc                      t          d          )NzNo array representation)RuntimeError)r!   r   copys      r(   	__array__zMyValue.__array__  s    4555r*   )NN)ru  rv  rw  __doc__r  r  r  r  rp   r*   r(   r   r     s_         ; ; ;
    6 6 6 6 6 6r*   r   c                      e Zd Zd Zd Zed             Zd Zd Zd Z	d Z
d Zd	 Zd
 Zd Zed             Zej                            d          ed                         Zed             Zd Zed             Zd Zd Zej                            dddg          d             Zed             Zd Zd Zd Zd Zd Z d Z!d Z"ej                            d d!d"g          d#             Z#d$S )%TestInterpNc           	          t          j        g d          }t          j        g d          }t          j        g dg dg dg dg dg dg          }|||fS )N)r   r4   r6   r4  r5  g      @)rY   r-   rY   r-   rY   rY   )rY   r-   rl   r-   rY   rY   )rY   r-   r-   r-   rY   rY   )r   r^   )r!   rr   rs   r   s       r(   _sample_2d_datazTestInterpN._sample_2d_data  s    H...//H...//H""""""""""""""""""	
 	
 !Qwr*   c           	      ,   |                                  \  }}}t          |||          }t          j        g dg dg          j        }t          t          ||f||d          |                    |d d df         |d d df                              d S )NrY   ffffff@r   r   rf  333333?rl   rY   rf  r  r4  r.   r   rl   	splinef2drA   r   rY   )r  r   r   r^   r   r   r
   ev)r!   rr   rs   r   lutr#  s         r(   test_spline_2dzTestInterpN.test_spline_2d  s    &&((1a!!Q**X6666668 9 99: 	!'1a&!R"L"L"L"%&&AAAqD2aaad8"<"<	> 	> 	> 	> 	>r*   c                 |   |                                  \  }}}t          j        g dg dg          j        }t	          ||f|||          }t	          |                                |                                f|                                |                                |          }t          |||           d S )Nr  r  rA   rD  )r  r   r^   r   r
   rB   r   )r!   r   rr   rs   r   r#  rE   rF   s           r(   rG   zTestInterpN.test_list_input  s    &&((1aX6666668 9 99: 	aVQ6222XXZZ$ahhjj"))++f
 
 
 	B//////r*   c           
         t          j        g d          }t          j        g d          }t          j        g dg dg dg dg dg          }t          |||          }t          j        g dg dg          j        }t	          ||f||ddd	
          }|                    |d d df         |d d df                   }d	|dd<   t          ||           t          t          t          ||f||ddd 
           d S )Nr6  rY   r-   rY   r-   rY   rY   r-   rl   r-   rY   rY   r-   r-   r-   rY   rY   r  r   r   rf  r  rl   rY   rf  r  g      r.   r   rl   r  FR?@r   r   rY   r-   r   )	r   r^   r   r   r
   r  r   r_   rO   )r!   rr   rs   r   r  r#  actualexpecteds           r(   test_spline_2d_outofboundsz&TestInterpN.test_spline_2d_outofbounds  sJ   H***++H***++Hooo%oo8 9 9!!Q**X6667779 : ::; 	!QB{&+@ @ @66"QQQT(Bqqq!tH--1!&(333 	j'Aq61b#(T	; 	; 	; 	; 	; 	;r*   c                    dgdz  dgdz  z   }t          j        g d          }|d d t           j        t           j        t           j        f         }|t           j        d d t           j        t           j        f         }|t           j        t           j        d d t           j        f         }|t           j        t           j        t           j        d d f         }||dz  z   |dz  z   |dz  z   }||fS r,   r   r    s          r(   _sample_4d_datazTestInterpN._sample_4d_data  s    !#}o&99LLL))BJ
BJ>?QQQ
BJ>?RZBJ>?RZQQQ>?GbL(7S=87T>Iv~r*   c                     |                                  \  }}t          ||          }t          j        g dg          }t	          |||d          }t           ||          |           d S )NrQ   rT   rA   r  r	   r   r   r
   r   r!   r"   r#   	interp_rgrC   r   s         r(   test_linear_4dzTestInterpN.test_linear_4d	  su    --//+FF;;	000122AAA!))F"3"3V<<<<<r*   c                     |                                  \  }}t          j        g dg          }d}t          |||ddd          }t	          ||           d S )Nr<   r   g333333$@rR   r  rT   Fr   r  r   r   r
   r   r!   r"   r#   rC   r   r  s         r(   test_4d_linear_outofboundsz&TestInterpN.test_4d_linear_outofbounds  so    --//222344&+@ @ @!&&11111r*   c                     |                                  \  }}t          ||d          }t          j        g dg          }t	          |||d          }t           ||          |           d S )Nr   rA   rQ   r  r  s         r(   test_nearest_4dzTestInterpN.test_nearest_4d  sz    --//+FF9MMM	000122	BBB!))F"3"3V<<<<<r*   c                     |                                  \  }}t          j        g dg          }d}t          |||ddd          }t	          ||           d S )Nr  r  r   Fr   r  r  s         r(   test_4d_nearest_outofboundsz'TestInterpN.test_4d_nearest_outofbounds"  so    --//222344	&+@ @ @!&&11111r*   c                     |                                  \  }}t          j        g d          }t          |||d          }t          |||d d d f         d          }t	          ||           d S )NrQ   F)r   )r  r   r   r
   r   r!   r"   r#   rC   rE   rF   s         r(   
test_xi_1dzTestInterpN.test_xi_1d+  s{    --/////00VVV%@@@VVVDF^%HHHBr*   c                    |                                  \  }}t          j                            d           t          j                            ddd          }t          |||dd          }t          |j        d           t          |||                    d	d          dd          }t          ||                    |j                             d S )
Nr   r-   rl   r   r   Fr  r-   rl   r   )
r  r   r   r   r   r
   r   r   r   r   r  s         r(   
test_xi_ndzTestInterpN.test_xi_nd3  s    --//
	t1a((VVVI"') ) )RXv&&&VVV^^B%:%:%E; ; ;BJJrx0011111r*   c                 D   |                                  \  }}}||f}t          j        ddd          }t          j        ddd          }|d d d f         |d d d f         f}t          ||||d          }	t	          |	j        d           t          j        ||          \  }
}t          j        |
j        	                                |j        	                                f         }t          ||||d          }t          |	|                    |	j                             d S )Nr   rY   r-   rl   Fr  r  )r  r   r   r
   r   r   rx   c_r   ravelr   r   )r!   r   rr   rs   r#   r"   r#  yirC   rE   xxyyrF   s                r(   test_xi_broadcastzTestInterpN.test_xi_broadcastB  s    ++--1fQ[Aq!![Aq!!QQQW+r$'{+VVVFOOORXv&&&R$$Brtzz||RTZZ\\12VVV"8 8 8BJJrx0011111r*   r-   c                    dk    rt          j        d           dgdz  dgdz  z   t          j                            d          }|                    d          |                    d          t          d	
          }t          |j        d           fdt          d          D             }t          j	        |          
                    ddd          }t          ||d           d S )NrI   r<  r=  r-   r>  r   rA  rB  Fr  rC  rD  c           	      H    g | ]}t          d |f         d          S .Fr  r
   r   rK  r   r"   rC   r#   s     r(   r   z5TestInterpN.test_nonscalar_values.<locals>.<listcomp>j  sK     = = =./ ffS!VnfV#(* * * = = =r*   r  rY   r   ru   rF  )rN   re   r   r   r  r
   r   r   r%  r^   rH  r   )	r!   r   r  rI  rJ  rF   r"   rC   r#   s	    `    @@@r(   rL  z!TestInterpN.test_nonscalar_valuesV  s/    YK((( 11A5,9
9  i##D))O,,I&&FFF6!&( ( (QWi8888= = = = = = =3888= = =Xb\\##Aq!,,2E6::::::r*   c                    dv rt          j        d           g dt          j                            d          }d}|                    dddd	g|R           |                    d
          t          d          }|j        dg|R k    sJ fdt          j        d                   D             }t          |t          j	        |          j
        d           d S )N>   rH   rI   r<  rO  r   rV  r   r   r  rW  r   Fr  rY   c                 f    g | ],fd t          j        d                   D             -S )c           	      J    g | ]}t          d |f         d           S r  r  )r   r  rK  r   r"   rC   r#   s     r(   r   zBTestInterpN.test_nonscalar_values_2.<locals>.<listcomp>.<listcomp>  sN       01 sAqy 16&%*, , ,  r*   rX  )r%  r   r  s    @r(   r   z7TestInterpN.test_nonscalar_values_2.<locals>.<listcomp>  sp     2 2 2        5:6<;K5L5L   2 2 2r*   r   ru   rF  )rN   re   r   r   r  r
   r   r%  r   r   r   )	r!   r   r  r^  rI  rJ  r"   rC   r#   s	    `    @@@r(   r_  z#TestInterpN.test_nonscalar_values_2p  s/    )))K(((D D D
 i##D)) Q1a:/::;;AFFF6NNN w1///////2 2 2 2 2 2 2 v|B/002 2 2
 	2:b>>+%HHHHHHr*   c                 8   |                                  \  }}t          j                            d           t          j                            ddddd          }t          j                            ddd          }t          t          t          |||d           d S )	Nr   rl   r   r   r   r   r  rA   )r  r   r   r   r   r_   rO   r
   )r!   r"   r#   rC   s       r(    test_non_scalar_values_splinef2dz,TestInterpN.test_non_scalar_values_splinef2d  s    --//
	t1aA..2q))j'666(	* 	* 	* 	* 	* 	*r*   c                 v   |dk    rt          j        d           |                                 \  }}}||f}|d|z  z
  }t          j        g dg dg          j        }t          ||||          }t          ||j        ||          }t          ||j        ||          }	|d|	z  z   }
t          ||
           d S )NrJ   rb   rc   r  r  rA   rd   )
rN   re   r  r   r^   r   r
   rf   rg   r   )r!   r   rr   rs   r#   r"   rC   rE   v2rv2irF   s              r(   rj   zTestInterpN.test_complex  s    WKDEEE++--1fQ"V)#::::::< = ==> 	 VVVF;;;ffk6&AAAffk6&AAA2c6\Br*   c                    |                                  \  }}}||f}|d|z  z
  }t          j        g dg dg          j        }t	          j        d          5  t          |||d           d d d            d S # 1 swxY w Y   d S )Nrc   r  r  complexrL   rJ   rA   )r  r   r^   r   rN   deprecated_callr
   r!   rr   rs   r#   r"   rC   s         r(   test_complex_pchipzTestInterpN.test_complex_pchip  s    ++--1fQ"V)#::::::< = ==> 	#)444 	< 	<FFF7;;;;	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	<s   A::A>A>c                    |                                  \  }}}||f}|d|z  z
  }t          j        g dg dg          j        }t	          t
                    5  t          |||d           d d d            d S # 1 swxY w Y   d S )Nrc   r  r  r  rA   )r  r   r^   r   r   r   r
   r  s         r(   test_complex_spline2fdz"TestInterpN.test_complex_spline2fd  s    ++--1fQ"V)#::::::< = ==> 	.)) 	@ 	@FFF;????	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@s   A99A= A=r   rT   r   c                    t          j        ddd          }t          j        ddd          }t          d          }t          ||f|ddg|	          }t          ||f|j        ddg|	          }t          ||           d S )
Nr   r-   r   rY   r   r   r   r   rA   )r   r   r   r
   r   r   )r!   r   rr   rs   r#   rE   rF   s          r(   r   z"TestInterpN.test_duck_typed_values  s    
 K1a  K1a  aVVc3Z???aVVYc
6BBBBr*   c                    t          j        ddd          }t          j        ddd          }t          t           j                            dd                    }t           j                            ddd          }t          ||f|||          }t          ||ft          j        |          ||          }|dk    rt          ||d	d
           d S t          ||           d S )Nr   r-   r   rY   r   rl   rA   rI   g-C6
?g>rv   )r   r   r   r   r   r
   r   r   )r!   r   rr   rs   r#   rC   rE   rF   s           r(   test_matrix_inputzTestInterpN.test_matrix_input  s    K1a  K1a  	q!,,--1a((aVVVF;;;aVRZ//GGGYBD999999B#####r*   c                 V   t          j        g dg          }t          j        ddgddgddgg          }t          dgg df||          }g d}t          ||d	           t          j        d
dgddgddgg          }t          dgg df||dd           }t          ||d	           d S )N)r<   rY   r   rY   g@g	@gffffff@)r-   rl   r   )gQ?gffffff@gffffff @r[   r\   r   r3   gffffffFr   )r   r^   r
   r   )r!   r#   r#  r  r   s        r(   r   z TestInterpN.test_length_one_axis  s    
 <<<.))X3x!SAs8455sIII&33   	V%0000 XSzC:c{;<<sIII&#(T; ; ; 	V%000000r*   c           	      d   d }t          j        g d          }t          j        g d          }t          j        g d          }t          j        g d          }||||f} |t          j        |ddd }dd	t          j        t          j        d
dd                    t          j        d
d	d          f}t          |||          }	|d d d         }
|d d d         }|d d d         }|d d d         }|
|||f} |t          j        |ddd }t          |||          }t          |	|           d S )Nc                 0    d| dz  z  d|dz  z  z   |z
  |z
  S r  rp   r  s       r(   value_func_4dz9TestInterpN.test_descending_points.<locals>.value_func_4d  s'    qAv:AF
*Q.22r*   )r   rY   r-   rl   )r   r   r   r   )r   r<   r?   r   rm   Tr   r<   r   r   r   r   r   )r   r^   rx   rH  r   r
   r   )r!   r  x1x2x3x4r"   r#   rh  correct_result
x1_descend
x2_descend
x3_descend
x4_descendpoints_shuffledvalues_shuffledtest_results                    r(   test_descending_pointsz"TestInterpN.test_descending_points  sj   	3 	3 	3 Xlll##Xooo&&Xooo&&X&&&''b"b![&4===?Cbk!R&;&;<<{1c1%%' 55"X
"X
"X
"X
%z:zJ'-[/DFFFHoDD>;77777r*   c                 t   t          j        g d          }t          j        g d          }t          j        g dg dg dg dg dg          }t          j        g dg dg          j        }d}t          j        t
          |	          5  t          ||f||           d d d            d S # 1 swxY w Y   d S )
Nr3  r6  r  r  r  r  r  r7  rL   )r   r^   r   rN   r   rO   r
   )r!   rr   rs   r   r#  rM   s         r(   r8  z%TestInterpN.test_invalid_points_order  s'   H***++H***++Hooo%oo8 9 9X6667779 : ::; 	 ;]:U333 	# 	#QFAr"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#s   B--B14B1c                     dg}ddg}t          j        d          }d}t          t          |          5  t	          |||           d d d            d S # 1 swxY w Y   d S )N)r   rY   r   rY   )rY   rY   rl   zaThe requested sample points xi have dimension 3, but this RegularGridInterpolator has dimension 1rL   )r   r   r_   rO   r
   )r!   r"   r#   r#  msgs        r(   test_invalid_xi_dimensionsz&TestInterpN.test_invalid_xi_dimensions  s    QWY9:S111 	( 	(FFB'''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(s   AAAc                    t          j        ddd          }t          j        ddd          }t          j        ddd          }|||f}t          j        d          }t          j        g d          }|D ]}d|j        _        d|j        _        d|j        _        t          |||            t          ||          |           d S )	Nr   r   r   r   r   r   r   r   Gz@(\@gffffff?Fr   r   r   r^   flags	writeabler
   r	   )r!   rr   rs   r   r"   r#   pointds           r(   test_readonly_gridzTestInterpN.test_readonly_grid)  s    K1a  K1a  K1a  Q##+++,, 	& 	&A %AG!& %&&&///66666r*   c                 `   t          j        ddd          }t          j        ddd          }||f}t          j        d          }t          j        ddg          }|D ]}d|j        _        d|j        _        d|j        _        t          |||            t          ||          |           d S )	Nr   r   r   r   r   r   r  r  Fr  )r!   rr   rs   r"   r#   r  r  s          r(   test_2d_readonly_gridz!TestInterpN.test_2d_readonly_grid8  s     K1a  K1a  Q$&& 	& 	&A %AG!& %&&&///66666r*   c                    t          j        ddd          }t          j        |t          j        |          f          j                                        d d df         }|j        j        rJ t          j        ddd          }t          j        ddd          }|||f}t          j        d          }t          j	        g d          }t          |||            t          ||          |           d S )Nr   r   r   r   r   r  r  )r   r   r   
empty_liker   r  r  c_contiguousr   r^   r
   r	   )r!   rr   rs   r   r"   r#   r  s          r(   test_non_c_contiguous_gridz&TestInterpN.test_non_c_contiguous_gridG  s    K1a  Iq"-**+,,.3355aaad;7''''K1a  K1a  Q##+++,,&&&///66666r*   r   z>f8z<f8c                    t          j        ddd|          }t          j        ddd|          }||f}t          j        d|          }t          j        ddg|          }t	          |||            t          ||          |           d S )	Nr   r   r   r   r   r  r  r  )r   r   r   r^   r
   r	   )r!   r   rr   rs   r"   r#   r  s          r(   test_endiannesszTestInterpN.test_endiannessT  s     K1au---K1au---Qu---$U333&&&///66666r*   N)$ru  rv  rw  r  r  rx  rG   r  r  r  r  r  r  r  r  r  rN   ry  r{  rL  r_  r  rj   r  r  rz  r   r  r   r  r8  r  r  r  r  r  rp   r*   r(   r  r    sw         > > > $0 0 $#0; ; ;&  = = =2 2 2= = =2 2 2     2 2 2 $2 2 $#2& [1#; ; $# ;0 $I I $#I@* * * $    $# $	< 	< 	<	@ 	@ 	@ [	9    	   $$ $ $#$ 1 1 1,8 8 84
# 
# 
#( ( (7 7 77 7 77 7 7 [Wuen55	7 	7 65	7 	7 	7r*   r  )r   rN   numpyr   numpy.testingr   r   r   r   r   r   r_   scipy.interpolater	   r
   r   r   r   scipy.sparse._sputilsr   scipy._lib._utilr   ry  rz  _ALL_METHODSrx  r   r   r  rp   r*   r(   <module>r
     s           J J J J J J J J J J J J J J * * * * * *L L L L L L L L L L L L L L ) ( ( ( ( ( + + + + + + "(!8!8%2" " [
 [
 [
 [
 [
 [
 [
 [
|6 6 6 6 6 6 6 6(V7 V7 V7 V7 V7 V7 V7 V7 V7 V7r*   