§
    fŠtjj’  ã                   óà  — 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
j        j        Ze
j        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-dS )é    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                             d¦  «        }g d¢}t          t	          dt          |¦  «        dz   ¦  «        ¦  «        }|                     |t          |¦  «        dz   z  d¦  «          |j        d|z   Ž                      |¦  «        }	t          j	        |¦  «        }
| t          u r7 |j        d|z   Ž                      |¦  «        }  | ||	|fd|i|¤Ž|
¦  «        }n  | ||	fd|i|¤Ž|
¦  «        }|pd|	j        d |…         z   |z   |	j        |d …         dd …         z   }|j        |k    sJ ‚|r›|	j        dk    r�| t          u rK  | t          |¦  «        t          |	¦  «        t          |¦  «        fd|i|¤Žt          |
¦  «        ¦  «         n<  | t          |¦  «        t          |	¦  «        fd|i|¤Žt          |
¦  «        ¦  «         |
j        dk    rŸ|€Ÿ|	j        d |…         dt          |¦  «        z  z   |	j        |d …         dd …         z   }|	t          d ¦  «        f||	j        z  z  dz            }|                     |¦  «        }t          j        ||¦  «        \  }}	t#          ||	¦  «         d S d S d S )	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/html/CA-Chatbot/venv/lib/python3.11/site-packages/scipy/interpolate/tests/test_polyint.pyÚcheck_shaperB      s÷  € àÐØˆ
Ý
Œ)×
Ò
 Ñ
%Ô
%€CàÐÐ€AÝ�U�1•c˜'‘l”l 1‘nÑ%Ô%Ñ&Ô&€AØ‡H‚HˆT•S˜‘\”\ !‘^Ñ$ aÑ(Ô(Ð(ØˆŒ�4˜'‘>Ð#×-Ò-¨aÑ0Ô0€Aå	Œ�'Ñ	Ô	€BØÕ-Ð-Ð-ØˆsŒx˜$ ™.Ð*×4Ò4°QÑ7Ô7ˆØBÐÐ˜a  DÐBÐB¨tÐB°zÐBÐBÀ2ÑFÔFˆˆà<ÐÐ˜a Ð<Ð<¨Ð<°Ð<Ð<¸RÑ@Ô@ˆà Ð& B¨!¬'°%°4°%¬.Ñ8ØñØ !¤¨¨¨¤¨q¨r¨rÔ 2ñ3€LàŒ8�|Ò#Ð#Ð#Ð#ð ð 5�1”6˜A’:�:ØÕ1Ð1Ð1ð+ÐÐ�T !™WœW¥d¨1¡g¤g­t°D©z¬zð +ð +Àð +Ø)ð+ð +Ý+/°©8¬8ñ5ô 5ð 5ð 5ð+ÐÐ�T !™WœW¥d¨1¡g¤gð +ð +°Dð +Ø)ð+ð +Ý+/°©8¬8ñ5ô 5ð 5ð 
„w�‚{€{�{Ð*Ø”7˜5˜D˜5”> D­¨W©¬Ñ$5Ñ5¸¼ÀÀÀ¼ÀqÀrÀrÔ8JÑJˆØ•�t‘”� ¨¬¡Ñ/°4Ñ7Ô8ˆØ�ZŠZ˜Ñ!Ô!ˆåÔ# B¨Ñ+Ô+‰ˆˆAÝ˜˜AÑÔÐÐÐð €{Ð*Ð*ó    )r    ©r   r!   )r   r   é   c                  ó\  — d„ } t           t          t          t          t          t
          | fD ]€}t          D ]v}t          D ]l}t          t          |¦  «         t          |¦  «        ¦  «        D ]>}|t
          k    rt          |||d |¦  «         Œ!dD ]}d|i}t          |||d ||¦  «         ŒŒ?ŒmŒwŒ�d S )Nc                 ó&   — t          | ||¬¦  «        S ©N©r   )r   ©r8   r:   r   s      rA   Ú
spl_interpztest_shapes.<locals>.spl_interpF   s   € Ý! ! Q¨TÐ2Ñ2Ô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ð 3ð 3õ !Õ"9Õ;MÝÕ)­;¸
ðDð 
Gð 
Gˆåð 	Gð 	GˆBÝð Gð G�Ý!¥3 r¡7¤7 (­C°©G¬GÑ4Ô4ð Gð G�DØ�[Ò(Ð(Ý# B¨¨B°°dÑ;Ô;Ð;Ð;à"8ð Gð G˜BØ%.° O˜EÝ'¨¨B°°D¸$ÀÑFÔFÐFÐFðGð	GðGð	Gð
Gð 
GrC   c                  óà   ‡— t           t          fD ]]Šdˆfd„	} t          D ]M}t          D ]C}t          t	          |¦  «         t	          |¦  «        ¦  «        D ]}t          | ||d|¦  «         ŒŒDŒNŒ^d S )Nr   c                 ó(   •—  ‰| ||¦  «        j         S ©N©Úderivatives)r8   r:   r   rP   s      €rA   Úinterpolator_derivsz/test_derivs_shapes.<locals>.interpolator_derivsW   s   ø€ Ø�2�a˜˜D‘>”>Ô-Ð-rC   r   rD   )r	   r   rO   r&   r'   rB   )r[   rQ   rR   r   rP   s       @rA   Útest_derivs_shapesr\   U   s½   ø€ Ý Õ"9Ð:ð Ið Iˆð	.ð 	.ð 	.ð 	.ð 	.ð 	.õ ð 	Ið 	IˆBÝð Ið I�Ý!¥3 r¡7¤7 (­C°©G¬GÑ4Ô4ð Ið I�DÝÐ 3°R¸¸TÀ4ÑHÔHÐHÐHðIðIð	Ið	Ið I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 ]W}t           D ]M}t           D ]C}t          t          |¦  «         t          |¦  «        ¦  «        D ]}t          |||d|¦  «         ŒŒDŒNŒXd S )Nr   c                 ó.   — t          | ||¦  «        j        S rX   )r	   Ú
derivativerJ   s      rA   Úkrogh_derivz&test_deriv_shapes.<locals>.krogh_deriva   s   € Ý   A tÑ,Ô,Ô7Ð7rC   c                 ó.   — t          | ||¦  «        j        S rX   )r   r_   rJ   s      rA   Ú
bary_derivz%test_deriv_shapes.<locals>.bary_derivd   s   € Ý& q¨!¨TÑ2Ô2Ô=Ð=rC   c                 óH   — t          | ||¦  «                             ¦   «         S rX   ©r   r_   rJ   s      rA   Úpchip_derivz&test_deriv_shapes.<locals>.pchip_derivg   s    € Ý�Q˜˜4Ñ Ô ×+Ò+Ñ-Ô-Ð-rC   c                 óJ   — t          | ||¦  «                             d¦  «        S ©Nr   rd   rJ   s      rA   Úpchip_deriv2z'test_deriv_shapes.<locals>.pchip_deriv2j   s"   € Ý�Q˜˜4Ñ Ô ×+Ò+¨AÑ.Ô.Ð.rC   c                 óH   — t          | ||¦  «                             ¦   «         S rX   ©r   ÚantiderivativerJ   s      rA   Úpchip_antiderivz*test_deriv_shapes.<locals>.pchip_antiderivm   s    € Ý�Q˜˜4Ñ Ô ×/Ò/Ñ1Ô1Ð1rC   c                 óJ   — t          | ||¦  «                             d¦  «        S rg   rj   rJ   s      rA   Úpchip_antideriv2z+test_deriv_shapes.<locals>.pchip_antideriv2p   s"   € Ý�Q˜˜4Ñ Ô ×/Ò/°Ñ2Ô2Ð2rC   c                 óB   —  G d„ dt           ¦  «        } || ||¦  «        S )Nc                   ó   — e Zd Zd„ ZdS )ú9test_deriv_shapes.<locals>.pchip_deriv_inplace.<locals>.Pc                 ó.   — t          j        | |d¦  «        S )Nr   )r   Ú__call__)Úselfr8   s     rA   rs   zBtest_deriv_shapes.<locals>.pchip_deriv_inplace.<locals>.P.__call__u   s   € Ý(Ô1°$¸¸1Ñ=Ô=Ð=rC   N)Ú__name__Ú
__module__Ú__qualname__rs   r    rC   rA   ÚPrq   t   s   € € € € € ð>ð >ð >àˆDrC   rx   )r   )r8   r:   r   rx   s       rA   Úpchip_deriv_inplacez.test_deriv_shapes.<locals>.pchip_deriv_inplaces   sA   € ð	ð 	ð 	ð 	ð 	Õ!ñ 	ô 	ð 	ð ˆq��A�t‰}Œ}ÐrC   c                 óH   — t          | ||¦  «                             ¦   «         S rX   )r   r_   rJ   s      rA   Úakima_derivz&test_deriv_shapes.<locals>.akima_derivz   s    € Ý" 1 a¨Ñ.Ô.×9Ò9Ñ;Ô;Ð;rC   c                 óH   — t          | ||¦  «                             ¦   «         S rX   )r   rk   rJ   s      rA   Úakima_antiderivz*test_deriv_shapes.<locals>.akima_antideriv}   s    € Ý" 1 a¨Ñ.Ô.×=Ò=Ñ?Ô?Ð?rC   c                 óH   — t          | ||¦  «                             ¦   «         S rX   )r   r_   rJ   s      rA   Úcspline_derivz(test_deriv_shapes.<locals>.cspline_deriv€   s    € Ý˜1˜a Ñ&Ô&×1Ò1Ñ3Ô3Ð3rC   c                 óH   — t          | ||¦  «                             ¦   «         S rX   )r   rk   rJ   s      rA   Úcspline_antiderivz,test_deriv_shapes.<locals>.cspline_antiderivƒ   s    € Ý˜1˜a Ñ&Ô&×5Ò5Ñ7Ô7Ð7rC   c                 óJ   — t          | ||¬¦  «                             ¦   «         S rH   )r   r_   rJ   s      rA   Ú
bspl_derivz%test_deriv_shapes.<locals>.bspl_deriv†   s#   € Ý! ! Q¨TÐ2Ñ2Ô2×=Ò=Ñ?Ô?Ð?rC   c                 óJ   — t          | ||¬¦  «                             ¦   «         S rH   )r   rk   rJ   s      rA   Úbspl_antiderivz)test_deriv_shapes.<locals>.bspl_antideriv‰   s#   € Ý! ! Q¨TÐ2Ñ2Ô2×AÒAÑCÔCÐCrC   r    rD   )rO   r&   r'   rB   )r`   rb   re   rh   rl   rn   ry   r{   r}   r   r�   rƒ   r…   rP   rQ   rR   r   s                    rA   Útest_deriv_shapesr†   `   s¿  € ð8ð 8ð 8ð 8ð>ð >ð >ð >ð.ð .ð .ð .ð/ð /ð /ð /ð2ð 2ð 2ð 2ð3ð 3ð 3ð 3ðð ð ð ð<ð <ð <ð <ð@ð @ð @ð @ð4ð 4ð 4ð 4ð8ð 8ð 8ð 8ð@ð @ð @ð @ðDð Dð Dð Dð ˜J¨°\ÐCVØÐ 0°+¸ØÐ/°¸^ðMð 6ð 6ˆõ ð 	6ð 	6ˆBÝð 6ð 6�Ý!¥3 r¡7¤7 (­C°©G¬GÑ4Ô4ð 6ð 6�DÝ  B¨¨B°Ñ5Ô5Ð5Ð5ð6ð6ð	6ð6ð 6rC   c                  óŠ  — g d¢} g d¢}t           t          t          fD ]9} || |¦  «        }t           || ¦  «        t	          j        |¦  «        ¦  «         Œ:g d¢}t          | ||¦  «        }t           || ¦  «        t	          j        |¦  «        ¦  «         t           || d¦  «        t	          j        |¦  «        ¦  «         d S )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ð -ð -ˆØˆBˆq�!‰HŒHˆÝ˜˜˜!™œ�bœj¨™mœmÑ,Ô,Ð,Ð,àˆ?ˆ?€DÝ˜1˜a Ñ&Ô&€AÝ�A�A�a‘D”D�"œ* Q™-œ-Ñ(Ô(Ð(Ý�A�A�a˜‘G”G�Rœ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dS )Ú	TestKroghc                 óü   — t           j                             g d¢¦  «        | _        t          j        ddd¦  «        | _        t          j        ddd¦  «        | _        |                      | j        ¦  «        | _        d S ©N)éüÿÿÿrE   r   r   éþÿÿÿr   r   éd   rE   ©r"   Ú
polynomialÚ
PolynomialÚ	true_polyÚlinspaceÚtest_xsÚxsÚys©rt   s    rA   Úsetup_methodzTestKrogh.setup_method¤   sc   € Ýœ×1Ò1Ð2CÐ2CÐ2CÑDÔDˆŒÝ”{ 2 a¨Ñ,Ô,ˆŒÝ”+˜b  1Ñ%Ô%ˆŒØ—.’. ¤Ñ)Ô)ˆŒˆˆrC   c                 ó¦   — t          | j        | j        ¦  «        }t          |                      | j        ¦  «         || j        ¦  «        ¦  «         d S rX   ©r	   rš   r›   r   r—   r™   ©rt   rx   s     rA   Útest_lagrangezTestKrogh.test_lagrangeª   óC   € Ý˜dœg d¤gÑ.Ô.ˆÝ˜DŸNšN¨4¬<Ñ8Ô8¸¸¸4¼<¹¼ÑIÔIÐIÐIÐIrC   c                 ó:  — t          | j        | j        ¦  «        }t          |                      d¦  «         |d¦  «        d¬¦  «         t          |                      t          j        d¦  «        ¦  «         |t          j        d¦  «        ¦  «        d¬¦  «         d S )Né   F©Úcheck_0d)r	   rš   r›   r   r—   r"   Úarrayr    s     rA   Útest_scalarzTestKrogh.test_scalar®   s~   € Ý˜dœg d¤gÑ.Ô.ˆÝ˜DŸNšN¨1Ñ-Ô-¨q¨q°©t¬t¸eÐDÑDÔDÐDÝ˜DŸNšN­2¬8°A©;¬;Ñ7Ô7¸¸½2¼8ÀA¹;¼;¹¼ÐRWÐXÑXÔXÐXÐXÐXrC   c                 ó   — t          | j        | j        ¦  «        }|                     | j        ¦  «        }t          |j        d         ¦  «        D ]>}t           | j         	                    |¦  «        | j        ¦  «        ||         ¦  «         Œ?d S ©Nr   )
r	   rš   r›   rZ   r™   r&   r,   r   r—   Úderiv©rt   rx   ÚDÚis       rA   Útest_derivativeszTestKrogh.test_derivatives³   sŒ   € Ý˜dœg d¤gÑ.Ô.ˆØ�MŠM˜$œ,Ñ'Ô'ˆÝ�q”w˜q”zÑ"Ô"ð 	&ð 	&ˆAÝÐ 7 ¤× 4Ò 4°QÑ 7Ô 7¸¼Ñ EÔ EØ ! !¤ñ&ô &ð &ð &ð	&ð 	&rC   c                 óL  — t          | j        | j        ¦  «        }|                     | j        t          | j        ¦  «        dz   ¦  «        }t          |j        d         ¦  «        D ]>}t           | j	         
                    |¦  «        | j        ¦  «        ||         ¦  «         Œ?d S )Nr   r   )r	   rš   r›   rZ   r™   r'   r&   r,   r   r—   r«   r¬   s       rA   Útest_low_derivativeszTestKrogh.test_low_derivativesº   sš   € Ý˜dœg d¤gÑ.Ô.ˆØ�MŠM˜$œ,¥s¨4¬7¡|¤|°A¡~Ñ6Ô6ˆÝ�q”w˜q”zÑ"Ô"ð 	&ð 	&ˆAÝÐ 7 ¤× 4Ò 4°QÑ 7Ô 7¸¼Ñ EÔ EØ ! !¤ñ&ô &ð &ð &ð	&ð 	&rC   c                 óö   — t          | j        | j        ¦  «        }d}|                     | j        |¦  «        }t          |¦  «        D ]1}t          |                     | j        |¦  «        ||         ¦  «         Œ2d S ©Né
   )r	   rš   r›   rZ   r™   r&   r   r_   ©rt   rx   ÚmÚrr®   s        rA   Útest_derivativezTestKrogh.test_derivativeÁ   sy   € Ý˜dœg d¤gÑ.Ô.ˆØˆØ�MŠM˜$œ, qÑ)Ô)ˆÝ�q‘”ð 	Cð 	CˆAÝ §¢¨T¬\¸!Ñ <Ô <¸Q¸q¼TÑBÔBÐBÐBð	Cð 	CrC   c           	      óH  — t          | j        | j        ¦  «        }t          t	          | j        ¦  «        dt	          | j        ¦  «        z  ¦  «        D ]O}t          |                     | j        |¦  «        t          j	        t	          | j        ¦  «        ¦  «        ¦  «         ŒPd S rg   )
