Ë
    ÏÍ:j/Æ  ã                   ó:  — d dl Z d dlZd dlZd dlmZ d dlmZmZm	Z	m
Z
 d dl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mZ d dlmZ d d	lmZ ej8                  j;                  d
ej<                  «      Z e
e«       G d„ d«      «       Z  G d„ d«      Z! G d„ d«      Z"y)é    N)ÚComplexWarning)Úxp_assert_equalÚxp_assert_closeÚassert_array_almost_equalÚmake_xp_test_case)Úskip_xp_invalid_arg)Úraises)ÚRegularGridInterpolatorÚinterpnÚRectBivariateSplineÚNearestNDInterpolatorÚLinearNDInterpolator)Ú_regridÚ_ndbspline_call_like_bivariate)Úmatrix)Ú_run_concurrent_barrierÚmethodc            
       óø  — e Zd Zd„ Zd„ Zd„ Zd„ Zed„ «       Ze	j                  j                  dg d¢«      d„ «       Ze	j                  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                  j                  dg d¢dfg d¢dfg d¢dfg d¢df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                  j                  dd'd(g«      d)„ «       Zd*„ Zd+„ Z e	j                  j                  d,ejB                  ejD                  g«      e	j                  j                  d-g d.¢«      e	j                  j                  dd(d'g«      d/„ «       «       «       Z#d0„ Z$e	j                  j                  d1d2ejJ                  ejL                  g«      e	j                  j                  dd(d'g«      d3„ «       «       Z'e	j                  j                  dd'd(g«      d4„ «       Z(e	j                  j                  dd'd(g«      d5„ «       Z)e	j                  jU                  d6«      ee	j                  j                  d7d8d9„ fd:d;„ fd<d=„ fd>d?„ fg«      d@„ «       «       «       Z+dA„ Z,edB„ «       Z-e	j                  jU                  d>«      edC„ «       «       Z.ee	j                  j                  dDdEdFg«      dG„ «       «       Z/dH„ Z0e	j                  j                  d,ejB                  ejD                  ejb                  ejd                  g«      e	j                  j                  dIejB                  ejD                  g«      dJ„ «       «       Z3dK„ Z4dL„ Z5y2)MÚTestRegularGridInterpolatorc                 ó  — dgdz  }|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   éè  ©ÚasarrayÚnpÚnewaxis©ÚselfÚxpÚpointsÚvaluesÚvalues0Úvalues1Úvalues2Úvalues3s           úu/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/scipy/interpolate/tests/test_rgi.pyÚ_get_sample_4dz*TestRegularGridInterpolator._get_sample_4d    sÂ   € à� !Ñ#ˆØ—‘šLÓ)ˆØšœBŸJ™J¬¯
©
´B·J±JÐ>Ñ?ˆØœŸ™¢Q¬¯
©
´B·J±JÐ>Ñ?ˆØœŸ™¤R§Z¡Z²´B·J±JÐ>Ñ?ˆØœŸ™¤R§Z¡Z´·±ºQÐ>Ñ?ˆØ˜G b™LÑ(¨7°S©=Ñ8¸7ÀT¹>ÑIˆØ�vˆ~Ðó    c                 ó  — dgdz  dgdz  z   }|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ˆØ—‘šLÓ)ˆØšœBŸJ™J¬¯
©
´B·J±JÐ>Ñ?ˆØœŸ™¢Q¬¯
©
´B·J±JÐ>Ñ?ˆØœŸ™¤R§Z¡Z²´B·J±JÐ>Ñ?ˆØœŸ™¤R§Z¡Z´·±ºQÐ>Ñ?ˆØ˜G b™LÑ(¨7°S©=Ñ8¸7ÀT¹>ÑIˆØ�vˆ~Ðr.   c                 ó  — dgdz  }|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_36   sÄ   € à5Ð6¸Ñ:ˆØ—‘Ò?Ó@ˆØšœBŸJ™J¬¯
©
´B·J±JÐ>Ñ?ˆØœŸ™¢Q¬¯
©
´B·J±JÐ>Ñ?ˆØœŸ™¤R§Z¡Z²´B·J±JÐ>Ñ?ˆØœŸ™¤R§Z¡Z´·±ºQÐ>Ñ?ˆØ˜G b™LÑ(¨7°S©=Ñ8¸7ÀT¹>ÑIˆØ�vˆ~Ðr.   c                 ó  — dgdz  }|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_4A   sÆ   € à� Ñ!ˆØ—‘˜S #˜JÓ'ˆØšœBŸJ™J¬¯
©
´B·J±JÐ>Ñ?ˆØœŸ™¢Q¬¯
©
´B·J±JÐ>Ñ?ˆØœŸ™¤R§Z¡Z²´B·J±JÐ>Ñ?ˆØœŸ™¤R§Z¡Z´·±ºQÐ>Ñ?ˆØ˜G b™LÑ(¨7°S©=Ñ8¸7ÀT¹>ÑIˆØ�vˆ~Ðr.   c                 ó  — | j                  t        ¬«      \  }}t        j                  g d¢g d¢g d¢g«      }t        ||j	                  «       |¬«      } ||j	                  «       «      }t        |||¬«      } ||«      }t        ||«       y )N)r%   ©çš™™™™™¹?r@   r   çÍÌÌÌÌÌì?©çš™™™™™É?r@   gÍÌÌÌÌÌÜ?gš™™™™™é?©r   r   r   r   ©r   )r;   r!   r    r
   Útolistr   )r$   r   r&   r'   ÚsampleÚinterpÚv1Úv2s           r,   Útest_list_inputz+TestRegularGridInterpolator.test_list_inputL   sˆ   € à×.Ñ.´"Ð.Ó5‰ˆ�ä—‘Ò/Ò1DÚ/ð1ó 2ˆô )¨Ø)/¯©«Ø06ô8ˆñ �F—M‘M“OÓ$ˆÜ(¨Ø)/Ø06ô8ˆñ �F‹^ˆÜ˜˜BÕr.   r   )ÚcubicÚquinticÚpchipc                 ó–  ‡— | j                  ‰«      \  }}t        ˆfd„|D «       «      }d}t        j                  t        |¬«      5  t        |||¬«       d d d «       t        ||«      }‰j                  g d¢g d¢g d¢g«      }t        j                  t        |¬«      5   |||¬«       d d d «       y # 1 sw Y   Œ^xY w# 1 sw Y   y xY w)Nc              3   ó@   •K  — | ]  }‰j                  |«      –— Œ y ­w©N©r    ©Ú.0Úpr%   s     €r,   ú	<genexpr>zDTestRegularGridInterpolator.test_spline_dim_error.<locals>.<genexpr>`   ó   øè ø€ Ò4¨�b—j‘j —mÑ4ùó   ƒzpoints in dimension©ÚmatchrE   r?   rB   rD   )r=   ÚlistÚpytestr	   Ú
ValueErrorr
   r    )r$   r   r%   r&   r'   rZ   rH   rG   s     `     r,   Útest_spline_dim_errorz1TestRegularGridInterpolator.test_spline_dim_error]   s½   ø€ à×.Ñ.¨rÓ2‰ˆ�ÜÓ4¨VÔ4Ó4ˆØ%ˆô �]‰]œ:¨UÔ3ñ 	CÜ# F¨F¸6ÕB÷	Cô )¨°Ó8ˆØ—‘Ò/Ò1DÚ/ð1ó 2ˆä�]‰]œ:¨UÔ3ñ 	*Ù�6 &Õ)÷	*ð 	*÷	Cð 	Cú÷	*ð 	*ús   ÁB3ÂB?Â3B<Â?Czpoints_values, sampler?   rB   rD   ©r@   r@   r3   ç      "@c                 óØ   ‡—  || ‰«      \  }}t        ˆfd„|D «       «      ‰j                  |«      }}t        ||d¬«      } ||«      }t        ||d¬«      } ||«      }t        ||«       y )Nc              3   ó@   •K  — | ]  }‰j                  |«      –— Œ y ­wrQ   rR   rS   s     €r,   rV   zLTestRegularGridInterpolator.test_linear_and_slinear_close.<locals>.<genexpr>~   s   øè ø€ Ò<°˜bŸj™j¨ŸmÑ<ùrX   ÚlinearrE   Úslinear)r[   r    r
   r   )	r$   Úpoints_valuesrG   r%   r&   r'   rH   rI   rJ   s	      `     r,   Útest_linear_and_slinear_closez9TestRegularGridInterpolator.test_linear_and_slinear_closen   sj   ø€ ñ ' t¨RÓ0‰ˆ�ÜÓ<°VÔ<Ó<¸b¿j¹jÈÓ>P�ˆÜ(¨°ÀÔIˆÙ�F‹^ˆÜ(¨°À	ÔJˆÙ�F‹^ˆÜ˜˜BÕr.   c                 ó4  ‡— | j                  ‰«      \  }}t        ˆfd„|D «       «      }‰j                  g d¢g d¢g d¢g«      }t        ||d¬«      }t	        t
        «      5   ||d¬«       d d d «       t         ||d	¬«      ‰j                  g d
¢‰j                  ¬«      d¬«       t         ||d¬«      ‰j                  g d¢‰j                  ¬«      d¬«       t         ||d¬«      ‰j                  g d¢‰j                  ¬«      d¬«       y # 1 sw Y   Œ£xY w)Nc              3   ó@   •K  — | ]  }‰j                  |«      –— Œ y ­wrQ   rR   rS   s     €r,   rV   z?TestRegularGridInterpolator.test_derivatives.<locals>.<genexpr>‡   rW   rX   r?   rB   rD   rd   rE   é   )Únu)ri   r   r   r   )r   ri   ri   ©ÚdtypeçVçž¯Ò<©Úatol)r   ri   r   r   )r3   r   r   )r   ri   ri   r   )r   r   r   gê-�™—�=)r-   r[   r    r
   Úassert_raisesr]   r   Úfloat64)r$   r%   r&   r'   rG   rH   s    `    r,   Útest_derivativesz,TestRegularGridInterpolator.test_derivatives…   sö   ø€ Ø×,Ñ,¨RÓ0‰ˆ�ÜÓ4¨VÔ4Ó4ˆØ—‘Ò5Ú3Ú3ð5ó 6ˆô )¨°À	ÔJˆäœ:Ó&ñ 	!á�6˜aÕ ÷	!ô 	™˜v¨,Ô7ØŸ
™
¢;°b·j±j˜
ÓAÈõ	Oä™˜v¨,Ô7ØŸ
™
¢>¸¿¹˜
ÓDÈ5õ	Rô 	™˜v¨,Ô7ØŸ
™
¢;°b·j±j˜
ÓAÈö	O÷	!ð 	!ús   Á!DÄDc                 ó®  ‡— |dk(  rt        j                  d«       | j                  ‰«      \  }}t        ˆfd„|D «       «      }|d|z  z
  }‰j	                  g d¢g d¢g d¢g«      }t        |||¬«      }t        |‰j                  |«      |¬«      }t        |‰j                  |«      |¬«      } ||«      }	 ||«      d	 ||«      z  z   }
