Ë
    qwjj’  ã                   óÊ  — 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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 e
j8                  j:                  Ze
j8                  j<                  Z	 	 dd„Zg d¢Z d„ Z!d	„ Z"d
„ Z#d„ Z$ G d„ d«      Z% G d„ d«      Z& G d„ d«      Z' G d„ d«      Z( e	e«       G d„ d«      «       Z) e	e«      d„ «       Z*d„ Z+d„ Z, G d„ d«      Z-y)é    N)Úxp_assert_equalÚxp_assert_closeÚassert_array_almost_equalÚassert_almost_equalÚmake_xp_test_case)Úraises)ÚKroghInterpolatorÚkrogh_interpolateÚBarycentricInterpolatorÚbarycentric_interpolateÚapproximate_taylor_polynomialÚCubicHermiteSplineÚpchipÚPchipInterpolatorÚpchip_interpolateÚAkima1DInterpolatorÚCubicSplineÚmake_interp_spline)Ú_run_concurrent_barrierc                 óŽ  — |€i }t         j                  j                  d«      }g d¢}t        t	        dt        |«      dz   «      «      }|j                  |t        |«      dz   z  d«        |j                  d|z   Ž j                  |«      }	t        j                  |«      }
| t        u r5 |j                  d|z   Ž j                  |«      }  | ||	|fd|i|¤Ž|
«      }n  | ||	fd|i|¤Ž|
«      }|xs d|	j                  d | z   |z   |	j                  |d  dd  z   }|j                  |k(  sJ ‚|r||	j                  dkD  rm| t        u r8  | t        |«      t        |	«      t        «      fd|i|¤Žt        |
«      «       n-  | t        |«      t        |	«      fd|i|¤Žt        |
«      «       |
j                  dkD  r�|€Š|	j                  d | dt        |«      z  z   |	j                  |d  dd  z   }|	t        d «      f||	j                  z  z  dz      }|j                  |«      }t        j                   ||«      \  }}	t#        ||	«       y y y )	NéÒ  )éÿÿÿÿr   é   é   é   é   r   r   ©é   Úaxis© ©r   )ÚnpÚrandomÚRandomStateÚlistÚrangeÚlenÚinsertÚrandÚ	transposeÚzerosr   ÚshapeÚsizeÚsliceÚndimÚreshapeÚbroadcast_arraysr   )Úinterpolator_clsÚx_shapeÚy_shapeÚderiv_shaper   Ú
extra_argsÚrngÚxÚsÚyÚxiÚdydxÚyiÚtarget_shapeÚbs_shapeÚyvs                   úi/var/www/html/newmanjeet/manjet/venv/lib/python3.12/site-packages/scipy/interpolate/tests/test_polyint.pyÚcheck_shaperB      s[  € àÐØˆ
Ü
�)‰)×
Ñ
 Ó
%€Câ€AÜŒU�1”c˜'“l 1‘nÓ%Ó&€AØ‡H�HˆT”S˜“\ !‘^Ñ$ aÔ(Øˆ�‰�4˜'‘>Ð#×-Ñ-¨aÓ0€Aä	�‰�'Ó	€BØÔ-Ñ-Øˆs�x‰x˜$ ™.Ð*×4Ñ4°QÓ7ˆØBÑ˜a  DÑB¨tÐB°zÑBÀ2ÓF‰à<Ñ˜a Ñ<¨Ð<°Ñ<¸RÓ@ˆà Ò& B¨!¯'©'°%°4¨.Ñ8ØñØ !§¡¨¨ ¨q¨rÐ 2ñ3€Là�8‰8�|Ò#Ð#Ð#ñ �1—6‘6˜A’:ØÔ1Ñ1ð+ÑœT !›W¤d¨1£g¬t°D«zñ +Àð +Ø)ñ+Ü+/°«8õ5ð+ÑœT !›W¤d¨1£gñ +°Dð +Ø)ñ+Ü+/°«8ô5ð 
‡w�w�‚{�{Ð*Ø—7‘7˜5˜D�> D¬¨W«Ñ$5Ñ5¸¿¹ÀÀ¸ÀqÀrÐ8JÑJˆØ”�t“� ¨¯©¡Ñ/°4Ñ7Ñ8ˆØ�Z‰Z˜Ó!ˆä×#Ñ# B¨Ó+‰ˆˆAÜ˜˜AÕð +€{ó    )r    ©r   r!   )r   r   é   c                  ó2  — d„ } t         t        t        t        t        t
        | fD ]p  }t        D ]e  }t        D ]Z  }t        t        |«       t        |«      «      D ]6  }|t
        k7  rt        |||d |«       ŒdD ]  }d|i}t        |||d ||«       Œ Œ8 Œ\ Œg Œr y )Nc                 ó   — t        | ||¬«      S ©N©r   )r   ©r8   r:   r   s      rA   Ú
spl_interpztest_shapes.<locals>.spl_interpF   s   € Ü! ! Q¨TÔ2Ð2rC   )ÚnaturalÚclampedÚbc_type)
r	   r   r   r   r   r   ÚSHAPESr&   r'   rB   )rK   ÚipÚs1Ús2r   ÚbcÚextras          rA   Útest_shapesrU   D   s–   € ò3ô !Ô"9Ô;MÜÔ)¬;¸
óDˆçˆBß�Ü!¤3 r£7 (¬C°«GÖ4�DØœ[Ò(Ü# B¨¨B°°dÕ;ã"8˜BØ%.° O˜EÜ'¨¨B°°D¸$ÀÕFñ #9ñ	 5ñ ñ ñDrC   c                  óÆ   ‡— t         t        fD ]Q  Šdˆfd„	} t        D ]@  }t        D ]5  }t        t	        |«       t	        |«      «      D ]  }t        | ||d|«       Œ Œ7 ŒB ŒS y )Nc                 ó,   •—  ‰| ||«      j                   S ©N)Úderivatives)r8   r:   r   rP   s      €rA   Úinterpolator_derivsz/test_derivs_shapes.<locals>.interpolator_derivsW   s   ø€ Ù�a˜˜D“>×-Ñ-Ð-rC   r   rD   )r	   r   rO   r&   r'   rB   )rZ   rQ   rR   r   rP   s       @rA   Útest_derivs_shapesr[   U   sZ   ø€ Ü Ô"9Ó:ˆõ	.÷ ˆBß�Ü!¤3 r£7 (¬C°«GÖ4�DÜÐ 3°R¸¸TÀ4ÕHñ 5ñ ñ ñ	 ;rC   c                  ó&  — dd„} dd„}dd„}dd„}dd„}dd„}dd„}dd„}dd	„}dd
„}	dd„}
dd„}dd„}| |||||||||	|
||fD ]K  }t         D ]@  }t         D ]5  }t        t        |«       t        |«      «      D ]  }t        |||d|«       Œ Œ7 ŒB ŒM y )Nc                 ó0   — t        | ||«      j                  S rX   )r	   Ú
derivativerJ   s      rA   Úkrogh_derivz&test_deriv_shapes.<locals>.krogh_deriva   s   € Ü   A tÓ,×7Ñ7Ð7rC   c                 ó0   — t        | ||«      j                  S rX   )r   r^   rJ   s      rA   Ú
bary_derivz%test_deriv_shapes.<locals>.bary_derivd   s   € Ü& q¨!¨TÓ2×=Ñ=Ð=rC   c                 ó8   — t        | ||«      j                  «       S rX   ©r   r^   rJ   s      rA   Úpchip_derivz&test_deriv_shapes.<locals>.pchip_derivg   s   € Ü�Q˜˜4Ó ×+Ñ+Ó-Ð-rC   c                 ó:   — t        | ||«      j                  d«      S ©Nr   rc   rJ   s      rA   Úpchip_deriv2z'test_deriv_shapes.<locals>.pchip_deriv2j   s   € Ü�Q˜˜4Ó ×+Ñ+¨AÓ.Ð.rC   c                 ó8   — t        | ||«      j                  «       S rX   ©r   ÚantiderivativerJ   s      rA   Úpchip_antiderivz*test_deriv_shapes.<locals>.pchip_antiderivm   s   € Ü�Q˜˜4Ó ×/Ñ/Ó1Ð1rC   c                 ó:   — t        | ||«      j                  d«      S rf   ri   rJ   s      rA   Úpchip_antideriv2z+test_deriv_shapes.<locals>.pchip_antideriv2p   s   € Ü�Q˜˜4Ó ×/Ñ/°Ó2Ð2rC   c                 ó4   —  G d„ dt         «      } || ||«      S )Nc                   ó   — e Zd Zd„ Zy)ú9test_deriv_shapes.<locals>.pchip_deriv_inplace.<locals>.Pc                 ó0   — t        j                  | |d«      S )Nr   )r   Ú__call__)Úselfr8   s     rA   rr   zBtest_deriv_shapes.<locals>.pchip_deriv_inplace.<locals>.P.__call__u   s   € Ü(×1Ñ1°$¸¸1Ó=Ð=rC   N)Ú__name__Ú
__module__Ú__qualname__rr   r    rC   rA   ÚPrp   t   s
   „ ò>àrC   rw   )r   )r8   r:   r   rw   s       rA   Úpchip_deriv_inplacez.test_deriv_shapes.<locals>.pchip_deriv_inplaces   s   € ô	Ô!ô 	ñ ��A�t‹}ÐrC   c                 ó8   — t        | ||«      j                  «       S rX   )r   r^   rJ   s      rA   Úakima_derivz&test_deriv_shapes.<locals>.akima_derivz   s   € Ü" 1 a¨Ó.×9Ñ9Ó;Ð;rC   c                 ó8   — t        | ||«      j                  «       S rX   )r   rj   rJ   s      rA   Úakima_antiderivz*test_deriv_shapes.<locals>.akima_antideriv}   s   € Ü" 1 a¨Ó.×=Ñ=Ó?Ð?rC   c                 ó8   — t        | ||«      j                  «       S rX   )r   r^   rJ   s      rA   Úcspline_derivz(test_deriv_shapes.<locals>.cspline_deriv€   s   € Ü˜1˜a Ó&×1Ñ1Ó3Ð3rC   c                 ó8   — t        | ||«      j                  «       S rX   )r   rj   rJ   s      rA   Úcspline_antiderivz,test_deriv_shapes.<locals>.cspline_antiderivƒ   s   € Ü˜1˜a Ó&×5Ñ5Ó7Ð7rC   c                 ó:   — t        | ||¬«      j                  «       S rH   )r   r^   rJ   s      rA   Ú
