o
    à8Vaç<  ã                   @   sJ  d dl mZmZmZmZmZmZmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZ d dlmZmZmZmZ d dlmZmZm Z m!Z!m"Z"m#Z# d dl$m%Z%m&Z&m'Z' 	 edddZ(edddZ)d	Z*d
d„ Z+e'dd„ ƒZ,dd„ Z-e'dd„ ƒZ.dd„ Z/e%dd„ ƒZ0e%dd„ ƒZ1dd„ Z2dd„ Z3dd„ Z4dd„ Z5d d!„ Z6d"d#„ Z7d$d%„ Z8d&d'„ Z9d(d)„ Z:d*d+„ Z;d,d-„ Z<d.d/„ Z=d0d1„ Z>d2d3„ Z?d4d5„ Z@d6d7„ ZAd8d9„ ZBd:d;„ ZCd<d=„ ZDd>d?„ ZEd@dA„ ZFdBdC„ ZGdDdE„ ZHdFdG„ ZIe%dHdI„ ƒZJdJdK„ ZKdLdM„ ZLdNdO„ ZMdPdQ„ ZNdRdS„ ZOdTdU„ ZPdVdW„ ZQdXdY„ ZRe%dZd[„ ƒZSd\d]„ ZTd^d_„ ZUd`da„ ZVdbS )cé    )ÚSymbolÚexpÚlogÚooÚRationalÚIÚsinÚgammaÚloggammaÚSÚatanÚacotÚpiÚcancelÚEÚerfÚsqrtÚzetaÚcosÚdigammaÚIntegerÚEiÚ
EulerGamma)ÚcoshÚcothÚsinhÚtanh)ÚcompareÚmrvÚrewriteÚmrv_leadtermÚgruntzÚsign)ÚXFAILÚskipÚslowÚxT)ÚrealÚmFc                   C   s   t stdƒ d S d S )Nr%   )Úrunslowr$   © r*   r*   ú@/usr/lib/python3/dist-packages/sympy/series/tests/test_gruntz.pyÚ_sskip   s   ÿr,   c                   C   sö  t ttƒtdt tt ƒ ƒtdt ƒ  ttƒdksJ ‚t ttƒtdt tt ƒ ttd  ƒ ƒtdt tttƒ ƒ ƒ  ttƒdksHJ ‚t ttttt ƒ ƒddt   ƒtttƒƒ ttƒtu sgJ ‚t tttttt ƒ ƒƒƒttttƒƒƒ ttƒtu s„J ‚t ttttƒƒƒtttttttƒ ƒ ƒƒƒ ttƒtu s£J ‚t ttttƒƒƒttttttttƒƒ ƒ ƒƒƒ ttƒdksÄJ ‚t tttƒƒtttttttƒƒ ƒ ƒƒ ttƒdksáJ ‚t ttƒd ttttƒƒtttƒƒd  tttttƒƒƒttttƒƒƒd  ƒ ƒ ttƒ ttƒdksJ ‚t tttƒ ttttƒ td  ƒd  tttd dttdtd  ttƒ ƒƒ  ƒƒ ttƒtddƒksPJ ‚t tttt ƒ tt ƒtdtd  td  ƒ  ƒttƒ t ttƒtdƒ ks|J ‚t dt dt  dt  ttƒdks‘J ‚t ttttttdƒttƒ  ƒ ƒ ttƒtu s¬J ‚t ttdttd t ƒ tttƒƒ ƒƒttdttƒ tttƒƒ ƒƒ ttƒtu sÙJ ‚t tttddƒttd	d
ƒ  tddƒttddƒ   dtd   tddƒttddƒ   ƒƒd ttttddƒttd	dƒ  ƒ ƒƒtd
dƒ  ttƒtu s*J ‚t tdt tt ƒ dttƒ dtdtd  td  ƒ   ƒttƒ ttƒd  ttƒdks\J ‚t tttt ƒ tt ƒtdtd  td  ƒ  ƒttƒ ttƒdksƒJ ‚t ttƒtttƒtttƒƒ ƒtttƒƒ  tttƒttttƒƒƒ ƒ ttƒdks°J ‚t tttttttƒtttƒƒ ƒ ƒƒtttttƒt ttƒ ƒƒƒ ƒttƒtksÝJ ‚t tttttt ƒ ƒƒƒtttƒƒ ttƒtu sùJ ‚d S )Né   éÿÿÿÿé   é   r   éþÿÿÿé   é
   éûÿÿÿé   é   é   é   é   iøÿÿÿé6   é   é1   é-   é   é   )r!   r   r&   r   r   r   r   r   r*   r*   r*   r+   Útest_gruntz_evaluation   s²   :*ÿÿÿ>:.ÿÿ2ÿÿ:(&ÿÿþ
þ(.ÿÿ
ÿ@ÿ
ÿ*6(ÿÿ
ÿ4
ÿÿÿ.þþ
þF
ÿÿ
ÿB
ÿ,ÿÿ
ÿ&ÿÿ
ÿ<r@   c                
   C   s  t ƒ  tttttƒddt   ƒƒttttƒddt  ttƒttƒ    ƒƒ ttƒt u s1J ‚tttt dtt ƒ  ƒƒtt dtt dtt ƒ  ƒ  ƒ ttt tt dtt ƒ  ƒ ƒƒ tt dtt ƒ  ƒd  ttƒ t ttƒdksJ ‚d S ©Nr-   r/   )r,   r!   r   r&   r   r   r*   r*   r*   r+   Útest_gruntz_evaluation_slowW   s*   ,ÿÿÿB$ÿþþþþþrB   c                   C   s|  t ttƒtdt tt ƒ ƒtdt ttd  ƒ ƒ  ttƒdks$J ‚t tttttƒ ƒ ƒttƒ tttƒƒ ttd ƒ ttƒdttƒ ksKJ ‚t tttƒƒttdt tttƒ ƒ ƒƒttdt ƒƒ  ttƒdkspJ ‚t ttƒtttt ƒ ƒttƒ  ttƒtu s‰J ‚t ttt	t	tƒƒƒƒt ttƒtt
ddƒƒks¢J ‚t ttt	ttƒƒƒƒt ttƒtt
ddƒƒks»J ‚t t	t	t	tƒƒƒttƒtu sËJ ‚t tttƒƒttƒtu sÙJ ‚t ttdttƒ  ƒttƒ ttƒ tdt ƒ t ttƒ ttƒt
ddƒksJ ‚t tttdttƒ  ƒttƒ ttƒ  ttƒtjks!J ‚t ttdttƒ  ƒttƒ ttƒ ttƒdks<J ‚d S )Nr-   r/   r1   r.   )r!   r   r&   r   r   r   r   r   r	   r   r   r   r
   r   r   ÚHalfr*   r*   r*   r+   Útest_gruntz_eval_specialb   s:   H6ÿ
