Ë
    âQ(hÅ´  ã                   ó  — 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	 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 d dlmZ d d	lmZ ej4                  j7                  d
ej8                  «      Z G d„ d«      Z G d„ d«      Z G d„ d«      Z y)é    N)Úassert_warns)Úxp_assert_equalÚxp_assert_closeÚassert_array_almost_equal)Úskip_xp_invalid_arg)Úraises)ÚRegularGridInterpolatorÚinterpnÚRectBivariateSplineÚNearestNDInterpolatorÚLinearNDInterpolator)Úmatrix)ÚComplexWarning)Ú_run_concurrent_barrierÚmethodc                   óÖ  — 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 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                  j                  dd'd(g«      d)„ «       Zd*„ Zd+„ Z d,„ Z!e	j                  j                  d-d.ejD                  ejF                  g«      e	j                  j                  dd(d'g«      d/„ «       «       Z$e	j                  j                  dd'd(g«      d0„ «       Z%e	j                  j                  dd'd(g«      d1„ «       Z&e	j                  jO                  d2«      ee	j                  j                  d3d4d5„ fd6d7„ fd8d9„ fd:d;„ fg«      d<„ «       «       «       Z(d=„ Z)ed>„ «       Z*e	j                  jO                  d:«      ed?„ «       «       Z+ee	j                  j                  d@dAdBg«      dC„ «       «       Z,dD„ Z-e	j                  j                  dEej\                  ej^                  ej`                  ejb                  g«      e	j                  j                  dFej\                  ej^                  g«      dG„ «       «       Z2dH„ Z3e	j                  jh                  dI„ «       Z5y.)JÚ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/skyplay_api_hub/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   }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ˆÜ—‘š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  }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_32   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  }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_4=   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        j                  g d¢g d¢g d¢g«      }t        ||j	                  «       |¬«      } ||j	                  «       «      }t        |||¬«      } ||«      }t        ||«       y )N©çš™™™™™¹?r=   r   çÍÌÌÌÌÌì?©çš™™™™™É?r=   gÍÌÌÌÌÌÜ?gš™™™™™é?©r   r   r   r   ©r   )r8   r   r   r	   Útolistr   )r"   r   r#   r$   ÚsampleÚinterpÚv1Úv2s           r)   Útest_list_inputz+TestRegularGridInterpolator.test_list_inputH   sƒ   € à×.Ñ.Ó0‰ˆ�ä—‘Ò/Ò1DÚ/ð1ó 2ˆô )¨Ø)/¯©«Ø06ô8ˆñ �F—M‘M“OÓ$ˆÜ(¨Ø)/Ø06ô8ˆñ �F‹^ˆÜ˜˜BÕr+   r   )ÚcubicÚquinticÚpchipc                 ór  — | j                  «       \  }}d}t        j                  t        |¬«      5  t	        |||¬«       d d d «       t	        ||«      }t        j                  g d¢g d¢g d¢g«      }t        j                  t        |¬«      5   |||¬«       d d d «       y # 1 sw Y   ŒbxY w# 1 sw Y   y xY w)Nzpoints in dimension©ÚmatchrB   r<   r?   rA   )r:   Úpytestr   Ú
ValueErrorr	   r   r   )r"   r   r#   r$   rN   rE   rD   s          r)   Útest_spline_dim_errorz1TestRegularGridInterpolator.test_spline_dim_errorY   sª   € à×.Ñ.Ó0‰ˆ�Ø%ˆô �]‰]œ:¨UÔ3ñ 	CÜ# F¨F¸6ÕB÷	Cô )¨°Ó8ˆÜ—‘Ò/Ò1DÚ/ð1ó 2ˆä�]‰]œ:¨UÔ3ñ 	*Ù�6 &Õ)÷	*ð 	*÷	Cð 	Cú÷	*ð 	*ús   ±B!ÂB-Â!B*Â-B6zpoints_values, sampler<   r?   rA   ©r=   r=   r0   ç      "@c                 óŠ   —  || «      \  }}t        ||d¬«      } ||«      }t        ||d¬«      } ||«      }t        ||«       y )NÚlinearrB   Úslinear)r	   r   )r"   Úpoints_valuesrD   r#   r$   rE   rF   rG   s           r)   Útest_linear_and_slinear_closez9TestRegularGridInterpolator.test_linear_and_slinear_closei   sJ   € ñ ' tÓ,‰ˆ�Ü(¨°ÀÔIˆÙ�F‹^ˆÜ(¨°À	ÔJˆÙ�F‹^ˆÜ˜˜BÕr+   c                 óà  — | j                  «       \  }}t        j                  g d¢g d¢g d¢g«      }t        ||d¬«      }t	        t
        «      5   ||d¬«       d d d «       t         ||d¬«      t        j                  g d	¢«      d
¬«       t         ||d¬«      t        j                  g d¢«      d
¬«       t         ||d¬«      t        j                  g d¢«      d¬«       y # 1 sw Y   Œ‹xY w)Nr<   r?   rA   rV   rB   é   )Únu)rZ   r   r   r   )r   rZ   rZ   çVçž¯Ò<©Úatol)r   rZ   r   r   )r0   r   r   )r   rZ   rZ   r   )r   r   r   gê-�™—�=)r*   r   Úarrayr	   Úassert_raisesrP   r   r   )r"   r#   r$   rD   rE   s        r)   Útest_derivativesz,TestRegularGridInterpolator.test_derivatives   sÉ   € Ø×,Ñ,Ó.‰ˆ�Ü—‘Ò3Ú3Ú3ð5ó 6ˆô )¨°À	ÔJˆäœ:Ó&ñ 	!á�6˜aÕ ÷	!ô 	™˜v¨,Ô7ÜŸ
™
¢;Ó/°eõ	=ä™˜v¨,Ô7ÜŸ
™
¢>Ó2¸õ	@ô 	™˜v¨,Ô7ÜŸ
™
¢;Ó/°eö	=÷	!ð 	!ús   ÁC$Ã$C-c                 óv  — |dk(  rt        j                  d«       | j                  «       \  }}|d|z  z
  }t        j                  g d¢g d¢g d¢g«      }t        |||¬«      }t        ||j                  |¬«      }t        ||j                  |¬«      } ||«      } ||«      d ||«      z  z   }	t        ||	«       y )	NrK   ú*pchip does not make sense for complex dataù               @r<   r?   rA   rB   ù              ð?)	rO   Úskipr8   r   r   r	   ÚrealÚimagr   )
r"   r   r#   r$   rD   rE   ÚrinterpÚiinterprF   rG   s
             r)   Útest_complexz(TestRegularGridInterpolator.test_complex“   s±   € à�WÒÜ�K‰KÐDÔEØ×.Ñ.Ó0‰ˆ�Ø˜"˜V™)Ñ#ˆÜ—‘Ò/Ò1DÚ/ð1ó 2ˆô )¨°ÀÔGˆÜ)¨&°&·+±+ÀfÔMˆÜ)¨&°&·+±+ÀfÔMˆá�F‹^ˆÙ�V‹_˜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 ‚y )N)rZ   r.   é   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+   rI   rB   rK   r4   r.   ç›+¡†›„=r   ©r^   Úrtol)r   Úmeshgridr	   Úallclose)
r"   rs   rt   ÚxgÚygr$   rI   rK   Ú
vals_cubicÚ
vals_pchips
             r)   Útest_cubic_vs_pchipz/TestRegularGridInterpolator.test_cubic_vs_pchip¤   s†   € Úš\ˆ1ˆÜ—‘˜Q ¨DÔ1‰ˆˆBâ*¨B°Ó3ˆÜ'¨¨A¨°¸wÔGˆÜ'¨¨A¨°¸wÔGˆá˜C ˜8“_ˆ
Ù˜C ˜8“_ˆ
Ü—;‘;˜z¨:¸EÈÕJÐJÐJÐJr+   c                 óÀ   — | j                  «       \  }}t        ||«      }t        j                  g d¢«      }t        j                  dg«      }t	         ||«      |«       y )NrR   çÍÌÌÌÌH�@©r1   r	   r   r   r   ©r"   r#   r$   rE   rD   Úwanteds         r)   Útest_linear_xi1dz,TestRegularGridInterpolator.test_linear_xi1d°   sM   € Ø×.Ñ.Ó0‰ˆ�Ü(¨°Ó8ˆÜ—‘Ò/Ó0ˆÜ—‘˜V˜HÓ%ˆÜ!¡&¨£.°&Õ9r+   c                 óÐ   — | j                  «       \  }}t        ||«      }t        j                  g d¢g d¢g d¢g«      }t        j                  g d¢«      }t	         ||«      |«       y )Nr<   r?   rA   ©r�   gš™™™™qŠ@g     \�@©r*   r	   r   r   r   rƒ   s         r)   Útest_linear_xi3dz,TestRegularGridInterpolator.test_linear_xi3d·   sY   € Ø×,Ñ,Ó.‰ˆ�Ü(¨°Ó8ˆÜ—‘Ò/Ò1DÚ/ð1ó 2ˆä—‘Ò2Ó3ˆÜ!¡&¨£.°&Õ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                 ó–   — | j                  «       \  }}t        ||d¬«      }t        j                  |g«      }t	         ||«      |«       y )NÚnearestrB   rˆ   )r"   rD   r„   r#   r$   rE   s         r)   Útest_nearestz(TestRegularGridInterpolator.test_nearest¿   sB   € ð ×,Ñ,Ó.‰ˆ�Ü(¨°À	ÔJˆÜ—‘˜V˜HÓ%ˆÜ!¡&¨£.°&Õ9r+   c                 óÊ   — | j                  «       \  }}t        ||«      }t        j                  g d¢g d¢g«      }t        j                  ddg«      }t	         ||«      |«       y )NrŠ   r‹   r   rŒ   rˆ   rƒ   s         r)   Útest_linear_edgesz-TestRegularGridInterpolator.test_linear_edgesÏ   sU   € Ø×,Ñ,Ó.‰ˆ�Ü(¨°Ó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   ÚundefmethodrB   )r   r   r    r`   rP   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                 óL  — | j                  «       \  }}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
        ||«       y )NrŠ   r‹   r”   )r   r   r   )r   r   r   )r   r   r   çš™™™™™ñ?)r*   r	   r   r   r`   rP   )r"   r#   r$   rE   rD   s        r)   Útest_valid_callz+TestRegularGridInterpolator.test_valid_callè   sƒ   € Ø×,Ñ,Ó.‰ˆ�Ü(¨°Ó8ˆÜ—‘Ò-Ò/?Ð@ÓAˆÜ”j &¨&°-Ô@Ü—‘š\ª<Ð8Ó9ˆÜ”j &¨&Ô1Ü—‘Ò-Ò/@ÐAÓBˆÜ”j &¨&Õ1r+   c                 ó6  — | j                  «       \  }}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¬	«      |«       y )NF©Úbounds_errorÚ
fill_value©çš™™™™™¹¿rž   rž   rž   ©r—   r—   r—   r—   ©é   çÍÌÌÌÌÌ @çš™™™™™ñ¿iõÿÿÿ©r¢   r¢   r£   r£   )r   rŒ   ç      &@r¥   r�   rB   )gfffffÆ[Àgfffff“@g     žÅÀgš™™™™‹’ÀrU   rˆ   rƒ   s         r)   Útest_out_of_bounds_extrapz5TestRegularGridInterpolator.test_out_of_bounds_extrapò   sˆ   € Ø×,Ñ,Ó.‰ˆ�Ü(¨°ÀeØ48ô:ˆä—‘Ò1Ò3GÚ1Ò3IðKó Lˆä—‘Ò1Ó2ˆÜ!¡&¨¸	Ô"BÀFÔKÜ—‘Ò>Ó?ˆÜ!¡&¨¸Ô"AÀ6ÕJr+   c                 ó6  — | j                  «       \  }}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¬	«      |«       y )NFrš   r�   rŸ   r    r¤   )r   r¥   r¥   r¥   r�   rB   )g333333(Àg33333£`@g     ´�Àgš™™™™yXÀrU   r‚   rƒ   s         r)   Útest_out_of_bounds_extrap2z6TestRegularGridInterpolator.test_out_of_bounds_extrap2ý   sˆ   € Ø×.Ñ.Ó0‰ˆ�Ü(¨°ÀeØ48ô:ˆä—‘Ò1Ò3GÚ1Ò3IðKó Lˆä—‘Ò/Ó0ˆÜ!¡&¨¸	Ô"BÀFÔKÜ—‘Ò9Ó:ˆÜ!¡&¨¸Ô"AÀ6ÕJr+   c                 ó  — | j                  «       \  }}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         ||«      |«       y )NFrš   r�   rŸ   r¤   r�   rB   rU   r<   r?   rA   r‡   )r*   r	   r   Únanr   r   rƒ   s         r)   Útest_out_of_bounds_fillz3TestRegularGridInterpolator.test_out_of_bounds_fill  sÃ   € Ø×,Ñ,Ó.‰ˆ�Ü(¨°À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                 ób  — | j                  «       \  }}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�   rB   éÿÿÿÿr<   r?   rA   )	r*   r	   Ú	itertoolsÚproductr   r   Úreshaper   r   ©	r"   r#   r$   rE   Úpoints_qhullÚpÚvalues_qhullÚinterp_qhullrD   s	            r)   Útest_nearest_compare_qhullz6TestRegularGridInterpolator.test_nearest_compare_qhull  s¡   € Ø×,Ñ,Ó.‰ˆ�Ü(¨°À	ÔJˆÜ ×(Ñ(¨&Ð1ˆØ#/Ö0˜ašÐ0ˆÐ0Ü—z‘z ,Ó/ˆØ—~‘~ bÓ)ˆÜ,¨\¸<ÓHˆÜ—‘Ò/Ò1DÚ/ð1ó 2ˆä!¡&¨£.±,¸vÓ2FÕGùò 1s   ¸	B,c                 ó^  — | j                  «       \  }}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<   r?   rA   )	r*   r	   r®   r¯   r   r   r°   r   r   r±   s	            r)   Útest_linear_compare_qhullz5TestRegularGridInterpolator.test_linear_compare_qhull"  sŸ   € Ø×,Ñ,Ó.‰ˆ�Ü(¨°Ó8ˆÜ ×(Ñ(¨&Ð1ˆØ#/Ö0˜ašÐ0ˆÐ0Ü—z‘z ,Ó/ˆØ—~‘~ bÓ)ˆÜ+¨L¸,ÓGˆÜ—‘Ò/Ò1DÚ/ð1ó 2ˆä!¡&¨£.±,¸vÓ2FÕGùò 1s   ¶	B*r�   rU   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   r.   é   rZ   é   ©rº   r»   rB   r�   çffffffæ?F©Úcheck_dtype)r   ÚlinspaceÚMyValuer	   Ú_vr   )r"   r   rs   rt   r$   rE   rF   rG   s           r)   Útest_duck_typed_valuesz2TestRegularGridInterpolator.test_duck_typed_values.  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   r.   rº   rZ   r»   ©rœ   y      ð?       @)r   ÚrandomÚseedrÀ   Úrandr	   r`   rP   )r"   rs   rt   r$   s       r)   Útest_invalid_fill_valuez3TestRegularGridInterpolator.test_invalid_fill_value<  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>f4©Údtyper   rÆ   )r   ÚonesÚshapeÚaranger	   )r"   r$   Únr#   s       r)   Útest_fillvalue_typez/TestRegularGridInterpolator.test_fillvalue_typeI  sL   € ä—‘˜¨UÔ3ˆØ(.¯©Ö5 1”"—)‘)˜A•,Ð5ˆÐ5ä ¨Ô/Ü ¨¸2Ö>ùò 6s   ¦A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 ©Nrq   rr   s     r)   Úfz;TestRegularGridInterpolator.test_length_one_axis.<locals>.fU  s   € Ø�q‘5ˆLr+   rZ   r   rn   T©ro   ÚsparserU   Fée   ©r   r›   rœ   rº   )r5   é   é   rv   r]   gffffffö?ç333333@)ç333333@ç333333@rß   r—   rá   )r¿   Úcheck_shapeÚcheck_0dr^   ç333333Ó?g      '@gÍÌÌÌÌÌô?g      )@r\   r4   gffffffþ?r�   gÍÌÌÌÌÌü?éüÿÿÿgffffff@r7   rÞ   )r   rÀ   ry   r	   r   r_   r   rœ   )r"   rÙ   rs   rt   ÚdatarE   s         r)   Útest_length_one_axisz0TestRegularGridInterpolator.test_length_one_axisQ  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   r.   rÍ   r­   rZ   r   )r   rÀ   ÚpiÚsinr	   ÚzerosÚvstackÚTr   rÑ   Ú	full_like)r"   rœ   r   Úoptionsrs   Ú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)N)rZ   r.   rm   rÌ   rZ   Frê   ì   l¿J r   ©Úsizer   r   Úignore©Úinvalid)rm   rZ   )
r	   r   Úisnanrª   rÇ   Údefault_rngÚerrstateÚallr   rÑ   )	r"   r   rÙ   Úrngrs   ÚiÚresrt   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   rZ   r.   )rZ   rm   r»   c                 ó   — | dz  |dz  z   S ©Nr.   rq   rr   s     r)   rÙ   z4TestRegularGridInterpolator.test_nan_x_2d.<locals>.f¼  s   € Ø�a‘4˜!˜Q™$‘;Ðr+   rn   TrÚ   F©r   r›   rþ   rÿ   r4   rZ   r5   rv   r]   r   rû   r   rü   r   é   r   r¾   )r   r_   ry   r	   r  rª   r   r  rÇ   r  rï   r  r   )r"   r   rs   rt   rÙ   r{   r|   rç   rE   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Úfuncr.   c                 ó$   — d| dz  z  d|dz  z  z   S ©Nr.   rm   rq   rr   s     r)   ru   z$TestRegularGridInterpolator.<lambda>à  s   € ˜˜Q !™V™ a¨!¨q©&¡jÑ0€ r+   rm   c                 ó*   — d| dz  z  d|dz  z  z   |z
  S r  rq   )rs   rt   rò   s      r)   ru   z$TestRegularGridInterpolator.<lambda>á  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 r  rq   ©rs   rt   rò   Úas       r)   ru   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 r  rq   )rs   rt   rò   r  Úbs        r)   ru   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   >   rI   rJ   z-too slow; OOM (quintic); or nearly so (cubic)é*   rZ   rº   r.   rü   é   rn   TrÚ   rB   r­   )rO   rf   r   rÇ   r  ÚuniformÚrangerÀ   ry   r	   r   )r"   r   r  r  r  Ú
