§
    ¢éUgº>  ã                   ó   — d dl Z d dlZd dlZd dlmZ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Z d dlmZmZmZmZmZmZmZmZmZmZmZmZ d dlmZ d dl m!Z! d	„ Z"d
„ Z#dd„Z$d„ Z% G d„ d¦  «        Z& G d„ d¦  «        Z' G d„ d¦  «        Z( G d„ d¦  «        Z) G d„ d¦  «        Z*d„ Z+d„ Z,d„ Z-d„ Z.e
j/        j0        d„ ¦   «         Z1d„ Z2d„ Z3dS )é    N)Úassert_equalÚassert_allcloseÚassert_Úassert_almost_equalÚassert_array_almost_equal)Úraises)Úcheck_free_memory)ÚRectBivariateSpline)ÚsplrepÚsplevÚbisplrepÚbisplevÚsprootÚsplprepÚsplintÚspaldeÚsplderÚ
splantiderÚinsertÚdblint)Úregrid_smth)Údfitpack_intc                 óÂ   — t           j                             t           j                             t           j                             t
          ¦  «        ¦  «        d| ¦  «        S )NÚdata)ÚosÚpathÚjoinÚabspathÚdirnameÚ__file__)Úbasenames    úc/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/scipy/interpolate/tests/test_fitpack.pyÚ	data_filer#      s=   € ÝŒ7�<Š<�œŸš­¬¯ª½Ñ(AÔ(AÑBÔBØ ñ*ô *ð *ó    c                 óZ   — t          j        t          j        | j        | ¦  «        ¦  «        S ©N)ÚnpÚsqrtÚdotÚT)Úxs    r"   Únorm2r,      s   € ÝŒ7•2”6˜!œ#˜q‘>”>Ñ"Ô"Ð"r$   c                 óò   — |dz  dk    rt          j        | ¦  «        S |dz  dk    rt          j        | ¦  «        S |dz  dk    rt          j        | ¦  «         S |dz  dk    rt          j        | ¦  «         S dS )z$Derivatives of sin->cos->-sin->-cos.é   r   é   é   é   N)r'   ÚsinÚcos)r+   Úds     r"   Úf1r5      sy   € àˆ1�u�‚z€zÝŒv�a‰yŒyÐØˆ1�u�‚z€zÝŒv�a‰yŒyÐØˆ1�u�‚z€zÝ”�q‘	”	ˆzÐØˆ1�u�‚z€zÝ”�q‘	”	ˆzÐð €zr$   c           
      óÀ   — t          j        t          t          j        t          j        | ¦  «        t          j        |¦  «        ¦  «        ¦  «        ¦  «        }|j        S )z7Helper function to create an array of pairs of x and y.)r'   ÚarrayÚlistÚ	itertoolsÚproductÚasarrayr*   )r+   ÚyÚxys      r"   Ú	makepairsr>   (   s=   € å	Œ•$•yÔ(­¬°A©¬½¼
À1¹¼ÑFÔFÑGÔGÑ	HÔ	H€BØŒ4€Kr$   c                   ó²  — e Zd ZdZddddej        z  dddfd„Zddddej        z  fd„Zd	„ Ze	j
                             d
ddg¦  «        e	j
                             dddg¦  «        d„ ¦   «         ¦   «         Ze	j
                             dddg¦  «        e	j
                             d
ddg¦  «        d„ ¦   «         ¦   «         Ze	j
                             dddg¦  «        e	j
                             d
ddg¦  «        d„ ¦   «         ¦   «         Zd„ Ze	j
                             dddg¦  «        e	j
                             dg d¢¦  «        d„ ¦   «         ¦   «         Zd„ ZdS )ÚTestSmokeTestszj
    Smoke tests (with a few asserts) for fitpack routines -- mostly
    check that they are runnable
    r   r0   FNc           
      óP  ‡‡— |€|}|€|}dŠt          j        ||‰dz   ¦  «        }|||z
  t          j        d‰t          ¬¦  «        z  t          ‰dz
  ¦  «        z  z   }	t	          |¦  «        }