ÿ:ÿÿ222 0ÿÿÿ
ÿ.
ÿ:rD   c                   C   sŒ   t ƒ  tttd ƒtdt ƒ tt ƒtttj  tttj  d    tt	ƒt	u s,J ‚ttttt
t
t
tƒƒƒƒƒƒt tt	ƒdksDJ ‚d S )Nr-   r/   é   r   )r,   r!   r	   r&   r   r   r   r   rC   r   r   r*   r*   r*   r+   Útest_gruntz_eval_special_slowv   s   (ÿÿÿ4rF   c                   C   sH   t ƒ  tttttt ƒ ƒtdt ƒ ƒtttƒƒ ttƒtu s"J ‚d S ©Nr-   )r,   r!   r   r	   r&   r   r*   r*   r*   r+   Ú,test_grunts_eval_special_slow_sometimes_fail}   s   BrH   c                   C   s   t tttttƒ ƒ ƒttƒ tt ƒ tttƒƒ t ttƒdks$J ‚t ttdƒd t ƒtttt ƒ ƒttƒ  ttƒtdƒ ksFJ ‚d S )Nr.   r/   r-   )r!   r   r&   r   r   r   r   r*   r*   r*   r+   Útest_gruntz_eval_special_fail„   s   :ÿÿ0ÿÿrI   c                   C   sb  t ttƒttƒtu sJ ‚t ttƒtt ƒtu sJ ‚t ttƒttƒtu s%J ‚t ttƒtt ƒt u s3J ‚t dttƒ ttƒ ttƒtu sEJ ‚t dttƒ ttƒ tt ƒdksXJ ‚t dttƒ ttƒ ttƒtu sjJ ‚t dttƒ ttƒ tt ƒdks}J ‚t ttƒttƒdks‰J ‚t ttƒtt ƒdks–J ‚t ttƒttƒdks¢J ‚t ttƒtt ƒdks¯J ‚d S )Nr/   r-   r.   )r!   r   r&   r   r   r   r   r   r*   r*   r*   r+   Útest_gruntz_hyperbolic‘   s   $&$&rJ   c                   C   sÄ  t dttƒdks
J ‚t tttƒtƒdksJ ‚t ttƒttd ƒtƒdks&J ‚t ttd ƒtttƒƒtƒdks8J ‚t dtttƒƒtƒdksFJ ‚t tdtƒdksPJ ‚t ttƒttƒdks\J ‚t ttd ƒttƒtƒdkslJ ‚t tttƒƒttd ƒtƒdks~J ‚t tttƒƒdtƒdksŒJ ‚t ddtƒdks–J ‚t ddtƒdks J ‚t ddtƒdksªJ ‚t ttd tƒdks¶J ‚t td td tƒdksÄJ ‚t td dt tƒdksÒJ ‚t dt tt tƒdksàJ ‚t tt t tƒdksíJ ‚t ttƒtt ƒtƒdksüJ ‚t tt ƒtdt ƒtƒdksJ ‚t tdt ƒttƒd tƒdks!J ‚t ttƒd tttt ƒ ƒtƒdks7J ‚t ttƒtttt ƒ ƒtƒdksKJ ‚t ttd ƒdttd ƒ tƒdks`J ‚d S )Nr/   ú<r-   ú>r0   ú=r4   )r   r&   r   r(   r*   r*   r*   r+   Útest_compare1    s0    $ $$&,(.rN   c                   C   s^  t ttƒtd tƒdksJ ‚t ttd ƒttƒd tƒdks J ‚t ttƒtttt ƒ ƒtƒdks3J ‚t tttt ƒ ƒttƒtƒdksFJ ‚t tttt ƒ ƒtt ƒtƒdksZJ ‚t tt ƒttƒdksgJ ‚t ttt ƒtƒdkstJ ‚t ttdt  ƒttƒdks„J ‚t tttƒ ƒttƒtƒdks•J ‚t ttttƒ ƒt ƒtttƒ ƒtƒdks­J ‚d S )Nr2   rL   r/   rM   rK   r-   ©r   r   r&   r*   r*   r*   r+   Útest_compare2À   s   $&&( "4rP   c                   C   s2   t tttƒƒtttttƒ ƒ ƒtƒdksJ ‚d S )NrL   rO   r*   r*   r*   r+   Útest_compare3Í   s   2rQ   c                   C   s6  t tdƒtƒdksJ ‚t tdƒtƒdksJ ‚t tdƒtƒdks!J ‚t ttƒtƒdks,J ‚t tt ƒtƒdks8J ‚t ttƒtƒdksCJ ‚t ttƒ tƒdksOJ ‚t ddt  tƒdks\J ‚t ddt  tƒdksiJ ‚t tdt ƒtƒdksvJ ‚t ttdƒ tƒdksƒJ ‚t td tƒdksŽJ ‚t td tƒdks™J ‚d S )	Nr   r0   r-   r4   r.   éýÿÿÿr/   r2   )r"   r   r&   r   r   r   r   r*   r*   r*   r+   Ú
test_sign1Ñ   s   rS   c                  C   sŠ   t ttƒdks	J ‚t t tƒdksJ ‚tddd} t | tƒdks"J ‚t |  tƒdks,J ‚t | t tƒdks7J ‚t |  t tƒdksCJ ‚d S )Nr-   r.   ÚyT©Úpositive)r"   r&   r   )rT   r*   r*   r+   Ú
test_sign2á   s   rW   c                 C   s   t t| |ƒd  ¡ ƒS ©Nr   )Úsetr   Úkeys)ÚaÚbr*   r*   r+   Úmmrvë   ó   r]   c                   C   s  t ttƒthks
J ‚t tdt  tƒthksJ ‚t td tƒthks$J ‚t ttƒtƒthks0J ‚t ttƒtƒttƒhks>J ‚t tt ƒtƒtt ƒhksNJ ‚t ttd ƒtƒttd ƒhks`J ‚t tdt ƒ tƒthksoJ ‚t ttdt  ƒtƒttdt  ƒhks…J ‚d S rA   )r]   r&   r   r   r*   r*   r*   r+   Ú	test_mrv1ï   s    $0r_   c                   C   s˜   t tttttƒ ƒ ƒtƒtttƒ ƒhksJ ‚t tttt ƒ ƒtƒtttt ƒ ƒtt ƒhks4J ‚t tdt tt ƒ ƒtƒtt ƒhksJJ ‚d S rG   ©r]   r   r&   r*   r*   r*   r+   Ú
test_mrv2aû   s   080ra   c                   C   s4   t ttttd  ƒ ƒtƒttd  ƒhksJ ‚d S )Nr/   r`   r*   r*   r*   r+   Ú
test_mrv2b  s   4rb   c                   C   sX   t tt dtd   ƒttdt  ƒ tƒttdt  ƒtdtd  t ƒhks*J ‚d S rA   r`   r*   r*   r*   r+   Ú
test_mrv2c	  s
   &ÿ"ÿrc   c                	   C   s   t ttd ƒtttƒ  ttƒt t  tƒttd ƒhks J ‚t ttƒtdt tt ƒ ƒtdt ƒ  tƒttƒtt ƒhksCJ ‚t ttd dttdtd  ttƒ ƒƒ  ƒtƒttdtd  ttƒ ƒƒhksmJ ‚t ttttƒ ƒttƒ tƒthksJ ‚t tdt tt ƒ ƒtdt ƒ ttƒ tƒttƒtt ƒhks¤J ‚t dtt tt ƒ ƒ ttƒ tƒttƒtt ƒtttt ƒ ƒhksÊJ ‚t tttttttƒ ƒ d ƒƒtƒttttƒ ƒhksèJ ‚t tttttƒdt  ƒƒƒtƒthksþJ ‚d S )Nr/   r-   r0   )r]   r   r&   r   r*   r*   r*   r+   Ú	test_mrv3  s4   @*ÿÿ&ÿÿÿ(*ÿÿ ÿ ÿ<0rd   c                  C   s¸   t } t| | tƒ| | tƒƒ ƒ| | tƒƒ | | tƒ| | | tƒƒƒ ƒ | tƒ tƒthks.J ‚tt t tttttƒ ƒ d ƒƒttt t tƒdt  ƒƒƒ tƒttttƒ ƒhksZJ ‚d S rG   )r   r]   r&   r   )Zlnr*   r*   r+   Ú	test_mrv4  s   Hÿÿ@ÿre   c                 C   s   t | d | d ||ƒS ©Nr-   r   )r   )r[   r\   Úcr*   r*   r+   Úmrewrite'  r^   rh   c                  C   sô   t tƒ} tt| tƒttƒdt t fksJ ‚t td ƒ} tt| tƒttƒdt td  fks0J ‚t tdt  ƒ} tt| tƒttƒdt t dt  fksNJ ‚dt t t t ƒ ƒ t tƒ } tt| tƒttƒdtt tƒ  dt  t fksxJ ‚d S rA   ©r   r&   rh   r   r(   ©Úer*   r*   r+   Útest_rewrite1+  s   $(, 8rl   c                  C   s`   t tƒttt tƒƒƒ } t| tƒt tƒhksJ ‚tt| tƒttƒdt ttƒ t fks.J ‚d S rG   )r   r&   r   r]   rh   r   r(   rj   r*   r*   r+   Útest_rewrite26  s   0rm   c                  C   sž   t t dtd   ƒt tdt  ƒ } tt| tƒttƒdt tt dt dtd   ƒ  t dt  ftdt t dt td  ƒ  td t ffv sMJ ‚d S )Nr-   r/   r.   r1   ri   rj   r*   r*   r+   Útest_rewrite3>  s   &ÿÿ*ÿrn   c                   C   s”   t tdt ƒ tƒdksJ ‚t dtt tt ƒ ƒ ttƒ tƒdks%J ‚t tdt tt ƒ ƒtdt ƒ ttƒ tƒtdt ƒ dfksHJ ‚d S )Nr-   )r.   r   r   )r    r   r&   r*   r*   r*   r+   Útest_mrv_leadterm1E  s   .*ÿÿro   c                   C   sB   t tttƒt ƒt tttƒttƒ ƒ ttƒ tƒdksJ ‚d S )N)r-   r   )r    r   r   r&   r*   r*   r*   r+   Útest_mrv_leadterm2L  s   4ÿrp   c                   C   sŠ   t tt tt ƒtt ttƒ ƒ  ƒtƒtt tttƒ  ƒhks$J ‚ttt tt ƒtt ttƒ ƒ  ƒtƒtt ƒdfksCJ ‚d S rX   )r]   r   r&   r   r    r*   r*   r*   r+   Útest_mrv_leadterm3R  s   HBrq   c                   C   sD  t tttƒtu s
