§
    ÇÁ³gýU  ã            
       óÜ  — d Z ddlmZ ddlmZ ddlZddlmc m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+ G d!„ d"¦  «        Z,dS )#zTests for polynomial module.

é    )Úreduce)ÚFractionN)Údeepcopy)Úassert_almost_equalÚassert_raisesÚassert_equalÚassert_Úassert_array_equalÚassert_raises_regexÚassert_warnsc                 ó.   — t          j        | d¬¦  «        S )Ng�íµ ÷Æ°>)Útol)ÚpolyÚpolytrim©Úxs    úd/var/www/html/mpstechhub/venv/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 r8   )r   r;   ÚpickleÚloadsÚdumpsr   r<   s      r   Útest_picklezTestConstants.test_pickle4   sB   € ÝŒO˜I˜I˜IÑ&Ô&ˆÝŒL�œ a™œÑ)Ô)ˆÝ�Q˜ÑÔÐÐÐr   N)	Ú__name__Ú
__module__Ú__qualname__r,   r/   r3   r6   r>   rC   © 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 rK   )rP   rQ   rR   rS   r   Úpolysubr   r   rU   s         r   Útest_polysubzTestArithmetic.test_polysubE   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   ÚpolymulxrP   )r+   rV   ÚserrY   s       r   Útest_polymulxzTestArithmetic.test_polymulxO   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 rK   )rP   rQ   rR   r   Úpolymulr   r   rU   s         r   Útest_polymulzTestArithmetic.test_polymulW   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   rL   rM   rN   )r   ÚZeroDivisionErrorr   Úpolydivr   rP   rT   re   )
r+   ÚquoÚremrV   rW   rX   ÚciÚcjrY   rZ   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   rL   rM   r   rN   )
rP   rQ   Úaranger   r   re   ÚarrayÚpolypowr   r   )r+   rV   rW   rX   ÚcrY   rZ   s          r   Útest_polypowzTestArithmetic.test_polypowu   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)	rD   rE   rF   r[   r_   rc   rf   rn   rt   rG   r   r   rI   rI   9   s|   € € € € € ð@ð @ð @ð@ð @ð @ð2ð 2ð 2ð@ð @ð @ð4ð 4ð 4ð*@ð @ð @ð @ð @r   rI   c                   ó   — e Zd Zd„ ZdS )ÚTestFractionc                 óB  — t          dd¦  «        }t          dd¦  «        }t          dd¦  «        }t          j        ||g||g||g¬¦  «        }d|z  |dz  z   }t          |j        t          j        t          dd¦  «        t          dd¦  «        t          d	d¦  «        gt          ¬
¦  «        ¦  «         t          |j        ||g¦  «         t          |j        j	        t
          j
                             ¦   «         ¦  «         t          t           ||¦  «        t           ¦  «        ¦  «         t           ||¦  «        t          dd¦  «        ¦  «         t          j        t          dd¦  «        g||g||g¬¦  «        }t          |                     ¦   «         |¦  «         d S )Nr   r:   r   r   ©ÚdomainÚwindowr   r$   é   r   ©Údtypeé
   )r   r   r;   r   ÚcoefrQ   rq   Úobjectry   r}   ÚdtypesÚObjectDTyper	   Ú
