Ë
    qwj÷C  ã                   óð  — 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-e	j\                  j_                  e!ej`                  k(  d¬«      d„ «       Z1e	j\                  jd                  d„ «       Z3d„ Z4d „ Z5y)"é    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    úi/var/www/html/newmanjeet/manjet/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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 ‚ |s�t        ||
|‰||¬«      }t        |j                  «      t        |d   «      k(  rOt        |j                  |d   d	¬
«       t        |j                  |d   d |j                  j                   d¬
«       �Œ|dk(  r�ŒJ ‚t        j                  |
d   |
d   d	¬
«      rht        ||
|‰||d¬«      }|dk7  s�ŒDt        |j                  |d   d	¬
«       t        |j                  |d   d |j                  j                   d¬
«       �Œ“t!        t"        «      5  t        ||
|‰||d¬«      }d d d «       �Œ¿ y # 1 sw Y   �ŒËxY w)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   éÿÿÿÿÚperiodic)rJ   rN   rT   rS   Úbc_type)r'   ÚlinspaceÚarangeÚfloatr5   Úranger   r,   r   r
   ÚlenÚtr   ÚcÚsizeÚallcloseÚassert_raisesÚ
ValueError)Ú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ä—;‘;˜q ™t Q r¡U°Õ7Ü% a¨¨a°1¸ÀÈJÔW�CØ˜A”vÜ'¨¯©¨s°1©v¸EÕBÜ'¨¯©¨s°1©v°k°s·u±u·z±zÐ/BÈ×Oä&¤zÕ2Ü)¨!¨Q°!°qØ-/°BÀ
ôL˜÷ 3Ñ2ñ1 ÷0 3Ñ2ús   ÈH9È9I	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_estk   s'   ø€ à�a‘ˆAØ�a˜#˜q ™s™)‘nÑ$ˆCØˆJr$   rP   rQ   ©rW   Úrtol)r'   Úpir\   r2   r_   r   Úappendr   r   r   r5   )rg   rR   rM   ÚiaÚibrh   ri   Údxr+   rl   rO   ÚnkrJ   rm   Úrr4   ÚdrrL   s     `               r"   Úcheck_2zTestSmokeTests.check_2f   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                 ón   — | j                  d¬«       | j                  dt        j                  z  ¬«       y )Ng�íµ ÷Æ°>©rN   ç      ø?)ri   ©rq   r'   rw   ©rg   s    r"   Útest_smoke_splrep_splevz&TestSmokeTests.test_smoke_splrep_splev   s&   € Ø�‰�tˆÔØ�‰�sœ2Ÿ5™5‘yˆÕ!r$   c                 ó¼   — | j                  dt        j                  z  dt        j                  z  dd¬«       | j                  dt        j                  z  dd¬«       y )Nr‚   r0   r/   çš™™™™™¹?)ri   rS   rR   rN   )ri   rR   rN   rƒ   r„   s    r"   Ú test_smoke_splrep_splev_periodicz/TestSmokeTests.test_smoke_splrep_splev_periodicƒ   s@   € Ø�‰�sœ2Ÿ5™5‘y Q¤r§u¡u¡W°!°tˆÔ<Ø�‰�qœŸ™‘w A¨ˆÕ.r$   rR   r/   rj   Tc                 ó*   — | j                  ||¬«       y )N)rR   rj   )rq   )rg   rR   rj   s      r"   Útest_smoke_splrep_splev_2z(TestSmokeTests.test_smoke_splrep_splev_2‡   s   € ð 	�‰˜ xˆÕ0r$   rM   é2   c                 ó*   — | j                  ||¬«       y )N)rR   rM   )r   ©rg   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 )Nrs   )ry   rz   rM   rR   )r   r'   rw   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   ç»½×Ùß|Û=ru   )r/   r0   r1   r.   gü©ñÒMbP?©rv   )r'   r\   r2   r   re   rf   r   r   r   Úzerosr`   rw   r7   )rg   rh   ri   r+   rl   rJ   rm   Ú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   ç       @rs   r/   rY   )rN   rR   rJ   Únestç{®Gáz„?)rN   rR   rJ   r1   )	r'   rw   r\   r2   r   r   Úabsr   r_   )rg   rM   rJ   rh   ri   r{   r+   rl   ÚtckpÚuÚuvÚerr1rm   Ú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           	      óf  — 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   «      }|j                  t        |d   «      t        |d   «      «      }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'   rw   r\   r>   r   r   Úreshaper`   r,   Úravel)rg   rT   rS   ÚybÚyer«   r¬   ÚNxÚNyr©   r+   r<   r=   rm   rn   Ú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ÓˆØ�Z‰Zœ˜B˜q™E›
¤C¨¨1©£JÓ/ˆä”R—X‘X˜b 2™gÓ&Ó'¨$Ò.Ð.Ñ.r$   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r'   rw   rq   r   r…   rˆ   ÚpytestÚmarkÚparametrizerŠ   rŽ   r�   r—   r£   r¶   rI   r$   r"   r@   r@   0   si  „ ñð ˜q A¨¨2¯5©5©¸5Ø˜Dó/Lðb ˜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   Úshape)rg   r+   r<   rm   Ú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)rg   r+   r<   rm   ra   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   re   rf   )rg   r+   r<   rm   ÚrstlrÑ   s         r"   Útest_extrapolation_modesz"TestSplev.test_extrapolation_modesé   sq   € ò ˆÚˆÜ�Q˜˜QÔˆà�Q�˜!˜Q˜ ¨¨1 vÐ.ˆÛˆCÜ%¤e¨Q°¨F°C¸SÔ&AÀ4ÈÁ9ÕMð ô 	”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'   r\   r2   r   rp   ÚptpÚdiff)rg   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   rp   r   r   )rg   ÚnÚspl2Úspl3s       r"   Útest_inversezTestSplder.test_inverse  sq   € ä�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.   rY   r0   iÐ  r1   r   r/   g�íµ ÷ÆÀ>r”   )r_   r'   r\   r   rp   r   r   )rg   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   rp   r'   r\   r   r   r   r;   )rg   rÝ   rá   rk   Úx2Úy1Úy2s          r"   Útest_splantider_vs_splintz$TestSplder.test_splantider_vs_splint   sz   € ä˜$Ÿ(™(Ó#ˆô �[‰[˜˜A˜rÓ"ˆãˆBÛ�Ü˜B  D§H¡HÓ-�Ü˜2˜t“_¤u¨R°£Ñ6�Ü¤§
¡
¨2£´·
±
¸2³Õ?ñ ñ r$   c                 óD   — t        t        t        | j                  d«       y )Nr.   )re   rf   r   rp   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   rp   r   re   rf   )rg   rÝ   s     r"   Ú	test_kinkzTestSplder.test_kink1  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_   rp   r'   Úc_Údstackr   r   r   )rg   rÜ   ra   rb   rJ   Úc2rÝ   rÞ   s           r"   Útest_multidimzTestSplder.test_multidim?  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'   r]   r   r`   r   r�   ÚcopyÚnanÚisnanre   Ú	ExceptionÚones)rg   rÜ   rJ   r+   r<   ra   rb   ÚresÚexpectedÚc0Úres0Úc1Úres1s                r"   Ú
test_len_czTestSplint.test_len_cO  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Ü�1�aœ"Ÿ'™' "›+¤r§w¡w¨q£z°1Ð5Ô6÷ 8×7Ñ7ús   Å7FÆFN)r·   r¸   r¹   r  rI   r$   r"   rö   rö   N  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•   re   ÚOverflowErrorr   )rg   r	  rc   r+   s       r"   Útest_overflowzTestBisplrep.test_overflowt  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   )rg   Úloaded_datar   s      r"   Útest_regression_1310z!TestBisplrep.test_regression_1310€  s^   € ä�W‰W”Y˜~Ó.Ô/°;Ø˜vÑ&ˆD÷ 0ô 	�’a˜�c‘˜D¢ 1 ™I tªA¨a¨C¡y°Q¸1ÀØ!ö	#÷ 0Ð/ú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'   r\   ÚmeshgridÚ
zeros_liker   r   r   )rg   r+   r<   rÅ   rm   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  s  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'   r\   r  r	   r8   rm   ÚextendÚdegreesr�   r   )r+   r<   rá   ÚyyÚrectrm   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   rY   )
r'   r7   r   r   Ú	ones_likeÚrandomÚseedÚsortr   r   )rm   ra   rb   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œ   rY   )Útaskra   )r'   r]   r2   rw   r3   r   )ra   r+   r<   rm   rŸ   Úuknotss         r"   Útest_splprep_segfaultr0  Ã  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$   z>Will crash (see gh-23396), test only meant for 32-bit overflowr  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)  r\   Úrandnr®   r   r•   re   ÚRuntimeErrorÚMemoryErrorr   )r+   r<   rÅ   r«   r¬   ÚnxÚtxÚnyÚtyrb   ÚfpÚierrm   ÚxpÚyps                  r"   Útest_bisplev_integer_overflowr>  Ð  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'   r\   r>   r   r]   r»   r   r5  r   )rc   r«   r¬   r©   r+   r<   r=   rm   Ú
tx_ty_sizeÚtt_0Útt_1s              r"   Útest_gh_1766rE  å  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   ra   r/   )rF   rÉ   ç      @rG  )r'   r\   r   r   Úfloat64r7   r   )r+   r<   rm   rÿ   Údess        r"   Útest_spalde_scalar_inputrJ  ü  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Ê   ç      @rG  r^   rC   )rL  rL  rL  rL  rM  rN  rO  rP  rQ  rR  rS  rT  rU  rV  rW  rX  r  rí   rF   r‚   rš   rÈ   rÉ   rÊ   rY  rG  rG  rG  rG  )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+   ra   rb   rJ   rÿ   ÚnuÚ	res_splevs          r"   Útest_spalde_ncr\    s¡   € ô 	�
‰
ò Jà!ô	#€Aò	"€Aô 	�
‰
ò <ó 	=€Aà	€Aä
��Q˜˜1�IÓ
€CÜ
�)‰)�C‹.€CÜ—
‘
¼eÀA¼hÓG¹h¸œE ! a¨¨A Y°Õ3¸hÑGÓH€IÜ�C˜Ÿ™¨5Ö1ùò Hs   Á7B.)r   )6r9   r   Únumpyr'   Úscipy._lib._array_apir   r   r   r   r»   r   re   Ú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,  r0  r¼   r  r  r>  ÚxslowrE  rJ  r\  rI   r$   r"   Ú<module>re     s  ðÛ Û 	ã ÷ó õ +Û Ý 3å 1Ý )÷J÷ J÷ Jó Jå 3Ý 4ò*ò
#ó	ò÷a/ñ a/÷H#=ñ #=÷LQ ñ Q ÷h"7ñ "7÷J!5ñ !5òH>ò <ò8
0ð ‡�×Ñ�L B§H¡HÑ,ØOð ó QñEóQðEð& ‡�×Ññ'ó ð'ò,"ó2r$   