a
     ¬<b\>  ã                   @   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 )Nr%   )Úrunslowr$   © r*   r*   ún/Users/vegardjervell/Documents/master/model/venv/lib/python3.9/site-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sJ ‚t ttttt ƒ ƒddt   ƒtttƒƒ ttƒtu sÎJ ‚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 sJJ ‚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s8J ‚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s¨J ‚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shJ ‚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 sbJ ‚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sJ ‚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sHJ ‚t tttttƒ ƒ ƒttƒ tttƒƒ ttd ƒ ttƒdttƒ ks–J ‚t tttƒƒttdt tttƒ ƒ ƒƒttdt ƒƒ  ttƒdksàJ ‚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sHJ ‚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sLJ ‚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ÿ
ÿ:ÿÿ444"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 sXJ ‚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   r	   rC   r   r   r*   r*   r*   r+   Útest_gruntz_eval_special_slow   s    (ÿÿÿrF   c                   C   sH   t ƒ  tttttt ƒ ƒtdt ƒ ƒtttƒƒ ttƒtu sDJ ‚d S ©Nr-   )r,   r!   r   r   r&   r   r*   r*   r*   r+   Ú,test_grunts_eval_special_slow_sometimes_fail†   s    rH   c                   C   sL   t tttttƒ ƒ ƒttƒ tt ƒ tttƒƒ t ttƒdksHJ ‚d S )Nr.   )r!   r   r&   r   r   r*   r*   r*   r+   Útest_gruntz_Ei   s    rI   c                   C   sH   t ttdƒd 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*   r+   Útest_gruntz_eval_special_fail‘   s
    0ÿÿrJ   c                   C   sj  t ttƒttƒtu sJ ‚t ttƒtt ƒtu s2J ‚t ttƒttƒtu sJJ ‚t ttƒtt ƒt u sfJ ‚t dttƒ ttƒ ttƒtu sŠJ ‚t dttƒ ttƒ tt ƒdks°J ‚t dttƒ ttƒ ttƒtu sÔJ ‚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s0J ‚t ttƒttƒdksJJ ‚t ttƒtt ƒdksfJ ‚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sLJ ‚t ttd ƒtttƒƒtƒdkspJ ‚t dtttƒƒtƒdksŒJ ‚t tdtƒdks J ‚t ttƒttƒdks¸J ‚t ttd ƒttƒtƒdksØJ ‚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s0J ‚t ddtƒdksFJ ‚t ddtƒdks\J ‚t ttd tƒdksvJ ‚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s0J ‚t tdt ƒttƒd tƒdksVJ ‚t ttƒd tttt ƒ ƒtƒdks‚J ‚t ttƒtttt ƒ ƒtƒdksªJ ‚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   sd  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sfJ ‚t tttt ƒ ƒttƒtƒdksŒJ ‚t t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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    $&&("$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    rR   c                   C   s<  t tdƒtƒdksJ ‚t tdƒtƒdks,J ‚t tdƒtƒdksBJ ‚t ttƒtƒdksXJ ‚t tt ƒtƒdkspJ ‚t ttƒtƒdks†J ‚t ttƒ tƒdksžJ ‚t ddt  tƒdks¸J ‚t ddt  tƒdksÒJ ‚t tdt ƒtƒdksìJ ‚t ttdƒ tƒdksJ ‚t td tƒdks J ‚t td tƒdks8J ‚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sDJ ‚t |  tƒdksXJ ‚t | t tƒdksnJ ‚t |  t tƒdks†J ‚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ô   s    r_   c                   C   s  t ttƒthksJ ‚t tdt  tƒthks0J ‚t td tƒthksHJ ‚t ttƒtƒthks`J ‚t ttƒtƒttƒhks|J ‚t tt ƒtƒtt ƒhksœJ ‚t ttd ƒtƒttd ƒhksÀJ ‚t tdt ƒ tƒthksÞJ ‚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     $r`   c                   C   s˜   t tttttƒ ƒ ƒtƒtttƒ ƒhks0J ‚t tttt ƒ ƒtƒtttt ƒ ƒtt ƒhkshJ ‚t tdt tt ƒ ƒtƒtt ƒhks”J ‚d S rG   ©r_   r   r&   r*   r*   r*   r+   Ú
test_mrv2a  s    08rb   c                   C   s4   t ttttd  ƒ ƒtƒttd  ƒhks0J ‚d S )Nr/   ra   r*   r*   r*   r+   Ú
test_mrv2b  s    rc   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sTJ ‚d S rA   ra   r*   r*   r*   r+   Ú
test_mrv2c  s
    &ÿ"ÿrd   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s†J ‚t ttd dttdtd  ttƒ ƒƒ  ƒtƒttdtd  ttƒ ƒƒhksÚJ ‚t ttttƒ ƒttƒ tƒthksJ ‚t tdt tt ƒ ƒtdt ƒ ttƒ tƒttƒtt ƒhksLJ ‚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    @*ÿÿ&ÿÿÿ**ÿÿ
 ÿ ÿ