bspl_derivz%test_deriv_shapes.<locals>.bspl_deriv†   s   € Ü! ! Q¨TÔ2×=Ñ=Ó?Ð?rC   c                 ó:   — t        | ||¬«      j                  «       S rH   )r   rj   rJ   s      rA   Úbspl_antiderivz)test_deriv_shapes.<locals>.bspl_antideriv‰   s   € Ü! ! Q¨TÔ2×AÑAÓCÐCrC   r    rD   )rO   r&   r'   rB   )r_   ra   rd   rg   rk   rm   rx   rz   r|   r~   r€   r‚   r„   rP   rQ   rR   r   s                    rA   Útest_deriv_shapesr…   `   s·   € ó8ó>ó.ó/ó2ó3óó<ó@ó4ó8ó@óDð ˜J¨°\ÐCVØÐ 0°+¸ØÐ/°¸^óMˆ÷ ˆBß�Ü!¤3 r£7 (¬C°«GÖ4�DÜ  B¨¨B°Õ5ñ 5ñ ñ ñMrC   c                  óT  — g d¢} g d¢}t         t        t        fD ]0  } || |«      }t         || «      t	        j
                  |«      «       Œ2 g d¢}t        | ||«      }t         || «      t	        j
                  |«      «       t         || d«      t	        j
                  |«      «       y )N©r   r   r   r   )r   r   ù              ð?r   )r   y       €      ð¿r   y              @r   )r	   r   r   r   r"   Úasarrayr   )r8   r:   rP   Úpr<   s        rA   Útest_complexr‹   •   s„   € Ú€AÚ€Aä Ô"9¼;ÓGˆÙˆq�!‹HˆÜ™˜!›œbŸj™j¨›mÕ,ð Hò €DÜ˜1˜a Ó&€AÜ‘A�a“Dœ"Ÿ*™* Q›-Ô(Ü‘A�a˜“GœRŸZ™Z¨Ó-Õ.rC   c                   ó�   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)Ú	TestKroghc                 ó   — t         j                  j                  g d¢«      | _        t        j                  ddd«      | _        t        j                  ddd«      | _        | j                  | j                  «      | _        y ©N)éüÿÿÿrE   r   r   éþÿÿÿr   r   éd   rE   ©r"   Ú
polynomialÚ
PolynomialÚ	true_polyÚlinspaceÚtest_xsÚxsÚys©rs   s    rA   Úsetup_methodzTestKrogh.setup_method¤   sU   € ÜŸ™×1Ñ1Ò2CÓDˆŒÜ—{‘{ 2 a¨Ó,ˆŒÜ—+‘+˜b  1Ó%ˆŒØ—.‘. §¡Ó)ˆ�rC   c                 ó®   — t        | j                  | j                  «      }t        | j	                  | j
                  «       || j
                  «      «       y rX   ©r	   r™   rš   r   r–   r˜   ©rs   rw   s     rA   Útest_lagrangezTestKrogh.test_lagrangeª   ó5   € Ü˜dŸg™g d§g¡gÓ.ˆÜ˜DŸN™N¨4¯<©<Ó8¹¸4¿<¹<»ÕIrC   c                 ó  — t        | j                  | j                  «      }t        | j	                  d«       |d«      d¬«       t        | j	                  t        j                  d«      «       |t        j                  d«      «      d¬«       y )Né   F©Úcheck_0d)r	   r™   rš   r   r–   r"   ÚarrayrŸ   s     rA   Útest_scalarzTestKrogh.test_scalar®   sY   € Ü˜dŸg™g d§g¡gÓ.ˆÜ˜DŸN™N¨1Ó-©q°«t¸eÕDÜ˜DŸN™N¬2¯8©8°A«;Ó7¹¼2¿8¹8ÀA»;»ÐRWÖXrC   c                 ó$  — t        | j                  | j                  «      }|j                  | j                  «      }t        |j                  d   «      D ]:  }t         | j                  j                  |«      | j                  «      ||   «       Œ< y ©Nr   )
r	   r™   rš   rY   r˜   r&   r,   r   r–   Úderiv©rs   rw   ÚDÚis       rA   Útest_derivativeszTestKrogh.test_derivatives³   sk   € Ü˜dŸg™g d§g¡gÓ.ˆØ�M‰M˜$Ÿ,™,Ó'ˆÜ�q—w‘w˜q‘zÖ"ˆAÜÐ 7 §¡× 4Ñ 4°QÓ 7¸¿¹Ó EØ ! !¡õ&ñ #rC   c                 óR  — t        | j                  | j                  «      }|j                  | j                  t        | j                  «      dz   «      }t        |j                  d   «      D ]:  }t         | j                  j                  |«      | j                  «      ||   «       Œ< y )Nr   r   )r	   r™   rš   rY   r˜   r'   r&   r,   r   r–   rª   r«   s       rA   Útest_low_derivativeszTestKrogh.test_low_derivativesº   sy   € Ü˜dŸg™g d§g¡gÓ.ˆØ�M‰M˜$Ÿ,™,¤s¨4¯7©7£|°A¡~Ó6ˆÜ�q—w‘w˜q‘zÖ"ˆAÜÐ 7 §¡× 4Ñ 4°QÓ 7¸¿¹Ó EØ ! !¡õ&ñ #rC   c                 óò   — t        | j                  | j                  «      }d}|j                  | j                  |«      }t        |«      D ]+  }t        |j                  | j                  |«      ||   «       Œ- y ©Né
   )r	   r™   rš   rY   r˜   r&   r   r^   ©rs   rw   ÚmÚrr­   s        rA   Útest_derivativezTestKrogh.test_derivativeÁ   sZ   € Ü˜dŸg™g d§g¡gÓ.ˆØˆØ�M‰M˜$Ÿ,™, qÓ)ˆÜ�q–ˆAÜ §¡¨T¯\©\¸!Ó <¸Q¸q¹TÕBñ rC   c           	      óP  — t        | j                  | j                  «      }t        t	        | j                  «      dt	        | j                  «      z  «      D ]N  }t        |j                  | j                  |«      t        j                  t	        | j                  «      «      «       ŒP y rf   )
r	   r™   rš   r&   r'   r   r^   r˜   r"   r+   ©rs   rw   r­   s      rA   Útest_high_derivativezTestKrogh.test_high_derivativeÈ   si   € Ü˜dŸg™g d§g¡gÓ.ˆÜ”s˜4Ÿ7™7“| Q¤s¨4¯7©7£|¡^Ö4ˆAÜ §¡¨T¯\©\¸!Ó <Ü "§¡¬¨T¯\©\Ó):Ó ;õ=ñ 5rC   c                 óÜ  — | j                   }t        j                  j                  g d¢«      }t        j                  j                  g d¢«      }t        j                   || j
                  «       || j
                  «       || j
                  «      fd¬«      }t        | j
                  |d¬«      }|j                  | j                  «      }t        |j                  d   «      D ]†  }t        ||   t        j                   |j                  |«      | j                  «       |j                  |«      | j                  «       |j                  |«      | j                  «      fd¬«      «       Œˆ y ©N©r‘   rE   r   r   ©é   éýÿÿÿr   éûÿÿÿr   r   rI   r   )r–   r"   r”   r•   Ústackr™   r	   rY   r˜   r&   r,   r   rª   ©rs   Úpoly1Úpoly2Úpoly3rš   rw   r¬   r­   s           rA   Útest_ndim_derivativeszTestKrogh.test_ndim_derivativesÎ   s  € Ø—‘ˆÜ—‘×(Ñ(ªÓ8ˆÜ—‘×(Ñ(Ò);Ó<ˆÜ�X‰X‘u˜TŸW™W“~¡u¨T¯W©W£~±u¸T¿W¹W³~ÐFÈRÔPˆä˜dŸg™g r°Ô2ˆØ�M‰M˜$Ÿ,™,Ó'ˆÜ�q—w‘w˜q‘zÖ"ˆAÜ˜A˜a™DÜŸH™H n e§k¡k°!£n°T·\±\Ó&BØ&4 e§k¡k°!£n°T·\±\Ó&BØ&4 e§k¡k°!£n°T·\±\Ó&Bð&Dð +-ô.õ/ñ #rC   c                 óÎ  — | j                   }t        j                  j                  g d¢«      }t        j                  j                  g d¢«      }t        j                   || j
                  «       || j
                  «       || j
                  «      fd¬«      }t        | j
                  |d¬«      }t        |j                  «      D ]�  }t        |j                  | j                  |«      t        j                   |j                  |«      | j                  «       |j                  |«      | j                  «       |j                  |«      | j                  «      fd¬«      «       ŒŸ y r¼   )r–   r"   r”   r•   rÂ   r™   r	   r&   Únr   r^   r˜   rª   ©rs   rÄ   rÅ   rÆ   rš   rw   r­   s          rA   Útest_ndim_derivativezTestKrogh.test_ndim_derivativeÝ   sø   € Ø—‘ˆÜ—‘×(Ñ(ªÓ8ˆÜ—‘×(Ñ(Ò);Ó<ˆÜ�X‰X‘u˜TŸW™W“~¡u¨T¯W©W£~±u¸T¿W¹W³~ÐFÈRÔPˆä˜dŸg™g r°Ô2ˆÜ�q—s‘s–ˆAÜ˜AŸL™L¨¯©°qÓ9ÜŸH™H n e§k¡k°!£n°T·\±\Ó&BØ&4 e§k¡k°!£n°T·\±\Ó&BØ&4 e§k¡k°!£n°T·\±\Ó&Bð&Dð +-ô.õ/ñ rC   c                 ó®   — t        | j                  | j                  «      }t        | j	                  | j
                  «       || j
                  «      «       y rX   rž   rŸ   s     rA   Útest_hermitezTestKrogh.test_hermiteë   r¡   rC   c                 ó\  — g d¢}t        j                  ddgddgddgg«      }t        ||«      }t        |j                  d   «      D �cg c]  }t        ||d d …|f   «      ‘Œ }}t        j
                  ddd«      }t         ||«      t        j                  |D �cg c]
  } ||«      ‘Œ c}«      j                  «       t        |j                  |«      t        j                  t        j                  |D �cg c]  }|j                  |«      ‘Œ c}«      d«      «       y c c}w c c}w c c}w )	N©r   r   r   r   r   r   r   r   r’   )r   r   r   )r"   r¦   r	   r&   r,   r—   r   r‰   ÚTrY   r*   )rs   r™   rš   rw   r­   ÚPir˜   rŠ   s           rA   Útest_vectorzTestKrogh.test_vectorï   s  € ÚˆÜ�X‰X˜˜!�u˜a ˜U A a 5Ð)Ó*ˆÜ˜b Ó$ˆÜ5:¸2¿8¹8ÀA¹;Ô5GÓHÑ5G°Ô  2¢a¨ c¡7Õ+Ð5GˆÐHÜ—+‘+˜b  3Ó'ˆÜ™A˜g›JÜŸJ™J¹BÓ'?¹B°q©¨'­
