Ë
    âQ(hÍ@  ã                   ó–  — 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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^                  j`                  d„ «       Z1d„ Z2d„ Z3y) é    N)Úxp_assert_equalÚxp_assert_closeÚassert_almost_equalÚassert_array_almost_equal)Úraises)Úcheck_free_memory)ÚRectBivariateSpline)Úmake_splrep)ÚsplrepÚsplevÚbisplrepÚbisplevÚsprootÚsplprepÚsplintÚspaldeÚsplderÚ
splantiderÚinsertÚdblint)Úregrid_smth)Údfitpack_intc                 óÀ   — t         j                  j                  t         j                  j                  t         j                  j	                  t
        «      «      d| «      S )NÚdata)ÚosÚpathÚjoinÚabspathÚdirnameÚ__file__)Úbasenames    úb/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/scipy/interpolate/tests/test_fitpack.pyÚ	data_filer#      s8   € Ü�7‰7�<‰<œŸ™Ÿ™¬¯©¯©¼Ó(AÓBØ ó*ð *ó    c                 óh   — t        j                  t        j                  | j                  | «      «      S ©N)ÚnpÚsqrtÚdotÚT)Úxs    r"   Únorm2r,      s   € Ü�7‰7”2—6‘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 y)z$Derivatives of sin->cos->-sin->-cos.é   r   é   é   é   N)r'   ÚsinÚcos)r+   Úds     r"   Úf1r5      so   € àˆ1�u�‚zÜ�v‰v�a‹yÐØˆ1�u�‚zÜ�v‰v�a‹yÐØˆ1�u�‚zÜ—‘�q“	ˆzÐØˆ1�u�‚zÜ—‘�q“	ˆzÐð r$   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ÓGÓ	H€BØ�4‰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                  j                  d
ddg«      e	j                  j                  dddg«      d„ «       «       Ze	j                  j                  dddg«      e	j                  j                  d
ddg«      d„ «       «       Ze	j                  j                  dddg«      e	j                  j                  d
ddg«      d„ «       «       Zd„ Ze	j                  j                  dddg«      e	j                  j                  dg d¢«      d„ «       «       Zd„ Zy)ÚTestSmokeTestszj
    Smoke tests (with a few asserts) for fitpack routines -- mostly
    check that they are runnable
    r   r0   FNc           
      ó  ‡‡— |€|}|€|}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 ]K  } |||«      }t        t	        ||«      t        |||«      z
  «      t        t	        ||«      «      z  }||k  rŒKJ ‚ |rŒ�t        ||
|‰||¬«      }t        |j                  «      t        |d   «      k(  rOt        |j                  |d   d	¬
«       t        |j                  |d   d |j                  j                   d¬
«       �Œ|dk(  r�ŒJ ‚ y )Né   r/   ©Údtypec                 óH   •— d‰z  }d|d| |z
  z  z  z  }‰dkD  r|d‰z  z  }|S )Nç      ð?é   ç      è?r   g     jø@© )Úkr4   ÚhÚtolÚNÚss       €€r"   Úerr_estz'TestSmokeTests.check_1.<locals>.err_estB   s;   ø€ à�a‘ˆAØ�a˜#˜q ™s™)‘nÑ$ˆCØ�1ŠuØ�s˜1‘u‘�ØˆJr$   é   ©rN   ÚperrJ   Úxer   )rJ   rN   ÚxbrS   çVçž¯Ò<©Úatolç‚vIhÂ%<=rG   )r'   ÚlinspaceÚarangeÚfloatr5   Úranger   r,   r   r
   ÚlenÚtr   ÚcÚsize)ÚselfrR   rN   ÚaÚbÚat_nodesrT   rS   r+   Úx1ÚvrO   rJ   ÚtckÚttr4   rL   ÚerrÚsplrM   s     `                @r"   Úcheck_1zTestSmokeTests.check_15   s|  ù€ àˆ:ØˆBØˆ:ØˆBàˆä�K‰K˜˜1˜a !™eÓ$ˆØ�!�a‘%œ2Ÿ9™9 Q¨´Ô7Ñ7¼%ÀÀAÁ»,ÑFÑFˆÜˆq‹Eˆõ	ô �q˜!“ó 	"ˆAÜ˜˜A ¨¨q°RÔ8ˆCÙ!)��Q‘˜˜1˜"‘¨rˆBä˜1˜Q™3“Zò !�Ù˜a “m�ÜœB˜r 1›I¬¨b°#°qÓ(9Ñ9Ó:¼UÄ2ÀbÈ!Ã9Ó=MÑM�Ø˜S“yÐ �yð!ò Ü! ! Q¨!¨q°R¸BÔ?�Ü�s—u‘u“:¤ S¨¡V£Ò,Ü# C§E¡E¨3¨q©6¸Õ>Ü# C§E¡E¨3¨q©6°+°3·5±5·:±:Ð+>ÀU×Kà œ6�M˜6ñ!	"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 ];  }t        ||	d|||¬«      }|j                  t        |||«      t        ||«      g«       Œ= d}|D ]:  }d}|d   D ])  } |
