o
    à8VatH  ã                   @   s|  d dl mZmZmZmZmZmZmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZ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 m!Z! dd„ Z"dd„ Z#dd	„ Z$d
d„ Z%dd„ Z&dd„ Z'dd„ Z(dd„ Z)dd„ Z*dd„ Z+dd„ Z,dd„ Z-dd„ Z.dd„ Z/d d!„ Z0d"d#„ Z1d$d%„ Z2d&d'„ Z3d(d)„ Z4d*d+„ Z5d,d-„ Z6d.d/„ Z7d0d1„ Z8d2d3„ Z9ed4d5„ ƒZ:d6d7„ Z;d8d9„ Z<d:d;„ Z=d<S )=é    )ÚsymbolsÚsinÚsimplifyÚcosÚtrigsimpÚtanÚexptrigsimpÚsinhÚcoshÚdiffÚcotÚSubsÚexpÚtanhÚSÚ	integrateÚIÚMatrixÚSymbolÚcothÚpiÚlogÚ	count_opsÚsqrtÚEÚexpandÚ	PiecewiseÚRational)ÚXFAIL©ÚxÚyc                  C   sr  t dƒ\} }tdt| ƒd  ƒt| ƒd ksJ ‚tdt| ƒd  ƒt| ƒd ks*J ‚tt| ƒd t| ƒd  ƒdks<J ‚tdt| ƒd  ƒdt| ƒd  ksPJ ‚tdt| ƒd  d ƒt| ƒd ksdJ ‚tdt| ƒd  t| ƒd  ƒdksxJ ‚tdt| ƒd  ƒdt| ƒd  ksŒJ ‚tdt| ƒd  d ƒdt| ƒd  ks¢J ‚tdt| ƒd  t| ƒd  ƒdks¶J ‚tdt| ƒd  dt| ƒd   ƒdksÌJ ‚tdt| d ƒd  dt| d ƒd   ƒdt| ƒ d tddƒ ksñJ ‚tt| ƒt| ƒ ƒt| ƒksJ ‚tdt| ƒ t| ƒ ƒdt| ƒ ksJ ‚tt| ƒd t| ƒd  ƒt| ƒd ks.J ‚t|t| ƒd  t| ƒd  ƒ|t| ƒd  ksIJ ‚tt| ƒt| ƒ ƒdt| ƒ ks\J ‚tt| | ƒt| | ƒ ƒdt| ƒ t|ƒ kswJ ‚tt| | ƒt| | ƒ ƒdt|ƒ t| ƒ ks’J ‚tt| | ƒt| | ƒ ƒdt| ƒ t|ƒ ks­J ‚tt| | ƒt| | ƒ ƒdt| ƒ t|ƒ ksÈJ ‚tt| | ƒt| ƒdt| ƒt|ƒ    ƒt|ƒt|ƒ t| ƒ t|ƒ  ksòJ ‚tt| | ƒt| | ƒ ƒdt| ƒ t|ƒ ksJ ‚tt| | ƒt| | ƒ ƒdt|ƒ t| ƒ ks(J ‚tt| | ƒt| | ƒ ƒdt| ƒ t|ƒ ksCJ ‚tt| | ƒt| | ƒ ƒdt| ƒ t|ƒ ks^J ‚tt	| | ƒt	| ƒdt	| ƒt	|ƒ    ƒt|ƒt|ƒt	| ƒ t|ƒ  ks‡J ‚ttdƒd tdƒd  ƒdksšJ ‚dt| ƒd  dt| ƒd   }tt
|ƒƒt
dƒks·J ‚d S )	Núx,yé   é   é   é   é   éþÿÿÿç|ò°Pkš¿?)r   r   r   r   r   r   r   r	   r
   r   r   )r    r!   Úe© r+   úD/usr/lib/python3/dist-packages/sympy/simplify/tests/test_trigsimp.pyÚtest_trigsimp1   sD   $$$((((,(,J"*.6&6666* 
ÿ6666*
ÿ& r-   c                   C   s  t tdƒd tdƒ tdƒ tdƒd  ƒtdƒd tdƒ tdƒ ks&J ‚t tdƒd tdƒ tdƒ tdƒd  ƒtdƒd tdƒ tdƒ ksLJ ‚t tdƒtdƒ tdƒ tdƒ ƒtdƒtdƒ tdƒ kslJ ‚t tdƒtdƒ tdƒ tdƒ ƒtdƒtdƒ tdƒ ksŒJ ‚t tdƒtdƒ tdƒ tdƒ ƒtdƒtdƒ tdƒ ks¬J ‚t tdƒtdƒ tdƒ tdƒ ƒtdƒtdƒ ksÈJ ‚t tdƒtdƒ tdƒ tdƒ ƒtdƒtdƒ tdƒ ksèJ ‚t tdƒtdƒ tdƒ tdƒ ƒtdƒtdƒ tdƒ ks	J ‚t t	dƒtdƒ tdƒ tdƒ ƒtdƒtdƒ tdƒ ks*J ‚t tdƒtdƒ tdƒ tdƒ ƒtdƒtdƒ tdƒ ksKJ ‚t t	dƒtdƒ tdƒ tdƒ ƒtdƒtdƒ tdƒ kslJ ‚t t	dƒtdƒ tdƒ tdƒ ƒtdƒtdƒ ks‰J ‚d S )Nr$   r&   )
r   r   r   r   r   r   r	   r
   r   r   r+   r+   r+   r,   Útest_trigsimp1a6   s   LL@@@8@BBBB>r.   c                  C   sÜ   t dƒ\} }tt| ƒd t|ƒd  t| ƒd t|ƒd   t| ƒd  dddks,J ‚tt| ƒd t|ƒd  t| ƒd t|ƒd   t| ƒd  dddksRJ ‚tt| | t|ƒd t|ƒd  ƒƒt| | dƒkslJ ‚d S )Nr"   r$   T©Ú	recursiver#   )r   r   r   r   r   r   r+   r+   r,   Útest_trigsimp2E   s    <ÿÿ<ÿÿÿ
