§
    ¢éUg4<  ã                   óô   — d dl Z d dlZd dlZd dlmZmZmZmZ d dl	m
Z d dl	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dS )é    N)Úassert_equalÚassert_allcloseÚassert_almost_equalÚsuppress_warnings)Úraises)Úcheck_free_memoryl        c                 óÂ   — t           j                             t           j                             t           j                             t
          ¦  «        ¦  «        d| ¦  «        S )NÚdata)ÚosÚpathÚjoinÚabspathÚdirnameÚ__file__)Úbasenames    úd/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/scipy/interpolate/tests/test_interpnd.pyÚ	data_filer      s=   € ÝŒ7�<Š<�œŸš­¬¯ª½Ñ(AÔ(AÑBÔ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                             ed¬¦  «        d„ ¦   «         ¦   «         ZdS )ÚTestLinearNDInterpolationc                 óü   — t          j        g d¢t           j        ¬¦  «        }t          j        |j        d         t           j        ¬¦  «        } t          j        ||¦  «        |¦  «        }t          ||¦  «         d S )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   st   € åŒHÐNÐNÐNÝœ:ð'ñ 'ô 'ˆåŒI�a”g˜a”j­¬
Ð3Ñ3Ô3ˆà0�XÔ*¨1¨aÑ0Ô0°Ñ3Ô3ˆÝ˜A˜rÑ"Ô"Ð"Ð"Ð"r   c                 óR  — 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          ||¦  «         d S )Nr   r   r   é   r    r(   s       r   Útest_smoketest_alternatez2TestLinearNDInterpolation.test_smoketest_alternate#   s«   € åŒHÐNÐNÐNÝœ:ð'ñ 'ô 'ˆåŒI�a”g˜a”j­¬
Ð3Ñ3Ô3ˆà?�XÔ*¨A¨a¨a¨a°¨c¬F°A°a°a°a¸°c´FÐ+;¸QÑ?Ô?ÀÀ!À!À!ÀAÀ#ÄÈÈ!È!È!ÈAÈ#ÌÑOÔOˆÝ˜A˜rÑ"Ô"Ð"Ð"Ð"r   c                 ó  — t          j        g d¢t           j        ¬¦  «        }t          j        |j        d         t           j        ¬¦  «        }|d|z  z
  } t          j        ||¦  «        |¦  «        }t          ||¦  «         d S ©Nr   r   r   ù              @r    r(   s       r   Útest_complex_smoketestz0TestLinearNDInterpolation.test_complex_smoketest,   s�   € åŒHÐNÐNÐNÝœ:ð'ñ 'ô 'ˆåŒI�a”g˜a”j­¬
Ð3Ñ3Ô3ˆØ��1‘‰Hˆà0�XÔ*¨1¨aÑ0Ô0°Ñ3Ô3ˆÝ˜A˜rÑ"Ô"Ð"Ð"Ð"r   c                 ó4  — t          j        g d¢t           j        ¬¦  «        }t          j        |j        d         t           j        ¬¦  «        }|d|z  z
  }t          j        |¦  «        } t          j        ||¦  «        |¦  «        }t          ||¦  «         d S r2   )
