ó
    „ñ:i@M  ã                   óþ   • S SK r S SKJr  S SKrS SKJr  S SKJr	  S SK
JrJr  S SKJrJrJrJr  S SKJr  S rS	 rS
 rS rS rS rS rS rS rS rS rSS jr " S S\\5      r  " S S\ 5      r! " S S\\5      r"g)é    N)Úproduct)Ú
polynomial)Ú	polyutils)ÚjitÚnjit)ÚTestCaseÚneeds_lapackÚEnableNRTStatsMixinÚMemoryLeakMixin)ÚTypingErrorc                 ó.   • [         R                  " U 5      $ ©N)ÚnpÚroots)Úps    Ú^/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/numba/tests/test_polynomial.pyÚroots_fnr      s   € Ü�8Š8�A‹;Ðó    c                 ó.   • [         R                  " X5      $ r   )ÚpolyÚpolyadd©Úc1Úc2s     r   r   r      ó   € Ü�<Š<˜ÓÐr   c                 ó.   • [         R                  " X5      $ r   )r   Úpolysubr   s     r   r   r      r   r   c                 ó.   • [         R                  " X5      $ r   )r   Úpolymulr   s     r   r   r      r   r   c                 ó.   • [         R                  " U 5      $ r   )ÚpuÚtrimseq)Úseqs    r   r"   r"      s   € Ü�:Š:�c‹?Ðr   c                 ó2   • [         R                  " U 5      nU$ r   ©r!   Ú	as_series)ÚaÚress     r   Úpolyasseries1r)   "   s   € Ü
�,Š,�q‹/€CØ€Jr   c                 ó2   • [         R                  " X5      nU$ r   r%   )r'   Útrimr(   s      r   Úpolyasseries2r,   '   s   € Ü
�,Š,�qÓ
€CØ€Jr   c                 ó2   • [         R                  " X5      nU$ r   )r   Úpolydiv)r   r   r(   s      r   r.   r.   ,   s   € Ü
�,Š,�rÓ
€CØ€Jr   c                 ó2   • [         R                  " X5      nU$ r   ©r   Úpolyval©ÚxÚcr(   s      r   Úpolyval2r5   1   ó   € Ü
�,Š,�qÓ
€CØ€Jr   c                 ó4   • [         R                  " XS5      nU$ )NTr0   r2   s      r   Ú	polyval3Tr8   6   s   € Ü
�,Š,�q˜TÓ
"€CØ€Jr   c                 ó4   • [         R                  " XS5      nU$ )NFr0   r2   s      r   Ú	polyval3Fr:   ;   s   € Ü
�,Š,�q˜UÓ
#€CØ€Jr   c                 ó2   • [         R                  " X5      nU$ r   )r   Úpolyint)r4   Úmr(   s      r   r<   r<   @   r6   r   c                   óš   ^ • \ rS rSrSr\R                  \R                  \R                  \R                  4r
U 4S jr\4S jrS rSrU =r$ )ÚTestPolynomialBaseéE   zN
Provides setUp and common data/error modes for testing polynomial functions.
c                 óT   >• [         R                  " 5         [        [        U ]  5         g r   )ÚgcÚcollectÚsuperr?   ÚsetUp)ÚselfÚ	__class__s    €r   rE   ÚTestPolynomialBase.setUpM   s   ø€ ä
�
Š
ŒÜÔ  $Ñ-Õ/r   c                 ó®   • U R                  U5       nU" U6   S S S 5        U R                  U[        WR                  5      5        g ! , (       d  f       N4= fr   )ÚassertRaisesÚassertInÚstrÚ	exception)rF   ÚcfuncÚargsÚmsgÚerrÚraisess         r   Úassert_errorÚTestPolynomialBase.assert_errorR   s@   € Ø×Ñ˜sÔ# vÙ�4‰L÷ $à�‰�cœ3˜v×/Ñ/Ó0Õ1÷ $Õ#ús   ’AÁ
Ac                 ó,   • SnU R                  XU5        g )NzInput must be a 1d array.©rS   )rF   rN   rO   rP   s       r   Úassert_1d_inputÚ"TestPolynomialBase.assert_1d_inputW   s   € Ø)ˆØ×Ñ˜% sÕ+r   © )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   Úfloat64Úfloat32Ú
complex128Ú	complex64ÚdtypesrE   Ú
ValueErrorrS   rW   Ú__static_attributes__Ú__classcell__)rG   s   @r   r?   r?   E   sA   ø† ñð
 �j‰j˜"Ÿ*™* b§m¡m°R·\±\ÐB€Fõ0ð
 2<ô 2÷
