o
    *Î®c\>  ã                   @   s¢  d dl mZ d dlmZmZmZmZmZmZ d dl	m
Z
 d dlmZ d dlmZmZ d dlmZ d dlmZmZmZmZ d dlmZmZ d d	lmZmZmZ d d
lmZ d dl 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/m0Z0m1Z1 	 edddZ2edddZ3dZ4dd„ Z5e1dd„ ƒZ6dd„ Z7e1dd„ ƒZ8dd„ Z9e/dd„ ƒZ:d d!„ Z;e/d"d#„ ƒZ<d$d%„ Z=d&d'„ Z>d(d)„ Z?d*d+„ Z@d,d-„ ZAd.d/„ ZBd0d1„ ZCd2d3„ ZDd4d5„ ZEd6d7„ ZFd8d9„ ZGd:d;„ ZHd<d=„ ZId>d?„ ZJd@dA„ ZKdBdC„ ZLdDdE„ ZMdFdG„ ZNdHdI„ ZOdJdK„ ZPdLdM„ ZQdNdO„ ZRdPdQ„ ZSdRdS„ ZTe/dTdU„ ƒZUdVdW„ ZVdXdY„ ZWdZd[„ ZXd\d]„ ZYd^d_„ ZZd`da„ Z[dbdc„ Z\ddde„ Z]e/dfdg„ ƒZ^dhdi„ Z_djdk„ Z`dldm„ ZadnS )oé    )Ú
EulerGamma)ÚEÚIÚIntegerÚRationalÚooÚpi)ÚS)ÚSymbol)ÚexpÚlog)Úsqrt)ÚacotÚatanÚcosÚsin)ÚEiÚerf)ÚdigammaÚgammaÚloggamma)Úzeta)Úcancel)Ú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*   úE/tmp/pip-target-vg8gfxp4/lib/python/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_slow`   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_specialk   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_slow   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   sL   t tttttƒ ƒ ƒttƒ tt ƒ tttƒƒ t ttƒdks$J ‚d S )Nr.   )r!   r   r&   r   r   r*   r*   r*   r+   Útest_gruntz_Ei   s   LrI   c                   C   sH   t ttdƒd t ƒtttt ƒ ƒttƒ  ttƒtdƒ ks"J ‚d S )Nr/   r-   )r!   r   r   r&   r   r   r*   r*   r*   r+   Útest_gruntz_eval_special_fail‘   s
   0ÿÿrJ   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   $&$&rK   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    $ $$&,(.rO   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   rM   r/   rN   rL   r-   ©r   r   r&   r*   r*   r*   r+   Útest_compare2É   s   $&&( "4rQ   c                   C   s2   t tttƒƒtttttƒ ƒ ƒtƒdksJ ‚d S )NrM   rP   r*   r*   r*   r+   Útest_compare3Ö   s   2rR   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   rT   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
   ©rU   r*   r*   r+   Ú
test_sign2ê   s   rY   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ra   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rc   c                   C   s4   t ttttd  ƒ ƒtƒttd  ƒhksJ ‚d S )Nr/   rb   r*   r*   r*   r+   Ú
test_mrv2b  s   4rd   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   rb   r*   r*   r*   r+   Ú
test_mrv2c  s
   &ÿ"ÿre   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rf   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   )Úlnr*   r*   r+   Ú	test_mrv4(  s   Hÿÿ@ÿrh   c                 C   s   t | d | d ||ƒS ©Nr-   r   )r   )r]   r^   Úcr*   r*   r+   Úmrewrite0  r`   rk   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&   rk   r   r(   ©Úer*   r*   r+   Útest_rewrite14  s   $(, 8ro   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_   rk   r   r(   rm   r*   r*   r+   Útest_rewrite2?  s   0rp   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   rl   rm   r*   r*   r+   Útest_rewrite3G  s   &ÿÿ*ÿrq   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_leadterm1N  s   .*ÿÿrr   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_leadterm2U  s   4ÿrs   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 rZ   )r_   r   r&   r   r    r*   r*   r*   r+   Útest_mrv_leadterm3[  s   HBrt   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_limit1a  s    " rx   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   ru   rv   r-   r.   r/   é   )r!   r&   r   r   r*   r*   r*   r+   Útest_limit2p  s    ""*rz   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_limit3{  s
   $$$(r{   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_limit4ƒ  s   (0r}   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    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s8J ‚t| d ttƒ t ttƒ| t t ksNJ ‚d S )NrU   r0   )r
   r!   r   r&   r   r   rX   r*   r*   r+   Útest_gruntz_I‘  s
   $(0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 ri   )
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.   r|   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)ÚintegerrW   r-   r/   )r
   r&   r!   Úsimplify)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‹   TrV   rj   Úpr(   )Únegativer/   r-   )r
   Úsubsr!   r   rŠ   )rˆ   r‹   rj   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 ri   )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"   ú-rv   r.   )Úsympy.functionsr"   r!   r&   r   r   r”   r*   r*   r+   Útest_issue_7096Ù  s   0r—   N)bÚ
sympy.corer   Úsympy.core.numbersr   r   r   r   r   r   Úsympy.core.singletonr	   Úsympy.core.symbolr
   Ú&sympy.functions.elementary.exponentialr   r   Ú(sympy.functions.elementary.miscellaneousr   Ú(sympy.functions.elementary.trigonometricr   r   r   r   Ú'sympy.functions.special.error_functionsr   r   Ú'sympy.functions.special.gamma_functionsr   r   r   Ú&sympy.functions.special.zeta_functionsr   Úsympy.polys.polytoolsr   Ú%sympy.functions.elementary.hyperbolicr   r   r   r   Úsympy.series.gruntzr   r   r   r    r!   r"   Úsympy.testing.pytestr#   r$   r%   r&   r(   r)   r,   r@   rB   rD   rF   rH   rI   rJ   rK   rO   rQ   rR   rT   rY   r_   ra   rc   rd   re   rf   rh   rk   ro   rp   rq   rr   rs   rt   rx   rz   r{   r}   r€   r   r‚   r„   r…   r†   r‡   rŒ   r   r‘   r’   r“   r—   r*   r*   r*   r+   Ú<module>   sŠ      

8


 