sample_lowÚsample_highÚtest_pointsÚ_Úascending_pointsÚascending_valuesÚascending_interpÚascending_resultÚxiÚdescending_pointsÚdescending_valuesÚdescending_interpÚdescending_results                     r)   Útest_descending_points_ndz5TestRegularGridInterpolator.test_descending_points_ndÝ  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 r  rq   rr   s     r)   Úval_func_2dzJTestRegularGridInterpolator.test_invalid_points_order.<locals>.val_func_2d  s   € Ø�q˜A‘v‘:  A¨¡F¡
Ñ*Ð*r+   ©r   r5   r   ç      @ç      @©r   r5   r7   r2  r3  rn   TrÚ   ú(must be strictly ascending or descendingrM   )r   r_   ry   rO   r   rP   r	   )r"   r0  rs   rt   r#   r$   rN   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   rE   s      r)   Útest_fill_valuez+TestRegularGridInterpolator.test_fill_value  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 ©NrJ   úWay too slow.©r   r   r   r4   r5   r6   r.   )r   r/   r0   ç      .@rÍ   ç      9@rÅ   )rÞ   rÞ   rÞ   rÞ   r  )r»   rm   r   Fr  )r»   rm   r  r  .rZ   r   rv   ©r^   Úerr_msg)rO   rf   r   rÇ   r  r	   rÒ   r  Úappendr_   Ú	transposer   )r"   r   r#   r  r$   rD   rE   ÚvÚvsÚjrG   s              r)   Útest_nonscalar_valuesz1TestRegularGridInterpolator.test_nonscalar_values  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>   rI   rJ   r;  ©r<  r3   )r   r/   r0   r=  rÍ   r>  ç     €A@ç      B@)	r   r/   r0   r=  rÍ   r>  rJ  rK  é/   rÅ   ©rm   r.   rÞ   r»   r  é	   r   Fr  rZ   éþÿÿÿr­   .r   ©Úaxisrv   r?  )rO   rf   ÚtupleÚreversedr   rÇ   r  r	   rÒ   Úemptyr  ÚitemÚexpand_dimsr   )r"   r   rG  r#   r³   r  Útrailing_pointsr$   rD   rE   rC  rD  r  rE  rG   s                  r)   Útest_nonscalar_values_2z3TestRegularGridInterpolator.test_nonscalar_values_28  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 )NrU   r<  r3   rÅ   )rm   r   rÞ   r»   r.   Fr  rZ   rO  r­   .r   rP  rv   r?  )
r   rÇ   r  r	   rÒ   rT  r  rU  rV  r   )r"   r   r#   r  rW  r$   rD   rE   rC  rD  r  rE  rG   s                r)   Útest_nonscalar_values_linear_2Dz;TestRegularGridInterpolator.test_nonscalar_values_linear_2Dc  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+   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 r  rq   rr   s     r)   rÙ   z:TestRegularGridInterpolator.test_float32_values.<locals>.f‰  s   € Ø�q˜!‘t‘8˜a ! Q¡$™hÑ&Ð&r+   rZ   r   rß   r»   é   rn   TrÚ   r¢   gÍÌÌÌÌÌ@çffffff
@gÍÌÌÌÌÌ@rÏ   g Öú¦YÃ`@gÖÉø{Ò,c@gH¯¼šò×z>F)r^   rx   r¿   )r   rÀ   ry   Úastyper	   r_   r   )r"   rÐ   r[  rÙ   rs   rt   r{   r|   rç   rE   Ú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   rm   r»   rn   TrÚ   c                 ó   — | S rØ   rq   ©rs   s    r)   ru   z=TestRegularGridInterpolator.test_bad_solver.<locals>.<lambda>§  s   € À1€ r+   )ÚsolverrV   c                 ó   — | S rØ   rq   re  s    r)   ru   z=TestRegularGridInterpolator.test_bad_solver.<locals>.<lambda>¬  ó   € À€ r+   )r   rf  c                 ó   — | S rØ   rq   re  s    r)   ru   z=TestRegularGridInterpolator.test_bad_solver.<locals>.<lambda>²  rh  r+   Úwoof)r   rf  rj  r  )r   Úsolver_args)r   rÀ   ry   r`   rP   r	   Ú	TypeError)r"   rs   rt   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        j                  g d¢g d¢g d¢g d¢g«      Št        ||d¬«      }ddgŠˆˆfd„}t	        d	||«       y )
Nr<   r?   rA   )rå   r=   r@   r�   rV   rB   r�   c                 ób   •— |j                   }‰| dz     } |‰|¬«       |j                   |u sJ ‚y )Nr.   rB   )Ú_spline)ÚtidrE   Úspliner   ÚmethodsrD   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$   rE   rt  rs  rD   s        @@r)   Útest_concurrencyz,TestRegularGridInterpolator.test_concurrency»  sc   ù€ à×,Ñ,Ó.‰ˆ�Ü—‘Ò3Ú3Ú3Ú3ð5ó 6ˆô )¨°À	ÔJˆð ˜iÐ(ˆõ	,ô 	   I¨vÕ6r+   )6Ú__name__Ú
__module__Ú__qualname__r*   r1   r8   r:   Úparametrize_rgi_interp_methodsrH   rO   ÚmarkÚparametrizerQ   r   r   rX   ra   rk   r   r…   r‰   r�   r’   r•   r˜   r¦   r¨   r«   r¶   r¸   rÃ   rÊ   rÕ   rè   rª   rë   rù   r  r  Ú	fail_slowr-  r6  r8  rF  rX  rZ  Úfloat32Úfloat64Ú	complex64Ú
complex128rb  rm  Úthread_unsaferu  rq   r+   r)   r   r      sú  „ ò	ò	ò	ò	ð $ñ ó $ð ð  ‡[�[×Ñ˜XÒ'DÓEñ*ó Fð*ð ‡[�[×ÑØð Ø�—
‘
Ú)Ú*Ú)ð+óðð ˜z˜rŸz™zÒ*?Ó@ÐAð
	