¸BÑ'?Ó@×BÑBô	Dä˜AŸM™M¨'Ó2Ü—‘œRŸZ™ZÉÓ(LÉÀA¨¯©°wÕ)?ÈÑ(LÓMØóõ	ùò	 Iùò (@ùâ(Ls   Á	DÂD$Ã6D)c                 óŽ   — t        | j                  | j                  «      }t         |g «      t	        j
                  g «      «       y rX   )r	   r™   rš   r   r"   r‰   rŸ   s     rA   Ú
test_emptyzTestKrogh.test_emptyû   s,   € Ü˜dŸg™g d§g¡gÓ.ˆÜ™˜"›œrŸz™z¨"›~Õ.rC   c                 óp  — t        | j                  | j                  «      }t        j                   |d«      «      dk(  sJ ‚t        j                   |t        j
                  d«      «      «      dk(  sJ ‚t        j                   |dg«      «      dk(  sJ ‚t        j                   |ddg«      «      dk(  sJ ‚y ©Nr   r    r!   r   )r   )r	   r™   rš   r"   r,   r¦   rŸ   s     rA   Útest_shapes_scalarvaluez!TestKrogh.test_shapes_scalarvalueÿ   s�   € Ü˜dŸg™g d§g¡gÓ.ˆÜ�x‰x™˜!›‹~ Ò#Ð#Ð#Ü�x‰x™œ"Ÿ(™( 1›+›Ó'¨2Ò-Ð-Ð-Ü�x‰x™˜1˜#›Ó 4Ò'Ð'Ð'Ü�x‰x™˜1˜Q˜%›Ó! TÒ)Ð)Ñ)rC   c                 óÜ  — t        | j                  | j                  «      }|j                  }t	        j
                  |j                  d«      «      |fk(  sJ ‚t	        j
                  |j                  t	        j                  d«      «      «      |fk(  sJ ‚t	        j
                  |j                  dg«      «      |dfk(  sJ ‚t	        j
                  |j                  ddg«      «      |dfk(  sJ ‚y ©Nr   r   r   )r	   r™   rš   rÉ   r"   r,   rY   r¦   ©rs   rw   rÉ   s      rA   Ú"test_shapes_scalarvalue_derivativez,TestKrogh.test_shapes_scalarvalue_derivative  s¹   € Ü˜dŸg™g d§g¡gÓ.ˆØ�C‰CˆÜ�x‰x˜Ÿ™ aÓ(Ó)¨a¨TÒ1Ð1Ð1Ü�x‰x˜Ÿ™¤b§h¡h¨q£kÓ2Ó3¸°tÒ;Ð;Ð;Ü�x‰x˜Ÿ™ q cÓ*Ó+°°1¨vÒ5Ð5Ð5Ü�x‰x˜Ÿ™ q¨! fÓ-Ó.°1°a°&Ò8Ð8Ñ8rC   c           	      óX  — t        | j                  t        j                  | j                  t        j
                  d«      «      «      }t        j                   |d«      «      dk(  sJ ‚t        j                   |dg«      «      dk(  sJ ‚t        j                   |ddg«      «      dk(  sJ ‚y ©Nr   r   )r   )r   r   r   )r   r   )r	   r™   r"   Úouterrš   Úaranger,   rŸ   s     rA   Útest_shapes_vectorvaluez!TestKrogh.test_shapes_vectorvalue  s   € Ü˜dŸg™g¤b§h¡h¨t¯w©w´r·y±yÀ³|Ó&DÓEˆÜ�x‰x™˜!›‹~ Ò%Ð%Ð%Ü�x‰x™˜1˜#›Ó 6Ò)Ð)Ð)Ü�x‰x™˜1˜a˜&›	Ó" fÒ,Ð,Ñ,rC   c                 ó4  — t        | j                  t        j                  | j                  dg«      «      }t        j
                   |d«      «      dk(  sJ ‚t        j
                   |dg«      «      dk(  sJ ‚t        j
                   |ddg«      «      dk(  sJ ‚y ©Nr   r   r!   )r   r   )r   r   )r	   r™   r"   rÞ   rš   r,   rŸ   s     rA   Útest_shapes_1d_vectorvaluez$TestKrogh.test_shapes_1d_vectorvalue  sy   € Ü˜dŸg™g¤b§h¡h¨t¯w©w¸°sÓ&;Ó<ˆÜ�x‰x™˜!›‹~ Ò%Ð%Ð%Ü�x‰x™˜1˜#›Ó 6Ò)Ð)Ð)Ü�x‰x™˜1˜Q˜%›Ó! VÒ+Ð+Ñ+rC   c           	      ó¶  — t        | j                  t        j                  | j                  t        j
                  d«      «      «      }|j                  }t        j                  |j                  d«      «      |dfk(  sJ ‚t        j                  |j                  dg«      «      |ddfk(  sJ ‚t        j                  |j                  ddg«      «      |ddfk(  sJ ‚y ©Nr   r   r   r   )	r	   r™   r"   rÞ   rš   rß   rÉ   r,   rY   rÚ   s      rA   Ú"test_shapes_vectorvalue_derivativez,TestKrogh.test_shapes_vectorvalue_derivative  s¨   € Ü˜dŸg™g¤b§h¡h¨t¯w©w´r·y±yÀ³|Ó&DÓEˆØ�C‰CˆÜ�x‰x˜Ÿ™ aÓ(Ó)¨a°¨VÒ3Ð3Ð3Ü�x‰x˜Ÿ™ q cÓ*Ó+°°1°a¨yÒ8Ð8Ð8Ü�x‰x˜Ÿ™ q¨ eÓ,Ó-°!°Q¸°Ò:Ð:Ñ:rC   c           
      ó  — t        | j                  | j                  «      }t        }t	         || j
                  «       || j                  | j                  | j
                  «      «       t	        |j                  | j
                  d«       || j                  | j                  | j
                  d¬«      «       t	        |j                  | j
                  d«       || j                  | j                  | j
                  ddg¬«      «       y )Nr   ©Úderr   r   )r	   r™   rš   r
   r   r˜   r^   rY   )rs   rw   Úkis      rA   Útest_wrapperzTestKrogh.test_wrapper!  s®   € Ü˜dŸg™g t§w¡wÓ/ˆÜˆÜ™A˜dŸl™l›O©R°·±¸¿¹À$Ç,Á,Ó-OÔPÜ˜AŸL™L¨¯©°qÓ9Ù˜tŸw™w¨¯©°·±À1ÔEô	Gä˜AŸM™M¨$¯,©,¸Ó:Ù˜tŸw™w¨¯©°·±ÀAÀqÀ6ÔJõ	LrC   c           	      óÞ   — g d¢}t        j                  g d¢«      }t        ||«      }t        t	         ||«      |z
  |j                  |d«      z  «      t        j                  |«      d¬«       y )N)r   éê   iÔ  i¾  i¨  i’  i|  i$	  i   iÄ  iè   i03  i`ê  )gffffffî¿gë‹¥Ä…Žë¿g™ä‘‰¥ê¿gÑ!p$Ð€ä¿gV¶0‡´¸Þ¿g�¤x*ZÖ¿g�º„àDöÐ¿g²æ2û]ÔÀ¿g ´½H. À¿gŽ»9C�À¿gÜ6D.›À¿gG°/áéøµ¿gš™™™™™©?r   g»½×Ùß|Û=©Úatol)r"   r¦   r	   r   Úabsr^   Ú
zeros_like)rs   r8   Ú
offset_cdfÚfs       rA   Útest_int_inputszTestKrogh.test_int_inputs*  sa   € òˆä—X‘Xò ?ó @ˆ
ô ˜a Ó,ˆäœ™Q˜q›T JÑ.°!·,±,¸qÀ!Ó2DÑDÓEÜŸ™ jÓ1¸ö	?rC   c                 óR  — t        j                  g d¢«      t        j                  g d¢«      }}t        ||«      }|j                  d«      }t        ||j                  «      j                  d«      dt        ||j
                  «      j                  d«      z  z   }t        ||d¬«       y )N)r   r   r   r   r   )r   rˆ   r   r   rˆ   r   rˆ   çVçž¯Ò<rî   )r"   r¦   r	   rY   ÚrealÚimagr   )rs   r8   r:   ÚfuncÚcmplxÚcmplx2s         rA   Útest_derivatives_complexz"TestKrogh.test_derivatives_complex7  s‡   € ä�x‰xÒ)Ó*¬B¯H©HÒ5KÓ,Lˆ1ˆÜ   AÓ&ˆØ× Ñ  Ó#ˆä# A q§v¡vÓ.×:Ñ:¸1Ó=ØÔ& q¨!¯&©&Ó1×=Ñ=¸aÓ@Ñ@ñAˆä˜˜v¨EÖ2rC   c                 óÈ   — t        j                  t        d¬«      5  t        t	        j
                  d«      t	        j                  d«      «       d d d «       y # 1 sw Y   y xY w)Nz40 degrees provided,©Úmatché(   )ÚpytestÚwarnsÚUserWarningr	   r"   rß   Úonesr›   s    rA   Útest_high_degree_warningz"TestKrogh.test_high_degree_warningA  s8   € Ü�\‰\œ+Ð-CÖDÜœbŸi™i¨›m¬R¯W©W°R«[Ô9÷ E×DÑDús   œ3AÁA!c                 ój   ‡ — t        ‰ j                  ‰ j                  «      }ˆ fd„}t        d||«       y )Nc                 ó*   •—  |‰j                   «       y rX   ©r™   ©Ú_Úinterprs   s     €rA   Ú	worker_fnz-TestKrogh.test_concurrency.<locals>.worker_fnH  ó   ø€ Ù�4—7‘7�OrC   r³   )r	   r™   rš   r   ©rs   rw   r  s   `  rA   Útest_concurrencyzTestKrogh.test_concurrencyE  s*   ø€ Ü˜dŸg™g t§w¡wÓ/ˆô	ô 	   I¨qÕ1rC   N)rt   ru   rv   rœ   r    r§   r®   r°   r·   rº   rÇ   rË   rÍ   rÒ   rÔ   r×   rÛ   rà   rã   ræ   rë   rô   rü   r  r  r    rC   rA   r�   r�   £   su   „ ò*òJòYò
