Ë
    âQ(h¹<  ã                   óì   — d dl Z d dlZd dlZd dlmZ d dlmZ d dlZd dl	m
Z
mZ d dlmZ d dlmc mZ d dlmc mZ d dlZd dlZej0                  dk  Zd„ Z G d„ d	«      Z G d
„ d«      Z G d„ d«      Zy)é    N)Úsuppress_warnings)Úraises)Úxp_assert_closeÚassert_almost_equal)Úcheck_free_memoryl        c                 óÀ   — t         j                  j                  t         j                  j                  t         j                  j	                  t
        «      «      d| «      S )NÚdata)ÚosÚpathÚjoinÚabspathÚdirnameÚ__file__)Úbasenames    úc/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/scipy/interpolate/tests/test_interpnd.pyÚ	data_filer      s8   € Ü�7‰7�<‰<œŸ™Ÿ™¬¯©¯©¼Ó(AÓBØ ó*ð *ó    c                   óò   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zej                  j                  ej                  j                   ej                  j#                  ed¬«      d„ «       «       «       Zy)ÚTestLinearNDInterpolationc                 ó  — t        j                  g d¢t         j                  ¬«      }t        j                  |j                  d   t         j                  ¬«      } t        j                  ||«      |«      }t        ||«       y )N©©r   r   )ç      à¿r   )r   ç      à?)r   r   )ç      Ð?ç333333Ó?©Údtyper   ©ÚnpÚarrayÚfloat64ÚarangeÚshapeÚinterpndÚLinearNDInterpolatorr   ©ÚselfÚxÚyÚyis       r   Útest_smoketestz(TestLinearNDInterpolation.test_smoketest   sY   € ä�H‰HÒNÜŸ:™:ô'ˆä�I‰I�a—g‘g˜a‘j¬¯
©
Ô3ˆà0ŒX×*Ñ*¨1¨aÓ0°Ó3ˆÜ˜A˜rÕ"r   c                 óD  — t        j                  g d¢t         j                  ¬«      }t        j                  |j                  d   t         j                  ¬«      } t        j                  |d d …df   |d d …df   f|«      |d d …df   |d d …df   «      }t        ||«       y )Nr   r   r   é   r   r'   s       r   Útest_smoketest_alternatez2TestLinearNDInterpolation.test_smoketest_alternate#   s€   € ä�H‰HÒNÜŸ:™:ô'ˆä�I‰I�a—g‘g˜a‘j¬¯
©
Ô3ˆà?ŒX×*Ñ*¨Aªa°¨c©F°A²a¸°c±FÐ+;¸QÓ?ÀÂ!ÀAÀ#ÁÈÊ!ÈAÈ#ÉÓOˆÜ˜A˜rÕ"r   c                 ó  — t        j                  g d¢t         j                  ¬«      }t        j                  |j                  d   t         j                  ¬«      }|d|z  z
  } t        j                  ||«      |«      }t        ||«       y ©Nr   r   r   ù              @r   r'   s       r   Útest_complex_smoketestz0TestLinearNDInterpolation.test_complex_smoketest,   sf   € ä�H‰HÒNÜŸ:™:ô'ˆä�I‰I�a—g‘g˜a‘j¬¯
©
Ô3ˆØ��1‘‰Hˆà0ŒX×*Ñ*¨1¨aÓ0°Ó3ˆÜ˜A˜rÕ"r   c                 ód  — t        j                  g d¢t         j                  ¬«      }t        j                  |j                  d   t         j                  ¬«      }|d|z  z
  }t        j                  |«      }t        j                  ||«      } ||«      }t        ||«       |j                  |u sJ ‚y r1   )r    r!   r"   r#   r$   ÚqhullÚDelaunayr%   r&   r   Útri)r(   r)   r*   r7   Úinterpolatorr+   s         r   Útest_tri_inputz(TestLinearNDInterpolation.test_tri_input6   sŠ   € ä�H‰HÒNÜŸ:™:ô'ˆä�I‰I�a—g‘g˜a‘j¬¯
