§
    µ³Ùg°‘  ã                   óh  — d dl Z d dlZd dlZd dlmZmZmZmZ d dl	m
Z d dl	Z	d dlmZ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)dS )é    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                             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                   úZ/granary/edev/quantum/lib/python3.11/site-packages/scipy/interpolate/tests/test_polyint.pyÚcheck_shaperA      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   ©r7   r9   r   s      r@   Ú
spl_interpztest_shapes.<locals>.spl_interpB   s   € Ý! ! Q¨TÐ2Ñ2Ô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ð 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rB   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)r7   r9   r   rO   s      €r@   Úinterpolator_derivsz/test_derivs_shapes.<locals>.interpolator_derivsS   s   ø€ Ø�2�a˜˜D‘>”>Ô-Ð-rB   r   rC   )r   r
   rN   r%   r&   rA   )rZ   rP   rQ   r   rO   s       @r@   Útest_derivs_shapesr[   Q   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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 ]W}t           D ]M}t           D ]C}t          t          |¦  «         t          |¦  «        ¦  «        D ]}t          |||d|¦  «         ŒŒDŒNŒXd S )Nr   c                 ó.   — t          | ||¦  «        j        S rW   )r   Ú
derivativerI   s      r@   Úkrogh_derivz&test_deriv_shapes.<locals>.krogh_deriv]   s   € Ý   A tÑ,Ô,Ô7Ð7rB   c                 ó.   — t          | ||¦  «        j        S rW   )r
   r^   rI   s      r@   Ú
