Ë
    âQ(h°‘  ã                   óB  — 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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„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$ G d„ d«      Z%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)Ú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                   úb/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/scipy/interpolate/tests/test_polyint.pyÚcheck_shaperA      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   ©r7   r9   r   s      r@   Ú
spl_interpztest_shapes.<locals>.spl_interpB   s   € Ü! ! Q¨TÔ2Ð2rB   )ÚnaturalÚclampedÚbc_type)
r   r
   r   r   r   r   ÚSHAPESr%   r&   rA   )rJ   ÚipÚs1Ús2r   ÚbcÚextras          r@   Útest_shapesrT   @   s¸   € ò3ô !Ô"9Ô;MÜÔ)¬;¸
ðDò 
Gˆäò 	GˆBÜò G�Ü!¤3 r£7 (¬C°«GÓ4ò G�DØœ[Ò(Ü# B¨¨B°°dÕ;à"8ò G˜BØ%.° O˜EÜ'¨¨B°°D¸$ÀÕFñGñ	GñGñ	Gñ
GrB   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)r7   r9   r   rO   s      €r@   Úinterpolator_derivsz/test_derivs_shapes.<locals>.interpolator_derivsS   s   ø€ Ù�a˜˜D“>×-Ñ-Ð-rB   r   rC   )r   r
   rN   r%   r&   rA   )rY   rP   rQ   r   rO   s       @r@   Útest_derivs_shapesrZ   Q   sv   ø€ Ü Ô"9Ð:ò Iˆõ	.ô ò 	IˆBÜò I�Ü!¤3 r£7 (¬C°«GÓ4ò I�DÜÐ 3°R¸¸TÀ4ÕHñIñIñ	Iñ	IrB   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 rW   )r   Ú
derivativerI   s      r@   Úkrogh_derivz&test_deriv_shapes.<locals>.krogh_deriv]   s   € Ü   A tÓ,×7Ñ7Ð7rB   c                 ó0   — t        | ||«      j                  S rW   )r
   r]   rI   s      r@   Ú