©
Ô3ˆØ��1‘‰Hˆä�n‰n˜QÓˆÜ×4Ñ4°S¸!Ó<ˆÙ˜!‹_ˆÜ˜A˜rÔ"Ø×Ñ 3Ñ&Ð&Ñ&r   c                 óJ  ‡— t        j                  g d¢t         j                  ¬«      }t        j                  g d¢t         j                  ¬«      Šˆfd„}t        j                  t        j                  ddd«      d d …d f   t        j                  ddd«      d d d …f   «      \  }}|j                  «       }|j                  «       }t        j                  ||g«      j                  j                  «       } t        j                  |‰«      |«      }t        | |||«      «       y )N)r   ©r   r.   ©r.   r.   ©r.   r   r   ©g      ð?g       @g      Àg      @c                 óè   •— | |z   dk  }| }| |   }||   }| |   }||   }d| z  }‰	d   d|z
  |z
  z  ‰	d   |z  z   ‰	d   |z  z   ||<   ‰	d   ||z   dz
  z  ‰	d   d|z
  z  z   ‰	d   d|z
  z  z   ||<   |S )Nr.   r   é   é   © )
r)   r*   Út1Út2Úx1Úy1Úx2Úy2ÚzÚvaluess
            €r   Úipz1TestLinearNDInterpolation.test_square.<locals>.ipQ   sË   ø€ Ø�a‘%˜1‘*ˆBØ�ˆBà�2‘ˆBØ�2‘ˆBà�2‘ˆBØ�2‘ˆBà�!‘ˆAà˜A‘Y  B¡¨¡Ñ,Ø˜a‘y ‘|ñ$à˜a‘y ‘|ñ$ˆAˆb‰Eð ˜A‘Y  R¡¨!¡Ñ,Ø˜a‘y ! b¡&Ñ)ñ*à˜a‘y ! b¡&Ñ)ñ*ˆAˆb‰Eð ˆHr   r   r.   é   ©r    r!   r"   Úbroadcast_arraysÚlinspaceÚravelÚTÚcopyr%   r&   r   )r(   ÚpointsrK   ÚxxÚyyÚxiÚzirJ   s          @r   Útest_squarez%TestLinearNDInterpolation.test_squareC   sÜ   ø€ ô —‘Ò6¼b¿j¹jÔIˆÜ—‘Ò+´2·:±:Ô>ˆô	ô* ×$Ñ$¤R§[¡[°°A°rÓ%:º1¸T¸6Ñ%BÜ%'§[¡[°°A°rÓ%:¸4Â¸6Ñ%BóD‰ˆˆBà�X‰X‹ZˆØ�X‰X‹Zˆä�X‰X�r˜2�hÓ×!Ñ!×&Ñ&Ó(ˆØ:ŒX×*Ñ*¨6°6Ó:¸2Ó>ˆä˜B¡ 2 r£
Õ+r   c                 ó
  — t        j                  g d¢t         j                  ¬«      }t        j                  |j                  d   t         j                  ¬«      } t        j                  ||d¬«      |«      }t        ||«       y )N©r   )éûÿÿÿr[   )r[   é   )r\   r\   )g      @r@   r   r   T©Úrescaler   r'   s       r   Útest_smoketest_rescalez0TestLinearNDInterpolation.test_smoketest_rescalep   s[   € ä�H‰HÒBÜŸ:™:ô'ˆä�I‰I�a—g‘g˜a‘j¬¯
©
Ô3ˆà>ŒX×*Ñ*¨1¨a¸Ô>¸qÓAˆÜ˜A˜rÕ"r   c                 ól  — t        j                  g d¢t         j                  ¬«      }t        j                  g d¢t         j                  ¬«      }t        j                  t        j                  ddd«      d d …d f   t        j                  ddd«      d d d …f   «      \  }}|j                  «       }|j                  «       }t        j                  ||g«      j                  j                  «       } t        j                  ||«      |«      } t        j                  ||d¬	«      |«      }t        ||«       y )
N)r   )r   éd   )é
   ra   )rb   r   r   r>   r   rb   rL   ra   Tr]   rM   )r(   rS   rJ   rT   rU   rV   rW   Úzi_rescaleds           r   Útest_square_rescalez-TestLinearNDInterpolation.test_square_rescaley   só   € ô —‘Ò<ÄBÇJÁJÔOˆÜ—‘Ò+´2·:±:Ô>ˆä×$Ñ$¤R§[¡[°°B¸Ó%;ºA¸d¸FÑ%CÜ%'§[¡[°°C¸Ó%<¸TÂ!¸VÑ%DóF‰ˆˆBà�X‰X‹ZˆØ�X‰X‹ZˆÜ�X‰X�r˜2�hÓ×!Ñ!×&Ñ&Ó(ˆØ:ŒX×*Ñ*¨6°6Ó:¸2Ó>ˆð”h×3Ñ3°F¸FØôØ ó"ˆô 	˜B Õ,r   c                 ó¤  — t        j                  g d¢t         j                  ¬«      }t        j                  |j                  d   t         j                  ¬«      }|d|z  z
  }t        j                  |«      } t        j                  |j                  |«      |«      } t        j                  |j                  |d¬«      |«      }t        ||«       y ©NrZ   r   r   r2   Tr]   )r    r!   r"   r#   r$   r5   r6   r%   r&   rS   r   ©r(   r)   r*   r7   r+   Ú
