Ë
    qwj§<  ã                   óè   — d dl Z d dlZd dlZd dl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j.                  dk  Zd„ Z G d„ d«      Z G d	„ d
«      Z G d„ d«      Zy)é    N)Ú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    új/var/www/html/newmanjeet/manjet/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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 r0   )r   r    r!   r"   r#   ÚqhullÚDelaunayr$   r%   r   Útri)r'   r(   r)   r6   Ú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'   ÚpointsrJ   ÚxxÚyyÚxiÚzirI   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   )éûÿÿÿrZ   )rZ   é   )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   )é
   r`   )ra   r   r   r=   r   ra   rK   r`   Tr\   rL   )r'   rR   rI   rS   rT   rU   rV   Ú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 ©NrY   r   r   r1   Tr\   )r   r    r!   r"   r#   r4   r5   r$   r%   rR   r   ©r'   r(   r)   r6   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©	NrY   r   r   r1   zORescaling is not supported when passing a Delaunay triangulation as ``points``.)ÚmatchTr\   )r   r    r!   r"   r#   r4   r5   Úpytestr   Ú
ValueErrorr$   r%   ©r'   r(   r)   r6   rk   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Ø?ŒH×)Ñ)¨#¨q¸$Ô?ÀÔB÷ 4×3Ñ3úó   Â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éÒ  é   r@   y              ð?r   )
r   ÚrandomÚseedÚrandr$   r%   ÚpickleÚloadsÚdumpsr   )r'   r(   r)   rJ   Ú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  ra   c                 óJ   — t         j                  ||f   \  }} | ||f«      }|S ©N)r   Úmgrid)r7   Ú
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ÚvstackrO   rP   r$   r%   Ú	threadingÚThreadÚsliceÚstartr   )r'   Úr_ticksÚ	phi_ticksÚr_gridÚphi_gridr‡   rR   rI   r7   Ú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.   r2   r8   rW   r^   rc   rh   ro   r|   rl   ÚmarkÚslowÚskipifÚ	_IS_32BITr˜   rA   r   r   r   r      sr   „ ò#ò#ò#ò'ò+,ò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|› �¬«       Œ} y )N)r   )r   r@   r<   )r-   r@   ©r   g      è?©g333333ã?gš™™™™™é?r   c                 ó   — d| z  dz   S ©Nr   r-   rA   ©r(   r)   s     r   Ú<lambda>z>TestEstimateGradients2DGlobal.test_smoketest.<locals>.<lambda>å   s   € ˜!˜A™# š'r   r   c                 ó   — d| z   S ©Nr   rA   r§   s     r   r¨   z>TestEstimateGradients2DGlobal.test_smoketest.<locals>.<lambda>æ   s   € ˜!˜aš%r   r<   c                 ó   — d|z   S ©NéþÿÿÿrA   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,@rA   r§   s     r   r¨   z>TestEstimateGradients2DGlobal.test_smoketest.<locals>.<lambda>è   s   € ˜!˜a ™c™' E¨!¡GÒ+r   )r?   r°   r   r-   ç�íµ ÷Æ°>)Útol)é   r@   gñhãˆµøä>zitem )ÚrtolÚatolÚerr_msg)
r   r    Úfloatr4   r5   Ú	enumerater$   Úestimate_gradients_2d_globalr#   r   )	r'   r(   r6   ÚfuncsÚjÚfuncÚgradrH   Údzs	            r   r+   z,TestEstimateGradients2DGlobal.test_smoketestÝ   sà   € Ü�H‰Hò @ÜGLôNˆä�n‰n˜QÓˆñ
 " 6Ð*Ù Ð(Ù  &Ð)Ù+¨ZÐ8ð	