ˆˆfd„}t          dd¦  «        D ]¢}t          ||
‰|||¬¦  «        }|r|d         || …         n|	}t          |dz   ¦  «        D ]c} |||¦  «        }t          t	          ||¦  «        t          |||¦  «        z
  ¦  «        t          t	          ||¦  «        ¦  «        z  }||k     sJ ‚ŒdŒ£d S )Né   r/   ©Údtypec                 óJ   •— d‰z  }d|d| |z
  z  z  z  }‰dk    r|d‰z  z  }|S )Nç      ð?é   ç      è?r   g     jø@© )Úkr4   ÚhÚtolÚNÚss       €€r"   Úerr_estz'TestSmokeTests.check_1.<locals>.err_est@   s=   ø€ à�a‘ˆAØ�a˜#˜q ™s™)‘nÑ$ˆCØ�1ŠuˆuØ�s˜1‘u‘�ØˆJr$   é   ©rN   ÚperrJ   Úxer   )	r'   ÚlinspaceÚarangeÚfloatr5   Úranger   r,   r   )ÚselfrR   rN   ÚaÚbÚat_nodesÚxbrS   r+   Úx1ÚvrO   rJ   ÚtckÚttr4   rL   ÚerrrM   s     `               @r"   Úcheck_1zTestSmokeTests.check_13   s`  øø€ àˆ:ØˆBØˆ:ØˆBàˆåŒK˜˜1˜a !™eÑ$Ô$ˆØ�!�a‘%�2œ9 Q¨µÐ7Ñ7Ô7Ñ7½%ÀÀAÁ¹,¼,ÑFÑFˆÝˆq‰EŒEˆð	ð 	ð 	ð 	ð 	ð 	õ �q˜!‘”ð 	!ð 	!ˆAÝ˜˜A ¨¨q°RÐ8Ñ8Ô8ˆCØ!)Ð1��Q”˜˜1˜"˜”�¨rˆBå˜1˜Q™3‘Z”Zð !ð !�Ø�g˜a ‘m”m�Ý�B˜r 1™IœI­¨b°#°qÑ(9Ô(9Ñ9Ñ:Ô:½UÅ2ÀbÈ!Á9Ä9Ñ=MÔ=MÑM�Ø˜S’y�y�y�y�yð!ð		!ð 	!r$   rB   c           	      óþ  ‡— ddt           j        z  dt           j        z  }}}t          j        ||‰dz   ¦  «        }t          j        |¦  «        }	ˆfd„}
g }t	          dd¦  «        D ]K}t          ||	d|||¬¦  «        }|                     t          |||¦  «        t          ||¦  «        g¦  «         ŒLd}|D ]F}d}|d         D ]4} |
||¦  «        }t          |t          ||¦  «        d|¬¦  «         |dz   }Œ5|dz   }ŒGd S )	Nr   r0   çš™™™™™É?r/   c                 ó.   •— d‰z  }d|d| |z
  z  z  z  }|S )NrF   rG   rH   rI   )rJ   r4   rK   rL   rM   s       €r"   rO   z'TestSmokeTests.check_2.<locals>.err_estV   s'   ø€ à�a‘ˆAØ�a˜#˜q ™s™)‘nÑ$ˆCØˆJr$   rP   rQ   ©ÚatolÚrtol)r'   ÚpirT   r2   rW   r   Úappendr   r   r   r5   )rX   rR   rM   ÚiaÚibrY   rZ   Údxr+   r^   rO   ÚnkrJ   r_   Úrr4   ÚdrrL   s     `               r"   Úcheck_2zTestSmokeTests.check_2Q   s9  ø€ Ø�a�œ‘g˜s¥2¤5™yˆbˆ1ˆÝŒK˜˜1˜a ™cÑ"Ô"ˆÝŒF�1‰IŒIˆð	ð 	ð 	ð 	ð 	ð ˆÝ�q˜!‘”ð 	>ð 	>ˆAÝ˜˜A ¨¨q°QÐ7Ñ7Ô7ˆCØ�IŠI•v˜b " cÑ*Ô*­F°2°s©O¬OÐ<Ñ=Ô=Ð=Ð=àˆØð 	ð 	ˆAØˆAØ˜”dð ð �Ø�g˜a ‘m”m�Ý ¥B r¨1¡I¤I°A¸CÐ@Ñ@Ô@Ð@Ø�a‘C��Ø�!‘ˆAˆAð	ð 	r$   c                 óÞ   — |                       d¬¦  «         |                       dt          j        z  ¬¦  «         |                       dt          j        z  dt          j        z  dd¬¦  «         d S )	Ng�íµ ÷Æ°>©rN   ç      ø?)rZ   r0   r/   çš™™™™™¹?)rZ   rS   rR   rN   )rb   r'   ri   ©rX   s    r"   Útest_smoke_splrep_splevz&TestSmokeTests.test_smoke_splrep_splevj   s\   € Ø�Š�tˆÑÔÐØ�Š�s�2œ5‘yˆÑ!Ô!Ð!Ø�Š�s�2œ5‘y Q¥r¤u¡W°!°tˆÑ<Ô<Ð<Ð<Ð<r$   rR   r/   r[   Tc                 ó4   — |                       ||¬¦  «         d S )N)rR   r[   )rb   )rX   rR   r[   s      r"   Útest_smoke_splrep_splev_2z(TestSmokeTests.test_smoke_splrep_splev_2o   s    € ð 	�Š˜ xˆÑ0Ô0Ð0Ð0Ð0r$   rM   é2   c                 ó4   — |                       ||¬¦  «         d S )N)rR   rM   )rq   ©rX   rM   rR   s      r"   Útest_smoke_splint_spaldez'TestSmokeTests.test_smoke_splint_spaldet   s    € ð 	�Š˜ ˆÑ"Ô"Ð"Ð"Ð"r$   c                 óf   — |                       dt          j        z  t          j        ||¬¦  «         d S )Nrd   )rk   rl   rM   rR   )rq   r'   ri   r|   s      r"   Útest_smoke_splint_spalde_iaibz,TestSmokeTests.test_smoke_splint_spalde_iaiby   s,   € ð 	�Š˜�BœE™	¥b¤e¨q°cˆÑ:Ô:Ð:Ð:Ð:r$   c           	      óþ  — d\  }}t          j        ||d¦  «        }t          j        |¦  «        }dD ]R}t          ||dd||¬¦  «        }t	          t
          ¦  «        5  t          |¦  «         d d d ¦  «         n# 1 swxY w Y   ŒSd}t          ||dd¬¦  «        }t          |¦  «        }t          t          ||¦  «        ddd¬	¦  «         t          |t           j	        t          j
        g d
¢¦  «        z  d¬¦  «         d S )N)ru   é   rB   )r/   r0   r.   rG   r   rQ   r1   )rN   rJ   g»½×Ùß|Û=rf   )r/   r0   r1   r.   gü©ñÒMbP?©rh   )r'   rT   r2   r   Úassert_raisesÚ
ValueErrorr   r   r   ri   r7   )rX   rY   rZ   r+   r^   rJ   r_   Úrootss           r"   Útest_smoke_sprootz TestSmokeTests.test_smoke_sproot~   s<  € à‰ˆˆ1ÝŒK˜˜1˜bÑ!Ô!ˆÝŒF�1‰IŒIˆàð 	ð 	ˆAÝ˜˜A ¨¨Q°1Ð5Ñ5Ô5ˆCÝ�zÑ*Ô*ð ð Ý�s‘”�ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð øð ˆÝ�Q˜˜Q !Ð$Ñ$Ô$ˆÝ�s‘”ˆÝ�˜e SÑ)Ô)¨1°5¸uÐEÑEÔEÐEÝ˜�rœu¥r¤x°°°Ñ'=Ô'=Ñ=ÀDÐIÑIÔIÐIÐIÐIs   ÁA9Á9A=	Â A=	rJ   ©r/   r0   r1   r.   rG   c                 ó¦  — ddt           j        z  dt           j        z  }}}t          j        |||dz   ¦  «        }t          j        |¦  «        }t	          ||gdd|d¬¦  «        \  }}	t          ||¦  «        }
t          |
d         t          j        |
d         ¦  «        z
  ¦  «        }|dk     sJ ‚t          ||dd|¬¦  «        }t          t          |