r	   rš   r›   r&   r'   r   r_   r™   r"   r+   ©rt   rx   r®   s      rA   Útest_high_derivativezTestKrogh.test_high_derivativeÈ   sŒ   € Ý˜dœg d¤gÑ.Ô.ˆÝ•s˜4œ7‘|”| Q¥s¨4¬7¡|¤|¡^Ñ4Ô4ð 	=ð 	=ˆAÝ §¢¨T¬\¸!Ñ <Ô <Ý "¤­¨T¬\Ñ):Ô):Ñ ;Ô ;ñ=ô =ð =ð =ð	=ð 	=rC   c                 óÚ  — | j         }t          j                             g d¢¦  «        }t          j                             g d¢¦  «        }t          j         || j        ¦  «         || j        ¦  «         || j        ¦  «        fd¬¦  «        }t          | j        |d¬¦  «        }|                     | j        ¦  «        }t          |j
        d         ¦  «        D ]’}t          ||         t          j         |                     |¦  «        | j        ¦  «         |                     |¦  «        | j        ¦  «         |                     |¦  «        | j        ¦  «        fd¬¦  «        ¦  «         Œ“d S ©N©r’   rE   r   r   ©é   éýÿÿÿr   éûÿÿÿr   r   rI   r   )r—   r"   r•   r–   Ústackrš   r	   rZ   r™   r&   r,   r   r«   ©rt   Úpoly1Úpoly2Úpoly3r›   rx   r­   r®   s           rA   Útest_ndim_derivativeszTestKrogh.test_ndim_derivativesÎ   sM  € Ø”ˆÝ”×(Ò(¨¨¨Ñ8Ô8ˆÝ”×(Ò(Ð);Ð);Ð);Ñ<Ô<ˆÝŒX�u�u˜TœW‘~”~ u u¨T¬W¡~¤~°u°u¸T¼W±~´~ÐFÈRÐPÑPÔPˆå˜dœg r°Ð2Ñ2Ô2ˆØ�MŠM˜$œ,Ñ'Ô'ˆÝ�q”w˜q”zÑ"Ô"ð 	/ð 	/ˆAÝ˜A˜aœDÝœH n e§k¢k°!¡n¤n°T´\Ñ&BÔ&BØ&4 e§k¢k°!¡n¤n°T´\Ñ&BÔ&BØ&4 e§k¢k°!¡n¤n°T´\Ñ&BÔ&Bð&Dð +-ð.ñ .ô .ñ/ô /ð /ð /ð	/ð 	/rC   c                 óÀ  — | j         }t          j                             g d¢¦  «        }t          j                             g d¢¦  «        }t          j         || j        ¦  «         || j        ¦  «         || j        ¦  «        fd¬¦  «        }t          | j        |d¬¦  «        }t          |j        ¦  «        D ]¥}t          | 
                    | j        |¦  «        t          j         |                     |¦  «        | j        ¦  «         |                     |¦  «        | j        ¦  «         |                     |¦  «        | j        ¦  «        fd¬¦  «        ¦  «         Œ¦d S r½   )r—   r"   r•   r–   rÃ   rš   r	   r&   Únr   r_   r™   r«   ©rt   rÅ   rÆ   rÇ   r›   rx   r®   s          rA   Útest_ndim_derivativezTestKrogh.test_ndim_derivativeÝ   s@  € Ø”ˆÝ”×(Ò(¨¨¨Ñ8Ô8ˆÝ”×(Ò(Ð);Ð);Ð);Ñ<Ô<ˆÝŒX�u�u˜TœW‘~”~ u u¨T¬W¡~¤~°u°u¸T¼W±~´~ÐFÈRÐPÑPÔPˆå˜dœg r°Ð2Ñ2Ô2ˆÝ�q”s‘”ð 	/ð 	/ˆAÝ˜AŸLšL¨¬°qÑ9Ô9ÝœH n e§k¢k°!¡n¤n°T´\Ñ&BÔ&BØ&4 e§k¢k°!¡n¤n°T´\Ñ&BÔ&BØ&4 e§k¢k°!¡n¤n°T´\Ñ&BÔ&Bð&Dð +-ð.ñ .ô .ñ/ô /ð /ð /ð	/ð 	/rC   c                 ó¦   — t          | j        | j        ¦  «        }t          |                      | j        ¦  «         || j        ¦  «        ¦  «         d S 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          ‰‰¦  «        }ˆˆfd„t          ‰j        d         ¦  «        D ¦   «         }t          j        ddd¦  «        Št           |‰¦  «        t          j        ˆfd	„|D ¦   «         ¦  «        j        ¦  «         t          | 	                    ‰¦  «        t          j
        t          j        ˆfd