||«      }t        |t        ||«      d|¬«       |dz   }Œ+ |dz   }Œ< y )	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_esta   s'   ø€ à�a‘ˆAØ�a˜#˜q ™s™)‘nÑ$ˆCØˆJr$   rP   rQ   ©rW   Úrtol)r'   ÚpirY   r2   r\   r   Úappendr   r   r   r5   )ra   rR   rM   ÚiaÚibrb   rc   Údxr+   rf   rO   ÚnkrJ   rg   Úrr4   ÚdrrL   s     `               r"   Úcheck_2zTestSmokeTests.check_2\   sù   ø€ Ø�aœŸ™‘g˜s¤2§5¡5™yˆbˆ1ˆÜ�K‰K˜˜1˜a ™cÓ"ˆÜ�F‰F�1‹Iˆô	ð ˆÜ�q˜!“ò 	>ˆAÜ˜˜A ¨¨q°QÔ7ˆCØ�I‰I”v˜b " cÓ*¬F°2°s«OÐ<Õ=ð	>ð ˆØò 	ˆAØˆAØ˜‘dò �Ù˜a “m�Ü ¤B r¨1£I°A¸CÕ@Ø�a‘C‘ðð �!‘‰Añ	r$   c                 óÜ   — | j                  d¬«       | j                  dt        j                  z  ¬«       | j                  dt        j                  z  dt        j                  z  dd¬«       y )	Ng�íµ ÷Æ°>©rN   ç      ø?)rc   r0   r/   çš™™™™™¹?)rc   rS   rR   rN   )rk   r'   rq   ©ra   s    r"   Útest_smoke_splrep_splevz&TestSmokeTests.test_smoke_splrep_splevu   sJ   € Ø�‰�tˆÔØ�‰�sœ2Ÿ5™5‘yˆÔ!Ø�‰�sœ2Ÿ5™5‘y Q¤r§u¡u¡W°!°tˆÕ<r$   rR   r/   rd   Tc                 ó*   — | j                  ||¬«       y )N)rR   rd   )rk   )ra   rR   rd   s      r"   Útest_smoke_splrep_splev_2z(TestSmokeTests.test_smoke_splrep_splev_2z   s   € ð 	�‰˜ xˆÕ0r$   rM   é2   c                 ó*   — | j                  ||¬«       y )N)rR   rM   )ry   ©ra   rM   rR   s      r"   Útest_smoke_splint_spaldez'TestSmokeTests.test_smoke_splint_spalde   s   € ð 	�‰˜ ˆÕ"r$   c                 ól   — | j                  dt        j                  z  t        j                  ||¬«       y )Nrm   )rs   rt   rM   rR   )ry   r'   rq   r„   s      r"   Útest_smoke_splint_spalde_iaibz,TestSmokeTests.test_smoke_splint_spalde_iaib„   s$   € ð 	�‰˜œBŸE™E™	¤b§e¡e¨q°cˆÕ:r$   c           	      óþ  — d\  }}t        j                  ||d«      }t        j                  |«      }dD ]6  }t        ||dd||¬«      }t	        t
        «      5  t        |«       d d d «       Œ8 d}t        ||dd¬«      }t        |«      }t        t        ||«      t        j                  t        |«      «      dd¬	«       t        |t         j                  t        j                  g d
¢«      z  d¬«       y # 1 sw Y   ŒÈxY w)N)r}   é   rB   )r/   r0   r.   rG   r   rQ   r1   )rN   rJ   ç»½×Ùß|Û=ro   )r/   r0   r1   r.   gü©ñÒMbP?©rp   )r'   rY   r2   r   Úassert_raisesÚ
ValueErrorr   r   r   Úzerosr]   rq   r7   )ra   rb   rc   r+   rf   rJ   rg   Úrootss           r"   Útest_smoke_sprootz TestSmokeTests.test_smoke_sproot‰   s×   € à‰ˆˆ1Ü�K‰K˜˜1˜bÓ!ˆÜ�F‰F�1‹Iˆàò 	ˆAÜ˜˜A ¨¨Q°1Ô5ˆCÜœzÓ*ñ Ü�s”÷ð ð	ð
 ˆÜ�Q˜˜Q !Ô$ˆÜ�s“ˆÜœ˜e SÓ)¬2¯8©8´C¸³JÓ+?ÀeÐRWÕXÜ˜œrŸu™u¤r§x¡x²Ó'=Ñ=ÀDÖI÷ð ús   ÁC3Ã3C<	rJ   ©r/   r0   r1   r.   rG   c                 óX  — 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(  r7t	        ||gdd|d¬«      \  }}	t        d|dz   «      D ]  }t        |||«      }
Œ y y )
Nr   ç       @rm   r/   éÿÿÿÿ)rN   rR   rJ   Únestç{®Gáz„?)rN   rR   rJ   r1   )	r'   rq   rY   r2   r   r   Úabsr   r\   )ra   rM   rJ   rb   rc   ru   r+   rf   ÚtckpÚuÚuvÚerr1rg   Úerr2r4   s                  r"   Útest_smoke_splprep_splrep_splevz.TestSmokeTests.test_smoke_splprep_splrep_splevš   s'  € ð �bœŸ™‘h ¤B§E¡E¡	ˆbˆ1ˆÜ�K‰K˜˜1˜a ™cÓ"ˆÜ�F‰F�1‹Iˆä˜1˜a˜& A¨1°¸Ô;‰ˆˆaÜ�2�t‹_ˆÜ�2�a‘5œ2Ÿ6™6 " Q¡%›=Ñ(Ó)ˆØ�dŠ{Ðˆ{ä�Q˜˜Q A¨Ô+ˆÜ”5˜˜A™ Ó$¤r§v¡v¨b°©e£}Ñ4Ó5ˆØ�dŠ{Ðˆ{ð �Š6Ü˜q !˜f¨¨q°A¸BÔ?‰GˆD�!Ü˜1˜a ™c“]ò (�Ü˜2˜t QÓ'‘ñ(ð r$   c           	      óT  — 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 ‚y )	Nr   r“   ©r1   r1   )rB   rB   c                 ó2   — t        j                  | |z   «      S r&   ©r'   r2   ©r+   r<   s     r"   Úf2z6TestSmokeTests.test_smoke_bisplrep_bisplev.<locals>.f2¶   s   € Ü—6‘6˜!˜A™#“;Ðr$   r/   ©rN   ÚkxÚkyr–   )
r'   rq   rY   r>   r   r   r]   Úshaper,   Úravel)ra   rT   rS   ÚybÚyer¥   r¦   ÚNxÚNyr£   r+   r<   r=   rg   rh   Út2Úv1Úv2s                     r"   Útest_smoke_bisplrep_bisplevz*TestSmokeTests.test_smoke_bisplrep_bisplev°   s;  € Ø�B”r—u‘u‘HˆBˆØ�B”r—u‘u‘HˆBˆØ‰ˆˆBØ‰ˆˆBò	ô �K‰K˜˜B  Q¡Ó'ˆÜ�K‰K˜˜B  Q¡Ó'ˆÜ�q˜!‹_ˆÜ�r˜!‘u˜b ™e¡R¨¨1©¨r°!©uÓ%5¸¸rÀbÔIˆà�!‰f�R˜˜ˆn˜c !™f R¨¨˜nÐ-ˆÜ�r˜!‘u˜b ™eÓ$ˆÜ�R˜‘U˜B˜q™E 3Ó'ˆÙ��1‘�r˜!‘uÓˆÜ�r˜!‘u“:œs 2 a¡5›zÐ)ˆŒä”R—X‘X˜b 2™gÓ&Ó'¨$Ò.Ð.Ñ.r$   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r'   rq   rk   ry   r   ÚpytestÚmarkÚparametrizer�   r…   r‡   r�   r�   r°   rI   r$   r"   r@   r@   0   sc  „ ñð ˜q A¨¨2¯5©5©¸5Ø˜Dó%"ðN ˜r a¨A¨b¯e©e©Gó ò2=ð
 ‡[�[×Ñ˜U Q¨ FÓ+Ø‡[�[×Ñ˜Z¨$°¨Ó7ñ1ó 8ó ,ð1ð ‡[�[×Ñ˜S 2 r (Ó+Ø‡[�[×Ñ˜U Q¨ FÓ+ñ#ó ,ó ,ð#ð ‡[�[×Ñ˜S 2 r (Ó+Ø‡[�[×Ñ˜U Q¨ FÓ+ñ;ó ,ó ,ð;òJð" ‡[�[×Ñ˜S 2 r (Ó+Ø‡[�[×Ñ˜S¢/Ó2ñ(ó 3ó ,ð(ó(/r$   r@   c                   ó   — e Zd Zd„ Zd„ Zd„ Zy)Ú	TestSplevc                 ó¢   — g d¢}g d¢}t        ||«      }t        dg|«      }|j                  dk(  sJ ‚t        d|«      }|j                  dk(  sJ ‚y )Nr‘   ©r.   rG   rP   é   é   r/   )r/   rI   )r   r   r§   )ra   r+   r<   rg   Úzs        r"   Útest_1d_shapezTestSplev.test_1d_shapeÈ   sO   € ÚˆÚˆÜ�Q˜‹lˆÜ�1�#�s‹OˆØ�w‰w˜$ŠÐˆÜ�!�S‹MˆØ�w‰w˜"Š}Ð‰}r$   c                 óø   — g d¢}g d¢}t        ||«      }t        j                  g d¢g d¢g«      }t        ||«      }t        |d   |«      }t        |d   |«      }t	        |t        j
                  ||f«      «       y )Nr‘   r»   )rF   r|   r“   ç      @)ç      @g      @ç      @g      @r   r/   )r   r'   r7   r   r   Úvstack)ra   r+   r<   rg   r^   r¾   Úz0Úz1s           r"   Útest_2d_shapezTestSplev.test_2d_shapeÑ   sr   € ÚˆÚˆÜ�Q˜‹lˆÜ�H‰HÒ*Ú*ð,ó -ˆä�!�S‹MˆÜ�1�Q‘4˜ÓˆÜ�1�Q‘4˜ÓˆÜ˜œ2Ÿ9™9 b¨" XÓ.Õ/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¬
«       y )N)r/   r0   r1   )r   r0   r.   r/   )rJ   éþÿÿÿrP   r   r.   )r   r/   r1   )Úextr0   )r   r   r   rŒ   r�   )ra   r+   r<   rg   ÚrstlrÊ   s         r"   Útest_extrapolation_modesz"TestSplev.test_extrapolation_modesÜ   sx   € ò ˆÚˆÜ�Q˜˜QÔˆà�Q�˜!˜Q˜ ¨¨1 vÐ.ˆØò 	NˆCÜ%¤e¨Q°¨F°C¸SÔ&AÀ4ÈÁ9ÕMð	Nô 	”j¤%¨!¨Q¨°¸!Ö<r$   N)r±   r²   r³   r¿   rÇ   rÌ   rI   r$   r"   r¹   r¹   Ç   s   „ òò	0ó=r$   r¹   c                   ó6   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	y)	Ú
TestSplderc                 óþ   — t        j                  ddd«      dz  }t        j                  d|z  «      }t        ||«      | _        t        j
                  t        j                  | j                  d   «      «      dkD  sJ ‚y )Nr   r/   éd   r1   rB   )r'   rY   r2   r   rj   ÚptpÚdiff)ra   r+   r<   s      r"   Úsetup_methodzTestSplder.setup_methodî   sa   € ä�K‰K˜˜1˜cÓ" AÑ%ˆÜ�F‰F�2˜‘6‹NˆÜ˜!˜Q“<ˆŒô �v‰v”b—g‘g˜dŸh™h q™kÓ*Ó+¨aÒ/Ð/Ñ/r$   c                 ó  — t        d«      D ]s  }t        | j                  |«      }t        ||«      }t	        | j                  d   |d   «       t	        | j                  d   |d   «       | j                  d   |d   k(  rŒsJ ‚ y )NrG   r   r/   r0   )r\   r   rj   r   r   )ra   ÚnÚspl2Úspl3s       r"   Útest_inversezTestSplder.test_inverse÷   sv   € ä�q“ò 	*ˆAÜ˜dŸh™h¨Ó*ˆDÜ˜$ “?ˆDÜ˜DŸH™H Q™K¨¨a©Ô1Ü˜DŸH™H Q™K¨¨a©Ô1Ø—8‘8˜A‘; $ q¡'Ó)Ð)Ð)ñ	*r$   c                 ó*  — 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¬	«       Œzt        ||«       Œ‡ y )
Nr.   r”   r0   iÐ  r1   r   r/   g�íµ ÷ÆÀ>r‹   )r\   r'   rY   r   rj   r   r   )ra   rÕ   ÚxxÚdyrÖ   Údy2s         r"   Útest_splder_vs_splevzTestSplder.test_splder_vs_splev   s“   € ô �s“ò 	)ˆAä—‘˜R  DÓ)ˆBØ�AŠvð ˜˜q™ R¨1¡WÑ-Ñ.�ä�r˜4Ÿ8™8 QÓ'ˆBÜ˜$Ÿ(™( AÓ&ˆDÜ˜˜D“/ˆCØ�AŠvÜ  C¨dÖ3ä  CÕ(ñ	)r$   c                 ó<  — t        | j                  «      }t        j                  ddd«      }|D ]k  }|D ]d  }t	        ||| j                  «      }t        ||«      t        ||«      z
  }t        t        j                  |«      t        j                  |«      «       Œf Œm y )Nr   r/   rB   )r   rj   r'   rY   r   r   r   r;   )ra   rÖ   rÚ   re   Úx2Úy1Úy2s          r"   Útest_splantider_vs_splintz$TestSplder.test_splantider_vs_splint  sˆ   € ä˜$Ÿ(™(Ó#ˆô �[‰[˜˜A˜rÓ"ˆàò 	@ˆBØò @�Ü˜B  D§H¡HÓ-�Ü˜2˜t“_¤u¨R°£Ñ6�Ü¤§
¡
¨2£´·
±
¸2³Õ?ñ@ñ	@r$   c                 óD   — t        t        t        | j                  d«       y )Nr.   )rŒ   r�   r   rj   r~   s    r"   Útest_order0_diffzTestSplder.test_order0_diff!  s   € Ü”j¤&¨$¯(©(°AÕ6r$   c                 óH  — 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«       y )Nç      à?r0   )Úmr1   r/   r.   )r   rj   r   rŒ   r�   )ra   rÖ   s     r"   Ú	test_kinkzTestSplder.test_kink$  sv   € ô �c˜4Ÿ8™8 qÔ)ˆÜˆt�QŒÜ”j¤&¨$°Ô2ä�c˜4Ÿ8™8 qÔ)ˆÜˆt�QŒÜ”j¤&¨$°Ô2ä�c˜4Ÿ8™8 qÔ)ˆÜ”j¤&¨$°Õ2r$   c                 ó$  — t        d«      D ]‚  }| j                  \  }}}t        j                  |||f   }t        j                  ||f«      }t        |||f|«      }t        ||«      }t        ||d   «       t        ||d   «       ||d   k(  rŒ‚J ‚ y )Nr1   r   r/   r0   )r\   rj   r'   Úc_Údstackr   r   r   )ra   rÕ   r^   r_   rJ   Úc2rÖ   r×   s           r"   Útest_multidimzTestSplder.test_multidim2  s’   € ä�q“ò 
	 ˆAØ—h‘h‰GˆAˆq�!Ü—‘�q˜!˜Q�w‘ˆBÜ—‘˜B ˜8Ó$ˆBä˜q " a˜j¨!Ó,ˆDÜ˜$ “?ˆDä˜A˜t A™wÔ'Ü˜B  Q¡Ô(Ø˜˜Q™“<Ð�<ñ
	 r$   N)
r±   r²   r³   rÓ   rØ   rÝ   râ   rä   rè   rí   rI   r$   r"   rÎ   rÎ   í   s&   „ ò0ò*ò)ò&@ò7ò3ó r$   rÎ   c                   ó   — e Zd Zd„ Zy)Ú
TestSplintc           	      ó4  — d\  }}t        j                  |«      }|dz  }t        ||d¬«      \  }}}t        |«      t        |«      cxk(  r|d|dz
  z  z   k(  sJ ‚ J ‚t	        dd|||f«      }d}t        ||z
  «      d	k  sJ ‚|j                  «       }	t         j                  |	t        |«      |z
  dz
  d  t	        dd||	|f«      }
t        |
|z
  «      d	k  sJ ‚t         j                  |	d<   t        j                  t	        dd||	|f«      «      sJ ‚|d t        |«      |z
  dz
   }t	        dd|||f«      }||z
  d	k  sJ ‚t        t        d
¬«      5  t	        ddt        j                  d«      t        j                  d«      df«       d d d «       y # 1 sw Y   y xY w)N)r¼   r1   r1   r   r{   r0   r/   rP   g     @t@rX   z>=n-k-1)Úmatché
   rG   )r'   rZ   r   r]   r   r—   ÚcopyÚnanÚisnanrŒ   Ú	ExceptionÚones)ra   rÕ   rJ   r+   r<   r^   r_   ÚresÚexpectedÚc0Úres0Úc1Úres1s                r"   Ú
test_len_czTestSplint.test_len_cB  sž  € Ø‰ˆˆ1Ü�I‰I�a‹LˆØˆq‰DˆÜ˜˜A Ô#‰ˆˆ1ˆaô �1‹vœ˜Q›Ô. 1 q¨!¨A©#¡w¡;Ò.Ð.Ñ.Ð.Ð.ô �Q˜˜A˜q !˜9Ó%ˆØˆÜ�3˜‘>Ó" UÒ*Ð*Ð*ð �V‰V‹XˆÜ Ÿf™fˆŒ3ˆq‹6�A‰:˜‰>ˆ?ÐÜ�a˜˜Q  A˜JÓ'ˆÜ�4˜(‘?Ó# eÒ+Ð+Ð+ô —‘ˆˆ1‰Ü�x‰xœ˜q ! a¨¨Q ZÓ0Ô1Ð1Ð1ð ˆ”�A“˜‘
˜Q‘ÐˆÜ�a˜˜Q  A˜JÓ'ˆØ�x‘ 5Ò(Ð(Ð(ô
 œ9¨JÔ7ñ 	7Ü�1�aœ"Ÿ'™' "›+¤r§w¡w¨q£z°1Ð5Ô6÷	7÷ 	7ñ 	7ús   Å7FÆFN)r±   r²   r³   rþ   rI   r$   r"   rï   rï   A  s   „ ó!7r$   rï   c                   óx   — e Zd Zd„ Zd„ Zej                  j                  ee	j                  k7  d¬«      d„ «       Zy)Ú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¬	«       y )
Nr   )Ú
as_stridedr½   l    dæ</i q rI   )r§   r/   )ÚwrT   rS   r©   rª   rN   )	Únumpy.lib.stride_tricksr  r   Úitemsizer'   rŽ   rŒ   ÚOverflowErrorr   )ra   r  r`   r+   s       r"   Útest_overflowzTestBisplrep.test_overflowg  sT   € Ý6Ü× Ñ  AÒ%Ø‰DàˆDñ ”r—x‘x “|¨D¨7Ô3ˆÜ”m¤X¨q°!°Q¸!Ø˜q Q¨1°ö	3r$   c           	      óÂ   — t        j                  t        d«      «      5 }|d   }d d d «       t        d d …df   |d d …df   |d d …df   dddd¬«       y # 1 sw Y   Œ1xY w)	Nzbug-1310.npzr   r   r/   r0   r1   T)r¥   r¦   rN   Úfull_output)r'   Úloadr#   r   )ra   Úloaded_datar   s      r"   Útest_regression_1310z!TestBisplrep.test_regression_1310s  se   € ä�W‰W”Y˜~Ó.Ó/ð 	'°;Ø˜vÑ&ˆD÷	'ô 	�’a˜�c‘˜D¢ 1 ™I tªA¨a¨C¡y°Q¸1ÀØ!ö	#÷	'ð 	'ús   ŸAÁA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«       y )	Ni`m  r   r/   i�  r1   ©r¥   r¦   rN   ræ   ç        )r   r'   rY   ÚmeshgridÚ
zeros_liker   r   r   )ra   r+   r<   r¾   rg   s        r"   Útest_ilp64_bisplrepz TestBisplrep.test_ilp64_bisplrep  sw   € ä˜%Ô Ü�K‰K˜˜1˜cÓ"ˆÜ�K‰K˜˜1˜cÓ"ˆÜ�{‰{˜1˜aÓ ‰ˆˆ1Ü�M‰M˜!ÓˆÜ�q˜!˜Q 1¨¨aÔ0ˆÜœ  S¨#Ó.°Õ4r$   N)r±   r²   r³   r  r  rµ   r¶   Úskipifr   r'   Úint64r  rI   r$   r"   r   r   f  s?   „ ò
3ò
#ð ‡[�[×Ñ˜¨¯©Ñ0Ð9NÐÓOñ5ó Pñ5r$   r   c            	      ó  — t        j                  dd«      } t        j                  dd«      }t        j                  | |«      \  }}t        | |d|z  |z  «      }t	        |j
                  «      }|j                  |j                  «       t        t        dddd|«      dz
  «      dk  sJ ‚t        t        dddd|«      dz
  «      dk  sJ ‚t        t        dddd|«      dz
  «      dk  sJ ‚t        t        dd	dd	|«      dz
  «      dk  sJ ‚y )
