Ë
    Bü´j·1  ã                   ó¢   — d dl Z d dlZd dlmc mZ d dlmZmZm	Z	m
Z
mZmZmZ ej                  d   ej                  d   z   dz   Z G d„ d«      Zy)é    N)Úassert_Úassert_allcloseÚassert_almost_equalÚassert_array_almost_equalÚassert_array_equalÚassert_equalÚassert_raisesÚ
AllIntegerÚAllFloatÚOc                   ó2  — e Zd Zd„ Zd„ Zd„ Zej                  j                  de	«      de
ddfd„«       Zd„ Zd	„ Zd
„ Zej                  j                  deej"                  ej$                  g«      d„ «       Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestPolynomialc                 ó´  — t        j                  g d¢«      }t        t        |«      d«       t        t	        |«      d«       t        j                  g d¢«      }t        t        |«      d«       t        t	        |«      d«       t        j                  g d¢«      }t        t	        |«      d«       t        t	        t        j                  g d	¢«      «      d
«       y )N©ç      ð?é   é   zpoly1d([1., 2., 3.])z   2
1 x + 2 x + 3©ç      @r   é   zpoly1d([3., 2., 1.])ú   2
3 x + 2 x + 1)yõ¡ê[fþ?       @y       €      Àg"GBtk~Ày       @      ð?z=            3      2
(1.9 + 2j) x - 3j x - 5.123 x + (2 + 1j))éýÿÿÿéþÿÿÿéÿÿÿÿz    2
-3 x - 2 x - 1)ÚnpÚpoly1dr   ÚreprÚstr)ÚselfÚpÚqÚrs       ú]/root/workspace/ytshorts/venv/lib/python3.12/site-packages/numpy/lib/tests/test_polynomial.pyÚtest_poly1d_str_and_reprz'TestPolynomial.test_poly1d_str_and_repr   s©   € Ü�I‰I’jÓ!ˆÜ”T˜!“WÐ4Ô5Ü”S˜“Vð%ô	&ô �I‰I’jÓ!ˆÜ”T˜!“WÐ4Ô5Ü”S˜“Vð%ô	&ô �I‰IÒ>Ó?ˆÜ”S˜“Vð@ô	Aô 	”SœŸ™¢<Ó0Ó1ð&õ	'ó    c                 óð   — t        j                  g d¢«      }t        j                  g d¢«      }t         |d«      d«       t         |d«      d«       t         |d«      d«       t         |d«      d«       y )	Nr   r   r   r   é   g      C@r   g     €U@©r   r   r   ©r   r    r!   s      r#   Útest_poly1d_resolutionz%TestPolynomial.test_poly1d_resolution+   sV   € Ü�I‰I’jÓ!ˆÜ�I‰I’jÓ!ˆÜ‘Q�q“T˜3ÔÜ‘Q�q“T˜4Ô Ü‘Q�q“T˜3ÔÜ‘Q�q“T˜4Õ r%   c           	      óP  — t        j                  g d¢«      }t        j                  g d¢«      }t        ||z  t        j                  dg«      t        j                  ddg«      f«       t        |j                  «       t        j                  g d¢«      «       t        |j                  d«      t        j                  g d¢«      «       t        j                  g d¢«      }t        j                  g d	¢«      }t        ||z  t        j                  g d
¢«      «       t        ||z   t        j                  g d¢«      «       t        ||z
  t        j                  g d¢«      «       t        |dz  t        j                  g d¢«      «       t         ||«      t        j                  g d¢«      «       t         ||«      t        j                  g d¢«      «       t        |j	                  «       t        j                  ddg«      «       t        |j	                  d«      t        j                  dg«      «       t        t        j
                  t        j                  g d¢«      t        j                  ddg«      «      t        j                  ddg«      t        j                  dg«      f«       y )N)r   r   é   )ç      @r   r   ç      Ð?g      ø?g      @)gUUUUUUÕ?r   r-   ç        r   r   r   )r   ç       @g      ,@r0   r   )r-   r-   r-   )g       Àr/   ç       @r,   )	r   r0   g      B@g      Z@g     Àj@g     €s@g     @t@g      k@g     @T@)g      "@ç      (@g      0@r0   g      @)r   r2   g      @@g      D@g      A@r1   r   ©r   r   r   r   g      ð¿r/   )r   r   r   ÚintegÚderivÚpolydivr)   s      r#   Útest_poly1d_mathzTestPolynomial.test_poly1d_math3   s´  € ä�I‰I’jÓ!ˆÜ�I‰I’jÓ!ˆÜ�Q˜‘UœRŸY™Y¨ vÓ.´·	±	¸3À¸+Ó0FÐGÔHÜ�Q—W‘W“Y¤§	¡	Ò*=Ó >Ô?Ü�Q—W‘W˜Q“Z¤§¡Ò+>Ó!?Ô@ä�I‰I’jÓ!ˆÜ�I‰I’jÓ!ˆÜ�Q˜‘UœBŸI™IÒ&;Ó<Ô=Ü�Q˜‘UœBŸI™I¢lÓ3Ô4Ü�Q˜‘UœBŸI™I¢mÓ4Ô5Ü�Q˜!‘VœRŸY™Yò (?ó @ô 	Aä‘Q�q“Tœ2Ÿ9™9Ò%;Ó<Ô=Ü‘Q�q“Tœ2Ÿ9™9Ò%=Ó>Ô?Ü�Q—W‘W“Y¤§	¡	¨2¨r¨(Ó 3Ô4Ü�Q—W‘W˜Q“Z¤§¡¨B¨4£Ô1Ü”R—Z‘Z¤§	¡	ª*Ó 5´r·y±yÀ!ÀQÀÓ7HÓIÜ—i‘i  S 	Ó*¬B¯I©I°r°d«OÐ<õ	>r%   Ú	type_codeÚreturnNc                 ó  — t        j                  |«      }t        j                  g d¢|¬«      }t        j                  |«      }t	        t        j
                  |«      |«       t	        t        j
                  |«      j                  |«       t	        t        |«      d«       ddddddœ}|j                  «       D ]R  \  }}||   }t	        ||«       |t         j                  k(  rt        |t        «      rŒ;J ‚t	        |j                  |«       ŒT y )N©r   r   r   ©Údtyper   r   r   r   )r   r   r   r   r   )r   r=   Úarrayr   r   ÚasarrayÚlenÚitemsÚobject_Ú
