§
    fŠtj§<  ã                   óô   — 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dS )é    N)Úraises)Úxp_assert_closeÚassert_almost_equal)Úcheck_free_memoryl        c                 óÂ   — t           j                             t           j                             t           j                             t
          ¦  «        ¦  «        d| ¦  «        S )NÚdata)ÚosÚpathÚjoinÚabspathÚdirnameÚ__file__)Úbasenames    úc/var/www/html/CA-Chatbot/venv/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                 óN  — t          j        g d¢t           j        ¬¦  «        }t          j        |j        d         t           j        ¬¦  «        }|d|z  z
  }t          j        |¦  «        }t          j        ||¦  «        } ||¦  «        }t          ||¦  «         |j
        |u sJ ‚d S 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ÐNÐNÐNÝœ:ð'ñ 'ô 'ˆåŒI�a”g˜a”j­¬
Ð3Ñ3Ô3ˆØ��1‘‰HˆåŒn˜QÑÔˆÝÔ4°S¸!Ñ<Ô<ˆØˆ\˜!‰_Œ_ˆÝ˜A˜rÑ"Ô"Ð"ØÔ 3Ð&Ð&Ð&Ð&Ð&Ð&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>.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Ð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   )éûÿÿÿrZ   )rZ   é   )r[   r[   )g      @r?   r   r   T©Úrescaler   r&   s       r   Útest_smoketest_rescalez0TestLinearNDInterpolation.test_smoketest_rescalep   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   )é
   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   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 ©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Ð?Ð?Ð?Ýœ:ð'ñ 'ô 'ˆåŒ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 ©	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Ð?Ð?Ð?Ýœ:ð'ñ 'ô 'ˆåŒ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éÒ  é   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�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  ra   c                 óN   — 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»   s0   € ÝœX j°*Ð&<Ô=‰NˆF�FØ�, ¨Ð/Ñ0Ô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°   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+   r.   r2   r8   rW   r^   rc   rh   ro   r|   rl   ÚmarkÚslowÚskipifÚ	_IS_32BITr˜   rA   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¬¦  «        }|j        dk    sJ ‚t          |t          j        |¦  «        d d d …f         d|z  z   ddd|› �¬¦  «         Œ†d S )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ð @ð @ð @ÝGLðNñ Nô NˆåŒn˜QÑÔˆð
 "Ð! 6Ð*ØÐ Ð(Ø Ð  &Ð)Ø+Ð+¨ZÐ8ð	
ˆõ  )¨Ñ/Ô/ð 	ð 	‰OˆA‰|��dØ��Q�q�q�q˜�s”V˜Q˜q˜q˜q ˜sœVÑ$Ô$ˆAÝÔ6°s¸AÀ4ÐHÑHÔHˆBà”8˜vÒ%Ð%Ð%Ð%ÝØ•B”H˜T‘N”N 4¨¨¨ 7Ô+¨a°©dÑ2¸ÀDØ# ˜˜ðñ ô ð ð ð	ð 	r   c                 óŠ  — t          j        t          d¦  «        ¦  «        }t           j                             |j        d         ¦  «        }t          j        |¦  «        }t          j	        ¦   «         5  t          j
        ddt          j        ¦  «         t          j        ||d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )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ÔAÑBÔBˆÝ”—’ ¤¨Q¤Ñ0Ô0ˆÝŒn˜VÑ$Ô$ˆõ Ô$Ñ&Ô&ð 	Jð 	JÝÔ#ØØ6ÝÔ2ñô ð õ
 Ô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   Á38B8Â8B<Â?B<N)r™   rš   r›   r+   rÇ   rA   r   r   r¡   r¡   Ü   s7   € € € € € ðð ð ð0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|¬¦  «        }|                     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)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  së  € åŒi×#Ò# DÑ)Ô)ˆàˆ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ð �HŠH�R˜‰OŒOˆàð 	#Ø��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   Ä)D9 Ä9AE:c                 ó4  — d„ d„ d„ d„ g}t          |¦  «        D ]}\  }}|                      |dddd|› �¬¦  «         |                      |dddd	d
|› �¬¦  «         |                      |dddd|› �d	¬¦  «         |                      |dddd	d	d|› �¬¦  «         Œ~d S )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°ÀØ3°Ð3Ð3ð !ñ ô ð ð
 × Ò Ø˜% d°Ø2¨qÐ2Ð2¸Dð !ñ ô ð ð × Ò Ø˜% d°ÀÈtØ=¸!Ð=Ð=ð !ñ ô ð ð ð	ð 	r   c           	      óº   — d„ d„ d„ d„ g}t          |¦  «        D ]@\  }}|                      |dddd|› �¬	¦  «         |                      |dddd|› �d