r!   r"   r#   r$   r%   ÚqhullÚDelaunayr&   r'   r   ©r)   r*   r+   Útrir,   s        r   Útest_tri_inputz(TestLinearNDInterpolation.test_tri_input6   s�   € åŒHÐNÐNÐNÝœ:ð'ñ 'ô 'ˆåŒI�a”g˜a”j­¬
Ð3Ñ3Ô3ˆØ��1‘‰HˆåŒn˜QÑÔˆØ2�XÔ*¨3°Ñ2Ô2°1Ñ5Ô5ˆÝ˜A˜rÑ"Ô"Ð"Ð"Ð"r   c                 ó\  ‡— 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         ¦  «        \  }}|                     ¦   «         }|                     ¦   «         }t          j        ||g¦  «        j                             ¦   «         } t          j	        |‰¦  «        |¦  «        }t          | |||¦  «        ¦  «         d S )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>.ipO   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)   ÚpointsrL   ÚxxÚyyÚxiÚzirK   s          @r   Útest_squarez%TestLinearNDInterpolation.test_squareA   s%  ø€ õ ”Ð6Ð6Ð6½b¼jÐIÑIÔIˆÝ”Ð+Ð+Ð+µ2´:Ð>Ñ>Ô>ˆð	ð 	ð 	ð 	ð 	õ* Ô$¥R¤[°°A°rÑ%:Ô%:¸1¸1¸1¸T¸6Ô%BÝ%'¤[°°A°rÑ%:Ô%:¸4ÀÀÀ¸6Ô%BñDô D‰ˆˆBà�XŠX‰ZŒZˆØ�XŠX‰ZŒZˆåŒ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          ||¦  «         d S )N©r   )éûÿÿÿr\   )r\   é   )r]   r]   )g      @rA   r   r   T©Úrescaler    r(   s       r   Útest_smoketest_rescalez0TestLinearNDInterpolation.test_smoketest_rescalen   sy   € åŒHÐBÐBÐBÝœ:ð'ñ 'ô 'ˆåŒI�a”g˜a”j­¬
Ð3Ñ3Ô3ˆà>�XÔ*¨1¨a¸Ð>Ñ>Ô>¸qÑAÔAˆÝ˜A˜rÑ"Ô"Ð"Ð"Ð"r   c                 ó|  — 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         ¦  «        \  }}|                     ¦   «         }|                     ¦   «         }t          j        ||g¦  «        j                             ¦   «         } t          j	        ||¦  «        |¦  «        } t          j	        ||d¬	¦  «        |¦  «        }t          ||¦  «         d S )
N)r   )r   éd   )é
   rb   )rc   r   r   r?   r   rc   rM   rb   Tr^   rN   )r)   rT   rK   rU   rV   rW   rX   Úzi_rescaleds           r   Útest_square_rescalez-TestLinearNDInterpolation.test_square_rescalew   s0  € õ ”Ð<Ð<Ð<ÅBÄJÐOÑOÔOˆÝ”Ð+Ð+Ð+µ2´:Ð>Ñ>Ô>ˆåÔ$¥R¤[°°B¸Ñ%;Ô%;¸A¸A¸A¸d¸FÔ%CÝ%'¤[°°C¸Ñ%<Ô%<¸TÀ!À!À!¸VÔ%DñFô F‰ˆˆBà�XŠX‰ZŒZˆØ�XŠX‰ZŒZˆÝŒX�r˜2�hÑÔÔ!×&Ò&Ñ(Ô(ˆØ:�XÔ*¨6°6Ñ:Ô:¸2Ñ>Ô>ˆð•hÔ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          ||¦  «         d S ©Nr[   r   r   r3   Tr^   )r!   r"   r#   r$   r%   r6   r7   r&   r'   rT   r   ©r)   r*   r+   r9   r,   Ú