„|D ¦   «         ¦  «        d¦  «        ¦  «         d S )N©r   r   r   r   r   r   c                 óD   •— g | ]}t          ‰‰d d …|f         ¦  «        ‘ŒS rX   )r	   )Ú.0r®   rš   r›   s     €€rA   ú
<listcomp>z)TestKrogh.test_vector.<locals>.<listcomp>ó   s0   ø€ ÐHÐHÐH°Õ  2 a a a¨ c¤7Ñ+Ô+ÐHÐHÐHrC   r   r   r“   c                 ó&   •— g | ]} |‰¦  «        ‘ŒS r    r    ©rÒ   r‹   r™   s     €rA   rÓ   z)TestKrogh.test_vector.<locals>.<listcomp>ö   ó!   ø€ Ð'?Ð'?Ð'?°q¨¨¨'©
¬
Ð'?Ð'?Ð'?rC   c                 ó:   •— g | ]}|                      ‰¦  «        ‘ŒS r    rY   rÕ   s     €rA   rÓ   z)TestKrogh.test_vector.<locals>.<listcomp>ø   s%   ø€ Ð(LÐ(LÐ(LÀA¨¯ª°wÑ)?Ô)?Ð(LÐ(LÐ(LrC   )r   r   r   )r"   r§   r	   r&   r,   r˜   r   rŠ   ÚTrZ   r*   )rt   rx   ÚPir™   rš   r›   s      @@@rA   Útest_vectorzTestKrogh.test_vectorï   s  øøø€ ØˆYˆYˆÝŒX˜˜!�u˜a ˜U A a 5Ð)Ñ*Ô*ˆÝ˜b Ñ$Ô$ˆØHÐHÐHÐHÐHµU¸2¼8ÀA¼;Ñ5GÔ5GÐHÑHÔHˆÝ”+˜b  3Ñ'Ô'ˆÝ˜A˜A˜g™JœJÝœJÐ'?Ð'?Ð'?Ð'?¸BÐ'?Ñ'?Ô'?Ñ@Ô@ÔBñ	Dô 	Dð 	Då˜AŸMšM¨'Ñ2Ô2Ý”�RœZÐ(LÐ(LÐ(LÐ(LÈÐ(LÑ(LÔ(LÑMÔMØñô ñ	ô 	ð 	ð 	ð 	rC   c                 ó�   — t          | j        | j        ¦  «        }t           |g ¦  «        t	          j        g ¦  «        ¦  «         d S rX   )r	   rš   r›   r   r"   rŠ   r    s     rA   Ú
test_emptyzTestKrogh.test_emptyû   s;   € Ý˜dœg d¤gÑ.Ô.ˆÝ˜˜˜"™œ�rœz¨"™~œ~Ñ.Ô.Ð.Ð.Ð.rC   c                 ó|  — 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 ‚d S ©Nr   r    r!   r   )r   )r	   rš   r›   r"   r,   r§   r    s     rA   Útest_shapes_scalarvaluez!TestKrogh.test_shapes_scalarvalueÿ   s³   € Ý˜dœg d¤gÑ.Ô.ˆÝŒx˜˜˜!™œ‰~Œ~ Ò#Ð#Ð#Ð#ÝŒx˜˜�"œ( 1™+œ+™œÑ'Ô'¨2Ò-Ð-Ð-Ð-ÝŒx˜˜˜1˜#™œÑÔ 4Ò'Ð'Ð'Ð'ÝŒx˜˜˜1˜Q˜%™œÑ!Ô! TÒ)Ð)Ð)Ð)Ð)Ð)rC   c                 óæ  — t          | j        | j        ¦  «        }|j        }t	          j        |                     d¦  «        ¦  «        |fk    sJ ‚t	          j        |                     t	          j        d¦  «        ¦  «        ¦  «        |fk    sJ ‚t	          j        |                     dg¦  «        ¦  «        |dfk    sJ ‚t	          j        |                     ddg¦  «        ¦  «        |dfk    sJ ‚d S ©Nr   r   r   )r	   rš   r›   rÊ   r"   r,   rZ   r§   ©rt   rx   rÊ   s      rA   Ú"test_shapes_scalarvalue_derivativez,TestKrogh.test_shapes_scalarvalue_derivative  sØ   € Ý˜dœg d¤gÑ.Ô.ˆØŒCˆÝŒx˜Ÿš aÑ(Ô(Ñ)Ô)¨a¨TÒ1Ð1Ð1Ð1ÝŒx˜Ÿš¥b¤h¨q¡k¤kÑ2Ô2Ñ3Ô3¸°tÒ;Ð;Ð;Ð;ÝŒx˜Ÿš q cÑ*Ô*Ñ+Ô+°°1¨vÒ5Ð5Ð5Ð5ÝŒx˜Ÿš q¨! fÑ-Ô-Ñ.Ô.°1°a°&Ò8Ð8Ð8Ð8Ð8Ð8rC   c           	      ó\  — 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 ‚d S ©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¥b¤h¨t¬wµr´yÀ±|´|Ñ&DÔ&DÑEÔEˆÝŒx˜˜˜!™œ‰~Œ~ Ò%Ð%Ð%Ð%ÝŒx˜˜˜1˜#™œÑÔ 6Ò)Ð)Ð)Ð)ÝŒx˜˜˜1˜a˜&™	œ	Ñ"Ô" fÒ,Ð,Ð,Ð,Ð,Ð,rC   c                 ó:  — 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 ‚d S ©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  s–   € Ý˜dœg¥b¤h¨t¬w¸°sÑ&;Ô&;Ñ<Ô<ˆÝŒx˜˜˜!™œ‰~Œ~ Ò%Ð%Ð%Ð%ÝŒx˜˜˜1˜#™œÑÔ 6Ò)Ð)Ð)Ð)ÝŒx˜˜˜1˜Q˜%™œÑ!Ô! VÒ+Ð+Ð+Ð+Ð+Ð+rC   c           	      ó¶  — t          | j        t          j        | j        t          j        d¦  «        ¦  «        ¦  «        }|j        }t          j        |                     d¦  «        ¦  «        |dfk    sJ ‚t          j        |                     dg¦  «        ¦  «        |ddfk    sJ ‚t          j        |                     ddg¦  «        ¦  «        |ddfk    sJ ‚d S ©Nr   r   r   r   )	r	   rš   r"   ræ   r›   rç   rÊ   r,   rZ   râ   s      rA   Ú"test_shapes_vectorvalue_derivativez,TestKrogh.test_shapes_vectorvalue_derivative  sÁ   € Ý˜dœg¥b¤h¨t¬wµr´yÀ±|´|Ñ&DÔ&DÑEÔEˆØŒCˆÝŒx˜Ÿš aÑ(Ô(Ñ)Ô)¨a°¨VÒ3Ð3Ð3Ð3ÝŒx˜Ÿš q cÑ*Ô*Ñ+Ô+°°1°a¨yÒ8Ð8Ð8Ð8ÝŒx˜Ÿš q¨ eÑ,Ô,Ñ-Ô-°!°Q¸°Ò:Ð:Ð:Ð:Ð:Ð:rC   c           
      óÐ  — t          | j        | j        ¦  «        }t          }t	           || j        ¦  «         || j        | j        | j        ¦  «        ¦  «         t	          |                     | j        d¦  «         || j        | j        | j        d¬¦  «        ¦  «         t	          |                     | j        d¦  «         || j        | j        | j        ddg¬¦  «        ¦  «         d S )Nr   ©Úderr   r   )r	   rš   r›   r
   r   r™   r_   rZ   )rt   rx   Úkis      rA   Útest_wrapperzTestKrogh.test_wrapper!  sÞ   € Ý˜dœg t¤wÑ/Ô/ˆÝˆÝ˜A˜A˜dœl™OœO¨R¨R°´¸¼À$Ä,Ñ-OÔ-OÑPÔPÐPÝ˜AŸLšL¨¬°qÑ9Ô9Ø˜B˜tœw¨¬°´À1ÐEÑEÔEñ	Gô 	Gð 	Gå˜AŸMšM¨$¬,¸Ñ:Ô:Ø˜B˜tœw¨¬°´ÀAÀqÀ6ÐJÑJÔJñ	Lô 	Lð 	Lð 	Lð 	LrC   c           	      ó  — g d¢}t          j        g d¢¦  «        }t          ||¦  «        }t          t	           ||¦  «        |z
  |                     |d¦  «        z  ¦  «        t          j        |¦  «        d¬¦  «         d S )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)rt   r8   Ú