óñ óð ò=ð( $ñ ó $ð ò 
Kò:ò:ð ‡[�[×ÑØàˆR�Z‰ZÒ,Ó-¨vÐ6ØˆR�Z‰ZÒ,Ó-¨sÐ3ØˆR�Z‰ZÒ,Ó-¨sÐ3ØˆR�Z‰ZÒ,Ó-¨vÐ6ØˆR�Z‰ZÒ,Ó-¨vÐ6ð	
ó	ñ:ó	ð:ò:ò,ò$2ò	Kò	Kò:ò
Hò
Hð ‡[�[×Ñ˜X¨	°8Ð'<Ó=ñ3ó >ð3ò7ò?ò*$ðX ‡[�[×Ñ˜\¨D°"·&±&¸"¿%¹%Ð+@ÓAØ‡[�[×Ñ˜X¨°)Ð'<Ó=ñ>ó >ó Bð>ð4 ‡[�[×Ñ˜X¨	°8Ð'<Ó=ñ0ó >ð0ð< ‡[�[×Ñ˜X¨	°8Ð'<Ó=ñ"Có >ð"CðH ‡[�[×Ñ˜2ÓØ#Ø‡[�[×ÑÐ.Ø	
Ñ0Ð1Ø	
Ñ7Ð8Ø	
Ñ>Ð?Ø	
ÑEÐFð	1ó ñ=óó $ó ð=òB4ð $ñ&ó $ð&ð
 ‡[�[×Ñ˜1ÓØ#ñ;ó $ó ð;ð: $Ø‡[�[×Ñ˜]¨U°D¨MÓ:ñ';ó ;ó $ð';òR;ð> ‡[�[×ÑØØ	�‰�R—Z‘Z §¡¨r¯}©}Ð=óð ‡[�[×Ñ˜Z¨"¯*©*°b·j±jÐ)AÓBñAó Có	ð
Aò0ð8 ‡[�[×Ññ7ó ñ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 r  )ÚndimrÒ   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 rØ   )rÂ   )r"   Úidxs     r)   Ú__getitem__zMyValue.__getitem__Ú  s   € Ø�w‰w�s‰|Ðr+   c                  ó   — y rØ   rq   )r"   s    r)   Ú__array_interface__zMyValue.__array_interface__Ý  s   € Ør+   Nc                 ó   — t        d«      ‚)NzNo array representation)ÚRuntimeError)r"   rÐ   Úcopys      r)   Ú	__array__zMyValue.__array__à  s   € ÜÐ4Ó5Ð5r+   )NN)rv  rw  rx  Ú__doc__r†  r‰  r‹  r�  rq   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ej"                  j.                  d„ «       Zej"                  j.                  d„ «       Zej"                  j5                  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"                  j5                  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   r5   r7   r2  r3  g      @)rZ   r.   rZ   r.   rZ   rZ   )rZ   r.   rm   r.   rZ   rZ   )rZ   r.   r.   r.   rZ   rZ   )r   r_   )r"   rs   rt   rò   s       r)   Ú_sample_2d_datazTestInterpN._sample_2d_dataå  sR   € Ü�H‰HÒ.Ó/ˆÜ�H‰HÒ.Ó/ˆÜ�H‰Hâ"Ú"Ú"Ú"Ú"Ú"ðó	
ˆð �!�Qˆwˆr+   c           	      ó  — | j                  «       \  }}}t        |||«      }t        j                  g d¢g d¢g«      j                  }t        t        ||f||d¬«      |j                  |d d …df   |d d …df   «      «       y )N©rZ   çffffff@rà   r   r_  ç333333ó?rm   ©rZ   r_  r˜  r2  r/   r   rm   Ú	splinef2drB   r   rZ   )r”  r   r   r_   rï   r   r
   Úev)r"   rs   rt   rò   Úlutr(  s         r)   Útest_spline_2dzTestInterpN.test_spline_2dô  s|   € Ø×&Ñ&Ó(‰ˆˆ1ˆaÜ! ! Q¨Ó*ˆä�X‰XÒ6Ú6ð8ó 9ß9:¹ð 	ä!¤'¨1¨a¨&°!°RÀÔ"LØ"%§&¡&¨ªA¨q¨D©°2²a¸°d±8Ó"<õ	>r+   c                 óF  — | j                  «       \  }}}t        j                  g d¢g d¢g«      j                  }t	        ||f|||¬«      }t	        |j                  «       |j                  «       f|j                  «       |j                  «       |¬«      }t        |||¬«       y )Nr–  r™  rB   )r@  )r”  r   r_   rï   r
   rC   r   )r"   r   rs   rt   rò   r(  rF   rG   s           r)   rH   zTestInterpN.test_list_inputý  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           
      óÎ  — 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	¬
