§
    €Ûg1P  ã            
       ó¤  — d Z ddlmZ ddlZddlmc mZ ddlZddl	m
Z
 ddlmZmZmZmZmZmZmZ d„ ZdgZddgZg d¢Zg d	¢Zg d
¢Zg d¢Zg d¢Zg d¢Zg d¢Zg d¢Zeeeeeeeeeeg
Z G d„ d¦  «        Z G d„ d¦  «        Z  G d„ d¦  «        Z! G d„ d¦  «        Z" G d„ d¦  «        Z# G d„ d¦  «        Z$ G d„ d¦  «        Z% G d„ d¦  «        Z&dS ) zTests for polynomial module.

é    )ÚreduceN)Údeepcopy)Úassert_almost_equalÚassert_raisesÚassert_equalÚassert_Úassert_warnsÚassert_array_equalÚassert_raises_regexc                 ó.   — t          j        | d¬¦  «        S )Ng�íµ ÷Æ°>)Útol)ÚpolyÚpolytrim©Úxs    ú\/granary/edev/quantum/lib/python3.11/site-packages/numpy/polynomial/tests/test_polynomial.pyÚtrimr      s   € ÝŒ=˜ Ð%Ñ%Ô%Ð%ó    é   )éÿÿÿÿr   é   )r   éýÿÿÿr   é   )r   r   iøÿÿÿr   é   )r   é   r   iìÿÿÿr   é   )r   r   é   r   iÐÿÿÿr   é    )r   iùÿÿÿr   é8   r   i�ÿÿÿr   é@   )	r   r   iàÿÿÿr   é    r   i ÿÿÿr   é€   )
r   é	   r   iˆÿÿÿr   i°  r   iÀýÿÿr   é   c                   ó2   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestConstantsc                 ó>   — t          t          j        ddg¦  «         d S )Nr   r   )r   r   Ú
polydomain©Úselfs    r   Útest_polydomainzTestConstants.test_polydomain"   s   € Ý•T”_ r¨1 gÑ.Ô.Ð.Ð.Ð.r   c                 ó<   — t          t          j        dg¦  «         d S )Nr   )r   r   Úpolyzeror)   s    r   Útest_polyzerozTestConstants.test_polyzero%   s   € Ý•T”] Q CÑ(Ô(Ð(Ð(Ð(r   c                 ó<   — t          t          j        dg¦  «         d S ©Nr   )r   r   Úpolyoner)   s    r   Útest_polyonezTestConstants.test_polyone(   s   € Ý•T”\ A 3Ñ'Ô'Ð'Ð'Ð'r   c                 ó>   — t          t          j        ddg¦  «         d S )Nr   r   )r   r   Úpolyxr)   s    r   Ú
test_polyxzTestConstants.test_polyx+   s   € Ý•T”Z ! Q Ñ(Ô(Ð(Ð(Ð(r   c                 óp   — t          j        g d¢¦  «        }t          |¦  «        }t          ||¦  «         d S ©N©r   r   é   )r   Ú
Polynomialr   r   ©r*   r   Úys      r   Ú	test_copyzTestConstants.test_copy.   s6   € ÝŒO˜I˜I˜IÑ&Ô&ˆÝ�Q‰KŒKˆÝ�Q˜ÑÔÐÐÐr   c                 óž   — t          j        g d¢¦  «        }t          j        t          j        |¦  «        ¦  «        }t          ||¦  «         d S r7   )r   r:   ÚpickleÚloadsÚdumpsr   r;   s      r   Útest_picklezTestConstants.test_pickle3   sB   € ÝŒO˜I˜I˜IÑ&Ô&ˆÝŒL�œ a™œÑ)Ô)ˆÝ�Q˜ÑÔÐÐÐr   N)	Ú__name__Ú
__module__Ú__qualname__r+   r.   r2   r5   r=   rB   © r   r   r&   r&       sn   € € € € € ð/ð /ð /ð)ð )ð )ð(ð (ð (ð)ð )ð )ðð ð ð
ð ð ð ð r   r&   c                   ó2   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestArithmeticc                 óŠ  — t          d¦  «        D ]²}t          d¦  «        D ] }d|› d|› �}t          j        t          ||¦  «        dz   ¦  «        }||xx         dz  cc<   ||xx         dz  cc<   t	          j        dg|z  dgz   dg|z  dgz   ¦  «        }t          t          |¦  «        t          |¦  «        |¬¦  «         Œ¡Œ³d S ©Nr   úAt i=ú, j=r   r   ©Úerr_msg)ÚrangeÚnpÚzerosÚmaxr   Úpolyaddr   r   ©r*   ÚiÚjÚmsgÚtgtÚress         r   Útest_polyaddzTestArithmetic.test_polyadd:   óé   € Ý�q‘”ð 	@ð 	@ˆAÝ˜1‘X”Xð @ð @�Ø(˜aÐ(Ð( QÐ(Ð(�Ý”h�s 1 a™yœy¨1™}Ñ-Ô-�Ø�A��”˜!‘��‘Ø�A��”˜!‘��‘Ý”l A 3 q¡5¨A¨3¡;°°°A±¸¸±Ñ<Ô<�Ý�T #™YœY­¨S©	¬	¸3Ð?Ñ?Ô?Ð?Ð?ð@ð	@ð 	@r   c                 óŠ  — t          d¦  «        D ]²}t          d¦  «        D ] }d|› d|› �}t          j        t          ||¦  «        dz   ¦  «        }||xx         dz  cc<   ||xx         dz  cc<   t	          j        dg|z  dgz   dg|z  dgz   ¦  «        }t          t          |¦  «        t          |¦  «        |¬¦  «         Œ¡Œ³d S rJ   )rO   rP   rQ   rR   r   Úpolysubr   r   rT   s         r   Útest_polysubzTestArithmetic.test_polysubD   r[   r   c                 ó0  — t          t          j        dg¦  «        dg¦  «         t          t          j        dg¦  «        ddg¦  «         t          dd¦  «        D ];}dg|z  dgz   }dg|dz   z  dgz   }t          t          j        |¦  «        |¦  «         Œ<d S )Nr   r   r   )r   r   ÚpolymulxrO   )r*   rU   ÚserrX   s       r   Útest_polymulxzTestArithmetic.test_polymulxN   s¥   € Ý•T”] A 3Ñ'Ô'¨!¨Ñ-Ô-Ð-Ý•T”] A 3Ñ'Ô'¨!¨Q¨Ñ0Ô0Ð0Ý�q˜!‘”ð 	2ð 	2ˆAØ�#�a‘%˜1˜#‘+ˆCØ�#�q˜1‘u‘+  Ñ#ˆCÝ�œ sÑ+Ô+¨SÑ1Ô1Ð1Ð1ð	2ð 	2r   c                 óZ  — t          d¦  «        D ]š}t          d¦  «        D ]ˆ}d|› d|› �}t          j        ||z   dz   ¦  «        }|||z   xx         dz  cc<   t          j        dg|z  dgz   dg|z  dgz   ¦  «        }t          t          |¦  «        t          |¦  «        |¬¦  «         Œ‰Œ›d S rJ   )rO   rP   rQ   r   Úpolymulr   r   rT   s         r   Útest_polymulzTestArithmetic.test_polymulV   sÔ   € Ý�q‘”ð 	@ð 	@ˆAÝ˜1‘X”Xð @ð @�Ø(˜aÐ(Ð( QÐ(Ð(�Ý”h˜q 1™u q™yÑ)Ô)�Ø�A˜‘E�
�
”
˜a‘�
�
‘
Ý”l A 3 q¡5¨A¨3¡;°°°A±¸¸±Ñ<Ô<�Ý�T #™YœY­¨S©	¬	¸3Ð?Ñ?Ô?Ð?Ð?ð@ð	@ð 	@r   c                 óP  — t          t          t          j        dgdg¦  «         t          j        dgdg¦  «        \  }}t	          ||fd¦  «         t          j        ddgdg¦  «        \  }}t	          ||fd¦  «         t          d¦  «        D ]™}t          d¦  «        D ]‡}d|› d|› �}dg|z  ddgz   }dg|z  ddgz   }t          j        ||¦  «        }t          j        ||¦  «        \  }}t          j        t          j        ||¦  «        |¦  «        }	t	          |	||¬	¦  «         ŒˆŒšd S )
Nr   r   r   )r   r   ))r   r   r   r   rK   rL   rM   )r   ÚZeroDivisionErrorr   Úpolydivr   rO   rS   rd   )
r*   ÚquoÚremrU   rV   rW   ÚciÚcjrX   rY   s
             r   Útest_polydivzTestArithmetic.test_polydiv_   sL  € åÕ'­¬¸°s¸Q¸CÑ@Ô@Ð@õ ”<   a SÑ)Ô)‰ˆˆSÝ�c˜3�Z Ñ(Ô(Ð(Ý”<  A ¨¨Ñ,Ô,‰ˆˆSÝ�c˜3�Z Ñ-Ô-Ð-õ �q‘”ð 	4ð 	4ˆAÝ˜1‘X”Xð 4ð 4�Ø(˜aÐ(Ð( QÐ(Ð(�Ø�S˜‘U˜a ˜V‘^�Ø�S˜‘U˜a ˜V‘^�Ý”l 2 rÑ*Ô*�Ýœ<¨¨RÑ0Ô0‘��SÝ”l¥4¤<°°RÑ#8Ô#8¸#Ñ>Ô>�Ý˜S #¨sÐ3Ñ3Ô3Ð3Ð3ð4ð	4ð 	4r   c           	      ór  — t          d¦  «        D ]¦}t          d¦  «        D ]”}d|› d|› �}t          j        |dz   ¦  «        }t          t          j        |g|z  t          j        dg¦  «        ¦  «        }t	          j        ||¦  «        }t          t          |¦  «        t          |¦  «        |¬¦  «         Œ•Œ§d S )Nr   rK   rL   r   rM   )