bary_derivz%test_deriv_shapes.<locals>.bary_deriv`   s   € Ü& q¨!¨TÓ2×=Ñ=Ð=rB   c                 ó8   — t        | ||«      j                  «       S rW   ©r   r]   rI   s      r@   Úpchip_derivz&test_deriv_shapes.<locals>.pchip_derivc   s   € Ü�Q˜˜4Ó ×+Ñ+Ó-Ð-rB   c                 ó:   — t        | ||«      j                  d«      S ©Nr   rb   rI   s      r@   Úpchip_deriv2z'test_deriv_shapes.<locals>.pchip_deriv2f   s   € Ü�Q˜˜4Ó ×+Ñ+¨AÓ.Ð.rB   c                 ó8   — t        | ||«      j                  «       S rW   ©r   ÚantiderivativerI   s      r@   Úpchip_antiderivz*test_deriv_shapes.<locals>.pchip_antiderivi   s   € Ü�Q˜˜4Ó ×/Ñ/Ó1Ð1rB   c                 ó:   — t        | ||«      j                  d«      S re   rh   rI   s      r@   Úpchip_antideriv2z+test_deriv_shapes.<locals>.pchip_antideriv2l   s   € Ü�Q˜˜4Ó ×/Ñ/°Ó2Ð2rB   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__)Úselfr7   s     r@   rq   zBtest_deriv_shapes.<locals>.pchip_deriv_inplace.<locals>.P.__call__q   s   € Ü(×1Ñ1°$¸¸1Ó=Ð=rB   N)Ú__name__Ú
__module__Ú__qualname__rq   r   rB   r@   ÚPro   p   s
   „ ò>àrB   rv   )r   )r7   r9   r   rv   s       r@   Úpchip_deriv_inplacez.test_deriv_shapes.<locals>.pchip_deriv_inplaceo   s   € ô	Ô!ô 	ñ ��A�t‹}ÐrB   c                 ó8   — t        | ||«      j                  «       S rW   )r   r]   rI   s      r@   Úakima_derivz&test_deriv_shapes.<locals>.akima_derivv   s   € Ü" 1 a¨Ó.×9Ñ9Ó;Ð;rB   c                 ó8   — t        | ||«      j                  «       S rW   )r   ri   rI   s      r@   Úakima_antiderivz*test_deriv_shapes.<locals>.akima_antiderivy   s   € Ü" 1 a¨Ó.×=Ñ=Ó?Ð?rB   c                 ó8   — t        | ||«      j                  «       S rW   )r   r]   rI   s      r@   Úcspline_derivz(test_deriv_shapes.<locals>.cspline_deriv|   s   € Ü˜1˜a Ó&×1Ñ1Ó3Ð3rB   c                 ó8   — t        | ||«      j                  «       S rW   )r   ri   rI   s      r@   Úcspline_antiderivz,test_deriv_shapes.<locals>.cspline_antideriv   s   € Ü˜1˜a Ó&×5Ñ5Ó7Ð7rB   c                 ó:   — t        | ||¬«      j                  «       S rG   )r   r]   rI   s      r@   Ú
bspl_derivz%test_deriv_shapes.<locals>.bspl_deriv‚   s   € Ü! ! Q¨TÔ2×=Ñ=Ó?Ð?rB   c                 ó:   — t        | ||¬«      j                  «       S rG   )r   ri   rI   s      r@   Úbspl_antiderivz)test_deriv_shapes.<locals>.bspl_antideriv…   s   € Ü! ! Q¨TÔ2×AÑAÓCÐCrB   r   rC   )rN   r%   r&   rA   )r^   r`   rc   rf   rj   rl   rw   ry   r{   r}   r   r�   rƒ   rO   rP   rQ   r   s                    r@   Útest_deriv_shapesr„   \   sÊ   € ó8ó>ó.ó/ó2ó3óó<ó@ó4ó8ó@óDð ˜J¨°\ÐCVØÐ 0°+¸ØÐ/°¸^ðMò 6ˆô ò 	6ˆBÜò 6�Ü!¤3 r£7 (¬C°«GÓ4ò 6�DÜ  B¨¨B°Õ5ñ6ñ6ñ	6ñ6rB   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   )r7   r9   rO   Úpr;   s        r@   Útest_complexrŠ   ‘   sˆ   € Ú€AÚ€Aä Ô"9¼;ÐGò -ˆÙˆq�!‹HˆÜ™˜!›œbŸj™j¨›mÕ,ð-ò €DÜ˜1˜a Ó&€AÜ‘A�a“Dœ"Ÿ*™* Q›-Ô(Ü‘A�a˜“GœRŸZ™Z¨Ó-Õ.rB   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ej0                  j2                  d„ «       Zej0                  j2                  d„ «       Zy)Ú	TestKroghc                 ó   — t         j                  j                  g d¢«      | _        t        j                  ddd«      | _        t        j                  ddd«      | _        | j                  | j                  «      | _        y ©N)éüÿÿÿrD   r   r   éþÿÿÿr   r   éd   rD   ©r!   Ú
polynomialÚ
PolynomialÚ	true_polyÚlinspaceÚtest_xsÚxsÚys©rr   s    r@   Úsetup_methodzTestKrogh.setup_method    sU   € ÜŸ™×1Ñ1Ò2CÓDˆŒÜ—{‘{ 2 a¨Ó,ˆŒÜ—+‘+˜b  1Ó%ˆŒØ—.‘. §¡Ó)ˆ�rB   c                 ó®   — t        | j                  | j                  «      }t        | j	                  | j
                  «       || j
                  «      «       y rW   ©r   r˜   r™   r   r•   r—   ©rr   rv   s     r@   Útest_lagrangezTestKrogh.test_lagrange¦   ó5   € Ü˜dŸg™g d§g¡gÓ.ˆÜ˜DŸN™N¨4¯<©<Ó8¹¸4¿<¹<»ÕIrB   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     r@   Ú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ÖXrB   c                 ó$  — t        | j                  | j                  «      }|j                  | j                  «      }t        |j                  d   «      D ]:  }t         | j                  j                  |«      | j                  «      ||   «       Œ< y ©Nr   )