yi_rescales         r   Útest_tripoints_input_rescalez6TestLinearNDInterpolation.test_tripoints_input_rescale‰   sÃ   € åŒHÐ?Ð?Ð?Ýœ:ð'ñ 'ô 'ˆåŒI�a”g˜a”j­¬
Ð3Ñ3Ô3ˆØ��1‘‰HˆåŒn˜QÑÔˆØ9�XÔ*¨3¬:°qÑ9Ô9¸!Ñ<Ô<ˆð•XÔ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 ¦  «         d S # 1 swxY w Y   d S ©	Nr[   r   r   r3   zORescaling is not supported when passing a Delaunay triangulation as ``points``.)ÚmatchTr^   )r!   r"   r#   r$   r%   r6   r7   Úpytestr   Ú
ValueErrorr&   r'   ©r)   r*   r+   r9   rm   s        r   Útest_tri_input_rescalez0TestLinearNDInterpolation.test_tri_input_rescale–   s  € åŒHÐ?Ð?Ð?Ýœ:ð'ñ 'ô 'ˆåŒI�a”g˜a”j­¬
Ð3Ñ3Ô3ˆØ��1‘‰HˆåŒn˜QÑÔˆð9ˆåŒ]�:¨UÐ3Ñ3Ô3ð 	Cð 	CØ?�HÔ)¨#¨q¸$Ð?Ñ?Ô?ÀÑBÔBÐBð	Cð 	Cð 	Cñ 	Cô 	Cð 	Cð 	Cð 	Cð 	Cð 	Cð 	Cð 	Cøøøð 	Cð 	Cð 	Cð 	Cð 	Cð 	Có   Â!B5Â5B9Â<B9c                 óÆ  — t           j                             d¦  «         t           j                             dd¦  «        }t           j                             d¦  «        dt           j                             d¦  «        z  z   }t	          j        ||¦  «        }t          j        t          j        |¦  «        ¦  «        }t           |dd¦  «         |dd¦  «        ¦  «         d S ©NéÒ  é   rB   y              ð?r   )
r!   ÚrandomÚseedÚrandr&   r'   ÚpickleÚloadsÚdumpsr   ©r)   r*   r+   rL   Úip2s        r   Útest_picklez%TestLinearNDInterpolation.test_pickle£   s«   € å
Œ	�Š�tÑÔÐÝŒI�NŠN˜2˜qÑ!Ô!ˆÝŒI�NŠN˜2ÑÔ ¥B¤I§N¢N°2Ñ$6Ô$6Ñ!6Ñ6ˆåÔ*¨1¨aÑ0Ô0ˆÝŒl�6œ<¨Ñ+Ô+Ñ,Ô,ˆå˜B˜B˜s C™LœL¨#¨#¨c°3©-¬-Ñ8Ô8Ð8Ð8Ð8r   zit fails on 32-bit)Úreasonc           	      óp  — t          d¦  «         t          j        ddd¦  «        }t          j        ddd¦  «        }t          j        ||¦  «        \  }}d„ }t          j        |                     ¦   «         |                     ¦   «         f¦  «        j        }||z                       ¦   «         }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¬¦  «        }|	                     ¦   «          |
                     ¦   «          |                     ¦   «          |                     ¦   «          |	                     ¦   «          |
                     ¦   «          |                     ¦   «          |                     ¦   «          d S )Ni'  r   ih  rc   c                 óN   — t           j        ||f         \  }} | ||f¦  «        }|S ©N)r!   Úmgrid)ÚinterpolatorÚ