t        |	|
«       y )
NrN   ú*pchip does not make sense for complex datac              3   ó@   •K  — | ]  }‰j                  |«      –— Œ y ­wrQ   rR   rS   s     €r,   rV   z;TestRegularGridInterpolator.test_complex.<locals>.<genexpr>Ÿ   rW   rX   ù               @r?   rB   rD   rE   ù              ð?)	r\   Úskipr;   r[   r    r
   ÚrealÚimagr   )r$   r   r%   r&   r'   rG   rH   ÚrinterpÚiinterprI   rJ   s     `        r,   Útest_complexz(TestRegularGridInterpolator.test_complexš   sÌ   ø€ à�WÒÜ�K‰KÐDÔEØ×.Ñ.¨rÓ2‰ˆ�ÜÓ4¨VÔ4Ó4ˆØ˜"˜V™)Ñ#ˆØ—‘Ò/Ò1DÚ/ð1ó 2ˆô )¨°ÀÔGˆÜ)¨&°"·'±'¸&³/È&ÔQˆÜ)¨&°"·'±'¸&³/È&ÔQˆá�F‹^ˆÙ�V‹_˜r¡'¨&£/Ñ1Ñ1ˆÜ˜˜BÕr.   c                 óJ  — |j                  g d¢«      |j                  g d¢«      }}|j                  ||d¬«      \  }} d„ ||«      }t        ||f|d¬«      }t        ||f|d¬«      } |dd	g«      }	 |dd	g«      }
|j                  |j	                  |	|
z
  «      d
k  «      rJ ‚y )N)ri   r1   é   r   Úij)Úindexingc                 ó   — | dz  |dz  z  S )Nr   © ©ÚxÚys     r,   ú<lambda>zATestRegularGridInterpolator.test_cubic_vs_pchip.<locals>.<lambda>°   s   € ˜q !™t a¨¡d™{€ r.   rL   rE   rN   r7   r1   ç›+¡†›„=)r    Úmeshgridr
   ÚallÚabs)r$   r%   r…   r†   ÚxgÚygr'   rL   rN   Ú
vals_cubicÚ
vals_pchips              r,   Útest_cubic_vs_pchipz/TestRegularGridInterpolator.test_cubic_vs_pchip¬   s§   € Ø�z‰zš,Ó'¨¯©²LÓ)Aˆ1ˆØ—‘˜Q ¨D�Ó1‰ˆˆBâ*¨B°Ó3ˆÜ'¨¨A¨°¸wÔGˆÜ'¨¨A¨°¸wÔGˆá˜C ˜8“_ˆ
Ù˜C ˜8“_ˆ
à—6‘6˜"Ÿ&™& ¨jÑ!8Ó9¸EÑAÔBÐBÐBÐBr.   c                 óô   ‡— | j                  ‰«      \  }}t        ˆfd„|D «       «      }t        ||«      }‰j                  g d¢«      }‰j                  dg‰j                  ¬«      }t         ||«      |«       y )Nc              3   ó@   •K  — | ]  }‰j                  |«      –— Œ y ­wrQ   rR   rS   s     €r,   rV   z?TestRegularGridInterpolator.test_linear_xi1d.<locals>.<genexpr>»   rW   rX   r_   çÍÌÌÌÌH�@rk   ©r4   r[   r
   r    rq   r   ©r$   r%   r&   r'   rH   rG   Úwanteds    `     r,   Útest_linear_xi1dz,TestRegularGridInterpolator.test_linear_xi1d¹   sh   ø€ Ø×.Ñ.¨rÓ2‰ˆ�ÜÓ4¨VÔ4Ó4ˆÜ(¨°Ó8ˆØ—‘Ò/Ó0ˆØ—‘˜V˜H¨B¯J©J�Ó7ˆÜ!¡&¨£.°&Õ9r.   c                 óì   ‡— | j                  ‰«      \  }}t        ˆfd„|D «       «      }t        ||«      }‰j                  g d¢g d¢g d¢g«      }‰j                  g d¢«      }t	         ||«      |«       y )Nc              3   ó@   •K  — | ]  }‰j                  |«      –— Œ y ­wrQ   rR   rS   s     €r,   rV   z?TestRegularGridInterpolator.test_linear_xi3d.<locals>.<genexpr>Ã   rW   rX   r?   rB   rD   ©r“   gš™™™™qŠ@g     \�@©r-   r[   r
   r    r   r•   s    `     r,   Útest_linear_xi3dz,TestRegularGridInterpolator.test_linear_xi3dÁ   sl   ø€ Ø×,Ñ,¨RÓ0‰ˆ�ÜÓ4¨VÔ4Ó4ˆÜ(¨°Ó8ˆØ—‘Ò/Ò1DÚ/ð1ó 2ˆà—‘Ò2Ó3ˆÜ!¡&¨£.°&Õ9r.   zsample, wanted)r@   r@   rA   rA   g     0‘@)r@   r@   r@   r@   r   ©r   r   r   r   ©r   r   r   r   ç     \‘@)r@   çš™™™™™Ù?g333333ã?rA   g     |�@c                 óô   ‡— | j                  ‰«      \  }}t        ˆfd„|D «       «      ‰j                  |«      }}t        ||d¬«      }‰j                  |g‰j                  ¬«      }t         ||«      |«       y )Nc              3   ó@   •K  — | ]  }‰j                  |«      –— Œ y ­wrQ   rR   rS   s     €r,   rV   z;TestRegularGridInterpolator.test_nearest.<locals>.<genexpr>Ö   s   øè ø€ Ò=°˜rŸz™z¨!Ÿ}Ñ=ùrX   ÚnearestrE   rk   )r-   Útupler    r
   rq   r   )r$   rG   r–   r%   r&   r'   rH   s      `   r,   Útest_nearestz(TestRegularGridInterpolator.test_nearestÊ   sj   ø€ ð ×,Ñ,¨RÓ0‰ˆ�ÜÓ=°fÔ=Ó=¸r¿z¹zÈ&Ó?Q�ˆÜ(¨°À	ÔJˆØ—‘˜V˜H¨B¯J©J�Ó7ˆÜ!¡&¨£.°&Õ9r.   c                 óæ   ‡— | j                  ‰«      \  }}t        ˆfd„|D «       «      }t        ||«      }‰j                  g d¢g d¢g«      }‰j                  ddg«      }t	         ||«      |«       y )Nc              3   ó@   •K  — | ]  }‰j                  |«      –— Œ y ­wrQ   rR   rS   s     €r,   rV   z@TestRegularGridInterpolator.test_linear_edges.<locals>.<genexpr>Ý   rW   rX   r�   rž   r   rŸ   r›   r•   s    `     r,   Útest_linear_edgesz-TestRegularGridInterpolator.test_linear_edgesÛ   sh   ø€ Ø×,Ñ,¨RÓ0‰ˆ�ÜÓ4¨VÔ4Ó4ˆÜ(¨°Ó8ˆØ—‘Ò-Ò/?Ð@ÓAˆØ—‘˜R ˜KÓ(ˆÜ!¡&¨£.°&Õ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¬«       y )	Nr   )r   r   r   r   )r   )r   r   g      è?r   )r   r   r   ÚundefmethodrE   )r!   r    r"   rp   r]   r
   )r$   r&   r'   r(   r)   s        r,   Útest_valid_createz-TestRegularGridInterpolator.test_valid_createã   s¿   € à Ð-ˆÜ—‘šLÓ)ˆØšœBŸJ™J˜Ñ'ˆØœŸ™¢Q˜Ñ'ˆØ˜G b™LÑ(ˆÜ”jÔ"9¸6À6ÔJØ" LÐ1ˆÜ”jÔ"9¸6À6ÔJØ# \Ð2ˆÜ”jÔ"9¸6À6ÔJÚ;ˆÜ”jÔ"9¸6À6ÔJØ Ð-ˆÜ”jÔ"9¸6À6Ø*ö	,r.   c                 ó  ‡— | j                  ‰«      \  }}t        ˆfd„|D «       «      }t        ||«      }‰j                  g d¢g d¢g«      }t	        t
        «      5   ||d«       d d d «       ‰j                  g d¢g d¢g«      }t	        t
        «      5   ||«       d d d «       ‰j                  g d¢g d¢g«      }t	        t
        «      5   ||«       d d d «       y # 1 sw Y   ŒxxY w# 1 sw Y   ŒMxY w# 1 sw Y   y xY w)Nc              3   ó@   •K  — | ]  }‰j                  |«      –— Œ y ­wrQ   rR   rS   s     €r,   rV   z>TestRegularGridInterpolator.test_valid_call.<locals>.<genexpr>÷   rW   rX   r�   rž   rª   )r   r   r   )r   r   r   )r   r   r   çš™™™™™ñ?)r-   r[   r
   r    rp   r]   )r$   r%   r&   r'   rH   rG   s    `    r,   Útest_valid_callz+TestRegularGridInterpolator.test_valid_callõ   sè   ø€ Ø×,Ñ,¨RÓ0‰ˆ�ÜÓ4¨VÔ4Ó4ˆÜ(¨°Ó8ˆØ—‘Ò-Ò/?Ð@ÓAˆÜœ:Ó&ñ 	*Ù�6˜=Ô)÷	*ð —‘š\ª<Ð8Ó9ˆÜœ:Ó&ñ 	Ù�6ŒN÷	ð —‘Ò-Ò/@ÐAÓBˆÜœ:Ó&ñ 	Ù�6ŒN÷	ð 	÷	*ð 	*ú÷	ð 	ú÷	ð 	ús$   Á
