U
    ˜9%eíM  ã                   @   s$  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 d dlmZ d dlmZmZ d dlmZmZ d dl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m Z m!Z! d dlm"Z"m#Z#m$Z$ d dlm%Z%m&Z& d dlm'Z'm(Z( d dl)m*Z* d dl+m,Z, d dl-m.Z. d dl/m0Z0m1Z1 d dl2m3Z3 d dl4m5Z5m6Z6 dd„ Z7dd„ Z8dd„ Z9dd„ Z:dd„ Z;dd„ Z<d d!„ Z=d"d#„ Z>d$d%„ Z?d&d'„ Z@d(d)„ ZAd*d+„ ZBd,d-„ ZCd.d/„ ZDd0d1„ ZEd2d3„ ZFd4d5„ ZGd6d7„ ZHd8d9„ ZId:d;„ ZJd<d=„ ZKd>d?„ ZLd@dA„ ZMdBdC„ ZNe3dDdE„ ƒZOdFdG„ ZPdHdI„ ZQdJdK„ ZRdLdM„ ZSdNS )Oé    )Úproduct)ÚSubsÚ	count_opsÚdiffÚexpand)ÚEÚIÚRationalÚpi)ÚS)ÚSymbolÚsymbols)ÚexpÚlog)ÚcoshÚcothÚsinhÚtanh)Úsqrt)Ú	Piecewise)ÚcosÚcotÚsinÚtan)ÚacosÚasinÚatan2)ÚasecÚacsc)ÚacotÚatan)Ú	integrate)ÚMatrix)Úsimplify)ÚexptrigsimpÚtrigsimp)ÚXFAIL©ÚxÚyc                  C   s|  t dƒ\} }tdt| ƒd  ƒt| ƒd ks0t‚tdt| ƒd  ƒt| ƒd ksTt‚tt| ƒd t| ƒd  ƒdksxt‚tdt| ƒd  ƒdt| ƒd  ks t‚tdt| ƒd  d ƒt| ƒd ksÈt‚tdt| ƒd  t| ƒd  ƒdksðt‚tdt| ƒd  ƒdt| ƒd  kst‚tdt| ƒd  d ƒdt| ƒd  ksHt‚tdt| ƒd  t| ƒd  ƒdksrt‚tdt| ƒd  dt| ƒd   ƒdks t‚tdt| d ƒd  dt| d ƒd   ƒdt| ƒ d tddƒ ksìt‚tt| ƒt| ƒ ƒt| ƒkst‚tdt| ƒ t| ƒ ƒdt| ƒ ks8t‚tt| ƒd t| ƒd  ƒt| ƒd ksft‚t|t| ƒd  t| ƒd  ƒ|t| ƒd  ksœt‚tt| ƒt| ƒ ƒdt| ƒ ksÂt‚tt| | ƒt| | ƒ ƒdt| ƒ t|ƒ ksøt‚tt| | ƒt| | ƒ ƒdt|ƒ t| ƒ ks.t‚tt| | ƒt| | ƒ ƒdt| ƒ t|ƒ ksdt‚tt| | ƒt| | ƒ ƒdt| ƒ t|ƒ ksšt‚tt| | ƒt| ƒdt| ƒt|ƒ    ƒt|ƒt|ƒ t| ƒ t|ƒ  ksît‚tt| | ƒt| | ƒ ƒdt| ƒ t	|ƒ ks$t‚tt| | ƒt| | ƒ ƒdt|ƒ t	| ƒ ksZt‚tt	| | ƒt	| | ƒ ƒdt	| ƒ t	|ƒ kst‚tt	| | ƒt	| | ƒ ƒdt| ƒ t|ƒ ksÆt‚tt
