U
    	Ç-eÛH  ã                   @   s4  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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-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z? d dl@mAZA d dlBmCZCmDZDmEZEmFZFmGZGmHZH dd„ ZIdd„ ZJdd„ ZKd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/d0„ ZZd1d2„ Z[d3d4„ Z\d5d6„ Z]d7d8„ Z^d9d:„ Z_d;d<„ Z`d=d>„ Zad?d@„ ZbdAdB„ ZcdCdD„ ZddES )Fé    )ÚAdd©ÚMul)ÚIÚRationalÚpi)Ú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Ú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s4t‚d S )Né   é   )r   r   r<   r   r   r   ÚAssertionError© rB   rB   ú]/var/www/html/Darija-Ai-Train/env/lib/python3.8/site-packages/sympy/simplify/tests/test_fu.pyÚtest_TR1   s    rD   c                   C   sl   t ttƒƒttƒttƒ ks t‚t ttƒƒttƒttƒ ks@t‚t tttƒttƒttƒ  ƒƒdksht‚d S )Nr   )r(   r   r<   r   r   rA   r   rB   rB   rB   rC   Útest_TR2   s      rE   c                  C   sV  t dt tt  ƒdt t ks$t‚tttƒttƒ ƒttƒksDt‚tttƒttƒ ttƒ ƒttƒttƒ kstt‚tdttƒttƒ  ƒdttƒ ksœt‚tdttƒttƒ ttƒ  ƒdttƒ ttƒ ksÔt‚tttƒd ttƒd  ƒttƒttƒd  d kst‚tttƒd ttƒd  ddttd ƒd ksDt‚ttdƒtdƒd  ddttj	ƒkspt‚ttdƒtdƒd  ddtdƒksšt‚ttdƒtdƒd  ddtdƒksÄt‚ttdƒtdƒd  ddtdtj	 ƒksôt‚ttdƒd tdƒ dddttj	ƒ ks$t‚ttdƒd tdƒ dddtdƒ ksRt‚ttdƒd tdƒ dddtdƒ ks€t‚ttdƒd tdƒ dddtdtj	 ƒ ks´t‚ttdƒd t
  tdƒt
  ddttj	ƒt
 ksît‚ttdƒd t
  tdƒt
  ddtdƒt
 ks&t‚ttdƒd t
  tdƒt
  ddtdƒd t
  tdƒt
  kspt‚ttdƒd t
  tdƒt
  ddtdƒd t
  tdƒt
  ksºt‚ttdƒd t
 tdƒt
   ddttj	ƒt
  ksöt‚ttdƒd t
 tdƒt
   ddtdƒt
  ks0t‚ttdƒd t
 tdƒt
   ddtdƒd t
 tdƒt
   kszt‚ttdƒd t
 tdƒt
   ddtdƒd t
 tdƒt
   ksÄt‚tddd} ttdƒd |  tdƒ|    ddtdtj	 ƒ|   kst‚tdtdƒd |  tdƒ|     ddtdtj	 ƒ|  ksRt‚d S )	Nr?   r@   T)Zhalfé   é   Úi©Úinteger)r   r<   r=   rA   r)   r   r   r   r   ÚHalfr9   r   )rH   rB   rB   rC   Ú	test_TR2i   s4    $ 0(8:6,**00..4:8JJ<:JJ@rL   c                  C   s¾   t ttttt   ƒƒtttt  t ƒks0t‚ttd t ƒttƒ ksNt‚tdt d t ƒttƒ kspt‚ttttt	t
fD ]8} | ttddƒ ƒ}t |ƒ}t||ƒr´|j|jks€t‚q€d S )Nr?   é   é   é   )r*   r   r=   r<   rA   r   r   r   r   r   r   r   r8   Úfunc)ÚfrH   ÚjrB   rB   rC   Útest_TR3A   s    0"rS   c                  C   sh  dd„ } t ttƒd tt| ddƒttƒttƒd  d  ks@t‚t ttƒd tt| ddƒttƒd ksjt‚t ttƒd	 tt| d	dƒttƒd  d 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tƒd  d d ksüt‚t ttƒt tt| dd
ƒttƒt ks(t‚t ttƒdt d  tt| dd
ƒttƒdt d  ksdt‚d S )Nc                 S   s   d|  S ©Nr@   rB   ©r<   rB   rB   rC   Ú<lambda>M   ó    ztest__TR56.<locals>.<lambda>rN   rF   Fr?   r@   é
   é   Té   )ÚTr   r<   r   rA   r   )ÚhrB   rB   rC   Ú
test__TR56L   s    8*4*4,r]   c                   C   st   t ttƒd ƒttƒd  d ks&t‚t ttƒd ƒttƒd ksFt‚t ttƒd ƒttƒd  d d kspt‚d S ©Nr?   r@   éþÿÿÿrF   )r+   r   r<   r   rA   rB   rB   rB   rC   Útest_TR5Y   s    & r`   c                   C   st   t ttƒd ƒttƒd  d ks&t‚t ttƒd ƒttƒd ksFt‚t ttƒd ƒttƒd  d d kspt‚d S r^   )r,   r   r<   r   rA   rB   rB   rB   rC   Útest_TR6_   s    & ra   c                   C   s`   t ttƒd ƒtdt ƒd tj ks*t‚t ttƒd d ƒtdt ƒd tddƒ ks\t‚d S )Nr?   r@   rN   )r-   r   r<   r   rK   rA   r   rB   rB   rB   rC   Útest_TR7e   s    *rb   c                   C   sV  t tdƒtdƒ ƒtdƒd tdƒd  ks0t‚t tdƒtdƒ ƒtdƒd tdƒd  ks`t‚t tdƒtdƒ ƒtdƒ d tdƒd  ks’t‚t tdƒtdƒ tdƒ ƒtdƒd tdƒd  tdƒd  ksÖt‚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sRt‚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þt‚t tttddƒ ƒd tttddƒ ƒd  d
ttd ƒd   ƒtddƒksRt‚d S )Nr?   rN   rG   r@   rF   rY   rX   rZ   é   é   é   é   rO   é@   )r.   r   rA   r   r   r   rB   rB   rB   rC   Útest_TR8j   s2    002D":
ÿÿÿ
*>
ÿ
ÿ
ÿÿ
ÿÿ
rh   c                  C   sž  t j} d|  }t| ƒ| kst‚ttdƒtdƒ ƒdt| ƒ t|ƒ ksJt‚ttdƒtdƒ ƒdt| ƒ t|ƒ ksvt‚ttdƒtdƒ ƒdt| ƒ t|ƒ ks¢t‚ttdƒtdƒ ƒdt|ƒ t| ƒ ksÎt‚ttdƒdtdƒ  dtdƒ  ƒtdƒdt|ƒ t| ƒ  kst‚ttdƒtdƒ dtdƒ tdƒ  ƒdtdƒ tdƒ ksVt‚t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ƒ ƒdtt jƒ tdƒ ttddƒƒ ksæt‚ttdƒtdƒtdƒ  ƒtdƒtdƒtdƒ  ks t‚tttƒ ttt ƒ ƒdttt d td  ƒ ttt d td  ƒ kstt‚tttƒ ttt ƒ ƒdttt d td  ƒ ttt d td  ƒ ksÈt‚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t‚qqÜd S )NrN   r@   r?   r_   rF   rG   rY   é	   ©)r@   r@   )r@   éÿÿÿÿ)rk   r@   )rk   rk   c                 S   s   g | ]}t |Ž ‘qS rB   r   ©Ú.0ZairB   rB   rC   Ú
<listcomp>Œ   s     ztest_TR9.<locals>.<listcomp>r   T©Ztrig)r   rK   r/   rA   r   r   r   r=   r<   Úzipr   rP   r8   ÚexpandÚis_Add)r9   r:   r;   ÚsÚsiÚargsÚexÚtrB   rB   rC   Útest_TR9w   s@    ,,,,FBB""ÿ
:TT8
ÿÿþþrx   c                   C   sD  t ttt ƒƒttƒ ttƒ ttƒttƒ  ks6t‚t ttt ƒƒttƒttƒ ttƒttƒ  ksjt‚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Ô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tƒ  ks@t‚d S ©N)r   r   r9   r:   r   rA   r;   rB   rB   rB   rC   Ú	test_TR10“   s    64(&ÿÿ(&ÿÿrz   c                  C   s.  t tdƒtdƒ tdƒtdƒ  ƒtdƒks0t‚t tdƒtdƒ tdƒtdƒ  ƒtdƒks`t‚t tdƒtdƒ tdƒtdƒ  ƒtdƒkst‚t tdƒtdƒ tdƒtdƒ  ƒtdƒksÀt‚t tdƒtdƒ tdƒtdƒ  d ƒtdƒd ksøt‚t tdƒtdƒ tdƒtdƒ  tdƒ ƒtdƒtdƒ ks:t‚t dtdƒ tdƒ dtdƒ t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ƒ    ƒtdƒksÒt‚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 t‚t tdƒttƒ t tdƒttƒ t  ƒdtdƒ t tttd  ƒ ks¢t‚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t‚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žt‚t ttƒtdƒttƒ  dtdƒ tttd  ƒ  ƒdttƒ ksèt‚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sNt‚t tdƒtdƒ tdƒtdƒ  ƒtdƒtdƒ tdƒtdƒ  ks˜t‚t	d	d
d}t tdƒttƒ | tdƒttƒ |  ƒdtdƒ tttd  ƒ | ksöt‚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>t‚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Üt‚qÜq¸d S )Nr@   rN   r?   rF   rO   rG   rY   ri   ÚAF)Zcommutativerj   c                 S   s   g | ]}t |Ž ‘qS rB   r   rl   rB   rB   rC   rn   Å   s     ztest_TR10i.<locals>.<listcomp>Tro   c                 S   s   g | ]}t |Ž ‘qS rB   r   rl   rB   rB   rC   rn   Ð   s     )r   r   r   rA   rq   r   r<   r   r=   r
   rp   r   rr   )Úeqr{   r;   rs   r\   Úrrt   Zargsiru   rv   rw   rB   rB   rC   Ú
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(t‚t tdt ƒƒdttƒd  ttƒd  ttƒ ttƒ  ksjt‚t tttddƒ ƒƒdttd ƒd  ttd ƒd  ttd ƒ ttd ƒ  ksÂt‚t tdt ƒƒttƒd  ttƒd  ksðt‚t tdt ƒƒttƒd  ttƒd  d dttƒd  ttƒd   ks@t‚t tdƒƒtdƒksZt‚t tttddƒ ƒttddƒ ƒtttddƒ ƒd  tttddƒ ƒd  ks°t‚t tdƒdƒtdƒd  tdƒd  ksÞt‚t tdƒdƒtdƒksút‚t ttƒttd ƒ td ƒdttd ƒ ks.t‚d S )Nr?   rF   rN   rO   rY   )r   r   r<   r   rA   r   r   rB   rB   rB   rC   Ú	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¬t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Üt‚t ttd ƒttd ƒ ƒddttd ƒ  kst‚t tdt ƒttd ƒ ttd ƒ ƒtdt ƒdttd ƒ  ks„tt tdt ƒttd ƒ ttd ƒ ƒƒ‚t ttƒttd ƒ ƒdttd ƒ ks²t‚d S )NrN   r?   rF   rY   rZ   r@   )r    r   r<   r   rA   rB   rB   rB   rC   Ú
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:t‚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²t‚t ttt ƒƒttt ƒksÒt‚d S rT   )r!   r   r<   r=   rA   r>   rB   rB   rB   rC   Ú	test_TR12ò   s    :,0ÿÿr   c                   C   s  t tdƒtdƒ ƒtdƒ tdƒ tdƒtdƒ  d ks>t‚t tdƒtdƒ ƒdtdƒtdƒ  tdƒtdƒ  kszt‚t tdƒtdƒ tdƒ ƒtdƒ tdƒ tdƒtdƒ  d tdƒ ksÈt‚t tdƒtdƒ tdƒ ƒtdƒ tdƒ d tdƒtdƒ  tdƒ kst‚d S )NrN   r?   rG   r@   )r#   r   rA   r   rB   rB   rB   rC   Ú	test_TR13ú   s    ><,ÿ,ÿr‚   c                   C   s    t ttƒttƒ ƒdkst‚d S ©Nr?   )r   r   r<   r   rA   rB   rB   rB   rC   Útest_L  s    r„   c                  C   sî  t tdƒd tdƒd  ttd ƒ ƒtddƒks6t‚t tdƒttƒ tdƒttƒ  ƒdtdƒ tttd  ƒ kszt‚ttƒd ttƒd  ttƒd  dttƒd   } t | ƒttƒd dttƒd   d ksÚt‚t t	j
tdt ƒd  ƒttƒd kst‚t ttƒttƒttƒ  ttƒttƒttƒ   ƒtdƒttt td  ƒ ks\t‚t tdƒttƒ d ttƒd  ƒtttd  ƒks–t‚t dtdt ƒd d  ttƒd  ttƒd  ƒttƒd  ttƒd  ksêt‚t tttddƒ ƒƒttd ƒkst‚t ttd ƒtttddƒ ƒ tttddƒ ƒ tttddƒ ƒ ƒtdd	ƒksht‚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Ìt‚t tdƒtdƒ ƒtdƒtdƒ ksöt‚tdd„ tdƒD ƒŽ }t |ƒtdƒdtdƒ  ks.t‚t ttƒtttƒd ƒ ƒttƒtttƒd ƒ ksht‚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êt‚d S )Né2   r?   rY   rN   rF   r@   ri   é   rd   rO   rG   c                 S   s   g | ]}t d | ƒ‘qS ©r?   ©r   ©rm   rH   rB   rB   rC   rn   #  s     ztest_fu.<locals>.<listcomp>rX   i   iòÿÿÿé#   )r4   r   r   r   r   rA   r   r<   r=   r   rK   r9   r:   r   r   Úrange)r|   ÚexprrB   rB   rC   Ú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(t‚t ttƒttƒ dd„ dttƒttƒ ksXt‚d S )Nc                 S   s   |   ¡ S ry   ©Z	count_opsrU   rB   rB   rC   rV   .  rW   z test_objective.<locals>.<lambda>)Úmeasurec                 S   s
   |   ¡  S ry   rŽ   rU   rB   rB   rC   rV   0  rW   )r4   r   r<   r   r   rA   rB   rB   rB   rC   Útest_objective-  s    ÿÿr   c                  C   s:   dd„ } t tddddgddiŽ| d	d„ dd
dks6t‚d S )Nc                 S   s   t dd„ | jD ƒŽ S )Nc                 S   s   g | ]}||d   ‘qS r‡   rB   r‰   rB   rB   rC   rn   7  s     zAtest_process_common_addends.<locals>.<lambda>.<locals>.<listcomp>)r   ru   rU   rB   rB   rC   rV   7  rW   z-test_process_common_addends.<locals>.<lambda>r@   r?   rN   rF   ÚevaluateFc                 S   s   | d S rƒ   rB   rU   rB   rB   rC   rV   9  rW   )Úkey2Úkey1rY   )r5   r   rA   )ÚdorB   rB   rC   Útest_process_common_addends4  s     ÿÿr•   c                   C   s  t ttƒttƒƒdddttdfks&t‚t dttƒ dttƒ ƒdddttdfksTt‚t ttƒttƒ ttƒttƒ ƒttƒddttdfksŽt‚t ttƒtdƒ ttƒ dddddttd d	fksÆt‚t ttƒttƒddtdƒddttd
 d	fksøt‚t ttƒttƒ ddtdƒddttd
 d	fks.t‚t tdƒttƒ tdƒ ttƒ dddtdƒ ddttd d	fksxt‚t tdƒ ttƒ tdƒ ttƒ dddtdƒ ddttd d	fksÄt‚t ttƒtdƒ ttƒtdƒ ddtdƒd ddttd d	fkst‚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spt‚t ttƒttƒƒd ksŒt‚t ttƒttƒƒd ks¨t‚t dttƒ ttƒ ƒd ksÊt‚t ttƒtdƒ ttƒ ƒd ksðt‚t ttƒttƒ ttƒttƒ ƒd kst‚t ttƒttƒ ttƒttƒ ƒd ksHt‚t tdƒ ttƒ tdƒttƒ ttƒ ddd ks‚t‚t tdƒttƒ tdƒddd ksªt‚t tdƒt	tdƒ tdƒtdƒ ddd ksÜt‚t tdƒtdƒ tdƒtdƒ ddd kst‚d S )Nr@   Tr?   r_   rk   rN   )ÚtworY   FrF   rG   rO   )
r6   r   r<   r=   rA   r   r   r   r>   r   rB   rB   rB   rC   Útest_trig_split<  sR    &. ÿÿÿÿ
&ÿ
(ÿ
$ÿ
 ÿ"þ
"&,,.ÿ
(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sbt‚t tƒtksrt‚t dt ƒdt ksŠt‚ttd ƒtttddƒ ƒ tttddƒ ƒ } t	t | ƒƒtddƒksÔt‚tdd„ td
dƒD ƒŽ } t	t
t | ƒƒƒtd
dƒkst‚ttƒttd ƒ }t |ƒ|ks2t‚ttd ƒttd ƒ ttƒd  }t |ƒtdt ƒttƒd  d ks€t‚d S )NrO   c                 S   s   g | ]}t |ƒ‘qS rB   rˆ   r‰   rB   rB   rC   rn   a  s     z!test_TRmorrie.<locals>.<listcomp>rX   rf   rd   rG   ri   rg   r@   rN   r?   rF   rk   rZ   c                 S   s    g | ]}t d | t d ƒ‘qS )r?   é   )r   r   r‰   rB   rB   rC   rn   g  s     r˜   i   )r0   r   r‹   r   r   rA   r<   r   r   r.   r*   )Úer|   rB   rB   rC   Útest_TRmorrie`  s    >ÿ0 $rš   c                  C   sì   t dttƒd  ƒdttƒd  ks(t‚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”t‚tddƒD ]H} tttƒ|  t ttƒ|  ƒƒsÄt‚tttƒ|  t ttƒ|  ƒƒsžt‚qžd S )Nr@   r?   rN   rF   rZ   )r2   r   r<   rA   r   r   r‹   r8   )ÚkrB   rB   rC   Útest_TRpowerq  s    (Fÿ"rœ   c            	      C   sÀ  ddl m} m} ttƒd ttƒd  }t|ƒ\}}|t|ƒƒtdt ƒksPt‚tt	tt
 ƒƒ\}}|t|ƒƒt	tƒt	t
