a
    lº”hÒK  ã                   @   sT  d dl mZ d dlmZ d dl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 d dlmZmZmZmZmZmZ d dlmZmZ d d	lmZmZmZmZmZ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+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZB d dlCmDZD d dlEmFZFmGZGmHZHmIZImJZJmKZK dd„ ZLdd„ ZMdd„ ZNdd„ ZOdd„ ZPdd„ ZQdd„ ZRdd„ ZSdd„ ZTd d!„ ZUd"d#„ ZVd$d%„ ZWd&d'„ ZXd(d)„ ZYd*d+„ ZZd,d-„ Z[d.d/„ Z\d0d1„ Z]d2d3„ Z^d4d5„ Z_d6d7„ Z`d8d9„ Zad:d;„ Zbd<d=„ Zcd>d?„ Zdd@dA„ ZedBdC„ ZfdDdE„ ZgdFdG„ ZhdHdI„ ZidJS )Ké    )ÚAdd©ÚMul)ÚIÚRationalÚpi)Úevaluate)ÚS)ÚDummyÚSymbolÚsymbols)ÚcoshÚcothÚcschÚsechÚsinhÚtanh)ÚrootÚsqrt)ÚcosÚcotÚcscÚsecÚsinÚtan)Úpowsimp)ÚLÚTR1ÚTR10ÚTR10iÚTR11Ú_TR11ÚTR12ÚTR12iÚTR13ÚTR14ÚTR15ÚTR16ÚTR111ÚTR2ÚTR2iÚTR3ÚTR4ÚTR5ÚTR6ÚTR7ÚTR8ÚTR9ÚTRmorrieÚ_TR56ÚTRpowerÚhyper_as_trigÚfuÚprocess_common_addendsÚ