yi_rescales         r   Útest_tripoints_input_rescalez6TestLinearNDInterpolation.test_tripoints_input_rescale‹   sŸ   € ä�H‰HÒ?ÜŸ:™:ô'ˆä�I‰I�a—g‘g˜a‘j¬¯
©
Ô3ˆØ��1‘‰Hˆä�n‰n˜QÓˆØ9ŒX×*Ñ*¨3¯:©:°qÓ9¸!Ó<ˆð”X×2Ñ2°3·:±:¸qØôØó!ˆ
ä˜B 
Õ+r   c                 ó�  — t        j                  g d¢t         j                  ¬«      }t        j                  |j                  d   t         j                  ¬«      }|d|z  z
  }t        j                  |«      }d}t        j                  t        |¬«      5   t        j                  ||d¬«      |«       d d d «       y # 1 sw Y   y xY w©	NrZ   r   r   r2   zORescaling is not supported when passing a Delaunay triangulation as ``points``.)ÚmatchTr]   )r    r!   r"   r#   r$   r5   r6   Úpytestr   Ú
ValueErrorr%   r&   ©r(   r)   r*   r7   rl   s        r   Útest_tri_input_rescalez0TestLinearNDInterpolation.test_tri_input_rescale˜   s˜   € ä�H‰HÒ?ÜŸ:™:ô'ˆä�I‰I�a—g‘g˜a‘j¬¯
©
Ô3ˆØ��1‘‰Hˆä�n‰n˜QÓˆð9ˆä�]‰]œ:¨UÔ3ñ 	CØ?ŒH×)Ñ)¨#¨q¸$Ô?ÀÔB÷	C÷ 	Cñ 	Cúó   ÂB<Â<Cc                 ó¶  — t         j                  j                  d«       t         j                  j                  dd«      }t         j                  j                  d«      dt         j                  j                  d«      z  z   }t	        j
                  ||«      }t        j                  t        j                  |«      «      }t         |dd«       |dd«      «       y ©NéÒ  é   rA   y              ð?r   )
r    ÚrandomÚseedÚrandr%   r&   ÚpickleÚloadsÚdumpsr   )r(   r)   r*   rK   Úip2s        r   Útest_picklez%TestLinearNDInterpolation.test_pickle¥   sŽ   € ä
�	‰	�‰�tÔÜ�I‰I�N‰N˜2˜qÓ!ˆÜ�I‰I�N‰N˜2Ó ¤B§I¡I§N¡N°2Ó$6Ñ!6Ñ6ˆä×*Ñ*¨1¨aÓ0ˆÜ�l‰lœ6Ÿ<™<¨Ó+Ó,ˆä™B˜s C›L©#¨c°3«-Õ8r   zit fails on 32-bit)Úreasonc           	      óê  — t        d«       t        j                  ddd«      }t        j                  ddd«      }t        j                  ||«      \  }}d„ }t        j                  |j                  «       |j                  «       f«      j                  }||z  j                  «       }t        j                  ||«      }t        j                  ||t        dd«      t        dd«      f¬«      }	t        j                  ||t        dd«      t        dd«      f¬«      }
t        j                  ||t        dd«      t        dd«      f¬«      }t        j                  ||t        dd«      t        dd«      f¬«      }|	j                  «        |
j                  «        |j                  «        |j                  «        |	j                  «        |
j                  «        |j                  «        |j                  «        y )Ni'  r   ih  rb   c                 óJ   — t         j                  ||f   \  }} | ||f«      }|S ©N)r    Úmgrid)r8   Ú
slice_rowsÚ
slice_colsÚgrid_xÚgrid_yÚress         r   Ú	do_interpz;TestLinearNDInterpolation.test_threading.<locals>.do_interp¼   s-   € ÜŸX™X j°*Ð&<Ñ=‰NˆF�FÙ ¨Ð/Ó0ˆCØˆJr   i4  )ÚtargetÚargs)r   r    r#   ÚmeshgridÚvstackrP   rQ   r%   r&   Ú	threadingÚThreadÚsliceÚstartr   )r(   Úr_ticksÚ	phi_ticksÚr_gridÚphi_gridrˆ   rS   rJ   r8   Úworker_thread_1Úworker_thread_2Úworker_thread_3Úworker_thread_4s                r   Útest_threadingz(TestLinearNDInterpolation.test_threading°   s«  € ô 	˜%Ô ä—)‘)˜A˜t RÓ(ˆÜ—I‘I˜a  rÓ*ˆ	ÜŸ;™; w°	Ó:Ñˆ�ò	ô
 —‘˜FŸL™L›N¨H¯N©NÓ,<Ð=Ó>×@Ñ@ˆØ˜8Ñ#×*Ñ*Ó,ˆÜ×4Ñ4°V¸VÓDˆä#×*Ñ*ØØ¤ a¨£´°a¸³Ð?ôAˆô $×*Ñ*ØØ¤ d¨DÓ 1´5¸¸D³>ÐBôDˆô $×*Ñ*ØØ¤ a¨£´°d¸DÓ0AÐBôDˆô $×*Ñ*ØØ¤ d¨DÓ 1´5¸¸tÓ3DÐEôGˆð 	×ÑÔØ×ÑÔØ×ÑÔØ×ÑÔà×ÑÔØ×ÑÔØ×ÑÔØ×ÑÕr   N)Ú__name__Ú