d         |¦  «        t          j        |
d         ¦  «        z
  ¦  «        }|dk     sJ ‚|d	k    r@t	          ||gdd|d¬¦  «        \  }}	t          d|dz   ¦  «        D ]}t          |||¦  «        }
Œd S d S )
Nr   ç       @rd   r/   éÿÿÿÿ)rN   rR   rJ   Únestç{®Gáz„?)rN   rR   rJ   r1   )	r'   ri   rT   r2   r   r   Úabsr   rW   )rX   rM   rJ   rY   rZ   rm   r+   r^   ÚtckpÚuÚuvÚerr1r_   Úerr2r4   s                  r"   Útest_smoke_splprep_splrep_splevz.TestSmokeTests.test_smoke_splprep_splrep_splev�   sX  € ð �b�œ‘h ¥B¤E¡	ˆbˆ1ˆÝŒK˜˜1˜a ™cÑ"Ô"ˆÝŒF�1‰IŒIˆå˜1˜a˜& A¨1°¸Ð;Ñ;Ô;‰ˆˆaÝ�2�t‰_Œ_ˆÝ�2�a”5�2œ6 " Q¤%™=œ=Ñ(Ñ)Ô)ˆØ�dŠ{ˆ{ˆ{ˆ{å�Q˜˜Q A¨Ð+Ñ+Ô+ˆÝ•5˜˜Aœ Ñ$Ô$¥r¤v¨b°¬e¡}¤}Ñ4Ñ5Ô5ˆØ�dŠ{ˆ{ˆ{ˆ{ð �Š6ˆ6Ý˜q !˜f¨¨q°A¸BÐ?Ñ?Ô?‰GˆD�!Ý˜1˜a ™c‘]”]ð (ð (�Ý˜2˜t QÑ'Ô'��ð ˆ6ð(ð (r$   c           	      óî  — ddt           j        z  }}ddt           j        z  }}d\  }}d\  }}d„ }	t          j        |||dz   ¦  «        }
t          j        |||dz   ¦  «        }t          |
|¦  «        }t	          |d         |d          |	|d         |d         ¦  «        d||¬¦  «        }|d         || …         |d         || …         g}t          |d         |d         ¦  «        }t          |d         |d         |¦  «        } |	|d         |d         ¦  «        }t          |d         ¦  «        t          |d         ¦  «        f|_        t          t          j	        ||z
  ¦  «        ¦  «        dk     sJ ‚d S )	Nr   r‰   ©r1   r1   )rB   rB   c                 ó0   — t          j        | |z   ¦  «        S r&   ©r'   r2   ©r+   r<   s     r"   Úf2z6TestSmokeTests.test_smoke_bisplrep_bisplev.<locals>.f2«   s   € Ý”6˜!˜A™#‘;”;Ðr$   r/   ©rN   ÚkxÚkyrŒ   )