rO   rP   Úaranger   r   rd   ÚarrayÚpolypowr   r   )r*   rU   rV   rW   ÚcrX   rY   s          r   Útest_polypowzTestArithmetic.test_polypowt   sÂ   € Ý�q‘”ð 	@ð 	@ˆAÝ˜1‘X”Xð @ð @�Ø(˜aÐ(Ð( QÐ(Ð(�Ý”I˜a !™eÑ$Ô$�Ý�Tœ\¨A¨3¨q©5µ"´(¸A¸3±-´-Ñ@Ô@�Ý”l 1 aÑ(Ô(�Ý�T #™YœY­¨S©	¬	¸3Ð?Ñ?Ô?Ð?Ð?ð@ð	@ð 	@r   N)	rC   rD   rE   rZ   r^   rb   re   rm   rs   rF   r   r   rH   rH   8   s|   € € € € € ð@ð @ð @ð@ð @ð @ð2ð 2ð 2ð@ð @ð @ð4ð 4ð 4ð*@ð @ð @ð @ð @r   rH   c                   ó  — e Zd Z ej        g d¢¦  «        Z ej        dee¦  «        Z ej        deee¦  «        Zej	         	                    d¦  «        dz  dz
  Z
 ej        e
g d¢¦  «        Zd„ Zd„ Zd	„ Zd
„ Zd„ Zd„ ZdS )ÚTestEvaluation)ç      ð?g       @g      @úi,j->ijú
i,j,k->ijk©r9   r   r   r   c                 óŠ  ‡
— t          t          j        g dg¦  «        j        d¦  «         t	          j        dd¦  «        Š
ˆ
fd„t          d¦  «        D ¦   «         }t          d¦  «        D ]7}||         }t          j        ‰
dg|z  dgz   ¦  «        }t          ||¦  «         Œ8‰
‰
dz  dz
  z  }t          j        ‰
g d¢¦  «        }t          ||¦  «         t          d¦  «        D ]™}dg|z  }t	          j        |¦  «        Š
t          t          j        ‰
dg¦  «        j	        |¦  «         t          t          j        ‰
ddg¦  «        j	        |¦  «         t          t          j        ‰
g d	¢¦  «        j	        |¦  «         Œšg d
¢}t          j
                             g d¢|¬¦  «        }t	          j        g d¢|¦  «        }t          |j        |¦  «          G d„ dt          j        ¦  «        }t	          j        g d¢¦  «                             |¦  «        }	t          t!          t	          j        g d¢|	¦  «        ¦  «        |¦  «         d S )Nr   r   r   c                 ó   •— g | ]}‰|z  ‘ŒS rF   rF   ©Ú.0rU   r   s     €r   ú
<listcomp>z/TestEvaluation.test_polyval.<locals>.<listcomp>Ž   ó   ø€ Ð$Ð$Ð$�aˆQ�‰TÐ$Ð$Ð$r   r   r   )r   r   r   r   r9   ©r   r   r   )FTFr8   )Úmask)é   r   r9   c                   ó   — e Zd ZdS )ú&TestEvaluation.test_polyval.<locals>.CN)rC   rD   rE   rF   r   r   ÚCr„   ¦   s   € € € € € ØˆDr   r…   ©r   r9   r   )r   r   ÚpolyvalÚsizerP   ÚlinspacerO   r   rQ   ÚshapeÚmarp   r
   r�   ÚndarrayÚviewÚtype)r*   r<   rU   rX   rY   Údimsr�   Úmxr…   Úcxr   s             @r   Útest_polyvalzTestEvaluation.test_polyvalˆ   sA  ø€ å•T”\ " q cÑ*Ô*Ô/°Ñ3Ô3Ð3õ ŒK˜˜AÑÔˆØ$Ð$Ð$Ð$�5 ™8œ8Ð$Ñ$Ô$ˆÝ�q‘”ð 	*ð 	*ˆAØ�A”$ˆCÝ”,˜q 1 # a¡%¨1¨#¡+Ñ.Ô.ˆCÝ  SÑ)Ô)Ð)Ð)Ø��A‘˜‘‰lˆÝŒl˜1˜m˜m˜mÑ,Ô,ˆÝ˜C Ñ%Ô%Ð%õ �q‘”ð 	Að 	AˆAØ�3�q‘5ˆDÝ”˜‘”ˆAÝ�œ a¨!¨Ñ-Ô-Ô3°TÑ:Ô:Ð:Ý�œ a¨!¨Q¨Ñ0Ô0Ô6¸Ñ=Ô=Ð=Ý�œ a¨¨¨Ñ3Ô3Ô9¸4Ñ@Ô@Ð@Ð@ð $Ð#Ð#ˆÝŒU�[Š[˜˜˜¨ˆ[Ñ.Ô.ˆÝŒj˜˜˜ BÑ'Ô'ˆÝ˜3œ8 TÑ*Ô*Ð*ð	ð 	ð 	ð 	ð 	•”