__module__Ú__qualname__r,   r/   r3   r9   rX   r_   rd   ri   rp   r}   rm   ÚmarkÚslowÚthread_unsafeÚskipifÚ	_IS_32BITr™   rB   r   r   r   r      s„   „ ò#ò#ò#ò'ò+,òZ#ò-ò$,òCò	9ð ‡[�[×ÑØ‡[�[×ÑØ‡[�[×Ñ˜	Ð*>ÐÓ?ñ'ó @ó ó ñ'r   r   c                   ó   — e Zd Zd„ Zd„ Zy)ÚTestEstimateGradients2DGlobalc           	      óž  — t        j                  g d¢t        ¬«      }t        j                  |«      }d„ dfd„ dfd„ dfd	„ d
fg}t        |«      D ]{  \  }\  }} ||d d …df   |d d …df   «      }t        j                  ||d¬«      }|j                  dk(  sJ ‚t        |t        j                  |«      d d d …f   d|z  z   ddd|z  ¬«       Œ} y )N)r   )r   rA   r=   )r.   rA   ©r   g      è?©g333333ã?gš™™™™™é?r   c                 ó   — d| z  dz   S ©Nr   r.   rB   ©r)   r*   s     r   ú<lambda>z>TestEstimateGradients2DGlobal.test_smoketest.<locals>.<lambda>æ   s   € ˜!˜A™# ™'€ r   r   c                 ó   — d| z   S ©Nr   rB   r©   s     r   rª   z>TestEstimateGradients2DGlobal.test_smoketest.<locals>.<lambda>ç   s
   € ˜!˜a™%€ r   r=   c                 ó   — d|z   S ©NéþÿÿÿrB   r©   s     r   rª   z>TestEstimateGradients2DGlobal.test_smoketest.<locals>.<lambda>è   s
   € ˜"˜q™&€ r   r;   c                 ó   — dd| z  z   d|z  z   S ©Nr@   çÍÌÌÌÌL,@rB   r©   s     r   rª   z>TestEstimateGradients2DGlobal.test_smoketest.<locals>.<lambda>é   s   € ˜!˜a ™c™' E¨!¡GÑ+€ r   )r@   r²   r   r.   ç�íµ ÷Æ°>)Útol)é   rA   gñhãˆµøä>zitem %d)ÚrtolÚatolÚerr_msg)
r    r!   Úfloatr5   r6   Ú	enumerater%   Úestimate_gradients_2d_globalr$   r   )	r(   r)   r7   ÚfuncsÚjÚfuncÚgradrI   Údzs	            r   r,   z,TestEstimateGradients2DGlobal.test_smoketestÞ   så   € Ü�H‰Hò @ÜGLôNˆä�n‰n˜QÓˆñ
 " 6Ð*Ù Ð(Ù  &Ð)Ù+¨ZÐ8ð	