CÂ	C)Ã	C5ÃC&Ã)C2Ã5C>c                 ó’  ‡— | j                  ‰«      \  }}t        ˆfd„|D «       «      }t        ||dd ¬«      }‰j                  g d¢g d¢g d¢g d¢g‰j                  ¬«      }‰j                  g d	¢‰j                  ¬«      }t         ||d
¬«      |«       ‰j                  g d¢‰j                  ¬«      }t         ||d¬«      |«       y )Nc              3   ó@   •K  — | ]  }‰j                  |«      –— Œ y ­wrQ   rR   rS   s     €r,   rV   zHTestRegularGridInterpolator.test_out_of_bounds_extrap.<locals>.<genexpr>  rW   rX   F©Úbounds_errorÚ
fill_value©çš™™™™™¹¿r¶   r¶   r¶   ©r®   r®   r®   r®   ©é   çÍÌÌÌÌÌ @çš™™™™™ñ¿iõÿÿÿ©rº   rº   r»   r»   rk   )r   rŸ   ç      &@r½   r£   rE   )gfffffÆ[Àgfffff“@g     žÅÀgš™™™™‹’Àrc   )r-   r[   r
   r    rq   r   r•   s    `     r,   Útest_out_of_bounds_extrapz5TestRegularGridInterpolator.test_out_of_bounds_extrap  s¸   ø€ Ø×,Ñ,¨RÓ0‰ˆ�ÜÓ4¨VÔ4Ó4ˆÜ(¨°ÀeØ48ô:ˆà—‘Ò1Ò3GÚ1Ò3IðKà"$§*¡*ð ó .ˆð —‘Ò1¸¿¹�ÓDˆÜ!¡&¨¸	Ô"BÀFÔKØ—‘Ò>ÀbÇjÁj�ÓQˆÜ!¡&¨¸Ô"AÀ6ÕJr.   c                 ó’  ‡— | j                  ‰«      \  }}t        ˆfd„|D «       «      }t        ||dd ¬«      }‰j                  g d¢g d¢g d¢g d¢g‰j                  ¬«      }‰j                  g d	¢‰j                  ¬«      }t         ||d
¬«      |«       ‰j                  g d¢‰j                  ¬«      }t         ||d¬«      |«       y )Nc              3   ó@   •K  — | ]  }‰j                  |«      –— Œ y ­wrQ   rR   rS   s     €r,   rV   zITestRegularGridInterpolator.test_out_of_bounds_extrap2.<locals>.<genexpr>  rW   rX   Fr²   rµ   r·   r¸   r¼   rk   )r   r½   r½   r½   r£   rE   )g333333(Àg33333£`@g     ´�Àgš™™™™yXÀrc   r”   r•   s    `     r,   Útest_out_of_bounds_extrap2z6TestRegularGridInterpolator.test_out_of_bounds_extrap2  s¸   ø€ Ø×.Ñ.¨rÓ2‰ˆ�ÜÓ4¨VÔ4Ó4ˆÜ(¨°ÀeØ48ô:ˆà—‘Ò1Ò3GÚ1Ò3IðKà"$§*¡*ð ó .ˆð —‘Ò/°r·z±z�ÓBˆÜ!¡&¨¸	Ô"BÀFÔKØ—‘Ò9ÀÇÁ�ÓLˆÜ!¡&¨¸Ô"AÀ6ÕJr.   c                 óî  ‡— | j                  ‰«      \  }}t        ˆfd„|D «       «      }t        ||d‰j                  ¬«      }‰j	                  g d¢g d¢g d¢g«      }‰j	                  ‰j                  ‰j                  ‰j                  g«      }t         ||d¬«      |«       t         ||d	¬«      |«       ‰j	                  g d
¢g d¢g d¢g«      }‰j	                  g d¢«      }t         ||«      |«       y )Nc              3   ó@   •K  — | ]  }‰j                  |«      –— Œ y ­wrQ   rR   rS   s     €r,   rV   zFTestRegularGridInterpolator.test_out_of_bounds_fill.<locals>.<genexpr>!  rW   rX   Fr²   rµ   r·   r¼   r£   rE   rc   r?   rB   rD   rš   )r-   r[   r
   Únanr    r   r•   s    `     r,   Útest_out_of_bounds_fillz3TestRegularGridInterpolator.test_out_of_bounds_fill  sÖ   ø€ Ø×,Ñ,¨RÓ0‰ˆ�ÜÓ4¨VÔ4Ó4ˆÜ(¨°ÀeØ46·F±Fô<ˆà—‘Ò1Ò3GÚ3ð5ó 6ˆà—‘˜RŸV™V R§V¡V¨R¯V©VÐ4Ó5ˆÜ!¡&¨¸	Ô"BÀFÔKÜ!¡&¨¸Ô"AÀ6ÔJØ—‘Ò/Ò1DÚ/ð1ó 2ˆà—‘Ò2Ó3ˆÜ!¡&¨£.°&Õ9r.   c                 ól  — | j                  t        «      \  }}t        ||d¬«      }t        j                  |Ž }|D �cg c]  }|‘Œ }}t        j
                  |«      }|j                  d«      }t        ||«      }t        j
                  g d¢g d¢g d¢g«      }t         ||«       ||«      «       y c c}w )Nr£   rE   éÿÿÿÿr?   rB   rD   )	r-   r!   r
   Ú	itertoolsÚproductr    Úreshaper   r   ©	r$   r&   r'   rH   Úpoints_qhullrU   Úvalues_qhullÚinterp_qhullrG   s	            r,   Útest_nearest_compare_qhullz6TestRegularGridInterpolator.test_nearest_compare_qhull.  s£   € Ø×,Ñ,¬RÓ0‰ˆ�Ü(¨°À	ÔJˆÜ ×(Ñ(¨&Ð1ˆØ#/Ö0˜ašÐ0ˆÐ0Ü—z‘z ,Ó/ˆØ—~‘~ bÓ)ˆÜ,¨\¸<ÓHˆÜ—‘Ò/Ò1DÚ/ð1ó 2ˆä!¡&¨£.±,¸vÓ2FÕGùò 1s   ½	B1c                 óh  — | j                  t        «      \  }}t        ||«      }t        j                  |Ž }|D �cg c]  }|‘Œ }}t        j
                  |«      }|j                  d«      }t        ||«      }t        j
                  g d¢g d¢g d¢g«      }t         ||«       ||«      «       y c c}w )NrÇ   r?   rB   rD   )	r-   r!   r
   rÈ   rÉ   r    rÊ   r   r   rË   s	            r,   Útest_linear_compare_qhullz5TestRegularGridInterpolator.test_linear_compare_qhull:  s¡   € Ø×,Ñ,¬RÓ0‰ˆ�Ü(¨°Ó8ˆÜ ×(Ñ(¨&Ð1ˆØ#/Ö0˜ašÐ0ˆÐ0Ü—z‘z ,Ó/ˆØ—~‘~ bÓ)ˆÜ+¨L¸,ÓGˆÜ—‘Ò/Ò1DÚ/ð1ó 2ˆä!¡&¨£.±,¸vÓ2FÕGùò 1s   »	B/r£   rc   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
¬«       y )Nr   r1   é   ri   é   ©rÓ   rÔ   rE   r    çffffffæ?F©Úcheck_dtype)r!   ÚlinspaceÚMyValuer
   Ú_vr   )r$   r   r…   r†   r'   rH   rI   rJ   s           r,   Útest_duck_typed_valuesz2TestRegularGridInterpolator.test_duck_typed_valuesF  s   € ä�K‰K˜˜1˜aÓ ˆÜ�K‰K˜˜1˜aÓ ˆä˜“ˆä(¨!¨Q¨°ÀÔGˆÙ�S˜#�JÓˆä(¨!¨Q¨°·±À6ÔJˆÙ�S˜#�JÓˆÜ˜˜B¨EÖ2r.   c                 ó2  — t         j                  j                  d«       t        j                  ddd«      }t        j                  ddd«      }t         j                  j	                  dd«      }t        ||f|d¬«       t        t        t
        ||f|d¬«       y )	NéÒ  r   r1   rÓ   ri   rÔ   ©r´   y      ð?       @)r!   ÚrandomÚseedrÙ   Úrandr
   rp   r]   )r$   r…   r†   r'   s       r,   Útest_invalid_fill_valuez3TestRegularGridInterpolator.test_invalid_fill_valueT  sv   € Ü
�	‰	�‰�tÔÜ�K‰K˜˜1˜aÓ ˆÜ�K‰K˜˜1˜aÓ ˆÜ—‘—‘  1Ó%ˆô 	   A ¨¸1Õ=ô 	”jÔ"9Ø˜!�f˜f°ö	7r.   c                 óÈ   — t        j                  dd¬«      }|j                  D �cg c]  }t        j                  |«      ‘Œ }}t	        ||«       t	        ||d¬«       y c c}w )N©r   é   é   z>f4rk   r   rß   )r!   ÚonesÚshapeÚaranger
   )r$   r'   Únr&   s       r,   Útest_fillvalue_typez/TestRegularGridInterpolator.test_fillvalue_typea  sL   € ä—‘˜¨UÔ3ˆØ(.¯©Ö5 1”"—)‘)˜A•,Ð5ˆÐ5ä ¨Ô/Ü ¨¸2Ö>ùò 6s   ¦Arl   Úndim©ri   r1   r   c                 ó4  — t        j                  ||¬«      }t        d„ |D «       «      }t        j                  d|¬«      }t        j                  d|z  |¬«      }t        j                  d|¬«      }|dk(  rt         j
                  n|}	t        |||d|¬	«      }
t        |||d
¬«      }t        j                  |g«      }t        j                  |g|	¬«      } |
|«       ||«      fD ]  }t        ||«       Œ |dxx   dz  cc<   t        j                  |g«      }t        j                  |g|	¬«      } |
|«      }t        ||«       t        j                  t        d¬«      5   ||«       d d d «       t         j                  |d<   t        j                  |g«      }t        j                  t         j                  g|	¬«      } |
|«      }t        ||«       t        j                  t        d¬«      5   ||«       d d d «       y # 1 sw Y   Œ™xY w# 1 sw Y   y xY w)Nrk   c              3   óH   K  — | ]  }t        j                  |g«      –— Œ y ­wrQ   )r!   r    )rT   Úxis     r,   rV   zGTestRegularGridInterpolator.test_length_one_axis_all.<locals>.<genexpr>w  s   è ø€ Ò5¨B”r—z‘z 2 $×'Ñ5ùs   ‚ "g’$I’$IÂ?)ri   )ré   r´   g†a†a˜?rc   F©r   r³   r´   T©r   r³   r   ri   z9^One of the requested xi is out of bounds in dimension 0$rY   )r!   rê   r¤   r    Úfullrq   r
   r   r\   r	   r]   rÄ   )r$   rl   rí   r   Úx0r&   Úvalr'   ÚfillÚpromoted_dtypeÚinterp_fillÚ
interp_errrG   r–   Úresults                  r,   Útest_length_one_axis_allz4TestRegularGridInterpolator.test_length_one_axis_alli  sß  € ô �Y‰Y�t 5Ô)ˆô Ñ5°"Ô5Ó5ˆô �j‰j˜ EÔ*ˆÜ—‘˜u T™z°cÔ:ˆô �z‰z˜$ eÔ,ˆð (.°Ò'9œŸš¸uˆô .Ø�F 6¸È$ô
ˆô -Ø�F 6¸ô
ˆ
ô
 —‘˜R˜DÓ!ˆÜ—‘˜S˜E¨Ô8ˆÙ" 6Ó*©J°vÓ,>Ð?ò 	,ˆFÜ˜F FÕ+ð	,ð 	ˆ1‹�‰
