U
    9%eqÐ  ã                   @   sl  d dl mZ d dlmZmZ d dl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l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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/ d dl0m1Z1 d dl2m3Z3 d dlm4Z4 d dl5m6Z6 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* ZDd+d, ZEd-d. ZFd/d0 ZGd1d2 ZHd3d4 ZId5d6 ZJd7d8 ZKd9d: ZLd;d< ZMd=d> ZNd?d@ ZOdAdB ZPdCdD ZQdEdF ZRdGdH ZSdIdJ ZTdKdL ZUdMdN ZVdOdP ZWdQdR ZXdSdT ZYdUdV ZZdWdX Z[dYdZ Z\d[d\ Z]d]d^ Z^d_d` Z_dadb Z`dcdd Zadedf Zbdgdh Zcdidj Zddkdl Zedmdn Zfdodp Zgdqdr Zhdsdt Zidudv Zjdwdx Zkdydz 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|dd Z}dd Z~dd  Zd¡d¢ Zd£S )€é    )ÚAccumBounds)Ú
expand_mulÚexpand_trig)ÚEÚIÚIntegerÚRationalÚnanÚooÚpiÚzoo)ÚS)ÚSymbolÚsymbols)ÚimÚre)ÚexpÚlog)ÚacoshÚacothÚacschÚasechÚasinhÚatanhÚcoshÚcothÚcschÚsechÚsinhÚtanh)Úsqrt)ÚacosÚasinÚcosÚcotÚsecÚsinÚtan)ÚO)Ú	unchanged)ÚArgumentIndexError)Úraisesc                  C   sî  t d\} }tddd}tttks(ttttks8ttttksHttt t ks\ttddksltttdszttdtd ksttt| stt|  t|  ks¶ttttsÄttt tt ksÜtttdd	 t	 sòttdd	  t	 tdd	 t	  kstttt
 dks2ttt t
 dksJttdt t
 dksdttd
t t
 dks~ttddd  t t
 dks ttddd  t t
 dksÂtttt
 d t
ksÜttt t
 d t
 ksútttt
 tdd t
kstttt
 tdd t
 ks<tttt
 d tjtd t
 ksdtttt
 td
d tddtd t
 kstttt
 d tjtd t
 ksŸttt t
 d tddtd t
 ksìtttt
 tdd tjtd t
 kstttt
 tdd tddtd t
 ksLtttt
 d tjt
 kslttt t
 d tddt
 kstttt
 tdd tddt
 ksŒtttt
 tdd tddt
 ksætttt
 d ttd t
 ksttt t
 d ttd  t
 ks6tttddt
  sNtt| t
 t| t
 ksltt|t t
 dksttd| t t
 dks€tt|t t
 d t|t d t
 ksÒtt| jddtt| tt|  tt| tt|  fksttddd} t| jddt| dfksFttddd} tt
