U
    —9%e~s  ã                   @   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ks0t‚ntttƒƒtks0t‚tddd} ttƒtksLt‚tt	ƒt	ks\t‚tt	 ƒdksnt‚tdƒdks~t‚tdƒt
ksŽt‚tdt ƒ ¡ tjtd fks°t‚tdt ƒ ¡ tjtd fksÒt‚ttt d ƒtksêt‚ttt ƒdksþt‚ttt tddƒ ƒt ks t‚tdt t ƒdks:t‚tttt d |  ƒƒdks\t‚tttt d | tj  ƒƒdks„t‚tttt d | tdd	ƒ  ƒƒtks°t‚tttt d | tdd	ƒ  ƒƒt ksÞt‚tttƒƒtksôt‚tdttƒ ƒtd kst‚ttttƒ ƒtt ks0t‚td
ttƒ t
ttƒ  ƒtd
 tt
  ksbt‚ttttƒ ƒtt ks€t‚tttƒttƒ ƒtksžt‚tdttƒ t	t  ƒtt	t ƒtd  ksÐt‚td	ttƒ ttƒ dttƒ  ƒtd td	ttƒ ttƒ ƒ kst‚tt	 ddjdks4t‚tt	ddjdksLt‚d S )NÚkT©Úintegerr   é   éÿÿÿÿé   é   é   é   F©Úevaluate)r'   Ú