&ò&òCò=ò/ò/òJò
ò/ò*ò9ò-ò,ò;òLò?ò3ò:ó2rC   r�   c                   ó   — e Zd Zd„ Zy)Ú
TestTaylorc                 óÐ   — d}t        t        j                  d|dd«      }t        |dz   «      D ]$  }t	         |d«      d«       |j                  «       }Œ& t	         |d«      d«       y )NrE   r   r   é   )r   r"   Úexpr&   r   rª   )rs   ÚdegreerŠ   r­   s       rA   Útest_exponentialzTestTaylor.test_exponentialO  sX   € ØˆÜ)¬"¯&©&°!°V¸QÀÓCˆÜ�v˜a‘x–ˆAÜ¡ !£ QÔ'Ø—‘“	‰Að !ô 	™A˜a›D Õ#rC   N)rt   ru   rv   r  r    rC   rA   r  r  N  s   „ ó$rC   r  c                   ó–   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestBarycentricc                 ó   — t         j                  j                  g d¢«      | _        t        j                  ddd«      | _        t        j                  ddd«      | _        | j                  | j                  «      | _        y r�   r“   r›   s    rA   rœ   zTestBarycentric.setup_methodY  sU   € ÜŸ™×1Ñ1Ò2CÓDˆŒÜ—{‘{ 2 q¨#Ó.ˆŒÜ—+‘+˜b ! QÓ'ˆŒØ—.‘. §¡Ó)ˆ�rC   c                 ó²   — t        | j                  | j                  d¬«      }t         || j                  «      | j                  | j                  «      «       y )Nr   )Úrandom_state)r   r™   rš   r   r˜   r–   rŸ   s     rA   r    zTestBarycentric.test_lagrange_  s7   € ä# D§G¡G¨T¯W©WÀ1ÔEˆÜ™˜$Ÿ,™,›¨¯©¸¿¹Ó)EÕFrC   c                 ó   — t        | j                  | j                  d¬«      }t         |d«      | j	                  d«      d¬«       t         |t        j                  d«      «      | j	                  t        j                  d«      «      d¬«       y )Nr   ©r7   r£   Fr¤   )r   r™   rš   r   r–   r"   r¦   rŸ   s     rA   r§   zTestBarycentric.test_scalard  sZ   € Ü# D§G¡G¨T¯W©W¸!Ô<ˆÜ™˜!›˜dŸn™n¨QÓ/¸%Õ@Ü™œ"Ÿ(™( 1›+›¨¯©´r·x±xÀ³{Ó(CÈeÖTrC   c                 ó$  — t        | j                  | j                  «      }|j                  | j                  «      }t        |j                  d   «      D ]:  }t         | j                  j                  |«      | j                  «      ||   «       Œ< y r©   )
r   r™   rš   rY   r˜   r&   r,   r   r–   rª   r«   s       rA   r®   z TestBarycentric.test_derivativesi  sh   € Ü# D§G¡G¨T¯W©WÓ5ˆØ�M‰M˜$Ÿ,™,Ó'ˆÜ�q—w‘w˜q‘zÖ"ˆAÜÐ3˜DŸN™N×0Ñ0°Ó3°D·L±LÓAÀ1ÀQÁ4ÕHñ #rC   c                 óV  — t        | j                  | j                  «      }|j                  | j                  t        | j                  «      dz   «      }t        |j                  d   «      D ]<  }t         | j                  j                  |«      | j                  «      ||   d¬«       Œ> y )Nr   r   çê-�™—q=rî   )r   r™   rš   rY   r˜   r'   r&   r,   r   r–   rª   r«   s       rA   r°   z$TestBarycentric.test_low_derivativeso  s|   € Ü# D§G¡G¨T¯W©WÓ5ˆØ�M‰M˜$Ÿ,™,¬¨D¯G©G«°Q©Ó7ˆÜ�q—w‘w˜q‘zÖ"ˆAÜÐ3˜DŸN™N×0Ñ0°Ó3°D·L±LÓAØ˜a™DØ!&ö(ñ #rC   c                 óò   — t        | j                  | j                  «      }d}|j                  | j                  |«      }t        |«      D ]+  }t        |j                  | j                  |«      ||   «       Œ- y r²   )r   r™   rš   rY   r˜   r&   r   r^   r´   s        rA   r·   zTestBarycentric.test_derivativew  sZ   € Ü# D§G¡G¨T¯W©WÓ5ˆØˆØ�M‰M˜$Ÿ,™,¨Ó*ˆÜ�q–ˆAÜ˜AŸL™L¨¯©°qÓ9¸1¸Q¹4Õ@ñ rC   c           	      óP  — t        | j                  | j                  «      }t        t	        | j                  «      dt	        | j                  «      z  «      D ]N  }t        |j                  | j                  |«      t        j                  t	        | j                  «      «      «       ŒP y )NrE   )
r   r™   rš   r&   r'   r   r^   r˜   r"   r+   r¹   s      rA   rº   z$TestBarycentric.test_high_derivative~  si   € Ü# D§G¡G¨T¯W©WÓ5ˆÜ”s˜4Ÿ7™7“| Q¤s¨4¯7©7£|¡^Ö4ˆAÜ˜AŸL™L¨¯©°qÓ9ÜŸH™H¤S¨¯©Ó%6Ó7õ9ñ 5rC   c                 óà  — | j                   }t        j                  j                  g d¢«      }t        j                  j                  g d¢«      }t        j                   || j
                  «       || j
                  «       || j
                  «      fd¬«      }t        | j
                  |d¬«      }|j                  | j                  «      }t        |j                  d   «      D ]ˆ  }t        ||   t        j                   |j                  |«      | j                  «       |j                  |«      | j                  «       |j                  |«      | j                  «      fd¬«      d¬«       ŒŠ y ©Nr½   r¾   r   rI   r   r   rî   )r–   r"   r”   r•   rÂ   r™   r   rY   r˜   r&   r,   r   rª   rÃ   s           rA   rÇ   z%TestBarycentric.test_ndim_derivatives„  s	  € Ø—‘ˆÜ—‘×(Ñ(ªÓ8ˆÜ—‘×(Ñ(Ò);Ó<ˆÜ�X‰X‘u˜TŸW™W“~¡u¨T¯W©W£~±u¸T¿W¹W³~ÐFÈRÔPˆä# D§G¡G¨R°aÔ8ˆØ�M‰M˜$Ÿ,™,Ó'ˆÜ�q—w‘w˜q‘zÖ"ˆAÜ˜A˜a™DÜŸH™H n e§k¡k°!£n°T·\±\Ó&BØ&4 e§k¡k°!£n°T·\±\Ó&BØ&4 e§k¡k°!£n°T·\±\Ó&Bð&Dð +-ô.ð "'ö(ñ #rC   c                 óÒ  — | j                   }t        j                  j                  g d¢«      }t        j                  j                  g d¢«      }t        j                   || j
                  «       || j
                  «       || j
                  «      fd¬«      }t        | j
                  |d¬«      }t        |j                  «      D ]Ÿ  }t        |j                  | j                  |«      t        j                   |j                  |«      | j                  «       |j                  |«      | j                  «       |j                  |«      | j                  «      fd¬«      d¬«       Œ¡ y r$  )r–   r"   r”   r•   rÂ   r™   r   r&   rÉ   r   r^   r˜   rª   rÊ   s          rA   rË   z$TestBarycentric.test_ndim_derivative”  sý   € Ø—‘ˆÜ—‘×(Ñ(ªÓ8ˆÜ—‘×(Ñ(Ò);Ó<ˆÜ�X‰X‘u˜TŸW™W“~¡u¨T¯W©W£~±u¸T¿W¹W³~ÐFÈRÔPˆä# D§G¡G¨R°aÔ8ˆÜ�q—s‘s–ˆAÜ˜AŸL™L¨¯©°qÓ9ÜŸH™H n e§k¡k°!£n°T·\±\Ó&BØ&4 e§k¡k°!£n°T·\±\Ó&BØ&4 e§k¡k°!£n°T·\±\Ó&Bð&Dð +-ô.ð "'ö(ñ rC   c                 óÎ   — t        | j                  «      }|j                  | j                  «       t	        | j                  | j                  «       || j                  «      «       y rX   )r   r™   Úset_yirš   r   r–   r˜   rŸ   s     rA   Útest_delayedzTestBarycentric.test_delayed£  s?   € Ü# D§G¡GÓ,ˆØ	�‰�—‘ÔÜ˜DŸN™N¨4¯<©<Ó8¹!¸D¿L¹L»/ÕJrC   c                 ó  — t        | j                  d d | j                  d d «      }|j                  | j                  dd  | j                  dd  «       t	        | j                  | j                  «       || j                  «      «       y )Nr   )r   r™   rš   Úadd_xir   r–   r˜   rŸ   s     rA   Útest_appendzTestBarycentric.test_append¨  sc   € Ü# D§G¡G¨B¨Q K°·±¸¸!°Ó=ˆØ	�‰�—‘˜˜�˜dŸg™g a b˜kÔ*Ü˜DŸN™N¨4¯<©<Ó8¹!¸D¿L¹L»/ÕJrC   c                 ó”  — g d¢}t        j                  ddgddgddgg«      }t        } |||«      }t        |j                  d   «      D �cg c]  } |||d d …|f   «      ‘Œ }}t        j
                  ddd«      }t         ||«      t        j                  |D �cg c]
  } ||«      ‘Œ c}«      j                  «       y c c}w c c}w )NrÏ   r   r   r   r   r   r’   )	r"   r¦   r   r&   r,   r—   r   r‰   rÐ   )	rs   r™   rš   ÚBIrw   r­   rÑ   r˜   rŠ   s	            rA   rÒ   zTestBarycentric.test_vector­  s»   € ÚˆÜ�X‰X˜˜1�v  1˜v¨¨1 vÐ.Ó/ˆÜ$ˆÙˆr�2‹JˆÜ(-¨b¯h©h°q©kÔ(:Ó;Ñ(: 1‰b��Rš˜1˜‘XÕÐ(:ˆÐ;Ü—+‘+˜b ! SÓ)ˆÜ™A˜g›JÜŸJ™J¹BÓ'?¹B°q©¨'­