ˆô  )¨Ó/ò 	I‰OˆA‰|��dÙ�Q’q˜�s‘V˜Qšq ˜s™VÓ$ˆAÜ×6Ñ6°s¸AÀ4ÔHˆBà—8‘8˜vÒ%Ð%Ð%Ü˜B¤§¡¨£¨t²A¨vÑ 6¸¸2¹Ñ =Ø!%¨D¸)Àa¹-öIñ	Ir   c                 óp  — t        j                  t        d«      «      }t         j                  j	                  |j
                  d   «      }t        j                  |«      }t        «       5 }|j                  t        j                  d«       t        j                  ||d¬«       d d d «       y # 1 sw Y   y xY w)Nzestimate_gradients_hang.npyr   z$Gradient estimation did not converger.   )Úmaxiter)r    Úloadr   rv   rx   r$   r5   r6   r   Úfilterr%   ÚGradientEstimationWarningr»   )r(   rS   rJ   r7   Úsups        r   Útest_regression_2359z2TestEstimateGradients2DGlobal.test_regression_2359ô   sŒ   € ô —‘œÐ#@ÓAÓBˆÜ—‘—‘ §¡¨Q¡Ó0ˆÜ�n‰n˜VÓ$ˆô Ó ð 	J CØ�J‰J”x×9Ñ9Ø=ô?ä×1Ñ1°#°vÀqÕI÷	J÷ 	Jñ 	Jús   Á*9B,Â,B5N)rš   r›   rœ   r,   rÇ   rB   r   r   r£   r£   Ý   s   „ òIó,Jr   r£   c                   óŠ   — e Zd Z	 	 dd„Zd„ Zd„ Zd„ Zd„ Zd„ Ze	j                  j                  d«      d	„ «       Zd
„ Zd„ Zd„ Zy)ÚTestCloughTocher2DInterpolatorNc           	      óˆ  — t         j                  j                  d«      }|€t        j                  g d¢t        ¬«      }|s/t        j                  | ||d d …df   |d d …df   «      d|¬«      }n>t        j                  |d d …df   |d d …df   f ||d d …df   |d d …df   «      d|¬«      }|j                  dd	«      }	|s	 ||	«      }
n ||	d d …df   |	d d …df   «      }
 ||	d d …df   |	d d …df   «      }	 t        |
|fi |¤Ž y # t        $ r0 t        d
t        |
|z
  «      «       t        d|j                  «       ‚ w xY w)Nrt   )r   r;   r=   r<   r¥   r¦   )r   gš™™™™™É?r   r   r.   r³   )r´   r^   é2   rA   z_check_accuracy: abs(a-b):zip.grad:)r    rv   ÚRandomStater!   r¹   r%   ÚCloughTocher2DInterpolatorrx   r   ÚAssertionErrorÚprintÚabsr¿   )r(   r¾   r)   r´   Ú	alternater^   ÚkwÚrngrK   ÚpÚaÚbs               r   Ú_check_accuracyz.TestCloughTocher2DInterpolator._check_accuracy  sN  € ä�i‰i×#Ñ# DÓ)ˆàˆ9Ü—‘ò &ô  %ô&ˆAñ
 Ü×4Ñ4°Q¹¸QºqÀ¸s¹VÀQÂqÈÀsÁVÓ8LØ9=ÀwôP‰Bô ×4Ñ4°aº¸!¸±f¸aÂÀ!À¹fÐ5EÙ59¸!ºA¸a¸C¹&À!ÂAÀaÀCÁ&Ó5IØ9=ÀwôPˆBð �H‰H�R˜‹OˆáÙ�1“‰Aá�1’Q�q�S‘6˜1šQ˜q˜S™6Ó"ˆAÙ�’1�Q�3‘˜š1˜Q˜3™Ó ˆð	Ü˜A˜qÑ' BÓ'øÜò 	ÜÐ.´°A¸±E³