trig_splitÚas_f_sign_1)Úverify_numerically)ÚaÚbÚcÚxÚyÚzc                   C   s8   t dttƒ ttƒ ƒdttƒ dttƒ  ks4J ‚d S )Né   é   )r   r   r>   r   r   r   © rC   rC   úJ/var/www/auris/lib/python3.9/site-packages/sympy/simplify/tests/test_fu.pyÚtest_TR1   s    rE   c                   C   sl   t ttƒƒttƒttƒ ks J ‚t ttƒƒttƒttƒ ks@J ‚t tttƒttƒttƒ  ƒƒdkshJ ‚d S )Nr   )r)   r   r>   r   r   r   rC   rC   rC   rD   Útest_TR2   s      rF   c                  C   sV  t dt tt  ƒdt t ks$J ‚tttƒttƒ ƒttƒksDJ ‚tttƒttƒ ttƒ ƒttƒttƒ kstJ ‚tdttƒttƒ  ƒdttƒ ksœJ ‚tdttƒttƒ ttƒ  ƒdttƒ ttƒ ksÔJ ‚tttƒd ttƒd  ƒttƒttƒd  d ksJ ‚tttƒd ttƒd  ddttd ƒd ksDJ ‚ttdƒtdƒd  ddttjƒkspJ ‚ttdƒtdƒd  ddtdƒksšJ ‚ttdƒtdƒd  ddtdƒksÄJ ‚ttdƒtdƒd  ddtdtj ƒksôJ ‚ttdƒd tdƒ dddttjƒ ks$J ‚ttdƒd tdƒ dddtdƒ ksRJ ‚ttdƒd tdƒ dddtdƒ ks€J ‚ttdƒd tdƒ dddtdtj ƒ ks´J ‚ttdƒd t	  tdƒt	  ddttjƒt	 ksîJ ‚ttdƒd t	  tdƒt	  ddtdƒt	 ks&J ‚ttdƒd t	  tdƒt	  ddtdƒd t	  tdƒt	  kspJ ‚ttdƒd t	  tdƒt	  ddtdƒd t	  tdƒt	  ksºJ ‚ttdƒd t	 tdƒt	   ddttjƒt	  ksöJ ‚ttdƒd t	 tdƒt	   ddtdƒt	  ks0J ‚ttdƒd t	 tdƒt	   ddtdƒd t	 tdƒt	   kszJ ‚ttdƒd t	 tdƒt	   ddtdƒd t	 tdƒt	   ksÄJ ‚t
ddd} ttdƒd |  tdƒ|    ddtdtj ƒ|   ksJ ‚tdtdƒd |  tdƒ|     ddtdtj ƒ|  ksRJ ‚d S )	NrA   rB   T)Zhalfé   é   Úi©Úinteger)r   r>   r?   r*   r   r   r   r	   ÚHalfr;   r   )rI   rC   rC   rD   Ú	test_TR2i   s4    $ 0(8:6,**00..4:8JJ<:JJ@rM   c                  C   s   t ttttt   ƒƒtttt  t ƒks0J ‚ttd t ƒttƒ ksNJ ‚tdt d t ƒttƒ kspJ ‚tttttt	fD ]8} | tt
ddƒ ƒ}t |ƒ}t||ƒr´|j|jks€J ‚q€tdƒ  tdt d ƒ}W d   ƒ n1 sè0    Y  | dt ¡rt |ƒttd ƒksJ ‚d S )	NrA   é   é   é   Fé	   é   é   )r+   r   r?   r>   r   r   r   r   r   r   r   r:   Úfuncr   Zhas)ÚfrI   ÚjÚeqrC   rC   rD   Útest_TR3B   s    0"
.rX   c               	   C   sv   dt d t d t d t d fD ]R} tdƒ t| ƒ}W d   ƒ n1 sH0    Y  t|tƒrlt|ƒt| ƒksJ ‚qd S )Nr   é   rG   rO   rA   F)r   r   r   Ú
isinstancer,   )rI   rW   rC   rC   rD   Útest_TR4Q   s    "
&r[   c                  C   sh  dd„ } t ttƒd tt| ddƒttƒttƒd  d  ks@J ‚t ttƒd tt| ddƒttƒd ksjJ ‚t ttƒd	 tt| d	dƒttƒd  d 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tƒd  d d ksüJ ‚t ttƒt tt| dd
ƒttƒt ks(J ‚t ttƒdt d  tt| dd
ƒttƒdt d  ksdJ ‚d S )Nc                 S   s   d|  S ©NrB   rC   ©r>   rC   rC   rD   Ú<lambda>Y   ó    ztest__TR56.<locals>.<lambda>rO   rG   FrA   rB   é
   rY   Té   )ÚTr   r>   r   r   )ÚhrC   rC   rD   Ú
test__TR56X   s    8*4*4,rd   c                   C   st   t ttƒd ƒttƒd  d ks&J ‚t ttƒd ƒttƒd ksFJ ‚t ttƒd ƒttƒd  d d kspJ ‚d S ©NrA   rB   éþÿÿÿrG   )r-   r   r>   r   rC   rC   rC   rD   Útest_TR5e   s    & rg   c                   C   st   t ttƒd ƒttƒd  d ks&J ‚t ttƒd ƒttƒd ksFJ ‚t ttƒd ƒttƒd  d d kspJ ‚d S re   )r.   r   r>   r   rC   rC   rC   rD   Útest_TR6k   s    & rh   c                   C   s`   t ttƒd ƒtdt ƒd tj ks*J ‚t ttƒd d ƒtdt ƒd tddƒ ks\J ‚d S )NrA   rB   rO   )r/   r   r>   r	   rL   r   rC   rC   rC   rD   Útest_TR7q   s    *ri   c                   C   sV  t tdƒtdƒ ƒtdƒd tdƒd  ks0J ‚t tdƒtdƒ ƒtdƒd tdƒd  ks`J ‚t tdƒtdƒ ƒtdƒ d tdƒd  ks’J ‚t tdƒtdƒ tdƒ ƒtdƒd tdƒd  tdƒd  ksÖJ ‚t tdƒtdƒ tdƒ tdƒ ƒtdƒd tdƒd  tdƒd  tdƒd  td	ƒd  tdƒd  tddƒ ksRJ ‚t tdƒtdƒ tdƒ tdƒ tdƒ ƒtdƒd tdƒd  dtdƒ d
  td