| | ƒt
| ƒdt
| ƒt
|ƒ    ƒt|ƒt|ƒt
| ƒ t	|ƒ  kst‚ttdƒd tdƒd  ƒd	ks>t‚dt| ƒd  dt| ƒd   }tt|ƒƒtdƒksxt‚d S )
Núx,yé   é   é   é   é   éþÿÿÿç|ò°Pkš¿?ç      ð?)r   r%   r   r   ÚAssertionErrorr   r   r	   r   r   r   r   )r(   r)   Úe© r5   úa/var/www/html/Darija-Ai-API/env/lib/python3.8/site-packages/sympy/simplify/tests/test_trigsimp.pyÚtest_trigsimp1   sD    $$$(((*.*.L"*.6&6666* ÿ
6666*ÿ
& r7   c                   C   s  t tdƒd tdƒ tdƒ tdƒd  ƒtdƒd tdƒ tdƒ ksLt‚t tdƒd tdƒ tdƒ tdƒd  ƒtdƒd tdƒ tdƒ ks˜t‚t tdƒtdƒ tdƒ tdƒ ƒtdƒtdƒ tdƒ ksØt‚t tdƒtdƒ tdƒ tdƒ ƒtdƒtdƒ tdƒ kst‚t tdƒtdƒ tdƒ tdƒ ƒtdƒtdƒ tdƒ ks\t‚t tdƒtdƒ tdƒ tdƒ ƒtdƒtdƒ ks–t‚t tdƒtdƒ tdƒ tdƒ ƒt	dƒtdƒ tdƒ ksØt‚t t	dƒtdƒ tdƒ tdƒ ƒtdƒtdƒ tdƒ kst‚t t
dƒtdƒ tdƒ tdƒ ƒtdƒtdƒ tdƒ ks\t‚t t	dƒtdƒ tdƒ tdƒ ƒtdƒtdƒ tdƒ ksžt‚t t
dƒtdƒ tdƒ tdƒ ƒtdƒtdƒ tdƒ ksàt‚t t
dƒtdƒ tdƒ t	dƒ ƒtdƒtdƒ kst‚d S )Nr,   r.   )r%   r   r   r   r   r3   r   r   r   r   r   r5   r5   r5   r6   Útest_trigsimp1aB   s    LL@BB:BBBBBr8   c                  C   sÜ   t dƒ\} }tt| ƒd t|ƒd  t| ƒd t|ƒd   t| ƒd  dddksXt‚tt| ƒd t|ƒd  t| ƒd t|ƒd   t| ƒd  dddks¤t‚tt| | t|ƒd t|ƒd  ƒƒt| | dƒksØt‚d S )Nr*   r,   T©Ú	recursiver+   )r   r%   r   r   r3   r   r'   r5   r5   r6   Útest_trigsimp2Q   s     <ÿÿ<ÿÿÿ
ÿr;   c                  C   s@   t dƒ} ttdt| ƒd  dt| ƒd   ƒd ƒdk s<t‚d S )Nr(   ç       @r,   ç»½×Ùß|Û=)r   Úabsr%   r   r   r3   ©r(   r5   r5   r6   Útest_issue_4373[   s    r@   c                  C   sb  t dƒ\} }tt| ƒt| ƒ ƒt| ƒks,t‚tt| ƒd t| ƒd  ƒt| ƒd ksXt‚tt| ƒd t| ƒd  ƒt| ƒd ks„t‚tt| ƒd t| ƒd  ƒt| ƒd ks°t‚tt| ƒt| ƒ ƒdt| ƒ ksÔt‚tt| ƒd t| ƒd  ƒdt| ƒd  kst‚tt| ƒd t| ƒd  ƒdt| ƒd  ks8t‚tt| ƒƒtt| ƒt| ƒ ƒks^t‚d S )Nr*   r,   r.   é
   r+   )r   r%   r   r   r   r3   r'   r5   r5   r6   Útest_trigsimp3`   s     ,,,$22rB   c                  C   sn  t dƒ\} }}dt|ƒd  dt|ƒd   dt|ƒd   }t|ƒdksNt‚t|ƒd dt|ƒd  t|ƒd   dt|ƒd  t|ƒd   dt|ƒd   }t|ƒd  dt|ƒd   }t|| ƒdksÔt‚td	t|ƒd  t|ƒd  t|ƒd  ƒdks