|  jdksjtt| jdks~ttt
jdksttddd}t|jdks²ttdddjdksÊttdt t
 ddjdksêtd S )Núx,yÚkT©Úintegerr   é   éÿÿÿÿé   é   éþÿÿÿéýÿÿÿé
   éI   é   ég   é   é   é   é   é   éûÿÿÿéi   F©ÚdeepÚx©Zextended_real©ÚrealÚp©Zpositive©Úevaluate)r   r   r   r	   ÚAssertionErrorr   r
   r)   r   r   r   r   r   ÚHalfr    r&   Úas_real_imagr#   r   r   r   Ú	is_finiteÚis_realÚis_zero)rC   Úyr-   rG   © rR   úo/var/www/html/Darija-Ai-API/env/lib/python3.8/site-packages/sympy/functions/elementary/tests/test_hyperbolic.pyÚ	test_sinh   sn    *"" "(2(..2 &**&*.$ÿ"rT   c                  C   sb   t d} t|  | dd¡| | d d  | d d  | d d	  | d
 d  t| d  ks^td S )NrC   r   r6   r;   r>   r:   éx   r8   i°  é	   i )r   r   Úseriesr(   rK   ©rC   rR   rR   rS   Útest_sinh_series_   s    >ÿrY   c                      s   t d tt fdd d S )NrC   c                      s   t   d¡S ©Nr2   )r   ÚfdiffrR   rX   rR   rS   Ú<lambda>g   ó    z!test_sinh_fdiff.<locals>.<lambda>©r   r+   r*   rR   rR   rX   rS   Útest_sinh_fdiffe   s    r_   c                  C   s|  t d\} }tddd}tttks(ttttks8ttttksHttt tksZttddksjtttdsxttdtdksttt| stt|  t| ks°tttt	 t
tksÈttt t	 t
tksâtttdd	 t søttdd	  t tdd	 t ks tttt	 d dks:ttt t	 d dksVttd
dd  d t t	 d dksttddd  d t t	 d dksªtttt	 dksÀttt t	 dksØttdt t	 dksòttdt t	 dkstttt	 d tjks(tttt	 tdd tddksNtttt	 d tjtd ksrttt t	 d tjtd kstttt	 tdd tddtd ksÆtttt	 td
d tddtd ksôtttt	 d tjtd ksttt t	 d tjtd ks>tttt	 tdd tddtd ksltttt	 tdd tddtd kstttt	 d t
td ksŒttt t	 d t
td ksàtttddt	  søtt| t	 t
| kstt|t t	 t
|t ks4ttd| t t	 t
d| t ks^ttt|t srtt| jddt
t| tt|  tt| tt|  fksžttddd} t| jddt| dfksættddd} tt	|  jdks
ttt	|  jdks"ttt	d d jdks>ttdt	 tj d ddjdksdtt| jdksxtd S )Nr,   r-   Tr.   r   r0   r1   r2   r3   r5   r6   r7   r8   r9   r:   é   r;   r4   r<   é   r>   r?   r@   r=   FrA   rC   rD   rE   rI   )r   r   r   r	   rK   r   r
   r)   r   r   r#   r   r   rL   r   r    rM   r   r   r&   r   rN   rO   ÚPirP   ©rC   rQ   r-   rR   rR   rS   Ú	test_coshj   sf    (**&$&..$&.."$"*$ÿ"&rd   c                  C   sb   t d} t|  | dd¡d| d d  | d d  | d d	  | d
 d  t| d  ks^td S )NrC   r   r6   r0   r2   r<   é   r>   éÐ  r`   i  )r   r   rW   r(   rK   rX   rR   rR   rS   Útest_cosh_series³   s    >ÿrg   c                      s   t d tt fdd d S )NrC   c                      s   t   d¡S rZ   )r   r[   rR   rX   rR   rS   r\   »   r]   z!test_cosh_fdiff.<locals>.<lambda>r^   rR   rR   rX   rS   Útest_cosh_fdiff¹   s    rh   c                  C   s  t d\} }tddd}tttks(ttttks8tttdksHttt dksZttddksjtttdsxttdtd ksttt| stt|  t|  ksŽttttsÂttt tt ksÚtttdd	 t	 sðttdd	  t	 tdd	 t	  kstttt
 dks0ttt t
 dksHttdt t
 dksbttd
t t
 dks|ttddd  t t
 dksttddd  t t
 dksÀtttt
 d tksÚttt t
 d tksötttt
 tdd tkstttt
 tdd tks6tttt
 d tdt
 ksXtttt
 td
d tdt
 kstttt
 d t
ksttt t
 d t
 ksžtttt
 tdd t
ksØtttt
 tdd t
ksøtttt
 d t
td ksttt t
 d t
 td ks@tttt
 tdd t
td kshtttt
 tdd t
td kstttt
 d ttd t
 ks¶ttt t
 d ttd  t
 ksàtttddt
  søtt| t
 t| t
 kstt|t t
 dks0ttd| t t
 dksNtt|t t
 d t|t d t
 ks|tt| jddtt| tt|  tt| d tt| d   tt| tt|  tt| d tt| d   fksttddd} t| jddt| dfks0ttt
t d d jdksPtt| jdksdttt
t |  d jd kstd S )Nr,   r-   Tr.   r0   r1   r   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   FrA   rC   rD   )r   r   r   r	   rK   r   r
   r)   r   r   r   r   r    r'   rM   r   r   r   r#   r   r&   rO   rc   rR   rR   rS   Ú	test_tanhŸ   sh    *""  "(  "&((&*.2ÿ6þ" ri   c                  C   sn   t d} t|  | dd¡| | d d  d| d  d  d| d	  d
  d| d  d  t| d  ksjtd S )NrC   r   r6   r;   r2   r:   é   r=   r8   i;  é>   rV   i  )r   r   rW   r(   rK   rX   rR   rR   rS   Útest_tanh_series  s    Jÿrl   c                      s   t d tt fdd d S )NrC   c                      s   t   d¡S rZ   )r   r[   rR   rX   rR   rS   r\     r]   z!test_tanh_fdiff.<locals>.<lambda>r^   rR   rR   rX   rS   Útest_tanh_fdiff  s    rm   c                  C   sÄ  t d\} }tddd}tttks(ttttks8tttdksHttt dksZttdtksjtttdsxttdtd ksttt| stt|  t|  ksŽtttt	 t	 t
t ksÒttt t	 t
tt	 ksðtttdd	 t sttdd	  t tdd	 t  ks2tttt	 t	 t
t ksRttt t	 t	t
t ksrttdt t	 t	 t
dt  ksttd
t t	 t	t
dt  ksÀttddd  t t	 t	t
ddd  t  ksöttddd  t t	 t	 t
ddd  t  ks.tttt	 d dksHttt t	 d dksdtttt	 tdd dkstttt	 tdd dks€tt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	 ksttt t	 d t	ks*tttt	 tdd t	 ksLtttt	 tdd t	 ksntttt	 d td t	 ksttt t	 d tdt	 ks¶tttt	 tdd td t	 ksàtttt	 tdd td t	 ks
tttt	 d t
td  t	 ks2ttt t	 d t
td t	 ksZtttddt	  srtt| t	 t
|  t	 kstt|t t	 t
|t  t	 ksºttd| t t	 t
d| t  t	 ksêtt|t t	 t
|t  t	 ksttttdtttd ks:ttdt	t d  tdks\tt| jddtt| tt|  tt| d tt| d   tt|  tt|  tt| d tt| d   fksättddd} t| jddt| dfkstttd|  t| d d dt|   ksDtttd|  t| d dt|   ddt| d    ksttt| | dt| t|  t| t|  ksÀtd S )Nr,   r-   Tr.   r0   r1   r   r2   r3   r4   r5   r6   r7   r;   r8   r9   r:   r<   r=   r>   r?   r@   FrA   rC   rD   )r   r   r   r	   rK   r   r
   r)   r   r   r$   r   r   r    r   r'   r   rM   r   r   r   r&   r   r#   r   rc   rR   rR   rS   Ú	test_coth  sl    *  (&68  $*""$$**(( (0(("2ÿ8þ"2Brn   c                  C   sf   t d} t|  | dd¡d|  | d  | d d  d| d  d	  | d
 d  t| d  ksbtd S )NrC   r   r`   r0   r;   é-   r2   r:   i±  r8   iu  )r   r   rW   r(   rK   rX   rR   rR   rS   Útest_coth_series]  s    Bÿrp   c                      s   t d tt fdd d S )NrC   c                      s   t   d¡S rZ   )r   r[   rR   rX   rR   rS   r\   e  r]   z!test_coth_fdiff.<locals>.<lambda>r^   rR   rR   rX   rS   Útest_coth_fdiffc  s    rq   c                  C   sÊ  t d\} }tddd}tddd}tttks4ttttksDtttdksTttt dksfttdtksvttdtd	 kstt|  t|  ks€ttt tt ksŒttd
d  t td
d t  ksätttt	 tksøttt t	 tksttd
t t	 tks*ttdt t	 tksDttddd  t t	 tksfttddd  t t	 tkstttt	 d
 t	 ks€ttt t	 d
 t	ksÀtttt	 t
dd
 t	 ksâtttt	 t
