a
    kº”h%t  ã                   @   sP  d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZmZ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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( d dl)m*Z* d dl+m,Z,m-Z-m.Z. d dl/m0Z0 d dl1m2Z2 d dl3m4Z4 d dl5m6Z6 d dl7m8Z8 d dl m9Z9 d dl:m;Z;m<Z<m=Z= d dl>m?Z? d dlm@Z@ d dlAmBZBmCZCmDZD eDdd„ ƒZEeDdd„ ƒZFeDdd„ ƒZGeDdd „ ƒZHeDd!d"„ ƒZIeDd#d$„ ƒZJeDd%d&„ ƒZKd'd(„ ZLd)d*„ ZMeDd+d,„ ƒZNeDd-d.„ ƒZOeDd/d0„ ƒZPeDd1d2„ ƒZQd3d4„ ZRd5d6„ ZSd7d8„ ZTd9d:„ ZUd;d<„ ZVd=d>„ ZWd?d@„ ZXdAdB„ ZYeDdCdD„ ƒZZeDdEdF„ ƒZ[dGdH„ Z\dIdJ„ Z]dKdL„ Z^dMdN„ Z_dOdP„ Z`dQdR„ ZadSdT„ ZbdUdV„ ZcdWdX„ ZdeCdYdZ„ ƒZed[d\„ Zfd]d^„ ZgeDd_d`„ ƒZhdadb„ Zidcdd„ Zjdedf„ Zkdgdh„ ZleDdidj„ ƒZmeDdkdl„ ƒZndmdn„ Zododp„ ZpeCdqdr„ ƒZqdsdt„ Zrdudv„ Zsdwdx„ Ztdydz„ Zud{S )|é    )Úrefine)ÚAccumBounds)ÚProduct)ÚSum)Ú
expand_log)ÚEÚFloatÚIÚRationalÚnanÚooÚpiÚzoo)ÚPow)ÚS)ÚSymbolÚsymbols)ÚadjointÚ	conjugateÚreÚsignÚ	transpose)ÚLambertWÚexpÚ	exp_polarÚlog)ÚcoshÚsinhÚtanh)Úsqrt)ÚcosÚsinÚtan)ÚMatrixSymbol)Úgcd)ÚO)Úsimplify)Úglobal_parameters)Úmatch_real_imag©ÚxÚyÚz)Ú	unchanged)ÚArgumentIndexError)ÚraisesÚXFAILÚ_both_exp_powc                  C   sP  t jrtttƒƒtu s0J ‚ntttƒƒtu s0J ‚tddd} ttƒtu sLJ ‚ttƒtu s\J ‚tt ƒdksnJ ‚tdƒdks~J ‚tdƒt	ksŽJ ‚tdt ƒ 
¡ tjtd fks°J ‚tdt ƒ 
¡ tjtd fksÒJ ‚ttt d ƒtksêJ ‚ttt ƒdksþJ ‚ttt tddƒ ƒt ks J ‚tdt t ƒdks:J ‚tttt d |  ƒƒdks\J ‚tttt d | tj  ƒƒdks„J ‚tttt d | tdd	ƒ  ƒƒtks°J ‚tttt d | tdd	ƒ  ƒƒt ksÞJ ‚tttƒƒtksôJ ‚tdttƒ ƒtd ksJ ‚ttttƒ ƒtt ks0J ‚td
ttƒ t	ttƒ  ƒtd
 tt	  ksbJ ‚ttttƒ ƒtt ks€J ‚tttƒttƒ ƒtksžJ ‚tdttƒ tt  ƒttt ƒtd  ksÐJ ‚td	ttƒ ttƒ dttƒ  ƒtd td	ttƒ ttƒ ƒ ksJ ‚tt ddjdu s4J ‚ttddjdu sLJ ‚d S )NÚkT©Úintegerr   é   éÿÿÿÿé   é   é   é   F©Úevaluate)r'   Ú