«      }|j                  |d d …df   |d d …df   «      }d	|dd t        ||«       t        t        t        ||f||ddd ¬
«       y )Nr4  ©rZ   r.   rZ   r.   rZ   ©rZ   r.   rm   r.   rZ   ©rZ   r.   r.   r.   rZ   ©rZ   r—  râ   r   r_  r˜  rm   ©rZ   r_  r˜  g      Àr/   r   rm   rš  FçR¸…ë?�@rÝ   r   rZ   r.   r   )	r   r_   r   rï   r
   r›  r   r`   rP   )r"   rs   rt   rò   rœ  r(  ÚactualÚexpecteds           r)   Útest_spline_2d_outofboundsz&TestInterpN.test_spline_2d_outofbounds  sÝ   € Ü�H‰HÒ*Ó+ˆÜ�H‰HÒ*Ó+ˆÜ�H‰H’o¢ºÚ%¢ð8ó 9ˆä! ! Q¨Ó*ˆä�X‰XÒ6Ú7ð9ó :ß:;¹!ð 	ä˜!˜Q˜  B¨{Ø&+¸ô@ˆà—6‘6˜"šQ ˜T™( B¢q¨! t¡HÓ-ˆØˆ��1ˆÜ! &¨(Ô3ô 	”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 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 )NrR   rU   rB   ©rª  r	   r   r   r
   r   ©r"   r#   r$   Ú	interp_rgrD   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$@rS   r¥  rU   FrÝ   ©rª  r   r   r
   r   ©r"   r#   r$   rD   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�   rB   rR   r¬  r­  s         r)   Útest_nearest_4dzTestInterpN.test_nearest_4d6  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 )NrR   F)r›   )rª  r   r   r
   r   ©r"   r#   r$   rD   rF   rG   s         r)   Ú
test_xi_1dzTestInterpN.test_xi_1dG  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Å   r.   rm   r   r�   Fr  ©r.   rm   r­   )	rª  r   rÇ   rÈ   rÉ   r
   rÒ   r°   r   rº  s         r)   Ú
test_xi_ndzTestInterpN.test_xi_ndO  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   rZ   r.   rm   Fr  r½  )r”  r   rÀ   r
   rÒ   ry   Úc_rï   Úravelr   r°   )r"   r   rs   rt   r$   r#   r(  ÚyirD   rF   ÚxxÚyyrG   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:  )rO   rf   r   rÇ   r  r
   rÒ   r  r_   rB  r   )
r"   r   r#   r  r$   rD   rC  rE  rD  rG   s
             r)   rF  z!TestInterpN.test_nonscalar_valuesr  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>   rI   rJ   r;  rI  rÅ   rM  rÞ   r»   r  rN  r   Fr  rZ   r­   rO  .rv   r?  )rO   rf   r   rÇ   r  r
   rÒ   r  r   r   rï   )r"   r   r#   r  rW  r$   rD   rC  rE  r  rD  s              r)   rX  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Å   rm   rÞ   r»   rß   r   rš  rB   )rª  r   rÇ   rÈ   rÉ   r`   rP   r
   )r"   r#   r$   rD   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 )NrK   rc   rd   r–  r™  rB   re   )