ñ 	ô 	ð 	õ ŒX�i�i�iÑ Ô ×%Ò% aÑ(Ô(ˆÝ•T�"œ* Y Y Y°Ñ3Ô3Ñ4Ô4°aÑ8Ô8Ð8Ð8Ð8r   c                 ó 	  ‡— t          t          t          j        dgdgd¬¦  «         t	          t          j        g dg¦  «        j        d¦  «         t          t          j        g dg¦  «        j        dk    ¦  «         t	          t          j        g dgdz  g¦  «        j        d¦  «         t          t          j        g dgdz  g¦  «        j        dk    ¦  «         t	          t          j        dd¦  «        d¦  «         t          t          j        dt          j	        d¦  «        ¦  «        j        d	k    ¦  «         t          j
        d
d¦  «        Šˆfd„t          d¦  «        D ¦   «         }t          dd¦  «        D ]3}||         }t          j        ‰dg|z  ¦  «        }t          ||¦  «         Œ4‰‰dz
  z  ‰dz   z  }t          j        ‰g d¢¦  «        }t          ||¦  «         t          d¦  «        D ]™}dg|z  }t          j        |¦  «        Št	          t          j        ‰dg¦  «        j        |¦  «         t	          t          j        ‰ddg¦  «        j        |¦  «         t	          t          j        ‰g d¢¦  «        j        |¦  «         Œšg d¢}t          j        |¦  «        }t          j
        d
d¦  «        Št          t          j        ‰|¦  «        t          j        ‰|¦  «        ¦  «         d}t          j        dd¦  «        Št          j                             dd|¬¦  «        }t          j        ‰|d¬¦  «        }t          j        |j        dd …         ¦  «        }t          |j        ¦  «        D ]*}	t          j        ‰|	         |d d …|	f         ¦  «        ||	<   Œ+t	          ||¦  «         t          j        ‰d‰z  g¦  «        Št          j        ‰|d¬¦  «        }t          j        |j        dd …         ‰j        z   ¦  «        }t          |j        d         ¦  «        D ]L}	t          ‰j        d         ¦  «        D ]/}
t          j        ‰|
         |d d …|	f         ¦  «        ||	|
d d …f<   Œ0ŒMt	          ||¦  «         d S )Nr   F)Útensorr   )r   r   )r   r   )r9   r9   )r9   r   c                 ó   •— g | ]}‰|z  ‘ŒS rF   rF   r|   s     €r   r~   z8TestEvaluation.test_polyvalfromroots.<locals>.<listcomp>À   r   r   )r   r   r   r9   r   r€   )é   r   iðÿÿÿéþÿÿÿr   ry   r   éûÿÿÿ)rˆ   T)r   Ú
ValueErrorr   Úpolyvalfromrootsr   rˆ   r   rŠ   rP   Úonesr‰   rO   r   rQ   Ú	polyrootsr‡   ro   ÚrandomÚrandintÚemptyÚvstack)r*   r<   rU   rX   rY   r�   ÚptestÚrÚrshapeÚiiÚjjr   s              @r   Útest_polyvalfromrootsz$TestEvaluation.test_polyvalfromroots¬   sY  ø€ õ 	•j¥$Ô"7Ø�c˜A˜3 uð	.ñ 	.ô 	.ð 	.õ 	•TÔ*¨2°¨sÑ3Ô3Ô8¸!Ñ<Ô<Ð<Ý•Ô% b¨1¨#Ñ.Ô.Ô4¸Ò<Ñ=Ô=Ð=õ 	•TÔ*¨2°°°a±¨yÑ9Ô9Ô>ÀÑBÔBÐBÝ•Ô% b¨A¨3°©7¨)Ñ4Ô4Ô:¸fÒDÑEÔEÐEõ 	•TÔ*¨1¨aÑ0Ô0°!Ñ4Ô4Ð4Ý•Ô% a­¬°©¬Ñ9Ô9Ô?À4ÒGÑHÔHÐHõ ŒK˜˜AÑÔˆØ$Ð$Ð$Ð$�5 ™8œ8Ð$Ñ$Ô$ˆÝ�q˜!‘”ð 	*ð 	*ˆAØ�A”$ˆCÝÔ'¨¨A¨3¨q©5Ñ1Ô1ˆCÝ  SÑ)Ô)Ð)Ð)Ø��Q‘‰i˜˜Q™ÑˆÝÔ# A z z zÑ2Ô2ˆÝ˜C Ñ%Ô%Ð%õ �q‘”ð 	Jð 	JˆAØ�3�q‘5ˆDÝ”˜‘”ˆAÝ�Ô.¨q°1°#Ñ6Ô6Ô<¸dÑCÔCÐCÝ�Ô.¨q°1°a°&Ñ9Ô9Ô?ÀÑFÔFÐFÝ�Ô.¨q°)°)°)Ñ<Ô<ÔBÀDÑIÔIÐIÐIð $Ð#Ð#ˆÝŒN˜5Ñ!Ô!ˆÝŒK˜˜AÑÔˆÝ�DœL¨¨EÑ2Ô2Ý Ô1°!°QÑ7Ô7ñ	9ô 	9ð 	9ð
 ˆÝŒI�b˜!ÑÔˆÝŒI×Ò˜b !¨&ÐÑ1Ô1ˆÝÔ# A q°Ð7Ñ7Ô7ˆÝŒh�q”w˜q˜r˜r”{Ñ#Ô#ˆÝ˜œ‘/”/ð 	=ð 	=ˆBÝÔ+¨A¨b¬E°1°Q°Q°Q¸°U´8Ñ<Ô<ˆC�‰GˆGÝ�S˜#ÑÔÐõ ŒI�q˜!˜A™#�hÑÔˆÝÔ# A q°Ð6Ñ6Ô6ˆÝŒh�q”w˜q˜r˜r”{ Q¤WÑ,Ñ-Ô-ˆÝ˜œ œ
Ñ#Ô#ð 	Hð 	HˆBÝ˜AœG AœJÑ'Ô'ð Hð H�Ý!%Ô!6°q¸´u¸aÀÀÀÀ2À¼hÑ!GÔ!G��B˜˜A˜A˜A�I‘�ðHå�S˜#ÑÔÐÐÐr   c           	      ó€  — | j         \  }}}| j        \  }}}t          t          dt          j        ||d d…         | j        ¦  «         ||z  }t	          j        ||| j        ¦  «        }t          ||¦  «         t          j	        d¦  «        }	t	          j        |	|	| j        ¦  «        }t          |j        dk    ¦  «         d S ©NÚincompatibler   ©r   r9   )r   r<   r   r™   r   Ú	polyval2dÚc2dr   rP   r›   r   rŠ   ©
r*   Úx1Úx2Úx3Úy1Úy2Úy3rX   rY   Úzs
             r   Útest_polyval2dzTestEvaluation.test_polyval2dì   s»   € Ø”V‰