exp_is_powÚtyper   r*   r   ÚAssertionErrorr   r   r   r   Úas_base_expr   ÚExp1r   r	   r
   r   ÚHalfr   r+   r!   Ú	is_finite)r2   © rD   úp/var/www/html/Darija-Ai-API/env/lib/python3.8/site-packages/sympy/functions/elementary/tests/test_exponential.pyÚtest_exp_values   s:    """"(,.22JrF   c                  C   sP  t tt tddƒ ƒt tt d ƒks*t‚t tt tddƒ ƒt tt tddƒ ƒksZt‚t tt tddƒ ƒt tt tddƒ ƒksŠt‚t tt td	d
ƒ ƒt t t d
 ƒks¶t‚t tt tddƒ ƒt tt tddƒ ƒ dksêt‚t tt tdd
ƒ ƒt tt tddƒ ƒ t tt tddƒ ƒ dks6t‚t dtt tddƒ  ƒt dtt td
dƒ  ƒkspt‚t td
ƒtt tddƒ  ƒd
t tt tddƒ ƒ ks®t‚tddd} tddd}t |t t ƒdksàt‚t |d t t ƒdksþt‚t dd|   t t d ƒtks$t‚t dd|   t t d ƒt ksLt‚d S )Né	   r9   é.   é   é   é   é   éýÿÿÿiíÿÿÿr8   é%   é   iõÿÿÿr   éûÿÿÿé   é”   é   r5   r7   r:   é   iùÿÿÿÚnTr3   Úe)Zevenr6   )r   r	   r   r
   r?   r   r   )rU   rV   rD   rD   rE   Útest_exp_periodH   s    *00,4L:>&rW   c                  C   sš   t ddd} tt| ƒƒ| ks t‚tt| ƒƒ| ks4t‚tjsbt| ƒ ¡ tksNt‚t| ƒ ¡ tksbt‚t ddd}tttƒƒtks‚t‚tt|ƒƒ|ks–t‚d S )Nr*   T©Úrealr+   ©Zpolar)	r   r   r   r?   r'   r=   Zinverser   r,   ©r*   r+   rD   rD   rE   Útest_exp_log\   s    r\   c                  C   s€   t ttdƒƒdt  ttdƒƒt  ƒ} |  ¡ dks8t‚t tt ƒt tƒt tƒ ksXt‚t tt ƒ ¡ t tƒt tƒ ks|t‚d S ©Nr7   r5   )r   r   r
   r*   Úexpandr?   r+   ©rV   rD   rD   rE   Útest_exp_expandk   s    ( r`   c                   C   sê   t tƒ ¡ ttfkst‚t dt ƒ ¡ tdt fks8t‚t tt ƒ ¡ ttt fksXt‚t t ƒ ¡ tt fkstt‚tt t tƒksˆt‚tdt  t dt ƒks¤t‚ttt  t tt ƒksÀt‚t tƒjtjksÔt‚t tƒj tksæt‚d S ©Nr7   )	r   r*   r@   r   r?   r+   Úbaser   rA   rD   rD   rD   rE   Útest_exp__as_base_exps   s      rc   c                  C   s’   t tt ƒtkst‚tt tt ƒƒtks,t‚tt t t ƒƒtksFt‚t tt t ƒtks^t‚t tƒtksnt‚tdddd} t | ƒj	d ksŽt‚d S )Nr*   TF)Zextended_realZfinite)
r   r	   r+   r   r?   r   r   r   r   Z
is_complex©r*   rD   rD   rE   Útest_exp_infinityƒ   s    re   c                  C   s2  t dƒ} tdt| ƒ dd}| | d td ¡|ks8t‚| | d d¡|ksPt‚| d  | d t¡ttddƒ ksvt‚tt| ƒt| d ƒ ƒ tt| ƒƒt¡ttt| d ƒƒ ks¶t‚t| ƒ tt¡t|  ksÒt‚tddd} td|  ƒ td	|  ƒt¡ttdd	ƒ kst‚td|  d	 ƒ td|  ƒt¡ttddƒ td	ƒ ksJt‚tddd
} tdt| ƒ ƒ | d t¡ttddƒ ks†t‚tt| t ƒƒ td¡dd| t   ks´t‚tt| t ƒƒ tt	¡t	t	| t ƒƒksât‚tt| t ƒƒ td¡dd| d   kst‚tdƒ tt	¡t	dƒks.t‚d S )Nr*   r8   Fr;   r7   rJ   TrX   rL   ©Úpositive)
r   r   r   Úsubsr+   r?   r
   r   r   r!   )r*   rV   rD   rD   rE   Útest_exp_subsŽ   s     &@0<0...ri   c                   C   s    t ttƒƒtt tƒƒkst‚d S ©N)r   r   r*   r?   rD   rD   rD   rE   Útest_exp_adjoint£   s    rk   c                   C   s    t ttƒƒtt tƒƒkst‚d S rj   )r   r   r*   r?   rD   rD   rD   rE   Útest_exp_conjugate§   s    rl   c                   C   s    t ttƒƒtt tƒƒkst‚d S rj   )r   r   r*   r?   rD   rD   rD   rE   Útest_exp_transpose«   s    rm   c                  C   sØ  t tƒ t¡ttƒttƒ ks"t‚t tt ƒ t¡ttƒtttƒ  ksLt‚t dƒ t¡tdƒtdƒ ksnt‚t dƒ t¡tdƒtdƒ kst‚t dƒ t¡tdƒtdƒ ks²t‚t tƒ t	¡dt	td ƒ dt	td ƒ  ksät‚t t
t d ƒ t¡tdƒd tdƒt d  kst‚t t
t d ƒ t¡tjtdƒt d  ksNt‚tjsÞt tttƒ ƒ t¡tt kszt‚t ttƒttƒ ƒ t¡tttƒ tttƒ fks²t‚t tttƒƒt ƒ t¡ttƒt ksÞt‚tddd} tt t
t d ƒd |  | dtfƒ t¡ ¡ tdd	ƒtd d	  ks4t‚tt t
t d ƒd |  | dtfƒ t¡ ¡ ddtdƒdt  d   ks„t‚tt t
t d ƒd |  | dtfƒ t¡ ¡  ¡ dt tdƒdt   ksÔt‚d S )
Nr5   r7   r9   r8   rU   Tr3   r   rJ   )r   r*   Úrewriter!   r   r   r?   r	   r    r   r   r   r   rB   r'   r=   r   r+   r   r   r   r   Zdoitr
   Úcancel©rU   rD   rD   rE   Útest_exp_rewrite°   s$    "*"""282$8,JP0ÿrq   c                   C   sb   t tƒ t¡dkst‚t dt ƒ t¡t dƒks4t‚t dt d td  ƒ t¡t dƒks^t‚d S )Nr5   r7   r8   )r   r*   Úas_leading_termr?   rD   rD   rD   rE   Útest_exp_leading_termÇ   s    rs   c                  C   s~   t dƒ} t| ƒ d| ¡| ks t‚t| ƒ d| ¡| d d ks@t‚t| ƒ d| ¡| d d ks`t‚t| ƒ d| ¡tjkszt‚d S )Nr*   r5   r8   é   r9   é   r6   )r   r   Útaylor_termr?   r   ÚZerord   rD   rD   rE   Útest_exp_taylor_termÕ   s
      rx   c                  C   s"   t dddƒ} t| ƒ t¡st‚d S )NÚAr7   )r#   r   Úhasr?   )ry   rD   rD   rE   Útest_exp_MatrixSymbolÞ   s    r{   c                      s   t dƒ‰ tt‡ fdd„ƒ d S )Nr*   c                      s   t ˆ ƒ d¡S ra   )r   ÚfdiffrD   rd   rD   rE   Ú<lambda>å   ó    z test_exp_fdiff.<locals>.<lambda>©r   r/   r.   rD   rD   rd   rE   Útest_exp_fdiffã   s    r€   c                   C   sT  t tƒtkst‚t tƒtks t‚t t ƒtks2t‚t tƒtksBt‚t t ƒtksTt‚t dƒtksdt‚t dƒdkstt‚t dƒtt ksˆt‚t tƒdks˜t‚t t ƒ ¡ dtt  ks¶t‚t	t tƒsÄt‚t t ƒ ¡ t tƒtt  ksæt‚t	t dƒsôt‚t dƒt dƒtt  kst‚t tƒtt d ks,t‚t t ƒt t d ksJt‚t dt ƒtt d t dƒ kspt‚t dt ƒ ¡ t t d t dƒ ksœt‚t tt ƒtks²t‚t t t ƒtksÊt‚t ddƒtksÞt‚t ddƒtksòt‚t
t dƒ ƒd dkst‚t tjƒt dƒ ks(t‚t d	ƒjt ks<t‚t d
ƒjt ksPt‚d S )Nr   r5   r6   r:   iïÿÿÿr7   rJ   r8   rt   rI   )r   r   r?   r   r   r	   r   r   r^   r-   r   r   rB   ÚfuncrD   rD   rD   rE   Útest_log_valuesè   s4    "&,r‚   c                  C   sB  t ddd\} }tddd}ttjƒdks.t‚ttƒdks>t‚tdd	t  ƒd
ksVt‚ttdƒ tjt  ƒtdƒ tjfks‚t‚t| |t  ƒ| |fksžt‚t| t |t  ƒd| | fksÂt‚t| | t ƒd| | fksât‚tt	ddƒ| t ƒdkst‚tdd|  ƒdkst‚ttdƒdd	t   ƒdks>t‚d S )Núx,yTrX   Úi©Z	imaginary)r5   r   )r   r5   r8   rJ   )r8   rP   r   éþÿÿÿ)NNr5   r7   )
r   r   r(   r   ZOner?   r	   r   rB   r
   )r*   r+   r„   rD   rD   rE   Ú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sNt‚t ddƒD ]6} tt| t t d ƒ t¡ƒ| t t d ksXt‚qXq
tt	j
ttdƒ d  ƒt t d ks¾t‚ttddƒttdƒ d  ƒtt tddƒ ksòt‚ttdƒ d ttdƒ d  ƒt t tdd	ƒ ks.t‚ttdƒ d tt	j
  ƒt t td
dƒ ksdt‚ttdd	ƒtd
ƒd	  tttd
ƒd td
dƒ ƒ  ƒt t tdd
ƒ ks¶t‚tttd
dƒtd
ƒd  ƒttdd	ƒtd
ƒd	    ƒtt tddƒ kst‚tttdƒd	 t	j
 ƒ ttt	j
tdƒd	  ƒ  ƒtt tddƒ ksTt‚ttdƒ d	 tdƒd	  ttdƒ d	 tdƒd	    ƒt t tddƒ ksªt‚tdttdƒ  ƒtdƒtt tddƒ  ksÞt‚td
d
t  ƒtd
tdƒ ƒtt d	  kst‚ttdƒƒtdtdƒ ƒtt d  ks>t‚ttdƒ tdƒ ttdƒ  ttdƒ  ƒtd	ƒtt tddƒ  ksŒt‚ttddtdƒ  ƒ ttddtdƒ  ƒ  ƒtdtdƒ ƒtt td
dƒ  ksæt‚tdttdtdƒ ƒ tdtdƒ ƒ  ƒtdttdƒd ƒ ƒtt d  ks<t‚ttttddƒ ƒttttddƒ ƒ  ƒtt tddƒ ks€t‚ttttdd
ƒ ƒttttdd
ƒ ƒ  ƒtt tdd
ƒ ksÄt‚td
dt  tdƒ ƒtd
ƒtt d	  ksöt‚ttdƒtdƒ d tdƒt  t  ƒtd	ƒtt tddƒ  ks@t‚ttdƒ dttdƒ   ƒtdtdƒ ƒtt tddƒ  ks†t‚ttdƒt tddtdƒ  ƒ ttdtdƒ d ƒ   ƒtdƒtt d  ksÞt‚dtdƒ d d dtdƒ  }t|ttdƒ  ƒttdƒƒtt d  ks0t‚tt|t|  ƒs^t||t  ƒtks^t‚tttdƒdttdƒt ƒ  d ƒsŠt‚tttdtd
ƒ ƒdt  ƒs®t‚d S )Niéÿÿÿru   r5   i÷ÿÿÿé
   r8   r7   r6   r9   rJ   rt   rO   rL   rQ   é   iôÿÿÿéüÿÿÿiè  )Úranger$   r   r   r	   r   rn   r   r?   r   rB   r
   r    r!   r-   r   )rU   ÚzerorD   rD   rE   Ú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t‚t ddƒdks$t‚t ddƒt dƒt dƒ ksBt‚t ddƒdt dƒt dƒ  ksdt‚t ddƒdt dƒt dƒ  ks†t‚t ddƒdks˜t‚t ddƒdksªt‚t ddƒtks¼t‚t ddƒtksÎt‚t tddƒd	ƒt tddƒƒt d	ƒ ksøt‚t tddƒtddƒƒt dƒ t dƒ d ks*t‚t tddƒtddƒƒt tddƒƒt tddƒƒ ksbt‚t tddƒdƒt dƒ t dƒ d ksŽt‚d S )
Nr5   r7   r   r8   rt   rO   é   rJ   rˆ   )r   r?   r   r   r
   rD   rD   rD   rE   Útest_log_baseJ  s    ""*2ÿ
r   c                  C   s  t ttdƒƒt tƒkst‚t ttƒƒtks.t‚t ttdƒƒt tƒksHt‚t tt ƒt tƒt tƒ ksht‚t tt ƒ ¡ t tƒt tƒ ksŒt‚t tt ƒjddt tƒt tƒ ks´t‚t tt ƒ ¡ tt tƒ ksÔt‚t tt ƒjddtt tƒ ksøt‚t tdƒt tƒt dƒ kst‚t tdƒdt dƒ ks4t‚tddd\} }tddd}t | d ƒdt | ƒ ksnt‚t | d ƒ ¡ dt | ƒ kst‚t td ƒ ¡ dt tƒ ks²t‚t | | ƒ|t | ƒ ksÐt‚t t| ƒƒ| ksæt‚t | | ƒt | ƒt |ƒ kst‚t | | ƒ ¡ t | ƒt |ƒ ks.t‚t t	d	ƒ ƒt t	d	ƒƒt
t  ksVt‚t t| ƒ ƒ| t
t  ksvt‚t ttƒ ƒ ¡ tt
t  ksšt‚t t|ƒ ƒ ¡ |t
t  ks¾t‚t tt ƒtt tƒ ksÜt‚t td
 ƒd  ¡ dt tƒ d kst‚t | d
 ƒd  ¡ dt | ƒ d ks0t‚t t ƒjt krZt t ƒjd t ks^t‚t |  ƒjt krˆt |  ƒjd |  ksŒt‚d S )Nr5   T©Úforcer7   zp,qrf   ÚrrX   r8   rP   r6   rJ   r   )r   r*   r   r?   r+   r^   r   r   r   r   r	   r   r   Úargs)ÚpÚqr’   rD   rD   rE   Útest_log_symbolic\  s8     $( $ """&( $$**.r–   c                   C   sÈ   t tdt t ƒƒdkst‚t tdt t ƒƒtt ks<t‚t ttt tddƒ ƒƒtt tddƒ kslt‚t ttt tddƒ ƒƒtt tddƒ ksœt‚t tdt ƒƒdt d	t t  ksÄt‚d S )
Nr9   r   rP   é   r8   rK   rL   rM   r7   )r   r   r	   r   r?   r
   rD   rD   rD   rE   Ú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 ks6t‚|tƒjd ksHt‚||ƒjd ksZt‚||ƒjd kslt‚|| ƒjdks~t‚|| ƒjdkst‚|ttƒƒjdks¦t‚|ttƒƒjdks t‚q t	t
tt ddjdksÚt‚t	t
dt t ddjdksút‚t	t
tt d ddjdkst‚t	t
tt d	 ddjd ks>t‚td
ddjsRt‚t ddd}t dddd}t ddd} t dddd}t|ƒjd ksšt‚t|ƒjdks®t‚tt|  ƒjd ksÆt‚tt| ƒjdksÞt‚td
ddjdksöt‚ttt d	 ddjdkst‚ttt |  ddjdks6t‚d S )Nr’   TrX   r„   r…   Fr;   r7   r8   r   Úa)Ú	algebraicÚan)rš   Únonzero)ÚrationalÚrn)r   rœ   )r   r   r   r*   Úis_realr?   Zis_imaginaryr   Zis_extended_realr   r   r	   r   Úis_algebraic)r’   r„   rV   r™   r›   rž   rD   rD   rE   Útest_exp_assumptionsŠ  s6     "" r¡   c                   C   s$   t tddƒƒtttd ƒks t‚d S )Nr5   r7   )r   r   r   r?   rD   rD   rD   rE   Ú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
ksDt‚t|ƒjdksVt‚tdƒdksft‚tdd
djsxt‚td| ƒjsŠt‚t| ƒjd ksœt‚t|ƒjd
ks®t‚tdƒjdksÀt‚tt| ƒd ƒjsÖt‚tdd
djsèt‚tdd
djd
ksþt‚td| ƒj	st‚d S )Nr”   Trf   rU   ©Únegativer,   )rŒ   r*   )ZinfiniteZextended_positiveFr7   r   r5   r;   g      à?é*   )
r   r   Úis_positiver?   Zis_extended_positiveÚis_zeroZis_negativer   r    Úis_rational)r”   rU   r,   r*   rD   rD   rE   Útest_log_assumptions²  s     r©   c                  C   sü   t ttt ƒƒkst‚tt ƒtttt ƒƒƒks0t‚tt ƒtttt ƒƒƒksLt‚dttt ƒttt ƒƒ ƒ } | jjtksxt‚dttt ƒtttt ƒƒƒ ƒ } | jjtks¨t‚ttt ƒƒ} | jtksÂt‚t jtk	sÐt‚tttt ƒƒƒtt ƒksìt‚| t ksøt‚d S )Nr5   )r*   r   r?   Úhashrb   r   r_   rD   rD   rE   Útest_log_hashingÈ  s     r«   c                   C   s   t tdƒƒdkst‚d S r]   )r   r   r?   rD   rD   rD   rE   Útest_log_signÙ  s    r¬   c                   C   sh   t dt ƒjddt dƒd tt d  ks0t‚t dtdƒ ƒjddt tdƒd ƒtt  ksdt‚d S )Nr5   T)Úcomplexr7   r9   )r   r	   r^   r   r?   r   rD   rD   rD   rE   Útest_log_expand_complexÝ  s    0r®   c                  C   s.   t dƒt dƒ d  ¡ } |  tdƒ¡s*t‚d S )Nr8   r7   r5   z0.58496250072115618145373)r   ÚevalfÚ
epsilon_eqr   r?   )ÚvaluerD   rD   rE   Útest_log_apply_evalfâ  s    r²   c                  C   s¾  t dƒ} tdt td  ƒjtddtks.t‚tdt ƒjtddttƒtdƒ ksXt‚tdt ƒjtddttƒtdƒ ks‚t‚tdt ƒjtd| d| tdƒ tt  ks²t‚tdt ƒjtd| d| tdƒ tt  ksât‚tdt dt td   ƒjtddttƒtdƒ tt  ks&t‚tdt dt td   ƒjtddttƒtdƒ tt  ksjt‚tdt dt td   ƒjtddttƒtdƒ ks¦t‚tdt dt td   ƒjtddttƒtdƒ dt t  ksît‚tdt ttd   ttd   ƒjtddt t ks,t‚tdt ttd   ttd   ƒjtddt t ksjt‚tddt  ƒjtddtt ks’t‚tddt  ƒjtddtt ksºt‚d S )	Nr”   r5   r7   )Úcdirr6   r†   )r³   Úlogxr8   )r   r   r*   rr   r?   r	   r   ©r”   rD   rD   rE   Útest_log_leading_termç  s    &**00DD<H>>(r¶   c                  C   sr  t dƒ} tdt ƒjtd|  dd| ks,t‚tdt ƒjtd|  dd| dt t  ks\t‚ttd ƒ tdd t¡tt t td d  td d  ttd ƒ ks¨t‚ttd ƒ tdd t ¡t t t td d  td d  ttd ƒ ksøt‚ttt ttd   d ƒ tdd d¡tt tt  td d  ttd ƒ ksNt‚ttt ttd   d ƒ tdd d¡t t tt  td d  ttd ƒ ks¦t‚tttd  ttd   d ƒ tdd d¡tt ttd   ttd ƒ ksøt‚tttd  ttd   d ƒ tdd d¡tt ttd   ttd ƒ ksJt‚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Ät‚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sLt‚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Òt‚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sVt‚tt	t td  d ƒt	t td  d ƒ d ƒ tdd d¡t t tt	dƒd ƒ ttd  ddt	dƒ d    ttd ƒ ksât‚tddt  ƒ tdd d¡tt t td d  ttd ƒ ks(t‚tddt  ƒ tdd d¡tt t td d  ttd ƒ ksnt‚d S )	Nr”   r5   r9   )r´   r³   r6   r7   r8   r†   )
r   r   r*   Z_eval_nseriesr?   r	   r   r%   r   r   rµ   rD   rD   rE   Ú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’t‚| 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t‚|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sht‚|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Ît‚d S )Nr5   r7   r9   )Zx0rU   r8   rŠ   r6   )	r   r*   r   Zseriesr	   r   r   r%   r?   )Úexpr1Zexpr2rD   rD   rE   Ú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sHt‚tddd\}}}t|||  ƒjddt|ƒt|| ƒ ksŠt‚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ks*t‚t|t|d	 ƒ ƒjdd
t|ƒt|d	 ƒ ks`t‚t|t|d	 ƒ ƒ ¡ d	t|ƒd	  ksŽt‚tdƒ\}}t|| ƒjddt|ƒt|ƒ ksÄt‚t|| ƒjdd|t|ƒ ksêt‚tt|ƒƒjdd|kst‚tdƒ ¡ d	tdƒ td	ƒ ks.t‚d S )NÚwTrf   rJ   r8   úx,y,zF)Úmulr7   )Údeeprƒ   r   rI   )r   r   r^   r?   r   r   )rº   rV   r*   r+   r,   rD   rD   rE   Ú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spt‚d S )Nr»   Trf   )r¼   r   )r   r   r^   r?   r)   rD   rD   rE   Útest_log_expand_fail;  s    $ÿÿ
ÿÿr¿   c                  C   s  t ddd} t| d ƒ ¡ dt| ƒ ks,t‚tt| dtdƒ  ƒƒdtdƒ t| ƒ ks\t‚t dƒ}tt|ƒƒ ¡ t|ƒd ks„t‚tt|tdƒd  ƒƒtdƒd t|ƒ ks´t‚t|d ƒ ¡ t|ƒ ksÒt‚t|| | d   ƒ ¡ | t|ƒ | d  kst‚d S )Nr*   Trf   r7   r,   r5   r6   )r   r   r^   r?   r   r   )r*   r,   rD   rD   rE   Útest_log_simplifyB  s     0 0rÀ   c                   C   s¨   t tdtƒƒtddƒkst‚t tdtƒƒtt dƒks:t‚t tdtƒƒtjksRt‚t tdtƒƒtt tƒkspt‚t tt dƒƒtjksŠt‚t tt tƒƒtjks¤t‚d S )Nr5   r   r6   )r   r   r   r?   r   r   ÚNaNrD   rD   rD   rE   Útest_log_AccumBoundsN  s    rÂ   c                  C   sˆ  t dƒ} ttdƒttƒkst‚ttdddttƒks8t‚tdƒdksHt‚ttƒdksXt‚tdt ƒdkslt‚ttdƒ d ƒtdƒ ksŒt‚ttƒtksœt‚tddƒt ks°t‚tddƒt ksÄt‚tt d dƒt t d ksæt‚tdt dƒdksüt‚td	t	d	ƒ dƒd	kst‚tdtdƒ ƒtdƒks6t‚tt d ƒtt d ksVt‚tt	dt ƒƒtkspt‚ttd ƒ 
t¡dttd ƒ t dttd ƒ  ks¬t‚tt| ƒ 
t¡tt| ƒt dtt| ƒ  ksÞt‚ttdƒƒ d
¡ tdd
ƒd¡st‚ttddƒƒ ¡  tdƒ¡s&t‚tdƒjdks:t‚tdddjsNt‚t ddd}t|ddjsnt‚t|d ddjd ksŠt‚t| dtj  ddjdks®t‚ttjdddjdksÊt‚ttddƒdddjsæt‚tddddjdks t‚td	dddjdkst‚tdddjs.t‚t dddd}t|ƒjdksPt‚t|ƒjdksdt‚t ddd}t|ƒjdks„t‚d S )Nr2   r   Fr;   r5   r6   r7   r¥   r†   é   z 0.701338383413663009202120278965gG³¦þ^Zé9z-0.834310366631110r”   Trf   rˆ   iöÿÿÿÚna)rœ   rš   rU   r£   )r   r   r*   r?   r   r   r   r   r	   r   Údiffr   r¯   r°   r   r   rŸ   r   rA   rB   r
   r    r§   )r2   r”   rÄ   rU   rD   rD   rE   Útest_lambertwW  sN     " <2 ÿ