isinstanceÚint)	r   r8   r=   Úarr    Úcomparison_dctÚindexÚrefÚscalars	            r#   Útest_poly1d_misczTestPolynomial.test_poly1d_miscI   sÒ   € ä—‘˜Ó#ˆÜ�X‰X’i uÔ-ˆÜ�I‰I�b‹Mˆô 	”R—Z‘Z “] BÔ'Ü”R—Z‘Z “]×(Ñ(¨%Ô0Ü”S˜“V˜QÔð   A¨!°°aÑ8ˆØ(×.Ñ.Ó0ò 	2‰JˆE�3Ø�u‘XˆFÜ˜ Ô%ØœŸ
™
Ò"Ü! &¬#Õ.Ð.Ð.ä˜VŸ\™\¨5Õ1ñ	2r%   c                 ó¼   — t        j                  g d¢d¬«      }t        t        |«      d«       t        j                  g d¢d¬«      }t        t        |«      d«       y )Nr   Úy)Úvariablez   2
1 y + 2 y + 3Úlambdaz!        2
1 lambda + 2 lambda + 3©r   r   r   r   )r   r!   s     r#   Útest_poly1d_variable_argz'TestPolynomial.test_poly1d_variable_arg^   sJ   € Ü�I‰I’j¨3Ô/ˆÜ”S˜“Vð%ô	&ô �I‰I’j¨8Ô4ˆÜ”S˜“Vð/õ	0r%   c                 ó–  — t        t        j                  dt        j                  d«       t        j                  d«      g«      g d¢«       g d¢g d¢g d¢g}t        t        j                  |«      g d¢«       t	        t        j
                  t        j                  g d¢«      «      «       t	        t        j
                  t        j                  g d	¢«      «      «       t	        t        j
                  t        j                  g d