ˆˆB�Ø”V‰
ˆˆB�õ 	�J¨Ý œN¨B°°2°A°2´¸¼ñ	Bô 	Bð 	Bð �‰eˆÝŒn˜R  T¤XÑ.Ô.ˆÝ˜C Ñ%Ô%Ð%õ ŒG�F‰OŒOˆÝŒn˜Q  4¤8Ñ,Ô,ˆÝ�”	˜VÒ#Ñ$Ô$Ð$Ð$Ð$r   c           
      óŒ  — | j         \  }}}| j        \  }}}t          t          dt          j        |||d d…         | j        ¦  «         ||z  |z  }t	          j        |||| j        ¦  «        }t          ||¦  «         t          j	        d¦  «        }	t	          j        |	|	|	| j        ¦  «        }t          |j        dk    ¦  «         d S r¨   )r   r<   r   r™   r   Ú	polyval3dÚc3dr   rP   r›   r   rŠ   r­   s
             r   Útest_polyval3dzTestEvaluation.test_polyval3dþ   sÅ   € Ø”V‰
ˆˆB�Ø”V‰
ˆˆB�õ 	�J¨Ý”n b¨"¨b°°!°¬f°d´hñ	@ô 	@ð 	@ð �‰e�B‰hˆÝŒn˜R  R¨¬Ñ2Ô2ˆÝ˜C Ñ%Ô%Ð%õ ŒG�F‰OŒOˆÝŒn˜Q  1 d¤hÑ/Ô/ˆÝ�”	˜VÒ#Ñ$Ô$Ð$Ð$Ð$r   c                 óB  — | j         \  }}}| j        \  }}}t          j        d||¦  «        }t	          j        ||| j        ¦  «        }t          ||¦  «         t          j        d¦  «        }	t	          j        |	|	| j        ¦  «        }t          |j
        dk    ¦  «         d S )Nrw   rª   )r   r9   r   r9   )r   r<   rP   Úeinsumr   Ú
polygrid2dr¬   r   r›   r   rŠ   r­   s
             r   Útest_polygrid2dzTestEvaluation.test_polygrid2d  s•   € Ø”V‰
ˆˆB�Ø”V‰
ˆˆB�õ Œi˜	 2 rÑ*Ô*ˆÝŒo˜b " d¤hÑ/Ô/ˆÝ˜C Ñ%Ô%Ð%õ ŒG�F‰OŒOˆÝŒo˜a  D¤HÑ-Ô-ˆÝ�”	˜XÒ%Ñ&Ô&Ð&Ð&Ð&r   c                 óH  — | j         \  }}}| j        \  }}}t          j        d|||¦  «        }t	          j        |||| j        ¦  «        }t          ||¦  «         t          j        d¦  «        }	t	          j        |	|	|	| j        ¦  «        }t          |j
        dk    ¦  «         d S )Nrx   rª   )r   r9   r   r9   r   r9   )r   r<   rP   r»   r   Ú
polygrid3dr¸   r   r›   r   rŠ   r­   s
             r   Útest_polygrid3dzTestEvaluation.test_polygrid3d  s›   € Ø”V‰
ˆˆB�Ø”V‰
ˆˆB�õ Œi˜ b¨"¨bÑ1Ô1ˆÝŒo˜b " b¨$¬(Ñ3Ô3ˆÝ˜C Ñ%Ô%Ð%õ ŒG�F‰OŒOˆÝŒo˜a  A t¤xÑ0Ô0ˆÝ�”	˜XÒ%Ñ&Ô&Ð&Ð&Ð&r   N)rC   rD   rE   rP   rp   Úc1dr»   r¬   r¸   r�   r   r   r‡   r<   r’   r¦   rµ   r¹   r½   rÀ   rF   r   r   ru   ru   ~   sé   € € € € € à
ˆ"Œ(�<�<�<Ñ
 Ô
 €CØ
ˆ"Œ)�I˜s CÑ
(Ô
(€CØ
ˆ"Œ)�L # s¨CÑ
0Ô
0€Cð 	Œ	×Ò˜Ñ Ô  Ñ" QÑ&€AØˆŒ�Q˜˜˜Ñ%Ô%€Að"9ð "9ð "9ðH>ð >ð >ð@%ð %ð %ð$%ð %ð %ð$'ð 'ð 'ð'ð 'ð 'ð 'ð 'r   ru   c                   ó   — e Zd Zd„ Zd„ ZdS )ÚTestIntegralc                 ó  — t          t          t          j        dgd¦  «         t          t          t          j        dgd¦  «         t          t          t          j        dgdddg¦  «         t          t          t          j        dgdg¬¦  «         t          t          t          j        dgdg¬¦  «         t          t          t          j        dgd¬¦  «         t          t          ¦  «        5  t          j        ddgd¦  «         d d d ¦  «         n# 1 swxY w Y   t          d	d
¦  «        D ]9}dg|d	z
  z  dgz   }t          j        dg||¬¦  «        }t          |ddg¦  «         Œ:t          d
¦  «        D ]d}|dz   }dg|z  dgz   }|gdg|z  z   d|z  gz   }t          j        |d|g¬¦  «        }t          t          |¦  «        t          |¦  «        ¦  «         Œet          d
¦  «        D ]M}|dz   }dg|z  dgz   }t          j        |d|gd¬¦  «        }t          t          j
        d|¦  «        |¦  «         ŒNt          d