‹Ü—‘˜R˜DÓ!ˆÜ—‘˜T˜F¨.Ô9ˆÙ˜VÓ$ˆÜ˜ Ô'Ü�]‰]ÜØMô
ñ 	ñ �vÔ÷		ô —‘ˆˆ1‰Ü—‘˜R˜DÓ!ˆÜ—‘œRŸV™V˜H¨NÔ;ˆÙ˜VÓ$ˆÜ˜ Ô'Ü�]‰]ÜØMô
ñ 	ñ �vÔ÷		ð 	÷	ð 	ú÷	ð 	ús   Å!	HÇ0	HÈHÈH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«      «      t        j                  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d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«      t        j                  d d!g«      d¬«       y )"Nc                 ó   — | |z   S rQ   rƒ   r„   s     r,   Úfz;TestRegularGridInterpolator.test_length_one_axis.<locals>.f­  s   € Ø�q‘5ˆLr.   ri   r   r€   T©r�   Úsparserc   Fée   rò   rÓ   )r8   é   é   rˆ   rn   gffffffö?ç333333@)ç333333@ç333333@r  r®   r  )rØ   Úcheck_shapeÚcheck_0dro   ç333333Ó?g      '@gÍÌÌÌÌÌô?g      )@rm   r7   gffffffþ?r£   gÍÌÌÌÌÌü?éüÿÿÿgffffff@r:   r  )r!   rÙ   r‰   r
   r   Úarrayr    r´   )r$   rÿ   r…   r†   ÚdatarH   s         r,   Útest_length_one_axisz0TestRegularGridInterpolator.test_length_one_axis©  sŸ  € ò	ä�K‰K˜˜1˜aÓ ˆÜ�K‰K˜˜2˜rÓ"ˆÙ”"—+‘+˜a ¨T¸$Ô?Ð@ˆä(¨!¨Q¨°¸hØ6;ÈôMˆô 	™œrŸx™x¨!¨Q¨°!°Q°¸!¸R¸Ð(AÓBÓCÜŸ
™
¢<Ó0Ø"õ	$ô
 	™œrŸx™x¨!¨S¨°A°s°8¸aÀ¸WÐ(EÓFÓGÚ&Ø"õ	$ô
 	™œrŸx™x¨¨c¨
Ó3Ó4Ø×)Ñ)Ø$)°uÀuØ"õ	$ð !ˆÔÜ™  C ¨1¨d¨)Ð4Ó5Ø˜d˜¨%õ	1ô 	™  c 
¨S°$¨KÐ8Ó9Ø˜d˜¨%õ	1ô )¨!¨Q¨°¸iØ6;ÈôNˆä™  c 
¨R°¨IÐ6Ó7ÜŸ
™
 C¨ 8Ó,Ø"ö	$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        ||	«       y t        |t        j                  ||«      «       y )	NF©r´   r³   r   r   r1   ræ   rÇ   ri   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_axis2z1TestRegularGridInterpolator.test_length_one_axis2Õ  s   € ð ",¸UØ#ñ%ˆô �K‰K˜˜1œRŸU™U™7 BÓ'ˆÜ�F‰F�1‹Iˆä$ a T¨1©Q¨4Ñ;°7Ñ;ˆÜ$ a¨!¨ X¨q²°D°©zÑE¸WÑEˆä�k‰k˜"˜a¤§¡™g a™i¨Ó-ˆÙ�‹Wˆô �h‰h�s‹mˆÙ”—	‘	˜3 ˜*Ó%×'Ñ'Ó(ˆÜ˜˜BÔô �g‰g�c‹lˆÙ”—	‘	˜3 ˜*Ó%×'Ñ'Ó(ˆØÐÜ˜B Õ#ä˜B¤§¡¨R°Ó <Õ=r.   c                 ó„  — t        g d¢fg d¢dd|¬«      }t        j                   |t        j                  g«      «      sJ ‚t        j                  j                  d«      }|j	                  d¬«      d	z  }|j	                  d¬«      d
kD  }t        j                  ||<   t        j                  d¬«      5   ||«      }d d d «       t        j                  |   «      j                  «       sJ ‚t        ||     |||    «      «       g d¢}dg}t        j                  d«      }t        ||f|dd|¬«      }t        j                  t        j                   |t        j                  dg«      «      «      sJ ‚t        j                  t        j                   |dt        j                  g«      «      «      sJ ‚y # 1 sw Y   ŒúxY w)Nrî   rå   ri   Fr  ì   l¿J r   ©Úsizer   r   Úignore©Úinvalid)r   ri   )
r
   r!   ÚisnanrÄ   rà   Údefault_rngÚerrstaterŠ   r   rè   )	r$   r   rÿ   Úrngr…   ÚiÚresr†   r  s	            r,   Útest_nan_x_1dz)TestRegularGridInterpolator.test_nan_x_1dñ  so  € ô $¢Y L²,È1Ø16¸vôGˆä�x‰x™œ2Ÿ6™6˜(›Ô$Ð$Ð$ô �i‰i×#Ñ# JÓ/ˆØ�J‰J˜CˆJÓ  Ñ"ˆØ�J‰J˜CˆJÓ  3Ñ&ˆÜ�v‰vˆˆ!‰Ü�[‰[ Ô*ñ 	ñ
 �A“$ˆC÷	ô �x‰x˜˜A™Ó×#Ñ#Ô%Ð%Ð%Ü˜˜Q˜B™¡ 1 a R¡5£Ô*ò ˆØˆEˆÜ�w‰w�v‹ˆÜ# Q¨ F¨D¸QØ16¸vôGˆä�v‰v”b—h‘h™q¤"§&¡&¨! ›~Ó.Ô/Ð/Ð/Ü�v‰v”b—h‘h™q !¤R§V¡V ›~Ó.Ô/Ð/Ñ/÷#	ð 	ús   Â4	F6Æ6F?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 «       t        	d   dd¬«       t        j                  |	d   «      sJ ‚t         j                  j                  d«      }
|
j                  d¬«      dz  dz
  }|
j                  d¬«      dz  }|
j                  d¬«      dkD  }|
j                  d¬«      dkD  }||z  }t         j
                  ||<   t         j
                  ||<   t        j                  ||g«      j                  }t        j                  d	¬
«      5   ||«      }	d d d «       t        j                  |	|   «      j                  «       sJ ‚t        |	|     |||    «      d¬«       y # 1 sw Y   �ŒcxY w# 1 sw Y   Œ[xY w)N)r   ri   r1   )ri   r   rÔ   c                 ó   — | dz  |dz  z   S ©Nr1   rƒ   r„   s     r,   rÿ   z4TestRegularGridInterpolator.test_nan_x_2d.<locals>.f  s   € Ø�a‘4˜!˜Q™$‘;Ðr.   r€   Tr   Fró   r$  r%  r7   ri   r8   rˆ   rn   r   r!  r   r"  r   é   r   r×   )r!   r  r‰   r
   r)  rÄ   r   r'  rà   r(  r  rŠ   r   )r$   r   r…   r†   rÿ   rŒ   r�   r  rH   r,  r*  Úi1Úi2r+  r  s                  r,   Útest_nan_x_2dz)TestRegularGridInterpolator.test_nan_x_2d  sÖ  € ä�x‰xš	Ó"¤B§H¡HªYÓ$7ˆ1ˆò	ô —‘˜Q ¨D¸Ô>‰ˆˆBÙ��R‹yˆÜ(¨!¨Q¨°Ø06ÀUôLˆô �[‰[ Ô*ñ 	2Ù˜3¤§¡˜-¨!¨Q¨Ð0Ó1ˆC÷	2ä˜˜A™ ¨%Õ0Ü�x‰x˜˜A™ÔÐÐô �i‰i×#Ñ# JÓ/ˆØ�J‰J˜CˆJÓ  Ñ" 1Ñ$ˆØ�J‰J˜CˆJÓ  Ñ"ˆØ�Z‰Z˜SˆZÓ! CÑ'ˆØ�Z‰Z˜SˆZÓ! CÑ'ˆØ�‰GˆÜ—‘ˆˆ"‰Ü—‘ˆˆ"‰Ü�H‰H�a˜�VÓ×ÑˆÜ�[‰[ Ô*ñ 	ñ
 ˜“)ˆC÷	ô �x‰x˜˜A™Ó×#Ñ#Ô%Ð%Ð%Ü˜˜Q˜B™¡¨¨1¨"©£¸EÖB÷/	2ñ 	2ú÷	ð 	ús   Á>G<Æ&	H	Ç<HÈ	Hr   )ÚndimsÚfuncr1   c                 ó$   — d| dz  z  d|dz  z  z   S ©Nr1   r   rƒ   r„   s     r,   r‡   z$TestRegularGridInterpolator.<lambda>8  s   € ˜˜Q !™V™ a¨!¨q©&¡jÑ0€ r.   r   c                 ó*   — d| dz  z  d|dz  z  z   |z
  S r8  rƒ   )r…   r†   r  s      r,   r‡   z$TestRegularGridInterpolator.<lambda>9  s    € ˜A  Q¡™J¨¨Q°!©V©Ñ3°aÑ7€ r.   r   c                 ó0   — d| dz  z  d|dz  z  z   |z
  |z   S r8  rƒ   ©r…   r†   r  Úas       r,   r‡   z$TestRegularGridInterpolator.<lambda>:  s%   € ˜q 1¨¡6™z¨A°°Q±©JÑ6¸Ñ:¸QÑ>€ r.   rÓ   c                 ó6   — d| dz  z  d|dz  z  z   |z
  ||z  z   S r8  rƒ   )r…   r†   r  r<  Úbs        r,   r‡   z$TestRegularGridInterpolator.<lambda>;  s)   €  ! a¨1¡f¡*¨q°1¸±6©zÑ"9¸AÑ"=ÀÀAÁÑ"E€ r.   c                 ó  — |dk\  r|dv rt        j                  d«       t        j                  j	                  d«      }d}d}|j                  ||d|f¬«      }t        |«      D �cg c]  }t        j                  ||d	«      ‘Œ }	} |t        j                  |	d
ddœŽŽ }
t        |	|
|¬«      } ||«      }|	D �cg c]
  }|d d d…   ‘Œ }} |t        j                  |d
ddœŽŽ }t        |||¬«      } ||«      }t        ||«       y c c}w c c}w )Nr   >   rL   rM   z-too slow; OOM (quintic); or nearly so (cubic)é*   ri   rÓ   r1   r"  é   r€   Tr   rE   rÇ   )r\   rx   r!   rà   r(  ÚuniformÚrangerÙ   r‰   r
   r   )r$   r   r5  r6  r*  Ú
sample_lowÚsample_highÚtest_pointsÚ_Úascending_pointsÚascending_valuesÚascending_interpÚascending_resultrñ   Údescending_pointsÚdescending_valuesÚdescending_interpÚdescending_results                     r,   Útest_descending_points_ndz5TestRegularGridInterpolator.test_descending_points_nd5  sB  € ð �AŠ:˜&Ð$8Ñ8Ü�K‰KÐGÔHä�i‰i×#Ñ# BÓ'ˆØˆ
ØˆØ—k‘k *¨kÀÀEÀ
�kÓKˆô &+¨5£\ö3Ø !ô ŸK™K¨
°KÀÕDð 3Ðð 3ñ  ¤§¡Ð.>Ø6:Ø48ò":ð ;Ðô 3Ð3CØ3CØ:@ôBÐñ ,¨KÓ8Ðà0@ÖA¨"˜R¡ " ›XÐAÐÐAÙ ¤"§+¡+Ð/@Ø7;Ø59ò#;ð <Ðô 4Ð4EØ4EØ;AôCÐñ .¨kÓ:ÐäÐ(Ð*;Õ<ùò+3ùò Bs   Á%DÂ8D
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 «       y # 1 sw Y   y xY w)	Nc                 ó$   — d| dz  z  d|dz  z  z   S r8  rƒ   r„   s     r,   Úval_func_2dzJTestRegularGridInterpolator.test_invalid_points_order.<locals>.val_func_2d_  s   € Ø�q˜A‘v‘:  A¨¡F¡
Ñ*Ð*r.   ©r   r8   r   ç      @ç      @©r   r8   r:   rU  rV  r€   Tr   ú(must be strictly ascending or descendingrY   )r!   r  r‰   r\   r	   r]   r
   )r$   rS  r…   r†   r&   r'   rZ   s          r,   Útest_invalid_points_orderz5TestRegularGridInterpolator.test_invalid_points_order^  s~   € ò	+ô �H‰HÒ*Ó+ˆÜ�H‰HÒ*Ó+ˆØ�Q�ˆÙœbŸk™k¨6¸DØ15ò7ð 8ˆà:ˆÜ�]‰]œ:¨UÔ3ñ 	4Ü# F¨FÔ3÷	4÷ 	4ñ 	4ús   Á,BÂBc                 ó¬   — t        t        j                  d«      gt        j                  d«      |d¬«      }t        j                   |dg«      «      sJ ‚y )Nr  Fró   r   )r
   r!   rê   rè   r'  )r$   r   rH   s      r,   Útest_fill_valuez+TestRegularGridInterpolator.test_fill_valuek  s@   € ä(¬"¯)©)°A«,¨¼¿¹À»Ø06ÀUôLˆä�x‰x™ ˜t›Ô%Ð%Ñ%r.   c                 ó  — |dk(  rt        j                  d«       dgdz  dgdz  z   }t        j                  j	                  d«      }|j                  d«      }|j                  d«      }t        |||d	¬