ÿr1   c                  C   s@   t dƒ} ttdt| ƒd  dt| ƒd   ƒd ƒdk sJ ‚d S )Nr    ç       @r$   ç»½×Ùß|Û=)r   Úabsr   r   r   ©r    r+   r+   r,   Útest_issue_4373O   s   8r6   c                  C   s\  t dƒ\} }tt| ƒt| ƒ ƒt| ƒksJ ‚tt| ƒd t| ƒd  ƒt| ƒd ks,J ‚tt| ƒd t| ƒd  ƒt| ƒd ksBJ ‚tt| ƒd t| ƒd  ƒt| ƒd ksXJ ‚tt| ƒt| ƒ ƒdt| ƒ ksjJ ‚tt| ƒd t| ƒd  ƒdt| ƒd  ks‚J ‚tt| ƒd t| ƒd  ƒdt| ƒd  ksšJ ‚tt| ƒƒtt| ƒt| ƒ ƒks¬J ‚d S )Nr"   r$   r&   é
   r#   )r   r   r   r   r   r   r+   r+   r,   Útest_trigsimp3T   s    ,,,$00(r8   c                  C   sj  t dƒ\} }}dt|ƒd  dt|ƒd   dt|ƒd   }t|ƒdks'J ‚t|ƒd dt|ƒd  t|ƒd   dt|ƒd  t|ƒd   dt|ƒd   }t|ƒd  dt|ƒd   }t|| ƒdksjJ ‚td	t|ƒd  t|ƒd  t|ƒd  ƒdks„J ‚t|ƒd
  d t|ƒ t|ƒd
 d t|ƒ  td| ƒtd| ƒ d  }t|ƒdks³J ‚d S )Núa x yéüÿÿÿé   é   r$   é   r%   éÿÿÿÿr(   r&   r   )r   r   r   r   r   )Úar    r!   ÚeqÚnÚdr+   r+   r,   Útest_issue_4661b   s   0T4NrC   c                  C   sh   t dƒ\} }t| ƒd t|ƒd  t| ƒd t|ƒd  t| ƒd   t| ƒd  }t|ƒdks2J ‚d S )Núa br$   r#   )r   r   r   r   r   )r?   Úbr@   r+   r+   r,   Útest_issue_4494n   s   HrF   c                  C   sN   t dƒ\} }}tttt|ƒt|ƒd  |ƒ|ƒƒt|ƒt|ƒd  ks%J ‚d S )Nr9   r'   )r   r   r   r   r   r   ©r?   r    r!   r+   r+   r,   Útest_issue_5948t   s   "ÿrH   c                  C   s‚   t dƒ\} }}tt|ƒt|ƒ t|ƒt|ƒ  ƒt|| ƒks!J ‚tt|ƒt|ƒ t|ƒt|ƒ  d ƒt|| ƒd ks?J ‚d S )Nr9   r&   )r   r   r   r   rG   r+   r+   r,   Útest_issue_4775z   s   4@rI   c                  C   s  t dƒ\} }}tt|ƒd t|ƒd t|ƒd   t|ƒd t|ƒd   ƒdks+J ‚t| d t|ƒd  | d t|ƒd  t|ƒd   | d t|ƒd  t|ƒd   ƒ| d ks]J ‚t| d t|ƒd  t|ƒd  | d t|ƒd  t|ƒd   ƒ| d t|ƒd  ks‹J ‚d S )Nr9   r$   r#   )r   r   r   r   rG   r+   r+   r,   Útest_issue_4280€   s   Hd`rJ   c               
   C   s.  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•J ‚d S )Nr$   r&   c                 S   ó   g | ]}t |ƒ‘qS r+   ©r   )Ú.0r*   r+   r+   r,   Ú