rO   rf   r”  r   r_   rï   r
   rg   rh   r   )r"   r   rs   rt   r$   r#   rD   rF   Úv2rÚv2irG   s              r)   rk   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)Nrd   r–  r™  rg   rM   rK   rB   )r”  r   r_   rï   rO   r   rP   r
   ©r"   rs   rt   r$   r#   rD   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	        t
        «      5  t        |||d¬«       d d d «       y # 1 sw Y   y xY w)Nrd   r–  r™  rš  rB   )r”  r   r_   rï   r   r   r
   rÎ  s         r)   Útest_complex_spline2fdz"TestInterpN.test_complex_spline2fdÖ  s   € ð ×+Ñ+Ó-‰ˆˆ1ˆfØ�Q�ˆØ˜"˜V™)Ñ#ˆä—‘Ò:Ú:ð<ó =ß=>¹Qð 	äœ.Ó)ñ 	@Ü�F˜F F°;Õ?÷	@÷ 	@ñ 	@ús   ÁA.Á.A7r   rU   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   r.   rº   rZ   r»   r¼   r�   r½   rB   Fr¾   )r   rÀ   rÁ   r
   rÂ   r   )r"   r   rs   rt   r$   rF   rG   s          r)   rÃ   z"TestInterpN.test_duck_typed_valuesâ  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   r.   rÞ   rZ   r»   rm   rB   rJ   g-Cëâ6