¦  «        D ]e}|dz   }dg|z  dgz   }|gdg|z  z   d	|z  gz   }t          j        |d|gd	¬¦  «        }t          t          |¦  «        t          |¦  «        ¦  «         Œft          d
¦  «        D ]‘}t          d	d
¦  «        D ]~}dg|z  dgz   }|d d …         }t          |¦  «        D ]}t          j        |d¬¦  «        }Œt          j        ||¬¦  «        }t          t          |¦  «        t          |¦  «        ¦  «         ŒŒ’t          d
¦  «        D ]®}t          d	d
¦  «        D ]›}dg|z  dgz   }|d d …         }t          |¦  «        D ]}t          j        |d|g¬¦  «        }Œt          j        ||t          t          |¦  «        ¦  «        ¬¦  «        }t          t          |¦  «        t          |¦  «        ¦  «         ŒœŒ¯t          d
¦  «        D ]°}t          d	d
¦  «        D ]�}dg|z  dgz   }|d d …         }t          |¦  «        D ]}t          j        |d|gd¬¦  «        }Œt          j        ||t          t          |¦  «        ¦  «        d¬¦  «        }t          t          |¦  «        t          |¦  «        ¦  «         ŒžŒ±t          d
¦  «        D ]°}t          d	d
¦  «        D ]�}dg|z  dgz   }|d d …         }t          |¦  «        D ]}t          j        |d|gd	¬¦  «        }Œt          j        ||t          t          |¦  «        ¦  «        d	¬¦  «        }t          t          |¦  «        t          |¦  «        ¦  «         ŒžŒ±d S )Nr   ç      à?r   r   )Úlbnd)Úscl©Úaxisrv   r   r   )ÚmÚk)rÊ   rË   rÆ   )rÊ   rË   rÇ   ©rÊ   )r   Ú	TypeErrorr   Úpolyintr™   r	   ÚDeprecationWarningrO   r   r   r‡   Úlist)r*   rU   rË   rY   rÇ   ÚpolrX   rV   s           r   Útest_polyintzTestIntegral.test_polyint/  s÷  € å•i¥¤°¨s°BÑ7Ô7Ð7Ý•j¥$¤,°°°RÑ8Ô8Ð8Ý•j¥$¤,°°°Q¸¸A¸Ñ?Ô?Ð?Ý•j¥$¤,°°¸1¸#Ð>Ñ>Ô>Ð>Ý•j¥$¤,°°¸!¸Ð=Ñ=Ô=Ð=Ý•i¥¤°¨s¸Ð<Ñ<Ô<Ð<ÝÕ,Ñ-Ô-ð 	%ð 	%ÝŒL˜!˜Q˜ Ñ$Ô$Ð$ð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%õ �q˜!‘”ð 	-ð 	-ˆAØ��Q˜‘U‘˜q˜cÑ!ˆAÝ”, ˜s a¨1Ð-Ñ-Ô-ˆCÝ  a¨ VÑ,Ô,Ð,Ð,õ �q‘”ð 	6ð 	6ˆAØ�a‘%ˆCØ�#�a‘%˜1˜#‘+ˆCØ�#˜˜˜A™‘+  3¡ Ñ'ˆCÝ”,˜s a¨A¨3Ð/Ñ/Ô/ˆCÝ¥ S¡	¤	­4°©9¬9Ñ5Ô5Ð5Ð5õ �q‘”ð 	:ð 	:ˆAØ�a‘%ˆCØ�#�a‘%˜1˜#‘+ˆCÝ”,˜s a¨A¨3°RÐ8Ñ8Ô8ˆCÝ¥¤¨R°Ñ 5Ô 5°qÑ9Ô9Ð9Ð9õ �q‘”ð 	6ð 	6ˆAØ�a‘%ˆCØ�#�a‘%˜1˜#‘+ˆCØ�#˜˜˜A™‘+  3¡ Ñ'ˆCÝ”,˜s a¨A¨3°AÐ6Ñ6Ô6ˆCÝ¥ S¡	¤	­4°©9¬9Ñ5Ô5Ð5Ð5õ �q‘”ð 	:ð 	:ˆAÝ˜1˜a‘[”[ð :ð :�Ø�c˜!‘e˜q˜c‘k�Ø˜!˜!˜!”f�Ý˜q™œð 1ð 1�AÝœ, s¨aÐ0Ñ0Ô0�C�CÝ”l 3¨!Ð,Ñ,Ô,�Ý#¥D¨¡I¤I­t°C©y¬yÑ9Ô9Ð9Ð9ð:õ �q‘”ð 	:ð 	:ˆAÝ˜1˜a‘[”[ð :ð :�Ø�c˜!‘e˜q˜c‘k�Ø˜!˜!˜!”f�Ý˜q™œð 8ð 8�AÝœ, s¨a°A°3Ð7Ñ7Ô7�C�CÝ”l 3¨!­tµE¸!±H´H©~¬~Ð>Ñ>Ô>�Ý#¥D¨¡I¤I­t°C©y¬yÑ9Ô9Ð9Ð9ð:õ �q‘”ð 	:ð 	:ˆAÝ˜1˜a‘[”[ð :ð :�Ø�c˜!‘e˜q˜c‘k�Ø˜!˜!˜!”f�Ý˜q™œð Að A�AÝœ, s¨a°A°3¸RÐ@Ñ@Ô@�C�CÝ”l 3¨!­tµE¸!±H´H©~¬~ÀBÐGÑGÔG�Ý#¥D¨¡I¤I­t°C©y¬yÑ9Ô9Ð9Ð9ð:õ �q‘”ð 	:ð 	:ˆAÝ˜1˜a‘[”[ð :ð :�Ø�c˜!‘e˜q˜c‘k�Ø˜!˜!˜!”f�Ý˜q™œð ?ð ?�AÝœ, s¨a°A°3¸AÐ>Ñ>Ô>�C�CÝ”l 3¨!­tµE¸!±H´H©~¬~À1ÐEÑEÔE�Ý#¥D¨¡I¤I­t°C©y¬yÑ9Ô9Ð9Ð9ð:ð	:ð 	:s   Ã)DÄDÄDc                 óò  — t           j                             d¦  «        }t          j        d„ |j        D ¦   «         ¦  «        j        }t	          j        |d¬¦  «        }t          ||¦  «         t          j        d„ |D ¦   «         ¦  «        }t	          j        |d¬¦  «        }t          ||¦  «         t          j        d„ |D ¦   «         ¦  «        }t	          j        |dd¬	¦  «        }t          ||¦  «         d S )
N©r9   r   c                 ó6   — g | ]}t          j        |¦  «        ‘ŒS rF   ©r   rÎ   ©r}   rr   s     r   r~   z2TestIntegral.test_polyint_axis.<locals>.<listcomp>ƒ  ó    € Ð8Ð8Ð8¨Q�œ a™œÐ8Ð8Ð8r   r   rÈ   c                 ó6   — g | ]}t          j        |¦  «        ‘ŒS rF   rÖ   r×   s     r   r~   z2TestIntegral.test_polyint_axis.<locals>.<listcomp>‡  ó    € Ð6Ð6Ð6¨Q�œ a™œÐ6Ð6Ð6r   r   c                 ó:   — g | ]}t          j        |d ¬¦  «        ‘ŒS )r9   )rË   rÖ   r×   s     r   r~   z2TestIntegral.test_polyint_axis.<locals>.<listcomp>‹  s'   € Ð;Ð;Ð;°!�œ a¨1Ð-Ñ-Ô-Ð;Ð;Ð;r   r9   )rË   rÉ   )rP   r�   r    ÚTr   rÎ   r   ©r*   r¬   rX   rY   s       r   Útest_polyint_axiszTestIntegral.test_polyint_axis  sê   € åŒi×Ò˜vÑ&Ô&ˆåŒiÐ8Ð8°#´%Ð8Ñ8Ô8Ñ9Ô9Ô;ˆÝŒl˜3 QÐ'Ñ'Ô'ˆÝ˜C Ñ%Ô%Ð%åŒiÐ6Ð6°#Ð6Ñ6Ô6Ñ7Ô7ˆÝŒl˜3 QÐ'Ñ'Ô'ˆÝ˜C Ñ%Ô%Ð%åŒiÐ;Ð;°sÐ;Ñ;Ô;Ñ<Ô<ˆÝŒl˜3 !¨!Ð,Ñ,Ô,ˆÝ˜C Ñ%Ô%Ð%Ð%Ð%r   N)rC   rD   rE   rÒ   rÞ   rF   r   r   rÃ   rÃ   -  s6   € € € € € ðN:ð N:ð N:ð`&ð &ð &ð &ð &r   rÃ   c                   ó   — e Zd Zd„ Zd„ ZdS )ÚTestDerivativec           	      óV  — t          t          t          j        dgd¦  «         t          t          t          j        dgd¦  «         t          d¦  «        D ]L}dg|z  dgz   }t          j        |d¬¦  «        }t          t          |¦  «        t          |¦  «        ¦  «         ŒMt          d¦  «        D ]s}t          dd¦  «        D ]`}dg|z  dgz   }t          j        t          j        ||¬¦  «        |¬¦  «        }t          t          |¦  «        t          |¦  «        ¦  «         ŒaŒtt          d¦  «        D ]u}t          dd¦  «        D ]b}dg|z  dgz   }t          j        t          j        ||d¬¦  «        |d¬¦  «        }t          t          |¦  «        t          |¦  «        ¦  «         ŒcŒvd S )	Nr   rÅ   r   r   r   rÌ   r   )rÊ   rÇ   )
r   rÍ   r   Úpolyderr™   rO   r   r   rÎ   r   )r*   rU   rX   rY   rV   s        r   Útest_polyderzTestDerivative.test_polyder’  s§  € å•i¥¤°¨s°BÑ7Ô7Ð7Ý•j¥$¤,°°°RÑ8Ô8Ð8õ �q‘”ð 	/ð 	/ˆAØ�#�a‘%˜1˜#‘+ˆCÝ”,˜s aÐ(Ñ(Ô(ˆCÝ�˜c™œ¥D¨¡I¤IÑ.Ô.Ð.Ð.õ �q‘”ð 	:ð 	:ˆAÝ˜1˜a‘[”[ð :ð :�Ø�c˜!‘e˜q˜c‘k�Ý”l¥4¤<°°qÐ#9Ñ#9Ô#9¸QÐ?Ñ?Ô?�Ý#¥D¨¡I¤I­t°C©y¬yÑ9Ô9Ð9Ð9ð:õ �q‘”ð 	:ð 	:ˆAÝ˜1˜a‘[”[ð :ð :�Ø�c˜!‘e˜q˜c‘k�Ý”l¥4¤<°°q¸aÐ#@Ñ#@Ô#@ÀAÈ2ÐNÑNÔN�Ý#¥D¨¡I¤I­t°C©y¬yÑ9Ô9Ð9Ð9ð:ð	:ð 	:r   c                 óh  — t           j                             d¦  «        }t          j        d„ |j        D ¦   «         ¦  «        j        }t	          j        |d¬¦  «        }t          ||¦  «         t          j        d„ |D ¦   «         ¦  «        }t	          j        |d¬¦  «        }t          ||¦  «         d S )NrÔ   c                 ó6   — g | ]}t          j        |¦  «        ‘ŒS rF   ©r   râ   r×   s     r   r~   z4TestDerivative.test_polyder_axis.<locals>.<listcomp>¯  rØ   r   r   rÈ   c                 ó6   — g | ]}t          j        |¦  «        ‘ŒS rF   ræ   r×   s     r   r~   z4TestDerivative.test_polyder_axis.<locals>.<listcomp>³  rÚ   r   r   )rP   r�   r    rÜ   r   râ   r   rÝ   s       r   Útest_polyder_axisz TestDerivative.test_polyder_axis«  s¦   € åŒi×Ò˜vÑ&Ô&ˆåŒiÐ8Ð8°#´%Ð8Ñ8Ô8Ñ9Ô9Ô;ˆÝŒl˜3 QÐ'Ñ'Ô'ˆÝ˜C Ñ%Ô%Ð%åŒiÐ6Ð6°#Ð6Ñ6Ô6Ñ7Ô7ˆÝŒl˜3 QÐ'Ñ'Ô'ˆÝ˜C Ñ%Ô%Ð%Ð%Ð%r   N)rC   rD   rE   rã   rè   rF   r   r   rà   rà   �  s2   € € € € € ð:ð :ð :ð2
&ð 
&ð 
&ð 
&ð 
&r   rà   c                   óf   — e Zd Zej                             d¦  «        dz  dz
  Zd„ Zd„ Zd„ Zd„ Z	dS )	Ú