<listcomp>   ó    z#test_issue_3210.<locals>.<listcomp>r%   r#   )r   r   r	   r
   )Zeqsr+   r+   r,   Útest_issue_3210‡   s"    &úùrP   c                  C   sN  t dƒ\} }}tt|ƒd t|ƒd t|ƒ  ƒt|ƒksJ ‚tttt|ƒt|ƒd  |ƒ|ƒƒt|ƒt|ƒd  ks=J ‚tttt|ƒt|ƒd  |ƒ|ƒƒt|ƒt|ƒd  ks[J ‚t|ƒ| t|ƒ|  }t|ƒ|ksoJ ‚t| |d¡ƒt|ƒd ksJ ‚t| |d¡ƒtdƒ| ksJ ‚t|ƒd t|ƒd  t|ƒd  t|ƒd   ¡ dt|ƒd  t|ƒd  ks¹J ‚tt|ƒt|ƒ t|| ƒ t|| ƒ ƒdt|ƒt|| ƒ  ksÝJ ‚tdƒtdƒd d  tdƒd d  }t|ƒ| ¡ ksûJ ‚ttdƒtdƒd d  tdƒd d  ƒtdƒtdƒd  ksJ ‚t	|ƒ 
t|ƒ¡du s,J ‚t|ƒd t|ƒd  d }t|ƒd dt	|ƒd   }d||  }tt|ƒƒtdƒks[J ‚||d  ||  }t|ƒtju soJ ‚t|ddtju s{J ‚tdƒjsƒJ ‚tt|ƒd  dt|ƒd  t|ƒd   t|ƒd  ƒd	ks¥J ‚d S )
Nr9   r&   r$   r#   r;   FTr/   r>   )r   r   r   r   r   r   Zsubsr   Zfactorr   Zequalsr   ZNaNZ
is_Integer)r?   r    r!   r*   r@   ÚzZz1rA   r+   r+   r,   Útest_trigsimp_issues›   sB   0"ÿ"ÿ  2ÿ*ÿ(*
ÿHrR   c                  C   sZ   t dƒ} t| t| ƒ t| ƒ ƒ| t| ƒ ksJ ‚tt| ƒ t| ƒt| ƒ  ƒdks+J ‚d S )Nr    r   )r   r   r   r   r   r5   r+   r+   r,   Útest_trigsimp_issue_2515É   s   (*rS   c                   C   s,   t tdt ƒjddƒtdt ƒksJ ‚d S )Nr$   T)Ztrig)r   r   r    r   r+   r+   r+   r,   Útest_trigsimp_issue_3826Ï   ó   ,rT   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s9J ‚d S )NrA   T)ZintegerZpositiver$   r;   r#   )r   r   r   r   )rA   r+   r+   r,   Útest_trigsimp_issue_4032Ó   s   2*ÿrV   c                   C   s$   t ttd ƒƒttd ƒksJ ‚d S )Nr;   )r   r
   r   r+   r+   r+   r,   Útest_trigsimp_issue_7761Ù   s   $rW   c                  C   s  t dƒ\} }t ddd\}}t||t| ƒd   ƒ|t| ƒd  ks$J ‚t||t| ƒd   ƒ|t| ƒd  ks:J ‚t|t| ƒd  |t| ƒd   ƒ|ksPJ ‚t||t| ƒd   ƒ|t| ƒd  ksfJ ‚t|t| ƒd  | ƒ|t| ƒd  ks|J ‚t|t| ƒd  |t| ƒd   ƒ|ks’J ‚t||t| ƒd   ƒ|t| ƒd  ks¨J ‚t|t| ƒd  | ƒ|t| ƒd  ks¾J ‚t|t| ƒd  |t| ƒd   ƒ|ksÔJ ‚t|| t| ƒd  || t| ƒd   ƒ|| ksðJ ‚t|t| ƒ t| ƒ ƒ|t| ƒ ksJ ‚t|t| ƒ t| ƒ ƒ|t| ƒ ksJ ‚t|t| ƒd  t| ƒd  ƒ|t| ƒd  ks5J ‚t|| t| ƒd  t| ƒd  ƒ|| t| ƒd  ksTJ ‚t|t| ƒ t| ƒ ƒ|t| ƒ ksiJ ‚t|t| | ƒ |t| | ƒ  ƒd| t| ƒ t|ƒ ksŠJ ‚t|t| | ƒ |t| | ƒ  ƒd| t|ƒ t| ƒ ks«J ‚t|t| | ƒ |t| | ƒ  ƒd| t| ƒ t|ƒ ksÌJ ‚t|t| | ƒ |t| | ƒ  ƒd| t| ƒ t|ƒ ksíJ ‚t|t| | ƒ |t| | ƒ  ƒd| t| ƒ t|ƒ ksJ ‚t|t| | ƒ |t| | ƒ  ƒd| t|ƒ t| ƒ ks/J ‚t|t| | ƒ |t| | ƒ  ƒd| t| ƒ t|ƒ ksPJ ‚t|t| | ƒ |t| | ƒ  ƒd| t| ƒ t|ƒ ksqJ ‚t|tdƒd  |tdƒd   ƒd	| ksŠJ ‚d S )
