ó
    �œ‘hØ  ã                   óF  • S r SSKrSSKJr  SSKJr  SSKJrJ	r	J
r
   " S S5      r " S S5      r\R                  R                  S	\R                  " / S
QSS9\" / S
Q5      45       " S S5      5       r " S S5      r " S S5      r " S S5      rS rS rS rS rS rg)zE
Tests related to the ``symbol`` attribute of the ABCPolyBase class.
é    N)Úarray)Úassert_Úassert_equalÚassert_raisesc                   óÒ   • \ rS rSrSr/ SQrS r\R                  R                  SS\
4S\
4S\4S	\445      S
 5       r\R                  R                  SS5      S 5       rS rS rSrg)ÚTestInité   z-
Test polynomial creation with symbol kwarg.
©é   é   é   c                 óp   • [         R                  " U R                  5      n[        UR                  S5        g )NÚx©ÚpolyÚ
PolynomialÚcr   Úsymbol©ÚselfÚps     ÚfC:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\numpy/polynomial/tests/test_symbol.pyÚtest_default_symbolÚTestInit.test_default_symbol   s"   € Ü�OŠO˜DŸF™FÓ#ˆÜ�Q—X‘X˜sÕ#ó    )Ú	bad_inputÚ	exceptionÚ Ú3Nr   c                 ó¢   • [         R                  " U5         [        R                  " U R                  US9nS S S 5        g ! , (       d  f       g = f)N©r   )ÚpytestÚraisesr   r   r   )r   r   r   r   s       r   Útest_symbol_bad_inputÚTestInit.test_symbol_bad_input   s0   € ô �]Š]˜9Õ%Ü—’ §¡¨yÑ9ˆA÷ &×%Ö%ús   — A Á 
Ar   )r   Úx_1ÚAÚxyzu   Î²c                 ón   • [         R                  " U R                  US9n[        UR                  U5        g)z6
Values for symbol that should pass input validation.
r!   Nr   )r   r   r   s      r   Útest_valid_symbolsÚTestInit.test_valid_symbols    s&   € ô �OŠO˜DŸF™F¨6Ñ2ˆÜ�Q—X‘X˜vÕ&r   c                 ó¸   • [         R                  " U R                  SS9n[        R                  " [
        5         SUl        SSS5        g! , (       d  f       g= f)z"
'symbol' attribute is read only.
r   r!   ÚzN)r   r   r   r"   r#   ÚAttributeErrorr   r   s     r   Útest_propertyÚTestInit.test_property.   s7   € ô �OŠO˜DŸF™F¨3Ñ/ˆÜ�]Š]œ>Õ*ØˆAŒH÷ +×*Ö*ús   ºAÁ
Ac                 ó¬   • [         R                  " U R                  SS9n[         R                  " UR                  SS9n[	        UR
                  S5        g )NÚyr!   Út)r   r   r   Úcoefr   r   )r   r   Úpts      r   Útest_change_symbolÚTestInit.test_change_symbol6   s8   € Ü�OŠO˜DŸF™F¨3Ñ/ˆä�_Š_˜QŸV™V¨CÑ0ˆÜ�R—Y‘Y Õ$r   © )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   r"   ÚmarkÚparametrizeÚ