ƒd
  tdƒd  td	ƒd
  tdƒd
  tdƒd
  tdd
ƒ tdƒd  ksþJ ‚t tttddƒ ƒd tttddƒ ƒd  d
ttd ƒd   ƒtddƒksRJ ‚d S )NrA   rO   rH   rB   rG   rY   r`   ra   é   é   é   é   rP   é@   )r0   r   r   r   r   rC   rC   rC   rD   Útest_TR8v   s2    002D":
ÿÿÿ
*>
ÿ
ÿ
ÿÿ
ÿÿ
ro   c                  C   sž  t j} d|  }t| ƒ| ksJ ‚ttdƒtdƒ ƒdt| ƒ t|ƒ ksJJ ‚ttdƒtdƒ ƒdt| ƒ t|ƒ ksvJ ‚ttdƒtdƒ ƒdt| ƒ t|ƒ ks¢J ‚ttdƒtdƒ ƒdt|ƒ t| ƒ ksÎJ ‚ttdƒdtdƒ  dtdƒ  ƒtdƒdt|ƒ t| ƒ  ksJ ‚ttdƒtdƒ dtdƒ tdƒ  ƒdtdƒ tdƒ ksVJ ‚ttdƒtdƒ tdƒ d tdƒ ƒdtdƒ tdƒ ks˜J ‚ttdƒtdƒ tdƒ tdƒ ƒdtt jƒ tdƒ ttddƒƒ ksæJ ‚ttdƒtdƒtdƒ  ƒtdƒtdƒtdƒ  ks J ‚tttƒ ttt ƒ ƒdttt d td  ƒ ttt d td  ƒ kstJ ‚tttƒ ttt ƒ ƒdttt d td  ƒ ttt d td  ƒ ksÈJ ‚ttƒ}ttƒ}d	D ]¼}||f||fttƒttt ƒfttƒttt ƒffD ]€} t|| ƒ}t	d
d„ |D ƒŽ }t|ƒ}| d j
| d j
krnt||jddƒrŽ|jsŽ| d j
| d j
kr||krJ ‚qqÜd S )NrO   rB   rA   rf   rG   rH   rY   rQ   ©)rB   rB   )rB   éÿÿÿÿ)rq   rB   )rq   rq   c                 S   s   g | ]}t |Ž ‘qS rC   r   ©Ú.0ZairC   rC   rD   Ú
<listcomp>˜   r_   ztest_TR9.<locals>.<listcomp>r   T©Ztrig)r	   rL   r1   r   r   r   r?   r>   Úzipr   rT   r:   ÚexpandÚis_Add)r;   r<   r=   ÚsÚsiÚargsÚexÚtrC   rC   rD   Útest_TR9ƒ   s@    ,,,,FBB""ÿ
:TT8
ÿÿþþr~   c                   C   sD  t ttt ƒƒttƒ ttƒ ttƒttƒ  ks6J ‚t ttt ƒƒttƒttƒ ttƒttƒ  ksjJ ‚t ttt t ƒƒttƒ ttƒ ttƒttƒ  ttƒ ttƒttƒ ttƒttƒ  ttƒ  ksÔJ ‚t ttt t ƒƒttƒ ttƒ ttƒttƒ  ttƒ ttƒttƒ ttƒttƒ  ttƒ  ks@J ‚d S ©N)r   r   r;   r<   r   r=   rC   rC   rC   rD   Ú	test_TR10Ÿ   s    64(&ÿÿ(&ÿÿr€   c                  C   s.  t tdƒtdƒ tdƒtdƒ  ƒtdƒks0J ‚t tdƒtdƒ tdƒtdƒ  ƒtdƒks`J ‚t tdƒtdƒ tdƒtdƒ  ƒtdƒksJ ‚t tdƒtdƒ tdƒtdƒ  ƒtdƒksÀJ ‚t tdƒtdƒ tdƒtdƒ  d ƒtdƒd ksøJ ‚t tdƒtdƒ tdƒtdƒ  tdƒ ƒtdƒtdƒ ks:J ‚t dtdƒ tdƒ dtdƒ tdƒ  tdƒ ƒdtdƒ tdƒ ksˆJ ‚t tdƒtdƒ tdƒtdƒtdƒ tdƒtdƒ    ƒtdƒksÒJ ‚tdƒtdƒ tdƒtdƒtdƒ tdƒtdƒ    tdƒ tdƒtdƒ  } t | ƒt |  ¡ ƒ  krJtdƒksPn J ‚t tdƒttƒ t tdƒttƒ t  ƒdtdƒ t tttd  ƒ ks¢J ‚t ttƒtdƒ ttƒtdƒ  ttƒtdƒ d  ttƒtdƒ d  ƒdtdƒ tttd  ƒ d ksJ ‚t ttƒtdƒ ttƒtdƒ  ttƒtdƒ d  ttƒtdƒ d  ƒtdƒtttd  ƒ d tdƒtttd  ƒ d  ksžJ ‚t ttƒtdƒttƒ  dtdƒ tttd  ƒ  ƒdttƒ ksèJ ‚t ttƒtdƒttƒ  dtdƒ tttd  ƒ  dttƒ  ƒdtdƒ tttd  ƒ ksNJ ‚t tdƒtdƒ tdƒtdƒ  ƒtdƒtdƒ tdƒtdƒ  ks˜J ‚td	d
d}t tdƒttƒ | tdƒttƒ |  ƒdtdƒ tttd  ƒ | ksöJ ‚ttƒ}ttƒ}ttƒ}ttƒ}dD ]p}|| || f|| || ffD ]H}t	||ƒ}t
dd„ |D ƒŽ }	t |	ƒ}
|	|
jdd s€|
jr>J ‚q>qttƒ}ttƒ}ttd ƒ}ttd ƒ}dD ]p}|| || f|| || ffD ]H}t	||ƒ}t
dd„ |D ƒŽ }	t |	ƒ}
|	|
jdd s|
jrÜJ ‚qÜq¸d S )NrB   rO   rA   rG   rP   rH   rY   rQ   ÚAF©Zcommutativerp   c                 S   s   g | ]}t |Ž ‘qS rC   r   rr   rC   rC   rD   rt   Ñ   r_   ztest_TR10i.<locals>.<listcomp>Tru   c                 S   s   g | ]}t |Ž ‘qS rC   r   rr   rC   rC   rD   rt   Ü   r_   )r   r   r   rw   r   r>   r   r?   r   rv   r   rx   )rW   r   r=   ry   rc   Úrrz   Zargsir{   r|   r}   rC   rC   rD   Ú
test_TR10iª   s    00008B2ÿ
:ÿ
ÿÿÿ.*ÿ
 ÿÿÿ
 ÿÿ6þ