isinstanceÚderiv)r+   ÚfÚoneÚzeroÚpr   Úp_derivs          r   Útest_FractionzTestFraction.test_Fraction€   sx  € å�Q˜‰NŒNˆÝ�q˜!‰nŒnˆÝ˜˜1‰~Œ~ˆÝŒO˜Q ˜F¨D°#¨;ÀÀc¸{ÐKÑKÔKˆà�‰E�A˜‘F‰NˆÝ�Q”V�RœX¥x°°A¡¤½ÀÀQ¹¼Ý'/°°1¡~¤~ð'7Ý>DðFñ Fô Fñ 	Gô 	Gð 	Gå�Q”X  c˜{Ñ+Ô+Ð+Ý�Q”V”\¥2¤9×#8Ò#8Ñ#:Ô#:Ñ;Ô;Ð;Ý•
˜1˜1˜Q™4œ4¥Ñ*Ô*Ñ+Ô+Ð+Ý�Q�Q�q‘T”T�8 B¨™?œ?Ñ+Ô+Ð+Ý”/¥8¨A¨q¡>¤>Ð"2¸DÀ#¸;Ø*.°¨ð6ñ 6ô 6ˆå�Q—W’W‘Y”Y Ñ(Ô(Ð(Ð(Ð(r   N)rD   rE   rF   rŠ   rG   r   r   rv   rv   ~   s#   € € € € € ð)ð )ð )ð )ð )r   rv   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      @úi,j->ijú
i,j,k->ijk©r:   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 rG   rG   ©Ú.0rV   r   s     €r   ú
<listcomp>z/TestEvaluation.test_polyval.<locals>.<listcomp>¢   ó   ø€ Ð$Ð$Ð$�aˆQ�‰TÐ$Ð$Ð$r   r   r   )r   r   r   r   r:   ©r   r   r   )FTFr9   )Úmask)é   r   r:   c                   ó   — e Zd ZdS )ú&TestEvaluation.test_polyval.<locals>.CN)rD   rE   rF   rG   r   r   ÚCrœ   º   s   € € € € € ØˆDr   r�   ©r   r:   r   )r   r   ÚpolyvalÚsizerQ   ÚlinspacerP   r   rR   ÚshapeÚmarq   r
   r™   ÚndarrayÚviewÚtype)r+   r=   rV   rY   rZ   Ú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   )r:   r:   )r:   r   c                 ó   •— g | ]}‰|z  ‘ŒS rG   rG   r”   s     €r   r–   z8TestEvaluation.test_polyvalfromroots.<locals>.<listcomp>Ô   r—   r   )r   r   r   r:   r   r˜   )é   r   iðÿÿÿéþÿÿÿr   r‘   r   éûÿÿÿ)r    T)r   Ú
ValueErrorr   Úpolyvalfromrootsr   r    r	   r¢   rQ   Úonesr¡   rP   r   rR   Ú	polyrootsrŸ   rp   ÚrandomÚrandintÚemptyÚvstack)r+   r=   rV   rY   rZ   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   r:   )r   r=   r   r±   r   Ú	polyval2dÚc2dr   rQ   r³   r	   r¢   ©
r+   Úx1Úx2Úx3Úy1Úy2Úy3rY   rZ   Ú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   rQ   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 )Nr�   rÂ   )r   r:   r   r:   )r   r=   rQ   Ú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 )Nr�   rÂ   )r   r:   r   r:   r   r:   )r   r=   rQ   rÓ   r   Ú
polygrid3drÐ   r   r³   r	   r¢   rÅ   s
             r   Útest_polygrid3dzTestEvaluation.test_polygrid3d2  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)rD   rE   rF   rQ   rq   Úc1drÓ   rÄ   rÐ   rµ   r   r   rŸ   r=   rª   r¾   rÍ   rÑ   rÕ   rØ   rG   r   r   rŒ   rŒ   ’   sé   € € € € € à
ˆ"Œ(�<�<�<Ñ
 Ô
 €CØ