offset_cdfÚfs       rA   Útest_int_inputszTestKrogh.test_int_inputs*  s    € ðð ð ˆå”Xð ?ð ?ð ?ñ @ô @ˆ
õ ˜a Ñ,Ô,ˆå�˜Q˜Q˜q™TœT JÑ.°!·,²,¸qÀ!Ñ2DÔ2DÑDÑEÔEÝœ jÑ1Ô1¸ð	?ñ 	?ô 	?ð 	?ð 	?ð 	?rC   c                 ót  — t          j        g d¢¦  «        t          j        g d¢¦  «        }}t          ||¦  «        }|                     d¦  «        }t          ||j        ¦  «                             d¦  «        dt          ||j        ¦  «                             d¦  «        z  z   }t          ||d¬¦  «         d S )N)r   r   r   r   r   )r   r‰   r   r   r‰   r   r‰   çVçž¯Ò<rö   )r"   r§   r	   rZ   ÚrealÚimagr   )rt   r8   r:   ÚfuncÚcmplxÚcmplx2s         rA   Útest_derivatives_complexz"TestKrogh.test_derivatives_complex7  s²   € åŒxÐ)Ð)Ð)Ñ*Ô*­B¬HÐ5KÐ5KÐ5KÑ,LÔ,Lˆ1ˆÝ   AÑ&Ô&ˆØ× Ò  Ñ#Ô#ˆå# A q¤vÑ.Ô.×:Ò:¸1Ñ=Ô=ØÕ& q¨!¬&Ñ1Ô1×=Ò=¸aÑ@Ô@Ñ@ñAˆå˜˜v¨EÐ2Ñ2Ô2Ð2Ð2Ð2rC   c                 óÖ   — t          j        t          d¬¦  «        5  t          t	          j        d¦  «        t	          j        d¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz40 degrees provided,©Úmatché(   )ÚpytestÚwarnsÚUserWarningr	   r"   rç   Úonesrœ   s    rA   Útest_high_degree_warningz"TestKrogh.test_high_degree_warningA  sœ   € ÝŒ\�+Ð-CÐDÑDÔDð 	:ð 	:Ý�bœi¨™mœm­R¬W°R©[¬[Ñ9Ô9Ð9ð	:ð 	:ð 	:ñ 	:ô 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:øøøð 	:ð 	:ð 	:ð 	:ð 	:ð 	:s   œ5AÁA"Á%A"c                 óh   ‡ — t          ‰ j        ‰ j        ¦  «        }ˆ fd„}t          d||¦  «         d S )Nc                 ó(   •—  |‰j         ¦  «         d S rX   ©rš   ©Ú_Úinterprt   s     €rA   Ú	worker_fnz-TestKrogh.test_concurrency.<locals>.worker_fnH  ó   ø€ ØˆF�4”7‰OŒOˆOˆOˆOrC   r´   )r	   rš   r›   r   ©rt   rx   r  s   `  rA   Útest_concurrencyzTestKrogh.test_concurrencyE  sI   ø€ Ý˜dœg t¤wÑ/Ô/ˆð	ð 	ð 	ð 	ð 	õ 	   I¨qÑ1Ô1Ð1Ð1Ð1rC   N)ru   rv   rw   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Ž   £   sm  € € € € € ð*ð *ð *ðJð Jð JðYð Yð Yð
&ð &ð &ð&ð &ð &ðCð Cð Cð=ð =ð =ð/ð /ð /ð/ð /ð /ðJð Jð Jð
ð 
ð 
ð/ð /ð /ð*ð *ð *ð9ð 9ð 9ð-ð -ð -ð,ð ,ð ,ð;ð ;ð ;ðLð Lð Lð?ð ?ð ?ð3ð 3ð 3ð:ð :ð :ð2ð 2ð 2ð 2ð 2rC   rŽ   c                   ó   — e Zd Zd„ ZdS )Ú
TestTaylorc                 óú   — d}t          t          j        d|dd¦  «        }t          |dz   ¦  «        D ]/}t	           |d¦  «        d¦  «         |                     ¦   «         }Œ0t	           |d¦  «        d¦  «         d S )NrE   r   r   é   )r   r"   Úexpr&   r   r«   )rt   Údegreer‹   r®   s       rA   Útest_exponentialzTestTaylor.test_exponentialO  s|   € ØˆÝ)­"¬&°!°V¸QÀÑCÔCˆÝ�v˜a‘x‘”ð 	ð 	ˆAÝ   !¡¤ QÑ'Ô'Ð'Ø—’‘	”	ˆAˆAÝ˜A˜A˜a™DœD Ñ#Ô#Ð#Ð#Ð#rC   N)ru   rv   rw   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dS )ÚTestBarycentricc                 óü   — t           j                             g d¢¦  «        | _        t          j        ddd¦  «        | _        t          j        ddd¦  «        | _        |                      | j        ¦  «        | _        d S r�   r”   rœ   s    rA   r�   zTestBarycentric.setup_methodY  sc   € Ýœ×1Ò1Ð2CÐ2CÐ2CÑDÔDˆŒÝ”{ 2 q¨#Ñ.Ô.ˆŒÝ”+˜b ! QÑ'Ô'ˆŒØ—.’. ¤Ñ)Ô)ˆŒˆˆrC   c                 óª   — t          | j        | j        d¬¦  «        }t           || j        ¦  «        |                      | j        ¦  «        ¦  «         d S )Nr   )Úrandom_state)r   rš   r›   r   r™   r—   r    s     rA   r¡   zTestBarycentric.test_lagrange_  sH   € å# D¤G¨T¬WÀ1ÐEÑEÔEˆÝ˜˜˜$œ,™œ¨¯ª¸¼Ñ)EÔ)EÑFÔFÐFÐFÐFrC   c                 ó>  — t          | j        | j        d¬¦  «        }t           |d¦  «        |                      d¦  «        d¬¦  «         t           |t          j        d¦  «        ¦  «        |                      t          j        d¦  «        ¦  «        d¬¦  «         d S )Nr   ©r7   r¤   Fr¥   )r   rš   r›   r   r—   r"   r§   r    s     rA   r¨   zTestBarycentric.test_scalard  s‚   € Ý# D¤G¨T¬W¸!Ð<Ñ<Ô<ˆÝ˜˜˜!™œ˜dŸnšn¨QÑ/Ô/¸%Ð@Ñ@Ô@Ð@Ý˜˜�"œ( 1™+œ+™œ¨¯ªµr´xÀ±{´{Ñ(CÔ(CÈeÐTÑTÔTÐTÐTÐTrC   c                 ó   — t          | j        | j        ¦  «        }|                     | j        ¦  «        }t          |j        d         ¦  «        D ]>}t           | j         	                    |¦  «        | j        ¦  «        ||         ¦  «         Œ?d S rª   )
r   rš   r›   rZ   r™   r&   r,   r   r—   r«   r¬   s       rA   r¯   z TestBarycentric.test_derivativesi  s‡   € Ý# D¤G¨T¬WÑ5Ô5ˆØ�MŠM˜$œ,Ñ'Ô'ˆÝ�q”w˜q”zÑ"Ô"ð 	Ið 	IˆAÝÐ3˜DœN×0Ò0°Ñ3Ô3°D´LÑAÔAÀ1ÀQÄ4ÑHÔHÐHÐHð	Ið 	IrC   c                 óP  — t          | j        | j        ¦  «        }|                     | j        t          | j        ¦  «        dz   ¦  «        }t          |j        d         ¦  «        D ]@}t           | j	         
                    |¦  «        | j        ¦  «        ||         d¬¦  «         ŒAd S )Nr   r   çê-�™—q=rö   )r   rš   r›   rZ   r™   r'   r&   r,   r   r—   r«   r¬   s       rA   r±   z$TestBarycentric.test_low_derivativeso  s¢   € Ý# D¤G¨T¬WÑ5Ô5ˆØ�MŠM˜$œ,­¨D¬G©¬°Q©Ñ7Ô7ˆÝ�q”w˜q”zÑ"Ô"ð 	(ð 	(ˆAÝÐ3˜DœN×0Ò0°Ñ3Ô3°D´LÑAÔAØ˜aœDØ!&ð(ñ (ô (ð (ð (ð	(ð 	(rC   c                 óö   — t          | j        | j        ¦  «        }d}|                     | j        |¦  «        }t          |¦  «        D ]1}t          |                     | j        |¦  «        ||         ¦  «         Œ2d S r³   )r   rš   r›   rZ   r™   r&   r   r_   rµ   s        rA   r¸   zTestBarycentric.test_derivativew  sy   € Ý# D¤G¨T¬WÑ5Ô5ˆØˆØ�MŠM˜$œ,¨Ñ*Ô*ˆÝ�q‘”ð 	Að 	AˆAÝ˜AŸLšL¨¬°qÑ9Ô9¸1¸Q¼4Ñ@Ô@Ð@Ð@ð	Að 	ArC   c           	      óH  — t          | j        | j        ¦  «        }t          t	          | j        ¦  «        dt	          | j        ¦  «        z  ¦  «        D ]O}t          |                     | j        |¦  «        t          j	        t	          | j        ¦  «        ¦  «        ¦  «         ŒPd S )NrE   )
r   rš   r›   r&   r'   r   r_   r™   r"   r+   rº   s      rA   r»   z$TestBarycentric.test_high_derivative~  sŒ   € Ý# D¤G¨T¬WÑ5Ô5ˆÝ•s˜4œ7‘|”| Q¥s¨4¬7¡|¤|¡^Ñ4Ô4ð 	9ð 	9ˆAÝ˜AŸLšL¨¬°qÑ9Ô9ÝœH¥S¨¬Ñ%6Ô%6Ñ7Ô7ñ9ô 9ð 9ð 9ð	9ð 	9rC   c                 óÞ  — | j         }t          j                             g d¢¦  «        }t          j                             g d¢¦  «        }t          j         || j        ¦  «         || j        ¦  «         || j        ¦  «        fd¬¦  «        }t          | j        |d¬¦  «        }|                     | j        ¦  «        }t          |j
        d         ¦  «        D ]”}t          ||         t          j         |                     |¦  «        | j        ¦  «         |                     |¦  «        | j        ¦  «         |                     |¦  «        | j        ¦  «        fd¬¦  «        d¬¦  «         Œ•d S ©Nr¾   r¿   r   rI   r   r(  rö   )r—   r"   r•   r–   rÃ   rš   r   rZ   r™   r&   r,   r   r«   rÄ   s           rA   rÈ   z%TestBarycentric.test_ndim_derivatives„  sW  € Ø”ˆÝ”×(Ò(¨¨¨Ñ8Ô8ˆÝ”×(Ò(Ð);Ð);Ð);Ñ<Ô<ˆÝŒX�u�u˜TœW‘~”~ u u¨T¬W¡~¤~°u°u¸T¼W±~´~ÐFÈRÐPÑPÔPˆå# D¤G¨R°aÐ8Ñ8Ô8ˆØ�MŠM˜$œ,Ñ'Ô'ˆÝ�q”w˜q”zÑ"Ô"ð 	(ð 	(ˆAÝ˜A˜aœDÝœH n e§k¢k°!¡n¤n°T´\Ñ&BÔ&BØ&4 e§k¢k°!¡n¤n°T´\Ñ&BÔ&BØ&4 e§k¢k°!¡n¤n°T´\Ñ&BÔ&Bð&Dð +-ð.ñ .ô .ð "'ð(ñ (ô (ð (ð (ð	(ð 	(rC   c                 óÄ  — | j         }t          j                             g d¢¦  «        }t          j                             g d¢¦  «        }t          j         || j        ¦  «         || j        ¦  «         || j        ¦  «        fd¬¦  «        }t          | j        |d¬¦  «        }t          |j        ¦  «        D ]§}t          | 
                    | j        |¦  «        t          j         |                     |¦  «        | j        ¦  «         |                     |¦  «        | j        ¦  «         |                     |¦  «        | j        ¦  «        fd¬¦  «        d¬¦  «         Œ¨d S r,  )r—   r"   r•   r–   rÃ   rš   r   r&   rÊ   r   r_   r™   r«   rË   s          rA   rÌ   z$TestBarycentric.test_ndim_derivative”  sJ  € Ø”ˆÝ”×(Ò(¨¨¨Ñ8Ô8ˆÝ”×(Ò(Ð);Ð);Ð);Ñ<Ô<ˆÝŒX�u�u˜TœW‘~”~ u u¨T¬W¡~¤~°u°u¸T¼W±~´~ÐFÈRÐPÑPÔPˆå# D¤G¨R°aÐ8Ñ8Ô8ˆÝ�q”s‘”ð 	(ð 	(ˆAÝ˜AŸLšL¨¬°qÑ9Ô9ÝœH n e§k¢k°!¡n¤n°T´\Ñ&BÔ&BØ&4 e§k¢k°!¡n¤n°T´\Ñ&BÔ&BØ&4 e§k¢k°!¡n¤n°T´\Ñ&BÔ&Bð&Dð +-ð.ñ .ô .ð "'ð(ñ (ô (ð (ð (ð	(ð 	(rC   c                 óÎ   — t          | j        ¦  «        }|                     | j        ¦  «         t	          |                      | j        ¦  «         || j        ¦  «        ¦  «         d S rX   )r   rš   Úset_yir›   r   r—   r™   r    s     rA   Útest_delayedzTestBarycentric.test_delayed£  sS   € Ý# D¤GÑ,Ô,ˆØ	�Š�”ÑÔÐÝ˜DŸNšN¨4¬<Ñ8Ô8¸!¸!¸D¼L¹/¼/ÑJÔJÐJÐJÐJrC   c                 ó&  — t          | j        d d…         | j        d d…         ¦  «        }|                     | j        dd …         | j        dd …         ¦  «         t	          |                      | j        ¦  «         || j        ¦  «        ¦  «         d S )Nr   )r   rš   r›   Úadd_xir   r—   r™   r    s     rA   Útest_appendzTestBarycentric.test_append¨  s{   € Ý# D¤G¨B¨Q¨B¤K°´¸¸!¸´Ñ=Ô=ˆØ	�Š�”˜˜˜”˜dœg a b bœkÑ*Ô*Ð*Ý˜DŸNšN¨4¬<Ñ8Ô8¸!¸!¸D¼L¹/¼/ÑJÔJÐJÐJÐJrC   c                 ój  ‡‡‡‡— g d¢Št          j        ddgddgddgg¦  «        Št          Š ‰‰‰¦  «        }ˆˆˆfd„t          ‰j        d         ¦  «        D ¦   «         }t          j        ddd¦  «        Št           |‰¦  «        t          j        ˆfd	„|D ¦   «         ¦  «        j        ¦  «         d S )