¢«      «      «       t	        t        j
                  t        j                  g d¢«      «      «       t	        t        j
                  t        j                  g d¢«      «      «       t	        t        j
                  t        j                  ddg«      «      «       t	        t        j
                  t        j                  ddg«      «      «       t	        t        j                  t        j                  ddg«      «      «       t        j                  j                  d«       t        j                  j                  d«      dt        j                  j                  d«      z  z   }t	        t        j
                  t        j                  t        j                  |t        j                  |«      f«      «      «      «       y )Nr   r   )r   r   r   é   r;   )r,   r'   rR   )é   é   r   )r   iúÿÿÿi¸ÿÿÿiåÿÿÿ)y        Zd;ßOñ?y        �•C‹lç@y       €�•C‹lçÀy       €Zd;ßOñ¿)ù              ð?y              ð¿ù      ð?       @ù      ð?       Ày      ð?      @y      ð?      À)rU   ù       €      ð¿rV   rW   y      ð?      @y      ð?      À)rU   rX   rV   rW   )rU   rX   ù               @y       €       ÀrU   rX   r   r   y       €›ò×  ð¿é*   éd   )r   r   ÚpolyÚsqrtr   Ú	isrealobjÚiscomplexobjÚrandomÚseedÚrandnÚconcatenateÚ	conjugate)r   ÚAÚas      r#   Ú	test_polyzTestPolynomial.test_polyh   s«  € Ü!¤"§'¡'¨1¬r¯w©w°q«z¨k¼2¿7¹7À1»:Ð*FÓ"GÚ"0ô	2ò š	¢9Ð-ˆÜ!¤"§'¡'¨!£*Ò.?Ô@ô 	”—‘œRŸW™WÒ%IÓJÓKÔLÜ”—‘œRŸW™Wò &Có Dó Eô 	Fä”—‘œRŸW™WÒ%OÓPÓQÔRÜ”—‘œRŸW™WÒ%>Ó?Ó@ÔAÜ”—‘œRŸW™WÒ%7Ó8Ó9Ô:Ü”—‘œRŸW™W b¨# YÓ/Ó0Ô1Ü”—‘œRŸW™W a¨ WÓ-Ó.Ô/ä”—‘¤§¡¨¨[Ð(9Ó :Ó;Ô<ä
�	‰	�‰�rÔÜ�I‰I�O‰O˜CÓ  2¬¯	©	¯©¸Ó(<Ñ#<Ñ<ˆÜ”—‘œRŸW™W¤R§^¡^°Q¼¿¹ÀQ»Ð4HÓ%IÓJÓKÕLr%   c                 óÖ  — t        t        j                  g d¢«      ddg«       t        j                  dddd¬«      D ]‡  }t        j                  dd|g«      }t        j
                  t        j                  t        j                  |«      d d d…   «      «      }t        ||d	t        t        j                  |«      «      z
  «       Œ‰ t        j                  dddd¬«      D ]‡  }t        j                  dd
|g«      }t        j
                  t        j                  t        j                  |«      d d d…   «      «      }t        ||d	t        t        j                  |«      «      z
  «       Œ‰ y )N)r   r   r   r   é
   é   iè  )ÚnumÚbaser   r   é   g)\�Âõ(ð?)r   r   ÚrootsÚlogspacer>   Úsortr\   Úpolyfromrootsr   rD   Úlog10)r   ÚiÚtgtÚress       r#   Ú
test_rootszTestPolynomial.test_roots€   s  € Üœ2Ÿ8™8¢IÓ.°°A°Ô7ô —‘˜R ¨°BÔ7ò 	AˆAÜ—(‘(˜B  1˜:Ó&ˆCÜ—'‘'œ"Ÿ(™(¤4×#5Ñ#5°cÓ#:¹4¸R¸4Ñ#@ÓAÓBˆCô    S¨"¬s´2·8±8¸A³;Ó/?Ñ*?Õ@ð	Aô —‘˜R ¨°BÔ7ò 	AˆAÜ—(‘(˜B  a˜=Ó)ˆCÜ—'‘'œ"Ÿ(™(¤4×#5Ñ#5°cÓ#:¹4¸R¸4Ñ#@ÓAÓBˆCô    S¨"¬s´2·8±8¸A³;Ó/?Ñ*?Õ@ñ	Ar%   Údtypc                 ó,  — t        j                  g d¢|¬«      }t        j                  |«      }|j                  «        t	        |t        j                  ddg«      «       |j
                  t        t         j                  ij                  ||«      k(  sJ ‚y )Nr3   r<   r   r   )	r   r?   rn   rp   r   r=   rD   Úfloat64Úget)r   rw   Úcoefr"   s       r#   Útest_roots_dtypezTestPolynomial.test_roots_dtype’   sg   € ä�z‰zš*¨DÔ1ˆÜ�H‰H�T‹NˆØ	�‰ŒÜ˜œ2Ÿ:™: r¨1 gÓ.Ô/Ø�w‰wœ3¤§