r   r˜   r™   rX   r—   r%   r+   r   r•   Úderiv©rr   rv   ÚDÚis       r@   Útest_derivativeszTestKrogh.test_derivatives¯   sp   € Ü˜dŸg™g d§g¡gÓ.ˆØ�M‰M˜$Ÿ,™,Ó'ˆÜ�q—w‘w˜q‘zÓ"ò 	&ˆAÜÐ 7 §¡× 4Ñ 4°QÓ 7¸¿¹Ó EØ ! !¡õ&ñ	&rB   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™   rX   r—   r&   r%   r+   r   r•   r©   rª   s       r@   Útest_low_derivativeszTestKrogh.test_low_derivatives¶   s~   € Ü˜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Ø ! !¡õ&ñ	&rB   c                 óò   — t        | j                  | j                  «      }d}|j                  | j                  |«      }t        |«      D ]+  }t        |j                  | j                  |«      ||   «       Œ- y ©Né
   )r   r˜   r™   rX   r—   r%   r   r]   ©rr   rv   ÚmÚrr¬   s        r@   Útest_derivativezTestKrogh.test_derivative½   sa   € Ü˜dŸg™g d§g¡gÓ.ˆØˆØ�M‰M˜$Ÿ,™, qÓ)ˆÜ�q“ò 	CˆAÜ §¡¨T¯\©\¸!Ó <¸Q¸q¹TÕBñ	CrB   c           	      óP  — t        | j                  | j                  «      }t        t	        | j                  «      dt	        | j                  «      z  «      D ]N  }t        |j                  | j                  |«      t        j                  t	        | j                  «      «      «       ŒP y re   )
r   r˜   r™   r%   r&   r   r]   r—   r!   r*   ©rr   rv   r¬   s      r@   Útest_high_derivativezTestKrogh.test_high_derivativeÄ   sn   € Ü˜dŸg™g d§g¡gÓ.ˆÜ”s˜4Ÿ7™7“| Q¤s¨4¯7©7£|¡^Ó4ò 	=ˆAÜ §¡¨T¯\©\¸!Ó <Ü "§¡¬¨T¯\©\Ó):Ó ;õ=ñ	=rB   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�   rD   r   r   ©é   éýÿÿÿr   éûÿÿÿr   r   rH   r   )r•   r!   r“   r”   Ústackr˜   r   rX   r—   r%   r+   r   r©   ©rr   Úpoly1Úpoly2Úpoly3r™   rv   r«   r¬   s           r@   Ú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ð +-ô.õ/ñ	/rB   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©   ©rr   rÃ   rÄ   rÅ   r™   rv   r¬   s          r@   Ú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ð +-ô.õ/ñ	/rB   c                 ó®   — t        | j                  | j                  «      }t        | j	                  | j
                  «       || j
                  «      «       y rW   r�   rž   s     r@   Útest_hermitezTestKrogh.test_hermiteç   r    rB   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ˆ   ÚTrX   r)   )rr   r˜   r™   rv   r¬   ÚPir—   r‰   s           r@   Útest_vectorzTestKrogh.test_vectorë   sö   € ÚˆÜ�X‰X˜˜!�u˜a ˜U A a 5Ð)Ó*ˆÜ˜b Ó$ˆÜ5:¸2¿8¹8ÀA¹;Ó5GÖH°Ô  2¢a¨ c¡7Õ+ÐHˆÐHÜ—+‘+˜b  3Ó'ˆÜ™A˜g›JÜŸJ™J¸BÖ'?°q©¨'­