r'   ri   rT   r>   r   r   ÚlenÚshaper,   Úravel)rX   r\   rS   ÚybÚyer›   rœ   ÚNxÚNyr™   r+   r<   r=   r_   r`   Út2Úv1Úv2s                     r"   Útest_smoke_bisplrep_bisplevz*TestSmokeTests.test_smoke_bisplrep_bisplev¥   sp  € Ø�B•r”u‘HˆBˆØ�B•r”u‘HˆBˆØ‰ˆˆBØ‰ˆˆBð	ð 	ð 	õ ŒK˜˜B  Q¡Ñ'Ô'ˆÝŒK˜˜B  Q¡Ñ'Ô'ˆÝ�q˜!‰_Œ_ˆÝ�r˜!”u˜b œe R R¨¨1¬¨r°!¬uÑ%5Ô%5¸¸rÀbÐIÑIÔIˆà�!Œf�R˜˜�VŒn˜c !œf R¨¨ VœnÐ-ˆÝ�r˜!”u˜b œeÑ$Ô$ˆÝ�R˜”U˜B˜qœE 3Ñ'Ô'ˆØˆR��1”�r˜!”uÑÔˆÝ�r˜!”u‘:”:�s 2 a¤5™zœzÐ)ˆŒå•R”X˜b 2™gÑ&Ô&Ñ'Ô'¨$Ò.Ð.Ð.Ð.Ð.Ð.r$   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r'   ri   rb   rq   rw   ÚpytestÚmarkÚparametrizery   r}   r   r†   r“   r§   rI   r$   r"   r@   r@   .   së  € € € € € ðð ð ˜q A¨¨2¬5©¸5Ø˜Dð!ð !ð !ð !ð< ˜r a¨A¨b¬e©Gð ð ð ð ð2=ð =ð =ð
 „[×Ò˜U Q¨ FÑ+Ô+Ø„[×Ò˜Z¨$°¨Ñ7Ô7ð1ð 1ñ 8Ô7ñ ,Ô+ð1ð „[×Ò˜S 2 r (Ñ+Ô+Ø„[×Ò˜U Q¨ FÑ+Ô+ð#ð #ñ ,Ô+ñ ,Ô+ð#ð „[×Ò˜S 2 r (Ñ+Ô+Ø„[×Ò˜U Q¨ FÑ+Ô+ð;ð ;ñ ,Ô+ñ ,Ô+ð;ðJð Jð Jð" „[×Ò˜S 2 r (Ñ+Ô+Ø„[×Ò˜S / / /Ñ2Ô2ð(ð (ñ 3Ô2ñ ,Ô+ð(ð(/ð /ð /ð /ð /r$   r@   c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )Ú	TestSplevc                 óÌ   — g d¢}g d¢}t          ||¦  «        }t          dg|¦  «        }t          |j        d¦  «         t          d|¦  «        }t          |j        d¦  «         d S )Nr‡   ©r.   rG   rP   é   é   r/   )r/   rI   )r   r   r   rž   )rX   r+   r<   r_   Úzs        r"   Útest_1d_shapezTestSplev.test_1d_shape½   sg   € ØˆKˆKˆØˆKˆKˆÝ�Q˜‰lŒlˆÝ�1�#�s‰OŒOˆÝ�Q”W˜dÑ#Ô#Ð#Ý�!�S‰MŒMˆÝ�Q”W˜bÑ!Ô!Ð!Ð!Ð!r$   c                 ó*  — g d¢}g d¢}t          ||¦  «        }t          j        g d¢g d¢g¦  «        }t          ||¦  «        }t          |d         |¦  «        }t          |d         |¦  «        }t	          |t          j        ||f¦  «        ¦  «         d S )Nr‡   r²   )rF   rt   r‰   ç      @)ç      @g      @ç      @g      @r   r/   )r   r'   r7   r   r   Úvstack)rX   r+   r<   r_   Útrµ   Úz0Úz1s           r"   Útest_2d_shapezTestSplev.test_2d_shapeÆ   s    € ØˆOˆOˆØˆOˆOˆÝ�Q˜‰lŒlˆÝŒHÐ*Ð*Ð*Ø*Ð*Ð*ð,ñ -ô -ˆå�!�S‰MŒMˆÝ�1�Q”4˜ÑÔˆÝ�1�Q”4˜ÑÔˆÝ�Q�œ	 2 r (Ñ+Ô+Ñ,Ô,Ð,Ð,Ð,r$   c                 óì   — g d¢}g d¢}t          ||d¬¦  «        }ddgddgd ddgg}d	D ]*}t          t          ddg||¬
¦  «        ||         ¦  «         Œ+t          t          t          ddg|d¬
¦  «         d S )N)r/   r0   r1   )r   r0   r.   r/   )rJ   éþÿÿÿrP   r   r.   )r   r/   r1   )Úextr0   )r   r   r   rƒ   r„   )rX   r+   r<   r_   ÚrstlrÂ   s         r"   Útest_extrapolation_modesz"TestSplev.test_extrapolation_modesÑ   s¢   € ð ˆGˆGˆØˆGˆGˆÝ�Q˜˜QÐÑÔˆà�Q�˜!˜Q˜ ¨¨1 vÐ.ˆØð 	Nð 	NˆCÝ%¥e¨Q°¨F°C¸SÐ&AÑ&AÔ&AÀ4ÈÄ9ÑMÔMÐMÐMå•j¥%¨!¨Q¨°¸!Ð<Ñ<Ô<Ð<Ð<Ð<r$   N)r¨   r©   rª   r¶   r¿   rÄ   rI   r$   r"   r°   r°   ¼   sA   € € € € € ð"ð "ð "ð	-ð 	-ð 	-ð=ð =ð =ð =ð =r$   r°   c                   ó8   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	dS )	Ú
TestSplderc                 ó  — t          j        ddd¦  «        dz  }t          j        d|z  ¦  «        }t          ||¦  «        | _        t          t          j        t          j        | j        d         ¦  «        ¦  «        dk    ¦  «         d S )Nr   r/   éd   r1   rB   )r'   rT   r2   r   Úsplr   ÚptpÚdiff)rX   r+   r<   s      r"   Úsetup_methodzTestSplder.setup_methodã   so   € åŒK˜˜1˜cÑ"Ô" AÑ%ˆÝŒF�2˜‘6‰NŒNˆÝ˜!˜Q‘<”<ˆŒõ 	•”•r”w˜tœx¨œ{Ñ+Ô+Ñ,Ô,¨qÒ0Ñ1Ô1Ð1Ð1Ð1r$   c                 ó:  — t          d¦  «        D ]Š}t          | j        |¦  «        }t          ||¦  «        }t	          | j        d         |d         ¦  «         t	          | j        d         |d         ¦  «         t          | j        d         |d         ¦  «         Œ‹d S )NrG   r   r/   r0   )rW   r   rÉ   r   r   r   )rX   ÚnÚspl2Úspl3s       r"   Útest_inversezTestSplder.test_inverseì   s�   € å�q‘”ð 	/ð 	/ˆAÝ˜dœh¨Ñ*Ô*ˆDÝ˜$ ‘?”?ˆDÝ˜DœH QœK¨¨a¬Ñ1Ô1Ð1Ý˜DœH QœK¨¨a¬Ñ1Ô1Ð1Ý˜œ !œ d¨1¤gÑ.Ô.Ð.Ð.ð	/ð 	/r$   c                 óP  — t          d¦  «        D ]•}t          j        ddd¦  «        }|dk    r||dk    |dk    z           }t          || j        |¦  «        }t          | j        |¦  «        }t          ||¦  «        }|dk    rt          ||d¬	¦  «         Œ…t          ||¦  «         Œ–d S )
Nr.   rŠ   r0   iÐ  r1   r   r/   g�íµ ÷ÆÀ>r‚   )rW   r'   rT   r   rÉ   r   r   )rX   rÎ   ÚxxÚdyrÏ   Údy2s         r"   Útest_splder_vs_splevzTestSplder.test_splder_vs_splevõ   s½   € õ �s‘”ð 	)ð 	)ˆAå”˜R  DÑ)Ô)ˆBØ�AŠvˆvð ˜˜qš R¨1¢WÑ-Ô.�å�r˜4œ8 QÑ'Ô'ˆBÝ˜$œ( AÑ&Ô&ˆDÝ˜˜D‘/”/ˆCØ�AŠvˆvÝ  C¨dÐ3Ñ3Ô3Ð3Ð3å  CÑ(Ô(Ð(Ð(ð	)ð 	)r$   c                 óü   — t          | j        ¦  «        }t          j        ddd¦  «        }|D ]N}|D ]I}t	          ||| j        ¦  «        }t          ||¦  «        t          ||¦  «        z
  }t          ||¦  «         ŒJŒOd S )Nr   r/   rB   )r   rÉ   r'   rT   r   r   r   )rX   rÏ   rÓ   r]   Úx2Úy1Úy2s          r"   Útest_splantider_vs_splintz$TestSplder.test_splantider_vs_splint  s“   € å˜$œ(Ñ#Ô#ˆõ Œ[˜˜A˜rÑ"Ô"ˆàð 	(ð 	(ˆBØð (ð (�Ý˜B  D¤HÑ-Ô-�Ý˜2˜t‘_”_¥u¨R°¡¤Ñ6�Ý  BÑ'Ô'Ð'Ð'ð(ð	(ð 	(r$   c                 óH   — t          t          t          | j        d¦  «         d S )Nr.   )rƒ   r„   r   rÉ   rv   s    r"   Útest_order0_diffzTestSplder.test_order0_diff  s   € Ý•j¥&¨$¬(°AÑ6Ô6Ð6Ð6Ð6r$   c                 óx  — t          d| j        d¬¦  «        }t          |d¦  «         t          t          t          |d¦  «         t          d| j        d¬¦  «        }t          |d¦  «         t          t          t          |d¦  «         t          d| j        d¬¦  «        }t          t          t          |d¦  «         d S )Nç      à?r0   )Úmr1   r/   r.   )r   rÉ   r   rƒ   r„   )rX   rÏ   s     r"   Ú	test_kinkzTestSplder.test_kink  s¢   € õ �c˜4œ8 qÐ)Ñ)Ô)ˆÝˆt�Q‰ŒˆÝ•j¥&¨$°Ñ2Ô2Ð2å�c˜4œ8 qÐ)Ñ)Ô)ˆÝˆt�Q‰ŒˆÝ•j¥&¨$°Ñ2Ô2Ð2å�c˜4œ8 qÐ)Ñ)Ô)ˆÝ•j¥&¨$°Ñ2Ô2Ð2Ð2Ð2r$   c                 ó`  — t          d¦  «        D ]�}| j        \  }}}t          j        |||f         }t          j        ||f¦  «        }t          |||f|¦  «        }t          ||¦  «        }t          ||d         ¦  «         t          ||d         ¦  «         t          ||d         ¦  «         Œžd S )Nr1   r   r/   r0   )	rW   rÉ   r'   Úc_Údstackr   r   r   r   )rX   rÎ   r¼   ÚcrJ   Úc2rÏ   rÐ   s           r"   Útest_multidimzTestSplder.test_multidim'  s³   € å�q‘”ð 
	%ð 
	%ˆAØ”h‰GˆAˆq�!Ý”�q˜!˜Q�w”ˆBÝ”˜B ˜8Ñ$Ô$ˆBå˜q " a˜j¨!Ñ,Ô,ˆDÝ˜$ ‘?”?ˆDå˜A˜t AœwÑ'Ô'Ð'Ý˜B  Q¤Ñ(Ô(Ð(Ý˜˜D œGÑ$Ô$Ð$Ð$ð
	%ð 
	%r$   N)