Nr"   zA,BF©Zcommutativer$   r&   r(   r)   g      ð?©r   r   r   r   r   r   r	   r
   )r    r!   ÚAÚBr+   r+   r,   Útest_trigsimp_noncommutativeÝ   s4   ,,,,,,,,,8**6>*BBBBBBBB6r\   c                  C   sä  t dƒ\} }tt| ƒd d ƒt| ƒd ksJ ‚tt| ƒd d ƒt| ƒd ks*J ‚tt| ƒd t| ƒd  ƒdks<J ‚tdt| ƒd  ƒdt| ƒd  ksPJ ‚tddt| ƒd   ƒt| ƒd ksdJ ‚tt| ƒd dt| ƒd   ƒdksxJ ‚tt| ƒd d ƒdt| ƒd  ksŒJ ‚tdt| ƒd  d ƒdt| ƒd  ks¢J ‚tt| ƒd dt| ƒd   ƒdks¶J ‚tdt| ƒd  dt| ƒd   ƒdksÌJ ‚tdt| d ƒd  dt| d ƒd   ƒdt| ƒ d tddƒ ksñJ ‚tt| ƒt| ƒ ƒt| ƒksJ ‚tt| ƒƒtt| ƒt| ƒ ƒksJ ‚tt| ƒt| ƒ ƒdt| ƒ ks(J ‚tdt| ƒ t| ƒ ƒdt| ƒ ks=J ‚tt| ƒd t| ƒd  ƒt| ƒd ksTJ ‚t|t| ƒd  t| ƒd  ƒ|t| ƒd  ksoJ ‚tt| ƒt| ƒ ƒdt| ƒ ks‚J ‚td t td t td t fD ]:}tt|ƒt| ƒ t|ƒt| ƒ  ƒt| | ƒks°J ‚tt|ƒ t| ƒ t|ƒt| ƒ  ƒt| | ƒksÌJ ‚q“dt| ƒd  dt| ƒd   }tt	|ƒƒt	dƒksëJ ‚tt