Nr   r/   r.   rŠ   ræ   g      Ð?rH   iœÿÿÿrÐ   )
r'   rY   r  r	   r8   rg   ÚextendÚdegreesr—   r   )r+   r<   rÚ   ÚyyÚrectrg   s         r"   Útest_dblintr  Š  sÿ   € ô 	�‰�A�qÓ€AÜ
�‰�A�qÓ€AÜ�[‰[˜˜AÓ�F€BˆÜ˜q ! Q¨¡V¨b¡[Ó1€DÜ
ˆt�x‰x‹.€CØ‡J�Jˆt�|‰|ÔäŒv�a˜˜A˜q #Ó&¨Ñ*Ó+¨eÒ3Ð3Ð3ÜŒv�a˜˜a  CÓ(¨4Ñ/Ó0°5Ò8Ð8Ð8ÜŒv�c˜1˜a  CÓ(¨4Ñ/Ó0°5Ò8Ð8Ð8ÜŒv�d˜C  s¨CÓ0°1Ñ4Ó5¸Ò=Ð=Ñ=r$   c                  óö  — 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«      t        j                  |«      |d   |d   z
  z  |d   z  «       t         j
                  j                  d«       t        j                  t         j
                  j                  d«      «      }t         j
                  j                  d«      }t        ||«      \  }}}|d   d	z
  |d
   d	z   g}t        |||f|«      }t        t        ||||f|«      t        ||«      «       y )N)r  r  rÁ   rÁ   )g®g¥œù¿g~„'	…@r  r  r/   )éýÿÿÿr   rÁ   r1   r   r0   iÒ  é   rF   r”   )
