U
    ZÊ¹jí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�s�t‚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/bwave/python/venv/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Út2Z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`   )
.#;	+

'