t| ƒd d ƒƒt
t| ƒd ƒksJ ‚tt| ƒd t|ƒd  t| ƒd t|ƒd   t| ƒd  d	d
dks)J ‚tt| ƒd t|ƒd  t| ƒd t|ƒd   t| ƒd  d	d
dksPJ ‚ttdt| ƒd  dt| ƒd   ƒd ƒdk skJ ‚tt| ƒd t| ƒd  ƒt| ƒd ks‚J ‚tt| ƒd t| ƒd  ƒt| ƒd ks™J ‚tt| ƒd t| ƒd  ƒt| ƒd ks°J ‚tt| ƒd t| ƒd  ƒdt| ƒd  ksÉJ ‚tt| ƒt| ƒ ƒdt| ƒ ksÜJ ‚tt| ƒd t| ƒd  ƒdt| ƒd  ksõJ ‚tt| ƒd t| ƒd  ƒdt| ƒd  ksJ ‚t| t| ƒ t| ƒ ƒ| t| ƒ ks#J ‚tt| ƒ t| ƒt| ƒ  ƒdks7J ‚t| ƒdt| ƒ ksDJ ‚tt| ƒdt| ƒ  ƒdksUJ ‚tdt| ƒd  dt| ƒd   ƒt| ƒd kspJ ‚d S )Nr"   r$   r#   r%   r&   r'   r=   r;   Tr/   r2   r3   r7   r   )r   r   r	   r
   r   r   r   r   r   r   r   r4   r   r   )r    r!   r?   r*   r+   r+   r,   Útest_hyperbolic_simp   s`   $$$((((,(,J"&&*.6&&6< .<ÿ
ÿ<ÿ
ÿ6...2&22*(":r]   c                  C   s&  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}| |ƒ|v sqJ ‚| || tgdttƒks€J ‚| || ƒ|| ksŒJ ‚t| d | || d   ddd| ks¤J ‚t| d | || d   dddd| ks½J ‚| |dgd|v sÈJ ‚| |tdƒgd|v sÕJ ‚| ttt ƒttt ƒ t	gdtt	tƒ ksîJ ‚| t	tƒt	t
ƒ dt	tƒt	t
ƒ   t	tt
fgdt	tt
 ƒksJ ‚d S )Nr   )Útrigsimp_groebnerr;   é   r%   r&   é   r$   é   é   r'   é   é%   r#   r<   r=   )ÚhintsÚgroebner©ÚmethodT)rh   Z
polynomial)Zsympy.simplify.trigsimpr^   r   r    r   r   r   Úintr   r   r!   )r^   ÚcÚsÚexZresnumZresdenomÚresultsr+   r+   r,   Útest_trigsimp_groebner;  s<   6Dÿÿÿÿÿ2$
ÿ
ÿrn   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/J ‚tˆ d|d|ks:J ‚t d¡‰ t‡ fdd	„d
 ¡ D ƒƒsNJ ‚dtt	ƒ t	 }t
|ƒ|ks^J ‚d S )Nc                 S   s   t t| ƒƒS ©N)ÚlenÚstr©Úexprr+   r+   r,   Ú<lambda>Z  s    z2test_issue_2827_trigsimp_methods.<locals>.<lambda>c                 S   s
   t | ƒ S ro   )r   rr   r+   r+   r,   rt   [  s   
 r#   r$   Zfu)rh   Zmeasurec                 3   s     | ]}t ˆ |d ˆ kV  qdS )rg   NrL   )rM   Úm©ÚMr+   r,   Ú	<genexpr>e  s   € z3test_issue_2827_trigsimp_methods.<locals>.<genexpr>zfu matching groebner old)r    r   r   r   r   ZeyeÚallÚsplitr   r   r   )Zmeasure1Zmeasure2rs   Zansr@   r+   rv   r,   Ú test_issue_2827_trigsimp_methodsY  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sJJ ‚t|ƒttddƒƒksWJ ‚d S )Nr#   é2   r   é   r&   )r   r   r   r   Údotr   )Út1Út2Zt3Zr1Zr2r+   r+   r,   Ú!test_issue_15129_trigsimp_methodsk  s   """

r   c                     sj  dd„ ‰ t ttƒtt ƒ ƒdttƒ ksJ ‚t ttƒtt ƒ ƒdttƒ ks*J ‚t dttƒ dtt ƒ  ttƒtt ƒ  ƒdttƒ ksJJ ‚t dtdt ƒ d tdt ƒd  ƒdttƒ ksfJ ‚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 ƒƒs±J ‚ttƒttƒ ttƒttƒ ttƒtttƒ  ttƒtttƒ  g}d	d„ |D ƒsÜJ ‚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 ]%}t|ƒ}t|d|   |d|   }| t|ƒ¡ | td| ƒ¡ q1t	‡ fd
d„t
||ƒD ƒƒshJ ‚tddƒD ]E}t|ƒ}|d|  } t| ƒ}|t | ƒks†J ‚ˆ |dt|ƒ ƒs’J ‚|d|  } t| ƒ}|t | ƒks¥J ‚ˆ |dt|ƒ ƒs±J ‚qmd S )Nc                 S   s&   ddl m} || |ƒr| |ksdS dS )Nr   )Úverify_numericallyFT)Zsympy.testing.randtestr‚   )r?   rE   Útnr+   r+   r,   Úvalidu  s   ztest_exptrigsimp.<locals>.validr$   r#   c                 3   ó    | ]
\}}ˆ ||ƒV  qd S ro   r+   ©rM   ÚiÚj©r„   r+   r,   rx   ‚  ó   € z#test_exptrigsimp.<locals>.<genexpr>c                 S   rK   r+   ©r   ©rM   Zeir+   r+   r,   rN   ƒ  rO   z$test_exptrigsimp.<locals>.<listcomp>c                 S   s   g | ]}t |ƒ|k‘qS r+   r‹   rŒ   r+   r+   r,   rN   ‡  s    c                 3   r…   ro   r+   r†   r‰   r+   r,   rx   ’  rŠ   r&   )r   r   r    r
   r	   r   r   r   r   ry   Úzipr!   r   Úappendr   Úrange)r*   ÚokZueÚresr?   Úwr@   rk   r+   r‰   r,   Útest_exptrigsimpt  sL   &&@8$ÿ(ÿ$ÿ66 þ"÷r“   c                  C   s„   t ddd\} }tddd}t| | ƒtt| ƒt|ƒ ƒks J ‚t| ƒt|ƒ t|ƒt| ƒ  }|t|ƒ  kr=dks@J ‚ J ‚d S )NrD   FrX   r    Tr   )r   r   r   r   )r?   rE   r    Úpr+   r+   r,   Útest_exptrigsimp_noncommutativeŸ  s
   $ $r•   c                   C   s,   dt ddƒd  dt ddƒ d ksJ ‚d S )Nr$   r#   r&   r;   )r   r+   r+   r+   r,   Útest_powsimp_on_numbers¦  rU   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sXJ ‚d S )Nzxp, y, x, zr;   iíÿÿÿr%   r&   rb   r$   r`   é	   r(   )r   r   r   r   r   )Zxpr!   r    rQ   r@   r+   r+   r,   Ú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@J ‚d S )Nr$   T)r    r!   r   r   r   r   r   r   )Ze1Ze2Ze3Ús2r+   r+   r,   Útest_Piecewiseµ  s   ÿrš   c                   C   s6   t ttddƒƒttddƒƒ ƒttjƒd ksJ ‚d S )Nr#   r$   r>   )r   r   r   r
   r   ZHalfr+   r+   r+   r,   Útest_issue_21594Â  s   6r›   c                  C   s8  t dƒ\} }tdt| ƒd  ddt| ƒd ksJ ‚tdt| ƒd  ddt| ƒd ks.J ‚tt| ƒd t| ƒd  dddksBJ ‚tdt| ƒd  dddt| ƒd  ksXJ ‚tdt| ƒd  d ddt| ƒd ksnJ ‚tdt| ƒd  t| ƒd  dddks„J ‚tdt| ƒd  dddt| ƒd  ksšJ ‚tdt| ƒd  t| ƒd  dddks°J ‚tdt| ƒd  dt| ƒd   dddksÈJ ‚tt| ƒt| ƒ ddt| ƒksÚJ ‚tdt| ƒ t| ƒ dddt| ƒ ksðJ ‚tt| ƒd t| ƒd  ddt| ƒd ks	J ‚t|t| ƒd  t| ƒd  dd|t| ƒd  ks&J ‚tt| ƒt| ƒ dddt| ƒ ks;J ‚tt| | ƒt| | ƒ dddt| ƒ t|ƒ ksXJ ‚tt| | ƒt| | ƒ dddt|ƒ t| ƒ ksuJ ‚tt| | ƒt| | ƒ dddt| ƒ t|ƒ ks’J ‚tt| | ƒt| | ƒ dddt| ƒ t|ƒ ks¯J ‚tt| | ƒt| | ƒ dddt| ƒ t|ƒ ksÌJ ‚tt| | ƒt| | ƒ dddt|ƒ t| ƒ kséJ ‚tt| | ƒt| | ƒ dddt| ƒ t|ƒ ksJ ‚tt| | ƒt| | ƒ dddt| ƒ t|ƒ ks#J ‚ttd	ƒd td	ƒd  dddks8J ‚tt| ƒt| ƒ dd
dt| ƒksLJ ‚tt| ƒt| ƒ dddt| ƒt| ƒ ksdJ ‚tt| ƒt| ƒ ddtgdt| ƒkszJ ‚tdtt| ƒd t| ƒd  ƒd  dddtdƒd ksšJ ‚d S )Nr"   r#   r$   T)Úoldr%   r&   r(   r)   Zcombined)rœ   rh   rf   )rœ   rh   re   )rœ   ZdeeprY   r   r+   r+   r,   Útest_trigsimp_oldÆ  s8   (((,,,,,0$,2:*::::::::*(0,Dr   N)>Zsympyr   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   Zsympy.testing.pytestr   Z	sympy.abcr    r!   r-   r.   r1   r6   r8   rC   rF   rH   rI   rJ   rP   rR   rS   rT   rV   rW   r\   r]   rn   r{   r   r“   r•   r–   r˜   rš   r›   r   r+   r+   r+   r,   Ú<module>   s@   x )
.#;	+