«      } ||«      }|j                  dk(  sJ |«       ‚g }t        d«      D ]-  }	t        ||d|	f   |d	¬
«      }|j                   ||«      «       Œ/ t        j                  |«      j                  ddd«      }
t        ||
d|¬«       y ©NrM   úWay too slow.©r   r   r   r7   r8   r9   r1   )r   r2   r3   ç      .@ræ   ç      9@rÞ   )r  r  r  r  r1  )rÔ   r   r   Fró   )rÔ   r   r1  r1  .ri   r   rˆ   ©ro   Úerr_msg)r\   rx   r!   rà   r(  r
   ré   rC  Úappendr  Ú	transposer   )r$   r   r&   r*  r'   rG   rH   ÚvÚvsÚjrJ   s              r,   Útest_nonscalar_valuesz1TestRegularGridInterpolator.test_nonscalar_valuesq  s  € ð �YÒÜ�K‰K˜Ô(ð 1Ð1°AÑ5Ø,ð9
àñ9ñ ˆô �i‰i×#Ñ# DÓ)ˆØ—‘˜OÓ,ˆØ—‘˜IÓ&ˆä(¨°ÀØ6;ô=ˆá�6‹NˆØ�w‰w˜)Ò#Ð+ VÓ+Ð#àˆÜ�q“ò 	&ˆAÜ,¨V°V¸CÀ¸F±^Ø4:Ø:?ôAˆFð �I‰I‘f˜V“nÕ%ð		&ô
 �X‰X�b‹\×#Ñ# A q¨!Ó,ˆä˜˜2 E°6Ö:r.   Úflip_pointsFTc           	      óÞ  — |dv rt        j                  d«       g d¢}|r!|D �cg c]  }t        t        |«      «      ‘Œ }}t        j
                  j                  d«      }d}|j                  dddd	g|¢­«      }|j                  d
«      }t        |||d¬«      }	 |	|«      }
|
j                  dg|¢­k(  sJ ‚t	        j                  |j                  dd  «      }t        |j                  d   «      D ]O  }t        |j                  d   «      D ]2  }t        ||d||f   |d¬«      }	 |	|«      j                  «       |||f<   Œ4 ŒQ t	        j                  |d¬«      }t        |
|d|¬«       y c c}w )N>   rL   rM   r^  ©r_  r6   )r   r2   r3   r`  ræ   ra  ç     €A@ç      B@)	r   r2   r3   r`  ræ   ra  rm  rn  é/   rÞ   ©r   r1   r  rÔ   r1  é	   r   Fró   ri   éþÿÿÿrÇ   .r   ©Úaxisrˆ   rb  )r\   rx   r¤   Úreversedr!   rà   r(  r
   ré   ÚemptyrC  ÚitemÚexpand_dimsr   )r$   r   rj  r&   rU   r*  Útrailing_pointsr'   rG   rH   rf  rg  r+  rh  rJ   s                  r,   Útest_nonscalar_values_2z3TestRegularGridInterpolator.test_nonscalar_values_2�  sr  € ð Ð)Ñ)Ü�K‰K˜Ô(òDˆñ Ø28Ö9¨Q”eœH Q›KÕ(Ð9ˆFÐ9ä�i‰i×#Ñ# DÓ)ˆà ˆà—‘˜Q  1 aÐ:¨/Ñ:Ó;ˆØ—‘˜A“ˆä(¨°ÀØ6;ô=ˆá�6‹Nˆð �w‰w˜1Ð/˜Ñ/Ò/Ð/Ð/ô �X‰X�f—l‘l 2 3Ð'Ó(ˆÜ�v—|‘| BÑ'Ó(ò 	1ˆAÜ˜6Ÿ<™<¨Ñ+Ó,ò 1�Ü0°¸ÀÀQÈÀ	Ñ9JØ8>Ø>CôE�ñ " &›>×.Ñ.Ó0��1�a�4’ñ	1ð	1ô �^‰^˜B QÔ'ˆÜ˜˜2 E°6Ö:ùò3 :s   ¤E*c           	      ó\  — d}ddg}t         j                  j                  d«      }d}|j                  ddg|¢­«      }|j                  d«      }t        |||d	¬
«      } ||«      }|j                  dg|¢­k(  sJ ‚t        j
                  |j                  dd  «      }	t        |j                  d   «      D ]O  }
t        |j                  d   «      D ]2  }t        ||d|
|f   |d	¬
«      } ||«      j                  «       |	|
|f<   Œ4 ŒQ t        j                  |	d¬«      }t        ||d|¬«       y )Nrc   r_  r6   rÞ   )r   r   r  rÔ   r1   Fró   ri   rr  rÇ   .r   rs  rˆ   rb  )
r!   rà   r(  r
   ré   rv  rC  rw  rx  r   )r$   r   r&   r*  ry  r'   rG   rH   rf  rg  r+  rh  rJ   s                r,   Útest_nonscalar_values_linear_2Dz;TestRegularGridInterpolator.test_nonscalar_values_linear_2D»  s=  € àˆØ0Ø5ð9ˆô �i‰i×#Ñ# DÓ)ˆà ˆà—‘˜Q Ð4 OÑ4Ó5ˆØ—‘˜A“ˆä(¨°ÀØ6;ô=ˆá�6‹Nˆð �w‰w˜1Ð/˜Ñ/Ò/Ð/Ð/ô �X‰X�f—l‘l 2 3Ð'Ó(ˆÜ�v—|‘| BÑ'Ó(ò 	1ˆAÜ˜6Ÿ<™<¨Ñ+Ó,ò 1�Ü0°¸ÀÀQÈÀ	Ñ9JØ8>Ø>CôE�ñ " &›>×.Ñ.Ó0��1�a�4’ñ	1ð	1ô �^‰^˜B QÔ'ˆÜ˜˜2 E°6Ö:r.   Úxi_dtypec                 óX  — d„ }t        j                  ddd«      }t        j                  ddd«      }t        j                  ||dd¬	«      \  }} |||«      }|j                  |«      }t	        ||f|«      }	t        j
                  d