J ‚t ttt ƒt u sJ ‚t t ttƒt u s"J ‚t td tt ƒtu s/J ‚t td  ttƒt u s=J ‚t tttƒ tddddksMJ ‚t dt ttƒdksYJ ‚t ttƒttƒtu seJ ‚t ttƒ ttƒt u ssJ ‚t ttƒt ttƒtu sJ ‚t dt tt ƒ ttƒdks’J ‚t tdt  ttƒtu s J ‚d S )Nr/   r   ú+©Údirr-   )r!   r&   r   r   r   r*   r*   r*   r+   Útest_limit1X  s    " ru   c                   C   s  t tt tddddksJ ‚t ttƒd t tdƒdksJ ‚t ddt  ttƒdks,J ‚t tdt ƒ ttƒdks;J ‚t ttt ƒ ttƒtu sJJ ‚t tttd  ƒ ttƒtu s[J ‚t ttttƒ ƒ ttƒtu slJ ‚t ddt  tt ƒ ttƒdksJ ‚d S )Nr   rr   rs   r-   r.   r/   é   )r!   r&   r   r   r*   r*   r*   r+   Útest_limit2g  s    ""*rw   c                  C   sœ   t dƒ} tttdttƒ ƒ ttƒdksJ ‚ttt| ttƒ ƒ ttƒdks(J ‚tttƒdttƒ  ttƒdks:J ‚tttƒ| ttƒ  ttƒdksLJ ‚d S )Nr[   r-   r   )r   r!   r&   r   r   r   )r[   r*   r*   r+   Útest_limit3r  s
   $$$(rx   c                   C   sX   t dt dt  dt  ttƒdksJ ‚t ddt  ddt   t tdƒdks*J ‚d S )Nr0   r2   r-   r   ©r!   r&   r   r*   r*   r*   r+   Útest_limit4z  s   (0rz   c               	   C   sš   t t dt t ƒ  ƒ} t | ƒt t d|   ƒ t t t |  ƒƒ | d  t tƒ t }t|tƒd|  t t ƒt tƒt t|  ƒt td|   ƒhksKJ ‚d S rA   )r   r&   r]   )ÚhÚexprr*   r*   r+   Útest_MrvTestCase_page47_ex3_21  s   @Br}   c                  C   s¶   ddl m}  tdƒ}ttt ttƒtt ksJ ‚t|t t ttƒ|t t ks*J ‚t|d t t ttƒ|t t ks>J ‚t|d ttƒ t ttƒ ¡  	| ¡|t t ksYJ ‚d S )Nr   ©r"   rT   r0   )