NrÐ   r   r   r   c                 ó<   •— g | ]} ‰‰‰d d …|f         ¦  «        ‘ŒS rX   r    )rÒ   r®   ÚBIrš   r›   s     €€€rA   rÓ   z/TestBarycentric.test_vector.<locals>.<listcomp>²  s1   ø€ Ð;Ð;Ð; 1ˆbˆb��R˜˜˜˜1˜”XÑÔÐ;Ð;Ð;rC   r   r   r“   c                 ó&   •— g | ]} |‰¦  «        ‘ŒS r    r    rÕ   s     €rA   rÓ   z/TestBarycentric.test_vector.<locals>.<listcomp>µ  rÖ   rC   )	r"   r§   r   r&   r,   r˜   r   rŠ   rØ   )rt   rx   rÙ   r6  r™   rš   r›   s      @@@@rA   rÚ   zTestBarycentric.test_vector­  sÕ   øøøø€ ØˆYˆYˆÝŒX˜˜1�v  1˜v¨¨1 vÐ.Ñ/Ô/ˆÝ$ˆØˆBˆr�2‰JŒJˆØ;Ð;Ð;Ð;Ð;Ð;­¨b¬h°q¬kÑ(:Ô(:Ð;Ñ;Ô;ˆÝ”+˜b ! SÑ)Ô)ˆÝ˜A˜A˜g™JœJÝœJÐ'?Ð'?Ð'?Ð'?¸BÐ'?Ñ'?Ô'?Ñ@Ô@ÔBñ	Dô 	Dð 	Dð 	Dð 	DrC   c                 ó|  — 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 ‚d S rÞ   )r   rš   r›   r"   r,   r§   r    s     rA   rß   z'TestBarycentric.test_shapes_scalarvalue·  s³   € Ý# D¤G¨T¬WÑ5Ô5ˆÝŒx˜˜˜!™œ‰~Œ~ Ò#Ð#Ð#Ð#ÝŒx˜˜�"œ( 1™+œ+™œÑ'Ô'¨2Ò-Ð-Ð-Ð-ÝŒx˜˜˜1˜#™œÑÔ 4Ò'Ð'Ð'Ð'ÝŒx˜˜˜1˜a˜&™	œ	Ñ"Ô" dÒ*Ð*Ð*Ð*Ð*Ð*rC   c                 óæ  — t          | j        | j        ¦  «        }|j        }t	          j        |                     d¦  «        ¦  «        |fk    sJ ‚t	          j        |                     t	          j        d¦  «        ¦  «        ¦  «        |fk    sJ ‚t	          j        |                     dg¦  «        ¦  «        |dfk    sJ ‚t	          j        |                     ddg¦  «        ¦  «        |dfk    sJ ‚d S rá   )r   rš   r›   rÊ   r"   r,   rZ   r§   râ   s      rA   rã   z2TestBarycentric.test_shapes_scalarvalue_derivative¾  sØ   € Ý# D¤G¨D¬GÑ4Ô4ˆØŒCˆÝŒx˜Ÿš aÑ(Ô(Ñ)Ô)¨a¨TÒ1Ð1Ð1Ð1ÝŒx˜Ÿš¥b¤h¨q¡k¤kÑ2Ô2Ñ3Ô3¸°tÒ;Ð;Ð;Ð;ÝŒx˜Ÿš q cÑ*Ô*Ñ+Ô+°°!¨uÒ4Ð4Ð4Ð4ÝŒx˜Ÿš q¨ eÑ,Ô,Ñ-Ô-°!°A°Ò6Ð6Ð6Ð6Ð6Ð6rC   c           	      ó\  — 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 ‚d S rå   )r   rš   r"   ræ   r›   rç   r,   r    s     rA   rè   z'TestBarycentric.test_shapes_vectorvalueÆ  sœ   € Ý# D¤G­R¬X°d´g½r¼yÈ¹|¼|Ñ-LÔ-LÑMÔMˆÝŒx˜˜˜!™œ‰~Œ~ Ò%Ð%Ð%Ð%ÝŒx˜˜˜1˜#™œÑÔ 6Ò)Ð)Ð)Ð)ÝŒx˜˜˜1˜a˜&™	œ	Ñ"Ô" fÒ,Ð,Ð,Ð,Ð,Ð,rC   c                 ó:  — 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 ‚d S rê   )r   rš   r"   ræ   r›   r,   r    s     rA   rë   z*TestBarycentric.test_shapes_1d_vectorvalueÌ  s–   € Ý# D¤G­R¬X°d´gÀ¸sÑ-CÔ-CÑDÔDˆÝŒx˜˜˜!™œ‰~Œ~ Ò%Ð%Ð%Ð%ÝŒx˜˜˜1˜#™œÑÔ 6Ò)Ð)Ð)Ð)ÝŒx˜˜˜1˜a˜&™	œ	Ñ"Ô" fÒ,Ð,Ð,Ð,Ð,Ð,rC   c           	      ó¶  — t          | j        t          j        | j        t          j        d¦  «        ¦  «        ¦  «        }|j        }t          j        |                     d¦  «        ¦  «        |dfk    sJ ‚t          j        |                     dg¦  «        ¦  «        |ddfk    sJ ‚t          j        |                     ddg¦  «        ¦  «        |ddfk    sJ ‚d S rí   )	r   rš   r"   ræ   r›   rç   rÊ   r,   rZ   râ   s      rA   rî   z2TestBarycentric.test_shapes_vectorvalue_derivativeÒ  sÁ   € Ý# D¤G­B¬H°T´W½R¼YÀq¹\¼\Ñ,JÔ,JÑKÔKˆØŒCˆÝŒx˜Ÿš aÑ(Ô(Ñ)Ô)¨a°¨VÒ3Ð3Ð3Ð3ÝŒx˜Ÿš q cÑ*Ô*Ñ+Ô+°°1°a¨yÒ8Ð8Ð8Ð8ÝŒx˜Ÿš q¨! fÑ-Ô-Ñ.Ô.°1°a¸°)Ò;Ð;Ð;Ð;Ð;Ð;rC   c           
      óÜ  — t          | j        | j        d¬¦  «        }t          }t	           || j        ¦  «         || j        | j        | j        d¬¦  «        ¦  «         t	          |                     | j        d¦  «         || j        | j        | j        dd¬¦  «        ¦  «         t	          |                     | j        d¦  «         || j        | j        | j        ddgd¬¦  «        ¦  «         d S )Nr   r%  r   )rñ   r7   r   )r   rš   r›   r   r   r™   r_   rZ   )rt   rx   Úbis      rA   ró   zTestBarycentric.test_wrapperÙ  sí   € Ý# D¤G¨T¬W¸!Ð<Ñ<Ô<ˆÝ$ˆÝ˜˜˜$œ,™œ¨¨¨D¬G°T´W¸d¼lÐPQÐ)RÑ)RÔ)RÑSÔSÐSÝ˜Ÿš T¤\°1Ñ5Ô5Ø˜˜4œ7 D¤G¨T¬\¸qÀaÐHÑHÔHñ	Jô 	Jð 	Jå˜Ÿš d¤l°AÑ6Ô6Ø˜˜4œ7 D¤G¨T¬\ÀÀ1¸vÈ1ÐMÑMÔMñ	Oô 	Oð 	Oð 	Oð 	OrC   c                 óÆ   — dt          j        dd¦  «        z  }t          j        dd¦  «        }t          ||d¦  «        }t          |t          j        d¦  «        ¦  «         d S )Niè  r   é   g     ŽÂ@g      #@)r"   rç   r   r   rŠ   )rt   r8   r:   Úvalues       rA   Útest_int_inputzTestBarycentric.test_int_inputâ  sX   € Ø•2”9˜Q Ñ#Ô#Ñ#ˆÝŒI�a˜ÑÔˆÝ'¨¨1¨jÑ9Ô9ˆÝ˜E¥2¤:¨c¡?¤?Ñ3Ô3Ð3Ð3Ð3rC   c                 ór  — d}t          j        |dz   ¦  «                             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  |¦  «         d S )NiL  r   r   r   ç      à?r   )	r"   rç   ÚastypeÚfloat64ÚcosÚpir   Úwir   )rt   rÊ   Újr8   Úwrx   Úfactors          rA   Útest_large_chebyshevz$TestBarycentric.test_large_chebyshevè  sµ   € ð ˆÝŒI�a˜!‘eÑÔ×#Ò#¥B¤JÑ/Ô/ˆÝŒF�1•r”u‘9˜q‘=Ñ!Ô!ˆð �A‰IˆØ	ˆ!ˆˆŒ�‰ˆˆ‰Ø	ˆ"ˆˆŒ�‰ˆˆ‰å# AÑ&Ô&ˆð ”�a”ˆÝ˜AœD A¨¡JÑ/°Ñ3Ô3Ð3Ð3Ð3rC   c                 óö   — t          ddgddg¦  «        }t          j        d¬¦  «        5   ||j        ¦  «        }d d d ¦  «         n# 1 swxY w Y   t	          ||j                             ¦   «         ¦  «         d S )Nr   r   r   Úraise)Údivide)r   r"   Úerrstater;   r   r=   Úravel)rt   rx   r=   s      rA   Útest_warningzTestBarycentric.test_warning  s´   € õ $ Q¨ F¨Q°¨FÑ3Ô3ˆÝŒ[ Ð(Ñ(Ô(ð 	ð 	Ø��1”4‘”ˆBð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ
 	˜B ¤§