bary_derivz%test_deriv_shapes.<locals>.bary_deriv`   s   € Ý& q¨!¨TÑ2Ô2Ô=Ð=rB   c                 óH   — t          | ||¦  «                             ¦   «         S rW   ©r   r^   rI   s      r@   Úpchip_derivz&test_deriv_shapes.<locals>.pchip_derivc   s    € Ý�Q˜˜4Ñ Ô ×+Ò+Ñ-Ô-Ð-rB   c                 óJ   — t          | ||¦  «                             d¦  «        S ©Nr   rc   rI   s      r@   Úpchip_deriv2z'test_deriv_shapes.<locals>.pchip_deriv2f   s"   € Ý�Q˜˜4Ñ Ô ×+Ò+¨AÑ.Ô.Ð.rB   c                 óH   — t          | ||¦  «                             ¦   «         S rW   ©r   ÚantiderivativerI   s      r@   Úpchip_antiderivz*test_deriv_shapes.<locals>.pchip_antiderivi   s    € Ý�Q˜˜4Ñ Ô ×/Ò/Ñ1Ô1Ð1rB   c                 óJ   — t          | ||¦  «                             d¦  «        S rf   ri   rI   s      r@   Úpchip_antideriv2z+test_deriv_shapes.<locals>.pchip_antideriv2l   s"   € Ý�Q˜˜4Ñ Ô ×/Ò/°Ñ2Ô2Ð2rB   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__)Úselfr7   s     r@   rr   zBtest_deriv_shapes.<locals>.pchip_deriv_inplace.<locals>.P.__call__q   s   € Ý(Ô1°$¸¸1Ñ=Ô=Ð=rB   N)Ú__name__Ú
__module__Ú__qualname__rr   r   rB   r@   ÚPrp   p   s   € € € € € ð>ð >ð >àˆDrB   rw   )r   )r7   r9   r   rw   s       r@   Úpchip_deriv_inplacez.test_deriv_shapes.<locals>.pchip_deriv_inplaceo   sA   € ð	ð 	ð 	ð 	ð 	Õ!ñ 	ô 	ð 	ð ˆq��A�t‰}Œ}ÐrB   c                 óH   — t          | ||¦  «                             ¦   «         S rW   )r   r^   rI   s      r@   Úakima_derivz&test_deriv_shapes.<locals>.akima_derivv   s    € Ý" 1 a¨Ñ.Ô.×9Ò9Ñ;Ô;Ð;rB   c                 óH   — t          | ||¦  «                             ¦   «         S rW   )r   rj   rI   s      r@   Úakima_antiderivz*test_deriv_shapes.<locals>.akima_antiderivy   s    € Ý" 1 a¨Ñ.Ô.×=Ò=Ñ?Ô?Ð?rB   c                 óH   — t          | ||¦  «                             ¦   «         S rW   )r   r^   rI   s      r@   Úcspline_derivz(test_deriv_shapes.<locals>.cspline_deriv|   s    € Ý˜1˜a Ñ&Ô&×1Ò1Ñ3Ô3Ð3rB   c                 óH   — t          | ||¦  «                             ¦   «         S rW   )r   rj   rI   s      r@   Úcspline_antiderivz,test_deriv_shapes.<locals>.cspline_antideriv   s    € Ý˜1˜a Ñ&Ô&×5Ò5Ñ7Ô7Ð7rB   c                 óJ   — t          | ||¬¦  «                             ¦   «         S rG   )r   r^   rI   s      r@   Ú
bspl_derivz%test_deriv_shapes.<locals>.bspl_deriv‚   s#   € Ý! ! Q¨TÐ2Ñ2Ô2×=Ò=Ñ?Ô?Ð?rB   c                 óJ   — t          | ||¬¦  «                             ¦   «         S rG   )r   rj   rI   s      r@   Úbspl_antiderivz)test_deriv_shapes.<locals>.bspl_antideriv…   s#   € Ý! ! Q¨TÐ2Ñ2Ô2×AÒAÑCÔCÐCrB   r   rC   )rN   r%   r&   rA   )r_   ra   rd   rg   rk   rm   rx   rz   r|   r~   r€   r‚   r„   rO   rP   rQ   r   s                    r@   Ú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ð 6rB   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   )r7   r9   rO   Úpr;   s        r@   Ú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¨Ñ-Ô-Ñ.Ô.Ð.Ð.Ð.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j        j        d„ ¦   «         Zej        j        d„ ¦   «         ZdS )Ú	TestKroghc                 óü   — t           j                             g d¢¦  «        | _        t          j        ddd¦  «        | _        t          j        ddd¦  «        | _        |                      | j        ¦  «        | _        d S ©N)éüÿÿÿrD   r   r   éþÿÿÿr   r   éd   rD   ©r!   Ú
polynomialÚ
PolynomialÚ	true_polyÚlinspaceÚtest_xsÚxsÚys©rs   s    r@   Úsetup_methodzTestKrogh.setup_method    sc   € Ýœ×1Ò1Ð2CÐ2CÐ2CÑDÔDˆŒÝ”{ 2 a¨Ñ,Ô,ˆŒÝ”+˜b  1Ñ%Ô%ˆŒØ—.’. ¤Ñ)Ô)ˆŒˆˆrB   c                 ó¦   — t          | j        | j        ¦  «        }t          |                      | j        ¦  «         || j        ¦  «        ¦  «         d S rW   ©r   r™   rš   r   r–   r˜   ©rs   rw   s     r@   Útest_lagrangezTestKrogh.test_lagrange¦   óC   € Ý˜dœg d¤gÑ.Ô.ˆÝ˜DŸNšN¨4¬<Ñ8Ô8¸¸¸4¼<¹¼ÑIÔIÐIÐIÐIrB   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     r@   Ú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ÐXrB   c                 ó   — t          | j        | j        ¦  «        }|                     | j        ¦  «        }t          |j        d         ¦  «        D ]>}t           | j         	                    |¦  «        | j        ¦  «        ||         ¦  «         Œ?d S ©Nr   )
r   r™   rš   rY   r˜   r%   r+   r   r–   Úderiv©rs   rw   ÚDÚis       r@   Ú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Ø ! !¤ñ&ô &ð &ð &ð	&ð 	&rB   c                 óL  — t          | j        | j        ¦  «        }|                     | j        t          | j        ¦  «        dz   ¦  «        }t          |j        d         ¦  «        D ]>}t           | j	         
                    |¦  «        | j        ¦  «        ||         ¦  «         Œ?d S )Nr   r   )r   r™   rš   rY   r˜   r&   r%   r+   r   r–   rª   r«   s       r@   Ú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Ø ! !¤ñ&ô &ð &ð &ð	&ð 	&rB   c                 óö   — t          | j        | j        ¦  «        }d}|                     | j        |¦  «        }t          |¦  «        D ]1}t          |                     | j        |¦  «        ||         ¦  «         Œ2d S ©Né
   )r   r™   rš   rY   r˜   r%   r   r^   ©rs   rw   ÚmÚrr­   s        r@   Ú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rB   c           	      óH  — t          | j        | j        ¦  «        }t          t	          | j        ¦  «        dt	          | j        ¦  «        z  ¦  «        D ]O}t          |                     | j        |¦  «        t          j	        t	          | j        ¦  «        ¦  «        ¦  «         ŒPd S rf   )
r   r™   rš   r%   r&   r   r^   r˜   r!   r*   ©rs   rw   r­   s      r@   Útest_high_derivativezTestKrogh.test_high_derivativeÄ   sŒ   € Ý˜dœg d¤gÑ.Ô.ˆÝ•s˜4œ7‘|”| Q¥s¨4¬7¡|¤|¡^Ñ4Ô4ð 	=ð 	=ˆAÝ §¢¨T¬\¸!Ñ <Ô <Ý "¤­¨T¬\Ñ):Ô):Ñ ;Ô ;ñ=ô =ð =ð =ð	=ð 	=rB   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‘   rD   r   r   ©é   éýÿÿÿr   éûÿÿÿr   r   rH   r   )r–   r!   r”   r•   Ústackr™   r   rY   r˜   r%   r+   r   rª   ©rs   Úpoly1Úpoly2Úpoly3rš   rw   r¬   r­   s           r@   Ú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ð +-ð.ñ .ô .ñ/ô /ð /ð /ð	/ð 	/rB   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ª   ©rs   rÄ   rÅ   rÆ   rš   rw   r­   s          r@   Ú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ð +-ð.ñ .ô .ñ/ô /ð /ð /ð	/ð 	/rB   c                 ó¦   — t          | j        | j        ¦  «        }t          |                      | j        ¦  «         || j        ¦  «        ¦  «         d S 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          ‰‰¦  «        }ˆˆ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 rW   )r   )Ú.0r­   r™   rš   s     €€r@   ú
<listcomp>z)TestKrogh.test_vector.<locals>.<listcomp>ï   s0   ø€ ÐHÐHÐH°Õ  2 a a a¨ c¤7Ñ+Ô+ÐHÐHÐHrB   r   r   r’   c                 ó&   •— g | ]} |‰¦  «        ‘ŒS r   r   ©rÑ   rŠ   r˜   s     €r@   rÒ   z)TestKrogh.test_vector.<locals>.<listcomp>ò   ó!   ø€ Ð'?Ð'?Ð'?°q¨¨¨'©
¬
Ð'?Ð'?Ð'?rB   c                 ó:   •— g | ]}|                      ‰¦  «        ‘ŒS r   rX   rÔ   s     €r@   rÒ   z)TestKrogh.test_vector.<locals>.<listcomp>ô   s%   ø€ Ð(LÐ(LÐ(LÀA¨¯ª°wÑ)?Ô)?Ð(LÐ(LÐ(LrB   )r   r   r   )r!   r¦   r   r%   r+   r—   r   r‰   ÚTrY   r)   )rs   rw   ÚPir˜   r™   rš   s      @@@r@   Ú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Øñô ñ	ô 	ð 	ð 	ð 	rB   c                 ó�   — t          | j        | j        ¦  «        }t           |g ¦  «        t	          j        g ¦  «        ¦  «         d S rW   )r   r™   rš   r   r!   r‰   rŸ   s     r@   Ú
test_emptyzTestKrogh.test_empty÷   s;   € Ý˜dœg d¤gÑ.Ô.ˆÝ˜˜˜"™œ�rœz¨"™~œ~Ñ.Ô.Ð.Ð.Ð.rB   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     r@   Útest_shapes_scalarvaluez!TestKrogh.test_shapes_scalarvalueû   s³   € Ý˜dœg d¤gÑ.Ô.ˆÝŒx˜˜˜!™œ‰~Œ~ Ò#Ð#Ð#Ð#ÝŒx˜˜�"œ( 1™+œ+™œÑ'Ô'¨2Ò-Ð-Ð-Ð-ÝŒx˜˜˜1˜#™œÑÔ 4Ò'Ð'Ð'Ð'ÝŒx˜˜˜1˜Q˜%™œÑ!Ô! TÒ)Ð)Ð)Ð)Ð)Ð)rB   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+   rY   r¦   ©rs   rw   rÉ   s      r@   Ú"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Ð8rB   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     r@   Ú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Ò,Ð,Ð,Ð,Ð,Ð,rB   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     r@   Ú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Ò+Ð+Ð+Ð+Ð+Ð+rB   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+   rY   rá   s      r@   Ú"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¸°Ò:Ð:Ð:Ð:Ð:Ð:rB   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^   rY   )rs   rw   Úkis      r@   Ú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rB   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)rs   r7   Ú
offset_cdfÚfs       r@   Ú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¸ð	?ñ 	?ô 	?ð 	?ð 	?ð 	?rB   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   rY   ÚrealÚimagr   )rs   r7   r9   ÚfuncÚcmplxÚcmplx2s         r@   Útest_derivatives_complexz"TestKrogh.test_derivatives_complex3  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Ð2rB   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    r@   Útest_high_degree_warningz"TestKrogh.test_high_degree_warning=  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 rW   ©r™   ©Ú_Úinterprs   s     €r@   Ú	worker_fnz-TestKrogh.test_concurrency.<locals>.worker_fnF  ó   ø€ ØˆF�4”7‰OŒOˆOˆOˆOrB   r³   )r   r™   rš   r   ©rs   rw   r  s   `  r@   Útest_concurrencyzTestKrogh.test_concurrencyB  sI   ø€ å˜dœg t¤wÑ/Ô/ˆð	ð 	ð 	ð 	ð 	õ 	   I¨qÑ1Ô1Ð1Ð1Ð1rB   N)rt   ru   rv   rœ   r    r§   r®   r°   r·   rº   rÇ   rË   rÍ   rÙ   rÛ   rÞ   râ   rç   rê   rí   rò   rû   r  r  ÚmarkÚthread_unsafer  r  r   rB   r@   r�   r�   Ÿ   s‘  € € € € € ð*ð *ð *ð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ð 2rB   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 )NrD   r   r   é   )r   r!   Úexpr%   r   rª   )rs   ÚdegreerŠ   r­   s       r@   Útest_exponentialzTestTaylor.test_exponentialM  s|   € ØˆÝ)­"¬&°!°V¸QÀÑCÔCˆÝ�v˜a‘x‘”ð 	ð 	ˆAÝ   !¡¤ QÑ'Ô'Ð'Ø—’‘	”	ˆAˆAÝ˜A˜A˜a™DœD Ñ#Ô#Ð#Ð#Ð#rB   N)rt   ru   rv   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j        j        d„ ¦   «         Zej        j        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    r@   rœ   zTestBarycentric.setup_methodW  sc   € Ýœ×1Ò1Ð2CÐ2CÐ2CÑDÔDˆŒÝ”{ 2 q¨#Ñ.Ô.ˆŒÝ”+˜b ! QÑ'Ô'ˆŒØ—.’. ¤Ñ)Ô)ˆŒˆˆrB   c                 óª   — t          | j        | j        d¬¦  «        }t           || j        ¦  «        |                      | j        ¦  «        ¦  «         d S )Nr   )Úrandom_state)r
   r™   rš   r   r˜   r–   rŸ   s     r@   r    zTestBarycentric.test_lagrange]  sH   € å# D¤G¨T¬WÀ1ÐEÑEÔEˆÝ˜˜˜$œ,™œ¨¯ª¸¼Ñ)EÔ)EÑFÔFÐFÐFÐFrB   c                 ó>  — t          | j        | j        d¬¦  «        }t           |d¦  «        |                      d¦  «        d¬¦  «         t           |t          j        d¦  «        ¦  «        |                      t          j        d¦  «        ¦  «        d¬¦  «         d S )Nr   ©r6   r£   Fr¤   )r
   r™   rš   r   r–   r!   r¦   rŸ   s     r@   r§   zTestBarycentric.test_scalarb  s‚   € Ý# D¤G¨T¬W¸!Ð<Ñ<Ô<ˆÝ˜˜˜!™œ˜dŸnšn¨QÑ/Ô/¸%Ð@Ñ@Ô@Ð@Ý˜˜�"œ( 1™+œ+™œ¨¯ªµr´xÀ±{´{Ñ(CÔ(CÈeÐTÑTÔTÐTÐTÐTrB   c                 ó   — t          | j        | j        ¦  «        }|                     | j        ¦  «        }t          |j        d         ¦  «        D ]>}t           | j         	                    |¦  «        | j        ¦  «        ||         ¦  «         Œ?d S r©   )