Jÿ
ÿÿ
"ÿ
*ÿ
$
&$
r„   c                   C   s2  t tdt ƒƒdttƒ ttƒ ks(J ‚t tdt ƒƒdttƒd  ttƒd  ttƒ ttƒ  ksjJ ‚t tttddƒ ƒƒdttd ƒd  ttd ƒd  ttd ƒ ttd ƒ  ksÂJ ‚t tdt ƒƒttƒd  ttƒd  ksðJ ‚t tdt ƒƒttƒd  ttƒd  d dttƒd  ttƒd   ks@J ‚t tdƒƒtdƒksZJ ‚t tttddƒ ƒttddƒ ƒtttddƒ ƒd  tttddƒ ƒd  ks°J ‚t tdƒdƒtdƒd  tdƒd  ksÞJ ‚t tdƒdƒtdƒksúJ ‚t ttƒttd ƒ td ƒdttd ƒ ks.J ‚d S )NrA   rG   rO   rP   rY   )r    r   r>   r   r   r   rC   rC   rC   rD   Ú	test_TR11á   s    (B<ÿ.8ÿ
V.r…   c                   C   s¶  t ttd ƒtdt ƒ ttd ƒ ttd ƒttd ƒ  ƒdttd ƒ ttd ƒ tdt ƒ ks¬J t ttd ƒtdt ƒ ttd ƒ ttd ƒttd ƒ  ƒƒ‚t ttd ƒttd ƒ ƒdttd ƒ ksÜJ ‚t ttd ƒttd ƒ ƒddttd ƒ  ksJ ‚t tdt ƒttd ƒ ttd ƒ ƒtdt ƒdttd ƒ  ks„J t tdt ƒttd ƒ ttd ƒ ƒƒ‚t ttƒttd ƒ ƒdttd ƒ ks²J ‚d S )NrO   rA   rG   rY   ra   rB   )r!   r   r>   r   rC   rC   rC   rD   Ú
test__TR11ó   s    >&ÿ>ÿ06rr†   c                   C   sÖ   t ttt ƒƒttƒttƒ ttƒ ttƒ d  ks:J ‚t ttt t ƒƒttƒttƒttƒ ttƒ ttƒ d   dttƒttƒ ttƒ ttƒ ttƒ d    ks²J ‚t ttt ƒƒttt ƒksÒJ ‚d S r\   )r"   r   r>   r?   r@   rC   rC   rC   rD   Ú	test_TR12þ   s    :,0ÿÿr‡   c                   C   s  t tdƒtdƒ ƒtdƒ tdƒ tdƒtdƒ  d ks>J ‚t tdƒtdƒ ƒdtdƒtdƒ  tdƒtdƒ  kszJ ‚t tdƒtdƒ tdƒ ƒtdƒ tdƒ tdƒtdƒ  d tdƒ ksÈJ ‚t tdƒtdƒ tdƒ ƒtdƒ tdƒ d tdƒtdƒ  tdƒ ksJ ‚d S )NrO   rA   rH   rB   )r$   r   r   rC   rC   rC   rD   Ú	test_TR13  s    ><,ÿ,ÿrˆ   c                   C   s    t ttƒttƒ ƒdksJ ‚d S ©NrA   )r   r   r>   r   rC   rC   rC   rD   Útest_L  s    rŠ   c                  C   sî  t tdƒd tdƒd  ttd ƒ ƒtddƒks6J ‚t tdƒttƒ tdƒttƒ  ƒdtdƒ tttd  ƒ kszJ ‚ttƒd ttƒd  ttƒd  dttƒd   } t | ƒttƒd dttƒd   d ksÚJ ‚t tj	tdt ƒd  ƒttƒd ksJ ‚t tt
ƒttƒttƒ  tt
ƒttƒttƒ   ƒtdƒtt
t td  ƒ ks\J ‚t tdƒttƒ d ttƒd  ƒtttd  ƒks–J ‚t dtdt ƒd d  ttƒd  ttƒd  ƒttƒd  ttƒd  ksêJ ‚t tttddƒ ƒƒttd ƒksJ ‚t ttd ƒtttddƒ ƒ tttddƒ ƒ tttddƒ ƒ ƒtdd	ƒkshJ ‚t tttd
dƒ ƒtttddƒ ƒ tdƒtttddƒ ƒ tttd
dƒ ƒ  ƒtdƒ ksÌJ ‚t tdƒtdƒ ƒtdƒtdƒ ksöJ ‚tdd„ tdƒD ƒŽ }t |ƒtdƒdtdƒ  ks.J ‚t ttƒtttƒd ƒ ƒttƒtttƒd ƒ kshJ ‚t dttƒd  dttƒ  dtdƒ ttƒd   dtdƒ ttƒ  tdt ƒd  ƒd
ttƒ dtdƒ ttƒ  ksêJ ‚d S )Né2   rA   rY   rO   rG   rB   rQ   é   rk   rP   rH   c                 S   s   g | ]}t d | ƒ‘qS ©rA   ©r   ©rs   rI   rC   rC   rD   rt   /  r_   ztest_fu.<locals>.<listcomp>r`   i   iòÿÿÿé#   )r6   r   r   r   r   r   r>   r?   r	   rL   r;   r<   r   r   Úrange)rW   ÚexprrC   rC   rD   Útest_fu  s4    6D4,,2ÿ
:2ÿ
(VNÿþ
*":Zÿr“   c                   C   s\   t ttƒttƒ dd„ dttƒks(J ‚t ttƒttƒ dd„ dttƒttƒ ksXJ ‚d S )Nc                 S   s   |   ¡ S r   ©Z	count_opsr]   rC   rC   rD   r^   :  r_   z test_objective.<locals>.<lambda>)Zmeasurec                 S   s
   |   ¡  S r   r”   r]   rC   rC   rD   r^   <  r_   )r6   r   r>   r   r   rC   rC   rC   rD   Útest_objective9  s    ÿÿr•   c                  C   s6   dd„ } t tg d¢ddiŽ| dd„ dddks2J ‚d S )	Nc                 S   s   t dd„ | jD ƒŽ S )Nc                 S   s   g | ]}||d   ‘qS r   rC   r   rC   rC   rD   rt   C  r_   zAtest_process_common_addends.<locals>.<lambda>.<locals>.<listcomp>)r   r{   r]   rC   rC   rD   r^   C  r_   z-test_process_common_addends.<locals>.<lambda>)rB   rA   rO   rG   r   Fc                 S   s   | d S r‰   rC   r]   rC   rC   rD   r^   E  r_   )Úkey2Úkey1rY   )r7   r   )ZdorC   rC   rD   Útest_process_common_addends@  s    ÿÿr˜   c                   C   s  t ttƒttƒƒdddttdfks&J ‚t dttƒ dttƒ ƒdddttdfksTJ ‚t ttƒttƒ ttƒttƒ ƒttƒddttdfksŽJ ‚t ttƒtdƒ ttƒ dddddttd d	fksÆJ ‚t ttƒttƒddtdƒddttd
 d	fksøJ ‚t ttƒttƒ ddtdƒddttd
 d	fks.J ‚t tdƒttƒ tdƒ ttƒ dddtdƒ ddttd d	fksxJ ‚t tdƒ ttƒ tdƒ ttƒ dddtdƒ ddttd d	fksÄJ ‚t ttƒtdƒ ttƒtdƒ ddtdƒd ddttd d	fksJ ‚t tdƒ ttƒ ttƒ tdƒ ttƒ ttƒ dddtdƒ ttƒ ddttd d	fkspJ ‚t ttƒttƒƒd u sŒJ ‚t ttƒttƒƒd u s¨J ‚t dttƒ ttƒ ƒd u sÊJ ‚t ttƒtdƒ ttƒ ƒd u sðJ ‚t ttƒttƒ ttƒttƒ ƒd u sJ ‚t ttƒttƒ ttƒttƒ ƒd u sHJ ‚t tdƒ ttƒ tdƒttƒ ttƒ ddd u s‚J ‚t tdƒttƒ tdƒddd u sªJ ‚t tdƒttdƒ tdƒtdƒ ddd u sÜJ ‚t tdƒtdƒ tdƒtdƒ ddd u sJ ‚d S )NrB   TrA   rf   rq   rO   )ZtworY   FrG   rH   rP   )	r8   r   r>   r?   r   r   r   r@   r   rC   rC   rC   rD   Útest_trig_splitH  sP    &. ÿÿÿÿ
&ÿ
(ÿ
$ÿ
ÿ"þ
"&,,.ÿ
(2r™   c                  C   s„  t dtdd„ tdƒD ƒŽ  ƒdtdƒ tdƒ tdƒ tdƒ tdƒ d	td
ƒ tdƒ  ksbJ ‚t tƒtksrJ ‚t dt ƒdt ksŠJ ‚ttd ƒtttddƒ ƒ tttddƒ ƒ } tt | ƒƒtddƒksÔJ ‚tdd„ td
dƒD ƒŽ } tt	t | ƒƒƒtd
dƒksJ ‚ttƒttd ƒ }t |ƒ|ks2J ‚ttd ƒttd ƒ ttƒd  }t |ƒtdt ƒttƒd  d ks€J ‚d S )NrP   c                 S   s   g | ]}t |ƒ‘qS rC   rŽ   r   rC   rC   rD   rt   m  r_   z!test_TRmorrie.<locals>.<listcomp>r`   rm   rk   rH   rQ   rn   rB   rO   rA   rG   rq   ra   c                 S   s    g | ]}t d | t d ƒ‘qS )rA   é   )r   r   r   rC   rC   rD   rt   s  r_   rš   i   )
r2   r   r‘   r   r   r>   r   r   r0   r+   )ÚerW   rC   rC   rD   Útest_TRmorriel  s    >ÿ0 $rœ   c                  C   sì   t dttƒd  ƒdttƒd  ks(J ‚t ttƒd ttd ƒd  ƒdttƒ d tdt ƒd  ttƒ d tdt ƒd  tddƒ  ks”J ‚tddƒD ]H} tttƒ|  t ttƒ|  ƒƒsÄJ ‚tttƒ|  t ttƒ|  ƒƒsžJ ‚qžd S )NrB   rA   rO   rG   ra   )r4   r   r>   r   r   r‘   r:   )ÚkrC   rC   rD   Útest_TRpower}  s    (Fÿ"rž   c            	      C   sÀ  ddl m} m} ttƒd ttƒd  }t|ƒ\}}|t|ƒƒtdt ƒksPJ ‚tttt	 ƒƒ\}}|t
|ƒƒttƒtt	ƒ ttƒtt	ƒ d  ks˜J ‚tƒ }| ttƒ|ƒttt| ƒ ksÀJ ‚| ttƒ|ƒttt| ƒ ksâJ ‚| ttƒ|ƒtt| ƒt ksJ ‚| ttƒ|ƒtt| ƒks&J ‚| ttƒ|ƒtt| ƒksFJ ‚| ttƒ|ƒtt| ƒt ksjJ ‚ttttttfD ](}|tƒ}|| ||ƒ|ƒ|kszJ ‚qz|ttt	 t ƒt	ƒtttt  ƒksÐJ ‚|ttt	 t ƒt	ƒtttt  ƒt ks J ‚|ttt	 t ƒt	ƒtttt  ƒt ks0J ‚|ttt	 t ƒt	ƒtttt  ƒt ks`J ‚|tt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 )Nr   )Ú_osborneÚ	_osborneirA   rB   )Úsympy.simplify.furŸ   r    r   r>   r   r5   r6   r   r?   r"   r
   r   r   r   r   r   r   r   r   r   r   r   r@   )	rŸ   r    rW   r}   rU   r›   ÚdrT   rc   rC   rC   rD   Útest_hyper_as_trig†  s,    4""$  $,000,r£   c                  C   s  dd„ t ttfD ƒ\} }}t| | |  | d  ƒtt t ƒksDJ ‚t| | | | d  ƒtt t ƒ ksnJ ‚t|  | | | d  ƒtt t ƒks˜J ‚| | |  | d d  d|  d|   d| | d   }t| ¡ ƒdtt t ƒ tt t ƒ tt ƒttƒ d  d ksJ ‚tttƒttƒ ƒttƒttƒ ksBJ ‚| tdƒ |  | d  }t|ƒ|ksnJ ‚| | d d |  | d  }t|ƒ|ksžJ ‚| |  | d  }t|ƒ|ksÂJ ‚| | t d   ¡ d | | d  }t|ƒt d d  tt t ƒ ksJ ‚d S )Nc                 S   s   g | ]}t |ƒ‘qS rC   )r   r   rC   rC   rD   rt   ¥  r_   ztest_TR12i.<locals>.<listcomp>rB   rA   éýÿÿÿrO   )	r;   r<   r=   r#   r   rw   r>   r   r   )ÚtaÚtbZtcrW   rC   rC   rD   Ú
test_TR12i¤  s"    ***:
2ÿ
*$r§   c                  C   s  t tƒd t tƒd  } ttƒd  }t| ƒ|ks6J ‚td|  ƒd| ksNJ ‚tt tƒd d t tƒd d  ƒ|d ks~J ‚tt tƒd d t tƒd d  ƒ|d t tƒd  ksºJ ‚tt tƒd d t tƒd d  ƒ|d t tƒd  ksöJ ‚t tƒd t t tƒd t  } t| ƒ| ks(J ‚t tƒd t t tƒd  } t| ƒ| ksVJ ‚ttƒd d t tƒd  } t| ƒ| ks„J ‚tddd}tt tƒd | t tƒd |  ƒ|| ksÂJ ‚tttƒd | ttƒd |  ƒt tƒd  | ksþJ ‚t tƒd |d  t tƒd |  } t| ƒt tƒd ||  | fv sHJ ‚tttƒd ttƒd  ƒt tƒd  ksxJ ‚t tƒd t tƒd  }t tƒd d t tƒd  }dt tƒd  dt tƒd   }t|| | td  ƒdtd ttƒd  ttƒd   ksJ ‚d S )	NrB   rA   rO   rI   TrJ   iîÿÿÿrG   )r   r>   r   r%   r?   r   r   )rW   ZansrI   Úp1Úp2Zp3rC   rC   rD   Ú	test_TR14·  s.    0<< 2<$&0 rª   c                   C   s„   t ddttƒd   ƒttƒd  ks*J ‚tddttƒd   ƒttƒd  ksTJ ‚tddttƒd   ƒdttƒd  ks€J ‚d S )NrB   rA   )r&   r   r>   r   r'   r   r   r(   rC   rC   rC   rD   Útest_TR15_16_17Ó  s    **r«   c                   C   sÎ   t td ƒdtdfksJ ‚t td ƒdtdfks4J ‚t t d ƒdtdfksPJ ‚t t d ƒdtdfkslJ ‚t dt d ƒdtdfksŠJ ‚t tt t ƒttdfks¨J ‚t t t t ƒt tdfksÊJ ‚d S )NrB   rq   rA   )r9   r>   r?   rC   rC   rC   rD   Útest_as_f_sign_1Ù  s    r¬   c                  C   s   t ddd} t ddd}tdttƒ ttƒ | |  ƒtdt ƒ| |  ksPJ ‚ttdƒtdƒ | |  ƒtdƒ tdƒ tdƒtdƒ  d | |  ksžJ ‚dttƒ ttƒ | |  ttƒd   ¡ tdt ƒ| |  tdt ƒd  tj	d  ksüJ ‚d S )	Nr   Fr‚   ÚBrA   rO   rH   rB   )
r   r0   r   r>   r   r$   r   Zsimplifyr	   ZOne)r   r­   rC   rC   rD   Útest_issue_25590ã  s
    8Nr®   N)jZsympy.core.addr   Zsympy.core.mulr   Zsympy.core.numbersr   r   r   Zsympy.core.parametersr   Zsympy.core.singletonr	   Zsympy.core.symbolr
   r   r   Z%sympy.functions.elementary.hyperbolicr   r   r   r   r   r   Z(sympy.functions.elementary.miscellaneousr   r   Z(sympy.functions.elementary.trigonometricr   r   r   r   r   r   Zsympy.simplify.powsimpr   r¡   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   rb   r4   r5   r6   r7   r8   r9   Zsympy.core.randomr:   Z	sympy.abcr;   r<   r=   r>   r?   r@   rE   rF   rM   rX   r[   rd   rg   rh   ri   ro   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>   sT     € $7	&$	