exp_is_powÚtyper   r*   r   r   r   r   r   Úas_base_expr   ÚExp1r   r	   r
   r   ÚHalfr   r+   r!   Ú	is_finite)r2   © rC   ú_/var/www/auris/lib/python3.9/site-packages/sympy/functions/elementary/tests/test_exponential.pyÚtest_exp_values   s:    """"(,.22JrE   c                  C   sP  t tt tddƒ ƒt tt d ƒks*J ‚t tt tddƒ ƒt tt tddƒ ƒksZJ ‚t tt tddƒ ƒt tt tddƒ ƒksŠJ ‚t tt td	d
ƒ ƒt t t d
 ƒks¶J ‚t tt tddƒ ƒt tt tddƒ ƒ dksêJ ‚t tt tdd
ƒ ƒt tt tddƒ ƒ t tt tddƒ ƒ dks6J ‚t dtt tddƒ  ƒt dtt td
dƒ  ƒkspJ ‚t td
ƒtt tddƒ  ƒd
t tt tddƒ ƒ ks®J ‚tddd} tddd}t |t t ƒdksàJ ‚t |d t t ƒdksþJ ‚t dd|   t t d ƒtks$J ‚t dd|   t t d ƒt ksLJ ‚d S )Né	   r9   é.   é   é   é   é   éýÿÿÿiíÿÿÿr8   é%   é   iõÿÿÿr   éûÿÿÿé   é”   é   r5   r7   r:   é   iùÿÿÿÚnTr3   Úe)Zevenr6   )r   r	   r   r
   r   r   )rT   rU   rC   rC   rD   Útest_exp_periodH   s    *00,4L:>&rV   c                  C   sš   t ddd} tt| ƒƒ| ks J ‚tt| ƒƒ| ks4J ‚tjsbt| ƒ ¡ tksNJ ‚t| ƒ ¡ tksbJ ‚t ddd}tttƒƒtks‚J ‚tt|ƒƒ|ks–J ‚d S )Nr*   T©Úrealr+   ©Zpolar)r   r   r   r'   r=   Zinverser   r,   ©r*   r+   rC   rC   rD   Útest_exp_log\   s    r[   c                  C   s€   t ttdƒƒdt  ttdƒƒt  ƒ} |  ¡ dks8J ‚t tt ƒt tƒt tƒ ksXJ ‚t tt ƒ ¡ t tƒt tƒ ks|J ‚d S ©Nr7   r5   )r   r   r
   r*   Úexpandr+   ©rU   rC   rC   rD   Útest_exp_expandk   s    ( r_   c                   C   sê   t tƒ ¡ ttfksJ ‚t dt ƒ ¡ tdt fks8J ‚t tt ƒ ¡ ttt fksXJ ‚t t ƒ ¡ tt fkstJ ‚tt t tƒksˆJ ‚tdt  t dt ƒks¤J ‚ttt  t tt ƒksÀJ ‚t tƒjtju sÔJ ‚t tƒj tksæJ ‚d S ©Nr7   )r   r*   r?   r   r+   Úbaser   r@   rC   rC   rC   rD   Útest_exp__as_base_exps   s      rb   c                  C   s’   t tt ƒtksJ ‚tt tt ƒƒtu s,J ‚tt t t ƒƒtu sFJ ‚t tt t ƒtks^J ‚t tƒtu snJ ‚tdddd} t | ƒjd u sŽJ ‚d S )Nr*   TF)Zextended_realZfinite)	r   r	   r+   r   r   r   r   r   Z
is_complex©r*   rC   rC   rD   Útest_exp_infinityƒ   s    rd   c                  C   s2  t dƒ} tdt| ƒ dd}| | d td ¡|ks8J ‚| | d d¡|ksPJ ‚| d  | d t¡ttddƒ ksvJ ‚tt| ƒt| d ƒ ƒ tt| ƒƒt¡ttt| d ƒƒ ks¶J ‚t| ƒ tt¡t|  ksÒJ ‚tddd} td|  ƒ td	|  ƒt¡ttdd	ƒ ksJ ‚td|  d	 ƒ td|  ƒt¡ttddƒ td	ƒ ksJJ ‚tddd
} tdt| ƒ ƒ | d t¡ttddƒ ks†J ‚tt| t ƒƒ td¡dd| t   ks´J ‚tt| t ƒƒ tt¡tt| t ƒƒksâJ ‚tt| t ƒƒ td¡dd| d   ksJ ‚tdƒ tt¡tdƒks.J ‚d S )Nr*   r8   Fr;   r7   rI   TrW   rK   ©Úpositive)	r   r   r   Úsubsr+   r
   r   r   r!   )r*   rU   rC   rC   rD   Útest_exp_subsŽ   s     &@0<0...rh   c                  C   s,   t ddd} tt| ƒƒtt| ƒƒks(J ‚d S )Nr*   F©Zcommutative)r   r   r   rc   rC   rC   rD   Útest_exp_adjoint£   s    rj   c                   C   s    t ttƒƒtt tƒƒksJ ‚d S ©N)r   r   r*   rC   rC   rC   rD   Útest_exp_conjugate¨   s    rl   c                   C   s    t ttƒƒtt tƒƒksJ ‚d S rk   )r   r   r*   rC   rC   rC   rD   Útest_exp_transpose¬   s    rm   c                  C   sØ  t tƒ t¡ttƒttƒ ks"J ‚t tt ƒ t¡ttƒtttƒ  ksLJ ‚t dƒ t¡tdƒtdƒ ksnJ ‚t dƒ t¡tdƒtdƒ ksJ ‚t dƒ t¡tdƒtdƒ ks²J ‚t tƒ t¡dttd ƒ dttd ƒ  ksäJ ‚t t	t d ƒ t
¡t
dƒd t
dƒt d  ksJ ‚t t	t d ƒ t
¡tjt
dƒt d  ksNJ ‚tjsÞt tttƒ ƒ t¡tt kszJ ‚t ttƒttƒ ƒ t¡tttƒ tttƒ fv s²J ‚t tttƒƒt ƒ t¡ttƒt ksÞJ ‚tddd} tt t	t d ƒd |  | dtfƒ t
¡ ¡ tdd	ƒtd d	  ks4J ‚tt t	t d ƒd |  | dtfƒ t
¡ ¡ ddt
dƒdt  d   ks„J ‚tt t	t d ƒd |  | dtfƒ t
¡ ¡  ¡ dt t
dƒdt   ksÔJ ‚d S )
Nr5   r7   r9   r8   rT   Tr3   r   rI   )r   r*   Úrewriter!   r   r   r	   r    r   r   r   r   rA   r'   r=   r   r+   r   r   r   r   Zdoitr
   Úcancel©rT   rC   rC   rD   Útest_exp_rewrite±   s$    "*"""282$8,JP0ÿrq   c                   C   sb   t tƒ t¡dksJ ‚t dt ƒ t¡t dƒks4J ‚t dt d td  ƒ t¡t dƒks^J ‚d S )Nr5   r7   r8   )r   r*   Úas_leading_termrC   rC   rC   rD   Útest_exp_leading_termÈ   s    rs   c                  C   s~   t dƒ} t| ƒ d| ¡| ks J ‚t| ƒ d| ¡| d d ks@J ‚t| ƒ d| ¡| d d ks`J ‚t| ƒ d| ¡tju szJ ‚d S )Nr*   r5   r8   é   r9   é   r6   )r   r   Útaylor_termr   ÚZerorc   rC   rC   rD   Útest_exp_taylor_termÖ   s
      rx   c                  C   s"   t dddƒ} t| ƒ t¡sJ ‚d S )NÚAr7   )r#   r   Zhas)ry   rC   rC   rD   Útest_exp_MatrixSymbolß   s    rz   c                      s   t dƒ‰ tt‡ fdd„ƒ d S )Nr*   c                      s   t ˆ ƒ d¡S r`   )r   ÚfdiffrC   rc   rC   rD   Ú<lambda>æ   ó    z test_exp_fdiff.<locals>.<lambda>©r   r/   r.   rC   rC   rc   rD   Útest_exp_fdiffä   s    r   c                   C   sT  t tƒtu sJ ‚t tƒtu s J ‚t t ƒtu s2J ‚t tƒtu sBJ ‚t t ƒtu sTJ ‚t dƒtu sdJ ‚t dƒdkstJ ‚t dƒtt ksˆJ ‚t tƒdks˜J ‚t t ƒ ¡ dtt  ks¶J ‚tt tƒsÄJ ‚t t ƒ ¡ t tƒtt  ksæJ ‚tt dƒsôJ ‚t dƒt dƒtt  ksJ ‚t tƒtt d ks,J ‚t t ƒt t d ksJJ ‚t dt ƒtt d t dƒ kspJ ‚t dt ƒ ¡ t t d t dƒ ksœJ ‚t tt ƒtu s²J ‚t t t ƒtu sÊJ ‚t ddƒtu sÞJ ‚t ddƒtu sòJ ‚t	t dƒ ƒd dksJ ‚t t