r
   r™   rš   rY   r˜   r%   r+   r   r–   rª   r«   s       r@   r®   z TestBarycentric.test_derivativesg  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rB   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š   rY   r˜   r&   r%   r+   r   r–   rª   r«   s       r@   r°   z$TestBarycentric.test_low_derivativesm  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Ø!&ð(ñ (ô (ð (ð (ð	(ð 	(rB   c                 óö   — t          | j        | j        ¦  «        }d}|                     | j        |¦  «        }t          |¦  «        D ]1}t          |                     | j        |¦  «        ||         ¦  «         Œ2d S r²   )r
   r™   rš   rY   r˜   r%   r   r^   r´   s        r@   r·   zTestBarycentric.test_derivativeu  sy   € Ý# D¤G¨T¬WÑ5Ô5ˆØˆØ�MŠM˜$œ,¨Ñ*Ô*ˆÝ�q‘”ð 	Að 	AˆAÝ˜AŸLšL¨¬°qÑ9Ô9¸1¸Q¼4Ñ@Ô@Ð@Ð@ð	Að 	ArB   c           	      óH  — t          | j        | j        ¦  «        }t          t	          | j        ¦  «        dt	          | j        ¦  «        z  ¦  «        D ]O}t          |                     | j        |¦  «        t          j	        t	          | j        ¦  «        ¦  «        ¦  «         ŒPd S )NrD   )
r
   r™   rš   r%   r&   r   r^   r˜   r!   r*   r¹   s      r@   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ð 	9rB   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   rH   r   r)  rõ   )r–   r!   r”   r•   rÂ   r™   r
   rY   r˜   r%   r+   r   rª   rÃ   s           r@   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ð +-ð.ñ .ô .ð "'ð(ñ (ô (ð (ð (ð	(ð 	(rB   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          r@   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ð +-ð.ñ .ô .ð "'ð(ñ (ô (ð (ð (ð	(ð 	(rB   c                 óÎ   — t          | j        ¦  «        }|                     | j        ¦  «         t	          |                      | j        ¦  «         || j        ¦  «        ¦  «         d S rW   )r
   r™   Úset_yirš   r   r–   r˜   rŸ   s     r@   Útest_delayedzTestBarycentric.test_delayed¡  sS   € Ý# D¤GÑ,Ô,ˆØ	�Š�”ÑÔÐÝ˜DŸNšN¨4¬<Ñ8Ô8¸!¸!¸D¼L¹/¼/ÑJÔJÐJÐJÐJrB   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     r@   Ú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ÐJrB   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 rW   r   )rÑ   r­   ÚBIr™   rš   s     €€€r@   rÒ   z/TestBarycentric.test_vector.<locals>.<listcomp>°  s1   ø€ Ð;Ð;Ð; 1ˆbˆb��R˜˜˜˜1˜”XÑÔÐ;Ð;Ð;rB   r   r   r’   c                 ó&   •— g | ]} |‰¦  «        ‘ŒS r   r   rÔ   s     €r@   rÒ   z/TestBarycentric.test_vector.<locals>.<listcomp>³  rÕ   rB   )	r!   r¦   r
   r%   r+   r—   r   r‰   r×   )rs   rw   rØ   r7  r˜   r™   rš   s      @@@@r@   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rB   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     r@   rÞ   z'TestBarycentric.test_shapes_scalarvalueµ  s³   € Ý# D¤G¨T¬WÑ5Ô5ˆÝŒx˜˜˜!™œ‰~Œ~ Ò#Ð#Ð#Ð#ÝŒx˜˜�"œ( 1™+œ+™œÑ'Ô'¨2Ò-Ð-Ð-Ð-ÝŒx˜˜˜1˜#™œÑÔ 4Ò'Ð'Ð'Ð'ÝŒx˜˜˜1˜a˜&™	œ	Ñ"Ô" dÒ*Ð*Ð*Ð*Ð*Ð*rB   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+   rY   r¦   rá   s      r@   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Ð6rB   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     r@   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Ò,Ð,Ð,Ð,Ð,Ð,rB   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     r@   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Ò,Ð,Ð,Ð,Ð,Ð,rB   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+   rY   rá   s      r@   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¸°)Ò;Ð;Ð;Ð;Ð;Ð;rB   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ð   r6   r   )r
   r™   rš   r   r   r˜   r^   rY   )rs   rw   Úbis      r@   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rB   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‰   )rs   r7   r9   Úvalues       r@   Útest_int_inputzTestBarycentric.test_int_inputà  sX   € Ø•2”9˜Q Ñ#Ô#Ñ#ˆÝŒI�a˜ÑÔˆÝ'¨¨1¨jÑ9Ô9ˆÝ˜E¥2¤:¨c¡?¤?Ñ3Ô3Ð3Ð3Ð3rB   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   )rs   rÉ   Újr7   Úwrw   Úfactors          r@   Ú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Ð3rB   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)rs   rw   r<   s      r@   Ú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)çš™™™™™¹?rE  çÍÌÌÌÌÌì?rE  r‡   z)Interpolation points xi must be distinct.r  )r!   r¦   r  r   Ú