>re   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s´J ‚d S rG   )r   r_   r&   r   )Úlnr*   r*   r+   Ú	test_mrv4(  s    Hÿÿ@ÿrg   c                 C   s   t | d | d ||ƒS ©Nr-   r   )r   )r]   r^   Úcr*   r*   r+   Úmrewrite0  s    rj   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s`J ‚t tdt  ƒ} tt| tƒttƒdt t dt  fksœJ ‚dt t t t ƒ ƒ t tƒ } tt| tƒttƒdtt tƒ  dt  t fksðJ ‚d S rA   ©r   r&   rj   r   r(   ©Úer*   r*   r+   Útest_rewrite14  s    $(, rn   c                  C   s`   t tƒttt tƒƒƒ } t| tƒt tƒhks0J ‚tt| tƒttƒdt ttƒ t fks\J ‚d S rG   )r   r&   r   r_   rj   r   r(   rl   r*   r*   r+   Útest_rewrite2?  s    ro   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 sšJ ‚d S )Nr-   r/   r.   r1   rk   rl   r*   r*   r+   Útest_rewrite3G  s    &ÿÿ*ÿrp   c                   C   s”   t tdt ƒ tƒdksJ ‚t dtt tt ƒ ƒ ttƒ tƒdksJJ ‚t tdt tt ƒ ƒtdt ƒ ttƒ tƒtdt ƒ dfksJ ‚d S )Nr-   )r.   r   r   )r    r   r&   r*   r*   r*   r+   Útest_mrv_leadterm1N  s    .*ÿÿrq   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ÿrr   c                   C   sŠ   t tt tt ƒtt ttƒ ƒ  ƒtƒtt tttƒ  ƒhksHJ ‚ttt tt ƒtt ttƒ ƒ  ƒtƒtt ƒdfks†J ‚d S rZ   )r_   r   r&   r   r    r*   r*   r*   r+   Útest_mrv_leadterm3[  s    Hrs   c                   C   sJ  t tttƒtu sJ ‚t ttt ƒt u s,J ‚t t ttƒt u sDJ ‚t td tt ƒtu s^J ‚t td  ttƒt u szJ ‚t tttƒ tddddksšJ ‚t dt ttƒdk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ƒtu sJ ‚t dt tt ƒ ttƒdks(J ‚t tdt  ttƒtu sFJ ‚d S )Nr/   r   ú+©Údirr-   )r!   r&   r   r   r   r*   r*   r*   r+   Útest_limit1a  s     $rw   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sXJ ‚t tdt ƒ ttƒdksvJ ‚t ttt ƒ ttƒtu s”J ‚t tttd  ƒ ttƒtu s¶J ‚t ttttƒ ƒ ttƒtu sØJ ‚t ddt  tt ƒ ttƒdksþJ ‚d S )Nr   rt   ru   r-   r.   r/   é   )r!   r&   r   r   r*   r*   r*   r+   Útest_limit2p  s     ""ry   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sPJ ‚tttƒdttƒ  ttƒdkstJ ‚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*   r+   Útest_limit3{  s
    $$$rz   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sTJ ‚d S )Nr0   r2   r-   r   ©r!   r&   r   r*   r*   r*   r+   Útest_limit4ƒ  s    (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s–J ‚d S rA   )r   r&   r_   )ÚhÚexprr*   r*   r+   Útest_MrvTestCase_page47_ex3_21Š  s    @r   c                  C   s    t dƒ} ttt ttƒtt ks$J ‚t| t t ttƒ| t t ksHJ ‚t| d t t ttƒ| t t kspJ ‚t| d ttƒ t ttƒ| t t ksœJ ‚d S )NrU   r0   )r
   r!   r   r&   r   r   rX   r*   r*   r+   Útest_gruntz_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™  s    r   c                   C   s  t dttƒ ttƒdksJ ‚t dttƒ ttƒdks8J ‚t ttƒttƒ ttƒtu sXJ ‚t tttƒƒttƒ ttƒtu s|J ‚t ttƒtdƒdks”J ‚t ttddƒdt  ƒttƒttddƒƒksÄJ ‚t ttt ƒtttƒƒ ttƒdksìJ ‚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 sZJ ‚d S rh   )
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®  s    r„   c                   C   s<   t td t d dt td   dt  ttƒdks8J ‚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sZJ ‚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sÌJ ‚t| ||¡| tƒ ¡ d	|d
  | d
 |d
 |d
   ksJ ‚d S )Nr†   r‰   TrV   ri   Úpr(   )Únegativer/   r-   )r
   Úsubsr!   r   rˆ   )r†   r‰   ri   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s8J ‚d S rh   )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s2J ‚d S )Nr/   r   )r!   r   r   r&   r   r*   r*   r*   r+   Útest_issue_6682Õ  s    r‘   c                  C   s<   ddl m}  ttt  tdddt| dt  ƒ ks8J ‚d S )Nr   ©r"   ú-ru   r.   )Zsympy.functionsr"   r!   r&   r   r   r’   r*   r*   r+   Útest_issue_7096Ù  s    r”   N)bZ
sympy.corer   Zsympy.core.numbersr   r   r   r   r   r   Zsympy.core.singletonr	   Zsympy.core.symbolr
   Z&sympy.functions.elementary.exponentialr   r   Z(sympy.functions.elementary.miscellaneousr   Z(sympy.functions.elementary.trigonometricr   r   r   r   Z'sympy.functions.special.error_functionsr   r   Z'sympy.functions.special.gamma_functionsr   r   r   Z&sympy.functions.special.zeta_functionsr   Zsympy.polys.polytoolsr   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   rK   rO   rQ   rR   rT   rY   r_   r`   rb   rc   rd   re   rg   rj   rn   ro   rp   rq   rr   rs   rw   ry   rz   r|   r   r€   r   r‚   rƒ   r„   r…   rŠ   r‹   r   r   r‘   r”   r*   r*   r*   r+   Ú<module>   s†     
8


 