r¨   r©   rª   rÌ   rÑ   rÖ   rÛ   rÝ   rá   rç   rI   r$   r"   rÆ   rÆ   â   s}   € € € € € ð2ð 2ð 2ð/ð /ð /ð)ð )ð )ð&(ð (ð (ð7ð 7ð 7ð3ð 3ð 3ð%ð %ð %ð %ð %r$   rÆ   c                   ó   — e Zd Zd„ ZdS )Ú
TestSplintc           	      ó   — d\  }}t          j        |¦  «        }|dz  }t          ||d¬¦  «        \  }}}t          |¦  «        t          |¦  «        cxk    r|d|dz
  z  z   k    sn J ‚t	          dd|||f¦  «        }t          |dd	¬
¦  «         |                     ¦   «         }t           j        |t          |¦  «        |z
  dz
  d …<   t	          dd|||f¦  «        }	t          |	dd	¬
¦  «         t           j        |d<   t          j        t	          dd|||f¦  «        ¦  «        sJ ‚|d t          |¦  «        |z
  dz
  …         }
t	          dd||
|f¦  «        }t          |dd	¬
¦  «         t          t          d¬¦  «        5  t	          ddt          j        d¦  «        t          j        d¦  «        df¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N)r³   r1   r1   r   rs   r0   r/   rP   g     @t@çVçž¯Ò<©rg   z>=n-k-1)Úmatché
   rG   )r'   rU   r   r�   r   r   ÚcopyÚnanÚisnanrƒ   Ú	ExceptionÚones)rX   rÎ   rJ   r+   r<   r¼   rå   ÚresÚc0Úres0Úc1Úres1s               r"   Ú