?g�íµ ÷ÆÀ>rw   N)r   rÀ   r   rÇ   rÉ   r
   r   r   )r"   r   rs   rt   r$   rD   rF   rG   s           r)   Útest_matrix_inputzTestInterpN.test_matrix_inputð  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=   rZ   r   rZ   gš™™™™™@gš™™™™™	@gffffff@)r.   rm   r   )gìQ¸…ëÑ?gffffff@gffffff @r\   r]   r—   r4   gffffffÀFrš   )r   r_   r
   r   )r"   r$   r(  r  r„   s        r)   rè   z TestInterpN.test_length_one_axis  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 r  rq   r  s       r)   Úvalue_func_4dz9TestInterpN.test_descending_points.<locals>.value_func_4d  s'   € Ø�q˜A‘v‘:  A¨¡F¡
Ñ*¨QÑ.°Ñ2Ð2r+   )r   rZ   r.   rm   )r   r   rÍ   rÎ   )r   r=   r@   rå   rn   TrÚ   r=   rå   r   rÎ   r   r­   )r   r_   ry   rB  rÀ   r
   r   )r"   rØ  Úx1Úx2Úx3Úx4r#   r$   ra  Ú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)
Nr1  r4  r   r¡  r¢  r£  r¤  r5  rM   )r   r_   rï   rO   r   rP   r
   )r"   rs   rt   rò   r(  rN   s         r)   r6  z%TestInterpN.test_invalid_points_order3  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   rZ   r   rZ   )rZ   rZ   rm   zaThe requested sample points xi have dimension 3, but this RegularGridInterpolator has dimension 1rM   )r   rÑ   r`   rP   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"   rs   rt   rò   r#   r$   ÚpointÚds           r)   Útest_readonly_gridzTestInterpN.test_readonly_gridI  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"   rs   rt   r#   r$   rò  ró  s          r)   Útest_2d_readonly_gridz!TestInterpN.test_2d_readonly_gridX  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"   rs   rt   rò   r#   r$   rò  s          r)   Útest_non_c_contiguous_gridz&TestInterpN.test_non_c_contiguous_gridg  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+   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        ||«      |«       y )	Nr   r   rº   rÏ   rÞ   rö  rí  rî  )r   rÀ   rÑ   r_   r
   r	   )r"   rÐ   rs   rt   r#   r$   rò  s          r)   Útest_endiannesszTestInterpN.test_endiannesst  sw   € ô �K‰K˜˜1˜a uÔ-ˆÜ�K‰K˜˜1˜a uÔ-ˆØ�Q�ˆÜ—‘˜ uÔ-ˆÜ—‘˜$ ˜¨UÔ3ˆÜ�˜ Ô&Ø/Ô ¨Ó/°Õ6r+   N)&rv  rw  rx  r”  r�  ry  rH   r¨  rª  r¯  r´  r¶  r¸  r»  r¾  rÅ  rO   rz  r|  rF  rX  rÉ  rk   r�  rÏ  rÑ  r{  rÃ   r   rÔ  rè   rå  r6  ré  rô  r÷  rû  rý  rq   r+   r)   r’  r’  ä  s‹  „ òò>ð $ñ0ó $ð0ò;ò&ò=ò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®   rO   Únumpyr   Únumpy.testingr   Úscipy._lib._array_apir   r   r   Úscipy.conftestr   r   r`   Úscipy.interpolater	   r
   r   r   r   Úscipy.sparse._sputilsr   Úscipy._lib._utilr   Úscipy._lib._testutilsr   rz  r{  Ú_ALL_METHODSry  r   rÁ   r’  rq   r+   r)   ú<module>r     s€   ðÛ ã Û å &÷ñ õ /å *÷Lõ Lõ )Ý +Ý 9ð "(§¡×!8Ñ!8ØÐ%×2Ñ2ó"Ð ÷r
7ñ r
7÷j6ñ 6÷(Z7ò Z7r+   