ˆô  )¨Ö/‰OˆA‰|��dÙ�Q’q˜�s‘V˜Qšq ˜s™VÓ$ˆAÜ×6Ñ6°s¸AÀ4ÔHˆBà—8‘8˜vÒ%Ð%Ð%ÜØ”B—H‘H˜T“N 4ª 7Ñ+¨a°©dÑ2¸ÀDØ ˜s˜öñ  0r   c                 óŽ  — t        j                  t        d«      «      }t         j                  j	                  |j
                  d   «      }t        j                  |«      }t        j                  «       5  t        j                  ddt        j                  «       t        j                  ||d¬«       d d d «       y # 1 sw Y   y xY w)Nzestimate_gradients_hang.npyr   Úignorez$Gradient estimation did not converger-   )Úmaxiter)r   Úloadr   ru   rw   r#   r4   r5   ÚwarningsÚcatch_warningsÚfilterwarningsr$   ÚGradientEstimationWarningr¹   )r'   rR   rI   r6   s       r   Útest_regression_2359z2TestEstimateGradients2DGlobal.test_regression_2359õ   s‹   € ô —‘œÐ#@ÓAÓBˆÜ—‘—‘ §¡¨Q¡Ó0ˆÜ�n‰n˜VÓ$ˆô ×$Ñ$Õ&Ü×#Ñ#ØØ6Ü×2Ñ2ôô
 ×1Ñ1°#°vÀqÕI÷ '×&Ñ&ús   Á4>B;Â;CN)r™   rš   r›   r+   rÇ   rA   r   r   r¡   r¡   Ü   s   „ òó0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)Nrs   )r   r:   r<   r;   r£   r¤   )r   gš™™™™™É?r   r   r-   r±   )r²   r]   é2   r@   z_check_accuracy: abs(a-b):zip.grad:)r   ru   ÚRandomStater    r·   r$   ÚCloughTocher2DInterpolatorrw   r   ÚAssertionErrorÚprintÚabsr½   )r'   r¼   r(   r²   Ú	alternater]   ÚkwÚrngrJ   Ú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|› �¬«       | j                  |dddd	d
|› �¬«       | j                  |dddd|› �d	¬«       | j                  |dddd	d	d|› �¬«       Œo y )Nc                 ó   — d| z  dz   S r¦   rA   r§   s     r   r¨   zFTestCloughTocher2DInterpolator.test_linear_smoketest.<locals>.<lambda>,  s   € ˜˜1™˜qšr   c                 ó   — d| z   S rª   rA   r§   s     r   r¨   zFTestCloughTocher2DInterpolator.test_linear_smoketest.<locals>.<lambda>-  s   € ˜˜Qšr   c                 ó   — d|z   S r¬   rA   r§   s     r   r¨   zFTestCloughTocher2DInterpolator.test_linear_smoketest.<locals>.<lambda>.  s   € ˜˜ašr   c                 ó   — dd| z  z   d|z  z   S r¯   rA   r§   s     r   r¨   zFTestCloughTocher2DInterpolator.test_linear_smoketest.<locals>.<lambda>/  s   € ˜˜Q˜q™S™ 5¨¡7Ò*r   g‚vIhÂ%<=gH¯¼šò×z>ú	Function ©r²   rµ   r´   r¶   TzFunction (alternate) )r²   rµ   r´   rÑ   r¶   zFunction (rescaled) ©r²   rµ   r´   r¶   r]   zFunction (alternate, rescaled) )r²   rµ   r´   rÑ   r]   r¶   ©r¸   r×   ©r'   rº   r»   r¼   s       r   Útest_linear_smoketestz4TestCloughTocher2DInterpolator.test_linear_smoketest)  sÐ   € ñ !ÙÙÙ*ð	
ˆô ! Ö'‰GˆAˆtØ× Ñ Ø˜% d°ÀÈ1È#¸ð !ô ð × Ñ Ø˜% d°ÀØ/°¨sÐ3ð !ô ð
 × Ñ Ø˜% d°Ø.¨q¨cÐ2¸Dð !ô ð × Ñ Ø˜% d°ÀÈtØ9¸!¸Ð=ð !õ ñ (r   c           	      ó¤   — d„ d„ d„ d„ g}t        |«      D ]8  \  }}| j                  |dddd|› �¬	«       | j                  |dddd|› �d
¬«       Œ: y )Nc                 ó   — | dz  S ©Nr@   rA   r§   s     r   r¨   zITestCloughTocher2DInterpolator.test_quadratic_smoketest.<locals>.<lambda>G  ó   € ˜˜Ašr   c                 ó   — |dz  S rå   rA   r§   s     r   r¨   zITestCloughTocher2DInterpolator.test_quadratic_smoketest.<locals>.<lambda>H  ræ   r   c                 ó   — | dz  |dz  z
  S rå   rA   r§   s     r   r¨   zITestCloughTocher2DInterpolator.test_quadratic_smoketest.<locals>.<lambda>I  ó   € ˜˜A™  1¡šr   c                 ó   — | |z  S r€   rA   r§   s     r   r¨   zITestCloughTocher2DInterpolator.test_quadratic_smoketest.<locals>.<lambda>J  ó   € ˜˜1šr   ç•Ö&è.>g)\�Âõ(Ì?r   rÝ   rÞ   Trß   rà   rá   s       r   Útest_quadratic_smoketestz7TestCloughTocher2DInterpolator.test_quadratic_smoketestD  sy   € ñ ÙÙ$Ùð	
ˆô ! Ö'‰GˆAˆtØ× Ñ Ø˜$ T°¸YÀqÀc¸?ð !ô ð × Ñ Ø˜$ T°¸YÀqÀc¸?ÐTXð !õ ñ	 (r   c                 ó@  — t        j                  g d¢t         j                  ¬«      }t        j                  |j                  d   t         j                  ¬«      }|d|z  z
  }t        j                  |«      } t        j                  ||«      |«      }t        ||«       y r0   )