t‚t|ƒd
  d t|ƒ t|ƒd
 d t|ƒ  td| ƒtd| ƒ d  }t|ƒdksjt‚d S )Núa x yéüÿÿÿé   é   r,   é   r-   éÿÿÿÿr0   r.   r   )r   r   r   r%   r3   r#   )Úar(   r)   ÚeqÚnÚdr5   r5   r6   Útest_issue_4661n   s    0T6NrM   c                  C   sh   t dƒ\} }t| ƒd t|ƒd  t| ƒd t|ƒd  t| ƒd   t| ƒd  }t|ƒdksdt‚d S )Núa br,   r+   )r   r   r   r   r%   r3   )rI   ÚbrJ   r5   r5   r6   Útest_issue_4494z   s    HrP   c                  C   sN   t dƒ\} }}tttt|ƒt|ƒd  |ƒ|ƒƒt|ƒt|ƒd  ksJt‚d S )NrC   r/   )r   r%   r   r!   r   r   r3   ©rI   r(   r)   r5   r5   r6   Útest_issue_5948€   s    "ÿrR   c                  C   s‚   t dƒ\} }}tt|ƒt|ƒ t|ƒt|ƒ  ƒt|| ƒksBt‚tt|ƒt|ƒ t|ƒt|ƒ  d ƒt|| ƒd ks~t‚d S )NrC   r.   )r   r%   r   r   r3   rQ   r5   r5   r6   Útest_issue_4775†   s    4rS   c                  C   s  t dƒ\} }}tt|ƒd t|ƒd t|ƒd   t|ƒd t|ƒd   ƒdksVt‚t| d t|ƒd  | d t|ƒd  t|ƒd   | d t|ƒd  t|ƒd   ƒ| d ksºt‚t| d t|ƒd  t|ƒd  | d t|ƒd  t|ƒd   ƒ| d t|ƒd  kst‚d S )NrC   r,   r+   )r   r%   r   r   r3   rQ   r5   r5   r6   Útest_issue_4280Œ   s    HdrT   c               
   C   s0  t dƒtdƒ t dƒtdƒ  t dƒ t dƒ tdƒtdƒ  t dƒtdƒ t dƒtdƒ  t dƒt dƒ tdƒtdƒ  t dƒt dƒ tdƒtdƒ  tdƒ tdƒtdƒ tdƒtdƒ  tdƒtdƒ tdƒtdƒ  f} dd„ | D ƒt dƒtdƒt dƒ tdƒtdƒtdƒ tdƒtdƒgks,t‚d S )Nr,   r.   c                 S   s   g | ]}t |ƒ‘qS r5   ©r%   )Ú.0r4   r5   r5   r6   Ú