test_len_czTestSplint.test_len_c7  s!  € Ø‰ˆˆ1ÝŒI�a‰LŒLˆØˆq‰DˆÝ˜˜A Ð#Ñ#Ô#‰ˆˆ1ˆaõ �1‰vŒv�˜Q™œÐ.Ð.Ò.Ð. 1 q¨!¨A©#¡w¡;Ò.Ð.Ð.Ð.Ð.Ð.õ �Q˜˜A˜q !˜9Ñ%Ô%ˆÝ˜˜X¨EÐ2Ñ2Ô2Ð2ð �VŠV‰XŒXˆÝœ&ˆ�3ˆq‰6Œ6�!‰8�A‰:ˆ;ˆ;‰Ý�a˜˜Q  A˜JÑ'Ô'ˆÝ˜˜h¨UÐ3Ñ3Ô3Ð3õ ”ˆˆ1‰ÝŒx�˜q ! a¨¨Q ZÑ0Ô0Ñ1Ô1Ð1Ð1Ð1ð ˆ•�A‘”˜‘
˜Q‘ˆÔˆÝ�a˜˜Q  A˜JÑ'Ô'ˆÝ˜˜h¨UÐ3Ñ3Ô3Ð3õ �9¨JÐ7Ñ7Ô7ð 	7ð 	7Ý�1�a�"œ' "™+œ+¥r¤w¨q¡z¤z°1Ð5Ñ6Ô6Ð6ð	7ð 	7ð 	7ñ 	7ô 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7øøøð 	7ð 	7ð 	7ð 	7ð 	7ð 	7s   Å=9GÇGÇ
GN)r¨   r©   rª   rù   rI   r$   r"   ré   ré   6  s#   € € € € € ð7ð 7ð 7ð 7ð 7r$   ré   c                   óv   — e Zd Zd„ Zd„ Zej                             ee	j
        k    d¬¦  «        d„ ¦   «         ZdS )ÚTestBisplrepc                 óÄ   — ddl m} t          j        dk    rd}nd} |t	          j        d¦  «        |f¬¦  «        }t          t          t          ||||ddddd¬	¦  «         d S )
Nr   )Ú
as_stridedr´   l    dæ</i q rI   )rž   r/   )Úwr\   rS   r    r¡   rN   )	Únumpy.lib.stride_tricksrý   r   Úitemsizer'   Úzerosrƒ   ÚOverflowErrorr   )rX   rý   Úsizer+   s       r"   Útest_overflowzTestBisplrep.test_overflowZ  s†   € Ø6Ð6Ð6Ð6Ð6Ð6ÝÔ  AÒ%Ð%ØˆDˆDàˆDð ˆJ•r”x ‘|”|¨D¨7Ð3Ñ3Ô3ˆÝ•m¥X¨q°!°Q¸!Ø˜q Q¨1°ð	3ñ 	3ô 	3ð 	3ð 	3ð 	3r$   c           	      óð   — t          j        t          d¦  «        ¦  «        5 }|d         }d d d ¦  «         n# 1 swxY w Y   t          |d d …df         |d d …df         |d d …df         dddd¬¦  «         d S )	Nzbug-1310.npzr   r   r/   r0   r1   T)r›   rœ   rN   Úfull_output)r'   Úloadr#   r   )rX   Úloaded_datar   s      r"   Útest_regression_1310z!TestBisplrep.test_regression_1310f  sÌ   € åŒW•Y˜~Ñ.Ô.Ñ/Ô/ð 	'°;Ø˜vÔ&ˆDð	'ð 	'ð 	'ñ 	'ô 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'øøøð 	'ð 	'ð 	'ð 	'õ 	��a�a�a˜�c”˜D    1 œI t¨A¨A¨A¨a¨C¤y°Q¸1ÀØ!ð	#ñ 	#ô 	#ð 	#ð 	#ð 	#s   ¢	7·;¾;zneeds ilp64 fitpack)Úreasonc                 ó<  — t          d¦  «         t          j        ddd¦  «        }t          j        ddd¦  «        }t          j        ||¦  «        \  }}t          j        |¦  «        }t          |||ddd¬¦  «        }t          t          dd|¦  «        d¦  «         d S )	Ni`m  r   r/   i�  r1   ©r›   rœ   rN   rß   ç        )r	   r'   rT   ÚmeshgridÚ
zeros_liker   r   r   )rX   r+   r<   rµ   r_   s        r"   Útest_ilp64_bisplrepz TestBisplrep.test_ilp64_bisplrepr  s–   € å˜%Ñ Ô Ð ÝŒK˜˜1˜cÑ"Ô"ˆÝŒK˜˜1˜cÑ"Ô"ˆÝŒ{˜1˜aÑ Ô ‰ˆˆ1ÝŒM˜!ÑÔˆÝ�q˜!˜Q 1¨¨aÐ0Ñ0Ô0ˆÝ�  S¨#Ñ.Ô.°Ñ4Ô4Ð4Ð4Ð4r$   N)r¨   r©   rª   r  r	  r¬   r­   Úskipifr   r'   Úint64r  rI   r$   r"   rû   rû   Y  sl   € € € € € ð
3ð 
3ð 
3ð
#ð 
#ð 
#ð „[×Ò˜¨¬Ò0Ð9NÐÑOÔOð5ð 5ñ PÔOð5ð 5ð 5r$   rû   c            	      ó  — t          j        dd¦  «        } t          j        dd¦  «        }t          j        | |¦  «        \  }}t          | |d|z  |z  ¦  «        }t	          |j        ¦  «        }|                     |j        ¦  «         t          t          dddd|¦  «        d¦  «         t          t          dddd|¦  «        d¦  «         t          t          dddd|¦  «        d¦  «         t          t          dddd|¦  «        d¦  «         d S )	Nr   r/   r.   rß   g      Ð?rH   iœÿÿÿrÈ   )
r'   rT   r  r
   r8   r_   ÚextendÚdegreesr   r   )r+   r<   rÓ   ÚyyÚrectr_   s         r"   Útest_dblintr  }  sû   € õ 	Œ�A�qÑÔ€AÝ