¸BÑ'?Ó@×BÑBõ	Dùò <ùò (@s   ÁC ÂCc                 óp  — t        | j                  | j                  «      }t        j                   |d«      «      dk(  sJ ‚t        j                   |t        j
                  d«      «      «      dk(  sJ ‚t        j                   |dg«      «      dk(  sJ ‚t        j                   |ddg«      «      dk(  sJ ‚y rÖ   )r   r™   rš   r"   r,   r¦   rŸ   s     rA   r×   z'TestBarycentric.test_shapes_scalarvalue·  s�   € Ü# D§G¡G¨T¯W©WÓ5ˆÜ�x‰x™˜!›‹~ Ò#Ð#Ð#Ü�x‰x™œ"Ÿ(™( 1›+›Ó'¨2Ò-Ð-Ð-Ü�x‰x™˜1˜#›Ó 4Ò'Ð'Ð'Ü�x‰x™˜1˜a˜&›	Ó" dÒ*Ð*Ñ*rC   c                 óÜ  — t        | j                  | j                  «      }|j                  }t	        j
                  |j                  d«      «      |fk(  sJ ‚t	        j
                  |j                  t	        j                  d«      «      «      |fk(  sJ ‚t	        j
                  |j                  dg«      «      |dfk(  sJ ‚t	        j
                  |j                  ddg«      «      |dfk(  sJ ‚y rÙ   )r   r™   rš   rÉ   r"   r,   rY   r¦   rÚ   s      rA   rÛ   z2TestBarycentric.test_shapes_scalarvalue_derivative¾  s¹   € Ü# D§G¡G¨D¯G©GÓ4ˆØ�C‰CˆÜ�x‰x˜Ÿ™ aÓ(Ó)¨a¨TÒ1Ð1Ð1Ü�x‰x˜Ÿ™¤b§h¡h¨q£kÓ2Ó3¸°tÒ;Ð;Ð;Ü�x‰x˜Ÿ™ q cÓ*Ó+°°!¨uÒ4Ð4Ð4Ü�x‰x˜Ÿ™ q¨ eÓ,Ó-°!°A°Ò6Ð6Ñ6rC   c           	      óX  — t        | j                  t        j                  | j                  t        j
                  d«      «      «      }t        j                   |d«      «      dk(  sJ ‚t        j                   |dg«      «      dk(  sJ ‚t        j                   |ddg«      «      dk(  sJ ‚y rÝ   )r   r™   r"   rÞ   rš   rß   r,   rŸ   s     rA   rà   z'TestBarycentric.test_shapes_vectorvalueÆ  s   € Ü# D§G¡G¬R¯X©X°d·g±g¼r¿y¹yÈ»|Ó-LÓMˆÜ�x‰x™˜!›‹~ Ò%Ð%Ð%Ü�x‰x™˜1˜#›Ó 6Ò)Ð)Ð)Ü�x‰x™˜1˜a˜&›	Ó" fÒ,Ð,Ñ,rC   c                 ó4  — t        | j                  t        j                  | j                  dg«      «      }t        j
                   |d«      «      dk(  sJ ‚t        j
                   |dg«      «      dk(  sJ ‚t        j
                   |ddg«      «      dk(  sJ ‚y râ   )r   r™   r"   rÞ   rš   r,   rŸ   s     rA   rã   z*TestBarycentric.test_shapes_1d_vectorvalueÌ  sy   € Ü# D§G¡G¬R¯X©X°d·g±gÀ¸sÓ-CÓDˆÜ�x‰x™˜!›‹~ Ò%Ð%Ð%Ü�x‰x™˜1˜#›Ó 6Ò)Ð)Ð)Ü�x‰x™˜1˜a˜&›	Ó" fÒ,Ð,Ñ,rC   c           	      ó¶  — t        | j                  t        j                  | j                  t        j
                  d«      «      «      }|j                  }t        j                  |j                  d«      «      |dfk(  sJ ‚t        j                  |j                  dg«      «      |ddfk(  sJ ‚t        j                  |j                  ddg«      «      |ddfk(  sJ ‚y rå   )	r   r™   r"   rÞ   rš   rß   rÉ   r,   rY   rÚ   s      rA   ræ   z2TestBarycentric.test_shapes_vectorvalue_derivativeÒ  s¨   € Ü# D§G¡G¬B¯H©H°T·W±W¼R¿Y¹YÀq»\Ó,JÓKˆØ�C‰CˆÜ�x‰x˜Ÿ™ aÓ(Ó)¨a°¨VÒ3Ð3Ð3Ü�x‰x˜Ÿ™ q cÓ*Ó+°°1°a¨yÒ8Ð8Ð8Ü�x‰x˜Ÿ™ q¨! fÓ-Ó.°1°a¸°)Ò;Ð;Ñ;rC   c           
      ó  — t        | j                  | j                  d¬«      }t        }t	         || j
                  «       || j                  | j                  | j
                  d¬«      «       t	        |j                  | j
                  d«       || j                  | j                  | j
                  dd¬«      «       t	        |j                  | j
                  d«       || j                  | j                  | j
                  ddgd¬«      «       y )Nr   r  r   )ré   r7   r   )r   r™   rš   r   r   r˜   r^   rY   )rs   rw   Úbis      rA   rë   zTestBarycentric.test_wrapperÙ  s·   € Ü# D§G¡G¨T¯W©W¸!Ô<ˆÜ$ˆÜ™˜$Ÿ,™,›©¨D¯G©G°T·W±W¸d¿l¹lÐPQÔ)RÔSÜ˜Ÿ™ T§\¡\°1Ó5Ù˜4Ÿ7™7 D§G¡G¨T¯\©\¸qÀaÔHô	Jä˜Ÿ™ d§l¡l°AÓ6Ù˜4Ÿ7™7 D§G¡G¨T¯\©\ÀÀ1¸vÈ1ÔMõ	OrC   c                 óº   — dt        j                  dd«      z  }t        j                  dd«      }t        ||d«      }t        |t        j                  d«      «       y )Niè  r   é   g     ŽÂ@g      #@)r"   rß   r   r   r‰   )rs   r8   r:   Úvalues       rA   Útest_int_inputzTestBarycentric.test_int_inputâ  sG   € Ø”2—9‘9˜Q Ó#Ñ#ˆÜ�I‰I�a˜ÓˆÜ'¨¨1¨jÓ9ˆÜ˜E¤2§:¡:¨c£?Õ3rC   c                 ón  — d}t        j                  |dz   «      j                  t         j                  «      }t        j                  |t         j
                  z  |z  «      }d|z  }|dxx   dz  cc<   |dxx   dz  cc<   t        |«      }|j                  d   }t        |j                  d|z  z  |«       y )NiL  r   r   r   ç      à?r   )	r"   rß   ÚastypeÚfloat64ÚcosÚpir   Úwir   )rs   rÉ   Újr8   Úwrw   Úfactors          rA   Útest_large_chebyshevz$TestBarycentric.test_large_chebyshevè  s™   € ð ˆÜ�I‰I�a˜!‘eÓ×#Ñ#¤B§J¡JÓ/ˆÜ�F‰F�1”r—u‘u‘9˜q‘=Ó!ˆð �A‰IˆØ	ˆ!‹�‰‹Ø	ˆ"‹�‰‹ä# AÓ&ˆð —‘�a‘ˆÜ˜AŸD™D A¨¡JÑ/°Õ3rC   c                 óæ   — t        ddgddg«      }t        j                  d¬«      5   ||j                  «      }d d d «       t	        |j
                  j                  «       «       y # 1 sw Y   Œ.xY w)Nr   r   r   Úraise)Údivide)r   r"   Úerrstater;   r   r=   Úravel)rs   rw   r=   s      rA   Útest_warningzTestBarycentric.test_warning  sU   € ô $ Q¨ F¨Q°¨FÓ3ˆÜ�[‰[ Ö(Ù�1—4‘4“ˆB÷ )ô
 	˜B §¡§