,ð ,r   r?   c                   ó*   • \ rS rSrS r\S 5       rSrg)Ú
TestPoly1Dé\   c                 ó2   • US-   nU R                  X#U5        g )Nz+() argument must not cause a domain change.rV   )rF   ÚnamerN   rO   rP   s        r   Úassert_no_domain_changeÚ"TestPoly1D.assert_no_domain_change^   s   € ØÐBÑBˆØ×Ñ˜% sÕ+r   c           
      ón  ^ ^^	• [        SS9" [        5      m[        R                  " [        R                  5      R
                  m	UU	U 4S jn[        R                  " S/5      [        R                  " / SQ5      [        R                  " / SQ5      [        R                  " / SQ5      [        R                  " / SQ5      [        R                  " / S	Q5      [        R                  " / S
Q5      4n[        U[        R                  [        R                  /[        T R                  5      -   5       H  u  p4UR                  U5      nU" U5        M      [        R                  " S/5      [        R                  " / SQ5      [        R                  " / SQ5      [        R                  " / SQ5      [        R                  " / SQ5      [        R                  " / SQ5      [        R                  " / SQ5      4n[        UT R                  SS  5       H  u  p4UR                  U5      nU" U5        M      T R                  T[        R                  " S5      R                  SS5      45        [        R                  " / SQ5      nT R!                  STU45        T" UR                  [        R"                  5      5        g )NT)Únopythonc                 óp  >• [        U 40 UD6nT" U 40 UD6nU R                  TR                  ;   a+  [        R                  " U R                  5      R
                  nOTn[        R                  R                  UUSU-  SU-  S9  TR                  5          T" U 40 UD6  S S S 5        g ! , (       d  f       g = f)Né
   éd   )ÚrtolÚatol)	r   Údtyperc   r   ÚfinfoÚ
resolutionÚtestingÚassert_allcloseÚassertNoNRTLeak)r'   ÚkwargsÚexpectedÚgotrw   rN   Údefault_resolutionrF   s        €€€r   ÚcheckÚ$TestPoly1D.test_roots.<locals>.checki   s¥   ø€ Ü Ñ, VÑ,ˆHÙ˜Ñ$˜VÑ$ˆCð �w‰w˜$Ÿ+™+Ó%ÜŸXšX a§g¡gÓ.×9Ñ9‘
ð 0�
ä�J‰J×&Ñ&ØØØ˜*‘_Ø˜:Ñ%ð	 'ñ ð ×%Ñ%Õ'Ù�aÑ"˜6Ò"÷ (×'Ö'ús   Â
B'Â'
B5é   )r�   é   é   )r   r   r   )r�   é   é   r„   )r   r   r   r�   r‚   rƒ   )r�   r�   r   r   r   )r   r   r�   r   r   r   ù      ð?      ð?)r�   y      @      ð?rƒ   )r   y                r   )r�   y      @      ð?r…   r„   )r   r   r   r†   r‚   rƒ   )r†   r�   r   r   r   )r   r   r†   r   r   r   rƒ   g      @)g      @ç       @ç        ç      ð?Úeigvals)r   r   r   rv   r_   rw   Úarrayr   Úint32Úint64Úlistrc   ÚastyperW   ÚarangeÚreshaperl   ra   )
rF   r   Ú	r_vectorsÚvru   r'   Ú	c_vectorsr3   rN   r~   s
   `       @@r   Ú
test_rootsÚTestPoly1D.test_rootsb   sÔ  ú€ ô ˜TÒ"¤8Ó,ˆäŸXšX¤b§j¡jÓ1×<Ñ<Ð÷	#ô: �HŠH�a�S‹MÜ�HŠH’YÓÜ�HŠH’YÓÜ�HŠH’]Ó#Ü�HŠHÒ'Ó(Ü�HŠH’_Ó%Ü�HŠHÒ'Ó(ð
ˆ	ô ˜	¤B§H¡H¬b¯h©hÐ#7¼$¸t¿{¹{Ó:KÑ#KÖLñ ˆAà—‘˜“ˆAÙ�!ŽHñ Mô
 �HŠH�f�XÓÜ�HŠH’^Ó$Ü�HŠH’^Ó$Ü�HŠHÒ'Ó(Ü�HŠHÒ,Ó-Ü�HŠHÒ)Ó*Ü�HŠHÒ,Ó-ð
ˆ	ô   	¨4¯;©;°q°r¨?Ö;‰HˆAØ—‘˜“ˆAÙ�!ŽHñ <ð
 	×Ñ˜U¤R§Y¢Y¨r£]×%:Ñ%:¸1¸aÓ%@Ð$BÔCô �HŠHÒ%Ó&ˆØ×$Ñ$ Y°¸°tÔ<áˆa�h‰h”r—}‘}Ó%Õ&r   rY   N)rZ   r[   r\   r]   rl   r	   r•   re   rY   r   r   rh   rh   \   s   † ò,ð ñH'ó óH'r   rh   c                   ó�   • \ rS rSrS rS rS rS rSS jrS r	S r
S	 rS
 rS rS rS rS rS rS rS rS rS rS rS rSrg)ÚTestPolynomialé®   c                 óŒ   • [         n[        [         5      nS nU" 5        H!  nU R                  U" U5      U" U5      5        M#     g )Nc               3   óp   #   • [        S5       H#  n [        R                  " S/S/U -  -   5      v •  M%     g 7f)Né   r�   r   ©Úranger   r‹   )Úis    r   ÚinputsÚ1TestPolynomial.test_trimseq_basic.<locals>.inputs¸   s.   é € Ü˜1–X�Ü—h’h ˜s a S¨1¡W™}Ó-Ô-ò ùs   ‚46)r"   r   ÚassertPreciseEqual)rF   ÚpyfuncrN   r    Úcoefss        r   Útest_trimseq_basicÚ!TestPolynomial.test_trimseq_basic´   s;   € ÜˆÜ”W“ˆò	.ñ –XˆEØ×#Ñ#¡F¨5£M±5¸³<Ö@ò r   c                 ó²  • [        [        5      nU R                  5         U R                  [        5       nU" S5        S S S 5        U R                  S[        WR                  5      5        U R                  [        5       nU" [        R                  " S5      R                  SS5      5        S S S 5        U R                  S[        WR                  5      5        U R                  [        5       nU" S5        S S S 5        U R                  S[        UR                  5      5        g ! , (       d  f       Nî= f! , (       d  f       N�= f! , (       d  f       NV= f)	NÚabcz%The argument "seq" must be array-likerq   rœ   rƒ   úCoefficient array is not 1-d©r�   rƒ   r‚   r   z6Unsupported type UniTuple(int64, 4) for argument "seq")r   r"   Údisable_leak_checkrJ   r   rK   rL   rM   r   r�   r‘   )rF   rN   rR   Úes       r   Útest_trimseq_exceptionÚ%TestPolynomial.test_trimseq_exception¿   sô   € Ü”W“ˆà×ÑÔ!à×Ñœ{Ô+¨vÙ�%ŒL÷ ,à�‰Ð=Ü˜&×*Ñ*Ó+ô	-ð ×Ñœ{Ô+¨qÙ”"—)’)˜B“-×'Ñ'¨¨1Ó-Ô.÷ ,à�‰Ð4Ü˜!Ÿ+™+Ó&ô	(ð ×Ñœ{Ô+¨qÙ�,Ô÷ ,à�‰ÐNÜ˜!Ÿ+™+Ó&õ	(÷ ,Õ+ú÷
 ,Õ+ú÷
 ,Õ+ús#   µ	D&Â -D7Ã/	EÄ&
D4Ä7
EÅ
Ec                 ó6  • [         n[        [         5      n[        n[        [        5      nS nU" 5        Ha  nU R                  U" U5      U" U5      5        U R                  U" US5      U" US5      5        U R                  U" US5      U" US5      5        Mc     g )Nc               3   ó  #   • [         R                  " S5      v •  [         R                  " S5      R                  S5      v •  S[         R                  " S5      [         R                  " S[         R                  S94v •  / SQ/ S	Q4v •  S
v •  Sv •  SSS/4v •  / SQ4v •  Sv •  [         R                  " / SQ5      4v •  [         R                  " / SQ5      [         R                  " / SQ5      /v •  [         R                  " / S	Q5      /v •  g 7f)Né   r„   )rƒ   r‚   r�   r‚   rƒ   ©ru   )r�   rƒ   r‚   r±   r   ©r�   rƒ   r‚   )©r   r   çü©ñÒMbP?r   gñhãˆµøä>r   r   )r�   rƒ   r‚   r±   rœ   r„   é   )r´   )ù              ð?rƒ   ù              @y              @rœ   y              @r¶   gš™™™™™ñ?rˆ   rª   )rª   )r   r�   r‘   r`   r‹   rY   r   r   r    Ú6TestPolynomial.test_pu_as_series_basic.<locals>.inputsÙ   sÅ   é € Ü—)’)˜A“,ÒÜ—)’)˜A“,×&Ñ& uÓ-Ò-Ø”b—i’i “l¤B§I¢I¨a´r·z±zÑ$BÐCÒCÚ"¢IÐ.Ò.ØFÒFØJÒJØ�s˜B�i�.Ò ÚÐ"Ò"Ø"Ò"Ü—8’8šLÓ)Ð,Ò,Ü—8’8šLÓ)¬2¯8ª8²LÓ+AÐBÒBÜ—8’8šGÓ$Ð'Ó'ùs   ‚D
DFT)r)   r   r,   r¢   )rF   Úpyfunc1Úcfunc1Úpyfunc2Úcfunc2r    Úinputs          r   Útest_pu_as_series_basicÚ&TestPolynomial.test_pu_as_series_basicÓ   s‡   € ÜˆÜ”mÓ$ˆÜˆÜ”mÓ$ˆò	(ñ –XˆEØ×#Ñ#¡G¨E£N±F¸5³MÔBØ×#Ñ#¡G¨E°5Ó$9¹6À%ÈÓ;OÔPØ×#Ñ#¡G¨E°4Ó$8¹&ÀÈÓ:MÖNò r   c           	      óâ  • [        [        5      n[        [        5      nU R                  5         U R	                  [
        5       nU" S5        S S S 5        U R                  S[        WR                  5      5        U R	                  [
        5       nU" SS5        S S S 5        U R                  S[        UR                  5      5        U R	                  [
        5       nU" [        R                  " S5      S5        S S S 5        U R                  S[        UR                  5      5        U R	                  [
        5       nU" / SQ[        R                  " S5      R                  SS5      45        S S S 5        U R                  S[        UR                  5      5        U R	                  [
        5       nU" [        R                  " S	5      R                  S
5      5        S S S 5        U R                  S[        UR                  5      5        U R	                  [
        5       nU" [        R                  " / SQ/ SQ/5      /5        S S S 5        U R                  S[        UR                  5      5        U R	                  [        5       nU" [        R                  " / /[        R                  S95        S S S 5        U R                  S[        UR                  5      5        U R	                  [        5       nU" / SQ[        R                  " / [        R                  S9[        R                  " / SQ5      45        S S S 5        U R                  S[        UR                  5      5        g ! , (       d  f       GN= f! , (       d  f       GNâ= f! , (       d  f       GN”= f! , (       d  f       GN3= f! , (       d  f       GN×= f! , (       d  f       GNƒ= f! , (       d  f       GN(= f! , (       d  f       N²= f)Nr¨   z'The argument "alist" must be array-likeTr±   z#The argument "trim" must be booleanr³   é   r©   é   ©rƒ   rƒ   rƒ   r²   zCoefficient array is empty)r�   rƒ   r�   )r   r)   r,   r«   rJ   r   rK   rL   rM   r   r�   r‘   r‹   rd   r_   )rF   r»   r½   rR   s       r   Útest_pu_as_series_exceptionÚ*TestPolynomial.test_pu_as_series_exceptionì   sÉ  € Ü”mÓ$ˆÜ”mÓ$ˆà×ÑÔ!à×Ñœ{Ô+¨vÙ�5ŒM÷ ,à�‰Ð?Ü˜&×*Ñ*Ó+ô	-ð ×Ñœ{Ô+¨vÙ�5˜$Ô÷ ,à�‰Ð?Ü˜&×*Ñ*Ó+ô	-ð ×Ñœ{Ô+¨vÙ”2—9’9˜Q“< Ô'÷ ,à�‰Ð;Ü˜&×*Ñ*Ó+ô	-ð ×Ñœ{Ô+¨vÙ’IœrŸyšy¨›}×4Ñ4°Q°qÓ9Ð:Ô;÷ ,à�‰Ð4Ü˜&×*Ñ*Ó+ô	-ð ×Ñœ{Ô+¨vÙ”2—9’9˜Q“<×'Ñ'¨	Ó2Ô3÷ ,à�‰Ð4Ü˜&×*Ñ*Ó+ô	-ð ×Ñœ{Ô+¨vÙ”B—H’Hšg¢gÐ.Ó/Ð2Ô3÷ ,à�‰Ð4Ü˜&×*Ñ*Ó+ô	-ð ×ÑœzÔ*¨fÙ”2—8’8˜R˜D¬¯
©
Ñ3Ô4÷ +à�‰Ð2Ü˜&×*Ñ*Ó+ô	-ð ×ÑœzÔ*¨fÙ’IœrŸxšx¨´"·*±*Ñ=Ü—H’HšWÓ%ð'ô (÷ +ð 	�‰Ð2Ü˜&×*Ñ*Ó+õ	-÷M ,Ö+ú÷
 ,Ö+ú÷
 ,Ö+ú÷
 ,Ö+ú÷
 ,Ö+ú÷
 ,Ö+ú÷
 +Ö*ú÷
 +Õ*úsa   Á	M"Â
M4ÃNÄ;1NÆ.,N*È$N<Ê+OË/AO Í"
M1Í4
NÎ
NÎ
N'Î*
N9Î<
OÏ
OÏ 
O.c                 óz   • [        U5      nS nU" 5        H"  u  pVU R                  U" XV5      U" XV5      US9  M$     g )Nc               3   óf  #   • [        S5       HV  n [        S5       HD  n[        R                  " S/U -  S/-   5      n[        R                  " S/U-  S/-   5      nX#4v •  MF     MX     / SQ/ SQ4v •  / SQS4v •  S/ SQ4v •  / SQS4v •  Sv •  [        R                  " / SQ5      [        R                  " / SQ5      4v •  [        R                  " / SQ5      [        R                  " / SQ5      4v •  [        R                  " / SQ5      [        R                  " / SQ5      4v •  S	v •  S
v •  Sv •  g 7f)Nrœ   r   r�   r³   r‚   )r‚   r³   )r‰   r‡   ç      @)r·   y               @r¸   )r³   rÉ   )r³   r¸   ))r�   rµ   r‚   r³   r�   )rŸ   ÚjÚp1Úp2s       r   r    Ú5TestPolynomial._test_polyarithm_basic.<locals>.inputs  sø   é € ä˜1–X�Ü˜qž�AÜŸš 1 #¨¡'¨Q¨C¡-Ó0�BÜŸš 1 #¨¡'¨Q¨C¡-Ó0�BØ˜&”Ló "ñ ò šYÐ&Ò&Ú˜YÐ&Ò&ØšYÐ&Ò&Ú˜Q�,ÒØÒä—(’(š9Ó%¤r§x¢x²Ó'@Ð@Ò@Ü—(’(š<Ó(¬"¯(ª(²?Ó*CÐCÒCÜ—(’(š9Ó%¤r§x¢x²Ó'=Ð=Ò=Ø Ò ØÒØ)Ó)ùs   ‚D/D1©Úignore_sign_on_zero)r   r¢   )rF   r£   rÏ   rN   r    rË   rÌ   s          r   Ú_test_polyarithm_basicÚ%TestPolynomial._test_polyarithm_basic  sC   € ä�V“ˆò	*ñ* –h‰FˆBØ×#Ñ#¡F¨2£M±5¸³<Ø8Kð $ó Mò r   c                 óf  • [        U5      nU R                  5         U R                  [        5       nU" S[        R
                  " / SQ5      5        S S S 5        U R                  S[        WR                  5      5        U R                  [        5       nU" [        R
                  " / SQ5      S5        S S S 5        U R                  S[        UR                  5      5        U R                  [        5       nU" [        R                  " S5      R                  SS5      [        R
                  " / SQ5      5        S S S 5        U R                  S[        WR                  5      5        U R                  [        5       nU" [        R
                  " / SQ5      [        R                  " S5      R                  SS5      5        S S S 5        U R                  S[        UR                  5      5        g ! , (       d  f       GN£= f! , (       d  f       GNS= f! , (       d  f       NÞ= f! , (       d  f       Ni= f)	Nr¨   r³   z$The argument "c1" must be array-likez$The argument "c2" must be array-likerq   rœ   rƒ   r©   )r   r«   rJ   r   r   r‹   rK   rL   rM   r�   r‘   )rF   r£   rN   rR   r¬   s        r   Ú_test_polyarithm_exceptionÚ)TestPolynomial._test_polyarithm_exception8  s{  € ä�V“ˆà×ÑÔ!à×Ñœ{Ô+¨vÙ�%œŸš¢'Ó*Ô+÷ ,à�‰Ð<Ü˜&×*Ñ*Ó+ô	-ð ×Ñœ{Ô+¨vÙ”"—(’(š7Ó# UÔ+÷ ,à�‰Ð<Ü˜&×*Ñ*Ó+ô	-ð ×Ñœ{Ô+¨qÙ”"—)’)˜B“-×'Ñ'¨¨1Ó-¬r¯xªxº	Ó/BÔC÷ ,à�‰Ð4Ü˜!Ÿ+™+Ó&ô	(ð ×Ñœ{Ô+¨qÙ”"—(’(š9Ó%¤r§y¢y°£}×'<Ñ'<¸QÀÓ'BÔC÷ ,à�‰Ð4Ü˜!Ÿ+™+Ó&õ	(÷# ,Ö+ú÷
 ,Ö+ú÷
 ,Õ+ú÷
 ,Õ+ús1   ± G-Â G?Ã5AHÅ;AH"Ç-
G<Ç?
HÈ
HÈ"
H0c                 ó.   • U R                  [        5        g r   )rÐ   r   ©rF   s    r   Útest_polyadd_basicÚ!TestPolynomial.test_polyadd_basicR  ó   € Ø×#Ñ#¤GÕ,r   c                 ó.   • U R                  [        5        g r   )rÓ   r   rÖ   s    r   Útest_polyadd_exceptionÚ%TestPolynomial.test_polyadd_exceptionU  ó   € Ø×'Ñ'¬Õ0r   c                 ó,   • U R                  [        SS9  g )NTrÎ   )rÐ   r   rÖ   s    r   Útest_polysub_basicÚ!TestPolynomial.test_polysub_basicX  s   € Ø×#Ñ#¤GÀÐ#ÒFr   c                 ó.   • U R                  [        5        g r   )rÓ   r   rÖ   s    r   Útest_polysub_exceptionÚ%TestPolynomial.test_polysub_exception[  rÝ   r   c                 ó.   • U R                  [        5        g r   )rÐ   r   rÖ   s    r   Útest_polymul_basicÚ!TestPolynomial.test_polymul_basic^  rÙ   r   c                 ó.   • U R                  [        5        g r   )rÓ   r   rÖ   s    r   Útest_polymul_exceptionÚ%TestPolynomial.test_polymul_exceptiona  rÝ   r   c                 óº   • [         n[        [         5      nU R                  [         5        S nU" 5        H#  u  pEU R                  U" XE5      U" XE5      5        M%     g )Nc               3   ó<  #   • S/S/4v •  SS/S/4v •  [        S5       HF  n [        S5       H4  nS/U -  SS/-   nS/U-  SS/-   n[        R                  " X#5      nXB4v •  M6     MH     [        R                  " / SQ5      [        R                  " / SQ5      4v •  g 7f)Nrƒ   rœ   r   r�   )r�   r   r   r   r   r   éÿÿÿÿ)r�   r   r   rì   )rž   r   r   r   r‹   )rŸ   rÊ   ÚciÚcjÚtgts        r   r    Ú6TestPolynomial.test_poly_polydiv_basic.<locals>.inputsi  s�   é € ð �#˜�s�(ŠNØ�a�&˜1˜#�+Òä˜1–X�Ü˜qž�AØ˜˜q™ A q 6Ñ)�BØ˜˜q™ A q 6Ñ)�BÜŸ,š, rÓ.�CØ˜'”Mó	 "ñ ô —(’(Ò+Ó,¬b¯hªh²zÓ.BÐBÓBùs   ‚BB)r.   r   rÐ   r¢   )rF   r£   rN   r    r   r   s         r   Útest_poly_polydiv_basicÚ&TestPolynomial.test_poly_polydiv_basicd  sL   € ÜˆÜ”W“ˆØ×#Ñ#¤GÔ,ò	Cñ –h‰FˆBØ×#Ñ#¡F¨2£N±E¸"³MÖBò r   c                 óÀ   • U R                  [        5        [        [        5      nU R                  [        5       nU" S/S/5        S S S 5        g ! , (       d  f       g = f)Nr�   r   )rÓ   r.   r   rJ   ÚZeroDivisionError)rF   rN   Ú_s      r   Útest_poly_polydiv_exceptionÚ*TestPolynomial.test_poly_polydiv_exceptionz  sE   € Ø×'Ñ'¬Ô0Ü”W“ˆð ×ÑÔ0Ô1°QÙ�1�#˜�sŒO÷ 2×1Ö1ús   ºAÁ
Ac                 ó\  • [         n[        [         5      n[        n[        [        5      n[        n[        [        5      nS nU" 5        H_  u  p‰U R	                  U" X‰5      U" X‰5      5        U R	                  U" X‰5      U" X‰5      5        U R	                  U" X‰5      U" X‰5      5        Ma     g )Nc               3   óÊ  #   • [         R                  " / [         R                  S9S/4v •  S/ SQ4v •  [         R                  " S5      R	                  SS5      / SQ4v •  [        S5       H&  n [         R                  " SS5      S/U -  S/-   4v •  M(     [         R                  " SS5      / S	Q4v •  [        S
5       H6  n S/U -  n[         R                  " U5      nUS/4v •  USS/4v •  U/ SQ4v •  M8     [         R                  " SS/5      [         R                  " S5      R	                  SS5      4v •  SS/[         R                  " S5      R	                  SS5      4v •  g 7f)Nr²   r�   r³   r±   rƒ   rœ   rì   r   )r   rì   r   r�   r‚   )r�   r   r   )r   r‹   r_   r�   r‘   rž   ÚlinspaceÚzeros)rŸ   Údimsr3   s      r   r    Ú6TestPolynomial.test_poly_polyval_basic.<locals>.inputsŠ  s.  é € ô —(’(˜2¤R§Z¡ZÑ0°1°#Ð5Ò5Ø’W�*ÒÜ—)’)˜A“,×&Ñ& q¨Ó+ªWÐ4Ò4ä˜1–X�Ü—k’k " aÓ(¨1¨#°©'°Q°C©-Ð7Ô7ñ ä—+’+˜b !Ó$¢mÐ3Ò3ä˜1–X�Ø�s˜Q‘w�Ü—H’H˜T“N�Ø˜!˜�f’Ø˜!˜Q˜�i’Øš�lÔ"ñ ô —(’(˜A˜q˜6Ó"¤B§I¢I¨a£L×$8Ñ$8¸¸1Ó$=Ð=Ò=Ø�a�&œ"Ÿ)š) A›,×.Ñ.¨q°Ó3Ð3Ó3ùs   ‚E!E#)r5   r   r8   r:   r¢   )
rF   r¼   r½   Úpyfunc3TÚcfunc3TÚpyfunc3FÚcfunc3Fr    r3   r4   s
             r   Útest_poly_polyval_basicÚ&TestPolynomial.test_poly_polyval_basic‚  s‰   € ÜˆÜ”h“ˆÜˆÜ”y“/ˆÜˆÜ”y“/ˆò	4ñ* –H‰DˆAØ×#Ñ#¡G¨A£M±6¸!³<Ô@à×#Ñ#¡H¨Q£N±G¸A³MÔBØ×#Ñ#¡H¨Q£N±G¸A³MÖBò	 r   c                 ó¸  • [        [        5      n[        [        5      n[        [        5      nU R	                  5         U R                  [        5       nU" SS5        S S S 5        U R                  S[        WR                  5      5        U R                  [        5       nU" SS5        S S S 5        U R                  S[        UR                  5      5        U R                  [        5       nU" SS5        S S S 5        U R                  S[        UR                  5      5        U R                  [        5       nU" SS5        S S S 5        U R                  S[        UR                  5      5        U R                  [        5       nU" SS5        S S S 5        U R                  S[        UR                  5      5        [         S 5       nU R                  [        5       nU" SSS5        S S S 5        U R                  S[        UR                  5      5        U R                  [        5       nU" SS5        S S S 5        U R                  S[        UR                  5      5        g ! , (       d  f       GN
= f! , (       d  f       GNÐ= f! , (       d  f       GN–= f! , (       d  f       GN\= f! , (       d  f       GN"= f! , (       d  f       NÚ= f! , (       d  f       NŸ= f)Nr‚   r¨   ú#The argument "c" must be array-likez#The argument "x" must be array-likeÚdefc                 ó4   • [         R                  " XU5      nU$ r   r0   )r3   r4   Útensorr(   s       r   Úpolyval3Ú<TestPolynomial.test_poly_polyval_exception.<locals>.polyval3Å  s   € ä—,’,˜q VÓ,ˆCØˆJr   z%The argument "tensor" must be boolean)
r   r5   r8   r:   r«   rJ   r   rK   rL   rM   )rF   r½   rÿ   r  rR   r	  s         r   Útest_poly_polyval_exceptionÚ*TestPolynomial.test_poly_polyval_exception¥  s/  € Ü”h“ˆÜ”y“/ˆÜ”y“/ˆà×ÑÔ!à×Ñœ{Ô+¨vÙ�1�eÔ÷ ,à�‰Ð;Ü˜&×*Ñ*Ó+ô	-ð ×Ñœ{Ô+¨vÙ�5˜!Ô÷ ,à�‰Ð;Ü˜&×*Ñ*Ó+ô	-ð ×Ñœ{Ô+¨vÙ�5˜%Ô ÷ ,à�‰Ð;Ü˜&×*Ñ*Ó+ô	-ð ×Ñœ{Ô+¨vÙ�A�uÔ÷ ,à�‰Ð;Ü˜&×*Ñ*Ó+ô	-ð ×Ñœ{Ô+¨vÙ�E˜1Ô÷ ,à�‰Ð;Ü˜&×*Ñ*Ó+ô	-ô 
ñ	ó 
ð	ð ×Ñœ{Ô+¨vÙ�Q˜˜5Ô!÷ ,à�‰Ð=Ü˜&×*Ñ*Ó+ô	-ð ×Ñœ{Ô+¨vÙ�E˜5Ô!÷ ,à�‰Ð;Ü˜&×*Ñ*Ó+õ	-÷I ,Ö+ú÷
 ,Ö+ú÷
 ,Ö+ú÷
 ,Ö+ú÷
 ,Ö+ú÷ ,Õ+ú÷
 ,Õ+úsT   Á
I Â
I2Ã+
JÄ7
JÆ
J(ÇJ:È(
KÉ 
I/É2
JÊ
JÊ
J%Ê(
J7Ê:
KË
Kc           
      óÐ  • [         n[        [         5      nU R                  U" / SQ5      U" / SQ5      5        [        SS5       H!  nU R                  U" S/US9U" S/US95        M#     [        S5       H)  nS/U-  S/-   nU R                  U" USS9U" USS95        M+     [        S5       H:  n[        SS5       H'  nS/U-  S/-   nU R                  U" XES9U" XES95        M)     M<     [        R
                  " SS/SS//5      nU R                  U" U5      U" U5      5        [        R                  " S5      R                  S5      nU R                  U" U5      U" U5      5        g )	Nr³   rƒ   rœ   r   )r=   r�   rÃ   rÄ   )r<   r   r¢   rž   r   r‹   r�   r‘   )rF   r£   rN   rŸ   ÚpolrÊ   r   Úc3s           r   Útest_poly_polyint_basicÚ&TestPolynomial.test_poly_polyint_basicÓ  sH  € ÜˆÜ”W“ˆà×Ñ¡¢w£±²w³Ô@ô �q˜!–ˆAØ×#Ñ#¡F¨A¨3°!Ñ$4±e¸Q¸CÀ1±oÖFñ ô �q–ˆAØ�#˜‘'˜Q˜C‘-ˆCØ×#Ñ#¡F¨3°!Ñ$4±f¸SÀAÑ6FÖGñ ô
 �q–ˆAÜ˜1˜a–[�Ø�c˜A‘g  ‘m�Ø×'Ñ'©¨sÑ(8¹%À¹/ÖJó !ñ ô �XŠX˜˜!�u˜q ˜e�nÓ%ˆØ×Ñ¡ r£
©E°"«IÔ6Ü�YŠY�q‹\×!Ñ! 'Ó*ˆØ×Ñ¡ r£
©E°"«IÕ6r   c                 óZ  • [        [        5      nU R                  5         U R                  [        5       nU" S5        S S S 5        U R                  S[        WR                  5      5        U R                  [        5       nU" [        R                  " / SQ5      S5        S S S 5        U R                  S[        UR                  5      5        U R                  [        5       nU" / SQS5        S S S 5        U R                  S[        UR                  5      5        U R                  [        5       nU" SS5        S S S 5        U R                  S[        UR                  5      5        g ! , (       d  f       GN1= f! , (       d  f       Nà= f! , (       d  f       N£= f! , (       d  f       Nh= f)Nr¨   r  r³   z#The argument "m" must be an integer)r'   Úbr4   r�   zInput dtype must be scalar.)
r   r<   r«   rJ   r   rK   rL   rM   r   r‹   )rF   rN   rR   s      r   Útest_poly_polyint_exceptionÚ*TestPolynomial.test_poly_polyint_exceptionî  s7  € Ü”W“ˆà×ÑÔ!à×Ñœ{Ô+¨vÙ�%ŒL÷ ,à�‰Ð;Ü˜&×*Ñ*Ó+ô	-ð ×Ñœ{Ô+¨vÙ”"—(’(š7Ó# UÔ+÷ ,à�‰Ð;Ü˜&×*Ñ*Ó+ô	-ð ×Ñœ{Ô+¨vÙ’/ 1Ô%÷ ,à�‰Ð3Ü˜&×*Ñ*Ó+ô	-ð ×Ñœ{Ô+¨vÙ�/ 1Ô%÷ ,à�‰Ð3Ü˜&×*Ñ*Ó+õ	-÷# ,Ö+ú÷
 ,Õ+ú÷
 ,Õ+ú÷
 ,Õ+ús/   µ	E(Â  E:Ã"FÄ0
FÅ(
E7Å:
FÆ
FÆ
F*c                 óÌ  • S n[        U5      nS n[        U5      n[        R                  " SS/5      [        R                  " SS/5      4n[        R                  " SS/5      [        R                  " SS/5      4n[        R                  " SS/5      [        R                  " SS/5      4nU GH1  nU GH&  n	U GH  n
U" X‰U
5      nU" X‰U
5      nU" U5      nU" U5      nU R                  X¼5        U R                  UR                  UR                  5        U R                  UR
                  UR
                  5        U R                  UR                  UR                  5        U R                  UR                  UR                  5        U R                  UR
                  UR
                  5        U R                  UR                  UR                  5        GM     GM)     GM4     g )Nc                 ó4   • [         R                  " XU5      nU$ r   ©r   Ú
Polynomial©r4   ÚdomÚwinr   s       r   Úpyfunc3Ú;TestPolynomial.test_Polynomial_constructor.<locals>.pyfunc3  ó   € Ü—’ ¨Ó,ˆAØˆHr   c                 ó2   • [         R                  " U 5      nU$ r   r  )r4   r   s     r   rº   Ú;TestPolynomial.test_Polynomial_constructor.<locals>.pyfunc1  s   € Ü—’ Ó"ˆAØˆHr   r   r�   rˆ   r‰   )r   r   r‹   r¢   ÚcoefÚdomainÚwindow)rF   r  Úcfunc3rº   r»   Úlist1Úlist2Úlist3r4   r  r  rË   rÌ   Úq1Úq2s                  r   Útest_Polynomial_constructorÚ*TestPolynomial.test_Polynomial_constructor  st  € ò	ô �g“ˆò	ô �g“ˆÜ—’˜1˜a˜&Ó!¤2§8¢8¨R°¨HÓ#5Ð6ˆÜ—’˜1˜a˜&Ó!¤2§8¢8¨R°¨HÓ#5Ð6ˆÜ—’˜1˜a˜&Ó!¤2§8¢8¨R°¨HÓ#5Ð6ˆÜˆAÜ�Ü �CÙ  ¨Ó-�BÙ ¨Ó,�BÙ  ›�BÙ ›�BØ×+Ñ+¨BÔ3Ø×+Ñ+¨B¯G©G°R·W±WÔ=Ø×+Ñ+¨B¯I©I°r·y±yÔAØ×+Ñ+¨B¯I©I°r·y±yÔAØ×+Ñ+¨B¯G©G°R·W±WÔ=Ø×+Ñ+¨B¯I©I°r·y±yÔAØ×+Ñ+¨B¯I©I°r·y±y×Aô !ô ò r   c                 ó  • S n[        U5      nU R                  5         [        R                  " SS/5      n[        R                  " / SQ5      n[        R                  " S5      R                  S5      nU R                  [        5       nU" X4U5        S S S 5        U R                  S[        WR                  5      5        U R                  [        5       nU" X3U5        S S S 5        U R                  S[        UR                  5      5        U R                  [        5       nU" XSU5        S S S 5        U R                  S	[        UR                  5      5        g ! , (       d  f       NÌ= f! , (       d  f       N‘= f! , (       d  f       NV= f)
Nc                 ó4   • [         R                  " XU5      nU$ r   r  r  s       r   r  Ú8TestPolynomial.test_Polynomial_exeption.<locals>.pyfunc3)  r  r   r�   rƒ   r³   r±   )rƒ   rƒ   z$Domain has wrong number of elements.z$Window has wrong number of elements.r©   )r   r«   r   r‹   r�   r‘   rJ   rd   rK   rL   rM   r   )rF   r  r%  Úinput2Úinput3Úinput2DrR   s          r   Útest_Polynomial_exeptionÚ'TestPolynomial.test_Polynomial_exeption(  s)  € ò	ô �g“ˆà×ÑÔ!ä—’˜1˜a˜&Ó!ˆÜ—’š)Ó$ˆÜ—)’)˜A“,×&Ñ& vÓ.ˆà×ÑœzÔ*¨fÙ�6 6Ô*÷ +à�‰Ð<Ü˜&×*Ñ*Ó+ô	-ð ×ÑœzÔ*¨fÙ�6 6Ô*÷ +à�‰Ð<Ü˜&×*Ñ*Ó+ô	-ð ×Ñœ{Ô+¨vÙ�7 FÔ+÷ ,à�‰Ð4Ü˜&×*Ñ*Ó+õ	-÷ +Õ*ú÷
 +Õ*ú÷
 ,Õ+ús$   Â	
EÃ
E*Ä!
E;Å
E'Å*
E8Å;
F	rY   N)F)rZ   r[   r\   r]   r¥   r­   r¿   rÅ   rÐ   rÓ   r×   rÛ   rß   râ   rå   rè   rñ   rö   r  r  r  r  r+  r3  re   rY   r   r   r˜   r˜   ®   sp   † ò	Aò(ò(Oò2--ô^Mò:(ò4-ò1òGò1ò-ò1òCò,ò!CòF,-ò\7ò6-ò:Bõ:-r   r˜   )r�   )#rB   Ú	itertoolsr   Únumpyr   Únumpy.polynomialr   r   r   r!   Únumbar   r   Únumba.tests.supportr   r	   r
   r   Únumba.core.errorsr   r   r   r   r   r"   r)   r,   r.   r5   r8   r:   r<   r?   rh   r˜   rY   r   r   Ú<module>r;     s‘   ðÛ 	Ý ã Ý /Ý ,ç ÷Gó Gå )òòòòòòò
ò
ò
ò
ò
ô
ô
,Ð,¨hô ,ô.O'Ð#ô O'ôdS-�_ hõ S-r   