Œ�A�qÑÔ€AÝŒ[˜˜AÑÔ�F€BˆÝ˜q ! Q¨¡V¨b¡[Ñ1Ô1€DÝ
ˆtŒx‰.Œ.€CØ‡J‚JˆtŒ|ÑÔÐå�˜q ! Q¨¨3Ñ/Ô/°Ñ3Ô3Ð3Ý�˜q # q¨!¨SÑ1Ô1°4Ñ8Ô8Ð8Ý�˜s A q¨!¨SÑ1Ô1°4Ñ8Ô8Ð8Ý�˜t S¨$°°SÑ9Ô9¸1Ñ=Ô=Ð=Ð=Ð=r$   c                  óB  — t          j        g d¢¦  «        t          j        g d¢¦  «        df} | \  }}}t          j        g d¢¦  «        }t          t          || ¦  «        |d         |d         |d         z
  |z  |d         z  z   ¦  «         t          t          || d¦  «        |d         |d         z
  |d         z  ¦  «         t           j                             d¦  «         t          j        t           j                             d¦  «        ¦  «        }t           j                             d¦  «        }t          ||¦  «        \  }}}|d         d	z
  |d
         d	z   g}t          |||f|¦  «        }t          t          ||||f|¦  «        t          ||¦  «        ¦  «         d S )N)r  r  r¸   r¸   )g®g¥œù¿g~„'	…@r  r  r/   )éýÿÿÿr   r¸   r1   r   r0   iÒ  é   rF   rŠ   )	r'   r7   r   r   ÚrandomÚseedÚsortr   r   )r_   r¼   rå   rJ   r+   r<   Útck2s          r"   Útest_splev_der_kr   �  s€  € õ
 Œ8Ð&Ð&Ð&Ñ'Ô'ÝŒ8Ð5Ð5Ð5Ñ6Ô6Øð€Cð �G€A€qˆ!Ý
Œ���Ñ!Ô!€Aõ •E˜!˜S‘M”M 1 Q¤4¨1¨Q¬4°!°A´$©;¸!Ñ*;¸A¸a¼DÑ*@Ñ#@ÑAÔAÐAÝ•E˜!˜S !Ñ$Ô$ q¨¤t¨A¨a¬D¡y°A°a´DÑ&8Ñ9Ô9Ð9õ „I‡N‚N�4ÑÔÐÝ
Œ•”	× Ò  Ñ$Ô$Ñ%Ô%€AÝ
Œ	×Ò˜ÑÔ€AÝ�Q˜‰lŒl�G€A€qˆ!à	
ˆ1Œ�‰�A�b”E˜B‘JÐ€AÝ�1�a˜�)˜QÑÔ€DÝ•E˜!˜a  A˜Y¨Ñ*Ô*­E°!°T©N¬NÑ;Ô;Ð;Ð;Ð;r$   c                  óX  — t          j        ddd¦  «        } t          j        dt           j        z  | z  ¦  «        }t          j        dt           j        z  | z  ¦  «        }t          ||gd¬¦  «        \  }}t          j        ddd¦  «         |d         }t          ||gd|¬	¦  «        \  }}d S )
Nr   gš™™™™™ñ?ru   r0   rs   g)\�Âõ(ð?rŒ   rŠ   )Útaskr¼   )r'   rU   r2   ri   r3   r   )r¼   r+   r<   r_   r�   Úuknotss         r"   Útest_splprep_segfaultr$  §  s    € õ 	Œ	�!�S˜#ÑÔ€AÝ
Œˆq•”‰w�q‰yÑÔ€AÝ
Œˆq•”‰w�q‰yÑÔ€AÝ�a˜�V˜qÐ!Ñ!Ô!�F€CˆÝ„Iˆa��tÑÔÐà�ŒV€FÝ�a˜�V "¨Ð/Ñ/Ô/�F€Cˆˆˆr$   c                  ó  — t           j                             d¦  «         t          j        ddd¦  «        } | }t           j                             dd¦  «                             ¦   «         }d}d}t          | ||d d d d ||d¬¦
  «
        \  }}}}}	}
}|d |…         |d |…         |	d ||z
  dz
  ||z
  dz
  z  …         ||f}t          j        dg¦  «        }t          j        dg¦  «        }t          t          t          ft          |||¦  «         d S )Nr/   r   é   r  r  i  ( )r'   r  r  rT   ÚrandnrŸ   r   r  rƒ   ÚRuntimeErrorÚMemoryErrorr   )r+   r<   rµ   r›   rœ   ÚnxÚtxÚnyÚtyrå   ÚfpÚierr_   ÚxpÚyps                  r"   Útest_bisplev_integer_overflowr2  ´  s  € Ý„I‡N‚N�1ÑÔÐå