<listcomp>œ   s     z#test_issue_3210.<locals>.<listcomp>r-   r+   )r   r   r   r   r3   )Zeqsr5   r5   r6   Útest_issue_3210“   s"     &úùrX   c                  C   sV  t dƒ\} }}tt|ƒd t|ƒd t|ƒ  ƒt|ƒks>t‚tttt|ƒt|ƒd  |ƒ|ƒƒt|ƒt|ƒd  kszt‚tttt|ƒt|ƒd  |ƒ|ƒƒt|ƒt|ƒd  ks¶t‚t|ƒ| t|ƒ|  }t|ƒ|ksÞt‚t| |d¡ƒt|ƒd ksþt‚t| |d¡ƒtdƒ| ks t‚t|ƒd t|ƒd  t|ƒd  t|ƒd   ¡ dt|ƒd  t|ƒd  ksvt‚tt|ƒt|ƒ t|| ƒ t|| ƒ ƒdt|ƒt|| ƒ  ksÀt‚tdƒtdƒd d  tdƒd d  }t|ƒ| 	¡ ksþt‚ttdƒtdƒd d  tdƒd d  ƒtdƒtdƒd  ksDt‚t
|ƒ t|ƒ¡dks`t‚t|ƒd t|ƒd  d }t|ƒd dt
|ƒd   }d||  }tt|ƒƒtdƒks¾t‚||d  ||  }t|ƒtjksæt‚t|ddtjksþt‚tdƒjst‚tt|ƒd  dt|ƒd  t|ƒd   t|ƒd  ƒd	ksRt‚d S )
NrC   r.   r,   r+   rE   FTr9   rH   )r   r%   r   r   r3   r   r!   Úsubsr   Úfactorr   Úequalsr   ÚNaNZ
is_Integer)rI   r(   r)   r4   rJ   ÚzZz1rK   r5   r5   r6   Útest_trigsimp_issues§   sB    0"ÿ"ÿ "2ÿ
*ÿ
(*ÿ
r^   c                  C   sZ   t dƒ} t| t| ƒ t| ƒ ƒ| t| ƒ ks0t‚tt| ƒ t| ƒt| ƒ  ƒdksVt‚d S )Nr(   r   )r   r%   r   r   r   r3   r?   r5   r5   r6   Útest_trigsimp_issue_2515Õ   s    (r_   c                   C   s,   t tdt ƒjddƒtdt ƒks(t‚d S )Nr,   T)Ztrig)r%   r   r(   r   r3   r5   r5   r5   r6   Útest_trigsimp_issue_3826Û   s    r`   c                  C   sv   t dddd} td| d  tt|  d ƒ d d| d  d  ƒd| d  tt|  d ƒ d d|  d  ksrt‚d S )NrK   T)ÚintegerZpositiver,   rE   r+   )r   r%   r   r
   r3   )rK   r5   r5   r6   Útest_trigsimp_issue_4032ß   s    2*ÿrb   c                   C   s$   t ttd ƒƒttd ƒks t‚d S )NrE   )r%   r   r
   r3   r5   r5   r5   r6   Útest_trigsimp_issue_7761å   s    rc   c                  C   s"  t dƒ\} }t ddd\}}t||t| ƒd   ƒ|t| ƒd  ksHt‚t||t| ƒd   ƒ|t| ƒd  kstt‚t|t| ƒd  |t| ƒd   ƒ|ks t‚t||t| ƒd   ƒ|t| ƒd  ksÌt‚t|t| ƒd  | ƒ|t| ƒd  ksøt‚t|t| ƒd  |t| ƒd   ƒ|ks&t‚t||t| ƒd   ƒ|t| ƒd  ksTt‚t|t| ƒd  | ƒ|t| ƒd  ks‚t‚t|t| ƒd  |t| ƒd   ƒ|ks°t‚t|| t| ƒd  || t| ƒd   ƒ|| ksêt‚t|t| ƒ t| ƒ ƒ|t| ƒ kst‚t|t| ƒ t| ƒ ƒ|t| ƒ ks>t‚t|t| ƒd  t| ƒd  ƒ|t| ƒd  kstt‚t|| t| ƒd  t| ƒd  ƒ|| t| ƒd  ks²t‚t|t| ƒ t| ƒ ƒ|t| ƒ ksÜt‚t|t| | ƒ |t| | ƒ  ƒd| t| ƒ t|ƒ kst‚t|t| | ƒ |t| | ƒ  ƒd| t|ƒ t| ƒ ks`t‚t|t| | ƒ |t| | ƒ  ƒd| t| ƒ t|ƒ ks¢t‚t|t| | ƒ |t| | ƒ  ƒd| t| ƒ t|ƒ ksät‚t|t| | ƒ |t| | ƒ  ƒd| t| ƒ t|ƒ ks&t‚t|t| | ƒ |t| | ƒ  ƒd| t|ƒ t| ƒ ksht‚t|t| | ƒ |t| | ƒ  ƒd| t| ƒ t|ƒ ksªt‚t|t| | ƒ |t| | ƒ  ƒd| t| ƒ t|ƒ ksìt‚t|tdƒd  |tdƒd   ƒd	| kst‚d S )