¬¦  «         ŒAd S )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  s°   € ð ÐØÐØ$Ð$ØÐð	
ˆõ ! Ñ'Ô'ð 	ð 	‰GˆAˆtØ× Ò Ø˜$ T°¸?Àq¸?¸?ð !ñ ô ð ð × Ò Ø˜$ T°¸?Àq¸?¸?ÐTXð !ñ ô ð ð ð		ð 	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 r0   )
r   r    r!   r"   r#   r4   r5   r$   rÍ   r   )r'   r(   r)   r6   r*   s        r   r8   z-TestCloughTocher2DInterpolator.test_tri_inputU  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 rj   )r   r    r!   r"   r#   r4   r5   rl   r   rm   r$   rÍ   rn   s        r   ro   z5TestCloughTocher2DInterpolator.test_tri_input_rescale`  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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          ||¦  «         d S re   )r   r    r!   r"   r#   r4   r5   r$   rÍ   rR   r   rf   s         r   rh   z;TestCloughTocher2DInterpolator.test_tripoints_input_rescalem  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   r[   c           
      ó†  — d„ d„ d„ d„ d„ g}t           j                             d¦  «        }t           j        t          j        g d¢t
          ¬¦  «        |                     d	d
¦  «        f         }t          |¦  «        D ]B\  }}|                      ||dddd|› �¬¦  «         |                      ||dddd|› �d¬¦  «         ŒCd S )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°!µB´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×#Ò# DÑ)Ô)ˆÝŒu•R”XÐ:Ð:Ð:Å%ÐHÑHÔHØ—X’X˜e QÑ'Ô'ð(ô )ˆõ ! Ñ'Ô'ð 	ð 	‰GˆAˆtØ× Ò Ø˜ $¨T¸ÀoÐRSÀoÀoð !ñ ô ð ð × Ò Ø˜ $¨T¸Ø' A˜˜°ð !ñ ô ð ð ð		ð 	r   c                 óÆ   — t           j                             dd¦  «        }t           j                             d¦  «        }t          t          t
          j        ||¦  «         d S )Nrt   r?   )r   ru   ÚrandnÚassert_raisesrm   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¦  «        }|                     dd¦  «        }|                     d¦  «        d|                     d¦  «        z  z   }t	          j        ||¦  «        }t          j        t          j        |¦  «        ¦  «        }t           |dd¦  «         |dd¦  «        ¦  «         d S 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×#Ò# DÑ)Ô)ˆØ�HŠH�R˜‰OŒOˆØ�HŠH�R‰LŒL˜2˜cŸhšh r™lœl™?Ñ*ˆåÔ0°°AÑ6Ô6ˆÝŒl�6œ<¨Ñ+Ô+Ñ,Ô,ˆå˜B˜B˜s C™LœL¨#¨#¨c°3©-¬-Ñ8Ô8Ð8Ð8Ð8r   c                 óR  — 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
¦  «        }	|	                     dd¦  «        }
|	                     d¦  «        }|
                     |j        ¦  «        j        |d d d …f         z   }|
                     |¦  «        |z   }|
                     |¦  «        |z   }t          j        ||¦  «        }d|j        d<    ||¦  «        } ||¦  «        }t          ||¦  «         t          ||¦  «         d S )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°¸Ñ@Ô@ˆð ˆŒ�‰ð ˆÝŒ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ÑÔÐõ Œi×#Ò# AÑ&Ô&ˆØ�IŠI�a˜‰OŒOˆØ�IŠI�a‰LŒLˆà—’�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í   r8   ro   rh   rl   rœ   Ú	fail_slowrü   r   r|   r  rA   r   r   rÉ   rÉ     sÙ   € € € € € à@EØ %ðð ð ð ðBð ð ð6ð ð ð"	#ð 	#ð 	#ðIð Ið Ið
,ð 
,ð 
,ð „[×Ò˜1ÑÔðð ñ Ôðð.Mð Mð Mð
	9ð 	9ð 	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     su  ðØ 	€	€	€	Ø 
€
€
€
Ø €€€à Ð Ð Ð Ø *Ð *Ð *Ð *Ð *Ð *Ø €€€Ø FÐ FÐ FÐ FÐ FÐ FÐ FÐ Fà 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ø $Ð $Ð $Ð $Ð $Ð $Ð $Ð $Ð $à €€€Ø Ð Ð Ð àŒ[˜5Ò €	ð*ð *ð *ð
@ð @ð @ð @ð @ñ @ô @ð @ðF'Jð 'Jð 'Jð 'Jð 'Jñ 'Jô 'Jð 'JðT@ ð @ ð @ ð @ ð @ ñ @ ô @ ð @ ð @ ð @ r   