Ô;Ü�*˜bŸg™gÔ&Øð	ús   Ã:D Ä9Ec                 ó  — d„ d„ d„ d„ g}t        |«      D ]m  \  }}| j                  |dddd|z  ¬«       | j                  |dddd	d
|z  ¬«       | j                  |dddd|z  d	¬«       | j                  |dddd	d	d|z  ¬«       Œo y )Nc                 ó   — d| z  dz   S r¨   rB   r©   s     r   rª   zFTestCloughTocher2DInterpolator.test_linear_smoketest.<locals>.<lambda>(  s   € ˜˜1™˜q™€ r   c                 ó   — d| z   S r¬   rB   r©   s     r   rª   zFTestCloughTocher2DInterpolator.test_linear_smoketest.<locals>.<lambda>)  s
   € ˜˜Q™€ r   c                 ó   — d|z   S r®   rB   r©   s     r   rª   zFTestCloughTocher2DInterpolator.test_linear_smoketest.<locals>.<lambda>*  s
   € ˜˜a™€ r   c                 ó   — dd| z  z   d|z  z   S r±   rB   r©   s     r   rª   zFTestCloughTocher2DInterpolator.test_linear_smoketest.<locals>.<lambda>+  s   € ˜˜Q˜q™S™ 5¨¡7Ñ*€ r   g‚vIhÂ%<=gH¯¼šò×z>úFunction %d©r´   r·   r¶   r¸   TzFunction (alternate) %d)r´   r·   r¶   rÑ   r¸   zFunction (rescaled) %d©r´   r·   r¶   r¸   r^   z!Function (alternate, rescaled) %d)r´   r·   r¶   rÑ   r^   r¸   ©rº   r×   ©r(   r¼   r½   r¾   s       r   Útest_linear_smoketestz4TestCloughTocher2DInterpolator.test_linear_smoketest%  sÎ   € ñ !ÙÙÙ*ð	
ˆô ! Ó'ò 	R‰GˆAˆtØ× Ñ  ¨5°tÀ$Ø)6¸Ñ):ð !ô <à× Ñ  ¨5°tÀ$Ø+/Ø)BÀQÑ)Fð !ô Hð × Ñ  ¨5°tÀ$Ø)AÀAÑ)EÈtð !ô Uà× Ñ  ¨5°tÀ$Ø+/¸Ø)LÈqÑ)Pð !õ Rñ	Rr   c           	      ó¤   — d„ d„ d„ d„ g}t        |«      D ]8  \  }}| j                  |dddd|z  ¬	«       | j                  |dddd|z  d
¬«       Œ: y )Nc                 ó   — | dz  S ©NrA   rB   r©   s     r   rª   zITestCloughTocher2DInterpolator.test_quadratic_smoketest.<locals>.<lambda>>  ó
   € ˜˜A™€ r   c                 ó   — |dz  S rå   rB   r©   s     r   rª   zITestCloughTocher2DInterpolator.test_quadratic_smoketest.<locals>.<lambda>?  ræ   r   c                 ó   — | dz  |dz  z
  S rå   rB   r©   s     r   rª   zITestCloughTocher2DInterpolator.test_quadratic_smoketest.<locals>.<lambda>@  ó   € ˜˜A™  1¡™€ r   c                 ó   — | |z  S r�   rB   r©   s     r   rª   zITestCloughTocher2DInterpolator.test_quadratic_smoketest.<locals>.<lambda>A  ó
   € ˜˜1™€ r   ç•Ö&è.>g)\�Âõ(Ì?r   rÝ   rÞ   Trß   rà   rá   s       r   Útest_quadratic_smoketestz7TestCloughTocher2DInterpolator.test_quadratic_smoketest;  s|   € ñ ÙÙ$Ùð	
ˆô ! Ó'ò 	J‰GˆAˆtØ× Ñ  ¨4°dÀØ)6¸Ñ):ð !ô <à× Ñ  ¨4°dÀØ)6¸Ñ):ÀDð !õ Jñ	Jr   c                 ó@  — t        j                  g d¢t         j                  ¬«      }t        j                  |j                  d   t         j                  ¬«      }|d|z  z
  }t        j                  |«      } t        j                  ||«      |«      }t        ||«       y r1   )
r    r!   r"   r#   r$   r5   r6   r%   rÍ   r   )r(   r)   r*   r7   r+   s        r   r9   z-TestCloughTocher2DInterpolator.test_tri_inputJ  st   € ä�H‰HÒNÜŸ:™:ô'ˆä�I‰I�a—g‘g˜a‘j¬¯
©
Ô3ˆØ��1‘‰Hˆä�n‰n˜QÓˆØ8ŒX×0Ñ0°°aÓ8¸Ó;ˆÜ˜A˜rÕ"r   c                 ó�  — t        j                  g d¢t         j                  ¬«      }t        j                  |j                  d   t         j                  ¬«      }|d|z  z
  }t        j                  |«      }d}t        j                  t        |¬«      5   t        j                  ||d¬«      |«       d d d «       y # 1 sw Y   y xY wrk   )r    r!   r"   r#   r$   r5   r6   rm   r   rn   r%   rÍ   ro   s        r   rp   z5TestCloughTocher2DInterpolator.test_tri_input_rescaleU  s˜   € ä�H‰HÒ?ÜŸ:™:ô'ˆä�I‰I�a—g‘g˜a‘j¬¯