Œ�A�q˜"ÑÔ€AØ	€AÝ
Œ	�Š˜˜BÑÔ×%Ò%Ñ'Ô'€AØ	
€BØ	
€Bå!,Ø	ˆ1ˆa��t˜T 4¨B°2¸ð">ñ ">ô ">Ñ€BˆˆB��A�r˜3àˆcˆrˆcŒ7�B�s˜�s”G˜QÐ=  b¡¨1¡°°b±¸1±Ñ =Ð=Ô>ÀÀBÐ
G€Cå	Œ�7�)Ñ	Ô	€BÝ	Œ�7�)Ñ	Ô	€Bå•<¥Ð-­w¸¸BÀÑDÔDÐDÐDÐDr$   c            	      óF  — d} d\  }}d„ }t          j        dd| ¦  «        }t          j        dd| ¦  «        }t          ||¦  «        }t          |d         |d          ||d         |d         ¦  «        d||¬	¦  «        }d
}t          j        |¦  «        |d<   t          j        |¦  «        dz  |d<   t          j        d¦  «        }	t          j        d¦  «        dz  }
t          j        t          ¦  «        5  t          |	|
|dd¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Né   r•   c                 ó0   — t          j        | |z   ¦  «        S r&   r—   r˜   s     r"   r™   ztest_gh_1766.<locals>.f2Ì  s   € ÝŒv�a˜‘c‰{Œ{Ðr$   r   rî   rz   i¼  r/   rš   i ¡ r.   r1   )	r'   rT   r>   r   rU   r¬   r   r)  r   )r  r›   rœ   r™   r+   r<   r=   r_   Ú
tx_ty_sizeÚtt_0Útt_1s              r"   Útest_gh_1766r9  Ç  sg  € ð €DØ�F€Bˆðð ð õ 	Œ�A�r˜4Ñ Ô €AÝ
Œ�B˜˜TÑ"Ô"€AÝ	�1�a‰Œ€BÝ
�2�a”5˜"˜Qœ%   B q¤E¨2¨a¬5Ñ!1Ô!1°Q¸2À"Ð
EÑ
EÔ
E€Cð €JÝŒY�zÑ"Ô"€Cˆ�FÝŒY�zÑ"Ô" QÑ&€Cˆ�FÝŒ9�R‰=Œ=€DÝŒ9�R‰=Œ=˜1Ñ€DÝ	Œ•{Ñ	#Ô	#ð 'ð 'Ý��d˜C  AÑ&Ô&Ð&ð'ð 'ð 'ñ 'ô 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'øøøð 'ð 'ð 'ð 'ð 'ð 's   Ã5DÄDÄDc                  óò   — t          j        dd¦  «        } | dz  }t          | |ddg¬¦  «        }t          t          j        d¦  «        |¦  «        }t          j        g d¢¦  «        }t          ||¦  «         d S )Nr   rî   r1   rG   )rJ   r¼   r/   )rF   r¹   ç      @r;  )r'   rT   r   r   Úfloat64r7   r   )r+   r<   r_   rô   Údess        r"   Útest_spalde_scalar_inputr>  Þ  sw   € å
Œ�A�rÑÔ€AØ	ˆ1‰€AÝ
��A˜˜q˜cÐ
"Ñ
"Ô
"€CÝ
•”˜A‘” Ñ
$Ô
$€CÝ
Œ(Ð#Ð#Ð#Ñ
$Ô
$€CÝ˜˜SÑ!Ô!Ð!Ð!Ð!r$   c                  ó*  ‡‡‡‡— t          j        g d¢d¬¦  «        Šg d¢Št          j        g d¢¦  «        ŠdŠt          ‰‰‰‰f¦  «        } t          j        ˆˆˆˆfd„t          d¦  «        D ¦   «         ¦  «        }t	          | |j        d	¬
¦  «         d S )N)ç      $Àç      "Àç       Àç      Àç      Àç      Àç      Àç      Àç      Àç       Àç      ø¿ç      ð¿ç      à¿r  rß   rF   rt   r‰   r¸   r¹   rº   ç      @r;  rV   rC   )r@  r@  r@  r@  rA  rB  rC  rD  rE  rF  rG  rH  rI  rJ  rK  rL  r  rß   rF   rt   r‰   r¸   r¹   rº   rM  r;  r;  r;  r;  )rF   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r1   c                 ó8   •— g | ]}t          ‰‰‰‰f|¦  «        ‘ŒS rI   )r   )Ú.0Únurå   rJ   r¼   r+   s     €€€€r"   ú
<listcomp>z"test_spalde_nc.<locals>.<listcomp>ö  s+   ø€ ÐGÐGÐG¸�E ! a¨¨A Y°Ñ3Ô3ÐGÐGÐGr$   r.   rë   rì   )r'   r;   r   rW   r   r*   )rô   Ú	res_splevrå   rJ   r¼   r+   s     @@@@r"   Útest_spalde_ncrS  è  sÐ   øøøø€ õ 	Œ
ð Jð Jð Jà!ð	#ñ 	#ô 	#€Að	"ð 	"ð 	"€Aõ 	Œ
ð <ð <ð <ñ 	=ô 	=€Aà	€Aå
��Q˜˜1�IÑ
Ô
€CÝ”
ÐGÐGÐGÐGÐGÐGÐG½eÀA¹h¼hÐGÑGÔGÑHÔH€IÝ�C˜œ¨5Ð1Ñ1Ô1Ð1Ð1Ð1r$   )r   )4r9   r   Únumpyr'   Únumpy.testingr   r   r   r   r   r¬   r   rƒ   Úscipy._lib._testutilsr	   Úscipy.interpolater
   Úscipy.interpolate._fitpack_pyr   r   r   r   r   r   r   r   r   r   r   r   Úscipy.interpolate._dfitpackr   Úscipy.interpolate._fitpack2r   r#   r,   r5   r>   r@   r°   rÆ   ré   rû   r  r   r$  r2  r­   Úxslowr9  r>  rS  rI   r$   r"   ú<module>r\     s+  ðØ Ð Ð Ð Ø 	€	€	€	à Ð Ð Ð ðKð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kà *Ð *Ð *Ð *Ð *Ð *Ø €€€Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3à 1Ð 1Ð 1Ð 1Ð 1Ð 1ðJð Jð Jð Jð Jð Jð Jð Jð Jð Jð Jð Jð Jð Jð Jð Jð Jð Jð Jð Jð Jð Jð Jð Jð Jð Jð Jð Jà 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4ð*ð *ð *ð
#ð #ð #ð	ð 	ð 	ð 	ðð ð ðK/ð K/ð K/ð K/ð K/ñ K/ô K/ð K/ð\#=ð #=ð #=ð #=ð #=ñ #=ô #=ð #=ðLQ%ð Q%ð Q%ð Q%ð Q%ñ Q%ô Q%ð Q%ðh 7ð  7ð  7ð  7ð  7ñ  7ô  7ð  7ðF!5ð !5ð !5ð !5ð !5ñ !5ô !5ð !5ðH>ð >ð >ð <ð <ð <ð4
0ð 
0ð 
0ðEð Eð Eð& „Ôð'ð 'ñ Ôð'ð,"ð "ð "ð2ð 2ð 2ð 2ð 2r$   