¡
Ð+×/Ñ/°°dÓ;Ò;Ð;Ñ;r%   c                 óÒ   — t        j                  g d¢«      }d|d<   t        t        |«      d«       t        j                  ddg«      }d|d<   d|d<   t        t        |«      d«       y )N)r,   r   r   r   r   r   r   r   r   z 
0rO   ©r   r    s     r#   Útest_str_leading_zerosz%TestPolynomial.test_str_leading_zerosš   s`   € Ü�I‰I’lÓ#ˆØˆˆ!‰Ü”S˜“Vð%ô	&ô �I‰I�q˜!�fÓˆØˆˆ!‰Øˆˆ!‰Ü”S˜“V˜VÕ$r%   c                 ó�
  — t        j                  g d¢«      }t        j                  ddd«      }t        j                  ||«      }g d¢}t        j                  ddd«      dz  d	z  }t        t        t         j                  dgdgdd
¬«       t        j                  |||z   dd
¬«      \  }}g d¢}t        ||d¬«       g d¢g d¢g d¢g}	t        |	|d¬«       t        j                  |||z   d|d
¬«      \  }
}t        g d¢|
d¬«       g d¢g d¢g d¢g}t        ||d¬«       t        j                  |||z   d|d¬«      \  }}t        g d¢|d¬«       g d¢g d¢g d¢g}t        ||d¬«       |d d …t         j                  f   }|d d …t         j                  f   }t        |t        j                  ||d«      «       t        j                  ||fd¬«      }t        j                  ||fd¬«      }t        |t        j                  ||d«      «       t        j                  ||t        j                  |«      d d …t         j                  f   z   dd
¬«      \  }}t        ||d d …df   d¬«       t        ||d d …df   d¬«       t        |	|d d …d d …df   d¬«       t        |	|d d …d d …df   d¬«       t         j                  j                  d«       t         j                  j                  d¬«      }t        j                  t        j                  |j                  d   «      |dd
¬«      \  }}t!        |j#                  «       d d!¬"«       t!        t        j$                  |j'                  «       «      d d!¬"«       t        j                  t        j                  |j                  d   «      |t        j(                  |j                  d   «      dd¬#«      \  }}t!        |j#                  «       d d!¬"«       t        t        j$                  |j'                  «       «      d «       t        j*                  |j                  d   d$«      }t        j                  t        j                  |j                  d   «      ||dd
¬#«      \  }}t!        |j#                  «       d d!¬"«       t!        t        j$                  |j'                  «       «      d d!¬"«       t        j                  t        j                  |j                  d   «      ||dd¬#«      \  }}t!        |j#                  «       d d!¬"«       t        t        j$                  |j'                  «       «      d%«       y )&N)r   r1   r   r   r   rS   )r   r   r   r   r   r   r   rT   r   r   g      @T)ÚdegÚcov)r‚   )gz6«>WÛ@g›æ§èHÒ?g�•C‹lçù?r,   )Údecimal)gßà“©‚÷?çßà“©‚Àç�1w-!ê?)r„   g€H¿}x@çB>èÙ¬ú À)r…   r†   gú~j¼t“ò?)Úwr‚   )gŠŽäò’@g*:’ËHð¿gY†8ÖÅmü?)g ‰°áé•@ç¾Á&SÀç€H¿}8ß?)rˆ   g™»–�:@çh³êsµí¿)r‰   rŠ   gz6«>W[Õ?Úunscaled)gÐ³Yõ¹ÚÂ?ç�Å�1wÅ¿çÅþ²{ò°�?)rŒ   gÉv¾Ÿ/Í?çÅ�1w-!Ÿ¿)r�   rŽ   gÇº¸�ð†?)Úaxisé{   )r,   i'  )Úsizeg      à?g{®Gáz„?)Úatol)r‡   r�   r‚   r1   r.   )r   r>   ÚlinspaceÚpolyvalÚaranger	   Ú
ValueErrorÚpolyfitr   Únewaxisrc   r`   ra   ÚnormalÚzerosÚshaper   Ústdr]   ÚmeanÚonesÚfull)r   ÚcÚxrL   ÚerrÚweightsÚmr‚   ÚestÚval0Úm2Úcov2ÚvalÚm3Úcov3ÚyyÚccr�   r‡   s                      r#   Útest_polyfitzTestPolynomial.test_polyfit¦   s  € Ü�H‰H’\Ó"ˆÜ�K‰K˜˜1˜aÓ ˆÜ�J‰J�q˜!ÓˆÚ&ˆÜ—)‘)˜A˜q "Ó% qÑ(¨3Ñ.ˆô
 	”j¤"§*¡*Ø�c˜A˜3 A¨4õ	1ô —‘˜A˜q 3™w¨¨tÔ4‰ˆˆ3Ú%ˆÜ˜C ¨AÕ.Ú+Ú+Ú+ð-ˆô 	˜D #¨qÕ1ä—:‘:˜a  S¡¨!¨w¸DÔA‰ˆˆDÜÒ5°rÀ1ÕEÚ*Ú*Ú*ð,ˆô 	˜C ¨qÕ1ä—:‘:˜a  S¡¨!¨w¸JÔG‰ˆˆDÜÒ5°rÀ1ÕEÚ*Ú*Ú*ð,ˆô 	˜C ¨qÕ1ð Ša”—‘ˆmÑˆØŠa”—‘ˆmÑˆÜ˜AœrŸz™z¨!¨Q°Ó2Ô3ä�^‰^˜Q ˜F¨Ô+ˆÜ�^‰^˜Q ˜F¨Ô+ˆÜ˜B¤§
¡
¨1¨b°!Ó 4Ô5ä—‘˜A˜r¤B§H¡H¨S£M²!´R·Z±Z°-Ñ$@Ñ@À!ÈÔN‰ˆˆ3Ü˜C ¢1 a 4¡°!Õ4Ü˜C ¢1 a 4¡°!Õ4Ü˜D #¢aª¨A g¡,¸Õ:Ü˜D #¢aª¨A g¡,¸Õ:ô 	�	‰	�‰�sÔÜ�I‰I×Ñ *ÐÓ-ˆÜ—J‘JœrŸx™x¨¯©°©
Ó3°Q¸AÀ4ÔH‰	ˆˆcä˜Ÿ™›
 C¨dÕ3ÜœŸ™ §¡£
Ó+¨S°tÕ<ä—J‘JœrŸx™x¨¯©°©
Ó3°Q¼"¿'¹'À!Ç'Á'È!Á*Ó:MØ#$¨*ô6‰	ˆˆcä˜Ÿ™›
 C¨dÕ3ÜœBŸG™G C§H¡H£JÓ/°Ô5ä�G‰G�A—G‘G˜A‘J Ó)ˆÜ—J‘JœrŸx™x¨¯©°©
Ó3°Q¸!ÀÈÔM‰	ˆˆcÜ˜Ÿ™›
 C¨dÕ3ÜœŸ™ §¡£
Ó+¨S°tÕ<ô —J‘JœrŸx™x¨¯©°©
Ó3°Q¸!ÀÈ
ÔS‰	ˆˆcÜ˜Ÿ™›
 C¨dÕ3ÜœBŸG™G C§H¡H£JÓ/°Õ6r%   c                 ó²  — ddl m} t        j                   |d«       |d«       |d«      g«      }| |d«      z  }t	        |d    |d«      k(  «       |j                  «       }t	        |d    |d	«      k(  «       |j                  «       }t	        |d
    |d«      k(  «       t	        |d    |d«      k(  «       t	        t        j                  |j                  j                  t        j                  «      «       t        j                   |d«       |d«      g«      }t        t        j                   |d«       |d«      g«      d |d«       |d«      g«       y )Nr   )ÚDecimalz4.0z3.0z2.0z1.333333333333333r   z3.9999999999999990z8.0r   z1.333333333333333333333333333r   z1.5r   )rƒ   r°   r   r   r   r5   r4   Ú
issubdtypeÚcoeffsr=   rB   r\   r   )r   r°   r    Úp2s       r#   Útest_objectszTestPolynomial.test_objectsð   s  € Ý#Ü�I‰I‘w˜u“~¡w¨u£~±w¸u³~ÐFÓGˆØ‘Ð,Ó-Ñ-ˆÜ��1‘™Ð!5Ó6Ñ6Ô7Ø�W‰W‹YˆÜ��1‘™ ›Ñ'Ô(Ø�W‰W‹YˆÜ��1‘™Ð!@ÓAÑAÔBÜ��1‘™ ›Ñ'Ô(Ü”—‘˜bŸi™iŸo™o¬r¯z©zÓ:Ô;Ü�G‰G‘W˜Q“Z¡¨£Ð,Ó-ˆÜ”R—W‘W™g a›j©'°!«*Ð5Ó6Ø™ ›¡g¨a£jÐ1õ	3r%   c                 ó  — t        j                  g d¢«      }|j                  «       }t        |j                  g d¢k(  j                  «       «       |j                  «       }t        |j                  ddgk(  j                  «       «       y )N)y              @rY   rU   )rU   rU   rU   r   y              @rY   )r   r   r4   r   r²   Úallr5   ©r   r    r³   s      r#   Útest_complexzTestPolynomial.test_complexÿ   s^   € Ü�I‰I’lÓ#ˆØ�W‰W‹YˆÜ�—‘šoÑ-×2Ñ2Ó4Ô5Ø�W‰W‹YˆÜ�—‘˜r 2˜hÑ&×+Ñ+Ó-Õ.r%   c                 ó°   — t        j                  g d¢«      }|j                  dg d¢¬«      }g d¢}t        |j                  |k(  j                  «       «       y )N)r   r   r   r   )é	   rS   rR   )Úk)gš™™™™™©?gUUUUUUµ?gUUUUUUÅ?g      @rS   rR   )r   r   r4   r   r²   r¶   )r   r    r³   Úexpecteds       r#   Útest_integ_coeffsz TestPolynomial.test_integ_coeffs  sA   € Ü�I‰I’iÓ ˆØ�W‰W�Qš)ˆWÓ$ˆÚEˆÜ�—‘˜hÑ&×+Ñ+Ó-Õ.r%   c                 ót   — 	 t        j                  t        j                  d«      «       y # t        $ r Y y w xY w)N)r   r   )r   r\   rš   r–   )r   s    r#   Útest_zero_dimszTestPolynomial.test_zero_dims  s.   € ð	Ü�G‰G”B—H‘H˜VÓ$Õ%øÜò 	Ùð	ús   ‚(+ «	7¶7c                 óº   — t        j                  dd«      }t        t        j                  |«      t        j                  t        j                  |«      «      «       y)z.
        Regression test for gh-5096.
        r   é   N)r   r•   r   r\   Údiag)r   Úvs     r#   Útest_poly_int_overflowz%TestPolynomial.test_poly_int_overflow  s7   € ô �I‰I�a˜ÓˆÜœBŸG™G A›J¬¯©´·±¸³
Ó(;Õ<r%   c                 ór  — t        j                  g d¢«      }t        j                  |j                  t         j                  «      «      }t        |j                  j                  t         j                  «       t        j                  |j                  t         j                  «      «      }t        |j                  j                  t         j                  «       t        j                  |j                  t         j                  «      «      }t        |j                  j                  t         j                  «       y)z/
        Regression test for gh-16354.
        )r   r   r   N)
r   r>   r   ÚastypeÚint64r   r²   r=   Úfloat32Ú	complex64)r   Úzr    s      r#   Útest_zero_poly_dtypez#TestPolynomial.test_zero_poly_dtype  s¥   € ô �H‰H’YÓˆÜ�I‰I�a—h‘hœrŸx™xÓ(Ó)ˆÜ�Q—X‘X—^‘^¤R§X¡XÔ.ä�I‰I�a—h‘hœrŸz™zÓ*Ó+ˆÜ�Q—X‘X—^‘^¤R§Z¡ZÔ0ä�I‰I�a—h‘hœrŸ|™|Ó,Ó-ˆÜ�Q—X‘X—^‘^¤R§\¡\Õ2r%   c                 óö   — t        j                  g d¢«      }t        j                  g d¢«      }t        |d k(  d«       t        |d k7  d«       t        ||k(  d«       t        ||k(  d«       t        ||k7  d«       y )Nr;   )r   r   r,   FTr(   r·   s      r#   Útest_poly_eqzTestPolynomial.test_poly_eq'  sd   € Ü�I‰I’iÓ ˆÜ�Y‰Y’yÓ!ˆÜ�Q˜$‘Y Ô&Ü�Q˜$‘Y Ô%Ü�Q˜!‘V˜TÔ"Ü�Q˜"‘W˜eÔ$Ü�Q˜"‘W˜dÕ#r%   c                 óè  — t        j                  g d¢«      }t        j                  g d¢«      }t        j                  ||«      \  }}t        |j                  j
                  t         j                  «       t        |j                  j
                  t         j                  «       t        ||z  |z   |«       g d¢}t        j                  g d¢«      }t        j                  ||«      \  }}t        |t         j                  «      sJ ‚t        |t         j                  «      sJ ‚t        j                  ||«      \  }	}
t        |	t         j                  «      sJ ‚t        |
t         j                  «      sJ ‚y )N)r   rR   rR   r   )rX   rV   y       À      ð¿r   r;   )r   r   r6   r   r²   r=   Ú
complex128rC   )r   Úbrf   r!   r"   r    ÚdÚsÚtÚurÃ   s              r#   Útest_polydivzTestPolynomial.test_polydiv0  sü   € Ü�I‰I’lÓ#ˆÜ�I‰IÒ3Ó4ˆÜ�z‰z˜!˜QÓ‰ˆˆ1Ü�Q—X‘X—^‘^¤R§]¡]Ô3Ü�Q—X‘X—^‘^¤R§]¡]Ô3Ü�Q˜‘U˜Q‘Y Ô"âˆÜ�I‰I’iÓ ˆÜ�z‰z˜!˜QÓ‰ˆˆ1Ü˜!œRŸY™YÔ'Ð'Ð'Ü˜!œRŸY™YÔ'Ð'Ð'Ü�z‰z˜!˜QÓ‰ˆˆ1Ü˜!œRŸY™YÔ'Ð'Ð'Ü˜!œRŸY™YÔ'Ð'Ñ'r%   c           	      ó>  — t        j                  g d¢«      }|xj                  dz  c_        t        |j                  g d¢«       |j                  dxx   dz  cc<   t        |j                  g d¢«       t	        t
        t        |dt        j                  d«      «       y)	z# Coefficients should be modifiable r;   r   )r   r   r,   r   ri   )r   r   rm   r²   N)r   r   r²   r   r	   ÚAttributeErrorÚsetattrr>   r~   s     r#   Útest_poly_coeffs_mutablez'TestPolynomial.test_poly_coeffs_mutableA  se   € ä�I‰I’iÓ ˆà	�Š�A‰�Ü�Q—X‘XšyÔ)à	�‰�‹�rÑ‹Ü�Q—X‘XšzÔ*ô 	”n¤g¨q°(¼B¿H¹HÀQ»KÕHr%   )Ú__name__Ú
__module__Ú__qualname__r$   r*   r7   ÚpytestÚmarkÚparametrizeÚ
TYPE_CODESr   rJ   rP   rg   rv   rD   r   rÈ   ry   r|   r   r®   r´   r¸   r½   r¿   rÄ   rË   rÍ   rÕ   rÙ   © r%   r#   r   r      sÄ   „ ò'ò,!ò>ð, ‡[�[×Ñ˜[¨*Ó5ð2¨#ð 2°$ò 2ó 6ð2ò(0òMò0Að$ ‡[�[×Ñ˜V c¨2¯:©:°r·z±zÐ%BÓCñ<ó Dð<ò
%òH7òT3ò/ò/òò=ò3ò$ò(ó"Ir%   r   )rÝ   Únumpyr   Únumpy.polynomial.polynomialÚ
polynomialr\   Únumpy.testingr   r   r   r   r   r   r	   Ú	typecodesrà   r   rá   r%   r#   ú<module>rç      sQ   ðÛ ã ß *Ð *÷÷ ñ ð �\‰\˜,Ñ'¨"¯,©,°zÑ*BÑBÀSÑH€
÷yIò yIr%   