©
Ô3ˆØ��1‘‰Hˆä�n‰n˜QÓˆð9ˆä�]‰]œ:¨UÔ3ñ 	IØEŒH×/Ñ/°°QÀÔEÀaÔH÷	I÷ 	Iñ 	Iúrq   c                 ó¤  — t        j                  g d¢t         j                  ¬«      }t        j                  |j                  d   t         j                  ¬«      }|d|z  z
  }t        j                  |«      } t        j                  |j                  |«      |«      } t        j                  |j                  |d¬«      |«      }t        ||«       y rf   )r    r!   r"   r#   r$   r5   r6   r%   rÍ   rS   r   rg   s         r   ri   z;TestCloughTocher2DInterpolator.test_tripoints_input_rescaleb  s™   € ä�H‰HÒ?ÜŸ:™:ô'ˆä�I‰I�a—g‘g˜a‘j¬¯
©
Ô3ˆØ��1‘‰Hˆä�n‰n˜QÓˆØ?ŒX×0Ñ0°·±¸QÓ?ÀÓBˆØU”X×8Ñ8¸¿¹ÀQÐPTÔUÐVWÓXˆ
Ü˜B 
Õ+r   r\   c           
      ój  — d„ d„ d„ d„ d„ g}t         j                  j                  d«      }t         j                  t        j                  g d¢t
        ¬«      |j                  d	d
«      f   }t        |«      D ]:  \  }}| j                  ||dddd|z  ¬«       | j                  ||dddd|z  d¬«       Œ< y )Nc                 ó   — | dz  S rå   rB   r©   s     r   rª   z;TestCloughTocher2DInterpolator.test_dense.<locals>.<lambda>r  ræ   r   c                 ó   — |dz  S rå   rB   r©   s     r   rª   z;TestCloughTocher2DInterpolator.test_dense.<locals>.<lambda>s  ræ   r   c                 ó   — | dz  |dz  z
  S rå   rB   r©   s     r   rª   z;TestCloughTocher2DInterpolator.test_dense.<locals>.<lambda>t  ré   r   c                 ó   — | |z  S r�   rB   r©   s     r   rª   z;TestCloughTocher2DInterpolator.test_dense.<locals>.<lambda>u  rë   r   c                 ó¨   — t        j                  dt         j                  z  | z  «      t        j                  dt         j                  z  |z  «      z  S rå   )r    ÚcosÚpiÚsinr©   s     r   rª   z;TestCloughTocher2DInterpolator.test_dense.<locals>.<lambda>v  s5   € œŸ™ ¤"§%¡%¡¨¡	Ó*¬2¯6©6°!´B·E±E±'¸!±)Ó+<Ñ<€ r   iá  )r   r;   r=   r<   r   i„  rA   rì   g{®Gázt?g{®Gáz„?rÝ   )r)   r´   r·   r¶   r¸   T)r)   r´   r·   r¶   r¸   r^   )	r    rv   rÌ   Úr_r!   r¹   rx   rº   r×   )r(   r¼   rÓ   Úgridr½   r¾   s         r   Ú
test_densez)TestCloughTocher2DInterpolator.test_densen  sÈ   € ñ ÙÙ$ÙÙ<ð
ˆô �i‰i×#Ñ# DÓ)ˆÜ�u‰u”R—X‘XÒ:Ä%ÔHØ—X‘X˜e QÓ'ð(ñ )ˆô ! Ó'ò 	J‰GˆAˆtØ× Ñ  ¨°4¸dÈØ)6¸Ñ):ð !ô <à× Ñ  ¨°4¸dÈØ)6¸Ñ):ÀDð !õ Jñ	Jr   c                 óÂ   — t         j                  j                  dd«      }t         j                  j                  d«      }t        t        t
        j                  ||«       y )Nru   r@   )r    rv   ÚrandnÚassert_raisesrn   r%   rÍ   )r(   r)   r*   s      r   Útest_wrong_ndimz.TestCloughTocher2DInterpolator.test_wrong_ndimƒ  s<   € Ü�I‰I�O‰O˜B Ó"ˆÜ�I‰I�O‰O˜BÓˆÜ”j¤(×"EÑ"EÀqÈ!ÕLr   c                 ób  — t         j                  j                  d«      }|j                  dd«      }|j                  d«      d|j                  d«      z  z   }t	        j
                  ||«      }t        j                  t        j                  |«      «      }t         |dd«       |dd«      «       y rs   )