jƒt dƒ ks(J ‚t d	ƒjt u s<J ‚t d
ƒjt u sPJ ‚d S )Nr   r5   r6   r:   iïÿÿÿr7   rI   r8   rt   rH   )r   r   r   r   r	   r   r   r]   r-   r   r   rA   ÚfuncrC   rC   rC   rD   Útest_log_valuesé   s4    "&,r   c                  C   sB  t ddd\} }tddd}ttjƒdks.J ‚ttƒdks>J ‚tdd	t  ƒd
ksVJ ‚ttdƒ tjt  ƒtdƒ tjfks‚J ‚t| |t  ƒ| |fksžJ ‚t| t |t  ƒd| | fksÂJ ‚t| | t ƒd| | fksâJ ‚ttddƒ| t ƒdksJ ‚tdd|  ƒdksJ ‚ttdƒdd	t   ƒdks>J ‚d S )Núx,yTrW   Úi©Z	imaginary)r5   r   )r   r5   r8   rI   )r8   rO   r   éþÿÿÿ)NNr5   r7   )	r   r   r(   r   ZOner	   r   rA   r
   )r*   r+   rƒ   rC   rC   rD   Útest_match_real_imag  s    ,$  r†   c                  C   s²  t ddƒD ]†} t| dƒdkrNtt| t t d ƒ t¡ƒ| t t d ksNJ ‚t ddƒD ]6} tt| t t d ƒ t¡ƒ| t t d ksXJ ‚qXq
ttj	ttdƒ d  ƒt t d ks¾J ‚tt
ddƒttdƒ d  ƒtt t
ddƒ ksòJ ‚ttdƒ d ttdƒ d  ƒt t t
dd	ƒ ks.J ‚ttdƒ d ttj	  ƒt t t
d
dƒ ksdJ ‚tt
dd	ƒtd
ƒd	  tttd
ƒd t
d
dƒ ƒ  ƒt t t
dd
ƒ ks¶J ‚ttt
d
dƒtd
ƒd  ƒtt
dd	ƒtd
ƒd	    ƒtt t
ddƒ ksJ ‚tttdƒd	 tj	 ƒ tttj	tdƒd	  ƒ  ƒtt t
ddƒ ksTJ ‚ttdƒ d	 tdƒd	  ttdƒ d	 tdƒd	    ƒt t t
ddƒ ksªJ ‚tdttdƒ  ƒtdƒtt t
ddƒ  ksÞJ ‚td
d
t  ƒtd
tdƒ ƒtt d	  ksJ ‚ttdƒƒtdtdƒ ƒtt d  ks>J ‚ttdƒ tdƒ ttdƒ  ttdƒ  ƒtd	ƒtt t
ddƒ  ksŒJ ‚ttddtdƒ  ƒ ttddtdƒ  ƒ  ƒtdtdƒ ƒtt t
d
dƒ  ksæJ ‚tdttdtdƒ ƒ tdtdƒ ƒ  ƒtdttdƒd ƒ ƒtt d  ks<J ‚tttt
ddƒ ƒtttt
ddƒ ƒ  ƒtt t
ddƒ ks€J ‚tttt
dd
ƒ ƒtttt
dd
ƒ ƒ  ƒtt t
dd
ƒ ksÄJ ‚td
dt  tdƒ ƒtd
ƒtt d	  ksöJ ‚ttdƒtdƒ d tdƒt  t  ƒtd	ƒtt t
ddƒ  ks@J ‚ttdƒ dttdƒ   ƒtdtdƒ ƒtt t
ddƒ  ks†J ‚ttdƒt tddtdƒ  ƒ ttdtdƒ d ƒ   ƒtdƒtt d  ksÞJ ‚dtdƒ d d dtdƒ  }t|ttdƒ  ƒttdƒƒtt d  ks0J ‚tt|t|  ƒs^t||t  ƒtu s^J ‚tttdƒdttdƒt ƒ  d ƒsŠJ ‚tttdtd
ƒ ƒdt  ƒs®J ‚d S )Niéÿÿÿru   r5   i÷ÿÿÿé
   r8   r7   r6   r9   rI   rt   rN   rK   rP   é   iôÿÿÿéüÿÿÿiè  )Úranger$   r   r   r	   r   rn   r   r   rA   r
   r    r!   r-   r   )rT   ÚzerorC   rC   rD   Útest_log_exact!  s<    26,4<6RPNV42.NZVDD2JFX 2.,rŒ   c                   C   s’  t ddƒdksJ ‚t ddƒdks$J ‚t ddƒt dƒt dƒ ksBJ ‚t ddƒdt dƒt dƒ  ksdJ ‚t ddƒdt dƒt dƒ  ks†J ‚t ddƒdks˜J ‚t ddƒdksªJ ‚t ddƒtu s¼J ‚t ddƒtu sÎJ ‚t tddƒd	ƒt tddƒƒt d	ƒ ksøJ ‚t tddƒtddƒƒt dƒ t dƒ d ks*J ‚t tddƒtddƒƒt tddƒƒt tddƒƒ ksbJ ‚t tddƒdƒt dƒ t dƒ d ksŽJ ‚d S )