Nr*   zA,BF©Zcommutativer,   r.   r0   r1   r2   ©	r   r%   r   r   r3   r   r   r   r   )r(   r)   ÚAÚBr5   r5   r6   Útest_trigsimp_noncommutativeé   s4    ,,,,,....:**6>*BBBBBBBBrh   c                  C   sî  t dƒ\} }tt| ƒd d ƒt| ƒd ks0t‚tt| ƒd d ƒt| ƒd ksTt‚tt| ƒd t| ƒd  ƒdksxt‚tdt| ƒd  ƒdt| ƒd  ks t‚tddt| ƒd   ƒt| ƒd ksÈt‚tt| ƒd dt| ƒd   ƒdksðt‚tt| ƒd d ƒdt| ƒd  kst‚tdt| ƒd  d ƒdt| ƒd  ksHt‚tt| ƒd dt| ƒd   ƒdksrt‚tdt| ƒd  dt| ƒd   ƒdks t‚tdt| d ƒd  dt| d ƒd   ƒdt| ƒ d tddƒ ksìt‚tt| ƒt| ƒ ƒt| ƒkst‚tt| ƒƒtt| ƒt| ƒ ƒks4t‚tt| ƒt| ƒ ƒdt| ƒ ksZt‚tdt| ƒ t| ƒ ƒdt| ƒ ks„t‚tt| ƒd t| ƒd  ƒt| ƒd ks²t‚t|t| ƒd  t| ƒd  ƒ|t| ƒd  ksèt‚tt| ƒt| ƒ ƒdt| ƒ kst‚td t	 td t	 td t	 fD ]t}tt|ƒt| ƒ t|ƒt| ƒ  ƒt| | ƒksjt‚tt|ƒ t| ƒ t|ƒt| ƒ  ƒt| | ƒks0t‚q0dt| ƒd  dt| ƒd   }tt
|ƒƒt
dƒksàt‚ttt| ƒd d ƒƒtt| ƒd ƒkst‚tt| ƒd t|ƒd  t| ƒd t|ƒd   t| ƒd  d	d
dks\t‚tt| ƒd t|ƒd  t| ƒd t|ƒd   t| ƒd  d	d
dksªt‚ttdt| ƒd  dt| ƒd   ƒd ƒdk sàt‚tt| ƒd t| ƒd  ƒt| ƒd kst‚tt| ƒd t| ƒd  ƒt| ƒd ks<t‚tt| ƒd t| ƒd  ƒt| ƒd ksjt‚tt| ƒd t| ƒd  ƒdt| ƒd  ksœt‚tt| ƒt| ƒ ƒdt| ƒ ksÂt‚tt| ƒd t| ƒd  ƒdt| ƒd  ksôt‚tt| ƒd t| ƒd  ƒdt| ƒd  ks&t‚t| t| ƒ t| ƒ ƒ| t| ƒ ksPt‚tt| ƒ t| ƒt| ƒ  ƒdksxt‚t| ƒdt| ƒ ks’t‚tt| ƒdt| ƒ  ƒdks´t‚tdt| ƒd  dt| ƒd   ƒt| ƒd ksêt‚d S )Nr*   r,   r+   r-   r.   r/   rG   rE   Tr9   r<   r=   rA   r   )r   r%   r   r   r3   r   r   r	   r
   r   r   r   r>   r   r   )r(   r)   rI   r4   r5   r5   r6   Útest_hyperbolic_simp  s`    $$$(((*.*.L"&&*.6&&6< .<ÿÿ
<ÿÿ
6...2&22*("ri   c                  C   s4  ddl m}  ttƒ}ttƒ}d| | d|  d|d   d|d   d	|  d
 | |d  d| |  d
|  d|d   d|d   d|  d  }d| d|  d }d| d|  }|| | |  g}| |ƒ|ksât‚| || tgdttƒkst‚| || ƒ|| kst‚t| d | || d   ddd| ksNt‚t| d | || d   dddd| ks‚t‚| |dgd|ksšt‚| |tdƒgd|ks¶t‚| tt	t ƒtt	t ƒ t
gdt	t
tƒ ksêt‚| t
tƒt
tƒ dt
tƒt
tƒ   t
ttfgdt
tt ƒks0t‚d S )Nr   )Útrigsimp_groebnerrE   é   r-   r.   é   r,   é   é   r/   é   é%   r+   rF   rG   )ÚhintsÚgroebner©ÚmethodT)rt   Z
polynomial)Úsympy.simplify.trigsimprj   r   r(   r   r3   r   r%   Úintr   r   r)   )rj   ÚcÚsÚexZresnumZresdenomÚresultsr5   r5   r6   Útest_trigsimp_groebnerG  s>    6Dÿ ÿÿ
 ÿÿ
4$
ÿ
ÿr{   c                     sÀ   dd„ } dd„ }t d t tt ƒd  tt ƒd   }tdgƒ}t|gƒ‰ tˆ d| d|ks^t‚tˆ d|d|kstt‚t d¡‰ t‡ fdd	„d
 ¡ D ƒƒsœt‚dt	t
ƒ t
 }t|ƒ|ks¼t‚d S )Nc                 S   s   t t| ƒƒS ©N)ÚlenÚstr©Úexprr5   r5   r6   Ú<lambda>f  ó    z2test_issue_2827_trigsimp_methods.<locals>.<lambda>c                 S   s
   t | ƒ S r|   )r   r   r5   r5   r6   r   g  r‚   r+   r,   Zfu)rt   Úmeasurec                 3   s   | ]}t ˆ |d ˆ kV  qdS )rs   NrU   )rV   Úm©ÚMr5   r6   Ú	<genexpr>q  s     z3test_issue_2827_trigsimp_methods.<locals>.<genexpr>zfu matching groebner old)r(   r   r   r"   r%   r3   ÚeyeÚallÚsplitr   r   r$   )Zmeasure1Zmeasure2r€   ZansrJ   r5   r…   r6   Ú test_issue_2827_trigsimp_methodse  s    $


ÿr‹   c                  C   s²   t ttddƒƒttddƒƒdgƒ} t ttddƒƒttddƒƒdgƒ}t ttddƒƒttddƒƒdgƒ}|  |¡}|  |¡}t|ƒttddƒƒks”t‚t|ƒttddƒƒks®t‚d S )Nr+   é2   r   é   r.   )r"   r   r	   r   Údotr%   r3   )Út1Út2Út3Úr1Úr2r5   r5   r6   Ú!test_issue_15129_trigsimp_methodsw  s    """

r”   c                     sn  dd„ ‰ t ttƒtt ƒ ƒdttƒ ks.t‚t ttƒtt ƒ ƒdttƒ ksTt‚t dttƒ dtt ƒ  ttƒtt ƒ  ƒdttƒ ks”t‚t dtdt ƒ d tdt ƒd  ƒdttƒ ksÌt‚ttƒtt	tƒ  ttƒtt	tƒ  ttƒttƒ ttƒttƒ g} ttt ƒtt t ƒtt ƒttƒg}t
‡ fdd„tdd„ | D ƒ|ƒD ƒƒsdt‚ttƒt	tƒ ttƒt	tƒ ttƒtttƒ  ttƒtttƒ  g}d	d„ |D ƒs¼t‚g }ttdƒ dttdƒ  tt tdƒ t ttdƒ  tttƒ dtttƒ  tt ttƒ t tttƒ  ttdt ƒ dttdt ƒ  g
}dtttt dt fD ]J}t|ƒ}t|d|   |d|   }| t|ƒ¡ | td| ƒ¡ qft
‡ fd
d„t||ƒD ƒƒsÔt‚tddƒD ]Š}t|ƒ}|d|  } t| ƒ}|t | ƒkst‚ˆ |dt|ƒ ƒs(t‚|d|  } t| ƒ}|t | ƒksNt‚ˆ |dt|ƒ ƒsÞt‚qÞd S )Nc                 S   s&   ddl m} || |ƒr| |ks"dS dS )Nr   )Úverify_numericallyFT)Zsympy.core.randomr•   )rI   rO   Útnr5   r5   r6   Úvalid  s    ztest_exptrigsimp.<locals>.validr,   r+   c                 3   s   | ]\}}ˆ ||ƒV  qd S r|   r5   ©rV   ÚiÚj©r—   r5   r6   r‡   Ž  s     z#test_exptrigsimp.<locals>.<genexpr>c                 S   s   g | ]}t |ƒ‘qS r5   ©r$   ©rV   Úeir5   r5   r6   rW     s     z$test_exptrigsimp.<locals>.<listcomp>c                 S   s   g | ]}t |ƒ|k‘qS r5   rœ   r   r5   r5   r6   rW   “  s     c                 3   s   | ]\}}ˆ ||ƒV  qd S r|   r5   r˜   r›   r5   r6   r‡   ž  s     r.   )r$   r   r(   r   r3   r   r   r   r   r   r‰   Úzipr)   r   Úappendr#   Úrange)r4   ÚokZueÚresrI   ÚwrJ   rx   r5   r›   r6   Útest_exptrigsimp€  sX    &&@8$ ÿ( ÿ ÿ6
    þ"r¥   c                  C   s‚   t ddd\} }tddd}t| | ƒtt| ƒt|ƒ ƒks@t‚t| ƒt|ƒ t|ƒt| ƒ  }|t|ƒ  krxdks~n t‚d S )NrN   Frd   r(   Tr   )r   r   r   r$   r3   )rI   rO   r(   Úpr5   r5   r6   Útest_exptrigsimp_noncommutative«  s
    $ r§   c                   C   s,   dt ddƒd  dt ddƒ d ks(t‚d S )Nr,   r+   r.   rE   )r	   r3   r5   r5   r5   r6   Útest_powsimp_on_numbers²  s    r¨   c                  C   s´   t dƒ\} }}}ddt|ƒ | dtd| ƒ |  dtd| ƒ |  d|   |  d	t|ƒ dtd| ƒ   }t|ƒd
dt|ƒ t|ƒ | d|   |  t|ƒ ks°t‚d S )Nzxp, y, x, zrE   iíÿÿÿr-   r.   rn   r,   rl   é	   r0   )r   r   r   r%   r   r3   )Zxpr)   r(   r]   rJ   r5   r5   r6   Útest_issue_6811_fail¶  s    drª   c                  C   s„   t t t  tt t   } tt ƒd tt ƒd  }tt t t t  ƒ}t|ƒ}tt| ||k f|dfƒƒt| ||k f|dfƒks€t‚d S )Nr,   T)	r(   r)   r   r   r   r#   r%   r   r3   )Úe1Úe2Ze3Ús2r5   r5   r6   Útest_PiecewiseÁ  s    ÿr®   c                   C   s6   t ttddƒƒttddƒƒ ƒttjƒd ks2t‚d S )Nr+   r,   rH   )r#   r   r	   r   r   ZHalfr3   r5   r5   r5   r6   Útest_issue_21594Î  s    r¯   c                  C   sD  t dƒ\} }tdt| ƒd  ddt| ƒd ks4t‚tdt| ƒd  ddt| ƒd ks\t‚tt| ƒd t| ƒd  dddks„t‚tdt| ƒd  dddt| ƒd  ks°t‚tdt| ƒd  d ddt| ƒd ksÜt‚tdt| ƒd  t| ƒd  dddks
t‚tdt| ƒd  dddt| ƒd  ks8t‚tdt| ƒd  t| ƒd  dddksft‚tdt| ƒd  dt| ƒd   dddks˜t‚tt| ƒt| ƒ ddt| ƒks¾t‚tdt| ƒ t| ƒ dddt| ƒ ksìt‚tt| ƒd t| ƒd  ddt| ƒd kst‚t|t| ƒd  t| ƒd  dd|t| ƒd  ksXt‚tt| ƒt| ƒ dddt| ƒ ks‚t‚tt| | ƒt| | ƒ dddt| ƒ t|ƒ ks¼t‚tt| | ƒt| | ƒ dddt|ƒ t| ƒ ksöt‚tt| | ƒt| | ƒ dddt| ƒ t|ƒ ks0t‚tt| | ƒt| | ƒ dddt| ƒ t|ƒ ksjt‚tt| | ƒt| | ƒ dddt| ƒ t|ƒ ks¤t‚tt| | ƒt| | ƒ dddt|ƒ t| ƒ ksÞt‚tt| | ƒt| | ƒ dddt| ƒ t|ƒ kst‚tt| | ƒt| | ƒ dddt| ƒ t|ƒ ksRt‚ttd	ƒd td	ƒd  ddd
ks|t‚tt| ƒt| ƒ dddt| ƒks¤t‚tt| ƒt| ƒ dddt| ƒt| ƒ ksÔt‚tt| ƒt| ƒ ddtgdt| ƒks t‚tdtt| ƒd t| ƒd  ƒd  dddtdƒd ks@t‚d S )Nr*   r+   r,   T)Úoldr-   r.   r0   r1   r2   Úcombined)r°   rt   rr   )r°   rt   rq   )r°   Údeepre   r'   r5   r5   r6   Útest_trigsimp_oldÒ  s8    (((,,...2&.2:*::::::::*(0,r³   c                  C   sè   t dƒ} t| ƒt| ƒ }}ttttttfD ]*}| 	d ¡}| t
||| ƒƒddks*t‚q*||g||gfD ]|\}}tddgddD ]b\}}t|| || ƒ}	t
|	dd}
|
|	ks°t‚t|
ƒt
t|	ƒƒksÈt‚t|
ƒt
t|	ƒƒks~t‚q~qfd S )NÚalphaT)ÚinverserH   r+   r,   )Úrepeat)r   r   r   r   r   r   r   r    r   rµ   r%   r3   r   r   )r´   rx   rw   ZfinvÚfrI   rO   r™   rš   ZangleZangle_invertedr5   r5   r6   Útest_trigsimp_inverseù  s    
r¸   N)TÚ	itertoolsr   Zsympy.core.functionr   r   r   r   Zsympy.core.numbersr   r   r	   r
   Zsympy.core.singletonr   Zsympy.core.symbolr   r   Z&sympy.functions.elementary.exponentialr   r   Z%sympy.functions.elementary.hyperbolicr   r   r   r   Z(sympy.functions.elementary.miscellaneousr   Z$sympy.functions.elementary.piecewiser   Z(sympy.functions.elementary.trigonometricr   r   r   r   r   r   r   r   r   r   r    Zsympy.integrals.integralsr!   Zsympy.matrices.denser"   Zsympy.simplify.simplifyr#   ru   r$   r%   Zsympy.testing.pytestr&   Z	sympy.abcr(   r)   r7   r8   r;   r@   rB   rM   rP   rR   rS   rT   rX   r^   r_   r`   rb   rc   rh   ri   r{   r‹   r”   r¥   r§   r¨   rª   r®   r¯   r³   r¸   r5   r5   r5   r6   Ú<module>   s`   )
.#;	+

'