dgddgg|¬«      }
t         |	|
«      ddgddd¬«       y )Nc                 ó$   — d| dz  z  d|dz  z  z   S r8  rƒ   r„   s     r,   rÿ   z:TestRegularGridInterpolator.test_float32_values.<locals>.fá  s   € Ø�q˜!‘t‘8˜a ! Q¡$™hÑ&Ð&r.   ri   r   r  rÔ   é   r€   Tr   rº   gÍÌÌÌÌÌ@çffffff
@gÍÌÌÌÌÌ@rk   g Öú¦YÃ`@gÖÉø{Ò,c@gH¯¼šò×z>F)ro   ÚrtolrØ   )r!   rÙ   r‰   Úastyper
   r  r   )r$   rl   r}  rÿ   r…   r†   rŒ   r�   r  rH   Úptss              r,   Útest_float32_valuesz/TestRegularGridInterpolator.test_float32_valuesÚ  s°   € ò	'ô �K‰K˜˜1˜bÓ!ˆÜ�K‰K˜˜1˜bÓ!ˆä—‘˜Q ¨D¸Ô>‰ˆˆBÙ��R‹yˆà�{‰{˜5Ó!ˆä(¨!¨Q¨°Ó6ˆä�h‰h˜˜c˜
Ø˜c˜
ð$Ø+3ô5ˆô 	™˜s› l°LÐ%AØ!¨¸%ö	Ar.   c                 óT  — t        j                  ddd«      }t        j                  ddd«      }t        j                  ||dd¬«      \  }}||z   }t        t        «      5  t        ||f|d„ ¬«       d d d «       t        t        «      5  t        ||f|d	d
„ ¬«       d d d «       t        t        «      5  t        ||f|d	d„ d¬«       d d d «       t        t        «      5  t        ||f|d	ddi¬«       d d d «       y # 1 sw Y   ŒŠxY w# 1 sw Y   ŒlxY w# 1 sw Y   ŒMxY w# 1 sw Y   y xY w)Nr   r   rÔ   r€   Tr   c                 ó   — | S rQ   rƒ   ©r…   s    r,   r‡   z=TestRegularGridInterpolator.test_bad_solver.<locals>.<lambda>ÿ  s   € À1€ r.   )Úsolverrd   c                 ó   — | S rQ   rƒ   rˆ  s    r,   r‡   z=TestRegularGridInterpolator.test_bad_solver.<locals>.<lambda>  ó   € À€ r.   )r   r‰  c                 ó   — | S rQ   rƒ   rˆ  s    r,   r‡   z=TestRegularGridInterpolator.test_bad_solver.<locals>.<lambda>
  r‹  r.   Úwoof)r   r‰  r�  r@  )r   Úsolver_args)r!   rÙ   r‰   rp   r]   r
   Ú	TypeError)r$   r…   r†   rŒ   r�   r  s         r,   Útest_bad_solverz+TestRegularGridInterpolator.test_bad_solver÷  s!  € Ü�K‰K˜˜1˜aÓ ˆÜ�K‰K˜˜1˜aÓ ˆÜ—‘˜Q ¨D¸Ô>‰ˆˆBØ�B‰wˆô œ:Ó&ñ 	FÜ# Q¨ F¨D¹ÕE÷	Fô œ9Ó%ñ 	ä#Ø�A�˜ Y±{õ÷	ô œ9Ó%ñ 	ä#Ø�A�˜ Y±{Èõ÷	ô œ9Ó%ñ 	ä#Ø�A�˜ Y¸fÀb¸\õ÷	ð 	÷	Fð 	Fú÷	ð 	ú÷	ð 	ú÷	ð 	ús0   ÁC:ÂDÂ2DÃDÃ:DÄDÄDÄD'c                 óÄ   ‡‡— | j                  t        «      \  }}t        j                  g d¢g d¢g d¢g d¢g«      Št        ||d¬«      }ddgŠˆˆfd„}t	        d	||«       y )
Nr?   rB   rD   )r
  r@   rC   r    rd   rE   r£   c                 ób   •— |j                   }‰| dz     } |‰|¬«       |j                   |u sJ ‚y )Nr1   rE   )Ú_spline)ÚtidrH   Úspliner   ÚmethodsrG   s       €€r,   Ú	worker_fnz?TestRegularGridInterpolator.test_concurrency.<locals>.worker_fn  s6   ø€ Ø—^‘^ˆFØ˜S 1™WÑ%ˆFÙ�6 &Õ)Ø—>‘> VÑ+Ð+Ñ+r.   r   )r-   r!   r  r
   r   )r$   r&   r'   rH   r—  r–  rG   s        @@r,   Útest_concurrencyz,TestRegularGridInterpolator.test_concurrency  se   ù€ Ø×,Ñ,¬RÓ0‰ˆ�Ü—‘Ò3Ú3Ú3Ú3ð5ó 6ˆô )¨°À	ÔJˆð ˜iÐ(ˆõ	,ô 	   I¨vÕ6r.   )6Ú__name__Ú
__module__Ú__qualname__r-   r4   r;   r=   Úparametrize_rgi_interp_methodsrK   r\   ÚmarkÚparametrizer^   r!   r    rf   rr   r}   r�   r—   rœ   r¥   r¨   r«   r¯   r¾   rÁ   rÅ   rÏ   rÑ   rÜ   rã   rì   Úfloat32rq   rü   r  rÄ   r  r  r-  r4  Ú	fail_slowrP  rY  r[  ri  rz  r|  Ú	complex64Ú
complex128r…  r�  r˜  rƒ   r.   r,   r   r      s  „ ò	ò	ò	ò	ð $ñ ó $ð ð  ‡[�[×Ñ˜XÒ'DÓEñ*ó Fð*ð  ‡[�[×ÑØð Ø�—
‘
Ú%Ú&Ú%ð'óðð ˜z˜rŸz™zÒ*?Ó@ÐAð
	
óñ óð òOð* $ñ ó $ð ò"Cò:ò:ð ‡[�[×ÑØâ! 6Ð*Ú! 3Ð'Ú! 3Ð'Ú! 6Ð*Ú! 6Ð*ð	
ó	ñ:ó	ð:ò:ò,ò$ò KòKò:ò
Hò
Hð ‡[�[×Ñ˜X¨	°8Ð'<Ó=ñ3ó >ð3ò7ò?ð ‡[�[×Ñ˜W r§z¡z°2·:±:Ð&>Ó?Ø‡[�[×Ñ˜V¢YÓ/Ø‡[�[×Ñ˜X¨°)Ð'<Ó=ñ;ó >ó 0ó @ð;òz*$ðX ‡[�[×Ñ˜\¨D°"·&±&¸"¿%¹%Ð+@ÓAØ‡[�[×Ñ˜X¨°)Ð'<Ó=ñ>ó >ó Bð>ð4 ‡[�[×Ñ˜X¨	°8Ð'<Ó=ñ0ó >ð0ð< ‡[�[×Ñ˜X¨	°8Ð'<Ó=ñ"Có >ð"CðH ‡[�[×Ñ˜2ÓØ#Ø‡[�[×ÑÐ.Ø	
Ñ0Ð1Ø	
Ñ7Ð8Ø	
Ñ>Ð?Ø	
ÑEÐFð	1ó ñ=óó $ó ð=òB4ð $ñ&ó $ð&ð
 ‡[�[×Ñ˜1ÓØ#ñ;ó $ó ð;ð: $Ø‡[�[×Ñ˜]¨U°D¨MÓ:ñ';ó ;ó $ð';òR;ð> ‡[�[×ÑØØ	�‰�R—Z‘Z §¡¨r¯}©}Ð=óð ‡[�[×Ñ˜Z¨"¯*©*°b·j±jÐ)AÓBñAó Có	ð
Aò0ó87r.   r   c                   ó*   — e Zd ZdZd„ Zd„ Zd„ Zdd„Zy)rÚ   z"
    Minimal indexable object
    c                 ó˜   — d| _         || _        t        j                  t        j                  |«      «      j                  |«      | _        y r0  )rí   ré   r!   rê   ÚprodrÊ   rÛ   )r$   ré   s     r,   Ú__init__zMyValue.__init__,  s3   € ØˆŒ	ØˆŒ
Ü—)‘)œBŸG™G E›NÓ+×3Ñ3°EÓ:ˆ�r.   c                 ó    — | j                   |   S rQ   )rÛ   )r$   Úidxs     r,   Ú__getitem__zMyValue.__getitem__1  s   € Ø�w‰w�s‰|Ðr.   c                  ó   — y rQ   rƒ   )r$   s    r,   Ú__array_interface__zMyValue.__array_interface__4  s   € Ør.   Nc                 ó   — t        d«      ‚)NzNo array representation)ÚRuntimeError)r$   rl   Úcopys      r,   Ú	__array__zMyValue.__array__7  s   € ÜÐ4Ó5Ð5r.   )NN)r™  rš  r›  Ú__doc__r¦  r©  r«  r¯  rƒ   r.   r,   rÚ   rÚ   '  s   „ ñò;ò
òô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"                  j%                  d«      ed„ «       «       Zed„ «       Zd„ Zed„ «       Zd„ Zd„ Zej"                  j3                  dddg«      d„ «       Zeed„ «       «       Zd„ Zd„ Zd„ Zd„ Z d„ Z!d„ Z"d„ Z#ej"                  j3                  d d!d"g«      d#„ «       Z$y$)%Ú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   r8   r:   rU  rV  g      @)ri   r1   ri   r1   ri   ri   )ri   r1   r   r1   ri   ri   )ri   r1   r1   r1   ri   ri   )r!   r  )r$   r…   r†   r  s       r,   Ú_sample_2d_datazTestInterpN._sample_2d_data<  sR   € Ü�H‰HÒ.Ó/ˆÜ�H‰HÒ.Ó/ˆÜ�H‰Hâ"Ú"Ú"Ú"Ú"Ú"ðó	
ˆð �!�Qˆwˆr.   c           
      óˆ  — | j                  «       \  }}}t        |||«      }t        |||«      }t        j                  g d¢g d¢g«      j
                  }t        t        ||f||d¬«      |j                  |d d …df   |d d …df   «      «       t        t        ||f||d¬«      t        ||d d …df   |d d …df   d¬«      «       y )	N©ri   çffffff@r  r   r�  ç333333ó?r   ©ri   r�  r¸  rU  r2   r   r   Ú	splinef2drE   r   ri   F©Úgrid)r´  r   r   r!   r  r  r   r   Úevr   r   )r$   r…   r†   r  ÚlutÚ
lut_customrñ   s          r,   Útest_spline_2dzTestInterpN.test_spline_2dK  sÅ   € Ø×&Ñ&Ó(‰ˆˆ1ˆaÜ! ! Q¨Ó*ˆÜ˜Q  1Ó%ˆ
ä�X‰XÒ6Ú6ð8ó 9ß9:¹ð 	ä!¤'¨1¨a¨&°!°RÀÔ"LØ"%§&¡&¨ªA¨q¨D©°2²a¸°d±8Ó"<ô	>äœ  A ¨¨2°kÔBÜ"@Ø&0°"²Q¸°T±(¸BºqÀ!¸t¹HØ+0ô#2õ	3r.   c                 óF  — | j                  «       \  }}}t        j                  g d¢g d¢g«      j                  }t	        ||f|||¬«      }t	        |j                  «       |j                  «       f|j                  «       |j                  «       |¬«      }t        |||¬«       y )Nr¶  r¹  rE   )rc  )r´  r!   r  r  r   rF   r   )r$   r   r…   r†   r  rñ   rI   rJ   s           r,   rK   zTestInterpN.test_list_inputY  s‰   € à×&Ñ&Ó(‰ˆˆ1ˆaÜ�X‰XÒ6Ú6ð8ó 9ß9:¹ð 	ä�a˜�V˜Q ¨6Ô2ˆÜØ�X‰X‹Z˜Ÿ™›Ð$ a§h¡h£j°"·)±)³+Àfô
ˆô 	˜˜B¨Ö/r.   c           
      óf  — t        j                  g d¢«      }t        j                  g d¢«      }t        j                  g d¢g d¢g d¢g d¢g d¢g«      }t        |||«      }t        |||«      }t        j                  g d¢g d¢g«      j                  }t        ||f||ddd	¬
«      }|j                  |d d …df   |d d …df   «      }d	|dd t        ||«       t        ||d d …df   |d d …df   d¬«      }	d	|	dd t        ||	«       d	|	dd t        ||	«       t        t        t
        ||f||ddd ¬
«       y )NrW  ©ri   r1   ri   r1   ri   ©ri   r1   r   r1   ri   ©ri   r1   r1   r1   ri   ©ri   r·  r  r   r�  r¸  r   ©ri   r�  r¸  g      Àr2   r   r   rº  FçR¸…ë?�@rò   r   ri   r1   r   r»  )r!   r  r   r   r  r   r½  r   r   r   rp   r]   )
r$   r…   r†   r  r¾  r¿  rñ   ÚactualÚexpectedÚexpected_customs
             r,   Útest_spline_2d_outofboundsz&TestInterpN.test_spline_2d_outofboundsd  s:  € Ü�H‰HÒ*Ó+ˆÜ�H‰HÒ*Ó+ˆÜ�H‰H’o¢ºÚ%¢ð8ó 9ˆä! ! Q¨Ó*ˆÜ˜Q  1Ó%ˆ
ä�X‰XÒ6Ú7ð9ó :ß:;¹!ð 	ä˜!˜Q˜  B¨{Ø&+¸ô@ˆà—6‘6˜"šQ ˜T™( B¢q¨! t¡HÓ-ˆØˆ��1ˆÜ! &¨(Ô3ä8Ø˜š1˜a˜4™ "¢Q¨ T¡(°ô8ˆà%ˆ˜˜!ÐÜ˜ Ô0à%ˆ˜˜!ÐÜ˜ Ô0ô 	”j¤'¨A¨q¨6°1°bÀØ#(°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 r0   )r!   r    r"   )r$   r&   r'   r(   r)   r*   r+   s          r,   Ú_sample_4d_datazTestInterpN._sample_4d_data€  sÎ   € Ø� !Ñ# } o¸Ñ&9Ñ9ˆÜ—‘šLÓ)ˆØšœBŸJ™J¬¯
©
´B·J±JÐ>Ñ?ˆØœŸ™¢Q¬¯
©
´B·J±JÐ>Ñ?ˆØœŸ™¤R§Z¡Z²´B·J±JÐ>Ñ?ˆØœŸ™¤R§Z¡Z´·±ºQÐ>Ñ?ˆØ˜G b™LÑ(¨7°S©=Ñ8¸7ÀT¹>ÑIˆØ�vˆ~Ðr.   c                 ó´   — | j                  «       \  }}t        ||«      }t        j                  g d¢g«      }t	        |||d¬«      }t         ||«      |«       y )Nr_   rc   rE   ©rÎ  r
   r!   r    r   r   ©r$   r&   r'   Ú	interp_rgrG   r–   s         r,   Útest_linear_4dzTestInterpN.test_linear_4dŠ  sQ   € à×-Ñ-Ó/‰ˆ�Ü+¨F°FÓ;ˆ	Ü—‘Ò0Ð1Ó2ˆÜ˜ ¨¸ÔAˆÜ!¡)¨FÓ"3°VÕ<r.   c                 óÀ   — | j                  «       \  }}t        j                  g d¢g«      }t        j                  dg«      }t        |||ddd¬«      }t	        ||«       y )N©r@   r¶   g333333$@r`   rÈ  rc   Frò   ©rÎ  r!   r    r   r   ©r$   r&   r'   rG   r–   rÉ  s         r,   Útest_4d_linear_outofboundsz&TestInterpN.test_4d_linear_outofbounds’  sX   € à×-Ñ-Ó/‰ˆ�Ü—‘Ò2Ð3Ó4ˆÜ—‘˜V˜HÓ%ˆÜ˜ ¨¸Ø&+¸ô@ˆä! &¨&Õ1r.   c                 ó¸   — | j                  «       \  }}t        ||d¬«      }t        j                  g d¢g«      }t	        |||d¬«      }t         ||«      |«       y )Nr£   rE   r_   rÐ  rÑ  s         r,   Útest_nearest_4dzTestInterpN.test_nearest_4d›  sS   € à×-Ñ-Ó/‰ˆ�Ü+¨F°FÀ9ÔMˆ	Ü—‘Ò0Ð1Ó2ˆÜ˜ ¨¸	ÔBˆÜ!¡)¨FÓ"3°VÕ<r.   c                 óÀ   — | j                  «       \  }}t        j                  g d¢g«      }t        j                  dg«      }t        |||ddd¬«      }t	        ||«       y )NrÕ  rÈ  r£   Frò   rÖ  r×  s         r,   Útest_4d_nearest_outofboundsz'TestInterpN.test_4d_nearest_outofbounds£  sX   € à×-Ñ-Ó/‰ˆ�Ü—‘Ò2Ð3Ó4ˆÜ—‘˜V˜HÓ%ˆÜ˜ ¨¸	Ø&+¸ô@ˆä! &¨&Õ1r.   c                 óº   — | j                  «       \  }}t        j                  g d¢«      }t        |||d¬«      }t        |||d d d …f   d¬«      }t	        ||«       y )Nr_   F)r³   )rÎ  r!   r    r   r   ©r$   r&   r'   rG   rI   rJ   s         r,   Ú