ValueErrorÚ	TypeErrorr$   r*   r/   r6   Ú__static_attributes__r8   r   r   r   r      s‘   † ñò 	€Aò$ð ‡[�[×ÑÐ7Ø	ˆZÐØ	ˆjÐØ	ˆyÐØ	
ˆIˆð	:ó ñ:óð:ð ‡[�[×Ñ˜Xð (ó ñ'óð'òõ%r   r   c                   óR   • \ rS rSr\R
                  " / SQSS9rS rS rS r	S r
S	rg
)ÚTestUnaryOperatorsé=   r
   r-   r!   c                 óJ   • U R                   * n[        UR                  S5        g ©Nr-   ©r   r   r   )r   Úns     r   Útest_negÚTestUnaryOperators.test_neg@   s   € Ø�V‰VˆGˆÜ�Q—X‘X˜sÕ#r   c                 óN   • U R                   S-  n[        UR                  S5        g ©Né
   r-   rH   ©r   Úouts     r   Útest_scalarmulÚ!TestUnaryOperators.test_scalarmulD   s   € Ø�f‰f�r‰kˆÜ�S—Z‘Z Õ%r   c                 óN   • SU R                   -  n[        UR                  S5        g rM   rH   rO   s     r   Útest_rscalarmulÚ"TestUnaryOperators.test_rscalarmulH   s   € Ø�4—6‘6‰kˆÜ�S—Z‘Z Õ%r   c                 óN   • U R                   S-  n[        UR                  S5        g )Nr   r-   rH   rO   s     r   Útest_powÚTestUnaryOperators.test_powL   s   € Ø�f‰f˜‰kˆÜ�S—Z‘Z Õ%r   r8   N)r9   r:   r;   r<   r   r   r   rJ   rQ   rT   rW   rB   r8   r   r   rD   rD   =   s&   † Ø�Šš	¨#Ñ.€Aò$ò&ò&õ&r   rD   Úrhs©é   é   é   r-   r!   c                   ón   • \ rS rSrSr\R                  " / SQSS9rS rS r	S r
S	 rS
 rS rS rS rSrg)ÚTestBinaryOperatorsSameSymboléQ   zW
Ensure symbol is preserved for numeric operations on polynomials with
the same symbol
r
   r-   r!   c                 óN   • U R                   U-   n[        UR                  S5        g rG   rH   ©r   rY   rP   s      r   Útest_addÚ&TestBinaryOperatorsSameSymbol.test_add_   ó   € Ø�f‰f�s‰lˆÜ�S—Z‘Z Õ%r   c                 óN   • U R                   U-
  n[        UR                  S5        g rG   rH   rb   s      r   Útest_subÚ&TestBinaryOperatorsSameSymbol.test_subc   re   r   c                 óN   • U R                   U-  n[        UR                  S5        g rG   rH   rb   s      r   Útest_polymulÚ*TestBinaryOperatorsSameSymbol.test_polymulg   re   r   c                 ój   • [        U R                  U5       H  n[        UR                  S5        M     g rG   ©Údivmodr   r   r   rb   s      r   Útest_divmodÚ)TestBinaryOperatorsSameSymbol.test_divmodk   s%   € Ü˜$Ÿ&™& #Ö&ˆCÜ˜Ÿ™ SÖ)ò 'r   c                 óL   • XR                   -   n[        UR                  S5        g rG   rH   rb   s      r   Ú	test_raddÚ'TestBinaryOperatorsSameSymbol.test_raddo   ó   € Ø—F‘F‰lˆÜ�S—Z‘Z Õ%r   c                 óL   • XR                   -
  n[        UR                  S5        g rG   rH   rb   s      r   Ú	test_rsubÚ'TestBinaryOperatorsSameSymbol.test_rsubs   rt   r   c                 óL   • XR                   -  n[        UR                  S5        g rG   rH   rb   s      r   Ú	test_rmulÚ'TestBinaryOperatorsSameSymbol.test_rmulw   rt   r   c                 óh   • [        XR                  5       H  n[        UR                  S5        M     g rG   rm   rb   s      r   Útest_rdivmodÚ*TestBinaryOperatorsSameSymbol.test_rdivmod{   s#   € Ü˜#Ÿv™vÖ&ˆCÜ˜Ÿ™ SÖ)ò 'r   r8   N)r9   r:   r;   r<   r=   r   r   r   rc   rg   rj   ro   rr   rv   ry   r|   rB   r8   r   r   r_   r_   Q   sA   † ñð 	�Šš	¨#Ñ.€Aò&ò&ò&ò*ò&ò&ò&õ*r   r_   c                   ó  • \ rS rSr\R
                  " / SQSS9r\R
                  " / SQSS9r\R                  \R                  \R                  \R                  \R                  4r\R                  R!                  S\5      S 5       rS	rg
)Ú"TestBinaryOperatorsDifferentSymbolé€   r
   r   r!   rZ   r2   Úfc                 ó8   • [        [        XR                  5        g )N)r   r@   Úother)r   r�   s     r   Útest_binops_failsÚ4TestBinaryOperatorsDifferentSymbol.test_binops_fails…   s   € ä”j !§Z¡ZÕ0r   r8   N)r9   r:   r;   r<   r   r   r   rƒ   Ú__add__Ú__sub__Ú__mul__Ú__floordiv__Ú__mod__Úopsr"   r>   r?   r„   rB   r8   r   r   r   r   €   si   † Ø�Šš	¨#Ñ.€AØ�OŠOšI¨cÑ2€EØ�9‰9�a—i‘i §¡¨A¯N©N¸A¿I¹IÐ
F€Cà‡[�[×Ñ˜S #Ó&ñ1ó 'ó1r   r   c                   óF   • \ rS rSr\R
                  " / SQSS9rS rS rSr	g)	ÚTestEqualityéŠ   r
   r   r!   c                 ób   • [         R                  " / SQSS9n[        U R                  U:H  5        g )Nr
   r   r!   ©r   r   r   r   ©r   rƒ   s     r   Útest_eqÚTestEquality.test_eq�   s"   € Ü—’¢	°#Ñ6ˆÜ�—‘˜%‘Õ r   c                 ód   • [         R                  " / SQSS9n[        U R                  U:X  + 5        g )Nr
   r2   r!   r�   r‘   s     r   Útest_neqÚTestEquality.test_neq‘   s#   € Ü—’¢	°#Ñ6ˆÜ�D—F‘F˜eÒ#Õ$r   r8   N)
r9   r:   r;   r<   r   r   r   r’   r•   rB   r8   r   r   r�   r�   Š   s   † Ø�Šš	¨#Ñ.€Aò!õ%r   r�   c                   óÎ   • \ rS rSrSr\R                  " / SQSS9rS rS r	S r
\R                  R                  S	S
SS/0SSS/0S\R                  045      S 5       rS rS rSrg)ÚTestExtraMethodsé–   zB
Test other methods for manipulating/creating polynomial objects.
)r   r   r   r   r-   r!   c                 ód   • U R                   R                  5       n[        UR                  S5        g rG   )r   Úcopyr   r   r‘   s     r   Ú	test_copyÚTestExtraMethods.test_copyœ   ó   € Ø—‘—‘“ˆÜ�U—\‘\ 3Õ'r   c                 ód   • U R                   R                  5       n[        UR                  S5        g rG   )r   Útrimr   r   r‘   s     r   Ú	test_trimÚTestExtraMethods.test_trim    rž   r   c                 óf   • U R                   R                  S5      n[        UR                  S5        g )Nr   r-   )r   Útruncater   r   r‘   s     r   Útest_truncateÚTestExtraMethods.test_truncate¤   s"   € Ø—‘—‘ Ó"ˆÜ�U—\‘\ 3Õ'r   ÚkwargÚdomainiöÿÿÿrN   ÚwindowÚkindc                 óh   • U R                   R                  " S0 UD6n[        UR                  S5        g )Nr-   r8   )r   Úconvertr   r   )r   r§   rƒ   s      r   Útest_convertÚTestExtraMethods.test_convert¨   s'   € ð —‘—’Ñ' Ñ'ˆÜ�U—\‘\ 3Õ'r   c                 ód   • U R                   R                  5       n[        UR                  S5        g rG   )r   Úintegr   r   r‘   s     r   Ú
test_integÚTestExtraMethods.test_integ±   ó   € Ø—‘—‘“ˆÜ�U—\‘\ 3Õ'r   c                 ód   • U R                   R                  5       n[        UR                  S5        g rG   )r   Úderivr   r   r‘   s     r   Ú
test_derivÚTestExtraMethods.test_derivµ   r³   r   r8   N)r9   r:   r;   r<   r=   r   r   r   rœ   r¡   r¥   r"   r>   r?   Ú	Chebyshevr­   r±   r¶   rB   r8   r   r   r˜   r˜   –   s€   † ñð 	�Šš¨SÑ1€Aò(ò(ò(ð ‡[�[×Ñ˜WØ	�C˜�9ÐØ	�C˜�9ÐØ	�—‘Ð ð'ó ñ
(óð
(ò(õ(r   r˜   c                  ó”   • [         R                  " / SQSS9n [         R                  " / SQSS9nU " U5      nUR                  S:X  d   eg )N)r   r   r   r3   r!   )r\   r   r   éÿÿÿÿu   Î»_1)r   r   r   )r   ÚqÚrs      r   Útest_compositionr½   º   s=   € Ü�Šš	¨#Ñ.€AÜ�Šš¨fÑ5€AÙ	ˆ!‹€AØ�8‰8�vÓÐÑr   c                  ó�   • [        S5      4S-  u  p[        R                  R                  XSSS9n[	        UR
                  S5        g )NrN   r   r   r-   )Údegr   )Úranger   r   Úfitr   r   )r   r2   r   s      r   Útest_fitrÂ   Æ   s=   € Ü�"‹Iˆ<˜!Ñ�D€AÜ�‰×Ñ˜A a°ÐÐ4€AÜ�—‘˜3Õr   c                  ót   • SS/n [         R                  R                  U SS9n[        UR                  S5        g )Néþÿÿÿr   r-   r!   )r   r   Ú	fromrootsr   r   )Úrootsr   s     r   Útest_froomrootsrÇ   Ì   s2   € Ø�ˆG€EÜ�‰×!Ñ! %°Ð!Ð4€AÜ�—‘˜3Õr   c                  óv   • [         R                  R                  SS/SS/SS9n [        U R                  S5        g )Nrº   r   r\   é   r-   )r¨   r©   r   )r   r   Úidentityr   r   ©r   s    r   Útest_identityrÌ   Ò   s3   € Ü�‰× Ñ ¨¨Q¨¸¸B¸ÈÐ ÐL€AÜ�—‘˜3Õr   c                  ól   • [         R                  R                  SSS9n [        U R                  S5        g )Nr   r-   r!   )r   r   Úbasisr   r   rË   s    r   Ú
test_basisrÏ   ×   s)   € Ü�‰×Ñ˜a¨ÐÐ,€AÜ�—‘˜3Õr   )r=   r"   Únumpy.polynomialÚ
polynomialr   Únumpy._corer   Únumpy.testingr   r   r   r   rD   r>   r?   r   r_   r   r�   r˜   r½   rÂ   rÇ   rÌ   rÏ   r8   r   r   Ú<module>rÔ      s¯   ðñó å Ý ß >Ñ >÷.%ñ .%÷b&ñ &ð( ‡�×ÑØ	à�Šš	¨#Ñ.ÙŠiÓðó÷%*ð %*óð%*÷P1ñ 1÷	%ñ 	%÷!(ñ !(òHò ò ò ó
 r   