ƒ t	tƒt	t
ƒ d  ks˜t‚tƒ }| ttƒ|ƒttt| ƒ ksÀt‚| t	tƒ|ƒttt| ƒ ksât‚| ttƒ|ƒtt| ƒt kst‚| ttƒ|ƒtt| ƒks&t‚| ttƒ|ƒtt| ƒksFt‚| ttƒ|ƒtt| ƒt ksjt‚ttt	tttfD ](}|tƒ}|| ||ƒ|ƒ|kszt‚qz|ttt
 t ƒt
ƒtttt  ƒksÐt‚|ttt
 t ƒt
ƒtttt  ƒt ks t‚|ttt
 t ƒt
ƒt	ttt  ƒt ks0t‚|ttt
 t ƒt
ƒtttt  ƒt ks`t‚|tt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 )Nr   )Ú_osborneÚ	_osborneir?   r@   )Úsympy.simplify.fur   rž   r   r<   r   r3   r4   rA   r   r=   r!   r	   r   r   r   r   r   r   r   r   r   r   r   r>   )	r   rž   r|   rw   rQ   r™   ÚdrP   r\   rB   rB   rC   Útest_hyper_as_trigz  s,    4""$  $,000,r¡   c                  C   s  dd„ t ttfD ƒ\} }}t| | |  | d  ƒtt t ƒksDt‚t| | | | d  ƒtt t ƒ ksnt‚t|  | | | d  ƒtt t ƒks˜t‚| | |  | d d  d|  d|   d| | d   }t| ¡ ƒdtt t ƒ tt t ƒ tt ƒttƒ d  d kst‚tttƒttƒ ƒttƒttƒ ksBt‚| t	dƒ |  | d  }t|ƒ|ksnt‚| | d d |  | d  }t|ƒ|ksžt‚| |  | d  }t|ƒ|ksÂt‚| | t d   ¡ d | | d  }t|ƒt d d  tt t ƒ kst‚d S )Nc                 S   s   g | ]}t |ƒ‘qS rB   )r   r‰   rB   rB   rC   rn   ™  s     ztest_TR12i.<locals>.<listcomp>r@   r?   éýÿÿÿrN   )
r9   r:   r;   r"   r   rA   rq   r<   r   r   )ÚtaÚtbZtcr|   rB   rB   rC   Ú
test_TR12i˜  s"    ***:
2ÿ
*$r¥   c                  C   s  t tƒd t tƒd  } ttƒd  }t| ƒ|ks6t‚td|  ƒd| ksNt‚tt tƒd d t tƒd d  ƒ|d ks~t‚tt tƒd d t tƒd d  ƒ|d t tƒd  ksºt‚tt tƒd d t tƒd d  ƒ|d t tƒd  ksöt‚t tƒd t t tƒd t  } t| ƒ| ks(t‚t tƒd t t tƒd  } t| ƒ| ksVt‚ttƒd d t tƒd  } t| ƒ| ks„t‚tddd}tt tƒd | t tƒd |  ƒ|| ksÂt‚tttƒd | ttƒd |  ƒt tƒd  | ksþt‚t tƒd |d  t tƒd |  } t| ƒt tƒd ||  | fksHt‚tttƒd ttƒd  ƒt tƒd  ksxt‚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t‚d S )	Nr@   r?   rN   rH   TrI   iîÿÿÿrF   )r   r<   r   r$   rA   r=   r   r   )r|   ZansrH   Úp1Úp2Zp3rB   rB   rC   Ú	test_TR14«  s.    0<< 2<$&0 r¨   c                   C   s„   t ddttƒd   ƒttƒd  ks*t‚tddttƒd   ƒttƒd  ksTt‚tddttƒd   ƒdttƒd  ks€t‚d S )Nr@   r?   )	r%   r   r<   r   rA   r&   r   r   r'   rB   rB   rB   rC   Útest_TR15_16_17Ç  s    **r©   c                   C   sÎ   t td ƒdtdfkst‚t td ƒdtdfks4t‚t t d ƒdtdfksPt‚t t d ƒdtdfkslt‚t dt d ƒdtdfksŠt‚t tt t ƒttdfks¨t‚t t t t ƒt tdfksÊt‚d S )Nr@   rk   r?   )r7   r<   rA   r=   rB   rB   rB   rC   Útest_as_f_sign_1Í  s    rª   N)eZsympy.core.addr   Zsympy.core.mulr   Zsympy.core.numbersr   r   r   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.   r/   r0   r1   r[   r2   r3   r4   r5   r6   r7   Zsympy.core.randomr8   Z	sympy.abcr9   r:   r;   r<   r=   r>   rD   rE   rL   rS   r]   r`   ra   rb   rh   rx   rz   r~   r   r€   r   r‚   r„   r   r   r•   r—   rš   rœ   r¡   r¥   r¨   r©   rª   rB   rB   rB   rC   Ú<module>   sN     | $7	&$	