¡
£Õ-÷ )Ð(ús   §A'Á'A0c                 óØ   — t        j                  g d¢«      }t        j                  g d¢«      }t        j                  t        d¬«      5  t        ||«       d d d «       y # 1 sw Y   y xY w)N)çš™™™™™¹?r:  çÍÌÌÌÌÌì?r:  r‡   z)Interpolation points xi must be distinct.rþ   )r"   r¦   r  r   Ú
ValueErrorr   )rs   Úxisrš   s      rA   Útest_repeated_nodez"TestBarycentric.test_repeated_node  sP   € ô �h‰hÒ+Ó,ˆÜ�X‰X’lÓ#ˆÜ�]‰]œ:Ø!LöNä# C¨Ô,÷N÷ Nñ Nús   Á
A Á A)c                 ój   ‡ — t        ‰ j                  ‰ j                  «      }ˆ fd„}t        d||«       y )Nc                 ó*   •—  |‰j                   «       y rX   r  r	  s     €rA   r  z3TestBarycentric.test_concurrency.<locals>.worker_fn  r  rC   r³   )r   r™   rš   r   r  s   `  rA   r  z TestBarycentric.test_concurrency  s*   ø€ Ü# D§G¡G¨T¯W©WÓ5ˆô	ô 	   I¨qÕ1rC   N)rt   ru   rv   rœ   r    r§   r®   r°   r·   rº   rÇ   rË   r(  r+  rÒ   r×   rÛ   rà   rã   ræ   rë   r8  rC  rI  rO  r  r    rC   rA   r  r  X  s}   „ ò*òGò
Uò
Iò(òAò9ò(ò (òKò
Kò
Dò+ò7ò-ò-ò<òOò4ò4ò2	.ò-ó2rC   r  c                   óJ   — e Zd Zdd„Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zy)Ú	TestPCHIPc                 óÈ   — t         j                  j                  d«      }t        j                  |j                  |«      «      }|j                  |«      }t	        ||«      ||fS )Nr   )r"   r#   r$   Úsortr   )rs   Únptsr7   r;   r=   s        rA   Ú_make_randomzTestPCHIP._make_random  sN   € Ü�i‰i×#Ñ# DÓ)ˆÜ�W‰W�S—Z‘Z Ó%Ó&ˆØ�Z‰Z˜ÓˆÜ�R˜‹}˜b "Ð$Ð$rC   c                 ó*  — | j                  «       \  }}}t        t        |«      dz
  «      D ]e  }||   ||dz      }}||   ||dz      }}||kD  r||}}t        j                  ||d«      }	 ||	«      }
||
dz   k  |
|dz   k  z  j                  «       rŒeJ ‚ y )Nr   r³   rö   ©rW  r&   r'   r"   r—   Úall©rs   rŠ   r;   r=   r­   Úx1Úx2Úy1Úy2ÚxpÚyps              rA   Útest_overshootzTestPCHIP.test_overshoot%  s«   € à×%Ñ%Ó'‰	ˆˆ2ˆrÜ”s˜2“w˜q‘yÖ!ˆAØ˜‘U˜B˜q ™s™G�ˆBØ˜‘U˜B˜q ™s™G�ˆBØ�BŠwØ˜R�B�Ü—‘˜R  RÓ(ˆBÙ�2“ˆBØ˜2 ™:Ñ%¨"°°U±
Ñ*:Ñ;×@Ñ@ÕBÐBÐBñ "rC   c                 ó  — | j                  «       \  }}}t        t        |«      dz
  «      D ]_  }||   ||dz      }}||   ||dz      }}t        j                  ||d«      }	 ||	«      }
||z
  |
dd  |
d d z
  z  dkD  j                  «       rŒ_J ‚ y )Nr   r³   r   rY  r[  s              rA   Útest_monotonezTestPCHIP.test_monotone1  s¢   € à×%Ñ%Ó'‰	ˆˆ2ˆrÜ”s˜2“w˜q‘yÖ!ˆAØ˜‘U˜B˜q ™s™G�ˆBØ˜‘U˜B˜q ™s™G�ˆBÜ—‘˜R  RÓ(ˆBÙ�2“ˆBØ˜‘U˜r ! "˜v¨¨2¨A¨™Ñ/°!Ñ3×8Ñ8Õ:Ð:Ð:ñ "rC   c                 óì   — t        j                  g d¢g d¢g«      }t        j                  d«      } t        |d   |d   «      |«      }|dz  } t        |d   |d   «      |«      }t	        ||dd¬«       y )	N)
r   r   r¿   é   é/   é<   éO   éW   éc   r’   )
éßÿÿÿrl  iíÿÿÿr‘   r¿   é   é&   é-   é5   é7   r’   r   r   ç      ð?ç›+¡†›„=)rï   Úrtol)r"   r¦   rß   r   r   )rs   ÚdataÚxxÚcurveÚdata1Úcurve1s         rA   Ú	test_castzTestPCHIP.test_cast;  sw   € ä�x‰xÒ@ÚDðFó Gˆä�Y‰Y�s‹^ˆØ'”�d˜1‘g˜t A™wÓ'¨Ó+ˆà�s‘
ˆØ*”�u˜Q‘x  q¡Ó*¨2Ó.ˆä˜˜v¨E¸Ö>rC   c                 ó&  — d}t        j                  t        j                  |«      «      }t	        |d d …df   |d d …df   «      }d}t        j                  t        j                  |«      «      }t        |d d …df    ||d d …df   «      dd¬«       y )Na  
          7.99   0.00000E+0
          8.09   0.27643E-4
          8.19   0.43750E-1
          8.70   0.16918E+0
          9.20   0.46943E+0
         10.00   0.94374E+0
         12.00   0.99864E+0
         15.00   0.99992E+0
         20.00   0.99999E+0
        r   r   a^  
           7.9900       0.0000
           9.1910       0.4640
          10.3920       0.9645
          11.5930       0.9965
          12.7940       0.9992
          13.9950       0.9998
          15.1960       0.9999
          16.3970       1.0000
          17.5980       1.0000
          18.7990       1.0000
          20.0000       1.0000
        ç        g-Cëâ6
?©rt  rï   )r"   ÚloadtxtÚioÚStringIOr   r   )rs   ÚdataStrru  ÚpchÚ	resultStrÚresults         rA   Útest_nagzTestPCHIP.test_nagG  s�   € ð

ˆô �z‰zœ"Ÿ+™+ gÓ.Ó/ˆÜ�Dš˜1˜‘I˜t¢A a C™yÓ)ˆðˆ	ô —‘œBŸK™K¨	Ó2Ó3ˆÜ˜šq ˜s™¡S¨²°!°©Ó%5¸BÀTÖJrC   c                 ó  — t        j                  g d¢«      }t        j                  g d¢«      }t        j                  g d¢«      }t        ||«      t        ||«      fD ]  }|d   |d   fD ]  } ||d«      dk7  rŒJ ‚ Œ! y )N)r|  rK  g      Ð?gffffffÖ?)çš™™™™uq@g     @@ç     @�@ç     ˆ£@)r‡  r‰  g     p—@rˆ  r   r   r   )r"   r¦   r   )rs   r8   r^  r_  ÚppÚts         rA   Útest_endslopeszTestPCHIP.test_endslopesj  st   € ô �H‰HÒ+Ó,ˆÜ�X‰XÒ3Ó4ˆÜ�X‰XÒ4Ó5ˆÜ˜˜B“<¤ q¨"£Ó.ˆBØ˜‘d˜A˜b™E“]�Ù˜!˜Q“x 1“}Ð$�}ñ #ñ /rC   c                 óF  — t        j                  d«      }t        j                  |«      }t        j                  «       5  t        j
                  d«       t        ||«      }d d d «       t        j                  ddd«      }t         |«      dk(  «      sJ ‚y # 1 sw Y   Œ7xY w)Nr³   Úerrorr   é	   ée   r|  )	r"   rß   rñ   ÚwarningsÚcatch_warningsÚfilterwarningsr   r—   rZ  )rs   r8   r:   r‚  rv  s        rA   Útest_all_zeroszTestPCHIP.test_all_zerost  s|   € Ü�I‰I�b‹MˆÜ�M‰M˜!Óˆô ×$Ñ$Õ&Ü×#Ñ# GÔ,Ü˜˜1“+ˆC÷ 'ô �[‰[˜˜A˜sÓ#ˆÜ‘3�r“7˜b‘=Ô!Ð!Ñ!÷ 'Ð&ús   ¿"BÂB c                 ó€   — t        j                  ddd«      }t        ddgddg«      }t         ||«      d|z  d¬«       y )Nr   r   r6  r   rö   rî   )r"   r—   r   r   )rs   r8   rŠ   s      rA   Útest_two_pointszTestPCHIP.test_two_points€  s>   € ô
 �K‰K˜˜1˜bÓ!ˆÜ�1�a�&˜1˜a˜&Ó!ˆÜ™˜!›˜a ™c¨Ö.rC   c                 ó`  — t        t        g d¢g d¢dgd¬«      t        j                  dg«      «       t        t        g d¢g d¢dgd¬«      t        j                  dg«      «       t        t        j                  t        g d¢g d¢dgddg¬«      «      t        j                  dgdgg«      «       y )	N©r   r   r   )r   rE   r   r:  r   rè   rr  r   g      @)r   r   r"   r‰   r›   s    rA   Útest_pchip_interpolatez TestPCHIP.test_pchip_interpolate‰  sŒ   € Ü!Üšiª°S°E¸qÔAÜ�J‰J˜�tÓô	ô 	"Üšiª°S°E¸qÔAÜ�J‰J˜�uÓô	ô 	"Ü�J‰JÔ(ª²IÀ¸uÈ1ÈaÈ&ÔQÓRÜ�J‰J˜˜ ˜s�|Ó$õ	&rC   c                 ó„   — t        ddgddg«      }|j                  «       }t        |t        j                  dg«      «       y )Nr   r   r   r:  )r   Úrootsr   r"   r‰   )rs   rŠ   r¶   s      rA   Ú
test_rootszTestPCHIP.test_roots–  s6   € ä�1�a�&˜2˜q˜'Ó"ˆØ�G‰G‹IˆÜ˜œ2Ÿ:™: s eÓ,Õ-rC   N)é   )rt   ru   rv   rW  rb  rd  rz  r…  rŒ  r”  r–  r™  rœ  r    rC   rA   rS  rS    s7   „ ó%ò
Cò;ò
?ò!KòF%ò
"ò/ò&ó.rC   rS  c                   ó^   — e Zd Ze	 	 dd„«       Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d„ Zd	„ Zd
„ Zd„ Zy)ÚTestCubicSplinec           	      ó&  — | j                   }| j                  }t        j                  |«      }|j	                  |j
                  d   gdg|j                  dz
  z  z   «      }|dd }t        |ddd…f   |ddd…f   |dz  z  |ddd…f   |dz  z  z   |ddd…f   |z  z   |ddd…f   z   ||¬«       t        |ddd…f   d|ddd…f   z  |dz  z  d|ddd…f   z  |z  z   |ddd…f   z   ||¬«       t        |ddd…f   d|ddd…f   z  |z  |ddd…f   z   ||¬«       |j                  dk(  r3|dk(  r.|dk(  r)t        |d   t        j                  |d   «      ||¬«       y|d	k(  rjt         | |d   d«       | |d   d«      ||¬«       t         | |d   d«       | |d   d«      ||¬«       t         | |d   d«       | |d   d«      ||¬«       y|dk(  rq|j                  dk(  rL | |d   «       | |d   «      z
  |d   z  }t        j                  |«      }t         | |d   d«      |||¬«       n¿t        |d
   |d   ||¬«       n©|dk(  r7t         | |d   d«      t        j                   | |d   d«      «      ||¬«       nm|dk(  r7t         | |d   d«      t        j                   | |d   d«      «      ||¬«       n1|\  }	}
t         | |d   |	«      t        j                  |
«      ||¬«       |dk(  rq|j                  dk(  rL | |d   «       | |d   «      z
  |d   z  }t        j                  |«      }t         | |d   d«      |||¬«       yt        |d   |d   ||¬«       y|dk(  r7t         | |d   d«      t        j                   | |d   d«      «      ||¬«       y|dk(  r=t         | |d   d«      t        j                   | |d   d«      «      d|z  d|z  ¬«       y|\  }	}
t         | |d   |	«      t        j                  |
«      ||¬«       y)zVCheck that spline coefficients satisfy the continuity and boundary
        conditions.r   r   r   Nr   r   r}  ú
not-a-knotÚperiodic)r   r   )r   r   rM   rL   )r   r   )r   r‘   )r8   Úcr"   Údiffr0   r,   r/   r   r-   rñ   r‰   )ÚSÚbc_startÚbc_endÚtolr8   r£  ÚdxÚdxiÚslopeÚorderr7  s              rA   Úcheck_correctnessz!TestCubicSpline.check_correctnessŸ  sJ  € ð
 �C‰CˆØ�C‰CˆÜ�W‰W�Q‹ZˆØ�Z‰Z˜Ÿ™ !™˜¨¨¨q¯v©v¸©zÑ(:Ñ:Ó;ˆØ��"ˆgˆô 	˜˜!˜Q™R˜%™ ! A s¨ s F¡)¨c°1©fÑ"4°q¸¸C¸R¸C¸±yÀ3ÈÁ6Ñ7IÑ"IØ˜!˜S˜b˜S˜&™	 C™ñ#(Ø*+¨A¨s°¨s¨F©)ñ#4Ø:=ÀCõ	Iä˜˜!˜Q™R˜%™ ! a¨¨3¨B¨3¨¡i¡-°#°q±&Ñ"8Ø˜A˜a  " ˜f™I™¨Ñ+ñ#,Ø./°°3°B°3°©iñ#8Ø>AÈõ	Mä˜˜!˜Q™R˜%™ ! a¨¨3¨B¨3¨¡i¡-°#Ñ"5¸¸!¸S¸b¸S¸&¹	Ñ"AØ  sõ	,ð �6‰6�QŠ;˜8 |Ò3¸À,Ò8NÜ˜A˜a™D¤"§-¡-°°!±Ó"5¸CÀcÕJØð �zÒ!Ü™A˜a ™d A›J©¨!¨B©%°«¸#ÀCÕHÜ™A˜a ™d A›J©¨!¨B©%°«¸#ÀCÕHÜ™A˜a ™d A›J©¨!¨B©%°«¸#ÀCÕHØð �|Ò#Ø�v‰v˜Š{Ù˜1˜Q™4›¡1 Q q¡T£7Ñ*¨b°©eÑ3�ÜŸ
™
 5Ó)�Ü¡ ! A¡$¨£