¢
¡¤Ñ-Ô-Ð-Ð-Ð-s   ªAÁAÁAc                 óæ   — t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          j        t          d¬¦  «        5  t          ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N)çš™™™™™¹?rD  çÍÌÌÌÌÌì?rD  rˆ   z)Interpolation points xi must be distinct.r  )r"   r§   r	  r   Ú
ValueErrorr   )rt   Úxisr›   s      rA   Útest_repeated_nodez"TestBarycentric.test_repeated_node  sÀ   € õ ŒhÐ+Ð+Ð+Ñ,Ô,ˆÝŒX�l�l�lÑ#Ô#ˆÝŒ]�:Ø!LðNñ Nô Nð 	-ð 	-å# C¨Ñ,Ô,Ð,ð	-ð 	-ð 	-ñ 	-ô 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-øøøð 	-ð 	-ð 	-ð 	-ð 	-ð 	-s   ÁA&Á&A*Á-A*c                 óh   ‡ — t          ‰ j        ‰ j        ¦  «        }ˆ fd„}t          d||¦  «         d S )Nc                 ó(   •—  |‰j         ¦  «         d S 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  sI   ø€ Ý# D¤G¨T¬WÑ5Ô5ˆð	ð 	ð 	ð 	ð 	õ 	   I¨qÑ1Ô1Ð1Ð1Ð1rC   N)ru   rv   rw   r�   r¡   r¨   r¯   r±   r¸   r»   rÈ   rÌ   r0  r3  rÚ   rß   rã   rè   rë   rî   ró   rB  rM  rS  rY  r  r    rC   rA   r   r   X  s…  € € € € € ð*ð *ð *ðGð Gð Gð
Uð Uð Uð
Ið Ið Ið(ð (ð (ðAð Að Að9ð 9ð 9ð(ð (ð (ð (ð (ð (ðKð Kð Kð
Kð Kð Kð
Dð Dð Dð+ð +ð +ð7ð 7ð 7ð-ð -ð -ð-ð -ð -ð<ð <ð <ðOð Oð Oð4ð 4ð 4ð4ð 4ð 4ð2	.ð 	.ð 	.ð-ð -ð -ð2ð 2ð 2ð 2ð 2rC   r   c                   óL   — 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dS )Ú	TestPCHIPé   c                 óÞ   — t           j                             d¦  «        }t          j        |                     |¦  «        ¦  «        }|                     |¦  «        }t	          ||¦  «        ||fS )Nr   )r"   r#   r$   Úsortr   )rt   Únptsr7   r;   r=   s        rA   Ú_make_randomzTestPCHIP._make_random  sX   € ÝŒi×#Ò# DÑ)Ô)ˆÝŒW�S—Z’Z Ñ%Ô%Ñ&Ô&ˆØ�ZŠZ˜ÑÔˆÝ�R˜‰}Œ}˜b "Ð$Ð$rC   c                 ój  — |                       ¦   «         \  }}}t          t          |¦  «        dz
  ¦  «        D ]z}||         ||dz            }}||         ||dz            }}||k    r||}}t          j        ||d¦  «        }	 ||	¦  «        }
||
dz   k    |
|dz   k    z                       ¦   «         sJ ‚Œ{d S )Nr   r´   rþ   ©rb  r&   r'   r"   r˜   Úall©rt   r‹   r;   r=   r®   Úx1Úx2Úy1Úy2ÚxpÚyps              rA   Útest_overshootzTestPCHIP.test_overshoot%  sÖ   € à×%Ò%Ñ'Ô'‰	ˆˆ2ˆrÝ•s˜2‘w”w˜q‘yÑ!Ô!ð 	Cð 	CˆAØ˜”U˜B˜q ™sœG�ˆBØ˜”U˜B˜q ™sœG�ˆBØ�BŠwˆwØ˜R�B�Ý”˜R  RÑ(Ô(ˆBØ��2‘”ˆBØ˜2 ™:Ò%¨"°°U±
Ò*:Ñ;×@Ò@ÑBÔBÐBÐBÐBÐBð	Cð 	CrC   c                 ón  — |                       ¦   «         \  }}}t          t          |¦  «        dz
  ¦  «        D ]|}||         ||dz            }}||         ||dz            }}t          j        ||d¦  «        }	 ||	¦  «        }
||z
  |
dd …         |
d d…         z
  z  dk                         ¦   «         sJ ‚Œ}d S )Nr   r´   r   rd  rf  s              rA   Útest_monotonezTestPCHIP.test_monotone1  sË   € à×%Ò%Ñ'Ô'‰	ˆˆ2ˆrÝ•s˜2‘w”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¨2¬™Ñ/°!Ò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¬¦  «         d S )	N)
r   r   rÀ   é   é/   é<   éO   éW   éc   r“   )
éßÿÿÿrw  iíÿÿÿr’   rÀ   é   é&   é-   é5   é7   r“   r   r   ç      ð?ç›+¡†›„=)r÷   Úrtol)r"   r§   rç   r   r   )rt   ÚdataÚxxÚcurveÚdata1Úcurve1s         rA   Ú	test_castzTestPCHIP.test_cast;  s¢   € åŒxÐ@Ð@Ð@ØDÐDÐDðFñ Gô GˆåŒY�s‰^Œ^ˆØ'•�d˜1”g˜t AœwÑ'Ô'¨Ñ+Ô+ˆà�s‘
ˆØ*•�u˜Q”x  q¤Ñ*Ô*¨2Ñ.Ô.ˆå˜˜v¨E¸Ð>Ñ>Ô>Ð>Ð>Ð>rC   c                 óN  — 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¬¦  «         d S )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
?©r  r÷   )r"   ÚloadtxtÚioÚStringIOr   r   )rt   ÚdataStrr€  ÚpchÚ	resultStrÚresults         rA   Útest_nagzTestPCHIP.test_nagG  s¬   € ð

ˆõ Œz�"œ+ gÑ.Ô.Ñ/Ô/ˆÝ�D˜˜˜˜1˜”I˜t A A A a CœyÑ)Ô)ˆðˆ	õ ”�BœK¨	Ñ2Ô2Ñ3Ô3ˆÝ˜˜q˜q˜q ˜sœ S S¨°°°°!°¬Ñ%5Ô%5¸BÀTÐJÑJÔJÐJÐJÐJrC   c                 ó  — t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          ||¦  «        t          ||¦  «        fD ]'}|d         |d         fD ]} ||d¦  «        dk    sJ ‚ŒŒ(d S )N)r‡  rU  g      Ð?gffffffÖ?)çš™™™™uq@g     @@ç     @�@ç     ˆ£@)r’  r”  g     p—@r“  r   r   r   )r"   r§   r   )rt   r8   ri  rj  ÚppÚts         rA   Útest_endslopeszTestPCHIP.test_endslopesj  s­   € õ ŒHÐ+Ð+Ð+Ñ,Ô,ˆÝŒXÐ3Ð3Ð3Ñ4Ô4ˆÝŒXÐ4Ð4Ð4Ñ5Ô5ˆÝ˜˜B‘<”<¥ q¨"¡¤Ð.ð 	%ð 	%ˆBØ˜”d˜A˜bœE�]ð %ð %�Ø�r˜!˜Q‘x”x 1’}�}�}�}�}ð%ð	%ð 	%rC   c                 ó\  — t          j        d¦  «        }t          j        |¦  «        }t          j        ¦   «         5  t          j        d¦  «         t          ||¦  «        }d d d ¦  «         n# 1 swxY w Y   t          j        ddd¦  «        }t           ||¦  «        dk    ¦  «        sJ ‚d S )Nr´   Úerrorr   é	   ée   r‡  )	r"   rç   rù   ÚwarningsÚcatch_warningsÚfilterwarningsr   r˜   re  )rt   r8   r:   r�  r�  s        rA   Útest_all_zeroszTestPCHIP.test_all_zerost  sÝ   € ÝŒI�b‰MŒMˆÝŒM˜!ÑÔˆõ Ô$Ñ&Ô&ð 	ð 	ÝÔ# GÑ,Ô,Ð,Ý˜˜1‘+”+ˆCð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ Œ[˜˜A˜sÑ#Ô#ˆÝ�3�3�r‘7”7˜b’=Ñ!Ô!Ð!Ð!Ð!Ð!Ð!s   ¼%A-Á-A1Á4A1c                 ó–   — t          j        ddd¦  «        }t          ddgddg¦  «        }t           ||¦  «        d|z  d¬¦  «         d S )Nr   r   r@  r   rþ   rö   )r"   r˜   r   r   )rt   r8   r‹   s      rA   Útest_two_pointszTestPCHIP.test_two_points€  sU   € õ
 Œ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¦  «        ¦  «         d S )	N©r   r   r   )r   rE   r   rD  r   rð   r}  r   g      @)r   r   r"   rŠ   rœ   s    rA   Útest_pchip_interpolatez TestPCHIP.test_pchip_interpolate‰  sâ   € Ý!Ý˜i˜i˜i¨¨¨°S°E¸qÐAÑAÔAÝŒJ˜�tÑÔñ	ô 	ð 	õ 	"Ý˜i˜i˜i¨¨¨°S°E¸qÐAÑAÔAÝŒJ˜�uÑÔñ	ô 	ð 	õ 	"ÝŒJÕ(¨¨¨°I°I°IÀ¸uÈ1ÈaÈ&ÐQÑQÔQÑRÔRÝŒJ˜˜ ˜s�|Ñ$Ô$ñ	&ô 	&ð 	&ð 	&ð 	&rC   c                 óœ   — t          ddgddg¦  «        }|                     ¦   «         }t          |t          j        dg¦  «        ¦  «         d S )Nr   r   r   rD  )r   Úrootsr   r"   rŠ   )rt   r‹   r·   s      rA   Ú
test_rootszTestPCHIP.test_roots–  sH   € å�1�a�&˜2˜q˜'Ñ"Ô"ˆØ�GŠG‰IŒIˆÝ˜�2œ: s eÑ,Ô,Ñ-Ô-Ð-Ð-Ð-rC   N)r^  )ru   rv   rw   rb  rm  ro  r…  r�  r—  rŸ  r¡  r¤  r§  r    rC   rA   r]  r]    s¶   € € € € € ð%ð %ð %ð %ð
Cð 
Cð 
Cð;ð ;ð ;ð
?ð 
?ð 
?ð!Kð !Kð !KðF%ð %ð %ð
"ð 
"ð 
"ð/ð /ð /ð&ð &ð &ð.ð .ð .ð .ð .rC   r]  c                   óf   — 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dS )ÚTestCubicSplineú
not-a-knotr~  c           	      ó
  — | j         }| j        }t          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    r?|dk    r9|dk    r3t          |d         t          j	        |d         ¦  «        ||¬¦  «         dS |d	k    r›t           | |d         d¦  «         | |d         d¦  «        ||¬¦  «         t           | |d         d¦  «         | |d         d¦  «        ||¬¦  «         t           | |d         d¦  «         | |d         d¦  «        ||¬¦  «         dS |dk    r�|j        dk    rd | |d         ¦  «         | |d         ¦  «        z
  |d         z  }t          j
        |¦  «        }t           | |d         d¦  «        |||¬¦  «         nòt          |d
         |d         ||¬¦  «         nÒ|dk    rFt           | |d         d¦  «        t          j	         | |d         d¦  «        ¦  «        ||¬¦  «         n†|dk    rFt           | |d         d¦  «        t          j	         | |d         d¦  «        ¦  «        ||¬¦  «         n:|\  }	}
t           | |d         |	¦  «        t          j
        |
¦  «        ||¬¦  «         |dk    r‘|j        dk    re | |d         ¦  «         | |d         ¦  «        z
  |d         z  }t          j
        |¦  «        }t           | |d         d¦  «        |||¬¦  «         dS t          |d         |d         ||¬¦  «         dS |dk    rGt           | |d         d¦  «        t          j	         | |d         d¦  «        ¦  «        ||¬¦  «         dS |dk    rMt           | |d         d¦  «        t          j	         | |d         d¦  «        ¦  «        d|z  d|z  ¬¦  «         dS |\  }	}
t           | |d         |	¦  «        t          j
        |