r'   r7   r   r   Ú	ones_likeÚrandomÚseedÚsortr   r   )rg   r^   r_   rJ   r+   r<   Útck2s          r"   Útest_splev_der_kr$  š  sO  € ô
 �8‰8Ò&Ó'Ü�8‰8Ò5Ó6Øð€Cð �G€A€qˆ!Ü
�‰’Ó!€Aô ”E˜!˜S“M 1 Q¡4¨1¨Q©4°!°A±$©;¸!Ñ*;¸A¸a¹DÑ*@Ñ#@ÔAÜ”E˜!˜S !Ó$Ü—L‘L “O q¨¡t¨a°©d¡{Ñ3°a¸±dÑ:ôô
 ‡I�I‡N�N�4ÔÜ
�‰”—	‘	× Ñ  Ó$Ó%€AÜ
�	‰	×Ñ˜Ó€AÜ�Q˜‹l�G€A€qˆ!à	
ˆ1‰�‰�A�b‘E˜B‘JÐ€AÜ�1�a˜�)˜QÓ€DÜ”E˜!˜a  A˜Y¨Ó*¬E°!°T«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|¬	«      \  }}y )
Nr   gš™™™™™ñ?r}   r0   r{   g)\�Âõ(ð?r–   r”   )Útaskr^   )r'   rZ   r2   rq   r3   r   )r^   r+   r<   rg   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�Iˆa��tÔà�‰V€FÜ�a˜�V "¨Ô/�F€C‰r$   c                  óâ  — t         j                  j                  d«       t        j                  ddd«      } | }t         j                  j	                  dd«      j                  «       }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        |||«       y )Nr/   r   é   r  r  i  ( )r'   r   r!  rY   Úrandnr¨   r   rŽ   rŒ   ÚRuntimeErrorÚMemoryErrorr   )r+   r<   r¾   r¥   r¦   ÚnxÚtxÚnyÚtyr_   ÚfpÚierrg   ÚxpÚyps                  r"   Útest_bisplev_integer_overflowr6  Ã  sì   € Ü‡I�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ˆ7�B�s˜�G˜QÐ=  b¡¨1¡°°b±¸1±Ñ =Ð>ÀÀBÐ
G€Cä	�‰�7�)Ó	€BÜ	�‰�7�)Ó	€Bä”<¤Ð-¬w¸¸BÀÕDr$   c            	      ó  — 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 «       y # 1 sw Y   y xY w)Né   rŸ   c                 ó2   — t        j                  | |z   «      S r&   r¡   r¢   s     r"   r£   ztest_gh_1766.<locals>.f2Û  s   € Ü�v‰v�a˜‘c‹{Ðr$   r   rò   r‚   i¼  r/   r¤   i ¡ r.   r1   )	r'   rY   r>   r   rZ   rµ   r   r-  r   )r`   r¥   r¦   r£   r+   r<   r=   rg   Ú
tx_ty_sizeÚtt_0Útt_1s              r"   Útest_gh_1766r=  Ö  só   € ð €DØ�F€Bˆòô 	�‰�A�r˜4Ó €AÜ
�‰�B˜˜TÓ"€AÜ	�1�a‹€BÜ
�2�a‘5˜"˜Q™%¡ B q¡E¨2¨a©5Ó!1°Q¸2À"Ô
E€Cð €JÜ�Y‰Y�zÓ"€Cˆ�FÜ�Y‰Y�zÓ" QÑ&€Cˆ�FÜ�9‰9�R‹=€DÜ�9‰9�R‹=˜1Ñ€DÜ	�‰”{Ó	#ñ 'Ü��d˜C  AÔ&÷'÷ 'ñ 'ús   Ã$C=Ã=Dc                  óÞ   — t        j                  dd«      } | dz  }t        | |ddg¬«      }t        t        j                  d«      |«      }t        j
                  g d¢«      }t        ||«       y )Nr   rò   r1   rG   )rJ   r^   r/   )rF   rÂ   ç      @r?  )r'   rY   r   r   Úfloat64r7   r   )r+   r<   rg   rø   Údess        r"   Útest_spalde_scalar_inputrB  í  sZ   € ä