"$rÆ   c                  C   s|   t dƒ} | jdkst‚| jdk	s$t‚dddtdƒ   }|jdk	sFt‚dttt tdƒƒƒt tdƒƒ ƒ }|jdk	sxt‚d S )Nr6   FTr5   iüÿÿr†   r7   )r   Zis_comparabler?   r¦   r   r   Z
is_nonzero)rV   Úe2Ze3rD   rD   rE   Útest_issue_5673…  s    $rÈ   c                      s   t dƒ‰ tt‡ fdd„ƒ d S )Nr*   c                      s   t ˆ ƒ d¡S ra   )r   r|   rD   rd   rD   rE   r}   ‘  r~   z test_log_fdiff.<locals>.<lambda>r   rD   rD   rd   rE   Útest_log_fdiff  s    rÉ   c                  C   s€   t dƒ} t| ƒ d| ¡| ks t‚t| ƒ d| ¡| d  d ksBt‚t| ƒ d| ¡| d d ksbt‚t| ƒ d| ¡tjks|t‚d S )Nr*   r   r5   r7   r9   rJ   r6   )r   r   rv   r?   r   rw   rd   rD   rD   rE   Útest_log_taylor_term”  s
    " rÊ   c                  C   s²   t ddd\} }}t| | ƒ ¡ t| | ƒks2t‚t| | | ƒ ¡ t| | | ƒksZt‚ttt ƒ ¡ ttƒttƒ ks~t‚ttt t ƒ ¡ ttƒttƒ ttƒ ks®t‚d S )NzA,B,CF)Zcommutative)r   r   r^   r?   r*   r+   r,   )ry   ÚBÚCrD   rD   rE   Útest_exp_expand_NCœ  s
     ($rÍ   c                  C   s8  t ddd} ttƒ ¡ ttƒdfks(t‚tt ƒ ¡ dttƒfksFt‚tdt ƒ ¡ dtdt ƒfksjt‚tdƒ ¡ dtdƒfks†t‚t| ƒ ¡ dt|  ƒfks¤t‚t|  ƒ ¡ t|  ƒdfksÄt‚tt t ƒ ¡ dttt ƒfksêt‚tt |  ƒ ¡ dtt|  ƒfkst‚t|  ƒ ¡ t|  ƒdfks4t‚d S )NrU   Tr£   r5   r†   r7   )r   r   r*   Zas_numer_denomr?   r	   rp   rD   rD   rE   Útest_as_numer_denom¥  s    $ &(rÎ   c                  C   s(  t ddd\} }tttd ƒƒdks(t‚ttdƒƒdks<t‚ttddt  ƒƒtdƒks\t‚ttd	 ƒ ¡ ttd	 ƒks|t‚tttƒƒtkst‚t| | ƒ 	¡ t| ƒt|ƒ ks´t‚t| t ƒ 	¡ tt| ƒ ksÔt‚tdƒjdksæt‚td
t
 t ƒjdd ¡ d dkst‚tdƒjdks$t‚d S )Nzx yTrZ   r9   r5   r   r7   r8   rˆ   g      ð?rJ   rp   )r   Úabsr   r	   r?   r   rU   r   r,   r^   r   Zas_real_imagr¨   r[   rD   rD   rE   Ú
test_polar³  s      $ *rÐ   c                  C   sh   t dƒ} t dƒ\}}}}tt| | |d|f|d|fƒƒ}| ¡ tt| | ƒ|d|f|d|fƒksdt‚d S )Nrº   zm n i jr   )r   r   r   r^   r   r?   )rº   ÚmrU   r„   ÚjÚexprrD   rD   rE   Ú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snt‚| ¡ t	|t|ƒ |d| fƒks’t‚tt|| ||  |d| f|d|fƒƒ}t|ƒ|ksÊt‚| ¡ t	|t|ƒ |t|ƒ  |d| f|d|fƒkst‚ttd| ddfƒƒ}t|ƒ|ks*t‚| ¡ |ks<t‚|jddt	tdƒ| ddfƒksbt‚ttt
|| ƒ|d| fƒƒ}| ¡ t	|| |d| fƒks t‚ttt
|| ƒ|d| fƒƒ}| ¡ |ksÎt‚|jddt	|| |d| fƒksôt‚tt|d t|ƒ |d| f|d|fƒƒ}| ¡ t	dt|ƒ t|ƒ |d| f|d|fƒksRt‚d S )Nr   ©rU   rÑ   úi,jT©rg   r4   rƒ   rf   r,   rX   rº   r5   r†   r9   r   r7   )Ú	sympy.abcrU   rÑ   r   r   r   r&   r?   r^   r   r   rÏ   )	rU   rÑ   r„   rÒ   r*   r+   r,   rº   rÓ   rD   rD   rE   Ú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sjt‚ttt|| ||  |d| f|d|fƒƒƒt|t|ƒ |t|ƒ  |d| f|d|fƒksÆt‚d S )	Nr   rÕ   rÖ   Tr×   rƒ   rf   r5   )	rØ   rU   rÑ   r   r&   r   r   r   r?   )rU   rÑ   r„   rÒ   r*   r+   rD   rD   rE   Ú test_log_product_simplify_to_sumî  s    8**ÿrÚ   c                  C   sè   t ttdddƒt ttdƒƒks$t‚tttdddƒtttdƒƒksHt‚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Ät‚tt||ƒƒtt||ƒƒksät‚d S )Nrˆ   Fr;   r+   Trf   rJ   )r&   r   r*   r?   r   r   r   )r+   Úl1Úb1Úl2Úb2rD   rD   rE   Útest_issue_8866ø  s    $$ rß   c                   C   s°  t dƒt dƒ d jddt dƒt dƒ ks0t‚t dƒt dƒ jddt dƒt dƒ d ks`t‚t dƒt dƒ jdddt d	ƒt dƒ  kst‚t dƒt dƒ t d
ƒ  jdddksºt‚tt dƒddt dƒdt dƒ  ksât‚tt dƒt dƒ ddt dƒt dƒ d kst‚tt dƒt d	ƒ t dƒ ddddt dƒ t d	ƒ  t dƒ ksZt‚tt dƒt d	ƒ t dƒ ddt dƒt dƒ t d	ƒdt dƒ  t d	ƒ  ks¬t‚d S )NrI   r8   r7   T)Úfactorr‰   rS   r5   rJ   ru   é   rL   Fé-   é   é   é   )r   r^   r?   r   rD   rD   rD   rE   Útest_log_expand_factor  s    000*(2ÿ
*ÿræ   c                  C   s$   t dddd} t| ƒjdks t‚d S )NrU   Tr×   )r   r   Zis_nonnegativer?   rp   rD   rD   rE   Útest_issue_9116  s    rç   c                   C   s`  t tttdt ƒƒ ƒ t¡tjks(t‚t tttdt ƒƒ ƒ t¡tjksPt‚ttdt ƒƒ t¡tjkspt‚ttdt ƒƒ t¡tjkst‚ttdt ƒd ƒ t¡t	dtdƒƒks¼t‚t tttdt ƒd ƒ ƒ t¡dksæt‚ttdt ƒd ƒ t¡tjkst‚t tttdt ƒd ƒ ƒ t¡tjks:t‚ttdt ƒd ƒ t¡t	t
 tdƒƒksjt‚t tttdt ƒd ƒ ƒ t¡t	ddƒksœt‚ttdt ƒd ƒ t¡t	t
 dƒksÈt‚t tttdt ƒd ƒ ƒ t¡t	ddƒksút‚ttdt ƒd ƒ t¡t	t
 t
ƒks&t‚t dt ttdt ƒd ƒ ƒ t¡t	dt
ƒks\t‚d S )Nr5   r7   r   r8   )r   r*   r   r    rr   r   rÁ   r?   r"   r   r   r!   rD   rD   rD   rE   Ú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   rF   rW   r\   r`   rc   re   ri   rk   rl   rm   rq   rs   rx   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ç   rè   rD   rD   rD   rE   Ú<module>   s´   (
,





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