¦  «        ||¬¦  «         dS )zVCheck that spline coefficients satisfy the continuity and boundary
        conditions.r   r   r   Nr   r   rˆ  rª  Ú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ÚorderrA  s              rA   Úcheck_correctnessz!TestCubicSpline.check_correctnessŸ  sÔ  € ð
 ŒCˆØŒCˆÝŒW�Q‰ZŒZˆØ�ZŠZ˜œ !œ˜¨¨¨q¬v¸©zÑ(:Ñ:Ñ;Ô;ˆØ��"�Œgˆõ 	˜˜!˜Q˜R˜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ñ 	Iô 	Ið 	Iå˜˜!˜Q˜R˜R˜%œ ! a¨¨3¨B¨3¨¤i¡-°#°q±&Ñ"8Ø˜A˜a  " ˜fœI™¨Ñ+ñ#,Ø./°°3°B°3°¬iñ#8Ø>AÈð	Mñ 	Mô 	Mð 	Må˜˜!˜Q˜R˜R˜%œ ! a¨¨3¨B¨3¨¤i¡-°#Ñ"5¸¸!¸S¸b¸S¸&¼	Ñ"AØ  sð	,ñ 	,ô 	,ð 	,ð Œ6�QŠ;ˆ;˜8 |Ò3Ð3¸À,Ò8NÐ8NÝ˜A˜aœD¥"¤-°°!´Ñ"5Ô"5¸CÀcÐJÑJÔJÐJØˆFð �zÒ!Ð!Ý˜A˜A˜a œd A™JœJ¨¨¨!¨B¬%°©¬¸#ÀCÐHÑHÔHÐHÝ˜A˜A˜a œd A™JœJ¨¨¨!¨B¬%°©¬¸#ÀCÐHÑHÔHÐHÝ˜A˜A˜a œd A™JœJ¨¨¨!¨B¬%°©¬¸#ÀCÐHÑHÔHÐHØˆFð �|Ò#Ð#ØŒv˜Š{ˆ{Ø˜˜1˜Qœ4™œ 1 1 Q q¤T¡7¤7Ñ*¨b°¬eÑ3�Ýœ
 5Ñ)Ô)�Ý   ! A¤$¨¡
¤
¨E¸À#ÐFÑFÔFÐFÐFå  $¤¨¨4¬°sÀÐEÑEÔEÐEÐEØ˜Ò"Ð"ÝØ��!�A”$˜‘
”
�BœM¨!¨!¨A¨a¬D°!©*¬*Ñ5Ô5¸CÀcðKñ Kô Kð Kð Kà˜Ò"Ð"ÝØ��!�A”$˜‘
”
�BœM¨!¨!¨A¨a¬D°!©*¬*Ñ5Ô5¸CÀcðKñ Kô Kð Kð Kð $‰LˆE�5Ý˜A˜A˜a œd E™NœN­B¬J°uÑ,=Ô,=ÀCÈcÐRÑRÔRÐRà�\Ò!Ð!ØŒv˜Š{ˆ{Ø˜˜1˜Qœ4™œ 1 1 Q q¤T¡7¤7Ñ*¨b°¬eÑ3�Ýœ
 5Ñ)Ô)�Ý   ! A¤$¨¡
¤
¨E¸À#ÐFÑFÔFÐFÐFÐFå  %¤¨!¨E¬(¸À3ÐGÑGÔGÐGÐGÐGØ�yÒ Ð Ý˜A˜A˜a œe Q™KœK­¬°q°q¸¸2¼À±{´{Ñ)CÔ)CØ!$¨3ð0ñ 0ô 0ð 0ð 0ð 0à�yÒ Ð Ý˜A˜A˜a œe Q™KœK­¬°q°q¸¸2¼À±{´{Ñ)CÔ)CØ!" 3¡¨Q¨s©Uð4ñ 4ô 4ð 4ð 4ð 4ð "‰LˆE�5Ý˜A˜A˜a œe U™OœO­R¬Z¸Ñ->Ô->ÀSÈsÐSÑSÔSÐSÐSÐSrC   c           	      óÌ  — t          |j        ¦  «        }||= t          j        |¦  «        }|                     d¦  «         t          j        |¦  «        }|                     d¦  «         dddd|fd|fg}|d d…         D ],}t          ||||¬¦  «        }	|                      |	||¦  «         Œ-|D ]5}
|D ]0}t          ||||
|f¬¦  «        }	|                      |	|
|d	¬
¦  «         Œ1Œ6d S )Nr   r   rª  rL   rM   r   r   ©r   rN   g›+¡†›„=©r²  )r%   r,   r"   ÚemptyÚfillr   r·  )rt   r8   r:   r   r5   Úfirst_derivÚsecond_derivÚbc_allrS   r¯  r°  r±  s               rA   Úcheck_all_bczTestCubicSpline.check_all_bcá  s6  € Ý˜1œ7‘m”mˆØ˜ÐÝ”h˜{Ñ+Ô+ˆØ×Ò˜ÑÔÐÝ”x Ñ,Ô,ˆØ×Ò˜"ÑÔÐàØØØ�ÐØ�Ðð
ˆð ˜˜!˜”*ð 	.ð 	.ˆBÝ˜A˜q t°RÐ8Ñ8Ô8ˆAØ×"Ò" 1 b¨"Ñ-Ô-Ð-Ð-àð 	Gð 	GˆHØ ð Gð G�Ý  1¨4¸(ÀFÐ9KÐLÑLÔL�Ø×&Ò& q¨(°FÀÐ&ÑFÔFÐFÐFðGð	Gð 	GrC   c                 óÔ  — t          j        g d¢¦  «        }t          j        g d¢¦  «        }dd|j        fD ]°}|                      |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<   |                      |d |…         |d¦  «         Œ±d S )N)r   r   rD  r   r   g      @g      @rš  )r   g      à¿r   r   g      @r   r   rD  r   r   r   r   )r"   r§   r-   rÀ  r»  )rt   r8   r:   rÊ   ÚYs        rA   Útest_generalzTestCubicSpline.test_generalø  s'  € ÝŒHÐ4Ð4Ð4Ñ5Ô5ˆÝŒHÐ4Ð4Ð4Ñ5Ô5ˆØ�Q˜œ�ð 	+ð 	+ˆAØ×Ò˜a   œe Q r¨ r¤U¨AÑ.Ô.Ð.å”˜!˜Q ˜Ñ#Ô#ˆAØ˜2˜A˜2œˆAˆa����Aˆg‰JØ˜2˜A˜2œ ™ˆAˆa����Aˆg‰JØ˜2˜A˜2œ ™ˆAˆa����Aˆg‰JØ˜2˜A˜2œ ™ˆAˆa����Aˆg‰JØ×Ò˜a   œe Q¨Ñ*Ô*Ð*Ð*ð	+ð 	+rC   c                 ó´  — dD ]Ô}t          j        ddt           j        z  |¦  «        }t          j        |¦  «        }t	          ||d¬¦  «        }|                      |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¬¦  «        }|                      |dd¦  «         ŒÕd S )	N)r   r   rE   r   r   r¬  ©rN   r   rE   r¹  )r"   r˜   rH  rG  r   r·  r»  )rt   rÊ   r8   r:   r¯  rÂ  s         rA   Útest_periodiczTestCubicSpline.test_periodic  s  € Øð 	>ð 	>ˆAÝ”˜A˜q¥2¤5™y¨!Ñ,Ô,ˆAÝ”�q‘	”	ˆAÝ˜A˜q¨*Ð5Ñ5Ô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                 óz  — |                      dd|j        z  d|j        ¬¦  «        }|                     |¦  «        }t	          ||d¬¦  «        }t           |d¦  «         |dd|j        z  z   ¦  «        d¬	¦  «         t	          ||¦  «        }t           ||¦  «        |                     |¦  «        d¬	¦  «         d S )
Nr   r   r´   ©Údtyper¬  rÅ  r   r  )Údecimal)r˜   rH  rF  rG  r   r   )rt   rk  r8   r:   r¯  s        rA   Útest_periodic_evalz"TestCubicSpline.test_periodic_eval  s³   € Ø�KŠK˜˜1˜rœu™9 b°´
ˆKÑ;Ô;ˆØ�FŠF�1‰IŒIˆÝ˜˜1 jÐ1Ñ1Ô1ˆÝ˜A˜A˜a™DœD ! ! A¨¨B¬E©	¡MÑ"2Ô"2¸BÐ?Ñ?Ô?Ð?å˜˜1ÑÔˆÝ˜A˜A˜a™DœD "§&¢&¨¡)¤)°RÐ8Ñ8Ô8Ð8Ð8Ð8rC   c                 ó²   — t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          ||dd¬¦  «        }|                      |dd¦  «         d S )N)rV  çÍÌÌÌÌÌô?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ö?rV  gffffffæ?g333333ã?rD  gš™™™™™Ù?rÍ  r¬  )rN   Úextrapolate)r"   r§   r   r·  ©rt   r8   r:   r¯  s       rA   Ú*test_second_derivative_continuity_gh_11758z:TestCubicSpline.test_second_derivative_continuity_gh_11758  s€   € åŒHð Oð Oð Oñ Pô PˆåŒHð Pð Pð Pñ Qô Qˆå˜˜1 j¸jÐIÑIÔIˆØ×Ò˜q *¨jÑ9Ô9Ð9Ð9Ð9rC   c                 ó0  — t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          ||d¬¦  «        }|                      |dd¦  «         t	           |                     d¦  «        |¦  «        t          j        g d¢¦  «        ¦  «         d S )N)r}  g      @rÐ  )r}  g      .@r}  r¬  rÅ  r   )ç      HÀrÖ  rÖ  )r"   r§   r   r·  r   r_   rÓ  s       rA   Útest_three_pointsz!TestCubicSpline.test_three_points&  s—   € õ ŒHÐ%Ð%Ð%Ñ&Ô&ˆÝŒHÐ%Ð%Ð%Ñ&Ô&ˆÝ˜˜1 jÐ1Ñ1Ô1ˆØ×Ò˜q *¨jÑ9Ô9Ð9Ý˜˜Ÿš Q™œ¨Ñ*Ô*­B¬HÐ5JÐ5JÐ5JÑ,KÔ,KÑLÔLÐLÐLÐLrC   c                 ó
  — t          j        g d¢¦  «        }t          j        ddgddgddgg¦  «        }t          ||d¬¦  «        }|                      |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          ||¦  «        ¦  «         d S )
N)r‡  r}  rÐ  r‡  r}  r¬  rÅ  r   r   r   rE   )r"   r§   r   r·  r˜   r   )rt   r8   r:   r¯  ÚS0ÚS1Úqs          rA   Ú#test_periodic_three_points_multidimz3TestCubicSpline.test_periodic_three_points_multidim2  s  € õ ŒH�_�_�_Ñ%Ô%ˆÝŒH�s˜C�j 3¨ *¨s°C¨jÐ9Ñ:Ô:ˆÝ˜˜1 jÐ1Ñ1Ô1ˆØ×Ò˜q *¨jÑ9Ô9Ð9Ý˜˜A˜a˜a˜a ˜dœG¨ZÐ8Ñ8Ô8ˆÝ˜˜A˜a˜a˜a ˜dœG¨ZÐ8Ñ8Ô8ˆÝŒK˜˜1˜aÑ Ô ˆÝ˜˜˜!™œ˜Q˜Q˜Q ˜Tœ
 B B q¡E¤EÑ*Ô*Ð*Ý˜˜˜!™œ˜Q˜Q˜Q ˜Tœ
 B B q¡E¤EÑ*Ô*Ð*Ð*Ð*rC   c                 ó  — t          j        g d¢t          ¬¦  «        }t          j        g d¢t          ¬¦  «        }t          ||¦  «        }|                      |¦  «         t          j        g d¢¦  «        }t          ||¦  «        }|                      |¦  «         t          ||dz  d¬¦  «        }|                      |dd	¦  «         t          j        g d¢¦  «        }t          ||d