ValueErrorr
   )rs   Úxisrš   s      r@   Ú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 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  sI   ø€ å# D¤G¨T¬WÑ5Ô5ˆð	ð 	ð 	ð 	ð 	õ 	   I¨qÑ1Ô1Ð1Ð1Ð1rB   N)rt   ru   rv   rœ   r    r§   r®   r°   r·   rº   rÇ   rË   r1  r4  rÙ   rÞ   râ   rç   rê   rí   rò   rC  rN  rT  r  r  r  rZ  r  r   rB   r@   r!  r!  V  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ð 2rB   r!  c                   óp   — 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dS )Ú	TestPCHIPé   c                 óÞ   — t           j                             d¦  «        }t          j        |                     |¦  «        ¦  «        }|                     |¦  «        }t	          ||¦  «        ||fS )Nr   )r!   r"   r#   Úsortr   )rs   Únptsr6   r:   r<   s        r@   Ú_make_randomzTestPCHIP._make_random  sX   € ÝŒi×#Ò# DÑ)Ô)ˆÝŒW�S—Z’Z Ñ%Ô%Ñ&Ô&ˆØ�ZŠZ˜ÑÔˆÝ�R˜‰}Œ}˜b "Ð$Ð$rB   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ý   ©rc  r%   r&   r!   r—   Úall©rs   rŠ   r:   r<   r­   Úx1Úx2Úy1Úy2ÚxpÚyps              r@   Ú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rB   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   re  rg  s              r@   Ú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Ñ:Ô:Ð:Ð:Ð:Ð:ð	;ð 	;rB   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’   )