Ò'?Ó@×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 rW   )r   r˜   r™   r   r!   rˆ   rž   s     r@   Ú
test_emptyzTestKrogh.test_empty÷   s,   € Ü˜dŸg™g d§g¡gÓ.ˆÜ™˜"›œrŸz™z¨"›~Õ.rB   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     r@   Ú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Ò)Ð)Ñ)rB   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+   rX   r¥   ©rr   rv   rÈ   s      r@   Ú"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Ñ8rB   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     r@   Ú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Ò,Ð,Ñ,rB   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     r@   Ú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Ò+Ð+Ñ+rB   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+   rX   rÙ   s      r@   Ú"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¸°Ò:Ð:Ñ:rB   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]   rX   )rr   rv   Úkis      r@   Ú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rB   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)rr   r7   Ú
offset_cdfÚfs       r@   Útest_int_inputszTestKrogh.test_int_inputs&  sa   € òˆä—X‘Xò ?ó @ˆ
ô ˜a Ó,ˆäœ™Q˜q›T JÑ.°!·,±,¸qÀ!Ó2DÑDÓEÜŸ™ jÓ1¸ö	?rB   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   rX   ÚrealÚimagr   )rr   r7   r9   ÚfuncÚcmplxÚcmplx2s         r@   Útest_derivatives_complexz"TestKrogh.test_derivatives_complex3  s‡   € ä�x‰xÒ)Ó*¬B¯H©HÒ5KÓ,Lˆ1ˆÜ   AÓ&ˆØ× Ñ  Ó#ˆä# A q§v¡vÓ.×:Ñ:¸1Ó=ØÔ& q¨!¯&©&Ó1×=Ñ=¸aÓ@Ñ@ñAˆä˜˜v¨EÖ2rB   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    r@   Útest_high_degree_warningz"TestKrogh.test_high_degree_warning=  s@   € ä�\‰\œ+Ð-CÔDñ 	:ÜœbŸi™i¨›m¬R¯W©W°R«[Ô9÷	:÷ 	:ñ 	:ús   œ3AÁA!c                 ój   ‡ — t        ‰ j                  ‰ j                  «      }ˆ fd„}t        d||«       y )Nc                 ó*   •—  |‰j                   «       y rW   ©r˜   ©Ú_Úinterprr   s     €r@   Ú	worker_fnz-TestKrogh.test_concurrency.<locals>.worker_fnF  ó   ø€ Ù�4—7‘7�OrB   r²   )r   r˜   r™   r   ©rr   rv   r  s   `  r@   Útest_concurrencyzTestKrogh.test_concurrencyB  s*   ø€ ä˜dŸg™g t§w¡wÓ/ˆô	ô 	   I¨qÕ1rB   N)rs   rt   ru   r›   rŸ   r¦   r­   r¯   r¶   r¹   rÆ   rÊ   rÌ   rÑ   rÓ   rÖ   rÚ   rß   râ   rå   rê   ró   rû   r   ÚmarkÚthread_unsafer  r  r   rB   r@   rŒ   rŒ   Ÿ   s§   „ ò*òJòYò
&ò&òCò=ò/ò/òJò
ò/ò*ò9ò-ò,ò;òLò?ò3ð ‡[�[×Ññ:ó ð:ð ‡[�[×Ññ2ó ñ2rB   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 )NrD   r   r   é   )r   r!   Úexpr%   r   r©   )rr   Údegreer‰   r¬   s       r@   Útest_exponentialzTestTaylor.test_exponentialM  s]   € ØˆÜ)¬"¯&©&°!°V¸QÀÓCˆÜ�v˜a‘x“ò 	ˆAÜ¡ !£ QÔ'Ø—‘“	‰Að	ô 	™A˜a›D Õ#rB   N)rs   rt   ru   r  r   rB   r@   r  r  L  s   „ ó$rB   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ej2                  j4                  d„ «       Zej2                  j4                  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    r@   r›   zTestBarycentric.setup_methodW  sU   € ÜŸ™×1Ñ1Ò2CÓDˆŒÜ—{‘{ 2 q¨#Ó.ˆŒÜ—+‘+˜b ! QÓ'ˆŒØ—.‘. §¡Ó)ˆ�rB   c                 ó²   — t        | j                  | j                  d¬«      }t         || j                  «      | j                  | j                  «      «       y )Nr   )Úrandom_state)r
   r˜   r™   r   r—   r•   rž   s     r@   rŸ   zTestBarycentric.test_lagrange]  s7   € ä# D§G¡G¨T¯W©WÀ1ÔEˆÜ™˜$Ÿ,™,›¨¯©¸¿¹Ó)EÕFrB   c                 ó   — t        | j                  | j                  d¬«      }t         |d«      | j	                  d«      d¬«       t         |t        j                  d«      «      | j	                  t        j                  d«      «      d¬«       y )Nr   ©r6   r¢   Fr£   )r
   r˜   r™   r   r•   r!   r¥   rž   s     r@   r¦   zTestBarycentric.test_scalarb  sZ   € Ü# D§G¡G¨T¯W©W¸!Ô<ˆÜ™˜!›˜dŸn™n¨QÓ/¸%Õ@Ü™œ"Ÿ(™( 1›+›¨¯©´r·x±xÀ³{Ó(CÈeÖTrB   c                 ó$  — t        | j                  | j                  «      }|j                  | j                  «      }t        |j                  d   «      D ]:  }t         | j                  j                  |«      | j                  «      ||   «       Œ< y r¨   )
r
   r˜   r™   rX   r—   r%   r+   r   r•   r©   rª   s       r@   r­   z TestBarycentric.test_derivativesg  so   € Ü# D§G¡G¨T¯W©WÓ5ˆØ�M‰M˜$Ÿ,™,Ó'ˆÜ�q—w‘w˜q‘zÓ"ò 	IˆAÜÐ3˜DŸN™N×0Ñ0°Ó3°D·L±LÓAÀ1ÀQÁ4ÕHñ	IrB   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™   rX   r—   r&   r%   r+   r   r•   r©   rª   s       r@   r¯   z$TestBarycentric.test_low_derivativesm  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Ø!&ö(ñ	(rB   c                 óò   — t        | j                  | j                  «      }d}|j                  | j                  |«      }t        |«      D ]+  }t        |j                  | j                  |«      ||   «       Œ- y r±   )r
   r˜   r™   rX   r—   r%   r   r]   r³   s        r@   r¶   zTestBarycentric.test_derivativeu  sa   € Ü# D§G¡G¨T¯W©WÓ5ˆØˆØ�M‰M˜$Ÿ,™,¨Ó*ˆÜ�q“ò 	AˆAÜ˜AŸL™L¨¯©°qÓ9¸1¸Q¹4Õ@ñ	ArB   c           	      óP  — t        | j                  | j                  «      }t        t	        | j                  «      dt	        | j                  «      z  «      D ]N  }t        |j                  | j                  |«      t        j                  t	        | j                  «      «      «       ŒP y )NrD   )
r
   r˜   r™   r%   r&   r   r]   r—   r!   r*   r¸   s      r@   r¹   z$TestBarycentric.test_high_derivative|  sn   € Ü# D§G¡G¨T¯W©WÓ5ˆÜ”s˜4Ÿ7™7“| Q¤s¨4¯7©7£|¡^Ó4ò 	9ˆAÜ˜AŸL™L¨¯©°qÓ9ÜŸH™H¤S¨¯©Ó%6Ó7õ9ñ	9rB   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   rH   r   r!  rí   )r•   r!   r“   r”   rÁ   r˜   r
   rX   r—   r%   r+   r   r©   rÂ   s           r@   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ð +-ô.ð "'ö(ñ	(rB   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          r@   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ð +-ô.ð "'ö(ñ	(rB   c                 óÎ   — t        | j                  «      }|j                  | j                  «       t	        | j                  | j                  «       || j                  «      «       y rW   )r
   r˜   Úset_yir™   r   r•   r—   rž   s     r@   Útest_delayedzTestBarycentric.test_delayed¡  s?   € Ü# D§G¡GÓ,ˆØ	�‰�—‘ÔÜ˜DŸN™N¨4¯<©<Ó8¹!¸D¿L¹L»/ÕJrB   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     r@   Ú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»/ÕJrB   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Ï   )	rr   r˜   r™   ÚBIrv   r¬   rÐ   r—   r‰   s	            r@   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Ö'?°q©¨'­
Ò'?Ó@×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     r@   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Ò*Ð*Ñ*rB   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+   rX   r¥   rÙ   s      r@   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Ñ6rB   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     r@   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Ò,Ð,Ñ,rB   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     r@   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Ò,Ð,Ñ,rB   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+   rX   rÙ   s      r@   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¸°)Ò;Ð;Ñ;rB   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è   r6   r   )r
   r˜   r™   r   r   r—   r]   rX   )rr   rv   Úbis      r@   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rB   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ˆ   )rr   r7   r9   Úvalues       r@   Útest_int_inputzTestBarycentric.test_int_inputà  sG   € Ø”2—9‘9˜Q Ó#Ñ#ˆÜ�I‰I�a˜ÓˆÜ'¨¨1¨jÓ9ˆÜ˜E¤2§:¡:¨c£?Õ3rB   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   )rr   rÈ   Újr7   Úwrv   Úfactors          r@   Ú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Ñ/°Õ3rB   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)rr   rv   r<   s      r@   Útest_warningzTestBarycentric.test_warningÿ  s\   € ô $ 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
   )rr   Úxisr™   s      r@   Útest_repeated_nodez"TestBarycentric.test_repeated_node
  sR   € ô �h‰hÒ+Ó,ˆÜ�X‰X’lÓ#ˆÜ�]‰]œ:Ø!LôNñ 	-ä# C¨Ô,÷	-÷ 	-ñ 	-ús   Á
A Á A)c                 ój   ‡ — t        ‰ j                  ‰ j                  «      }ˆ fd„}t        d||«       y )Nc                 ó*   •—  |‰j                   «       y rW   r  r  s     €r@   r  z3TestBarycentric.test_concurrency.<locals>.worker_fn  r  rB   r²   )r
   r˜   r™   r   r  s   `  r@   r  z TestBarycentric.test_concurrency  s*   ø€ ä# D§G¡G¨T¯W©WÓ5ˆô	ô 	   I¨qÕ1rB   N)rs   rt   ru   r›   rŸ   r¦   r­   r¯   r¶   r¹   rÆ   rÊ   r)  r,  rÑ   rÖ   rÚ   rß   râ   rå   rê   r9  rD  rJ  r   r  r  rP  r  r   rB   r@   r  r  V  s¯   „ ò*òGò