Nr5   r7   r   r8   rt   rN   é   rI   r‡   )r   r   r   r
   rC   rC   rC   rD   Útest_log_baseK  s    ""*2ÿ
rŽ   c                  C   s  t ttdƒƒt tƒksJ ‚t ttƒƒtks.J ‚t ttdƒƒt tƒksHJ ‚t tt ƒt tƒt tƒ kshJ ‚t tt ƒ ¡ t tƒt tƒ ksŒJ ‚t tt ƒjddt tƒt tƒ ks´J ‚t tt ƒ ¡ tt tƒ ksÔJ ‚t tt ƒjddtt tƒ ksøJ ‚t tdƒt tƒt dƒ ksJ ‚t tdƒdt dƒ ks4J ‚tddd\} }tddd}t | d ƒdt | ƒ ksnJ ‚t | d ƒ ¡ dt | ƒ ksJ ‚t td ƒ ¡ dt tƒ ks²J ‚t | | ƒ|t | ƒ ksÐJ ‚t t| ƒƒ| ksæJ ‚t | | ƒt | ƒt |ƒ ksJ ‚t | | ƒ ¡ t | ƒt |ƒ ks.J ‚t td	ƒ ƒt td	ƒƒt	t
  ksVJ ‚t t| ƒ ƒ| t	t
  ksvJ ‚t ttƒ ƒ ¡ tt	t
  ksšJ ‚t t|ƒ ƒ ¡ |t	t
  ks¾J ‚t tt ƒtt tƒ ksÜJ ‚t td
 ƒd  ¡ dt tƒ d ksJ ‚t | d
 ƒd  ¡ dt | ƒ d ks0J ‚t t ƒjt u rZt t ƒjd t ks^J ‚t |  ƒjt u rˆt |  ƒjd |  ksŒJ ‚d S )Nr5   T©Úforcer7   zp,qre   ÚrrW   r8   rO   r6   rI   r   )r   r*   r   r+   r]   r   r   r   r   r	   r   r€   Úargs)ÚpÚqr‘   rC   rC   rD   Útest_log_symbolic]  s8     $( $ """&( $$**.r•   c                   C   sÈ   t tdt t ƒƒdksJ ‚t tdt t ƒƒtt ks<J ‚t ttt tddƒ ƒƒtt tddƒ kslJ ‚t ttt tddƒ ƒƒtt tddƒ ksœJ ‚t tdt ƒƒdt d	t t  ksÄJ ‚d S )
Nr9   r   rO   é   r8   rJ   rK   rL   r7   )r   r   r	   r   r
   rC   rC   rC   rD   Útest_log_expƒ  s
     00r—   c                  C   s:  t ddd} t ddd}ttfD ]œ}|tƒjd u s6J ‚|tƒjd u sHJ ‚||ƒjd u sZJ ‚||ƒjd u slJ ‚|| ƒjdu s~J ‚|| ƒjdu sJ ‚|ttƒƒjdu s¦J ‚|ttƒƒjdu s J ‚q tt	t
t ddjdksÚJ ‚tt	dt
 t ddjdksúJ ‚tt	t
t d ddjdksJ ‚tt	t
t d	 ddjd u s>J ‚td
ddjsRJ ‚t ddd}t dddd}t ddd} t dddd}t|ƒjd u sšJ ‚t|ƒjdu s®J ‚tt|  ƒjd u sÆJ ‚tt| ƒjdu sÞJ ‚td
ddjdu söJ ‚tt
t d	 ddjdu sJ ‚tt
t |  ddjdu s6J ‚d S )Nr‘   TrW   rƒ   r„   Fr;   r7   r8   r   Úa)Ú	algebraicÚan)r™   Únonzero)ÚrationalÚrn)rœ   r›   )r   r   r   r*   Úis_realZis_imaginaryr   Zis_extended_realr   r   r	   r   Úis_algebraic)r‘   rƒ   rU   r˜   rš   r   rC   rC   rD   Útest_exp_assumptions‹  s6     "" r    c                   C   s$   t tddƒƒtttd ƒks J ‚d S )Nr5   r7   )r   r   r   rC   rC   rC   rD   Útest_exp_AccumBounds®  s    r¡   c                  C   s  t ddd} t ddd}t ddd}t dddd	}t|ƒjd
u sDJ ‚t|ƒjdu sVJ ‚tdƒdksfJ ‚tdd
djsxJ ‚td| ƒjsŠJ ‚t| ƒjd u sœJ ‚t|ƒjd
u s®J ‚tdƒjdu sÀJ ‚tt| ƒd ƒjsÖJ ‚tdd
djsèJ ‚tdd
djd
u sþJ ‚td| ƒjsJ ‚d S )Nr“   Tre   rT   ©Únegativer,   )r‹   r*   )ZinfiniteZextended_positiveFr7   r   r5   r;   g      à?é*   )	r   r   Úis_positiveZis_extended_positiveÚis_zeroZis_negativer   rŸ   Úis_rational)r“   rT   r,   r*   rC   rC   rD   Útest_log_assumptions³  s     r¨   c                  C   sü   t ttt ƒƒksJ ‚tt ƒtttt ƒƒƒks0J ‚tt ƒtttt ƒƒƒksLJ ‚dttt ƒttt ƒƒ ƒ } | jjtu sxJ ‚dttt ƒtttt ƒƒƒ ƒ } | jjtu s¨J ‚ttt ƒƒ} | jtu sÂJ ‚t jtusÐJ ‚tttt ƒƒƒtt ƒksìJ ‚| t ksøJ ‚d S )Nr5   )r*   r   Úhashra   r€   r^   rC   rC   rD   Útest_log_hashingÉ  s     rª   c                   C   s   t tdƒƒdksJ ‚d S r\   )r   r   rC   rC   rC   rD   Útest_log_signÚ  s    r«   c                   C   sh   t dt ƒjddt dƒd tt d  ks0J ‚t dtdƒ ƒjddt tdƒd ƒtt  ksdJ ‚d S )Nr5   T)Úcomplexr7   r9   )r   r	   r]   r   r   rC   rC   rC   rD   Útest_log_expand_complexÞ  s    0r­   c                  C   s.   t dƒt dƒ d  ¡ } |  tdƒ¡s*J ‚d S )Nr8   r7   r5   z0.58496250072115618145373)r   ÚevalfÚ
epsilon_eqr   )ÚvaluerC   rC   rD   Útest_log_apply_evalfã  s    r±   c                  C   s¾  t dƒ} tdt td  ƒjtddtks.J ‚tdt ƒjtddttƒtdƒ ksXJ ‚tdt ƒjtddttƒtdƒ ks‚J ‚tdt ƒjtd| d| tdƒ tt  ks²J ‚tdt ƒjtd| d| tdƒ tt  ksâJ ‚tdt dt td   ƒjtddttƒtdƒ tt  ks&J ‚tdt dt td   ƒjtddttƒtdƒ tt  ksjJ ‚tdt dt td   ƒjtddttƒtdƒ ks¦J ‚tdt dt td   ƒjtddttƒtdƒ dt t  ksîJ ‚tdt ttd   ttd   ƒjtddt t ks,J ‚tdt ttd   ttd   ƒjtddt t ksjJ ‚tddt  ƒjtddtt ks’J ‚tddt  ƒjtddtt ksºJ ‚d S )	Nr“   r5   r7   )Úcdirr6   r…   )r²   Úlogxr8   )r   r   r*   rr   r	   r   ©r“   rC   rC   rD   Útest_log_leading_termè  s    &**00DD<H>>(rµ   c                  C   sz  t dƒ} tdt ƒjtd|  dd| ks,J ‚tdt ƒjtd|  dd| dt t  ks\J ‚ttd ƒ tdd t¡tt t td d  td d  ttd ƒ ks¨J ‚ttd ƒ tdd t ¡t t t td d  td d  ttd ƒ ksøJ ‚ttt ttd   d ƒ tdd d¡tt tt  td d  ttd ƒ ksNJ ‚ttt ttd   d ƒ tdd d¡t t tt  td d  ttd ƒ ks¦J ‚tttd  ttd   d ƒ tdd d¡tt ttd   ttd ƒ ksøJ ‚tttd  ttd   d ƒ tdd d¡tt ttd   ttd ƒ ksJJ ‚tdt dt td   ƒ tdd d¡tdƒttƒ ttdƒd td    td ddt d    ttd ƒ ksÄJ ‚tdt dt td   ƒ tdd d¡dt t tdƒ ttƒ ttdƒ d td    td ddt d    ttd ƒ ksLJ ‚tdt dt td   ƒ tdd d¡t t tdƒ ttƒ ttdƒ d td    td ddt d    ttd ƒ ksÒJ ‚tdt dt td   ƒ tdd d¡t t tdƒ ttƒ ttdƒd td    td ddt d    ttd ƒ ksVJ ‚ttt td  d ƒtt td  d ƒ d ƒ tdd d¡t t ttdƒd ƒ dtdƒ t td  dtdƒ d	   ttd ƒ ksêJ ‚tddt  ƒ tdd d¡tt t td d  ttd ƒ ks0J ‚tddt  ƒ tdd d¡tt t td d  ttd ƒ ksvJ ‚d S )
Nr“   r5   r9   )r³   r²   r6   r7   r8   r…   rt   )	r   r   r*   Z_eval_nseriesr	   r   r%   r   r   r´   rC   rC   rD   Útest_log_nseriesý  s`    $0LPVXRR4ÿÿ
ÿ8ÿÿÿ
ÿ>ÿÿ
ÿ>ÿÿ
ÿFÿ&ÿ
ÿFr¶   c                  C   sÒ  t dt ƒ} t tttd d ƒ ƒ}| jttt ddddtd   ddtd    dt  tt d  t tt ƒ ttd ttt fƒ ks’J ‚| jtt t ddddtd   ddtd    dt  tt d  t t t ƒ ttd tt t fƒ ksJ ‚|jttt ddddtd   tt d  t dƒ t tt ƒ ttd ttt fƒ kshJ ‚|jtt t ddddtd   tt d  t dƒ t t t ƒ ttd tt t fƒ ksÎJ ‚d S )Nr5   r7   r9   )Zx0rT   r8   r‰   r6   )r   r*   r   Zseriesr	   r   r   r%   )Úexpr1Zexpr2rC   rC   rD   Útest_log_series  s4    8
ÿ
ÿÿ
:
ÿÿÿ4
ÿÿ6ÿÿr¸   c                  C   s2  t ddd} t| tdƒtdƒ  ƒ}| ¡ tdƒtdƒ t| ƒ ksHJ ‚tddd\}}}t|||  ƒjddt|ƒt|| ƒ ksŠJ ‚tt|d	 ƒt|| ƒ ƒ ¡ td	t|ƒ t|ƒ d	t|ƒ t|ƒ  ƒtt|ƒt|ƒ t|ƒt|ƒ  ƒtd	ƒ tt|ƒt|ƒ t|ƒ ƒtd	ƒ fv s*J ‚t|t|d	 ƒ ƒjdd
t|ƒt|d	 ƒ ks`J ‚t|t|d	 ƒ ƒ ¡ d	t|ƒd	  ksŽJ ‚tdƒ\}}t|| ƒjddt|ƒt|ƒ ksÄJ ‚t|| ƒjdd|t|ƒ ksêJ ‚tt|ƒƒjdd|ksJ ‚tdƒ ¡ d	tdƒ td	ƒ ks.J ‚d S )NÚwTre   rI   r8   úx,y,zF)Úmulr7   )Údeepr‚   r   rH   )r   r   r]   r   r   )r¹   rU   r*   r+   r,   rC   rC   rD   Útest_log_expand&  s$    $02ÿ*"þ6.*&r½   c                  C   st   t ddd\} }}t| ||  ƒ| |  jddd|t| ƒ |t|| ƒ  |t| ƒ  |t|| ƒ  kspJ ‚d S )Nrº   Tre   )r»   r   )r   r   r]   r)   rC   rC   rD   Útest_log_expand_fail<  s    $ÿÿ
ÿÿr¾   c                  C   s  t ddd} t| d ƒ ¡ dt| ƒ ks,J ‚tt| dtdƒ  ƒƒdtdƒ t| ƒ ks\J ‚t dƒ}tt|ƒƒ ¡ t|ƒd ks„J ‚tt|tdƒd  ƒƒtdƒd t|ƒ ks´J ‚t|d ƒ ¡ t|ƒ ksÒJ ‚t|| | d   ƒ ¡ | t|ƒ | d  ksJ ‚d S )Nr*   Tre   r7   r,   r5   r6   )r   r   r]   r   r   )r*   r,   rC   rC   rD   Útest_log_simplifyC  s     0 0r¿   c                   C   s¨   t tdtƒƒtddƒksJ ‚t tdtƒƒtt dƒks:J ‚t tdtƒƒtjksRJ ‚t tdtƒƒtt tƒkspJ ‚t tt dƒƒtjksŠJ ‚t tt tƒƒtjks¤J ‚d S )Nr5   r   r6   )r   r   r   r   r   ÚNaNrC   rC   rC   rD   Útest_log_AccumBoundsO  s    rÁ   c                  C   sˆ  t dƒ} ttdƒttƒksJ ‚ttdddttƒks8J ‚tdƒdksHJ ‚ttƒdksXJ ‚tdt ƒdkslJ ‚ttdƒ d ƒtdƒ ksŒJ ‚ttƒtu sœJ ‚tddƒt u s°J ‚tddƒt u sÄJ ‚tt d dƒt t d ksæJ ‚tdt dƒdksüJ ‚td	td	ƒ dƒd	ksJ ‚tdtdƒ ƒtdƒks6J ‚tt d ƒtt d ksVJ ‚ttdt ƒƒtkspJ ‚ttd ƒ 	t¡dttd ƒ t dttd ƒ  ks¬J ‚tt| ƒ 	t¡tt| ƒt dtt| ƒ  ksÞJ ‚tt
dƒƒ d
¡ tdd
ƒd¡sJ ‚ttddƒƒ ¡  tdƒ¡s&J ‚tdƒjdu s:J ‚tdddjsNJ ‚t ddd}t|ddjsnJ ‚t|d ddjd u sŠJ ‚t| dtj  ddjdu s®J ‚ttjdddjdu sÊJ ‚ttddƒdddjsæJ ‚tddddjdu s J ‚td	dddjdu sJ ‚tdddjs.J ‚t dddd}t|ƒjdu sPJ ‚t|ƒjdu sdJ ‚t ddd}t|ƒjdu s„J ‚d S )Nr2   r   Fr;   r5   r6   r7   r¤   r…   é   z 0.701338383413663009202120278965gG³¦þ^Zé9z-0.834310366631110r“   Tre   r‡   iöÿÿÿÚna)r›   r™   rT   r¢   )r   r   r*   r   r   r   r   r	   r   Údiffr   r®   r¯   r   r   rž   r   r@   rA   r
   rŸ   r¦   )r2   r“   rÃ   rT   rC   rC   rD   Útest_lambertwX  sL     " <2
ÿ
"$rÅ   c                  C   s|   t dƒ} | jdu sJ ‚| jdus$J ‚dddtdƒ   }|jdusFJ ‚dttt tdƒƒƒt tdƒƒ ƒ }|jdusxJ ‚d S )Nr6   FTr5   iüÿÿr…   r7   )r   Zis_comparabler¥   r   r   Z
is_nonzero)rU   Úe2Ze3rC   rC   rD   Útest_issue_5673†  s    $rÇ   c                      s   t dƒ‰ tt‡ fdd„ƒ d S )Nr*   c                      s   t ˆ ƒ d¡S r`   )r   r{   rC   rc   rC   rD   r|   ’  r}   z test_log_fdiff.<locals>.<lambda>r~   rC   rC   rc   rD   Útest_log_fdiff  s    rÈ   c                  C   s€   t dƒ} t| ƒ d| ¡| ks J ‚t| ƒ d| ¡| d  d ksBJ ‚t| ƒ d| ¡| d d ksbJ ‚t| ƒ d| ¡tju s|J ‚d S )Nr*   r   r5   r7   r9   rI   r6   )r   r   rv   r   rw   rc   rC   rC   rD   Útest_log_taylor_term•  s
    " rÉ   c                  C   s²   t ddd\} }}t| | ƒ ¡ t| | ƒks2J ‚t| | | ƒ ¡ t| | | ƒksZJ ‚ttt ƒ ¡ ttƒttƒ ks~J ‚ttt t ƒ ¡ ttƒttƒ ttƒ ks®J ‚d S )NzA,B,CFri   )r   r   r]   r*   r+   r,   )ry   ÚBÚCrC   rC   rD   Útest_exp_expand_NC  s
     ($rÌ   c                  C   sf  t ddd} ttƒ ¡ ttƒdfks(J ‚tt ƒ ¡ dttƒfksFJ ‚tdt ƒ ¡ dtdt ƒfksjJ ‚tdƒ ¡ dtdƒfks†J ‚t| ƒ ¡ dt|  ƒfks¤J ‚t|  ƒ ¡ t|  ƒdfksÄJ ‚tt t ƒ ¡ dttt ƒfksêJ ‚tt |  ƒ ¡ dtt|  ƒfksJ ‚t|  ƒ ¡ t|  ƒdfks4J ‚t ddd	}t| ƒ ¡ t| ƒdfksbJ ‚d S )
NrT   Tr¢   r5   r…   r7   r˜   Fri   )r   r   r*   Zas_numer_denomr	   )rT   r˜   rC   rC   rD   Útest_as_numer_denom¦  s    $ &("rÍ   c                  C   s(  t ddd\} }tttd ƒƒdks(J ‚ttdƒƒdks<J ‚ttddt  ƒƒtdƒks\J ‚ttd	 ƒ ¡ ttd	 ƒks|J ‚tttƒƒtksJ ‚t| | ƒ ¡ t| ƒt|ƒ ks´J ‚t| t ƒ ¡ tt| ƒ ksÔJ ‚tdƒjdksæJ ‚td
t	 t ƒjdd 
¡ d dksJ ‚tdƒjdu s$J ‚d S )Nzx yTrY   r9   r5   r   r7   r8   r‡   g      ð?rI   rp   )r   Úabsr   r	   r   rT   r   r,   r]   r   Zas_real_imagr§   rZ   rC   rC   rD   Ú
test_polar·  s      $ *rÏ   c                  C   sh   t dƒ} t dƒ\}}}}tt| | |d|f|d|fƒƒ}| ¡ tt| | ƒ|d|f|d|fƒksdJ ‚d S )Nr¹   zm n i jr   )r   r   r   r]   r   )r¹   ÚmrT   rƒ   ÚjÚexprrC   rC   rD   Útest_exp_summationÌ  s     rÓ   c            	      C   sV  ddl m} m} tdddd\}}tddd\}}tddd	}td
ƒ}tt|| |d| fƒƒ}t|ƒ|ksnJ ‚| ¡ t|t|ƒ |d| fƒks’J ‚tt|| ||  |d| f|d|fƒƒ}t|ƒ|ksÊJ ‚| ¡ t|t|ƒ |t|ƒ  |d| f|d|fƒksJ ‚ttd| ddfƒƒ}t|ƒ|ks*J ‚| ¡ |ks<J ‚|jddttdƒ| ddfƒksbJ ‚ttt	|| ƒ|d| fƒƒ}| ¡ t|| |d| fƒks J ‚ttt	|| ƒ|d| fƒƒ}| ¡ |ksÎJ ‚|jddt|| |d| fƒksôJ ‚tt|d t
|ƒ |d| f|d|fƒƒ}| ¡ tdt|ƒ t|ƒ |d| f|d|fƒksRJ ‚d S )Nr   ©rT   rÐ   úi,jT©rf   r4   r‚   re   r,   rW   r¹   r5   r…   r9   r   r7   )Ú	sympy.abcrT   rÐ   r   r   r   r&   r]   r   r   rÎ   )	rT   rÐ   rƒ   rÑ   r*   r+   r,   r¹   rÒ   rC   rC   rD   Útest_log_productÓ  s,    $(:&"&(rØ   c                  C   sÊ   ddl m} m} tdddd\}}tddd\}}ttt|| |d| fƒƒƒt|t|ƒ |d| fƒksjJ ‚ttt|| ||  |d| f|d|fƒƒƒt|t|ƒ |t|ƒ  |d| f|d|fƒksÆJ ‚d S )	Nr   rÔ   rÕ   TrÖ   r‚   re   r5   )r×   rT   rÐ   r   r&   r   r   r   )rT   rÐ   rƒ   rÑ   r*   r+   rC   rC   rD   Ú test_log_product_simplify_to_sumò  s    8**ÿrÙ   c                  C   sè   t ttdddƒt ttdƒƒks$J ‚tttdddƒtttdƒƒksHJ ‚tddd} tt| ƒtdƒƒ}tt| ƒtdƒƒ}tt| ƒtdƒdd}tt| ƒtdƒdd}t t||ƒƒt t||ƒƒksÄJ ‚tt||ƒƒtt||ƒƒksäJ ‚d S )Nr‡   Fr;   r+   Tre   rI   )r&   r   r*   r   r   r   )r+   Úl1Úb1Úl2Úb2rC   rC   rD   Útest_issue_8866ü  s    $$ rÞ   c                   C   s°  t dƒt dƒ d jddt dƒt dƒ ks0J ‚t dƒt dƒ jddt dƒt dƒ d ks`J ‚t dƒt dƒ jdddt d	ƒt dƒ  ksJ ‚t dƒt dƒ t d
ƒ  jdddksºJ ‚tt dƒddt dƒdt dƒ  ksâJ ‚tt dƒt dƒ ddt dƒt dƒ d ksJ ‚tt dƒt d	ƒ t dƒ ddddt dƒ t d	ƒ  t dƒ ksZJ ‚tt dƒt d	ƒ t dƒ ddt dƒt dƒ t d	ƒdt dƒ  t d	ƒ  ks¬J ‚d S )NrH   r8   r7   T)Zfactorrˆ   rR   r5   rI   ru   é   rK   Fé-   é   é   é   )r   r]   r   rC   rC   rC   rD   Útest_log_expand_factor	  s    000*(2ÿ
*ÿrä   c                  C   s$   t dddd} t| ƒjdu s J ‚d S )NrT   TrÖ   )r   r   Zis_nonnegativerp   rC   rC   rD   Útest_issue_9116  s    rå   c                   C   s`  t tttdt ƒƒ ƒ t¡tjks(J ‚t tttdt ƒƒ ƒ t¡tjksPJ ‚ttdt ƒƒ t¡tjkspJ ‚ttdt ƒƒ t¡tjksJ ‚ttdt ƒd ƒ t¡tdtdƒƒks¼J ‚t tttdt ƒd ƒ ƒ t¡dksæJ ‚ttdt ƒd ƒ t¡tjksJ ‚t tttdt ƒd ƒ ƒ t¡tjks:J ‚ttdt ƒd ƒ t¡tt	 tdƒƒksjJ ‚t tttdt ƒd ƒ ƒ t¡tddƒksœJ ‚tt
dt ƒd ƒ t¡tt	 dƒksÈJ ‚t ttt
dt ƒd ƒ ƒ t¡tddƒksúJ ‚ttdt ƒd ƒ t¡tt	 t	ƒks&J ‚t dt ttdt ƒd ƒ ƒ t¡tdt	ƒks\J ‚d S )Nr5   r7   r   r8   )r   r*   r   r    rr   r   rÀ   r"   r   r   r!   rC   rC   rC   rD   Útest_issue_18473  s    ((  ,*&.02,2,ræ   N)vZsympy.assumptions.refiner   Z!sympy.calculus.accumulationboundsr   Zsympy.concrete.productsr   Zsympy.concrete.summationsr   Zsympy.core.functionr   Zsympy.core.numbersr   r   r	   r
   r   r   r   r   Zsympy.core.powerr   Zsympy.core.singletonr   Zsympy.core.symbolr   r   Z$sympy.functions.elementary.complexesr   r   r   r   r   Z&sympy.functions.elementary.exponentialr   r   r   r   Z%sympy.functions.elementary.hyperbolicr   r   r   Z(sympy.functions.elementary.miscellaneousr   Z(sympy.functions.elementary.trigonometricr    r!   r"   Z"sympy.matrices.expressions.matexprr#   Zsympy.polys.polytoolsr$   Zsympy.series.orderr%   Zsympy.simplify.simplifyr&   Zsympy.core.parametersr'   r(   r×   r*   r+   r,   Zsympy.core.exprr-   r.   Zsympy.testing.pytestr/   r0   r1   rE   rV   r[   r_   rb   rd   rh   rj   rl   rm   rq   rs   rx   rz   r   r   r†   rŒ   rŽ   r•   r—   r    r¡   r¨   rª   r«   r­   r±   rµ   r¶   r¸   r½   r¾   r¿   rÁ   rÅ   rÇ   rÈ   rÉ   rÌ   rÍ   rÏ   rÓ   rØ   rÙ   rÞ   rä   rå   ræ   rC   rC   rC   rD   Ú<module>   s´   (
,










)*&
"

	
-
	


	