r   r    r!   r"   r#   r4   r5   r$   rÍ   r   )r'   r(   r)   r6   r*   s        r   r8   z-TestCloughTocher2DInterpolator.test_tri_inputU  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rj   )r   r    r!   r"   r#   r4   r5   rl   r   rm   r$   rÍ   rn   s        r   ro   z5TestCloughTocher2DInterpolator.test_tri_input_rescale`  s‹   € ä�H‰HÒ?ÜŸ:™:ô'ˆä�I‰I�a—g‘g˜a‘j¬¯
©
Ô3ˆØ��1‘‰Hˆä�n‰n˜QÓˆð9ˆä�]‰]œ:¨UÖ3ØEŒH×/Ñ/°°QÀÔEÀaÔH÷ 4×3Ñ3úrp   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 re   )r   r    r!   r"   r#   r4   r5   r$   rÍ   rR   r   rf   s         r   rh   z;TestCloughTocher2DInterpolator.test_tripoints_input_rescalem  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|› �¬«       | j                  ||dddd|› �d¬«       Œ< y )Nc                 ó   — | dz  S rå   rA   r§   s     r   r¨   z;TestCloughTocher2DInterpolator.test_dense.<locals>.<lambda>}  ræ   r   c                 ó   — |dz  S rå   rA   r§   s     r   r¨   z;TestCloughTocher2DInterpolator.test_dense.<locals>.<lambda>~  ræ   r   c                 ó   — | dz  |dz  z
  S rå   rA   r§   s     r   r¨   z;TestCloughTocher2DInterpolator.test_dense.<locals>.<lambda>  ré   r   c                 ó   — | |z  S r€   rA   r§   s     r   r¨   z;TestCloughTocher2DInterpolator.test_dense.<locals>.<lambda>€  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>�  s3   € œŸ™ ¤"§%¡%¡¨¡	Ó*¬2¯6©6°!´B·E±E±'¸!±)Ó+<Ò<r   iá  )r   r:   r<   r;   r   i„  r@   rì   g{®Gázt?g{®Gáz„?rÝ   )r(   r²   rµ   r´   r¶   T)r(   r²   rµ   r´   r¶   r]   )	r   ru   rÌ   Úr_r    r·   rw   r¸   r×   )r'   rº   rÓ   Úgridr»   r¼   s         r   Ú
test_densez)TestCloughTocher2DInterpolator.test_densey  sÇ   € ñ ÙÙ$ÙÙ<ð
ˆô �i‰i×#Ñ# DÓ)ˆÜ�u‰u”R—X‘XÒ:Ä%ÔHØ—X‘X˜e QÓ'ð(ñ )ˆô ! Ö'‰GˆAˆtØ× Ñ Ø˜ $¨T¸È	ÐRSÐQTÀoð !ô ð × Ñ Ø˜ $¨T¸Ø# A 3˜°ð !õ ñ	 (r   c                 óÂ   — t         j                  j                  dd«      }t         j                  j                  d«      }t        t        t
        j                  ||«       y )Nrt   r?   )r   ru   ÚrandnÚassert_raisesrm   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 rr   )
r   ru   rÌ   rw   r$   rÍ   rx   ry   rz   r   )r'   rÓ   r(   r)   rJ   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?   r@   )r-   r   r   r   .r   r-   )r   r    Úsqrtr$   rÍ   r½   r÷   rù   rø   r   ru   rÌ   rþ   ÚdotrP   )r'   rR   rI   rJ   Ú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í   r8   ro   rh   rl   rœ   Ú	fail_slowrü   r   r|   r  rA   r   r   rÉ   rÉ     s[   „ à@EØ %óòBò6ò"	#òIò
,ð ‡[�[×Ñ˜1Óñó ðò.Mò
	9ó% r   rÉ   )r	   ÚsysrÃ   Únumpyr   rl   r   rÿ   Úscipy._lib._array_apir   r   Úscipy._lib._testutilsr   Úscipy.interpolate._interpndÚinterpolateÚ	_interpndr$   Úscipy.spatial._qhullÚspatialÚ_qhullr4   rx   rŒ   ÚmaxsizerŸ   r   r   r¡   rÉ   rA   r   r   Ú<module>r     sh   ðÛ 	Û 
Û ã Ý *Û ß Få 3ß .Ð .ß $Ð $ã Û à�[‰[˜5Ñ €	ò*÷
@ñ @÷F'Jñ 'J÷T@ ò @ r   