TestVanderry   r   r   c                 ó8  — t          j        d¦  «        }t          j        |d¦  «        }t	          |j        dk    ¦  «         t          d¦  «        D ]7}dg|z  dgz   }t          |d|f         t          j        ||¦  «        ¦  «         Œ8t          j	        ddgddgdd	gg¦  «        }t          j        |d¦  «        }t	          |j        d
k    ¦  «         t          d¦  «        D ]7}dg|z  dgz   }t          |d|f         t          j        ||¦  «        ¦  «         Œ8d S )Nr9   rÔ   r   r   r   .r   r   é   )r9   r   r   )
rP   ro   r   Ú
polyvanderr   rŠ   rO   r   r‡   rp   )r*   r   ÚvrU   Úcoefs        r   Útest_polyvanderzTestVander.test_polyvander¼  s)  € åŒI�a‰LŒLˆÝŒO˜A˜qÑ!Ô!ˆÝ�”˜6Ò!Ñ"Ô"Ð"Ý�q‘”ð 	Bð 	BˆAØ�3�q‘5˜A˜3‘;ˆDÝ  # q &¤	­4¬<¸¸4Ñ+@Ô+@ÑAÔAÐAÐAõ ŒH�q˜!�f˜q !˜f q¨! fÐ-Ñ.Ô.ˆÝŒO˜A˜qÑ!Ô!ˆÝ�”˜9Ò$Ñ%Ô%Ð%Ý�q‘”ð 	Bð 	BˆAØ�3�q‘5˜A˜3‘;ˆDÝ  # q &¤	­4¬<¸¸4Ñ+@Ô+@ÑAÔAÐAÐAð	Bð 	Br   c                 ón  — | j         \  }}}t          j                             d¦  «        }t          j        ||ddg¦  «        }t          j        |||¦  «        }t          j        ||j        ¦  «        }t          ||¦  «         t          j        |g|gddg¦  «        }t          |j
        dk    ¦  «         d S )Nrª   r   r   )r   r   rì   )r   rP   r�   r   Úpolyvander2dr«   ÚdotÚflatr   r   rŠ   ©r*   r®   r¯   r°   rr   ÚvanrX   rY   s           r   Útest_polyvander2dzTestVander.test_polyvander2dÍ  s«   € à”V‰
ˆˆB�ÝŒI×Ò˜VÑ$Ô$ˆÝÔ  B¨¨A¨Ñ/Ô/ˆÝŒn˜R  QÑ'Ô'ˆÝŒf�S˜!œ&Ñ!Ô!ˆÝ˜C Ñ%Ô%Ð%õ Ô   r d¨Q°¨FÑ3Ô3ˆÝ�”	˜YÒ&Ñ'Ô'Ð'Ð'Ð'r   c                 óv  — | j         \  }}}t          j                             d¦  «        }t          j        |||g d¢¦  «        }t          j        ||||¦  «        }t          j        ||j        ¦  «        }t          ||¦  «         t          j        |g|g|gg d¢¦  «        }t          |j
        dk    ¦  «         d S )Nr†   r8   )r   r   é   )r   rP   r�   r   Úpolyvander3dr·   ró   rô   r   r   rŠ   rõ   s           r   Útest_polyvander3dzTestVander.test_polyvander3dÚ  s³   € à”V‰