slice_rowsÚ
slice_colsÚgrid_xÚgrid_yÚress         r   Ú	do_interpz;TestLinearNDInterpolation.test_threading.<locals>.do_interp¹   s0   € ÝœX j°*Ð&<Ô=‰NˆF�FØ�, ¨Ð/Ñ0Ô0ˆCØˆJr   i4  )ÚtargetÚargs)r   r!   r$   ÚmeshgridÚvstackrQ   rR   r&   r'   Ú	threadingÚThreadÚsliceÚstartr   )r)   Úr_ticksÚ	phi_ticksÚr_gridÚphi_gridr‹   rT   rK   r…   Úworker_thread_1Úworker_thread_2Úworker_thread_3Úworker_thread_4s                r   Útest_threadingz(TestLinearNDInterpolation.test_threading®   s2  € õ
 	˜%Ñ Ô Ð å”)˜A˜t RÑ(Ô(ˆÝ”I˜a  rÑ*Ô*ˆ	Ýœ; w°	Ñ:Ô:Ñˆ�ð	ð 	ð 	õ
 ”˜FŸLšL™NœN¨H¯NªNÑ,<Ô,<Ð=Ñ>Ô>Ô@ˆØ˜8Ñ#×*Ò*Ñ,Ô,ˆÝÔ4°V¸VÑDÔDˆå#Ô*ØØ¥ a¨¡¤µ°a¸±´Ð?ðAñ Aô Aˆõ $Ô*ØØ¥ d¨DÑ 1Ô 1µ5¸¸D±>´>ÐBðDñ Dô Dˆõ $Ô*ØØ¥ a¨¡¤µ°d¸DÑ0AÔ0AÐBðDñ Dô Dˆõ $Ô*ØØ¥ d¨DÑ 1Ô 1µ5¸¸tÑ3DÔ3DÐEðGñ Gô Gˆð 	×ÒÑÔÐØ×ÒÑÔÐØ×ÒÑÔÐØ×ÒÑÔÐà×ÒÑÔÐØ×ÒÑÔÐØ×ÒÑÔÐØ×ÒÑÔÐÐÐr   N)Ú__name__Ú
__module__Ú__qualname__r-   r0   r4   r:   rY   r`   re   rj   rq   r   rn   ÚmarkÚslowÚskipifÚ	_IS_32BITrœ   rC   r   r   r   r      sñ   € € € € € ð#ð #ð #ð#ð #ð #ð#ð #ð #ð	#ð 	#ð 	#ð+,ð +,ð +,ðZ#ð #ð #ð-ð -ð -ð$,ð ,ð ,ðCð Cð Cð	9ð 	9ð 	9ð „[ÔØ„[×Ò˜	Ð*>ÐÑ?Ô?ð'ð 'ñ @Ô?ñ Ôð'ð 'ð 'r   r   c                   ó   — e Zd Zd„ Zd„ ZdS )Ú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¬¦  «        }t          |j	        d¦  «         t          |t          j        |¦  «        d d d …f         d|z  z   ddd|z  ¬¦  «         ŒŽd S )N)r   )r   rB   r>   )r/   rB   ©r   g      è?©g333333ã?gš™™™™™é?r   c                 ó   — d| z  dz   S ©Nr   r/   rC   ©r*   r+   s     r   ú<lambda>z>TestEstimateGradients2DGlobal.test_smoketest.<locals>.<lambda>ã   s   € ˜!˜A™# ™'€ r   r   c                 ó   — d| z   S ©Nr   rC   r«   s     r   r¬   z>TestEstimateGradients2DGlobal.test_smoketest.<locals>.<lambda>ä   s
   € ˜!˜a™%€ r   r>   c                 ó   — d|z   S ©NéþÿÿÿrC   r«   s     r   r¬   z>TestEstimateGradients2DGlobal.test_smoketest.<locals>.<lambda>å   s
   € ˜"˜q™&€ r   r<   c                 ó   — dd| z  z   d|z  z   S ©NrA   çÍÌÌÌÌL,@rC   r«   s     r   r¬   z>TestEstimateGradients2DGlobal.test_smoketest.<locals>.<lambda>æ   s   € ˜!˜a ™c™' E¨!¡GÑ+€ r   )rA   r´   r   r/   ç�íµ ÷Æ°>)Útol)é   rB   gñhãˆµøä>zitem %d)ÚrtolÚatolÚerr_msg)r!   r"   Úfloatr6   r7   Ú	enumerater&   Úestimate_gradients_2d_globalr   r%   r   )	r)   r*   r9   ÚfuncsÚjÚfuncÚgradrJ   Údzs	            r   r-   z,TestEstimateGradients2DGlobal.test_smoketestÛ   sC  € ÝŒHð @ð @ð @ÝGLðNñ Nô NˆåŒn˜QÑÔˆð
 "Ð! 6Ð*ØÐ Ð(Ø Ð  &Ð)Ø+Ð+¨ZÐ8ð	
ˆõ  )¨Ñ/Ô/ð 	Ið 	I‰OˆA‰|��dØ��Q�q�q�q˜�s”V˜Q˜q˜q˜q ˜sœVÑ$Ô$ˆAÝÔ6°s¸AÀ4ÐHÑHÔHˆBå˜œ 6Ñ*Ô*Ð*Ý˜B¥¤¨¡¤¨t°A°A°A¨vÔ 6¸¸2¹Ñ =Ø!%¨D¸)Àa¹-ðIñ Iô Ið Ið Ið	Ið 	Ir   c                 ó€  — t          j        t          d¦  «        ¦  «        }t           j                             |j        d         ¦  «        }t          j        |¦  «        }t          ¦   «         5 }| 	                    t          j        d¦  «         t          j        ||d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nzestimate_gradients_hang.npyr   z$Gradient estimation did not converger/   )Úmaxiter)r!   Úloadr   rw   ry   r%   r6   r7   r   Úfilterr&   ÚGradientEstimationWarningr½   )r)   rT   rK   r9   Úsups        r   Útest_regression_2359z2TestEstimateGradients2DGlobal.test_regression_2359ñ   sü   € õ ”�Ð#@ÑAÔAÑBÔBˆÝ”—’ ¤¨Q¤Ñ0Ô0ˆÝŒn˜VÑ$Ô$ˆõ Ñ Ô ð 	J CØ�JŠJ•xÔ9Ø=ñ?ô ?ð ?åÔ1°#°vÀqÐIÑIÔIÐIð	Jð 	Jð 	Jñ 	Jô 	Jð 	Jð 	Jð 	Jð 	Jð 	Jð 	Jð 	Jøøøð 	Jð 	Jð 	Jð 	Jð 	Jð 	Js   Á.8B3Â3B7Â:B7N)r�   rž   rŸ   r-   rÉ   rC   r   r   r¥   r¥   Ú   s:   € € € € € ðIð Ið Ið,Jð Jð Jð Jð Jr   r¥   c                   ó�   — e Zd Z	 	 dd„Zd„ Zd„ Zd„ Zd„ Zd	„ Ze	j
                             d
¦  «        d„ ¦   «         Zd„ Zd„ Zd„ ZdS )ÚTestCloughTocher2DInterpolatorNrµ   Fc           	      ó  — t           j                             d¦  «         |€t          j        g d¢t          ¬¦  «        }|s7t          j        | ||d d …df         |d d …df         ¦  «        d|¬¦  «        }nLt          j        |d d …df         |d d …df         f ||d d …df         |d d …df         ¦  «        d|¬¦  «        }t           j                             dd	¦  «        }|s ||¦  «        }	n  ||d d …df         |d d …df         ¦  «        }	 ||d d …df         |d d …df         ¦  «        }
	 t          |	|
fi |¤Ž d S # t          $ r7 t          d
t          |	|
z
  ¦  «        ¦  «         t          d|j        ¦  «         ‚ w xY w)Nru   )r   r<   r>   r=   r§   r¨   )r   gš™™™™™É?r   r   r/   rµ   )r¶   r_   é2   rB   z_check_accuracy: abs(a-b):zip.grad:)r!   rw   rx   r"   r»   r&   ÚCloughTocher2DInterpolatorry   r   ÚAssertionErrorÚprintÚabsrÁ   )r)   rÀ   r*   r¶   Ú	alternater_   ÚkwrL   ÚpÚaÚbs              r   Ú_check_accuracyz.TestCloughTocher2DInterpolator._check_accuracy  sî  € å
Œ	�Š�tÑÔÐØˆ9Ý”ð &ð &ð &õ  %ð&ñ &ô &ˆAð
 ð 	PÝÔ4°Q¸¸¸Q¸q¸q¸qÀ¸s¼VÀQÀqÀqÀqÈÀsÄVÑ8LÔ8LØ9=ÀwðPñ Pô PˆBˆBõ Ô4°a¸¸¸¸!¸´f¸aÀÀÀÀ!À¼fÐ5EØ59°T¸!¸A¸A¸A¸a¸C¼&À!ÀAÀAÀAÀaÀCÄ&Ñ5IÔ5IØ9=ÀwðPñ Pô PˆBõ ŒI�NŠN˜2˜qÑ!Ô!ˆàð 	#Ø��1‘”ˆAˆAà��1�Q�Q�Q�q�S”6˜1˜Q˜Q˜Q˜q˜Sœ6Ñ"Ô"ˆAØˆD��1�1�1�Q�3”˜˜1˜1˜1˜Q˜3œÑ Ô ˆð	Ý˜A˜qÐ'Ð' BÐ'Ð'Ð'Ð'Ð'øÝð 	ð 	ð 	ÝÐ.µ°A¸±E±
´
Ñ;Ô;Ð;Ý�*˜bœgÑ&Ô&Ð&Øð	øøøs   Ä3E ÅAFc                 ó4  — d„ d„ d„ d„ g}t          |¦  «        D ]}\  }}|                      |dddd|z  ¬¦  «         |                      |dddd	d
|z  ¬¦  «         |                      |dddd|z  d	¬¦  «         |                      |dddd	d	d|z  ¬¦  «         Œ~d S )Nc                 ó   — d| z  dz   S rª   rC   r«   s     r   r¬   zFTestCloughTocher2DInterpolator.test_linear_smoketest.<locals>.<lambda>$  s   € ˜˜1™˜q™€ r   c                 ó   — d| z   S r®   rC   r«   s     r   r¬   zFTestCloughTocher2DInterpolator.test_linear_smoketest.<locals>.<lambda>%  s
   € ˜˜Q™€ r   c                 ó   — d|z   S r°   rC   r«   s     r   r¬   zFTestCloughTocher2DInterpolator.test_linear_smoketest.<locals>.<lambda>&  s
   € ˜˜a™€ r   c                 ó   — dd| z  z   d|z  z   S r³   rC   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ð 	R‰GˆAˆtØ× Ò  ¨5°tÀ$Ø)6¸Ñ):ð !ñ <ô <ð <à× Ò  ¨5°tÀ$Ø+/Ø)BÀQÑ)Fð !ñ Hô Hð Hð × Ò  ¨5°tÀ$Ø)AÀAÑ)EÈtð !ñ Uô Uð Uà× Ò  ¨5°tÀ$Ø+/¸Ø)LÈqÑ)Pð !ñ Rô Rð Rð Rð	Rð 	Rr   c           	      óº   — d„ d„ d„ d„ g}t          |¦  «        D ]@\  }}|                      |dddd|z  ¬	¦  «         |                      |dddd|z  d
¬¦  «         ŒAd S )Nc                 ó   — | dz  S ©NrB   rC   r«   s     r   r¬   zITestCloughTocher2DInterpolator.test_quadratic_smoketest.<locals>.<lambda>:  ó
   € ˜˜A™€ r   c                 ó   — |dz  S rå   rC   r«   s     r   r¬   zITestCloughTocher2DInterpolator.test_quadratic_smoketest.<locals>.<lambda>;  ræ   r   c                 ó   — | dz  |dz  z
  S rå   rC   r«   s     r   r¬   zITestCloughTocher2DInterpolator.test_quadratic_smoketest.<locals>.<lambda><  ó   € ˜˜A™  1¡™€ r   c                 ó   — | |z  S rƒ   rC   r«   s     r   r¬   zITestCloughTocher2DInterpolator.test_quadratic_smoketest.<locals>.<lambda>=  ó
   € ˜˜1™€ r   ç•Ö&è.>g)\�Âõ(Ì?r   rÝ   rÞ   Trß   rà   rá   s       r   Útest_quadratic_smoketestz7TestCloughTocher2DInterpolator.test_quadratic_smoketest7  s³   € ð ÐØÐØ$Ð$ØÐð	
ˆõ ! Ñ'Ô'ð 	Jð 	J‰GˆAˆtØ× Ò  ¨4°dÀØ)6¸Ñ):ð !ñ <ô <ð <à× Ò  ¨4°dÀØ)6¸Ñ):ÀDð !ñ Jô Jð Jð Jð	Jð 	Jr   c                 ó4  — t          j        g d¢t           j        ¬¦  «        }t          j        |j        d         t           j        ¬¦  «        }|d|z  z
  }t          j        |¦  «        } t          j        ||¦  «        |¦  «        }t          ||¦  «         d S r2   )
r!   r"   r#   r$   r%   r6   r7   r&   rÎ   r   r8   s        r   r:   z-TestCloughTocher2DInterpolator.test_tri_inputF  s�   € åŒHÐNÐNÐNÝœ:ð'ñ 'ô 'ˆåŒI�a”g˜a”j­¬
Ð3Ñ3Ô3ˆØ��1‘‰HˆåŒn˜QÑÔˆØ8�XÔ0°°aÑ8Ô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 ¦  «         d S # 1 swxY w Y   d S rl   )r!   r"   r#   r$   r%   r6   r7   rn   r   ro   r&   rÎ   rp   s        r   rq   z5TestCloughTocher2DInterpolator.test_tri_input_rescaleQ  s  € åŒHÐ?Ð?Ð?Ýœ:ð'ñ 'ô 'ˆåŒI�a”g˜a”j­¬
Ð3Ñ3Ô3ˆØ��1‘‰HˆåŒn˜QÑÔˆð9ˆåŒ]�:¨UÐ3Ñ3Ô3ð 	Ið 	IØE�HÔ/°°QÀÐEÑEÔEÀaÑHÔHÐHð	Ið 	Ið 	Iñ 	Iô 	Ið 	Ið 	Ið 	Ið 	Ið 	Ið 	Ið 	Iøøøð 	Ið 	Ið 	Ið 	Ið 	Ið 	Irr   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          ||¦  «         d S rg   )r!   r"   r#   r$   r%   r6   r7   r&   rÎ   rT   r   rh   s         r   rj   z;TestCloughTocher2DInterpolator.test_tripoints_input_rescale^  s·   € åŒHÐ?Ð?Ð?Ýœ:ð'ñ 'ô 'ˆåŒI�a”g˜a”j­¬
Ð3Ñ3Ô3ˆØ��1‘‰HˆåŒn˜QÑÔˆØ?�XÔ0°´¸QÑ?Ô?ÀÑBÔBˆØU•XÔ8¸¼ÀQÐPTÐUÑUÔUÐVWÑXÔXˆ
Ý˜B 
Ñ+Ô+Ð+Ð+Ð+r   rB   c           
      óš  — d„ d„ d„ d„ d„ g}t           j                             d¦  «         t           j        t          j        g d¢t
          ¬¦  «        t           j                             d	d
¦  «        f         }t          |¦  «        D ]B\  }}|                      ||dddd|z  ¬¦  «         |                      ||dddd|z  d¬¦  «         ŒCd S )Nc                 ó   — | dz  S rå   rC   r«   s     r   r¬   z;TestCloughTocher2DInterpolator.test_dense.<locals>.<lambda>n  ræ   r   c                 ó   — |dz  S rå   rC   r«   s     r   r¬   z;TestCloughTocher2DInterpolator.test_dense.<locals>.<lambda>o  ræ   r   c                 ó   — | dz  |dz  z
  S rå   rC   r«   s     r   r¬   z;TestCloughTocher2DInterpolator.test_dense.<locals>.<lambda>p  ré   r   c                 ó   — | |z  S rƒ   rC   r«   s     r   r¬   z;TestCloughTocher2DInterpolator.test_dense.<locals>.<lambda>q  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>r  s3   € �œ ¥"¤%¡¨¡	Ñ*Ô*­2¬6°!µB´E±'¸!±)Ñ+<Ô+<Ñ<€ r   iá  )r   r<   r>   r=   r   i„  rB   rì   g{®Gázt?g{®Gáz„?rÝ   )r*   r¶   r¹   r¸   rº   T)r*   r¶   r¹   r¸   rº   r_   )	r!   rw   rx   Úr_r"   r»   ry   r¼   r×   )r)   r¾   Úgridr¿   rÀ   s        r   Ú
test_densez)TestCloughTocher2DInterpolator.test_densej  s  € ð ÐØÐØ$Ð$ØÐØ<Ð<ð
ˆõ 	Œ	�Š�tÑÔÐÝŒu•R”XÐ:Ð:Ð:Å%ÐHÑHÔHÝ”Y—^’^ E¨1Ñ-Ô-ð.ô /ˆõ ! Ñ'Ô'ð 	Jð 	J‰GˆAˆtØ× Ò  ¨°4¸dÈØ)6¸Ñ):ð !ñ <ô <ð <à× Ò  ¨°4¸dÈØ)6¸Ñ):ÀDð !ñ Jô Jð Jð Jð	Jð 	Jr   c                 óÆ   — t           j                             dd¦  «        }t           j                             d¦  «        }t          t          t
          j        ||¦  «         d S )Nrv   rA   )r!   rw   ÚrandnÚassert_raisesro   r&   rÎ   )r)   r*   r+   s      r   Útest_wrong_ndimz.TestCloughTocher2DInterpolator.test_wrong_ndim  sG   € ÝŒI�OŠO˜B Ñ"Ô"ˆÝŒI�OŠO˜BÑÔˆÝ•j¥(Ô"EÀqÈ!ÑLÔLÐLÐLÐLr   c                 óÆ  — t           j                             d¦  «         t           j                             dd¦  «        }t           j                             d¦  «        dt           j                             d¦  «        z  z   }t	          j        ||¦  «        }t          j        t          j        |¦  «        ¦  «        }t           |dd¦  «         |dd¦  «        ¦  «         d S rt   )
r!   rw   rx   ry   r&   rÎ   rz   r{   r|   r   r}   s        r   r   z*TestCloughTocher2DInterpolator.test_pickle„  s«   € å
Œ	�Š�tÑÔÐÝŒI�NŠN˜2˜qÑ!Ô!ˆÝŒI�NŠN˜2ÑÔ ¥B¤I§N¢N°2Ñ$6Ô$6Ñ!6Ñ6ˆåÔ0°°AÑ6Ô6ˆÝŒl�6œ<¨Ñ+Ô+Ñ,Ô,ˆå˜B˜B˜s C™LœL¨#¨#¨c°3©-¬-Ñ8Ô8Ð8Ð8Ð8r   c                 óz  — 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
                             d
¦  «         t           j
                             dd¦  «        }	t           j
                             d¦  «        }
|	                     |j        ¦  «        j        |
d d d …f         z   }|	                     |¦  «        |
z   }|	                     |¦  «        |
z   }t          j        ||¦  «        }d|j        d<    ||¦  «        } ||¦  «        }t          ||¦  «         t          ||¦  «         d S )Nr   r>   r   rA   rB   )r/   r   r   r   .r   r/   )r!   r"   Úsqrtr&   rÎ   rÁ   r÷   rù   rø   r   rw   rx   rþ   ÚdotrR   )r)   rT   rK   rL   ÚalphaÚp1Úp2Úv1Úv2ÚArÖ   Úw1Úw2s                r   Útest_boundary_tri_symmetryz9TestCloughTocher2DInterpolator.test_boundary_tri_symmetry�  sè  € õ
 ”˜6 6¨Cµ´¸±´¸A±Ð+>Ð?Ñ@Ô@ˆÝ”˜)˜)˜)Ñ$Ô$ˆåÔ0°¸Ñ@Ô@ˆð ˆŒ�‰ð ˆÝŒX�s�RœV E™]œ]Ñ*¨Cµ"´&¸±-´-Ñ,?Ð@ÑAÔAˆÝŒX�s�RœV¥B¤E¨!¡G¨e¡OÑ4Ô4Ñ4°c½B¼FÅ2Ä5ÈÁ7ÈUÁ?Ñ<SÔ<SÑ6SÐTÑUÔUˆàˆR�‰VŒVˆØˆR�‰VŒVˆÝ˜˜BÑÔÐõ 	Œ	�Š�qÑÔÐÝŒI�OŠO˜A˜qÑ!Ô!ˆÝŒI�OŠO˜AÑÔˆà—’�v”x‘”Ô" Q t¨A¨A¨A v¤YÑ.ˆØ�UŠU�2‰YŒY˜‰]ˆØ�UŠU�2‰YŒY˜‰]ˆåÔ0°¸Ñ@Ô@ˆØˆŒ�‰àˆR�‰VŒVˆØˆR�‰VŒVˆÝ˜˜BÑÔÐÝ˜˜BÑÔÐÐÐr   )Nrµ   FF)r�   rž   rŸ   r×   râ   rí   r:   rq   rj   rn   r    Ú	fail_slowrü   r   r   r  rC   r   r   rË   rË   ÿ   sâ   € € € € € à@EØ %ðð ð ð ð@Rð Rð Rð,Jð Jð Jð	#ð 	#ð 	#ðIð Ið Ið
,ð 
,ð 
,ð „[×Ò˜1ÑÔðJð Jñ ÔðJð(Mð Mð Mð
	9ð 	9ð 	9ð% ð % ð % ð % ð % r   rË   )r   ÚsysÚnumpyr!   Únumpy.testingr   r   r   r   rn   r   rÿ   Úscipy._lib._testutilsr   Úscipy.interpolate.interpndÚinterpolater&   Úscipy.spatial._qhullÚspatialÚ_qhullr6   rz   r�   Úmaxsizer£   r   r   r¥   rË   rC   r   r   ú<module>r     s�  ðØ 	€	€	€	Ø 
€
€
€
à Ð Ð Ð ð.ð .ð .ð .ð .ð .ð .ð .ð .ð .ð .ð .à *Ð *Ð *Ð *Ð *Ð *Ø €€€à 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø -Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ø $Ð $Ð $Ð $Ð $Ð $Ð $Ð $Ð $à €€€Ø Ð Ð Ð àŒ[˜5Ò €	ð*ð *ð *ð
~ð ~ð ~ð ~ð ~ñ ~ô ~ð ~ðB"Jð "Jð "Jð "Jð "Jñ "Jô "Jð "JðJu ð u ð u ð u ð u ñ u ô u ð u ð u ð u r   