éßÿÿÿrx  iíÿÿÿr‘   r¿   é   é&   é-   é5   é7   r’   r   r   ç      ð?ç›+¡†›„=)rö   Úrtol)r!   r¦   ræ   r   r   )rs   ÚdataÚxxÚcurveÚdata1Úcurve1s         r@   Ú	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¸Ð>Ñ>Ô>Ð>Ð>Ð>rB   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   )rs   ÚdataStrr�  ÚpchÚ	resultStrÚresults         r@   Ú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ÐJrB   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ˆ  rV  g      Ð?gffffffÖ?)çš™™™™uq@g     @@ç     @�@ç     ˆ£@)r“  r•  g     p—@r”  r   r   r   )r!   r¦   r   )rs   r7   rj  rk  ÚppÚts         r@   Ú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’}�}�}�}�}ð%ð	%ð 	%rB   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—   rf  )rs   r7   r9   rŽ  r‚  s        r@   Ú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   rA  r   rý   rõ   )r!   r—   r   r   )rs   r7   rŠ   s      r@   Útest_two_pointszTestPCHIP.test_two_points�  sU   € õ
 Œ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¦  «        ¦  «         d S )	N©r   r   r   )r   rD   r   rE  r   rï   r~  r   g      @)r   r   r!   r‰   r›   s    r@   Ú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�|Ñ$Ô$ñ	&ô 	&ð 	&ð 	&ð 	&rB   c                 óœ   — t          ddgddg¦  «        }|                     ¦   «         }t          |t          j        dg¦  «        ¦  «         d S )Nr   r   r   rE  )r   Úrootsr   r!   r‰   )rs   rŠ   r¶   s      r@   Ú