Úsympyr"   r   r!   r   r&   r   r   Úsimplifyr   )r"   rT   r*   r*   r+   Útest_Iˆ  s   $(:r   c                   C   s,   t td dttd ƒ  ttƒtksJ ‚d S rG   )r!   r&   r   r   r   r*   r*   r*   r+   Útest_issue_4814‘  ó   ,r‚   c                   C   s  t dttƒ ttƒdksJ ‚t dttƒ ttƒdksJ ‚t ttƒttƒ ttƒtu s,J ‚t tttƒƒttƒ ttƒtu s>J ‚t ttƒtdƒdksJJ ‚t ttddƒdt  ƒttƒttddƒƒksbJ ‚t ttt ƒtttƒƒ ttƒdksvJ ‚t ttttƒƒƒttƒ ttƒtu sŠJ ‚d S )Nr-   r   r0   r/   r5   )r!   r	   r&   r   r
   r   r   r   r*   r*   r*   r+   Útest_intractable•  s    $0(,r„   c                   C   s^   t tdtttƒƒ ttƒdttƒttjƒ   ƒdksJ ‚tdt	tƒ tt ƒt u s-J ‚d S rf   )
r   r!   r   r   r&   r   r   r   rC   r   r*   r*   r*   r+   Útest_aseries_trig   s   ÿÿ$r…   c                   C   s,   t ttttttƒ ƒƒ ttƒtu sJ ‚d S )N)r!   r&   r   r   r   r*   r*   r*   r+   Útest_exp_log_series¦  rƒ   r†   c                   C   s<   t td t d dt td   dt  ttƒdksJ ‚d S )Nr5   r-   r/   r.   ry   r*   r*   r*   r+   Útest_issue_3644ª  s   <r‡   c                  C   s^   t dddd} | d t| d   t| d  d  ttd   }t|tdƒ ¡ | d ks-J ‚d S )NÚnT)ZintegerrV   r-   r/   )r   r&   r!   r€   )rˆ   Úrr*   r*   r+   Útest_issue_6843®  s   0 rŠ   c                   C   s&   t ttdt ƒ ttƒtjksJ ‚d S rG   )r!   r&   r	   r   r   r   r*   r*   r*   r+   Útest_issue_4190´  s   &r‹   c                  C   s  t dƒ} t ddd}t dƒ}t ddd}t ddd}d	|  | | d
  | || | d
    | |d
 | | | d	  | || | d
    |   |  | | |   }| ||d
 ¡}t| ||¡| tƒd