dd
 t	kstttt	 d dtd t	 ks(tttt	 t
dd d
td t	 ksTtttt	 d td
 t	 ksxttt t	 d td
t	 kstttt	 t
dd td
t	 ksÄtttt	 t
dd td
t	 ksìtttt	 d dt	 ks
ttt t	 d d
t	 ks*tttt	 t
dd d
t	 ksNtttt	 t
dd dt	 ksrtttt	 t
dd d
t	 kstttt	 d dttd  t	 ksÀttt t	 d d	ttd  t	 ksìtt| t	 dt|  t	 kstt|t t	 tks(ttd| t t	 tksFtt|t t	 d
 dt|t d
  t	 ksxtt|jdksttt| | d	t| t| t| t|   ksÆtd S )Nr,   r-   Tr.   ÚnrH   r   r1   r0   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r>   éùÿÿÿr?   r@   r=   )r   r   r   r	   rK   r   r
   r   r   r   r   r    r&   rO   r   r   r   ©rC   rQ   r-   rr   rR   rR   rS   Ú	test_cschh  sR    (""" &,$$(( $$$*,"2ru   c                  C   s~   t d} t|  | dd¡d|  | d  d| d  d  d	| d
  d  d| d  d  d| d  d  t| d  ksztd S )NrC   r   r6   r0   r>   r8   r;   ih  é   r:   i;  é   i:	 r7   rV   i 54 )r   r   rW   r(   rK   rX   rR   rR   rS   Útest_csch_series¥  s    >ÿ
ÿÿrx   c                      s   t d tt fdd d S )NrC   c                      s   t   d¡S rZ   )r   r[   rR   rX   rR   rS   r\   ®  r]   z!test_csch_fdiff.<locals>.<lambda>r^   rR   rR   rX   rS   Útest_csch_fdiff¬  s    ry   c                  C   sP  t d\} }tddd}tddd}tttks4ttttksDtttdksTttt dksfttddksvttd	tdkstt|  t| ks tttt t	tksžttt t t	tksÒttd
d  t
 td
d t
 ksøtttt d
 tksttt t d
 tks.ttddd  d t t d
 tksXttddd  d t t d
 tkstttt d	ksttt t d	ks°ttdt t d	ksÊttdt t dksätttt d d
ksþtttt tdd dkstttt d td
ks<ttt t d td
ks\tttt tdd td
 kstttt tdd td
 ksštttt d d
td ksÊttt t d d
td ksîtttt tdd dtd kstttt tdd dtd ks>tttt d dttd  ksdttt t d dttd  kstt| t dt|  ksªtt|t t dt|t  ksÐttd| t t dtd| t  ksþtt|jdksttt| | dt| t| t| t|   ksLtd S )Nzx, yr-   Tr.   rr   rH   r   r0   r1   r2   r3   r5   r6   r7   r8   r9   r:   r`   r;   r4   r<   r?   r>   r@   r=   )r   r   r   r	   rK   r   r
   r   r   r%   r   r   r    r#   rO   r   r   r   rt   rR   rR   rS   Ú	test_sech±  sL    &**  &&"$((&(&.rz   c                  C   sn   t d} t|  | dd¡d| d d  d| d  d  d	| d
  d  d| d  d  t| d  ksjtd S )NrC   r   r6   r0   r2   r:   r<   re   é=   r>   rf   i  r`   i  )r   r   rW   r(   rK   rX   rR   rR   rS   Útest_sech_seriesë  s    Jÿr|   c                      s   t d tt fdd d S )NrC   c                      s   t   d¡S rZ   )r   r[   rR   rX   rR   rS   r\   ó  r]   z!test_sech_fdiff.<locals>.<lambda>r^   rR   rR   rX   rS   Útest_sech_fdiffñ  s    r}   c                  C   s~  t d\} }tt| stt|  t|  ks2ttttksBttddksRttdttdd ksnttdttdd ksttttt d ks¢ttt t t d ksŸtttd tt d ksÚttt d t t d ksúttt	t	ksttt	 t	 ks"tttt	 t	ks8ttt t	 t	 ksRttt
t
ksdttttdd  dtdd  tt d ksttt tdd  dtdd  t t d ksÐttttd	d  d
 tt d ksúttt td	d  d
 t t d ks(ttttd	d  d
 tt tdd ksXttt td	d  d
 tt tdd kstttddttj ksªtttttdsÂtttddddksÜtttddddksötttddddksttttddtks*tttt ddt ksHtttd	t dddt t d	t  ksvtttddt  dd
t t  dt  ksštttddt  ddt  dt t  ksÚtttddt  ddt t  dt  kstttddt  dtt  dt  ks:ttddd}t|jdksZtttdddddjdksztd S )Nr,   r   r0   r2   r1   r>   r;   é   r:   r<   r6   r5   Úv1FrI   r4   rj   ra   i·ÿÿÿéa   r7   rv   rs   é   r8   é   ióÿÿÿrG   TrH   )r   r)   r   rK   r	   r   r    r   r   r
   r   r   r   rL   r   r   rP   )rC   rQ   rG   rR   rR   rS   Ú
test_asinhö  sJ     48*.02 .222.r   c                  C   sæ   t d} t|  t¡t| t| d d  ks2tt|  t¡t| td| d   ks\tt|  t¡t| ksvtt| dt   t¡t tt|  dt   ksªtt|  t	¡tt t|  t
d   tt
 d  ksâtd S )NrC   r2   r0   )r   r   Úrewriter   r    rK   r   r"   r   r!   r   rX   rR   rR   rS   Útest_asinh_rewrite.  s    **4r   c                  C   s&  t d} t| j| dd| ks"tt| t j| ddtt d ksHtt| t j| ddt t d kspttd|  j| ddt|  td ksttd|  j| ddt| td tt  ksÎtt| dt  j| ddttd ksøtt| dt  j| ddt td tt  ks.tt| dt  j| ddt t ttd  ksdtt| dt  j| ddt td ksttdt t|   | d  j| ddtdtd tt d  ksÚttdt t|   | d  j| ddtdtd tt d  ks"td S ©NrC   r0   ©Úcdirr2   r1   r;   )	r   r   Úas_leading_termrK   r   r   r   r"   r    rX   rR   rR   rS   Útest_asinh_leading_term7  s    &(,2*66.Hr   c                  C   s®   t d} t|  | dd¡| | d d  d| d  d  d| d  d	  t| d  ksZtt|  d| ¡}|d| d  d kstt|  d| |d¡d
| d  d	 ksªtd S )NrC   r   r`   r;   r>   r:   é(   r8   ép   r?   )r   r   rW   r(   rK   Útaylor_term©rC   Zt5rR   rR   rS   Útest_asinh_seriesI  s    :ÿr   c                  C   s8  t d} t| t  | dd ¡tt d t| dt   | tdd  tdd td    | tdd  td d dt d    | td	d  td d
 dt d
    t| d  ksÂtt| t  | dd ¡t t d t| dt   | tdd  tdd td    | tdd  td d dt d    | td	d  td d
 dt d
    t| d  kstt| dt  j| dd ddtt	d tdt |  d  td| d  d  tdt | d  d  t| d  ksütt| dt  j| dd ddtt tt	d  tdt |  d  td| d  d  tdt | d  d  t| d  kstt| dt  j| dd ddtt	d tt  tdt |  d  td| d  d  tdt | d  d  t| d  kstt| dt  j| dd ddt t	d tdt |  d  td| d  d  tdt | d  d  t| d  ksttdt t|   | d   | dd ¡tt d t
dtd  td|  d  | d tdd tdt d    | d td d dtd t d    t| d  ks4td S )NrC   r<   r2   r0   r;   r~   r:   é    r8   é  r   rV   é   r1   )r   r   r   Ú_eval_nseriesr   r    r   r(   rK   r"   r   rX   rR   rR   rS   Útest_asinh_nseriesR  s    ÿ"ÿ(ÿ(þ
þ
 ÿ"ÿ(ÿ(þ
þ&ÿÿÿ
ÿ.ÿÿÿ
ÿ.ÿÿÿ
ÿ(ÿÿÿ
ÿ>ÿ"ÿ(ÿ
ÿr   c                      s   t d tt fdd d S )NrC   c                      s   t   d¡S rZ   )r   r[   rR   rX   rR   rS   r\   k  r]   z"test_asinh_fdiff.<locals>.<lambda>r^   rR   rR   rX   rS   Útest_asinh_fdiffi  s    r   c                  C   sð  t d} tt|  sttddks(ttdtt ks<ttdtt d ksTtttjtt d ksntttddtt tdd ksttt	t	ks¢ttt
t
ks²ttt
 t
ksÄtttt
 t
tt d  ksättt t
 t
tt d  ksttttkstttttdtd  ks<ttt tt dtd  ksbtttdd dtd  tt tdd kstttdd  dtd  tt td	d ksÌtttdd tt d
 ksîtttd d tt tdd
 kstttdd tt d ks:tttd d tt tdd ksdtttdtd d tt d kstttdtd  d tt td	d ksÀtttdtd d tt tdd ksðtttdtd  d tt tdd ks"ttdtd dtd  tt d ksPttdtd  dtd  tt tdd kstttdd d
 tt d ks¬tttdd  d
 tt td
d ksÚtttdt  d¡dksútttdt  d¡dkstttt ds.tttddddksHtttddddksbtttddddks|ttttddtkstttt ddtks²tttd	t dddt t d	t  ksàtttdt dt ksþtttddt  ddt  ks$tttddt  ddt  ksJtttddt  ddt t  dt  ks|tttddt  ddt  d
t t  ks®ttttdt tdt ksÔttdddjdksìtd S )NrC   r0   r   r1   r2   r;   r:   r~   r8   r<   r>   r`   ra   z2.31244 + 1.5708*Ir?   z2.31244 - 1.5708*Ir   r5   FrI   r4   r=   iëÿÿÿé   T)r   r)   r   rK   r   r   r   rL   r   r	   r
   r   r   r    Ústrrr   r   rP   rX   rR   rR   rS   Ú
test_acoshn  sZ    $ $"&46"*"**202.6&.  .&&22&r   c                  C   s   t d} t|  t¡t| t| d t| d   ks:tt|  t¡t| d t|  td   td|   ksvtt|  t¡t| d t|  td   td|   ks²tt|  t	¡t| d t| d  t	t| d d |   t| d d  tt| d  |  t| d  d  dtd|     ks<tt ddd} t|  t	¡t| d t| d  t	t| d d |   t| d d  kstd S )NrC   r0   r2   r4   TrH   )
r   r   r   r   r    rK   r"   r   r   r   rX   rR   rR   rS   Útest_acosh_rewriteª  s    2<<>4ÿÿ
>ÿr   c                  C   s¢  t d} t|  | ¡tt d ks&tt| d  | ¡tdt|  ksLtt| d  | ¡tt ksjttd|  j| ddt|  td ksttd|  j| ddt|  td dt t  ksÎttt|  d j| ddtdksôttt |  d j| dddt t td ks*tt| d t|   tdd  j| ddttdd  ksltt| d t|   tdd  j| ddttdd ks¬ttdt|  d  j| ddttd d  ksättdt|  d  j| ddttd d ksttt | d  |  d j| ddttdd tt  ks\ttt | d  |  d j| ddttdd tt  kstd S )NrC   r2   r0   r   r1   r4   r;   )	r   r   r   r   r   rK   r    r   r   rX   rR   rR   rS   Útest_acosh_leading_term·  s    &,8&6B@86Br   c                  C   sÔ   t d} t|  | dd¡t |  tt d  t| d  d  dt | d  d  dt | d	  d
  t| d  ksxtt|  d| ¡}|dt | d  d ks€tt|  d	| |d¡dt | d	  d
 ksÐtd S )NrC   r   r`   r2   r;   r>   r:   r   r8   r   r5   r?   )r   r   rW   r   r   r(   rK   r   r   rR   rR   rS   Útest_acosh_seriesË  s    Xÿr   c                  C   s  t d} t| d  | dd ¡tdt|  td| tdd   d  dtd | tdd   d  dtd | td	d   d
  t| d  kstt| d  | dd ¡tt tdt t|   tdt | tdd   d  dtd t | tdd   d  dtd t | td	d   d
  t| d  ksFttt|  d j| dd ddtdtdt |  d  td| d  d  tdt | d  d  t| d  ksŸttt |  d j| dd ddtddt t  tdt |  d  td| d  d  tdt | d  d  t| d  ksDttdt|  d  j| dd ddttd d  td|  d  dtd t | d  d  dtd | d  d  t| d  ksÐttdt|  d  j| dd ddttd d td|  d  dtd t | d  d  dtd | d  d  t| d  ksZttt | d  |  d  | dd ¡t t t	tdd  td|  d  | d td d tdt d    | d td d dtd t d    t| d  ks
td S )NrC   r0   r<   r2   r;   r~   r:   r   r8   r   r   r4   rV   r   r=   é@  é»  é ¢  r1   )
r   r   r   r    r   r(   rK   r   r   r   rX   rR   rR   rS   Útest_acosh_nseriesÔ  s    "ÿÿÿ
ÿ
ÿÿ"ÿ"þ
þ"ÿÿÿ
ÿ$
ÿÿÿÿ
ÿ2ÿÿÿ
ÿ0ÿÿÿ
ÿ:ÿ$ÿ(ÿ
ÿr   c                      s   t d tt fdd d S )NrC   c                      s   t   d¡S rZ   )r   r[   rR   rX   rR   rS   r\   ì  r]   z"test_acosh_fdiff.<locals>.<lambda>r^   rR   rR   rX   rS   Útest_acosh_fdiffê  s    r    c                  C   sÐ  t d} tt|  sttddks(ttdtt ks<ttdtksLttdtt d ksdttddt t d ksttttksttttt d ksšttt tt d ksÂttttt	t d td  ksætttt
dtd tt d  ksttt t
dtd tt d  ks<tttdtd d	t t d
 ksftttddtd  tt d kstttddtd   dt t d ksÀttdtdtd  tt d ksêttdtdtd  dt t d kstttdd tt d ks:ttdtd dt t d ks`tttddtd   dt t d kstttdtdtd ks²ttdtd ttdd ksØttdtdtd  ttdtd d ksttdttjks&tttd ttdtd  ksNttdtd tttd d  ksztttd tttdd ks ttdtd tttd d  ksÌtttttdtd tdtd  dkstttttdtd tdtd  dks8ttttddtd  tddtd    ¡ dksvttttddtd   tddtd     ¡ dksžttttddtd  tddtd    ¡ dksöttttdtd dtd  dks$ttttdtd dtd  dksRtttttd td td td  dkstttdt  d¡dks¬tttdt  d¡dksÌtd S )NrC   r0   r   r1   r2   r;   r4   r>   ra   r~   r:   r6   rV   r`   r8   r<   z0.19869 - 1.5708*Ir?   z0.19869 + 1.5708*I)r   r)   r   rK   r   r   r
   r	   r   r   r   r    r   r   rL   r!   r   r   r   Úsimplifyr   rr   rX   rR   rR   rS   Ú
test_asechï  sN    $*,**0*."&0"&6(,&,66>B>..: r¢   c                  C   sŠ  t d} t| j| ddt|  td ks0tt| j| ddt|  td dt t  ksdtt| d j| ddtdt t|  ksttd|  j| ddtt d ksžtt| d j| ddtt ksÚttt|  d j| ddtd ksttt |  d j| ddtdks.ttt|  d j| ddtd ksXttt |  d j| ddtdksttt|  tdd  j| dddt t ttd d  ksÈttt|  tdd  j| ddttd d ksttt | d  |  d j| ddttd d dtd t d  ksRttt | d  |  d j| ddttd d dtd t d  ks¢td S )	NrC   r0   r   r2   r1   r;   r5   r4   )	r   r   r   r   rK   r   r   r    r   rX   rR   rR   rS   Útest_asech_leading_term)  s    (4.&"****F:Pr£   c                  C   sN  t d} t| j| ddddtdt|  | d d  d| d  d	  d
| d  d  d| d  d  t| d  ksztt| j| ddddtt td t|   | d d  d| d  d	  d
| d  d  d| d  d  t| d  ksött|  d| ¡}|d| d  d ks tt|  d| |d¡d| d  d ksJtd S )NrC   r   rV   r0   r   r2   r<   r;   é    r:   r>   é`   é#   r`   r3   r1   r?   iÝÿÿÿ)	r   r   rW   r   r(   rK   r   r   r   )rC   Zt6rR   rR   rS   Útest_asech_series=  s(    >ÿÿ
ÿ
8ÿÿÿ
ÿ
r§   c                  C   sŽ  t d} t| d  | dd ¡tdt|   dtd |  tdd   d  dtd |  tdd   d	  d
td |  tdd   d  t| d  ksŠtt| d  | dd ¡tt tdt|   dtd | tdd   d  dtd | tdd   d	  d
td | tdd   d  t| d  ksFttt|  d  | dd ¡td td|  d  dtd t | d  d  dtd | d  d  t| d  ksÀttt |  d  | dd ¡tdtd|  d  dtd t | d  d  dtd | d  d  t| d  ks:ttt|  d  | dd ¡td td|  d  dtd t | d  d  dtd | d  d  t| d  ksŽttt |  d  | dd ¡tdtd|  d  dtd t | d  d  dtd | d  d  t| d  ks.ttt | d  |  d  | dd ¡dt t d tdt |  d  | d tdd dtd t d    t| d  ks°td S )NrC   r0   r<   r2   r:   r;   r~   é+   r   é±   r8   r   r=   r   r   r   r5   r>   éH   )	r   r   r   r    r   r(   rK   r   r   rX   rR   rR   rS   Útest_asech_nseriesH  sd    F ÿ ÿ
ÿ
*ÿÿÿ
ÿ0ÿÿ
ÿ0ÿÿ
ÿ0ÿÿ
ÿ0ÿÿ
ÿD&ÿ
ÿr«   c               	   C   sR  t d} t|  t¡td|  td|  d td|  d   ksFtt|  t¡td|  ksdtt|  t¡tdd|   td|   t	d   tdd|    ks¬tt|  t
¡t| d td| d   t
td| d   tt	 t|  td|   d tt| d  dt| d     tt|   dt|      ksNtd S )NrC   r0   r1   r2   )r   r   r   r   r    rK   r   r   r"   r   r   r   rX   rR   rR   rS   Útest_asech_rewrite]  s    >Hÿr¬   c                      s   t d tt fdd d S )NrC   c                      s   t   d¡S rZ   )r   r[   rR   rX   rR   rS   r\   h  r]   z"test_asech_fdiff.<locals>.<lambda>r^   rR   rR   rX   rS   Útest_asech_fdifff  s    r­   c                  C   sÎ  t d} tt| stt|  t|  ks.ttdtdtd ksJttdtdtd  kshttdtksxttdtdtd d ksttdtdtd d  ksºtttt t d ksÔttt tt d ksîttt tdtd  tt d	 ksttttdtd  t t d	 ksFttt dtd  tt d
 ksntttdtd  t t d
 ksttt d tdtd  tt d ksÆtttd tdtd  t t d ksöttt d tt d kstttd t t d ks6ttt tddtd   tt d ksfttttddtd   t t d ksttt td tt d ksºttttd t t d ksÞttt tdd  dt t d
 ks
ttttdd  dt t d
 ks4ttt d td tt d ks\tttd td t t d ksttt d tdtd  dt t d ksžtttd tdtd  dt t d ksêttt tddtd   dt t d ksttttddtd   dt t d ksPttt tdtd  dt t d	 ksttttdtd  dt t d	 ks®ttt	t	ksÀttt td t
ttd ksèttt d td t
ttd d ksttt td t tdtd  ksFttt d td t ttd d  kszttttt tdtd  t tdtd   dksŒtttttdtd  tdtd   dksòtttttddtd   ttddtd     ¡ dks8tttt tddtd   t tddtd     ¡ dkstttdt d  d¡dksŠtttdt d  d¡dksÊtd S )NrC   r0   r2   r1   r   r:   r4   r>   r~   r6   r`   r<   r;   r5   r?   z0.0391819 - 0.193363*Iz0.0391819 + 0.193363*I)r   r)   r   rK   r   r    r   r   r   r	   r   r"   r   r   r¡   r   rr   rX   rR   rR   rS   Ú
test_acschk  sV     ",,((00  00$$,*((42420.(0.4B6FJ$r®   c                   C   s6   t tdkstt t dks"tt tdks2td S )Nr   )r   r
   rK   r   rR   rR   rR   rS   Útest_acsch_infinitiesŠ  s    r¯   c                  C   s  t d} td|   | ¡| ks"tt| t  | ¡t t d ksFtt| t  | ¡tt d kshtt| j| ddt|  td kstt| j| ddt| td tt  ksŸtt| td  j| ddt t ttd  ksòtt| td  j| ddttd kstt| td  j| ddttd  ksLtt| td  j| ddttd tt  kstttd t|   | d  j| ddtdtd tt d  ksÈtttd t|   | d  j| ddtdtd tt d  kstd S )NrC   r0   r2   r   r1   r;   )r   r   r   rK   r   r   r   r    rX   rR   rR   rS   Útest_acsch_leading_term¬  s    $"(.4,.4Hr°   c                  C   sÊ   t d} t|  | dd¡tdt|  | d d  d| d  d  d| d	  d
  d| d  d  t| d  ksvtt|  d| ¡}|d| d  d kstt|  d	| |d¡d| d	  d
 ksÆtd S )NrC   r   rV   r2   r<   r;   r€   r:   r>   r¥   rŠ   r`   r3   r5   )r   r   rW   r   r(   rK   r   )rC   Zt4rR   rR   rS   Útest_acsch_seriesŸ  s    :ÿÿ
ÿ
r±   c                  C   sÊ  t d} t| t  | dd ¡t t d tt|   t|  dt | tdd   d  d| tdd   d  dt | tdd   d  d| tdd   d  d	t | td
d   d  d	| td
d   d  t| d  ksìtt| t  | dd ¡tt d tt|   t|  dt | tdd   d  d| tdd   d  dt | tdd   d  d| tdd   d  d	t | td
d   d  d	| td
d   d  t| d  ksÐtt| td  j| dd ddttd  tt  dtd t |  d  dtd | d  d  dtd t | d  d  t| d  ksbtt| td  j| dd ddttd dtd t |  d  dtd | d  d  dtd t | d  d  t| d  ksêtt| td  j| dd ddttd  dtd t |  d  dtd | d  d  dtd t | d  d  t| d  ksttt| td  j| dd ddtt ttd  dtd t |  d  dtd | d  d  dtd t | d  d  t| d  kstttd t|   | d   | dd ¡t t d t	dtd  dtd |  d  | d dtd d dtd t d    | d dtd d dtd t d    t| d  ksÆtd S )NrC   r<   r2   r:   r;   r~   rš   r   r©   r8   r   r0   r   r`   rV   é   r1   iøÿÿÿ)
r   r   r   r   r   r    r   r(   rK   r   rX   rR   rR   rS   Útest_acsch_nseriesÇ  s¬    ,ÿÿÿÿþþþ
þ
*ÿÿÿÿþþþ
þ(ÿÿÿÿ
ÿ&ÿÿÿ
ÿ(ÿÿÿ
ÿ"
ÿÿÿÿ
ÿ0ÿÿ*ÿ*þ
þr³   c                  C   sÀ   t d} t|  t¡td|  td| d  d  ks:tt|  t¡td|  ksXtt|  t¡t| d  t| d d d   tt| d d  | d d  td   |  ksŒtd S ©NrC   r0   r2   )	r   r   r   r   r    rK   r   r   r   rX   rR   rR   rS   Útest_acsch_rewriteß  s    2.ÿ
ÿþþrµ   c                      s   t d tt fdd d S )NrC   c                      s   t   d¡S rZ   )r   r[   rR   rX   rR   rS   r\   ê  r]   z"test_acsch_fdiff.<locals>.<lambda>r^   rR   rR   rX   rS   Útest_acsch_fdiffè  s    r¶   c                  C   s@  t d} tddksttttt d ks0ttt t t d ksLttdtks\ttdt ksnttttks~tttt t d ksttt tt d ks²tttt tt d ksÎttt t t t d ksîtttttt d td  kstt|  t|  ks.tttt	d tt d ksPttt t	d t t d ksvtttt	d tt d ksttt t	d t t d ksŸtttdt	d  tt t
dd	 ksêtttt	dd  tt d	 kstttdt	d  t t d	 ks8ttt dt	d  tt t
d
d	 ksftttt	ddt	d   tt t
dd ksttt t	ddt	d   tt t
dd ksÐtttdt	d  tt d ksötttt	dd  t t d kstttt t d ks:ttt
ddttj ksZttttt dsrtttddddkstttddddksŠtttddddksÀttttddtksÚtttt ddt ksøtttdt dddt dt t  ks&tttdt dt ksDtttddt  ddt t  dt  ksvttttd td kstttttksªtttd
dt  d
dt t  dt  ksÜtttdtd d  dtd d  ks
tttddt  ddt  dt t  ks<td S )NrC   r   r<   r0   r1   r2   r;   r>   r`   r5   r:   r4   r~   r   r?   FrI   r8   iõÿÿÿrV   iàÿÿÿé{   é'   )r   r   rK   r   r   r
   r	   r   r   r    r   r   rL   r)   r   rX   rR   rR   rS   Ú
test_atanhí  sR     &"&"&,&(.46&( .22.r¹   c                  C   sŽ   t d} t|  t¡td|  td|   d ks6tt|  t¡t|  dt| d    t|  td| d   td| d d   ttd| d d   t|   ks°td S rŽ   )r   r   r   r   rK   r   r   r    rX   rR   rR   rS   Útest_atanh_rewrite'  s
    .fÿrº   c                  C   s  t d} t|  | ¡| kstt| d j| ddt|  d tdd  tt d  ks^tt| d j| ddt|  d tdd  tt d  kstt| d j| ddt| d tdd  ksÐtt| d j| ddt| d tdd  ksttd|  j| ddt t d ks.ttd|  j| ddtt d ksVttt|  d j| ddtdtt  ksttt |  d j| ddtdks°ttt|  d j| ddtd ksÚttt |  d j| ddt t td ksttt | d  |  d j| ddtd d tt d  ksRttt | d  |  d j| ddtd d tt d  kstd S r   )r   r   r   rK   r   r   r   rX   rR   rR   rS   Útest_atanh_leading_term.  s    @@24*(0**4Dr»   c                  C   sb   t d} t|  | dd¡| | d d  | d d  | d d  | d d  t| d  ks^td S )NrC   r   r6   r;   r:   r8   rV   )r   r   rW   r(   rK   rX   rR   rR   rS   Útest_atanh_seriesB  s    >ÿrŒ   c                  C   s6  t d} t| d j| dd ddt t d tdd  t| d  | d  | d d  | d d  t| d  ksxtt| d j| dd d	dtt d tdd  t| d  | d  | d d  | d d  t| d  ksætt| d j| dd ddtd d t| d  | d  | d d  | d d  t| d  ksLtt| d j| dd d	dtd d t| d  | d  | d d  | d d  t| d  ks²ttt|  d j| dd ddtt td t|  d  d| d  d
  dt | d  d  t| d  ks"ttt|  d j| dd d	dtdt|  d  d| d  d
  dt | d  d  t| d  ksttt|  d j| dd ddtd t|  d  d| d  d
  dt | d  d  t| d  ksôttt|  d j| dd d	dtd tt  t|  d  d| d  d
  dt | d  d  t| d  ksfttt | d  |  d  | dd ¡t t d td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    t| d  ks2td S )NrC   r0   r<   r   r2   r²   r;   é0   r1   rV   r   éQ   é$   r>   é¢   r   )	r   r   r   r   r   r   r(   rK   r   rX   rR   rR   rS   Útest_atanh_nseriesH  sš    0
ÿÿ
ÿ
ÿ
ÿ
.
ÿÿ
ÿ
ÿ
ÿ
0ÿ
ÿ
ÿ
ÿ0ÿ
ÿ
ÿ
ÿ*
ÿÿÿ
ÿ.ÿÿ
ÿ0ÿÿ
ÿ,
ÿÿÿ
ÿBÿÿÿÿ
ÿrÁ   c                      s   t d tt fdd d S )NrC   c                      s   t   d¡S rZ   )r   r[   rR   rX   rR   rS   r\   c  r]   z"test_atanh_fdiff.<locals>.<lambda>r^   rR   rR   rX   rS   Útest_atanh_fdiffa  s    rÂ   c                  C   s^  t d} tdtt d ks tttt t d ks:ttt tt d ksTttdtksdttdt ksvttttkstttdksttt dksštttt dksŒttt t dksÒtttdksâtt|  t|  ksúttttd t t d ksttt td tt d ksBttttd t t d ksfttt td tt d kstttdtd  t t d	 ks²ttt tdd  tt d	 ksÚtttdtd  tt t	dd	 ksttttdd  tt t	d
d	 ks2ttttddtd   t t d ksbttt tddtd   tt d kstttdtd  t t d ksºttt dtd  tt d ksâtttdtd  tt t	dd ksttttdd  tt t	dd ks:ttt	ddtt
j ksZtd S )NrC   r   r2   r<   r0   r1   r;   r>   r`   r5   r:   r6   r~   r?   )r   r   r   r   rK   r
   r	   r   r    r   r   rL   rX   rR   rR   rS   Ú
test_acothf  s8    $$$$((,,00((,,rÃ   c               	   C   sæ   t d} t|  t¡tdd|   tdd|    d ks>tt|  t¡td|  ks\tt|  t¡| t| d  ttd| d d   tt	 t| d |  t| | d   t| | d  tdd|      d  ksâtd S )NrC   r0   r2   r4   )
r   r   r   r   rK   r   r   r    r   r   rX   rR   rR   rS   Útest_acoth_rewrite  s    6rÿrÄ   c                  C   s  t d} t| d j| ddt|  d tdd  ks<tt| d j| ddt|  d tdd  ksptt| d j| ddt| d tdd  tt d  ks®tt| d j| ddt| d tdd  tt d  ksìtt| j| ddtt d kstt| j| ddt t d ks6ttt|  d j| ddtdks^ttt |  d j| ddtdtt  ksttt|  d j| ddt t td ksÂttt |  d j| ddtd ksîttt | d  |  tdd  j| ddtd d tt d  ks:ttt | d  |  tdd  j| ddtd d tt d  kstd S )NrC   r0   r   r2   r1   g      à?r;   )r   r   r   r   rK   r   r   r   rX   rR   rR   rS   Útest_acoth_leading_term  s    44>>$&(22,LrÅ   c                  C   sp   t d} t|  | dd¡t t d |  | d d  | d d  | d d  | d d  t| d  ksltd S )	NrC   r   r6   r2   r;   r:   r8   rV   )r   r   rW   r   r   r(   rK   rX   rR   rR   rS   Útest_acoth_series©  s    LÿrÆ   c                  C   s  t d} t| d  | dd ¡tdd t| d  | d  | d d  | d d  t| d  ksftt| d j| dd ddtt d tdd  t| d  | d  | d d  | d d  t| d  ksÔtt| d j| dd d	dt t d tdd  t| d  | d  | d d  | d d  t| d  ksFttt|  tdd  j| dd ddttdd dt |  d  d
| d  d  dt | d  d  t| d  ksÂttt|  tdd  j| dd d	dtt ttdd  dt |  d  d
| d  d  dt | d  d  t| d  ksFttt|  tdd  j| dd ddttdd  tt  dt |  d  d
| d  d  dt | d  d  t| d  ksÌttt|  tdd  j| dd d	dttdd  dt |  d  d
| d  d  dt | d  d  t| d  ksJttt | d  |  tdd   | dd ¡tt d tdd  d|  d  | d td
 d dt d    dt | d   | d tdd dt d    d
| d  d  t| d  kstd S )NrC   r0   r<   r2   r²   r;   rœ   r   r1   r`   rV   r   rŸ   éh   )	r   r   r   r   r(   rK   r   r   r   rX   rR   rR   rS   Útest_acoth_nseries¯  sŠ    2
ÿ
ÿ
ÿ
.
ÿÿ
ÿ
ÿ
ÿ
0
ÿÿ
ÿ
ÿ
ÿ2ÿÿÿ
ÿ*ÿÿÿÿ
ÿ4ÿÿÿÿ
ÿ4ÿÿÿ
ÿ@
ÿ ÿÿÿÿ
ÿrÈ   c                      s   t d tt fdd d S )NrC   c                      s   t   d¡S rZ   )r   r[   rR   rX   rR   rS   r\   È  r]   z"test_acoth_fdiff.<locals>.<lambda>r^   rR   rR   rX   rS   Útest_acoth_fdiffÆ  s    rÉ   c                      sÒ   t d t  ¡ tksttt fdd t  ¡ tksBtt	  ¡ t
ksVtt  ¡ tksjtt  ¡ tks~tt  ¡ tkstt
  ¡ t	ksŠtt  ¡ tksºtt  ¡ tksÎtd S )NrC   c                      s   t   ¡ S )N)r   ÚinverserR   rX   rR   rS   r\   Î  r]   ztest_inverses.<locals>.<lambda>)r   r   rÊ   r   rK   r+   ÚAttributeErrorr   r   r   r   r   r   r   r   r   r   rR   rR   rX   rS   Útest_inversesË  s    rÌ   c                  C   sÊ   t d} t|  | ¡dkstt|  | ¡d|  ks8tttfD ]}||  | ¡| ks@tq@ttttfD ]2}d|  tjfD ]}||}| | ¡|ksztqzqht	t
fD ] }|tj}| | ¡|ks€tq€d S )NrC   r0   )r   r   r   rK   r   r   r   r   rL   r   r   )rC   ÚfuncÚarÚeqrR   rR   rS   Útest_leading_termÙ  s    
rÐ   c                  C   sä  t ddd\} }| |t  }ttttttfD ]$}|| ¡ || |t  ks,t	q,dD ]}t|j
d|dt| t| tt|  t|  kst	t|j
d|dt| t| tt|  t|  ksÐt	t|j
d|dt| t|  t|d t| d   tt| t| t|d t| d    ks<t	t|j
d|dt| t|  t|d t| d   tt| t| t|d t| d    ksšt	t|j
d|dt|t|  t|d t| d  t|d t| d    tt| t|  t|d t| d  t|d t| d     ksDt	t|j
d|dt|t|  t|d t| d  t|d t| d    tt| t|  t|d t| d  t|d t| d     ksVt	qVd S )Núa,bTrE   ©TF©ÚcomplexrB   r2   )r   r   r   r   r   r   r   r   Ú	conjugaterK   Úexpandr#   r&   )ÚaÚbÚzrÍ   rB   rR   rR   rS   Útest_complexè  sj    "
 ÿ"ÿ ÿ"ÿÿÿ*ÿÿÿ*ÿ(
ÿÿ
ÿÿÿ(
ÿÿ
ÿÿÿrÚ   c                  C   sN   t ddd\} }dD ]4}ttttfD ]"}|| jd|d|| ks$tq$qd S )NrÑ   TrE   rÒ   rÓ   )r   r   r   r   r   rÖ   rK   )r×   rØ   rB   rÍ   rR   rR   rS   Útest_complex_2899þ  s    rÛ   c                  C   sN  t d} tt| | ksttt| t| d t| d  ksDttt| | td| d   kshttt| dt| d t| d   ksttt| td| d  ksŽttt| | ksÈttt| dtd| d   ksìttt| | t| d t| d   kstt	t| | td| d   ks@tt	t| t| d t| d  |  ksntt	t| | kstt	t| d|  kstt
t| td| d  |  ksÄtt
t| | t| d t| d   ksòtt
t| d|  kstt
t| | ks"ttt| d|  ks<ttt| dt| d t| d   ksjttt| td| d  |  ksttt| t| d t| d  ksºttt| dtd| d   ksàttt| d|  ksúttt| td| d  ksttt| t| d t| d  |  ksJtd S rŽ   )r   r   r   rK   r   r    r   r   r   r   r   r   r   rX   rR   rR   rS   Útest_simplifications  s2    ($, $.&.&..&*&"rÜ   c                   C   s,   t ttdd ttdd ks(td S )Nr;   r2   r   r<   )r   r   r   r    rK   rR   rR   rR   rS   Útest_issue_4136&  s    rÝ   c                  C   sà   t d} t|  t¡t| t|   d   krBt|  d¡ksHn tt|  t¡t t| tt d   kstttt	j
|  }t|  t¡d| d|d   ksšttt	j
|  }t|  t¡d| |d d  ksÜtd S ©NrC   r2   Ú	tractabler0   )r   r   r   r   rK   r   r   r   r   r   rL   r   ©rC   Z	tanh_halfZ	coth_halfrR   rR   rS   Útest_sinh_rewrite*  s    (ÿ,&rá   c                  C   sà   t d} t|  t¡t| t|   d   krBt|  d¡ksHn tt|  t¡t t| tt d   kstttt	j
|  d }t|  t¡d| d|  ksšttt	j
|  d }t|  t¡|d |d  ksÜtd S rÞ   )r   r   r   r   rK   r   r   r   r   r   rL   r   rà   rR   rR   rS   Útest_cosh_rewrite5  s    (ÿ,"râ   c                  C   sÜ   t d} t|  t¡t| t|   t| t|      krPt|  d¡ksVn tt|  t¡tt|  ttt d |   kstt|  t¡tttt d |   t|  ksºtt|  t	¡dt	|  ksØtd S ©NrC   rß   r2   r0   )
r   r   r   r   rK   r   r   r   r   r   rX   rR   rR   rS   Útest_tanh_rewrite@  s    6ÿ22rä   c                  C   sà   t d} t|  t¡t| t|   t| t|      krPt|  d¡ksVn tt|  t¡t ttt d |   t|  kstt|  t¡t t|  ttt d |   ksŸtt|  t	¡dt	|  ksÜtd S rã   )
r   r   r   r   rK   r   r   r   r   r   rX   rR   rR   rS   Útest_coth_rewriteI  s    6ÿ44rå   c                  C   sæ   t d} t|  t¡dt| d t|  d     krJt|  d¡ksPn tt|  t¡tt| tt d   kszttt	j
|  }t|  t¡d|d  d|  ks®ttt	j
|  }t|  t¡|d d d|  ksâtd S ©NrC   r0   r2   rß   )r   r   r   r   rK   r   r   r   r   r   rL   r   rà   rR   rR   rS   Útest_csch_rewriteR  s    0ÿ*&rç   c                  C   sæ   t d} t|  t¡dt| d t|  d     krJt|  d¡ksPn tt|  t¡tt| tt d   kszttt	j
|  d }t|  t¡d| d|  ks®ttt	j
|  d }t|  t¡|d |d  ksâtd S ræ   )r   r   r   r   rK   r   r   r   r   r   rL   r   rà   rR   rR   rS   Útest_sech_rewrite]  s    0ÿ*"rè   c                  C   sö  t d} t|  | ¡t| d  ks(tt|  | ¡t| ksBtt|  | ¡t| ks\tt|  | ¡t| d  d kstt|  | ¡t|  t|  ks€tt|  | ¡t|  t|  ksÈtt	|  | ¡d| d  d  ksìtt
|  | ¡dt| d d  kstt|  | ¡dt| d t| d   ksDtt|  | ¡t|  t¡ | ¡ ¡ ksptt|  | ¡d| d  d  kstt|  | ¡d| td| d    ksÂtt|  | ¡d| d td| d    ksòtd S )NrC   r4   r2   r0   r1   )r   r   Údiffr   rK   r   r   r   r   r   r   r    r   r   r   Ztogetherr   r   r   rX   rR   rR   rS   Útest_derivsh  s     $$$$(0,&,rê   c                  C   sŽ   t d\} }t| | jddt| t| t| t|  ksDttd|  jdddt|  t|  kspttd|  jdd ¡ t| d dt|  t| d   ks°td S ©Nr,   T)Ztrigr2   r;   )r   r   rÖ   r   rK   ©rC   rQ   rR   rR   rS   Útest_sinh_expansiony  s    8,"ÿrí   c                  C   sž   t d\} }t| | jddt| t| t| t|  ksDttd|  jddt| d t| d  kstttd|  jdd ¡ dt| d  t|  t| d  ksŽtd S rë   )r   r   rÖ   r   rK   rì   rR   rR   rS   Útest_cosh_expansion  s    80"ÿrî   c                  C   s   t ddd} t ddd}t| ddjdks.tt| d| t t  ddjdksTtttt d	 ddjdksrttd
t t d	 ddjdkstd S ©Nr-   TrE   rr   r.   FrI   r2   r<   r;   )r   r   Úis_positiverK   r   r   ©r-   rr   rR   rR   rS   Útest_cosh_positive  s    &rò   c                  C   s°   t ddd} t ddd}t| ddjdks.tt| d| t t  ddjdksTtttt d	 ddjdksrttd
t t d	 ddjdkstttjddjdks¬td S rï   )r   r   Zis_nonnegativerK   r   r   r   ZZerorñ   rR   rR   rS   Útest_cosh_nonnegative  s    &"ró   c                  C   s|   t ddd} t| jd kstt| jd ks0tt| jd ksBtt| jd ksTtt| jd ksftt| jd ksxtd S )NrÙ   FrE   )	r   r   rO   rK   r   r   r   r   r   )rÙ   rR   rR   rS   Útest_real_assumptions  s    rô   c                  C   sô   t ddd} t ddd}t|jdks*tt| jdks<tt|jdksNtt| jdks`tt|jdksrtt| jdkstt|jdkstt| jdksštt|jdksºtt| jdksÌtt	|jdksÞtt	| jdksðtd S )NrG   TrH   rr   )Únegative)
r   r   Zis_negativerK   rð   r   r   r   r   r   )rG   rr   rR   rR   rS   Útest_sign_assumptionsŠ  s    rö   N)Z!sympy.calculus.accumulationboundsr   Zsympy.core.functionr   r   Zsympy.core.numbersr   r   r   r   r	   r
   r   r   Zsympy.core.singletonr   Zsympy.core.symbolr   r   Z$sympy.functions.elementary.complexesr   r   Z&sympy.functions.elementary.exponentialr   r   Z%sympy.functions.elementary.hyperbolicr   r   r   r   r   r   r   r   r   r   r   r   Z(sympy.functions.elementary.miscellaneousr    Z(sympy.functions.elementary.trigonometricr!   r"   r#   r$   r%   r&   r'   Zsympy.series.orderr(   Zsympy.core.exprr)   r*   Zsympy.testing.pytestr+   rT   rY   r_   rd   rg   rh   ri   rl   rm   rn   rp   rq   ru   rx   ry   rz   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¶   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î   rò   ró   rô   rö   rR   rR   rR   rS   Ú<module>   s®   (8$MIHL=:8		<	:	;		:(!		
	