r    rv   rÌ   rx   r%   rÍ   ry   rz   r{   r   )r(   rÓ   r)   r*   rK   r|   s         r   r}   z*TestCloughTocher2DInterpolator.test_pickleˆ  s‚   € ä�i‰i×#Ñ# DÓ)ˆØ�H‰H�R˜‹OˆØ�H‰H�R‹L˜2˜cŸh™h r›l™?Ñ*ˆä×0Ñ0°°AÓ6ˆÜ�l‰lœ6Ÿ<™<¨Ó+Ó,ˆä™B˜s C›L©#¨c°3«-Õ8r   c                 ó@  — t        j                  dddt        j                  d«      dz  fg«      }t        j                  g d¢«      }t        j                  ||«      }d|j
                  d<   d	}t        j                  dt        j                  |«      z  dt        j                  |«      z  g«      }t        j                  dt        j                  t         j                  dz  |z
  «      z  dt        j                  t         j                  dz  |z
  «      z  g«      } ||«      } ||«      }t        ||«       t         j                  j                  d
«      }	|	j                  dd«      }
|	j                  d«      }|
j                  |j                  «      j                  |d d d …f   z   }|
j                  |«      |z   }|
j                  |«      |z   }t        j                  ||«      }d|j
                  d<    ||«      } ||«      }t        ||«       t        ||«       y )Nr   r=   r   r@   rA   )r.   r   r   r   .r   r.   )r    r!   Úsqrtr%   rÍ   r¿   r÷   rù   rø   r   rv   rÌ   rþ   ÚdotrQ   )r(   rS   rJ   rK   ÚalphaÚp1Úp2Úv1Úv2rÓ   ÚArÖ   Úw1Úw2s                 r   Útest_boundary_tri_symmetryz9TestCloughTocher2DInterpolator.test_boundary_tri_symmetry“  s­  € ô
 —‘˜6 6¨C´·±¸³¸A±Ð+>Ð?Ó@ˆÜ—‘š)Ó$ˆä×0Ñ0°¸Ó@ˆð ˆ�‰�‰ð ˆÜ�X‰X�sœRŸV™V E›]Ñ*¨C´"·&±&¸³-Ñ,?Ð@ÓAˆÜ�X‰X�sœRŸV™V¤B§E¡E¨!¡G¨e¡OÓ4Ñ4°c¼B¿F¹FÄ2Ç5Á5ÈÁ7ÈUÁ?Ó<SÑ6SÐTÓUˆá�‹VˆÙ�‹VˆÜ˜˜BÔô �i‰i×#Ñ# AÓ&ˆØ�I‰I�a˜‹OˆØ�I‰I�a‹Lˆà—‘�v—x‘x“×"Ñ" Q tªA v¡YÑ.ˆØ�U‰U�2‹Y˜‰]ˆØ�U‰U�2‹Y˜‰]ˆä×0Ñ0°¸Ó@ˆØˆ�‰�‰á�‹VˆÙ�‹VˆÜ˜˜BÔÜ˜˜BÕr   )Nr³   FF)rš   r›   rœ   r×   râ   rí   r9   rp   ri   rm   r�   Ú	fail_slowrü   r   r}   r  rB   r   r   rÉ   rÉ     s_   „ à@EØ %óòBRò,Jò	#òIò
,ð ‡[�[×Ñ˜1ÓñJó ðJò(Mò
	9ó% r   rÉ   )r
   ÚsysÚnumpyr    Únumpy.testingr   rm   r   rÿ   Úscipy._lib._array_apir   r   Úscipy._lib._testutilsr   Úscipy.interpolate._interpndÚinterpolateÚ	_interpndr%   Úscipy.spatial._qhullÚspatialÚ_qhullr5   ry   r�   Úmaxsizer¡   r   r   r£   rÉ   rB   r   r   ú<module>r     sh   ðÛ 	Û 
ã Ý +Ý *Û ß Få 3ß .Ð .ß $Ð $ã Û à�[‰[˜5Ñ €	ò*÷
Añ A÷H"Jñ "J÷Jv ò v r   