�‰�A�rÓ€AØ	ˆ1‰€AÜ
��A˜˜q˜cÔ
"€CÜ
”—‘˜A“ Ó
$€CÜ
�(‰(Ò#Ó
$€CÜ˜˜SÕ!r$   c                  óf  — t        j                  g d¢d¬«      } g d¢}t        j                  g d¢«      }d}t        | |||f«      }t        j                  |«      }t        j                  t	        d«      D �cg c]  }t        | |||f|«      ‘Œ c}«      }t        ||j                  d¬	«       y c c}w )
N)ç      $Àç      "Àç       Àç      Àç      Àç      Àç      Àç      Àç      Àç       Àç      ø¿ç      ð¿ç      à¿r  ræ   rF   r|   r“   rÁ   rÂ   rÃ   ç      @r?  r[   rC   )rD  rD  rD  rD  rE  rF  rG  rH  rI  rJ  rK  rL  rM  rN  rO  rP  r  ræ   rF   r|   r“   rÁ   rÂ   rÃ   rQ  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   r.   rU   rV   )r'   r;   r   rÄ   r\   r   r   r*   )r+   r^   r_   rJ   rø   ÚnuÚ	res_splevs          r"   Útest_spalde_ncrT  ÷  s�   € ô 	�
‰
ò Jà!ô	#€Aò	"€Aô 	�
‰
ò <ó 	=€Aà	€Aä
��Q˜˜1�IÓ
€CÜ
�)‰)�C‹.€CÜ—
‘
¼eÀA»hÖG¸œE ! a¨¨A Y°Õ3ÒGÓH€IÜ�C˜Ÿ™¨5Ö1ùò Hs   Á7B.)r   )4r9   r   Únumpyr'   Úscipy._lib._array_apir   r   r   r   rµ   r   rŒ   Úscipy._lib._testutilsr   Úscipy.interpolater	   r
   Ú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(  r6  r¶   Úxslowr=  rB  rT  rI   r$   r"   ú<module>r]     sÓ   ðÛ Û 	ã ÷ó õ +Û Ý 3å 1Ý )÷J÷ J÷ Jó Jå 3Ý 4ò*ò
#ó	ò÷T/ñ T/÷n#=ñ #=÷LQ ñ Q ÷h"7ñ "7÷J!5ñ !5òH>ò <ò8
0òEð& ‡�×Ññ'ó ð'ò,"ó2r$   