¨E¸À#ÖFä  $¡¨¨4©°sÀÖEØ˜Ò"ÜÙ�!�A‘$˜“
œBŸM™M©!¨A¨a©D°!«*Ó5¸CÀcöKà˜Ò"ÜÙ�!�A‘$˜“
œBŸM™M©!¨A¨a©D°!«*Ó5¸CÀcöKð $‰LˆE�5Ü™A˜a ™d E›N¬B¯J©J°uÓ,=ÀCÈcÕRà�\Ò!Ø�v‰v˜Š{Ù˜1˜Q™4›¡1 Q q¡T£7Ñ*¨b°©eÑ3�ÜŸ
™
 5Ó)�Ü¡ ! A¡$¨£
¨E¸À#ÖFä  %¡¨!¨E©(¸À3ÖGØ�yÒ Ü™A˜a ™e Q›K¬¯©±q¸¸2¹À³{Ó)CØ!$¨3ö0à�yÒ Ü™A˜a ™e Q›K¬¯©±q¸¸2¹À³{Ó)CØ!" 3¡¨Q¨s©Uö4ð "‰LˆE�5Ü™A˜a ™e U›O¬R¯Z©Z¸Ó->ÀSÈsÖSrC   c           	      ó¢  — t        |j                  «      }||= t        j                  |«      }|j	                  d«       t        j                  |«      }|j	                  d«       dddd|fd|fg}|d d D ]$  }t        ||||¬«      }	| j                  |	||«       Œ& |D ]/  }
|D ](  }t        ||||
|f¬«      }	| j                  |	|
|d	¬
«       Œ* Œ1 y )Nr   r   r¡  rL   rM   r   r   ©r   rN   g›+¡†›„=©r¨  )r%   r,   r"   ÚemptyÚfillr   r­  )rs   r8   r:   r   r5   Úfirst_derivÚsecond_derivÚbc_allrS   r¥  r¦  r§  s               rA   Úcheck_all_bczTestCubicSpline.check_all_bcá  så   € Ü˜1Ÿ7™7“mˆØ˜ÐÜ—h‘h˜{Ó+ˆØ×Ñ˜ÔÜ—x‘x Ó,ˆØ×Ñ˜"ÔàØØØ�ÐØ�Ðð
ˆð ˜˜!“*ˆBÜ˜A˜q t°RÔ8ˆAØ×"Ñ" 1 b¨"Õ-ð ó ˆHÛ �Ü  1¨4¸(ÀFÐ9KÔL�Ø×&Ñ& q¨(°FÀÐ&ÕFñ !ñ rC   c                 ó�  — t        j                  g d¢«      }t        j                  g d¢«      }dd|j                  fD ]†  }| j                  |d | |d | d«       t        j                  d|df«      }|d | |dd d …df<   |d | dz
  |dd d …df<   |d | dz   |dd d …df<   |d | dz   |dd d …df<   | j                  |d | |d«       Œˆ y )N)r   r   r:  r   r   g      @g      @r�  )r   g      à¿r   r   g      @r   r   r:  r   r   r   r   )r"   r¦   r-   r¶  r±  )rs   r8   r:   rÉ   ÚYs        rA   Útest_generalzTestCubicSpline.test_generalø  sÞ   € Ü�H‰HÒ4Ó5ˆÜ�H‰HÒ4Ó5ˆØ�Q˜Ÿ™“ˆAØ×Ñ˜a  ˜e Q r¨ U¨AÔ.ä—‘˜!˜Q ˜Ó#ˆAØ˜2˜A˜ˆAˆa’�Aˆg‰JØ˜2˜A˜ ™ˆAˆa’�Aˆg‰JØ˜2˜A˜ ™ˆAˆa’�Aˆg‰JØ˜2˜A˜ ™ˆAˆa’�Aˆg‰JØ×Ñ˜a  ˜e Q¨Õ*ñ  rC   c                 ó¤  — dD ]Ë  }t        j                  ddt         j                  z  |«      }t        j                  |«      }t	        ||d¬«      }| j                  |dd«       t        j                  d|df«      }||dd d …df<   |dz   |dd d …df<   |dz
  |dd d …df<   |dz   |dd d …df<   t	        ||dd¬«      }| j                  |dd«       ŒÍ y )	N)r   r   rE   r   r   r¢  ©rN   r   rE   r¯  )r"   r—   r>  r=  r   r­  r±  )rs   rÉ   r8   r:   r¥  r¸  s         rA   Útest_periodiczTestCubicSpline.test_periodic  sÑ   € ÛˆAÜ—‘˜A˜q¤2§5¡5™y¨!Ó,ˆAÜ—‘�q“	ˆAÜ˜A˜q¨*Ô5ˆAØ×"Ñ" 1 j°*Ô=ä—‘˜!˜Q ˜Ó#ˆAØˆAˆa’�Aˆg‰JØ˜Q™ˆAˆa’�Aˆg‰JØ˜Q™ˆAˆa’�Aˆg‰JØ˜Q™ˆAˆa’�Aˆg‰JÜ˜A˜q q°*Ô=ˆAØ×"Ñ" 1 j°*Õ=ñ rC   c                 óL  — |j                  dd|j                  z  d|j                  ¬«      }|j                  |«      }t	        ||d¬«      }t         |d«       |dd|j                  z  z   «      d¬	«       t	        ||«      }t         ||«      |j                  |«      d¬	«       y )