dg¬¦  «        }|                      |d
d¦  «         d S )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�]�]�]­#Ð.Ñ.Ô.ˆÝ˜˜1ÑÔˆØ×Ò˜qÑ!Ô!Ð!åŒHÐ1Ð1Ð1Ñ2Ô2ˆÝ˜˜1ÑÔˆØ×Ò˜qÑ!Ô!Ð!å˜˜1 ™6Ð+?Ð@Ñ@Ô@ˆØ×Ò˜q )¨WÑ5Ô5Ð5åŒH�]�]�]Ñ#Ô#ˆÝ˜˜1 }°mÐ&DÐEÑEÔEˆØ×Ò˜q -°Ñ?Ô?Ð?Ð?Ð?rC   c                 ó  — t           j                             d¦  «        }t          j        |                     d¬¦  «        ¦  «        }d|                     d¬¦  «        z   }t          ||¦  «        }|                      |d¬¦  «         d S )Nr   r“   )r-   g     ˆÃ@g‚vIhÂ%<=rº  )r"   r#   r$   r`  Úuniformr   r·  )rt   r7   r8   r:   r¯  s        rA   Útest_small_dxzTestCubicSpline.test_small_dxP  sz   € ÝŒi×#Ò# AÑ&Ô&ˆÝŒ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¦  «         d S )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_raisesrW  r   ÚnewaxisÚc_)rt   r8   r:   ÚxcÚxnÚxoÚynÚy3rg  ri  Úwrong_bcrN   rÂ  Úbc1Úbc2Úbc3s                   rA   Útest_incorrect_inputsz%TestCubicSpline.test_incorrect_inputsW  s$  € ÝŒH�\�\�\Ñ"Ô"ˆÝŒH�\�\�\Ñ"Ô"ˆÝŒXÐ'Ð'Ð'Ñ(Ô(ˆÝŒX•r”v˜q ! QÐ'Ñ(Ô(ˆÝŒX�l�l�lÑ#Ô#ˆÝŒX•r”v˜q ! QÐ'Ñ(Ô(ˆØˆYˆYˆØˆSˆØˆSˆå•j¥+¨r°1Ñ5Ô5Ð5Ý•j¥+¨r°1Ñ5Ô5Ð5Ý•j¥+¨q°"Ñ5Ô5Ð5Ý•j¥+¨r°1Ñ5Ô5Ð5Ý•j¥+¨q°"Ñ5Ô5Ð5Ý•j¥+¨q°°°µB´J°Ô/?ÀÑCÔCÐCÝ•j¥+¨r°2Ñ6Ô6Ð6ð"ð "ð "ˆð  ð 	Kð 	KˆGÝ�*¥k°1°a¸¸GÀTÑJÔJÐJÐJõ ŒE�!�Q�$ŒKˆØ!ˆØ˜1˜i˜i˜i˜.Ð)ˆØ˜1  1˜v˜h˜-Ð(ˆÝ•j¥+¨q°!°Q¸¸TÑBÔBÐBÝ•j¥+¨q°!°Q¸¸TÑBÔBÐBÝ•j¥+¨q°!°Q¸¸TÑBÔBÐBõ 	•j¥+¨q°!°Q¸
ÀDÑIÔIÐIÐIÐIrC   N)rª  rª  r~  )ru   rv   rw   Ústaticmethodr·  rÀ  rÃ  rÆ  rË  rÔ  r×  rÜ  rà  rã  ró  r    rC   rA   r©  r©  �  sá   € € € € € àØ;GØ#ð?Tð ?Tð ?Tñ „\ð?TðBGð Gð Gð.+ð +ð +ð>ð >ð >ð9ð 9ð 9ð:ð :ð :ð
Mð 
Mð 
Mð+ð +ð +ð@ð @ð @ð"-ð -ð -ð&Jð &Jð &Jð &Jð &JrC   r©  c                 ó(  — |                       g d¢¦  «        }|                       g d¢¦  «        }|                       g d¢¦  «        }t          |||¦  «        }t           ||¦  «        |ddd¬¦  «         t           ||d¦  «        |ddd¬¦  «         d S )N)r   r   r¤   )r   r   r   )r   r   r¤   Frþ   )rB   Úcheck_dtyper  r   )rŠ   r   r   )rk  r8   r:   r<   r9   s        rA   Ú#test_CubicHermiteSpline_correctnessr÷  €  sœ   € à
�
Š
�9�9�9ÑÔ€AØ
�
Š
�:�:�:ÑÔ€AØ�:Š:�i�i�iÑ Ô €DÝ˜1˜a Ñ&Ô&€AÝ�A�A�a‘D”D˜!¨¸EÈÐNÑNÔNÐNÝ�A�A�a˜‘G”G˜T¨uÀ%ÈeÐTÑTÔTÐTÐTÐTrC   c                  ó°   — g d¢} g d¢}g d¢}t          t          t          | ||¦  «         ddt          j        g}t          t          t          | ||¦  «         d S )Nr£  )r   r   rE   )r   r   r   r   r   r   )rç  rW  r   r"   ræ  )r8   r:   r<   Údydx_with_nans       rA   Ú&test_CubicHermiteSpline_error_handlingrú  Š  s^   € Øˆ	ˆ	€AØˆ	ˆ	€AØˆ=ˆ=€DÝ•*Õ0°!°Q¸Ñ=Ô=Ð=à˜�2œ6�N€MÝ•*Õ0°!°Q¸ÑFÔFÐFÐFÐFrC   c                  ó"  — t          j        ddg¦  «        } t          j        ddg¦  «        }t          j        ddg¦  «        }t          | ||¦  «        }|                     d¬¦  «        }|j        j        d	         d	k    sJ ‚|j        d
k    sJ ‚d S )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Ô2€AÝ	Œ�; 	Ð*Ñ	+Ô	+€BÝ˜1˜a Ñ$Ô$€Að 	
�Š˜DˆÑ!Ô!€AØŒ3Œ9�QŒ<˜1ÒÐÐÐØŒ6�QŠ;ˆ;ˆ;ˆ;ˆ;ˆ;rC   c                   ót  — e Zd Zej                             d ej        d¦  «         ej        d¦  «        g¦  «        ej                             dg d¢¦  «        ej                             dg d¢¦  «        ej                             dee	g¦  «        d	„ ¦   «         ¦   «         ¦   «         ¦   «         Z
ej                             d ej        d¦  «         ej        d¦  «        g¦  «        ej                             dg d¢¦  «        ej                             deeg¦  «        d
„ ¦   «         ¦   «         ¦   «         ZdS )Ú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 ‚d S )Nr´   r   rÅ  r   r   )rN   r   ©r"   rç   r-   r,   Úmoveaxis)
rt   r   r:   rN   r   r8   ÚxvalÚobjÚytÚshs
             rA   Útest_zero_sizez!TestZeroSizeArrays.test_zero_size¨  s  € õ ŒI�b‰MŒMˆÝŒy˜‰|Œ|ˆàˆc�!�Q Ð(Ñ(Ô(ˆØˆs�4‰yŒyŒ~ Ò"Ð"Ð"Ð"Øˆs�4‰yŒyŒ $¤*¨q¬w°q°r°r¬{Ñ":Ò:Ð:Ð:Ð:õ Œ[˜˜A˜tÑ$Ô$ˆàˆc�!�R ¨tÐ4Ñ4Ô4ˆØŒX�e�t�eŒ_ ¤	˜}Ñ,¨r¬x¸¸Q¹¸¸Ô/@Ñ@ˆØˆs�4‰yŒyŒ~ Ò"Ð"Ð"Ð"Øˆs�4‰yŒ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 ‚d S )Nr´   r   r   r   rI   r  )	rt   r   r:   r   r8   r  r  r  r  s	            rA   Útest_zero_size_2z#TestZeroSizeArrays.test_zero_size_2¾  s  € õ
 ŒI�b‰MŒMˆÝŒy˜‰|Œ|ˆàˆc�!�Q‰iŒiˆØˆs�4‰yŒyŒ~ Ò"Ð"Ð"Ð"Øˆs�4‰yŒyŒ $¤*¨q¬w°q°r°r¬{Ñ":Ò:Ð:Ð:Ð:õ Œ[˜˜A˜tÑ$Ô$ˆàˆc�!�R˜dÐ#Ñ#Ô#ˆØŒX�e�t�eŒ_ ¤	˜}Ñ,¨r¬x¸¸Q¹¸¸Ô/@Ñ@ˆØˆs�4‰yŒyŒ~ Ò"Ð"Ð"Ð"Øˆs�4‰yŒyŒ "Ò$Ð$Ð$Ð$Ð$Ð$rC   N)ru   rv   rw   r	  ÚmarkÚparametrizer"   r+   r   r   r  r   r   r
  r    rC   rA   rÿ  rÿ  ¡  su  € € € € € ð „[×Ò˜S 8 2¤8¨JÑ#7Ô#7Ø#+ 2¤8¨JÑ#7Ô#7ð#9ñ :ô :à„[×Ò˜YØMÐMÐMñOô Oà„[×Ò˜V Y Y YÑ/Ô/Ø„[×Ò˜UÐ%7¸Ð$EÑFÔFð%ð %ñ GÔFñ 0Ô/ñOô Oñ:ô :ð%ð  „[×Ò˜S 8 2¤8¨JÑ#7Ô#7Ø#+ 2¤8¨JÑ#7Ô#7ð#9ñ :ô :à„[×Ò˜V Y Y YÑ/Ô/Ø„[×Ò˜UÐ%6Ð8KÐ$LÑMÔMð%ð %ñ NÔMñ 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   r]  r©  r÷  rú  rý  rÿ  r    rC   rA   ú<module>r     s5  ðØ €€€Ø 	€	€	€	Ø Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð +Ð *Ð *Ð *Ð *Ð *Ø €€€ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð :Ð 9Ð 9Ð 9Ð 9Ð 9à”;Ô/Ð Ø”KÔ1Ð ð LMØð&ð &ð &ð &ðR 
%Ð	$Ð	$€ðGð Gð Gð"Ið Ið Ið26ð 26ð 26ðj/ð /ð /ðh2ð h2ð h2ð h2ð h2ñ h2ô h2ð h2ðV$ð $ð $ð $ð $ñ $ô $ð $ðC2ð C2ð C2ð C2ð C2ñ C2ô C2ð C2ðL|.ð |.ð |.ð |.ð |.ñ |.ô |.ð |.ð~ Ð�;ÑÔð_Jð _Jð _Jð _Jð _Jñ _Jô _Jñ  Ôð_JðD ÐÐ%Ñ&Ô&ðUð Uñ 'Ô&ðUðGð Gð Gð
ð 
ð 
ð/%ð /%ð /%ð /%ð /%ñ /%ô /%ð /%ð /%ð /%rC   