test_xi_1dzTestInterpN.test_xi_1d¬  sU   € à×-Ñ-Ó/‰ˆ�Ü—‘Ò/Ó0ˆÜ�V˜V V¸%Ô@ˆÜ�V˜V V¨D²¨F¡^À%ÔHˆÜ˜˜BÕr.   c                 óv  — | j                  «       \  }}t        j                  j                  d«       t        j                  j	                  ddd«      }t        |||dd¬«      }|j                  dk(  sJ ‚t        |||j                  d	d«      dd¬«      }t        ||j                  |j                  «      «       y )
NrÞ   r1   r   r   r£   Fró   ©r1   r   rÇ   )	rÎ  r!   rà   rá   râ   r   ré   rÊ   r   rÞ  s         r,   Ú
test_xi_ndzTestInterpN.test_xi_nd´  s˜   € à×-Ñ-Ó/‰ˆ�ä
�	‰	�‰�tÔÜ—‘—‘  1 aÓ(ˆä�V˜V V°IØ"'ô)ˆà�x‰x˜6Ò!Ð!Ð!ä�V˜V V§^¡^°B¸Ó%:Ø%°Eô;ˆä˜˜BŸJ™J r§x¡xÓ0Õ1r.   c                 ó  — | j                  «       \  }}}||f}t        j                  ddd«      }t        j                  ddd«      }|d d …d f   |d d d …f   f}t        ||||d¬«      }	|	j                  dk(  sJ ‚t        j
                  ||«      \  }
}t        j                  |
j                  j                  «       |j                  j                  «       f   }t        ||||d¬«      }t        |	|j                  |	j                  «      «       y )Nr   ri   r1   r   Fró   rá  )r´  r!   rÙ   r   ré   r‰   Úc_r  Úravelr   rÊ   )r$   r   r…   r†   r'   r&   rñ   ÚyirG   rI   ÚxxÚyyrJ   s                r,   Útest_xi_broadcastzTestInterpN.test_xi_broadcastÃ  sê   € ð ×+Ñ+Ó-‰ˆˆ1ˆfØ�Q�ˆä�[‰[˜˜A˜qÓ!ˆÜ�[‰[˜˜A˜qÓ!ˆà’Q˜�W‘+˜r $ª '™{Ð+ˆÜ�V˜V V°FÈÔOˆØ�x‰x˜6Ò!Ð!Ð!ä—‘˜R Ó$‰ˆˆBÜ—‘�r—t‘t—z‘z“| R§T¡T§Z¡Z£\Ð1Ñ2ˆä�V˜V VØ"°ô8ˆä˜˜BŸJ™J r§x¡xÓ0Õ1r.   rÓ   c           
      óê  — |dk(  rt        j                  d«       dgdz  dgdz  z   }t        j                  j	                  d«      }|j                  d«      }|j                  d«      }t        ||||d	¬
«      }|j                  dk(  sJ |«       ‚t        d«      D �cg c]  }t        ||d|f   ||d	¬
«      ‘Œ }}t        j                  |«      j                  ddd«      }	t        ||	d|¬«       y c c}w r]  )r\   rx   r!   rà   r(  r   ré   rC  r  re  r   )
r$   r   r&   r*  r'   rG   rf  rh  rg  rJ   s
             r,   ri  z!TestInterpN.test_nonscalar_values×  s  € ð �YÒÜ�K‰K˜Ô(ð 1Ð1°AÑ5Ø,ð9
àñ9ñ ˆô �i‰i×#Ñ# DÓ)ˆØ—‘˜OÓ,ˆØ—‘˜IÓ&ˆä�F˜F F°6Ø!&ô(ˆà�w‰w˜)Ò#Ð+ VÓ+Ð#ô 49¸³8ö=Ø./ô �f˜f S¨! V™n¨f¸VØ#(ö*ð =ˆð =ä�X‰X�b‹\×#Ñ# A q¨!Ó,ˆä˜˜2 E°6Ö:ùò	=s   ÂC0c                 óH  — |dv rt        j                  d«       g d¢}t        j                  j	                  d«      }d}|j                  dddd	g|¢­«      }|j                  d
«      }t        ||||d¬«      }|j                  dg|¢­k(  sJ ‚t        |j                  d   «      D ��	cg c]<  }t        |j                  d   «      D �	cg c]  }	t        ||d|	|f   ||d¬«      ‘Œ c}	‘Œ> }
}}	t        |t        j                  |
«      j                  d|¬«       y c c}	w c c}	}w )N>   rL   rM   r^  rl  rÞ   rp  r  rÔ   r1  rq  r   Fró   ri   rÇ   rr  .rˆ   rb  )r\   rx   r!   rà   r(  r   ré   rC  r   r    r  )r$   r   r&   r*  ry  r'   rG   rf  rh  r+  rg  s              r,   rz  z#TestInterpN.test_nonscalar_values_2ñ  s&  € ð Ð)Ñ)Ü�K‰K˜Ô(òDˆô
 �i‰i×#Ñ# DÓ)ˆà ˆà—‘˜Q  1 aÐ:¨/Ñ:Ó;ˆØ—‘˜A“ˆä�F˜F F°6ÈÔNˆð �w‰w˜1Ð/˜Ñ/Ò/Ð/Ð/ô ˜vŸ|™|¨BÑ/Ó0÷2ð ô 6;¸6¿<¹<ÈÑ;KÓ5Löà01ô ˜  s¨A¨q yÑ 1°6À&Ø%*ö,ôð 2ˆñ 2ô
 	˜œ2Ÿ:™: b›>×+Ñ+°%ÀÖHùòùó 2s   Â(DÃDÃ$DÄDc                 ó"  — | j                  «       \  }}t        j                  j                  d«       t        j                  j	                  ddddd«      }t        j                  j	                  ddd«      }t        t        t        |||d¬«       y )	NrÞ   r   r  rÔ   r  r   rº  rE   )rÎ  r!   rà   rá   râ   rp   r]   r   )r$   r&   r'   rG   s       r,   Ú test_non_scalar_values_splinef2dz,TestInterpN.test_non_scalar_values_splinef2d  si   € à×-Ñ-Ó/‰ˆ�ä
�	‰	�‰�tÔÜ—‘—‘  1 a¨¨AÓ.ˆÜ—‘—‘  2 qÓ)ˆÜ”j¤'¨6°6¸6Ø(ö	*r.   c                 ól  — |dk(  rt        j                  d«       | j                  «       \  }}}||f}|d|z  z
  }t        j                  g d¢g d¢g«      j
                  }t        ||||¬«      }t        ||j                  ||¬«      }t        ||j                  ||¬«      }	|d|	z  z   }
t        ||
«       y )NrN   rt   rv   r¶  r¹  rE   rw   )
r\   rx   r´  r!   r  r  r   ry   rz   r   )r$   r   r…   r†   r'   r&   rG   rI   Úv2rÚv2irJ   s              r,   r}   zTestInterpN.test_complex  s´   € à�WÒÜ�K‰KÐDÔEà×+Ñ+Ó-‰ˆˆ1ˆfØ�Q�ˆØ˜"˜V™)Ñ#ˆä—‘Ò:Ú:ð<ó =ß=>¹Qð 	ô �V˜V V°FÔ;ˆÜ�f˜fŸk™k¨6¸&ÔAˆÜ�f˜fŸk™k¨6¸&ÔAˆØ�2�c‘6‰\ˆä˜˜BÕr.   c                 ó  — | j                  «       \  }}}||f}|d|z  z
  }t        j                  g d¢g d¢g«      j                  }t	        j
                  t        d¬«      5  t        |||d¬«       d d d «       y # 1 sw Y   y xY w)Nrv   r¶  r¹  ry   rY   rN   rE   )r´  r!   r  r  r\   r	   r]   r   ©r$   r…   r†   r'   r&   rG   s         r,   Útest_complex_pchipzTestInterpN.test_complex_pchip/  s   € à×+Ñ+Ó-‰ˆˆ1ˆfØ�Q�ˆØ˜"˜V™)Ñ#ˆä—‘Ò:Ú:ð<ó =ß=>¹Qð 	ä�]‰]œ:¨VÔ4ñ 	<Ü�F˜F F°7Õ;÷	<÷ 	<ñ 	<ús   Á!A:Á:Bc                 ó  — | j                  «       \  }}}||f}|d|z  z
  }t        j                  g d¢g d¢g«      j                  }t	        j
                  t        «      5  t        |||d¬«       d d d «       y # 1 sw Y   y xY w)Nrv   r¶  r¹  rº  rE   )r´  r!   r  r  r\   Úwarnsr   r   rò  s         r,   Útest_complex_spline2fdz"TestInterpN.test_complex_spline2fd:  s�   € à×+Ñ+Ó-‰ˆˆ1ˆfØ�Q�ˆØ˜"˜V™)Ñ#ˆä—‘Ò:Ú:ð<ó =ß=>¹Qð 	ä�\‰\œ.Ó)ñ 	@Ü�F˜F F°;Õ?÷	@÷ 	@ñ 	@ús   ÁA8Á8Br   rc   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