Nr   r   r³   ©Údtyper¢  r»  r   r  )Údecimal)r—   r>  r<  r=  r   r   )rs   r`  r8   r:   r¥  s        rA   Útest_periodic_evalz"TestCubicSpline.test_periodic_eval  s„   € Ø�K‰K˜˜1˜rŸu™u™9 b°·
±
ˆKÓ;ˆØ�F‰F�1‹IˆÜ˜˜1 jÔ1ˆÜ™A˜a›D¡! A¨¨B¯E©E©	¡MÓ"2¸BÕ?ä˜˜1ÓˆÜ™A˜a›D "§&¡&¨£)°RÖ8rC   c                 ó¤   — t        j                  g d¢«      }t        j                  g d¢«      }t        ||dd¬«      }| j                  |dd«       y )N)rL  çÍÌÌÌÌÌô?gffffffþ?çÍÌÌÌÌÌ @çÍÌÌÌÌÌ@ç      @g333333@gš™™™™™@gÍÌÌÌÌÌ@g      @g      @g      @g       @gffffff"@g      %@gš™™™™™&@g333333'@g      (@g333333)@g      *@gš™™™™™*@)rÃ  g      ø?gš™™™™™ý?rÄ  rÅ  gš™™™™™@g333333@g333333@gffffff @rÄ  ç      @gffffff@rÇ  g333333ÿ?gffffffö?rL  gffffffæ?g333333ã?r:  gš™™™™™Ù?rÃ  r¢  )rN   Úextrapolate)r"   r¦   r   r­  ©rs   r8   r:   r¥  s       rA   Ú*test_second_derivative_continuity_gh_11758z:TestCubicSpline.test_second_derivative_continuity_gh_11758  sN   € ä�H‰Hò Oó Pˆä�H‰Hò Pó Qˆä˜˜1 j¸jÔIˆØ×Ñ˜q *¨jÕ9rC   c                 ó  — t        j                  g d¢«      }t        j                  g d¢«      }t        ||d¬«      }| j                  |dd«       t	         |j                  d«      |«      t        j                  g d¢«      «       y )N)rr  g      @rÆ  )rr  g      .@rr  r¢  r»  r   )ç      HÀrÌ  rÌ  )r"   r¦   r   r­  r   r^   rÉ  s       rA   Útest_three_pointsz!TestCubicSpline.test_three_points&  se   € ô �H‰HÒ%Ó&ˆÜ�H‰HÒ%Ó&ˆÜ˜˜1 jÔ1ˆØ×Ñ˜q *¨jÔ9Ü˜˜Ÿ™ Q›¨Ó*¬B¯H©HÒ5JÓ,KÕLrC   c                 ó®  — t        j                  g d¢«      }t        j                  ddgddgddgg«      }t        ||d¬«      }| j                  |dd«       t        ||d d …df   d¬«      }t        ||d d …df   d¬«      }t        j                  ddd	«      }t         ||«      d d …df    ||«      «       t         ||«      d d …df    ||«      «       y )
N)r|  rr  rÆ  r|  rr  r¢  r»  r   r   r   rE   )r"   r¦   r   r­  r—   r   )rs   r8   r:   r¥  ÚS0ÚS1Úqs          rA   Ú#test_periodic_three_points_multidimz3TestCubicSpline.test_periodic_three_points_multidim2  sÅ   € ô �H‰H’_Ó%ˆÜ�H‰H�s˜C�j 3¨ *¨s°C¨jÐ9Ó:ˆÜ˜˜1 jÔ1ˆØ×Ñ˜q *¨jÔ9Ü˜˜Aša ˜d™G¨ZÔ8ˆÜ˜˜Aša ˜d™G¨ZÔ8ˆÜ�K‰K˜˜1˜aÓ ˆÜ™˜!›šQ ˜T™
¡B q£EÔ*Ü™˜!›šQ ˜T™
¡B q£EÕ*rC   c                 óÖ  — t        j                  g d¢t        ¬«      }t        j                  g d¢t        ¬«      }t        ||«      }| j	                  |«       t        j                  g d¢«      }t        ||«      }| j	                  |«       t        ||dz  d¬«      }| j	                  |dd	«       t        j                  g d¢«      }t        ||d
dg¬«      }| j	                  |d
d«       y )N)r   r   r   r   r¾  )rÁ   r   r   r   )y      ð¿      ð?r|  y      ð?      ð¿y      à?      ø¿r   )rL   ©r   y               @r»  rL   rÔ  )r   y       @      à?)r   y      à?      ð¿)r"   r¦   Úintr   r­  rÉ  s       rA   Útest_dtypeszTestCubicSpline.test_dtypes?  s½   € Ü�H‰H’\¬Ô-ˆÜ�H‰H’]¬#Ô.ˆÜ˜˜1ÓˆØ×Ñ˜qÔ!ä�H‰HÒ1Ó2ˆÜ˜˜1ÓˆØ×Ñ˜qÔ!ä˜˜1 ™6Ð+?Ô@ˆØ×Ñ˜q )¨WÔ5ä�H‰H’]Ó#ˆÜ˜˜1 }°mÐ&DÔEˆØ×Ñ˜q -°Õ?rC   c                 óô   — t         j                  j                  d«      }t        j                  |j	                  d¬«      «      }d|j	                  d¬«      z   }t        ||«      }| j                  |d¬«       y )Nr   r’   )r-   g     ˆÃ@g‚vIhÂ%<=r°  )r"   r#   r$   rU  Úuniformr   r­  )rs   r7   r8   r:   r¥  s        rA   Útest_small_dxzTestCubicSpline.test_small_dxP  sc   € Ü�i‰i×#Ñ# AÓ&ˆÜ�G‰G�C—K‘K S�KÓ)Ó*ˆØ�#—+‘+ 3�+Ó'Ñ'ˆÜ˜˜1ÓˆØ×Ñ˜q eÐÕ,rC   c           
      ó*  — t        j                  g d¢«      }t        j                  g d¢«      }t        j                  g d¢«      }t        j                  t         j                  dddg«      }t        j                  g d¢«      }t        j                  t         j                  dddg«      }g d¢}dg}dg}	t        t        t
        ||«       t        t        t
        ||«       t        t        t
        ||«       t        t        t
        ||«       t        t        t
        ||«       t        t        t
        |d d …t         j                  f   |«       t        t        t
        ||	«       g d	¢}
|
D ]  }t        t        t
        ||d
|d«       Œ t         j                  ||f   }d}ddg d¢ff}ddd
d
ggff}t        t        t
        ||d
|d«       t        t        t
        ||d
|d«       t        t        t
        ||d
|d«       t        t        t
        ||d
dd«       y )Nr‡   )y      ð?      ð?r   r   r   r   r   r   )r   r   r   r   r˜  r   ))r¢  rM   ))r   r   )r   r³   )©r   r   )r|  r|  z
not-a-typor   T)rM   rÛ  rM   )r   r   r   r¢  )r"   r¦   ÚnanÚassert_raisesrM  r   ÚnewaxisÚc_)rs   r8   r:   ÚxcÚxnÚxoÚynÚy3r\  r^  Úwrong_bcrN   r¸  Úbc1Úbc2Úbc3s                   rA   Útest_incorrect_inputsz%TestCubicSpline.test_incorrect_inputsW  s¦  € Ü�H‰H’\Ó"ˆÜ�H‰H’\Ó"ˆÜ�X‰XÒ'Ó(ˆÜ�X‰X”r—v‘v˜q ! QÐ'Ó(ˆÜ�X‰X’lÓ#ˆÜ�X‰X”r—v‘v˜q ! QÐ'Ó(ˆÚˆØˆSˆØˆSˆä”j¤+¨r°1Ô5Ü”j¤+¨r°1Ô5Ü”j¤+¨q°"Ô5Ü”j¤+¨r°1Ô5Ü”j¤+¨q°"Ô5Ü”j¤+¨q²´B·J±J°Ñ/?ÀÔCÜ”j¤+¨r°2Ô6ò"ˆó  ˆGÜœ*¤k°1°a¸¸GÀTÕJð  ô �E‰E�!�Q�$‰KˆØ!ˆØ˜1ši˜.Ð)ˆØ˜1  1˜v˜h˜-Ð(ˆÜ”j¤+¨q°!°Q¸¸TÔBÜ”j¤+¨q°!°Q¸¸TÔBÜ”j¤+¨q°!°Q¸¸TÔBô 	”j¤+¨q°!°Q¸
ÀDÕIrC   N)r¡  r¡  rs  )rt   ru   rv   Ústaticmethodr­  r¶  r¹  r¼  rÁ  rÊ  rÍ  rÒ  rÖ  rÙ  ré  r    rC   rA   rŸ  rŸ  �  sS   „ àØ;GØ#ò?Tó ð?TòBGò.+ò>ò9ò:ò
Mò+ò@ò"-ó&JrC   rŸ  c                 óê   — | j                  g d¢«      }| j                  g d¢«      }| j                  g d¢«      }t        |||«      }t         ||«      |ddd¬«       t         ||d«      |ddd¬«       y )N)r   r   r£   )r   r   r   )r   r   r£   Frö   )rB   Úcheck_dtypert  r   )r‰   r   r   )r`  r8   r:   r<   r9   s        rA   Ú#test_CubicHermiteSpline_correctnessrí  €  sd   € à
�
‰
’9Ó€AØ
�
‰
’:Ó€AØ�:‰:’iÓ €DÜ˜1˜a Ó&€AÜ‘A�a“D˜!¨¸EÈÕNÜ‘A�a˜“G˜T¨uÀ%ÈeÖTrC   c                  óž   — g d¢} g d¢}g d¢}t        t        t        | ||«       ddt        j                  g}t        t        t        | ||«       y )Nr˜  )r   r   rE   )r   r   r   r   r   r   )rÝ  rM  r   r"   rÜ  )r8   r:   r<   Údydx_with_nans       rA   Ú&test_CubicHermiteSpline_error_handlingrð  Š  sB   € Ú€AÚ€AÚ€DÜ”*Ô0°!°Q¸Ô=à˜œ2Ÿ6™6�N€MÜ”*Ô0°!°Q¸ÕFrC   c                  ó*  — t        j                  ddg«      } t        j                  ddg«      }t        j                  ddg«      }t        | ||«      }|j                  d¬«      }|j                  j
                  d	   d	k(  sJ ‚|j                  d
k(  sJ ‚y )Ngü©ñÒMbP?gü©ñÒMb`?g˜‡�B…Ü»>gdJ©†²>gƒ½ª/"œù¿g³%«"œù¿T)rÈ  r   r   )r"   r¦   r   r›  r£  r,   r-   )r8   r:   ÚdyrŠ   r¶   s        rA   Útest_roots_extrapolate_gh_11185ró  ”  s„   € Ü
�‰�%˜�Ó €AÜ
�‰�. .Ð1Ó2€AÜ	�‰�; 	Ð*Ó	+€BÜ˜1˜a Ó$€Að 	
�‰˜DˆÓ!€AØ�3‰3�9‰9�Q‰<˜1ÒÐÐØ�6‰6�QŠ;Ð‰;rC   c                   óf  — e Zd Zej                  j                  d ej                  d«       ej                  d«      g«      ej                  j                  dg d¢«      ej                  j                  dg d¢«      ej                  j                  dee	g«      d	„ «       «       «       «       Z
ej                  j                  d ej                  d«       ej                  d«      g«      ej                  j                  dg d¢«      ej                  j                  deeg«      d
„ «       «       «       Zy)ÚTestZeroSizeArraysr:   )r³   r   rE   )r³   rE   r   rN   )r¡  r¢  rL   rM   r   rÏ   Úclsc                 ó   — t        j                  d«      }t        j                  d«      } ||||¬«      } ||«      j                  dk(  sJ ‚ ||«      j                  |j                  |j                  dd  z   k(  sJ ‚t        j                  |d|«      } |||||¬«      }|j                  d | |j                  fz   |j                  |dz   d  z   }	 ||«      j                  dk(  sJ ‚ ||«      j                  |	k(  sJ ‚y )Nr³   r   r»  r   r   )rN   r   ©r"   rß   r-   r,   Úmoveaxis)
rs   rö  r:   rN   r   r8   ÚxvalÚobjÚytÚshs
             rA   Útest_zero_sizez!TestZeroSizeArrays.test_zero_size¨  sé   € ô �I‰I�b‹MˆÜ�y‰y˜‹|ˆá�!�Q Ô(ˆÙ�4‹y�~‰~ Ò"Ð"Ð"Ù�4‹y�‰ $§*¡*¨q¯w©w°q°r¨{Ñ":Ò:Ð:Ð:ô �[‰[˜˜A˜tÓ$ˆá�!�R ¨tÔ4ˆØ�X‰X�e�tˆ_ §	¡	˜}Ñ,¨r¯x©x¸¸Q¹¸Ð/@Ñ@ˆÙ�4‹y�~‰~ Ò"Ð"Ð"Ù�4‹y�‰ "Ò$Ð$Ñ$rC   c                 óú  — t        j                  d«      }t        j                  d«      } |||«      } ||«      j                  dk(  sJ ‚ ||«      j                  |j                  |j                  dd  z   k(  sJ ‚t        j                  |d|«      } ||||¬«      }|j                  d | |j                  fz   |j                  |dz   d  z   } ||«      j                  dk(  sJ ‚ ||«      j                  |k(  sJ ‚y )Nr³   r   r   r   rI   rø  )	rs   rö  r:   r   r8   rú  rû  rü  rý  s	            rA   Útest_zero_size_2z#TestZeroSizeArrays.test_zero_size_2¾  sä   € ô
 �I‰I�b‹MˆÜ�y‰y˜‹|ˆá�!�Q‹iˆÙ�4‹y�~‰~ Ò"Ð"Ð"Ù�4‹y�‰ $§*¡*¨q¯w©w°q°r¨{Ñ":Ò:Ð:Ð:ô �[‰[˜˜A˜tÓ$ˆá�!�R˜dÔ#ˆØ�X‰X�e�tˆ_ §	¡	˜}Ñ,¨r¯x©x¸¸Q¹¸Ð/@Ñ@ˆÙ�4‹y�~‰~ Ò"Ð"Ð"Ù�4‹y�‰ "Ò$Ð$Ñ$rC   N)rt   ru   rv   r  ÚmarkÚparametrizer"   r+   r   r   rþ  r   r   r   r    rC   rA   rõ  rõ  ¡  s  „ ð ‡[�[×Ñ˜S 8 2§8¡8¨JÓ#7Ø#+ 2§8¡8¨JÓ#7ð#9ó :à‡[�[×Ñ˜YÚMóOà‡[�[×Ñ˜V¢YÓ/Ø‡[�[×Ñ˜UÐ%7¸Ð$EÓFñ%ó Gó 0óOó:ð%ð  ‡[�[×Ñ˜S 8 2§8¡8¨JÓ#7Ø#+ 2§8¡8¨JÓ#7ð#9ó :à‡[�[×Ñ˜V¢YÓ/Ø‡[�[×Ñ˜UÐ%6Ð8KÐ$LÓMñ%ó Nó 0ó:ñ%rC   rõ  )Nr   N).r‘  r  Únumpyr"   Úscipy._lib._array_apir   r   r   r   r   r  r   rÝ  Úscipy.interpolater	   r
   r   r   r   r   r   r   r   r   r   r   Úscipy._lib._testutilsr   r  Úskip_xp_backendsÚxfail_xp_backendsrB   rO   rU   r[   r…   r‹   r�   r  r  rS  rŸ  rí  rð  ró  rõ  r    rC   rA   Ú<module>r	     s  ðÛ Û 	Û ÷õ õ +Û ÷÷ ÷ ó õ :à—;‘;×/Ñ/Ð Ø—K‘K×1Ñ1Ð ð LMØó&òR 
%€òGò"Iò26òj/÷h2ñ h2÷V$ñ $÷C2ñ C2÷L|.ñ |.ñ~ �;Ó÷_Jð _Jó  ð_JñD Ð%Ó&ñUó 'ðUòGò
÷/%ò /%rC   