ksfJ ‚t| ||¡| tƒ ¡ d	|d
  | d
 |d
 |d
   ks†J ‚d S )Nrˆ   r‰   TrU   rg   Úpr(   )Únegativer/   r-   )r   Zsubsr!   r   r€   )rˆ   r‰   rg   rŒ   r(   r|   r*   r*   r+   Útest_issue_5172¸  s"   *.ÿÿ
ÿ"ÿrŽ   c                   C   s<   t dttƒ tdƒdksJ ‚t tttƒ tdƒdksJ ‚d S rf   )r!   r	   r&   r*   r*   r*   r+   Útest_issue_4109È  s    r   c                   C   s6   t tdtt ƒ ƒtd  tdƒtdt ƒksJ ‚d S )Nr/   r   )r!   r   r   r&   r   r*   r*   r*   r+   Útest_issue_6682Í  s   6r   c                  C   s<   ddl m}  ttt  tdddt| dt  ƒ ksJ ‚d S )Nr   r~   ú-rs   r.   )Zsympy.functionsr"   r!   r&   r   r   r~   r*   r*   r+   Útest_issue_7096Ñ  s   0r’   N)Wr   r   r   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Z%sympy.functions.elementary.hyperbolicr   r   r   r   Zsympy.series.gruntzr   r   r   r    r!   r"   Zsympy.testing.pytestr#   r$   r%   r&   r(   r)   r,   r@   rB   rD   rF   rH   rI   rJ   rN   rP   rQ   rS   rW   r]   r_   ra   rb   rc   rd   re   rh   rl   rm   rn   ro   rp   rq   ru   rw   rx   rz   r}   r   r‚   r„   r…   r†   r‡   rŠ   r‹   rŽ   r   r   r’   r*   r*   r*   r+   Ú<module>   st   d  

8


 

	