ˆ"Œ)�I˜s CÑ
(Ô
(€CØ
ˆ"Œ)�L # s¨CÑ
0Ô
0€Cð 	Œ	×Ò˜Ñ Ô  Ñ" QÑ&€AØˆŒ�Q˜˜˜Ñ%Ô%€Að"9ð "9ð "9ðH>ð >ð >ð@%ð %ð %ð$%ð %ð %ð$'ð 'ð 'ð'ð 'ð 'ð 'ð 'r   rŒ   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          t          j        ddgd¦  «         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©Úaxisr�   r   r   )ÚmÚk)râ   rã   rÞ   )râ   rã   rß   ©râ   )
r   Ú	TypeErrorr   Úpolyintr±   rP   r   r   rŸ   Úlist)r+   rV   rã   rZ   rß   ÚpolrY   rW   s           r   Útest_polyintzTestIntegral.test_polyintC  s—  € å•i¥¤°¨s°BÑ7Ô7Ð7Ý•j¥$¤,°°°RÑ8Ô8Ð8Ý•j¥$¤,°°°Q¸¸A¸Ñ?Ô?Ð?Ý•j¥$¤,°°¸1¸#Ð>Ñ>Ô>Ð>Ý•j¥$¤,°°¸!¸Ð=Ñ=Ô=Ð=Ý•i¥¤°¨s¸Ð<Ñ<Ô<Ð<Ý•i¥¤°°1¨v°rÑ:Ô:Ð:õ �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ð:ð	:ð 	:r   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©r:   r   c                 ó6   — g | ]}t          j        |¦  «        ‘ŒS rG   ©r   ræ   ©r•   rs   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 rG   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 )r:   )rã   rí   rî   s     r   r–   z2TestIntegral.test_polyint_axis.<locals>.<listcomp>ž  s'   € Ð;Ð;Ð;°!�œ a¨1Ð-Ñ-Ô-Ð;Ð;Ð;r   r:   )rã   rá   )rQ   rµ   r¸   ÚTr   ræ   r   ©r+   rÄ   rY   rZ   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)rD   rE   rF   ré   rõ   rG   r   r   rÛ   rÛ   A  s6   € € € € € ðM:ð M:ð M:ð^&ð &ð &ð &ð &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±   rP   r   r   ræ   r   )r+   rV   rY   rZ   rW   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 rG   ©r   rù   rî   s     r   r–   z4TestDerivative.test_polyder_axis.<locals>.<listcomp>Â  rï   r   r   rà   c                 ó6   — g | ]}t          j        |¦  «        ‘ŒS rG   rý   rî   s     r   r–   z4TestDerivative.test_polyder_axis.<locals>.<listcomp>Æ  rñ   r   r   )rQ   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)rD   rE   rF   rú   rÿ   rG   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 )	Ú
TestVanderr‘   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 )Nr:   rë   r   r   r   .r   r   é   )r:   r   r   )
rQ   rp   r   Ú
polyvanderr	   r¢   rP   r   rŸ   rq   )r+   r   ÚvrV   r   s        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   rQ   rµ   r   Úpolyvander2drÃ   ÚdotÚflatr   r	   r¢   ©r+   rÆ   rÇ   rÈ   rs   ÚvanrY   rZ   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ž   r9   )r   r   é   )r   rQ   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 )Nr:   r   )rQ   rp   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)
rD   rE   rF   rQ   rµ   r   r  r  r  r  rG   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 r1   )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   )rP   r	   r   r  r¢   )r+   rV   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)rD   rE   rF   r  r  r  rG   r   r   r  r  ÿ  sA   € € € € € ð;ð ;ð ;ð>ð >ð >ð
9ð 9ð 9ð 9ð 9r   r  c                   ó>   — e Zd Zd„ 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   rP   rQ   Úcosr¡   ÚpiÚTlist)r+   rZ   rV   ÚrootsrY   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´   rP   rQ   r¡   r!  r   )r+   rV   rY   rZ   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   rG   r   s    r   r…   z TestMisc.test_polyfit.<locals>.f"  s   € Ø�a˜!‘e‘9˜a !™eÑ$Ð$r   c                 ó   — | dz  | dz  z   dz   S )Nr   r   r   rG   r   s    r   Úf2z!TestMisc.test_polyfit.<locals>.f2%  s   € Ø�a‘4˜!˜Q™$‘; ‘?Ð"r   r   r   r   r   )Úw)r   r   r  r:   r   )r   r   r   r:   r   )r   r   r   r:   r   )r   y              ð?r   y       €      ð¿)r   r   r   )r   r±   r   Úpolyfitrå   rQ   r¡   r   Úlenr   rŸ   rq   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_polytrimg  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 )Nr:   r   ©r   r   Úpolyliner*   s    r   Útest_polylinezTestMisc.test_polyliner  s(   € Ý•T”] 1 aÑ(Ô(¨1¨a¨&Ñ1Ô1Ð1Ð1Ð1r   c                 óN   — t          t          j        dd¦  «        dg¦  «         d S )Nr:   r   r>  r*   s    r   Útest_polyline_zerozTestMisc.test_polyline_zerou  s&   € Ý•T”] 1 aÑ(Ô(¨1¨#Ñ.Ô.Ð.Ð.Ð.r   c                 ó¢  — t           j                             dgdgd¬¦  «        }t          |j        dg¦  «         t           j                             ddgddgd¬¦  «        }t          |j        dg¦  «         t          t          j        ¦  «        5  t           j                             ddgddgd¬¦  «        }d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r   r   )ÚdegrŽ   gÍÌÌÌÌÌ @gffffff @)	r   r;   Úfitr   r   r   r   ÚpuÚRankWarning)r+   rˆ   s     r   Útest_fit_degenerate_domainz#TestMisc.test_fit_degenerate_domainx  s  € ÝŒO×Ò   a S¨aÐÑ0Ô0ˆÝ�Q”V˜b˜TÑ"Ô"Ð"ÝŒO×Ò  A ¨¨C¨°aÐÑ8Ô8ˆÝ˜AœF T FÑ+Ô+Ð+Ý�"œ.Ñ)Ô)ð 	=ð 	=Ý”×#Ò# Q¨ F¨Q°¨H¸!Ð#Ñ<Ô<ˆAð	=ð 	=ð 	=ñ 	=ô 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=øøøð 	=ð 	=ð 	=ð 	=ð 	=ð 	=s   Â'CÃCÃCc                 óz  — t          j        ddgt           j        ¬¦  «        }t           j                             |||¬¦  «        } |d¦  «        }t          |j        t           j        ¦  «         t          j        dt          j        d¦  «        ¦  «        }t          |d         j        t           j        ¦  «         d S )Nr   r   r|   rx   r   r   )	rQ   rq   Úfloat32Ú
polynomialr;   r   r}   ri   Úfloat64)r+   r-  rˆ   r  Úarrs        r   Útest_result_typezTestMisc.test_result_type€  s�   € ÝŒH�b˜!�W¥B¤JÐ/Ñ/Ô/ˆÝŒM×$Ò$ Q¨q¸Ð$Ñ;Ô;ˆØˆAˆa‰DŒDˆÝ�Q”W�bœjÑ)Ô)Ð)åŒj˜�BœJ q™MœMÑ*Ô*ˆÝ�S˜”V”\¥2¤:Ñ.Ô.Ð.Ð.Ð.r   N)rD   rE   rF   r&  r(  r:  r<  r@  rB  rH  rN  rG   r   r   r  r    s�   € € € € € ð6ð 6ð 6ð6ð 6ð 6ðD*ð D*ð D*ðL	2ð 	2ð 	2ð2ð 2ð 2ð/ð /ð /ð=ð =ð =ð/ð /ð /ð /ð /r   r  )-Ú__doc__Ú	functoolsr   Ú	fractionsr   ÚnumpyrQ   Únumpy.polynomial.polynomialrK  r   Únumpy.polynomial.polyutilsÚ	polyutilsrF  r@   r1  r   Únumpy.testingr   r   r   r	   r
   r   r   r   ÚT0ÚT1ÚT2ÚT3ÚT4ÚT5ÚT6ÚT7ÚT8ÚT9r$  r'   rI   rv   rŒ   rÛ   r÷   r  r  r  rG   r   r   ú<module>ra     s  ððð ð Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ø *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø €€€Ø Ð Ð Ð Ð Ð ð;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð
&ð &ð &ð €S€Øˆ€V€Ø€Z€Z€Ø€]€]€ØÐÐ€ØÐÐ€ØÐÐ€Ø#Ð#Ð#€Ø)Ð)Ð)€Ø-Ð-Ð-€à	ˆR��R˜˜R  R¨¨RÐ0€ðð ð ð ð ñ ô ð ð0C@ð C@ð C@ð C@ð C@ñ C@ô C@ð C@ðJ)ð )ð )ð )ð )ñ )ô )ð )ð(l'ð l'ð l'ð l'ð l'ñ l'ô l'ð l'ð^_&ð _&ð _&ð _&ð _&ñ _&ô _&ð _&ðD%&ð %&ð %&ð %&ð %&ñ %&ô %&ð %&ðP1:ð 1:ð 1:ð 1:ð 1:ñ 1:ô 1:ð 1:ðh9ð 9ð 9ð 9ð 9ñ 9ô 9ð 9ðy/ð y/ð y/ð y/ð y/ñ y/ô y/ð y/ð y/ð y/r   