Uò
Iò(òAò9ò(ò (òKò
Kò
Dò+ò7ò-ò-ò<òOò4ò4ò2	.ð ‡[�[×Ññ-ó ð-ð ‡[�[×Ññ2ó ñ2rB   r  c                   ó|   — e Zd Zdd„Zd„ Zd„ Zd„ Zd„ Zd„ Ze	j                  j                  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   )rr   Únptsr6   r:   r<   s        r@   Ú_make_randomzTestPCHIP._make_random  sN   € Ü�i‰i×#Ñ# DÓ)ˆÜ�W‰W�S—Z‘Z Ó%Ó&ˆØ�Z‰Z˜ÓˆÜ�R˜‹}˜b "Ð$Ð$rB   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õ   ©rX  r%   r&   r!   r–   Úall©rr   r‰   r:   r<   r¬   Úx1Úx2Úy1Úy2ÚxpÚyps              r@   Útest_overshootzTestPCHIP.test_overshoot%  s²   € à×%Ñ%Ó'‰	ˆˆ2ˆrÜ”s˜2“w˜q‘yÓ!ò 	Cˆ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ñ	CrB   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   rZ  r\  s              r@   Ú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Õ:Ð:Ð:ñ	;rB   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‘   )
éßÿÿÿrm  iíÿÿÿr�   r¾   é   é&   é-   é5   é7   r‘   r   r   ç      ð?ç›+¡†›„=)rî   Úrtol)r!   r¥   rÞ   r   r   )rr   ÚdataÚxxÚcurveÚdata1Úcurve1s         r@   Ú	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¸Ö>rB   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
?©ru  rî   )r!   ÚloadtxtÚioÚStringIOr   r   )rr   ÚdataStrrv  ÚpchÚ	resultStrÚresults         r@   Ú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ÖJrB   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}  rL  g      Ð?gffffffÖ?)çš™™™™uq@g     @@ç     @�@ç     ˆ£@)rˆ  rŠ  g     p—@r‰  r   r   r   )r!   r¥   r   )rr   r7   r_  r`  ÚppÚts         r@   Útest_endslopeszTestPCHIP.test_endslopesj  s~   € ô �H‰HÒ+Ó,ˆÜ�X‰XÒ3Ó4ˆÜ�X‰XÒ4Ó5ˆÜ˜˜B“<¤ q¨"£Ð.ò 	%ˆBØ˜‘d˜A˜b™E�]ò %�Ù˜!˜Q“x 1“}Ð$�}ñ%ñ	%rB   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–   r[  )rr   r7   r9   rƒ  rw  s        r@   Ú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   r7  r   rõ   rí   )r!   r–   r   r   )rr   r7   r‰   s      r@   Útest_two_pointszTestPCHIP.test_two_points�  s>   € ô
 �K‰K˜˜1˜bÓ!ˆÜ�1�a�&˜1˜a˜&Ó!ˆÜ™˜!›˜a ™c¨Ö.rB   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   rD   r   r;  r   rç   rs  r   g      @)r   r   r!   rˆ   rš   s    r@   Ú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�|Ó$õ	&rB   c                 ó„   — t        ddgddg«      }|j                  «       }t        |t        j                  dg«      «       y )Nr   r   r   r;  )r   Úrootsr   r!   rˆ   )rr   r‰   rµ   s      r@   Ú
test_rootszTestPCHIP.test_roots—  s6   € ä�1�a�&˜2˜q˜'Ó"ˆØ�G‰G‹IˆÜ˜œ2Ÿ:™: s eÓ,Õ-rB   N)é   )rs   rt   ru   rX  rc  re  r{  r†  r�  r   r  r  r•  r—  rš  r�  r   rB   r@   rT  rT    sP   „ ó%ò
Cò;ò
?ò!KòF%ð ‡[�[×Ññ
"ó ð
"ò/ò&ó.rB   rT  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   rL   rK   )r   r   )r   r�   )r7   Úcr!   Údiffr/   r+   r.   r   r,   rð   rˆ   )ÚSÚbc_startÚbc_endÚtolr7   r¤  ÚdxÚdxiÚslopeÚorderr8  s              r@   Ú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ÖSrB   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¢  rK   rL   r   r   ©r   rM   g›+¡†›„=©r©  )r$   r+   r!   ÚemptyÚfillr   r®  )rr   r7   r9   r   r4   Úfirst_derivÚsecond_derivÚbc_allrR   r¦  r§  r¨  s               r@   Ú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¨"Õ-ð	.ð ò 	GˆHØ ò G�Ü  1¨4¸(ÀFÐ9KÔL�Ø×&Ñ& q¨(°FÀÐ&ÕFñGñ	GrB   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²  )rr   r7   r9   rÈ   ÚYs        r@   Ú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¨Õ*ñ	+rB   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   rD   r   r   r£  ©rM   r   rD   r°  )r!   r–   r?  r>  r   r®  r²  )rr   rÈ   r7   r9   r¦  r¹  s         r@   Ú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°*Õ=ñ	>rB   c                 óö   — t        j                  ddt         j                  z  d«      }t        j                  |«      }t	        ||d¬«      }t         |d«       |ddt         j                  z  z   «      d¬«       y )	Nr   r   r²   r£  r¼  r   r  )Údecimal)r!   r–   r?  r>  r   r   ©rr   r7   r9   r¦  s       r@   Útest_periodic_evalz"TestCubicSpline.test_periodic_eval  sX   € Ü�K‰K˜˜1œrŸu™u™9 bÓ)ˆÜ�F‰F�1‹IˆÜ˜˜1 jÔ1ˆÜ™A˜a›D¡! A¨¬B¯E©E©	¡MÓ"2¸BÖ?rB   c                 ó¤   — t        j                  g d¢«      }t        j                  g d¢«      }t        ||dd¬«      }| j                  |dd«       y )N)rM  çÍÌÌÌÌÌô?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ö?rM  gffffffæ?g333333ã?r;  gš™™™™™Ù?rÃ  r£  )rM   Úextrapolate)r!   r¥   r   r®  rÀ  s       r@   Ú*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Õ9rB   c                 ó  — t        j                  g d¢«      }t        j                  g d¢«      }t        ||d¬«      }| j                  |dd«       t	         |j                  d«      |«      t        j                  g d¢«      «       y )N)rs  g      @rÆ  )rs  g      .@rs  r£  r¼  r   )ç      HÀrË  rË  )r!   r¥   r   r®  r   r]   rÀ  s       r@   Útest_three_pointsz!TestCubicSpline.test_three_points#  se   € ô �H‰HÒ%Ó&ˆÜ�H‰HÒ%Ó&ˆÜ˜˜1 jÔ1ˆØ×Ñ˜q *¨jÔ9Ü˜˜Ÿ™ Q›¨Ó*¬B¯H©HÒ5JÓ,KÕLrB   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}  rs  rÆ  r}  rs  r£  r¼  r   r   r   rD   )r!   r¥   r   r®  r–   r   )rr   r7   r9   r¦  ÚS0ÚS1Úqs          r@   Ú#test_periodic_three_points_multidimz3TestCubicSpline.test_periodic_three_points_multidim/  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Õ*rB   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   )Údtype)rÀ   r   r   r   )y      ð¿      ð?r}  y      ð?      ð¿y      à?      ø¿r   )rK   ©r   y               @r¼  rK   rÔ  )r   y       @      à?)r   y      à?      ð¿)r!   r¥   Úintr   r®  rÀ  s       r@   Ú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 -°Õ?rB   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#   rV  Úuniformr   r®  )rr   r6   r7   r9   r¦  s        r@   Útest_small_dxzTestCubicSpline.test_small_dxM  sc   € Ü�i‰i×#Ñ# AÓ&ˆÜ�G‰G�C—K‘K S�KÓ)Ó*ˆØ�#—+‘+ 3�+Ó'Ñ'ˆÜ˜˜1ÓˆØ×Ñ˜q eÐÕ,rB   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£  rL   ))r   r   )r   r²   )©r   r   )r}  r}  z
not-a-typor   T)rL   rÛ  rL   )r   r   r   r£  )r!   r¥   ÚnanÚassert_raisesrN  r   ÚnewaxisÚc_)rr   r7   r9   ÚxcÚxnÚxoÚynÚy3r]  r_  Úwrong_bcrM   r¹  Úbc1Úbc2Úbc3s                   r@   Útest_incorrect_inputsz%TestCubicSpline.test_incorrect_inputsT  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ò"ˆð  ò 	KˆGÜœ*¤k°1°a¸¸GÀTÕJð	Kô �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ÕIrB   N)r¢  r¢  rt  )rs   rt   ru   Ústaticmethodr®  r·  rº  r½  rÁ  rÉ  rÌ  rÑ  rÖ  rÙ  ré  r   rB   r@   r   r   ž  sT   „ ØØ;GØ#ò?Tó ð?TòBGò.+ò>ò@ò:ò
Mò+ò@ò"-ó&JrB   r   c                  ó�   — g d¢} g d¢}g d¢}t        | ||«      }t         || «      |ddd¬«       t         || d«      |ddd¬«       y )N)r   r   r¢   )r   r   r   )r   r   r¢   Frõ   )rA   Úcheck_dtyperu  r   )r   r   )r7   r9   r;   r8   s       r@   Ú#test_CubicHermiteSpline_correctnessrí  }  sI   € Ú€AÚ€AÚ€DÜ˜1˜a Ó&€AÜ‘A�a“D˜!¨¸EÈÕNÜ‘A�a˜“G˜T¨uÀ%ÈeÖTrB   c                  óž   — g d¢} g d¢}g d¢}t        t        t        | ||«       ddt        j                  g}t        t        t        | ||«       y )Nr™  )r   r   rD   )r   r   r   r   r   r   )rÝ  rN  r   r!   rÜ  )r7   r9   r;   Údydx_with_nans       r@   Ú&test_CubicHermiteSpline_error_handlingrð  †  sB   € Ú€AÚ€AÚ€DÜ”*Ô0°!°Q¸Ô=à˜œ2Ÿ6™6�N€MÜ”*Ô0°!°Q¸ÕFrB   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,   )r7   r9   Údyr‰   rµ   s        r@   Ú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Š;Ð‰;rB   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)ÚTestZeroSizeArraysr9   )r²   r   rD   )r²   rD   r   rM   )r¢  r£  rK   rL   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   )rM   r   ©r!   rÞ   r,   r+   Úmoveaxis)
rr   rö  r9   rM   r   r7   ÚxvalÚobjÚytÚshs
             r@   Ú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�‰ "Ò$Ð$Ñ$rB   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   rH   rø  )	rr   rö  r9   r   r7   rú  rû  rü  rý  s	            r@   Ú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�‰ "Ò$Ð$Ñ$rB   N)rs   rt   ru   r   r  Úparametrizer!   r*   r   r   rþ  r   r   r   r   rB   r@   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ó:ñ%rB   rõ  )Nr   N)*r’  r€  Únumpyr!   Úscipy._lib._array_apir   r   r   r   r   r   rÝ  Úscipy.interpolater   r	   r
   r   r   r   r   r   r   r   r   r   Úscipy._lib._testutilsr   rA   rN   rT   rZ   r„   rŠ   rŒ   r  r  rT  r   rí  rð  ró  rõ  r   rB   r@   ú<module>r     sÂ   ðÛ Û 	Û ÷ó õ +Û ÷÷ ÷ ó õ :ð LMØó&òR 
%€òGò"Iò26òj/÷j2ñ j2÷Z$ñ $÷E2ñ E2÷P}.ñ }.÷@\Jñ \Jò~UòGò
÷/%ò /%rB   