ˆˆB�ÝŒI×Ò˜YÑ'Ô'ˆÝÔ  B¨¨I¨I¨IÑ6Ô6ˆÝŒn˜R  R¨Ñ+Ô+ˆÝŒf�S˜!œ&Ñ!Ô!ˆÝ˜C Ñ%Ô%Ð%õ Ô   r d¨R¨D°)°)°)Ñ<Ô<ˆÝ�”	˜ZÒ'Ñ(Ô(Ð(Ð(Ð(r   c                 óp   — t          j        d¦  «        }t          t          t          j        |d¦  «         d S )Nr9   r   )rP   ro   r   r™   r   rí   )r*   r   s     r   Útest_polyvandernegdegz TestVander.test_polyvandernegdegç  s+   € ÝŒI�a‰LŒLˆÝ•j¥$¤/°1°bÑ9Ô9Ð9Ð9Ð9r   N)
rC   rD   rE   rP   r�   r   rð   r÷   rû   rý   rF   r   r   rê   rê   ¸  sr   € € € € € à
Œ	×Ò˜Ñ Ô  Ñ" QÑ&€AðBð Bð Bð"(ð (ð (ð)ð )ð )ð:ð :ð :ð :ð :r   rê   c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )ÚTestCompanionc                 óˆ   — t          t          t          j        g ¦  «         t          t          t          j        dg¦  «         d S r0   )r   r™   r   Úpolycompanionr)   s    r   Útest_raiseszTestCompanion.test_raisesî  s4   € Ý•j¥$Ô"4°bÑ9Ô9Ð9Ý•j¥$Ô"4°q°cÑ:Ô:Ð:Ð:Ð:r   c                 ó˜   — t          dd¦  «        D ]8}dg|z  dgz   }t          t          j        |¦  «        j        ||fk    ¦  «         Œ9d S )Nr   r   r   )rO   r   r   r  rŠ   )r*   rU   rï   s      r   Útest_dimensionszTestCompanion.test_dimensionsò  s\   € Ý�q˜!‘”ð 	>ð 	>ˆAØ�3�q‘5˜A˜3‘;ˆDÝ•DÔ& tÑ,Ô,Ô2°q¸!°fÒ<Ñ=Ô=Ð=Ð=ð	>ð 	>r   c                 ó`   — t          t          j        ddg¦  «        d         dk    ¦  «         d S )Nr   r   )r   r   ç      à¿)r   r   r  r)   s    r   Útest_linear_rootzTestCompanion.test_linear_root÷  s/   € Ý•Ô" A q 6Ñ*Ô*¨4Ô0°CÒ7Ñ8Ô8Ð8Ð8Ð8r   N)rC   rD   rE   r  r  r  rF   r   r   rÿ   rÿ   ì  sA   € € € € € ð;ð ;ð ;ð>ð >ð >ð
9ð 9ð 9ð 9ð 9r   rÿ   c                   ó2   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestMiscc           	      ó¼  — t          j        g ¦  «        }t          t          |¦  «        dg¦  «         t	          dd¦  «        D ]˜}t          j        t          j        t
          j         dd|z  dz   ¦  «        dd d…         ¦  «        }t          |         }t          j        |¦  «        d|dz
  z  z  }t          t          |¦  «        t          |¦  «        ¦  «         Œ™d S )Nr   r   r   r   )
r   Úpolyfromrootsr   r   rO   rP   Úcosr‰   ÚpiÚTlist)r*   rY   rU   ÚrootsrX   s        r   Útest_polyfromrootszTestMisc.test_polyfromrootsý  sÄ   € ÝÔ  Ñ$Ô$ˆÝ�D ™IœI¨ sÑ+Ô+Ð+Ý�q˜!‘”ð 	6ð 	6ˆAÝ”F�2œ;­¬ v¨q°!°A±#¸±'Ñ:Ô:¸1¸4¸a¸4Ô@ÑAÔAˆEÝ˜”(ˆCÝÔ$ UÑ+Ô+¨A°°!±©HÑ4ˆCÝ¥ S¡	¤	­4°©9¬9Ñ5Ô5Ð5Ð5ð		6ð 	6r   c                 óˆ  — t          t          j        dg¦  «        g ¦  «         t          t          j        ddg¦  «        dg¦  «         t          dd¦  «        D ]h}t	          j        dd|¦  «        }t          j        t          j        |¦  «        ¦  «        }t          t          |¦  «        t          |¦  «        ¦  «         Œid S )Nr   r   r  r   r   )r   r   rœ   rO   rP   r‰   r  r   )r*   rU   rX   rY   s       r   Útest_polyrootszTestMisc.test_polyroots  s«   € Ý�DœN¨A¨3Ñ/Ô/°Ñ4Ô4Ð4Ý�DœN¨A¨q¨6Ñ2Ô2°S°EÑ:Ô:Ð:Ý�q˜!‘”ð 	6ð 	6ˆAÝ”+˜b ! QÑ'Ô'ˆCÝ”.¥Ô!3°CÑ!8Ô!8Ñ9Ô9ˆCÝ¥ S¡	¤	­4°©9¬9Ñ5Ô5Ð5Ð5ð	6ð 	6r   c           	      ó  — d„ }d„ }t          t          t          j        dgdgd¦  «         t          t          t          j        dggdgd¦  «         t          t          t          j        g dgd¦  «         t          t          t          j        dgdgggd¦  «         t          t          t          j        ddgdgd¦  «         t          t          t          j        dgddgd¦  «         t          t          t          j        dgdgddgg¬¦  «         t          t          t          j        dgdgdddg¬¦  «         t          t          t          j        dgdgdg¦  «         t          t          t          j        dgdgg d¢¦  «         t          t          t          j        dgdgg ¦  «         t          j        dd¦  «        } ||¦  «        }t          j        ||d	¦  «        }t          t          |¦  «        d
¦  «         t          t          j
        ||¦  «        |¦  «         t          j        ||g d¢¦  «        }t          t          |¦  «        d
¦  «         t          t          j
        ||¦  «        |¦  «         t          j        ||d
¦  «        }t          t          |¦  «        d¦  «         t          t          j
        ||¦  «        |¦  «         t          j        ||g d¢¦  «        }t          t          |¦  «        d¦  «         t          t          j
        ||¦  «        |¦  «         t          j        |t          j        ||g¦  «        j        d	¦  «        }t          |t          j        ||g¦  «        j        ¦  «         t          j        |t          j        ||g¦  «        j        g d¢¦  «        }t          |t          j        ||g¦  «        j        ¦  «         t          j        |¦  «        }|                     ¦   «         }	d|dd d…<   d|	dd d…<   t          j        ||	d	|¬¦  «        }
t          |
|¦  «         t          j        ||	g d¢|¬¦  «        }
t          |
|¦  «         t          j        |t          j        |	|	g¦  «        j        d	|¬¦  «        }t          |t          j        ||g¦  «        j        ¦  «         t          j        |t          j        |	|	g¦  «        j        g d¢|¬¦  «        }t          |t          j        ||g¦  «        j        ¦  «         g d¢}t          t          j        ||d¦  «        ddg¦  «         t          t          j        ||ddg¦  «        ddg¦  «         t          j        dd¦  «        } ||¦  «        }t          j        ||d
¦  «        }t          t          j
        ||¦  «        |¦  «         t          j        ||g d¢¦  «        }t          t          j
        ||¦  «        |¦  «         t          ||¦  «         d S )Nc                 ó   — | | dz
  z  | dz
  z  S )Nr   r   rF   r   s    r   Úfz TestMisc.test_polyfit.<locals>.f  s   € Ø�a˜!‘e‘9˜a !™eÑ$Ð$r   c                 ó   — | dz  | dz  z   dz   S )Nr   r   r   rF   r   s    r   Úf2z!TestMisc.test_polyfit.<locals>.f2  s   € Ø�a‘4˜!˜Q™$‘; ‘?Ð"r   r   r   r   r   )Úw)r   r   rì   r9   r   )r   r   r   r9   r   )r   r   r   r9   r   )r   y              ð?r   y       €      ð¿)r   r   r   )r   r™   r   ÚpolyfitrÍ   rP   r‰   r   Úlenr   r‡   rp   rÜ   Ú
zeros_likeÚcopy)r*   r  r  r   r<   Úcoef3Úcoef4Úcoef2dr  ÚywÚwcoef3Úwcoef2dÚcoef1Úcoef2s                 r   Útest_polyfitzTestMisc.test_polyfit  sQ  € ð	%ð 	%ð 	%ð	#ð 	#ð 	#õ 	•j¥$¤,°°°a°S¸"Ñ=Ô=Ð=Ý•i¥¤°°¨u°q°c¸1Ñ=Ô=Ð=Ý•i¥¤¨r°A°3¸Ñ:Ô:Ð:Ý•i¥¤°¨s°q°c°U°G¸QÑ?Ô?Ð?Ý•i¥¤°°1¨v¸°s¸AÑ>Ô>Ð>Ý•i¥¤°¨s°Q¸°F¸AÑ>Ô>Ð>Ý•i¥¤°¨s°Q°C¸À¸s¸eÐDÑDÔDÐDÝ•i¥¤°¨s°Q°C¸¸qÀ!¸fÐEÑEÔEÐEÝ•j¥$¤,°°°a°S¸2¸%Ñ@Ô@Ð@Ý•j¥$¤,°°°a°S¸*¸*¸*ÑEÔEÐEÝ•i¥¤°¨s°Q°C¸Ñ<Ô<Ð<õ ŒK˜˜1ÑÔˆØˆAˆa‰DŒDˆå”˜Q  1Ñ%Ô%ˆÝ•S˜‘Z”Z Ñ#Ô#Ð#Ý�DœL¨¨EÑ2Ô2°AÑ6Ô6Ð6Ý”˜Q  < < <Ñ0Ô0ˆÝ•S˜‘Z”Z Ñ#Ô#Ð#Ý�DœL¨¨EÑ2Ô2°AÑ6Ô6Ð6å”˜Q  1Ñ%Ô%ˆÝ•S˜‘Z”Z Ñ#Ô#Ð#Ý�DœL¨¨EÑ2Ô2°AÑ6Ô6Ð6Ý”˜Q  ? ? ?Ñ3Ô3ˆÝ•S˜‘Z”Z Ñ#Ô#Ð#Ý�DœL¨¨EÑ2Ô2°AÑ6Ô6Ð6å”˜a¥¤¨1¨a¨&Ñ!1Ô!1Ô!3°QÑ7Ô7ˆÝ˜F¥B¤H¨e°U¨^Ñ$<Ô$<Ô$>Ñ?Ô?Ð?Ý”˜a¥¤¨1¨a¨&Ñ!1Ô!1Ô!3°\°\°\ÑBÔBˆÝ˜F¥B¤H¨e°U¨^Ñ$<Ô$<Ô$>Ñ?Ô?Ð?åŒM˜!ÑÔˆØ�VŠV‰XŒXˆØˆˆ!ˆ$ˆQˆ$‰Øˆˆ1ˆ4ˆaˆ4‰Ý”˜a  Q¨!Ð,Ñ,Ô,ˆÝ˜F EÑ*Ô*Ð*Ý”˜a  \ \ \°QÐ7Ñ7Ô7ˆÝ˜F EÑ*Ô*Ð*å”,˜q¥"¤(¨B°¨8Ñ"4Ô"4Ô"6¸¸QÐ?Ñ?Ô?ˆÝ˜G¥R¤X¨u°e¨nÑ%=Ô%=Ô%?Ñ@Ô@Ð@Ý”,˜q¥"¤(¨B°¨8Ñ"4Ô"4Ô"6¸¸¸ÈÐJÑJÔJˆÝ˜G¥R¤X¨u°e¨nÑ%=Ô%=Ô%?Ñ@Ô@Ð@ð ÐÐˆÝ�DœL¨¨A¨qÑ1Ô1°A°q°6Ñ:Ô:Ð:Ý�DœL¨¨A°°1¨vÑ6Ô6¸¸A¸Ñ?Ô?Ð?åŒK˜˜AÑÔˆØˆBˆq‰EŒEˆÝ”˜Q  1Ñ%Ô%ˆÝ�DœL¨¨EÑ2Ô2°AÑ6Ô6Ð6Ý”˜Q  9 9 9Ñ-Ô-ˆÝ�DœL¨¨EÑ2Ô2°AÑ6Ô6Ð6Ý˜E 5Ñ)Ô)Ð)Ð)Ð)r   c                 óB  — g d¢}t          t          t          j        |d¦  «         t	          t          j        |¦  «        |d d…         ¦  «         t	          t          j        |d¦  «        |d d…         ¦  «         t	          t          j        |d¦  «        dg¦  «         d S )N)r   r   r   r   r   r   r   r   r   )r   r™   r   r   r   )r*   rï   s     r   Útest_polytrimzTestMisc.test_polytrimT  s�   € Øˆ}ˆ}ˆõ 	•j¥$¤-°°rÑ:Ô:Ð:õ 	•T”] 4Ñ(Ô(¨$¨s°¨s¬)Ñ4Ô4Ð4Ý•T”] 4¨Ñ+Ô+¨T°#°2°#¬YÑ7Ô7Ð7Ý•T”] 4¨Ñ+Ô+¨a¨SÑ1Ô1Ð1Ð1Ð1r   c                 óP   — t          t          j        dd¦  «        ddg¦  «         d S )Nr9   r   ©r   r   Úpolyliner)   s    r   Útest_polylinezTestMisc.test_polyline_  s(   € Ý•T”] 1 aÑ(Ô(¨1¨a¨&Ñ1Ô1Ð1Ð1Ð1r   c                 óN   — t          t          j        dd¦  «        dg¦  «         d S )Nr9   r   r)  r)   s    r   Útest_polyline_zerozTestMisc.test_polyline_zerob  s&   € Ý•T”] 1 aÑ(Ô(¨1¨#Ñ.Ô.Ð.Ð.Ð.r   N)	rC   rD   rE   r  r  r%  r'  r+  r-  rF   r   r   r	  r	  û  sr   € € € € € ð6ð 6ð 6ð6ð 6ð 6ðD*ð D*ð D*ðL	2ð 	2ð 	2ð2ð 2ð 2ð/ð /ð /ð /ð /r   r	  )'Ú__doc__Ú	functoolsr   ÚnumpyrP   Únumpy.polynomial.polynomialÚ
polynomialr   r?   r  r   Únumpy.testingr   r   r   r   r	   r
   r   r   ÚT0ÚT1ÚT2ÚT3ÚT4ÚT5ÚT6ÚT7ÚT8ÚT9r  r&   rH   ru   rÃ   rà   rê   rÿ   r	  rF   r   r   ú<module>r>     sÇ  ððð ð Ð Ð Ð Ð Ð à Ð Ð Ð Ø *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ø €€€Ø Ð Ð Ð Ð Ð ð;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð
&ð &ð &ð €S€Øˆ€V€Ø€Z€Z€Ø€]€]€ØÐÐ€ØÐÐ€ØÐÐ€Ø#Ð#Ð#€Ø)Ð)Ð)€Ø-Ð-Ð-€à	ˆR��R˜˜R  R¨¨RÐ0€ðð ð ð ð ñ ô ð ð0C@ð C@ð C@ð C@ð C@ñ C@ô C@ð C@ðLl'ð l'ð l'ð l'ð l'ñ l'ô l'ð l'ð^`&ð `&ð `&ð `&ð `&ñ `&ô `&ð `&ðF%&ð %&ð %&ð %&ð %&ñ %&ô %&ð %&ðP1:ð 1:ð 1:ð 1:ð 1:ñ 1:ô 1:ð 1:ðh9ð 9ð 9ð 9ð 9ñ 9ô 9ð 9ðh/ð h/ð h/ð h/ð h/ñ h/ô h/ð h/ð h/ð h/r   