¬«       y )Nr   r1   rÓ   ri   rÔ   rÕ   r    rÖ   rE   Fr×   )r!   rÙ   rÚ   r   rÛ   r   )r$   r   r…   r†   r'   rI   rJ   s          r,   rÜ   z"TestInterpN.test_duck_typed_valuesE  sq   € ô
 �K‰K˜˜1˜aÓ ˆÜ�K‰K˜˜1˜aÓ ˆä˜“ˆä�a˜�V˜V c¨3 Z¸Ô?ˆÜ�a˜�V˜VŸY™Y¨¨c¨
¸6ÔBˆÜ˜˜B¨EÖ2r.   c                 ó   — t        j                  ddd«      }t        j                  ddd«      }t        t         j                  j	                  dd«      «      }t         j                  j	                  ddd«      }t        ||f|||¬«      }t        ||ft        j                  |«      ||¬«      }|dk(  rt        ||d	d
¬«       yt        ||«       y)z8np.matrix inputs are allowed for backwards compatibilityr   r1   r  ri   rÔ   r   rE   rM   g-Cëâ6
?g�íµ ÷ÆÀ>)ro   r‚  N)r!   rÙ   r   rà   râ   r   r    r   )r$   r   r…   r†   r'   rG   rI   rJ   s           r,   Útest_matrix_inputzTestInterpN.test_matrix_inputS  s¨   € ô �K‰K˜˜1˜aÓ ˆÜ�K‰K˜˜1˜aÓ ˆäœŸ	™	Ÿ™ q¨!Ó,Ó-ˆä—‘—‘  1 aÓ(ˆä�a˜�V˜V V°FÔ;ˆÜ�a˜�VœRŸZ™Z¨Ó/°ÀÔGˆØ�YÒä˜B ¨°DÖ9ä˜B Õ#r.   c                 ó:  — 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¬	«       y )N)r@   ri   r   ri   gš™™™™™@gš™™™™™	@gffffff@)r1   r   r   )gìQ¸…ëÑ?gffffff@gffffff @rm   rn   r®   r7   gffffffÀFr²   )r!   r  r   r   )r$   r'   rñ   r,  r–   s        r,   r  z TestInterpN.test_length_one_axisf  s¬   € ô
 —‘š<˜.Ó)ˆÜ�X‰X˜˜3�x ! S ¨A¨s¨8Ð4Ó5ˆä˜�sšIÐ&¨°Ó3ˆòˆô 	˜˜V¨%Õ0ô �X‰X˜˜S�z C¨ :°°c¨{Ð;Ó<ˆÜ˜�sšIÐ&¨°Ø#(°Tô;ˆô 	˜˜V¨%Ö0r.   c           	      óP  — 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        |	|«       y )Nc                 ó0   — d| dz  z  d|dz  z  z   |z
  |z
  S r8  rƒ   r;  s       r,   Úvalue_func_4dz9TestInterpN.test_descending_points.<locals>.value_func_4d}  s'   € Ø�q˜A‘v‘:  A¨¡F¡
Ñ*¨QÑ.°Ñ2Ð2r.   )r   ri   r1   r   )r   r   ræ   rç   )r   r@   rC   r
  r€   Tr   r@   r
  r   rç   r   rÇ   )r!   r  r‰   re  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_pointsz"TestInterpN.test_descending_points|  s!  € ò	3ô �X‰X’lÓ#ˆÜ�X‰X’oÓ&ˆÜ�X‰X’oÓ&ˆÜ�X‰XÒ&Ó'ˆØ�b˜"˜bÐ!ˆÙÜ�[‰[˜&¨4¸Ò=ð?ˆà�CœŸ™¤b§k¡k°!°R¸Ó&;Ó<Ü�{‰{˜1˜c 1Ó%ð'ˆä  ¨°Ó5ˆà™˜"˜‘Xˆ
Ø™˜"˜‘Xˆ
Ø™˜"˜‘Xˆ
Ø™˜"˜‘Xˆ
Ø% z°:¸zÐJˆÙ'Ü�[‰[˜/°DÀÒFðHˆä˜o¨ÀÓDˆä˜¨Õ4r.   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 «       y # 1 sw Y   y xY w)
NrT  rW  rÃ  rÄ  rÅ  rÆ  rÇ  rX  rY   )r!   r  r  r\   r	   r]   r   )r$   r…   r†   r  rñ   rZ   s         r,   rY  z%TestInterpN.test_invalid_points_order–  s™   € Ü�H‰HÒ*Ó+ˆÜ�H‰HÒ*Ó+ˆÜ�H‰H’o¢ºÚ%¢ð8ó 9ˆä�X‰XÒ6Ú7ð9ó :ß:;¹!ð 	ð ;ˆÜ�]‰]œ:¨UÔ3ñ 	#Ü�Q˜�F˜A˜rÔ"÷	#÷ 	#ñ 	#ús   ÂB.Â.B7c                 ó¦   — dg}ddg}t        j                  d«      }d}t        t        |¬«      5  t	        |||«       d d d «       y # 1 sw Y   y xY w)N)r   ri   r   ri   )ri   ri   r   zaThe requested sample points xi have dimension 3, but this RegularGridInterpolator has dimension 1rY   )r!   rè   rp   r]   r   )r$   r&   r'   rñ   Úmsgs        r,   Útest_invalid_xi_dimensionsz&TestInterpN.test_invalid_xi_dimensions¢  sR   € à�ˆØ�Q�ˆÜ�W‰W�YÓˆð9ˆäœ:¨SÔ1ñ 	(Ü�F˜F BÔ'÷	(÷ 	(ñ 	(ús   °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        ||«      |«       y )	Nr   r   rÓ   r  rÔ   ©rÓ   r  rÔ   ©ç®Gáz®@çö(\�Âõ@gffffffò?F©r!   rÙ   rè   r  ÚflagsÚ	writeabler   r
   )r$   r…   r†   r  r&   r'   ÚpointÚds           r,   Útest_readonly_gridzTestInterpN.test_readonly_grid¬  s±   € ä�K‰K˜˜1˜aÓ ˆÜ�K‰K˜˜1˜aÓ ˆÜ�K‰K˜˜1˜aÓ ˆØ�Q˜�ˆÜ—‘˜Ó#ˆÜ—‘Ò+Ó,ˆØò 	&ˆAØ %ˆA�G‰GÕð	&à!&ˆ�‰ÔØ %ˆ�‰ÔÜ�˜ Ô&Ø/Ô ¨Ó/°Õ6r.   c                 ór  — 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        ||«      |«       y )	Nr   r   rÓ   r  ©rÓ   r  r  r  Fr  )r$   r…   r†   r&   r'   r  r  s          r,   Útest_2d_readonly_gridz!TestInterpN.test_2d_readonly_grid»  s¡   € ô �K‰K˜˜1˜aÓ ˆÜ�K‰K˜˜1˜aÓ ˆØ�Q�ˆÜ—‘˜“ˆÜ—‘˜$ ˜Ó&ˆØò 	&ˆAØ %ˆA�G‰GÕð	&à!&ˆ�‰ÔØ %ˆ�‰ÔÜ�˜ Ô&Ø/Ô ¨Ó/°Õ6r.   c                 óð  — t        j                  ddd«      }t        j                  |t        j                  |«      f«      j                  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        ||«      |«       y )Nr   r   rÓ   r  rÔ   r  r  )r!   rÙ   r  Ú
empty_liker  r®  r  Úc_contiguousrè   r  r   r
   )r$   r…   r†   r  r&   r'   r  s          r,   Útest_non_c_contiguous_gridz&TestInterpN.test_non_c_contiguous_gridÊ  sÅ   € ä�K‰K˜˜1˜aÓ ˆÜ�I‰I�qœ"Ÿ-™-¨Ó*Ð+Ó,×.Ñ.×3Ñ3Ó5²a¸°dÑ;ˆØ—7‘7×'Ò'Ð'Ð'Ü�K‰K˜˜1˜aÓ ˆÜ�K‰K˜˜1˜aÓ ˆØ�Q˜�ˆÜ—‘˜Ó#ˆÜ—‘Ò+Ó,ˆÜ�˜ Ô&Ø/Ô ¨Ó/°Õ6r.   rl   z>f8z<f8c                 ó  — t        j                  ddd|¬«      }t        j                  ddd|¬«      }||f}t        j                  d|¬«      }t        j                  ddg|¬«      }t	        |||«        t        ||«      |«       y )	Nr   r   rÓ   rk   r  r  r  r  )r!   rÙ   rè   r  r   r
   )r$   rl   r…   r†   r&   r'   r  s          r,   Útest_endiannesszTestInterpN.test_endianness×  sw   € ô �K‰K˜˜1˜a uÔ-ˆÜ�K‰K˜˜1˜a uÔ-ˆØ�Q�ˆÜ—‘˜ uÔ-ˆÜ—‘˜$ ˜¨UÔ3ˆÜ�˜ Ô&Ø/Ô ¨Ó/°Õ6r.   N)%r™  rš  r›  r´  rÀ  rœ  rK   rÌ  rÎ  rÓ  rØ  rÚ  rÜ  rß  râ  ré  r\   r�  r   ri  rz  rí  r}   ró  rö  rž  rÜ   r   rù  r  r
  rY  r  r  r  r   r"  rƒ   r.   r,   r²  r²  ;  sX  „ òò3ð $ñ0ó $ð0ò;ò8ò=ò2ò=ò2ò ò2ð $ñ2ó $ð2ð& ‡[�[×Ñ˜1ÓØ#ñ;ó $ó ð;ð0 $ñIó $ðIò@*ð $ñ ó $ð ò$	<ò	@ð ‡[�[×ÑØØ	�9Ðóñ3ó	ð3ð Ø#ñ$ó $ó ð$ò"1ò,5ò4
#ò(ò7ò7ò7ð ‡[�[×Ñ˜W u¨e nÓ5ñ	7ó 6ñ	7r.   r²  )#rÈ   r\   Únumpyr!   Únumpy.exceptionsr   Úscipy._lib._array_apir   r   r   r   Úscipy.conftestr   r	   rp   Úscipy.interpolater
   r   r   r   r   Úscipy.interpolate._regridr   r   Úscipy.sparse._sputilsr   Úscipy._lib._testutilsr   r�  rž  Ú_ALL_METHODSrœ  r   rÚ   r²  rƒ   r.   r,   ú<module>r,     s™   ðÛ ã Û å +÷ó õ /å *÷Lõ L÷Nõ )Ý 9ð "(§¡×!8Ñ!8ØÐ%×2Ñ2ó"Ð ñ Ð*Ó+÷E7ð E7ó ,ðE7÷P6ñ 6÷(f7ò f7r.   