test_rootszTestPCHIP.test_roots—  sH   € å�1�a�&˜2˜q˜'Ñ"Ô"ˆØ�GŠG‰IŒIˆÝ˜�2œ: s eÑ,Ô,Ñ-Ô-Ð-Ð-Ð-rB   N)r_  )rt   ru   rv   rc  rn  rp  r†  r‘  r˜  r  r  r  r   r¢  r¥  r¨  r   rB   r@   r^  r^    sÈ   € € € € € ð%ð %ð %ð %ð
Cð 
Cð 
Cð;ð ;ð ;ð
?ð 
?ð 
?ð!Kð !Kð !KðF%ð %ð %ð „[Ôð
"ð 
"ñ Ôð
"ð/ð /ð /ð&ð &ð &ð.ð .ð .ð .ð .rB   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   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ÚorderrB  s              r@   Ú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ÐSrB   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«  rK   rL   r   r   ©r   rM   g›+¡†›„=©r³  )r$   r+   r!   ÚemptyÚfillr   r¸  )rs   r7   r9   r   r4   Úfirst_derivÚsecond_derivÚbc_allrR   r°  r±  r²  s               r@   Ú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rB   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   rE  r   r   g      @g      @r›  )r   g      à¿r   r   g      @r   r   rE  r   r   r   r   )r!   r¦   r,   rÁ  r¼  )rs   r7   r9   rÉ   ÚYs        r@   Ú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¨Ñ*Ô*Ð*Ð*ð	+ð 	+rB   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   rD   r   r   r­  ©rM   r   rD   rº  )r!   r—   rI  rH  r   r¸  r¼  )rs   rÉ   r7   r9   r°  rÃ  s         r@   Ú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°*Ñ=Ô=Ð=Ð=ð	>ð 	>rB   c                 ó   — t          j        ddt           j        z  d¦  «        }t          j        |¦  «        }t	          ||d¬¦  «        }t           |d¦  «         |ddt           j        z  z   ¦  «        d¬¦  «         d S )	Nr   r   r³   r­  rÆ  r   r  )Údecimal)r!   r—   rI  rH  r   r   ©rs   r7   r9   r°  s       r@   Útest_periodic_evalz"TestCubicSpline.test_periodic_eval  ss   € ÝŒK˜˜1�rœu™9 bÑ)Ô)ˆÝŒF�1‰IŒIˆÝ˜˜1 jÐ1Ñ1Ô1ˆÝ˜A˜A˜a™DœD ! ! A¨­B¬E©	¡MÑ"2Ô"2¸BÐ?Ñ?Ô?Ð?Ð?Ð?rB   c                 ó²   — t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          ||dd¬¦  «        }|                      |dd¦  «         d S )N)rW  çÍÌÌÌÌÌô?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ö?rW  gffffffæ?g333333ã?rE  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  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Ð9rB   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       r@   Ú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ÐLrB   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   rD   )r!   r¦   r   r¸  r—   r   )rs   r7   r9   r°  ÚS0ÚS1Úqs          r@   Ú#test_periodic_three_points_multidimz3TestCubicSpline.test_periodic_three_points_multidim/  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Ñ*Ô*Ð*Ð*Ð*rB   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   )Ú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�]�]�]­#Ð.Ñ.Ô.ˆÝ˜˜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 -°Ñ?Ô?Ð?Ð?Ð?rB   c                 ó  — t           j                             d¦  «        }t          j        |                     d¬¦  «        ¦  «        }d|                     d¬¦  «        z   }t          ||¦  «        }|                      |d¬¦  «         d S )Nr   r’   )r,   g     ˆÃ@g‚vIhÂ%<=r»  )r!   r"   r#   ra  Úuniformr   r¸  )rs   r6   r7   r9   r°  s        r@   Útest_small_dxzTestCubicSpline.test_small_dxM  sz   € ÝŒi×#Ò# AÑ&Ô&ˆÝŒ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¦  «         d S )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_raisesrX  r   ÚnewaxisÚc_)rs   r7   r9   ÚxcÚxnÚxoÚynÚy3rh  rj  Úwrong_bcrM   rÃ  Úbc1Úbc2Úbc3s                   r@   Útest_incorrect_inputsz%TestCubicSpline.test_incorrect_inputsT  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ÐIrB   N)r«  r«  r  )rt   ru   rv   Ústaticmethodr¸  rÁ  rÄ  rÇ  rË  rÓ  rÖ  rÛ  rà  rã  ró  r   rB   r@   rª  rª  ž  sä   € € € € € ØØ;GØ#ð?Tð ?Tð ?Tñ „\ð?TðBGð Gð Gð.+ð +ð +ð>ð >ð >ð@ð @ð @ð:ð :ð :ð
Mð 
Mð 
Mð+ð +ð +ð@ð @ð @ð"-ð -ð -ð&Jð &Jð &Jð &Jð &JrB   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ý   )rA   Úcheck_dtyper€  r   )r   r   )r7   r9   r;   r8   s       r@   Ú#test_CubicHermiteSpline_correctnessr÷  }  sx   € Øˆ	ˆ	€AØˆ
ˆ
€AØˆ9ˆ9€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ÐTrB   c                  ó°   — g d¢} g d¢}g d¢}t          t          t          | ||¦  «         ddt          j        g}t          t          t          | ||¦  «         d S )Nr¤  )r   r   rD   )r   r   r   r   r   r   )rç  rX  r   r!   ræ  )r7   r9   r;   Údydx_with_nans       r@   Ú&test_CubicHermiteSpline_error_handlingrú  †  s^   € Øˆ	ˆ	€AØˆ	ˆ	€AØˆ=ˆ=€DÝ•*Õ0°!°Q¸Ñ=Ô=Ð=à˜�2œ6�N€MÝ•*Õ0°!°Q¸ÑFÔFÐFÐFÐFrB   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,   )r7   r9   ÚdyrŠ   r¶   s        r@   Útest_roots_extrapolate_gh_11185rý  �  s�   € Ý
Œ�%˜�Ñ Ô €AÝ
Œ�. .Ð1Ñ2Ô2€AÝ	Œ�; 	Ð*Ñ	+Ô	+€BÝ˜1˜a Ñ$Ô$€Að 	
�Š˜DˆÑ!Ô!€AØŒ3Œ9�QŒ<˜1ÒÐÐÐØŒ6�QŠ;ˆ;ˆ;ˆ;ˆ;ˆ;rB   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 )Ú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 ‚d S )Nr³   r   rÆ  r   r   )rM   r   ©r!   ræ   r,   r+   Úmoveaxis)
rs   r   r9   rM   r   r7   ÚxvalÚobjÚytÚshs
             r@   Ú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Œ "Ò$Ð$Ð$Ð$Ð$Ð$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 ‚d S )Nr³   r   r   r   rH   r  )	rs   r   r9   r   r7   r  r  r  r  s	            r@   Ú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Œ "Ò$Ð$Ð$Ð$Ð$Ð$rB   N)rt   ru   rv   r  r  Úparametrizer!   r*   r   r   r  r   r   r
  r   rB   r@   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Ô/ñ:ô :ð%ð %ð %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   r[   r…   r‹   r�   r  r!  r^  rª  r÷  rú  rý  rÿ  r   rB   r@   ú<module>r     sä  ðØ €€€Ø 	€	€	€	Ø Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð +Ð *Ð *Ð *Ð *Ð *Ø €€€ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð :Ð 9Ð 9Ð 9Ð 9Ð 9ð LMØð&ð &ð &ð &ðR 
%Ð	$Ð	$€ðGð Gð Gð"Ið Ið Ið26ð 26ð 26ðj/ð /ð /ðj2ð j2ð j2ð j2ð j2ñ j2ô j2ð j2ðZ$ð $ð $ð $ð $ñ $ô $ð $ðE2ð E2ð E2ð E2ð E2ñ E2ô E2ð E2ðP}.ð }.ð }.ð }.ð }.ñ }.ô }.ð }.ð@\Jð \Jð \Jð \Jð \Jñ \Jô \Jð \Jð~Uð Uð UðGð Gð Gð
ð 
ð 
ð/%ð /%ð /%ð /%ð /%ñ /%ô /%ð /%ð /%ð /%rB   