a
    {þdqÐ  ã                   @   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u s(J tttu s8J tttu sHJ tt t u s\J tddkslJ ttdszJ tdtd ksJ tt| sJ t|  t|  ks¶J tttsÄJ tt tt ksÜJ ttdd	 t sòJ tdd	  t tdd	 t  ksJ ttt	 dks2J tt t	 dksJJ tdt t	 dksdJ td
t t	 dks~J tddd  t t	 dks J tddd  t t	 dksÂJ ttt	 d t	ksÜJ tt t	 d t	 ksúJ ttt	 t
dd t	ksJ ttt	 t
dd t	 ks<J ttt	 d tjtd t	 ksdJ ttt	 t
d
d t
ddtd t	 ksJ ttt	 d tjtd t	 ksŸJ tt t	 d t
ddtd t	 ksìJ ttt	 t
dd tjtd t	 ksJ ttt	 t
dd t
ddtd t	 ksLJ ttt	 d tjt	 kslJ tt t	 d t
ddt	 ksJ ttt	 t
dd t
ddt	 ksŒJ ttt	 t
dd t
ddt	 ksæJ ttt	 d ttd t	 ksJ tt t	 d ttd  t	 ks6J ttddt	  sNJ t| t	 t| t	 kslJ t|t t	 dksJ td| t t	 dks€J t|t t	 d t|t d t	 ksÒJ t| jddtt| tt|  tt| tt|  fksJ tddd} t| jddt| dfksFJ tddd} tt	|  jdu sjJ t| jdu s~J tt	jdu sJ tddd}t|jdu s²J tdddjdu sÊJ tdt t	 ddjdu sêJ 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	   r   r
   r)   r   r   r   r   r   ÚHalfr    r&   Úas_real_imagr#   r   r   r   Ú	is_finiteÚis_realÚis_zero)rC   Úyr-   rG   © rQ   úy/var/www/html/stable-diffusion-webui/venv/lib/python3.9/site-packages/sympy/functions/elementary/tests/test_hyperbolic.pyÚ	test_sinh   sn    *"" "(2(..2 &**&*.$ÿ"rS   c                  C   sb   t d} t|  | dd¡| | d d  | d d  | d d	  | d
 d  t| d  ks^J d S )NrC   r   r6   r;   r>   r:   éx   r8   i°  é	   i )r   r   Úseriesr(   ©rC   rQ   rQ   rR   Útest_sinh_series_   s    >ÿrX   c                      s   t d tt fdd d S )NrC   c                      s   t   d¡S ©Nr2   )r   ÚfdiffrQ   rW   rQ   rR   Ú<lambda>g   ó    z!test_sinh_fdiff.<locals>.<lambda>©r   r+   r*   rQ   rQ   rW   rR   Útest_sinh_fdiffe   s    r^   c                  C   s|  t d\} }tddd}tttu s(J tttu s8J tttu sHJ tt tu sZJ tddksjJ ttdsxJ tdtdksJ tt| sJ t|  t| ks°J ttt t	tksÈJ tt t t	tksâJ ttdd	 t
 søJ tdd	  t
 tdd	 t
 ks J ttt d dks:J tt t d dksVJ td
dd  d t t d dksJ tddd  d t t d dksªJ ttt dksÀJ tt t dksØJ tdt t dksòJ tdt t dksJ ttt d tjks(J ttt tdd tddksNJ ttt d tjtd ksrJ tt t d tjtd ksJ ttt tdd tddtd ksÆJ ttt td
d tddtd ksôJ ttt d tjtd ksJ tt t d tjtd ks>J ttt tdd tddtd kslJ ttt tdd tddtd ksJ ttt d t	td ksŒJ tt t d t	td ksàJ ttddt  søJ t| t t	| ksJ t|t t t	|t ks4J td| t t t	d| t ks^J tt|t srJ t| jddt	t| tt|  tt| tt|  fksžJ tddd} t| jddt| dfksæJ tddd} tt|  jdu s
J tt|  jdu s"J ttd d jdu s>J tdt tj d ddjdu sdJ t| jdu sxJ 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	   r   r
   r)   r   r   r#   r   r   rK   r   r    rL   r   r   r&   r   rM   rN   ÚPirO   ©rC   rP   r-   rQ   rQ   rR   Ú	test_coshj   sf    (**&$&..$&.."$"*$ÿ"&rc   c                  C   sb   t d} t|  | dd¡d| d d  | d d  | d d	  | d
 d  t| d  ks^J d S )NrC   r   r6   r0   r2   r<   é   r>   éÐ  r_   i  )r   r   rV   r(   rW   rQ   rQ   rR   Útest_cosh_series³   s    >ÿrf   c                      s   t d tt fdd d S )NrC   c                      s   t   d¡S rY   )r   rZ   rQ   rW   rQ   rR   r[   »   r\   z!test_cosh_fdiff.<locals>.<lambda>r]   rQ   rQ   rW   rR   Útest_cosh_fdiff¹   s    rg   c                  C   s  t d\} }tddd}tttu s(J tttu s8J ttdksHJ tt dksZJ tddksjJ ttdsxJ tdtd ksJ tt| sJ t|  t|  ksŽJ tttsÂJ tt tt ksÚJ ttdd	 t sðJ tdd	  t tdd	 t  ksJ ttt	 dks0J tt t	 dksHJ tdt t	 dksbJ td
t t	 dks|J tddd  t t	 dksJ tddd  t t	 dksÀJ ttt	 d tu sÚJ tt t	 d tu söJ ttt	 t
dd tu sJ ttt	 t
dd tu s6J ttt	 d tdt	 ksXJ ttt	 t
d
d tdt	 ksJ ttt	 d t	ksJ tt t	 d t	 ksžJ ttt	 t
dd t	ksØJ ttt	 t
dd t	ksøJ ttt	 d t	td ksJ tt t	 d t	 td ks@J ttt	 t
dd t	td kshJ ttt	 t
dd t	td ksJ ttt	 d ttd t	 ks¶J tt t	 d ttd  t	 ksàJ ttddt	  søJ t| t	 t| t	 ksJ t|t t	 dks0J td| t t	 dksNJ t|t t	 d t|t d t	 ks|J 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J tddd} t| jddt| dfks0J tt	t d d jdu sPJ t| jdu sdJ tt	t |  d jd u sJ 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	   r   r
   r)   r   r   r   r   r    r'   rL   r   r   r   r#   r   r&   rN   rb   rQ   rQ   rR   Ú	test_tanhŸ   sh    *""  "(  "&((&*.2ÿ6þ" rh   c                  C   sn   t d} t|  | dd¡| | d d  d| d  d  d| d	  d
  d| d  d  t| d  ksjJ d S )NrC   r   r6   r;   r2   r:   é   r=   r8   i;  é>   rU   i  )r   r   rV   r(   rW   rQ   rQ   rR   Útest_tanh_series  s    Jÿrk   c                      s   t d tt fdd d S )NrC   c                      s   t   d¡S rY   )r   rZ   rQ   rW   rQ   rR   r[     r\   z!test_tanh_fdiff.<locals>.<lambda>r]   rQ   rQ   rW   rR   Útest_tanh_fdiff  s    rl   c                  C   sÄ  t d\} }tddd}tttu s(J tttu s8J ttdksHJ tt dksZJ tdtu sjJ ttdsxJ tdtd ksJ tt| sJ t|  t|  ksŽJ ttt t t	t ksÒJ tt t t	tt ksðJ ttdd	 t
 sJ tdd	  t
 tdd	 t
  ks2J ttt t t	t ksRJ tt t tt	t ksrJ tdt t t t	dt  ksJ td
t t tt	dt  ksÀJ tddd  t t tt	ddd  t  ksöJ tddd  t t t t	ddd  t  ks.J ttt d dksHJ tt t d dksdJ ttt tdd dksJ ttt tdd dks€J t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 ksJ tt t d tks*J ttt tdd t ksLJ ttt tdd t ksnJ ttt d td t ksJ tt t d tdt ks¶J ttt tdd td t ksàJ ttt tdd td t ks
J ttt d t	td  t ks2J tt t d t	td t ksZJ ttddt  srJ t| t t	|  t ksJ t|t t t	|t  t ksºJ td| t t t	d| t  t ksêJ t|t t t	|t  t ksJ tttdtttd ks:J tdtt d  tdks\J 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äJ tddd} t| jddt| dfksJ ttd|  t| d d dt|   ksDJ ttd|  t| d dt|   ddt| d    ksJ tt| | dt| t|  t| t|  ksÀJ 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	   r   r
   r)   r   r   r$   r   r   r    r   r'   r   rL   r   r   r   r&   r   r#   r   rb   rQ   rQ   rR   Ú	test_coth  sl    *  (&68  $*""$$**(( (0(("2ÿ8þ"2Brm   c                  C   sf   t d} t|  | dd¡d|  | d  | d d  d| d  d	  | d
 d  t| d  ksbJ d S )NrC   r   r_   r0   r;   é-   r2   r:   i±  r8   iu  )r   r   rV   r(   rW   rQ   rQ   rR   Útest_coth_series]  s    Bÿro   c                      s   t d tt fdd d S )NrC   c                      s   t   d¡S rY   )r   rZ   rQ   rW   rQ   rR   r[   e  r\   z!test_coth_fdiff.<locals>.<lambda>r]   rQ   rQ   rW   rR   Útest_coth_fdiffc  s    rp   c                  C   sÊ  t d\} }tddd}tddd}tttu s4J tttu sDJ ttdksTJ tt dksfJ tdtu svJ tdtd	 ksJ t|  t|  ks€J tt tt ksŒJ td
d  t td
d t  ksäJ ttt tu søJ tt t tu sJ td
t t tu s*J tdt t tu sDJ tddd  t t tu sfJ tddd  t t tu sJ ttt d
 t ks€J tt t d
 tksÀJ ttt t	dd
 t ksâJ ttt t	dd
 tksJ ttt d dt
d t ks(J ttt t	dd d
t
d t ksTJ ttt d t
d
 t ksxJ tt t d t
d
t ksJ ttt t	dd t
d
t ksÄJ ttt t	dd t
d
t ksìJ ttt d dt ks
J tt t d d
t ks*J ttt t	dd d
t ksNJ ttt t	dd dt ksrJ ttt t	dd d
t ksJ ttt d dttd  t ksÀJ tt t d d	ttd  t ksìJ t| t dt|  t ksJ t|t t tu s(J td| t t tu sFJ t|t t d
 dt|t d
  t ksxJ t|jdu sJ tt| | d	t| t| t| t|   ksÆJ 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	   r   r
   r   r   r   r   r    r&   rN   r   r   r   ©rC   rP   r-   rq   rQ   rQ   rR   Ú	test_cschh  sR    (""" &,$$(( $$$*,"2rt   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szJ d S )NrC   r   r6   r0   r>   r8   r;   ih  é   r:   i;  é   i:	 r7   rU   i 54 )r   r   rV   r(   rW   rQ   rQ   rR   Útest_csch_series¥  s    >ÿ
ÿÿrw   c                      s   t d tt fdd d S )NrC   c                      s   t   d¡S rY   )r   rZ   rQ   rW   rQ   rR   r[   ®  r\   z!test_csch_fdiff.<locals>.<lambda>r]   rQ   rQ   rW   rR   Útest_csch_fdiff¬  s    rx   c                  C   sP  t d\} }tddd}tddd}tttu s4J tttu sDJ ttdksTJ tt dksfJ tddksvJ td	tdksJ t|  t| ks J ttt ttksžJ tt t ttksÒJ td
d  t	 td
d t	 ksøJ ttt d
 tu sJ tt t d
 tu s.J tddd  d t t d
 tu sXJ tddd  d t t d
 tu sJ ttt d	ksJ tt t d	ks°J tdt t d	ksÊJ tdt t dksäJ ttt d d
ksþJ ttt t
dd dksJ ttt d td
ks<J tt t d td
ks\J ttt t
dd td
 ksJ ttt t
dd td
 ksšJ ttt d d
td ksÊJ tt t d d
td ksîJ ttt t
dd dtd ksJ ttt t
dd dtd ks>J ttt d dttd  ksdJ tt t d dttd  ksJ t| t dt|  ksªJ t|t t dt|t  ksÐJ td| t t dtd| t  ksþJ t|jdu sJ tt| | dt| t| t| t|   ksLJ d S )Nzx, yr-   Tr.   rq   rH   r   r0   r1   r2   r3   r5   r6   r7   r8   r9   r:   r_   r;   r4   r<   r?   r>   r@   r=   )r   r   r   r	   r   r
   r   r   r%   r   r   r    r#   rN   r   r   r   rs   rQ   rQ   rR   Ú	test_sech±  sL    &**  &&"$((&(&.ry   c                  C   sn   t d} t|  | dd¡d| d d  d| d  d  d	| d
  d  d| d  d  t| d  ksjJ d S )NrC   r   r6   r0   r2   r:   r<   rd   é=   r>   re   i  r_   i  )r   r   rV   r(   rW   rQ   rQ   rR   Útest_sech_seriesë  s    Jÿr{   c                      s   t d tt fdd d S )NrC   c                      s   t   d¡S rY   )r   rZ   rQ   rW   rQ   rR   r[   ó  r\   z!test_sech_fdiff.<locals>.<lambda>r]   rQ   rQ   rW   rR   Útest_sech_fdiffñ  s    r|   c                  C   s~  t d\} }tt| sJ t|  t|  ks2J tttu sBJ tddksRJ tdttdd ksnJ tdttdd ksJ tttt d ks¢J tt t t d ksŸJ ttd tt d ksÚJ tt d t t d ksúJ tttu sJ tt t u s"J ttt tu s8J tt t t u sRJ tt	t	u sdJ tttdd  dt
dd  tt d ksJ tt tdd  dt
dd  t t d ksÐJ tttd	d  d
 tt d ksúJ tt td	d  d
 t t d ks(J tttd	d  d
 tt t
dd ksXJ tt td	d  d
 tt t
dd ksJ tt
ddttj ksªJ ttttdsÂJ ttddddksÜJ ttddddksöJ ttddddksJ tttddtks*J ttt ddt ksHJ ttd	t dddt t d	t  ksvJ ttddt  dd
t t  dt  ksšJ ttddt  ddt  dt t  ksÚJ ttddt  ddt t  dt  ksJ ttddt  dtt  dt  ks:J tddd}t|jdu sZJ ttdddddjdu szJ d S )Nr,   r   r0   r2   r1   r>   r;   é   r:   r<   r6   r5   Úv1FrI   r4   ri   r`   i·ÿÿÿéa   r7   ru   rr   é   r8   é   ióÿÿÿrG   TrH   )r   r)   r   r	   r   r    r   r   r
   r   r   r   rK   r   r   rO   )rC   rP   rG   rQ   rQ   rR   Ú
test_asinhö  sJ     48*.02 .222.r   c                  C   sæ   t d} t|  t¡t| t| d d  ks2J t|  t¡t| td| d   ks\J t|  t¡t| ksvJ t| dt   t¡t tt|  dt   ksªJ t|  t¡tt t|  t	d   tt	 d  ksâJ d S )NrC   r2   r0   )
r   r   Úrewriter   r    r   r"   r   r!   r   rW   rQ   rQ   rR   Útest_asinh_rewrite.  s    **4r   c                  C   s&  t d} t| j| dd| ks"J t| t j| ddtt d ksHJ t| t j| ddt t d kspJ td|  j| ddt|  td ksJ td|  j| ddt| td tt  ksÎJ t| dt  j| ddttd ksøJ t| dt  j| ddt td tt  ks.J t| dt  j| ddt t ttd  ksdJ t| dt  j| ddt td ksJ tdt t|   | d  j| ddtdtd tt d  ksÚJ tdt t|   | d  j| ddtdtd tt d  ks"J d S ©NrC   r0   ©Úcdirr2   r1   r;   )r   r   Úas_leading_termr   r   r   r"   r    rW   rQ   rQ   rR   Ú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sZJ t|  d| ¡}|d| d  d ksJ t|  d| |d¡d
| d  d	 ksªJ d S )NrC   r   r_   r;   r>   r:   é(   r8   ép   r?   )r   r   rV   r(   Útaylor_term©rC   Zt5rQ   rQ   rR   Ú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ÂJ 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J 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üJ 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J 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J 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J 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s4J d S )NrC   r<   r2   r0   r;   r}   r:   é    r8   é  r   rU   é   r1   )
r   r   r   Ú_eval_nseriesr   r    r   r(   r"   r   rW   rQ   rQ   rR   Útest_asinh_nseriesR  s    ÿ"ÿ(ÿ(þ
þ
 ÿ"ÿ(ÿ(þ
þ&ÿÿÿ
ÿ.ÿÿÿ
ÿ.ÿÿÿ
ÿ(ÿÿÿ
ÿ>ÿ"ÿ(ÿ
ÿr   c                      s   t d tt fdd d S )NrC   c                      s   t   d¡S rY   )r   rZ   rQ   rW   rQ   rR   r[   k  r\   z"test_asinh_fdiff.<locals>.<lambda>r]   rQ   rQ   rW   rR   Útest_asinh_fdiffi  s    r   c                  C   sð  t d} tt|  sJ tddks(J tdtt ks<J tdtt d ksTJ ttjtt d ksnJ ttddtt tdd ksJ tttu s¢J tt	t	u s²J tt	 t	u sÄJ ttt	 t	tt d  ksäJ tt t	 t	tt d  ksJ tt
t
u sJ ttttdtd  ks<J tt tt dtd  ksbJ ttdd dtd  tt tdd ksJ ttdd  dtd  tt td	d ksÌJ ttdd tt d
 ksîJ ttd d tt tdd
 ksJ ttdd tt d ks:J ttd d tt tdd ksdJ ttdtd d tt d ksJ ttdtd  d tt td	d ksÀJ ttdtd d tt tdd ksðJ ttdtd  d tt tdd ks"J tdtd dtd  tt d ksPJ tdtd  dtd  tt tdd ksJ ttdd d
 tt d ks¬J ttdd  d
 tt td
d ksÚJ ttdt  d¡dksúJ ttdt  d¡dksJ ttt ds.J ttddddksHJ ttddddksbJ ttddddks|J tttddtksJ ttt ddtks²J ttd	t dddt t d	t  ksàJ ttdt dt ksþJ ttddt  ddt  ks$J ttddt  ddt  ksJJ ttddt  ddt t  dt  ks|J ttddt  ddt  d
t t  ks®J tttdt tdt ksÔJ tdddjdu sìJ d S )NrC   r0   r   r1   r2   r;   r:   r}   r8   r<   r>   r_   r`   z2.31244 + 1.5708*Ir?   z2.31244 - 1.5708*Ir~   r5   FrI   r4   r=   iëÿÿÿé   T)r   r)   r   r   r   r   rK   r   r	   r
   r   r   r    Ústrrq   r   rO   rW   rQ   rQ   rR   Ú
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:J t|  t¡t| d t|  td   td|   ksvJ t|  t¡t| d t|  td   td|   ks²J t|  t¡t| d t| d  tt| d d |   t| d d  tt| d  |  t| d  d  dtd|     ks<J t ddd} t|  t¡t| d t| d  tt| d d |   t| d d  ksJ d S )NrC   r0   r2   r4   TrH   )	r   r   r   r   r    r"   r   r   r   rW   rQ   rQ   rR   Útest_acosh_rewriteª  s    2<<>4ÿÿ
>ÿr   c                  C   s¢  t d} t|  | ¡tt d ks&J t| d  | ¡tdt|  ksLJ t| d  | ¡tt ksjJ td|  j| ddt|  td ksJ td|  j| ddt|  td dt t  ksÎJ tt|  d j| ddtdksôJ tt |  d j| dddt t td ks*J t| d t|   tdd  j| ddttdd  kslJ t| d t|   tdd  j| ddttdd ks¬J tdt|  d  j| ddttd d  ksäJ tdt|  d  j| ddttd d ksJ tt | d  |  d j| ddttdd tt  ks\J tt | d  |  d j| ddttdd tt  ksJ d S )NrC   r2   r0   r   r1   r4   r;   )r   r   r   r   r   r    r   r   rW   rQ   rQ   rR   Ú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sxJ t|  d| ¡}|dt | d  d ks€J t|  d	| |d¡dt | d	  d
 ksÐJ d S )NrC   r   r_   r2   r;   r>   r:   r   r8   r   r5   r?   )r   r   rV   r   r   r(   r   r   rQ   rQ   rR   Ú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J 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sFJ 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ŸJ 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sDJ 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ÐJ 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sZJ 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
J d S )NrC   r0   r<   r2   r;   r}   r:   r   r8   r   r   r4   rU   r   r=   é@  é»  é ¢  r1   )	r   r   r   r    r   r(   r   r   r   rW   rQ   rQ   rR   Útest_acosh_nseriesÔ  s    "ÿÿÿ
ÿ
ÿÿ"ÿ"þ
þ"ÿÿÿ
ÿ$
ÿÿÿÿ
ÿ2ÿÿÿ
ÿ0ÿÿÿ
ÿ:ÿ$ÿ(ÿ
ÿr   c                      s   t d tt fdd d S )NrC   c                      s   t   d¡S rY   )r   rZ   rQ   rW   rQ   rR   r[   ì  r\   z"test_acosh_fdiff.<locals>.<lambda>r]   rQ   rQ   rW   rR   Útest_acosh_fdiffê  s    r   c                  C   sÐ  t d} tt|  sJ tddks(J tdtt ks<J tdtu sLJ tdtt d ksdJ tddt t d ksJ tttu sJ tttt d ksšJ tt tt d ksÂJ ttttt d td  ksæJ ttt	dt
d tt d  ksJ tt t	dt
d tt d  ks<J tt
dt
d d	t t d
 ksfJ tt
ddt
d  tt d ksJ tt
ddt
d   dt t d ksÀJ tdt
dt
d  tt d ksêJ tdt
dt
d  dt t d ksJ tt
dd tt d ks:J tdt
d dt t d ks`J tt
ddt
d   dt t d ksJ tt
dtdt
d ks²J tdt
d tt
dd ksØJ tdt
dt
d  tt
dt
d d ksJ tdttjks&J tt
d ttdt
d  ksNJ tdt
d ttt
d d  kszJ ttd tttdd ks J tdt
d ttt
d d  ksÌJ tttt
dt
d t
dt
d  dksJ tttt
dt
d t
dt
d  dks8J ttt
ddt
d  t
ddt
d    ¡ dksvJ ttt
ddt
d   t
ddt
d     ¡ dksžJ ttt
ddt
d  t
ddt
d    ¡ dksöJ tttdt
d dt
d  dks$J tttdt
d dt
d  dksRJ tttt
d t
d t
d t
d  dksJ ttdt  d¡dks¬J ttdt  d¡dksÌJ d S )NrC   r0   r   r1   r2   r;   r4   r>   r`   r}   r:   r6   rU   r_   r8   r<   z0.19869 - 1.5708*Ir?   z0.19869 + 1.5708*I)r   r)   r   r   r   r
   r	   r   r   r   r    r   r   rK   r!   r   r   r   Úsimplifyr   rq   rW   rQ   rQ   rR   Ú
test_asechï  sN    $*,**0*."&0"&6(,&,66>B>..: r¡   c                  C   sŠ  t d} t| j| ddt|  td ks0J t| j| ddt|  td dt t  ksdJ t| d j| ddtdt t|  ksJ td|  j| ddtt d ksžJ t| d j| ddtt ksÚJ tt|  d j| ddtd ksJ tt |  d j| ddtdks.J tt|  d j| ddtd ksXJ tt |  d j| ddtdksJ tt|  tdd  j| dddt t ttd d  ksÈJ tt|  tdd  j| ddttd d ksJ tt | d  |  d j| ddttd d dtd t d  ksRJ tt | d  |  d j| ddttd d dtd t d  ks¢J d S )	NrC   r0   r   r2   r1   r;   r5   r4   )r   r   r   r   r   r   r    r   rW   rQ   rQ   rR   Ú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szJ 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öJ t|  d| ¡}|d| d  d ks J t|  d| |d¡d| d  d ksJJ d S )NrC   r   rU   r0   r   r2   r<   r;   é    r:   r>   é`   é#   r_   r3   r1   r?   iÝÿÿÿ)r   r   rV   r   r(   r   r   r   )rC   Zt6rQ   rQ   rR   Ú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ŠJ 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sFJ 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ÀJ 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:J 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ŽJ 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.J 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°J 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(   r   r   rW   rQ   rQ   rR   Ú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sFJ t|  t¡td|  ksdJ t|  t¡tdd|   td|   td   tdd|    ks¬J 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sNJ d S )NrC   r0   r1   r2   )r   r   r   r   r    r   r   r"   r   r   r   rW   rQ   rQ   rR   Útest_asech_rewrite]  s    >Hÿr«   c                      s   t d tt fdd d S )NrC   c                      s   t   d¡S rY   )r   rZ   rQ   rW   rQ   rR   r[   h  r\   z"test_asech_fdiff.<locals>.<lambda>r]   rQ   rQ   rW   rR   Útest_asech_fdifff  s    r¬   c                  C   sÎ  t d} tt| sJ t|  t|  ks.J tdtdtd ksJJ tdtdtd  kshJ tdtu sxJ tdtdtd d ksJ tdtdtd d  ksºJ ttt t d ksÔJ tt tt d ksîJ tt tdtd  tt d	 ksJ tttdtd  t t d	 ksFJ tt dtd  tt d
 ksnJ ttdtd  t t d
 ksJ tt d tdtd  tt d ksÆJ ttd tdtd  t t d ksöJ tt d tt d ksJ ttd t t d ks6J tt tddtd   tt d ksfJ tttddtd   t t d ksJ tt td tt d ksºJ tttd t t d ksÞJ tt tdd  dt t d
 ks
J tttdd  dt t d
 ks4J tt d td tt d ks\J ttd td t t d ksJ tt d tdtd  dt t d ksžJ ttd tdtd  dt t d ksêJ tt tddtd   dt t d ksJ tttddtd   dt t d ksPJ tt tdtd  dt t d	 ksJ tttdtd  dt t d	 ks®J tttu sÀJ tt td t	ttd ksèJ tt d td t	ttd d ksJ tt td t t
dtd  ksFJ tt d td t t
td d  kszJ tttt tdtd  t tdtd   dksŒJ ttttdtd  tdtd   dksòJ ttttddtd   ttddtd     ¡ dks8J ttt tddtd   t tddtd     ¡ dksJ ttdt d  d¡dksŠJ ttdt d  d¡dksÊJ 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   r   r    r   r   r   r	   r   r"   r   r   r    r   rq   rW   rQ   rQ   rR   Ú
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J t t dks"J t tdks2J d S )Nr   )r   r
   r   rQ   rQ   rQ   rR   Útest_acsch_infinitiesŠ  s    r®   c                  C   s  t d} td|   | ¡| ks"J t| t  | ¡t t d ksFJ t| t  | ¡tt d kshJ t| j| ddt|  td ksJ t| j| ddt| td tt  ksŸJ t| td  j| ddt t ttd  ksòJ t| td  j| ddttd ksJ t| td  j| ddttd  ksLJ t| td  j| ddttd tt  ksJ ttd t|   | d  j| ddtdtd tt d  ksÈJ ttd t|   | d  j| ddtdtd tt d  ksJ d S )NrC   r0   r2   r   r1   r;   )r   r   r   r   r   r   r    rW   rQ   rQ   rR   Ú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svJ t|  d| ¡}|d| d  d ksJ t|  d	| |d¡d| d	  d
 ksÆJ d S )NrC   r   rU   r2   r<   r;   r£   r:   r>   r€   r¥   r_   r3   r5   )r   r   rV   r   r(   r   )rC   Zt4rQ   rQ   rR   Ú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ìJ 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ÐJ 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sbJ 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êJ 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stJ 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J 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ÆJ d S )NrC   r<   r2   r:   r;   r}   r§   r   rš   r8   r   r0   r   r_   rU   é   r1   iøÿÿÿ)	r   r   r   r   r   r    r   r(   r   rW   rQ   rQ   rR   Útest_acsch_nseriesÇ  s¬    ,ÿÿÿÿþþþ
þ
*ÿÿÿÿþþþ
þ(ÿÿÿÿ
ÿ&ÿÿÿ
ÿ(ÿÿÿ
ÿ"
ÿÿÿÿ
ÿ0ÿÿ*ÿ*þ
þr²   c                  C   sÀ   t d} t|  t¡td|  td| d  d  ks:J t|  t¡td|  ksXJ t|  t¡t| d  t| d d d   tt| d d  | d d  td   |  ksŒJ d S ©NrC   r0   r2   )r   r   r   r   r    r   r   r   rW   rQ   rQ   rR   Útest_acsch_rewriteß  s    2.ÿ
ÿþþrŽ   c                      s   t d tt fdd d S )NrC   c                      s   t   d¡S rY   )r   rZ   rQ   rW   rQ   rR   r[   ê  r\   z"test_acsch_fdiff.<locals>.<lambda>r]   rQ   rQ   rW   rR   Útest_acsch_fdiffè  s    rµ   c                  C   s@  t d} tddksJ tttt d ks0J tt t t d ksLJ tdtu s\J tdt u snJ tttu s~J ttt t d ksJ tt tt d ks²J ttt tt d ksÎJ tt t t t d ksîJ ttttt d td  ksJ t|  t|  ks.J tttd tt d ksPJ tt td t t d ksvJ tttd tt d ksJ tt td t t d ksŸJ ttdtd  tt t	dd	 ksêJ tttdd  tt d	 ksJ ttdtd  t t d	 ks8J tt dtd  tt t	d
d	 ksfJ tttddtd   tt t	dd ksJ tt tddtd   tt t	dd ksÐJ ttdtd  tt d ksöJ tttdd  t t d ksJ ttt t d ks:J tt	ddtt
j ksZJ tttt dsrJ ttddddksJ ttddddksŠJ ttddddksÀJ tttddtksÚJ ttt ddt ksøJ ttdt dddt dt t  ks&J ttdt dt ksDJ ttddt  ddt t  dt  ksvJ tttd td ksJ ttttksªJ ttd
dt  d
dt t  dt  ksÜJ ttdtd d  dtd d  ks
J ttddt  ddt  dt t  ks<J d S )NrC   r   r<   r0   r1   r2   r;   r>   r_   r5   r:   r4   r}   r~   r?   FrI   r8   iõÿÿÿrU   iàÿÿÿé{   é'   )r   r   r   r   r
   r	   r   r   r    r   r   rK   r)   r   rW   rQ   rQ   rR   Ú
test_atanhí  sR     &"&"&,&(.46&( .22.rž   c                  C   sŽ   t d} t|  t¡td|  td|   d ks6J t|  t¡t|  dt| d    t|  td| d   td| d d   ttd| d d   t|   ks°J d S r³   )r   r   r   r   r   r   r    rW   rQ   rQ   rR   Útest_atanh_rewrite'  s
    .fÿr¹   c                  C   s  t d} t|  | ¡| ksJ t| d j| ddt|  d tdd  tt d  ks^J t| d j| ddt|  d tdd  tt d  ksJ t| d j| ddt| d tdd  ksÐJ t| d j| ddt| d tdd  ksJ td|  j| ddt t d ks.J td|  j| ddtt d ksVJ tt|  d j| ddtdtt  ksJ tt |  d j| ddtdks°J tt|  d j| ddtd ksÚJ tt |  d j| ddt t td ksJ tt | d  |  d j| ddtd d tt d  ksRJ tt | d  |  d j| ddtd d tt d  ksJ d S r   )r   r   r   r   r   r   rW   rQ   rQ   rR   Ú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^J d S )NrC   r   r6   r;   r:   r8   rU   )r   r   rV   r(   rW   rQ   rQ   rR   Ú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sxJ t| d j| dd d	dtt d tdd  t| d  | d  | d d  | d d  t| d  ksæJ t| d j| dd ddtd d t| d  | d  | d d  | d d  t| d  ksLJ t| d j| dd d	dtd d t| d  | d  | d d  | d d  t| d  ks²J 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"J tt|  d j| dd d	dtdt|  d  d| d  d
  dt | d  d  t| d  ksJ tt|  d j| dd ddtd t|  d  d| d  d
  dt | d  d  t| d  ksôJ tt|  d j| dd d	dtd tt  t|  d  d| d  d
  dt | d  d  t| d  ksfJ 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s2J d S )NrC   r0   r<   r   r2   r±   r;   é0   r1   rU   r   éQ   é$   r>   é¢   r   )r   r   r   r   r   r   r(   r   rW   rQ   rQ   rR   Ú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 rY   )r   rZ   rQ   rW   rQ   rR   r[   c  r\   z"test_atanh_fdiff.<locals>.<lambda>r]   rQ   rQ   rW   rR   Útest_atanh_fdiffa  s    rÁ   c                  C   s^  t d} tdtt d ks J ttt t d ks:J tt tt d ksTJ tdtu sdJ tdt u svJ tttu sJ ttdksJ tt dksšJ ttt dksŒJ tt t dksÒJ ttdksâJ t|  t|  ksúJ tttd t t d ksJ tt td tt d ksBJ tttd t t d ksfJ tt td tt d ksJ ttdtd  t t d	 ks²J tt tdd  tt d	 ksÚJ ttdtd  tt tdd	 ksJ tttdd  tt td
d	 ks2J tttddtd   t t d ksbJ tt tddtd   tt d ksJ ttdtd  t t d ksºJ tt dtd  tt d ksâJ ttdtd  tt tdd ksJ tttdd  tt tdd ks:J ttddtt	j
 ksZJ d S )NrC   r   r2   r<   r0   r1   r;   r>   r_   r5   r:   r6   r}   r?   )r   r   r   r   r
   r	   r   r    r   r   rK   rW   rQ   rQ   rR   Ú
test_acothf  s8    $$$$((,,00((,,rÂ   c               	   C   sæ   t d} t|  t¡tdd|   tdd|    d ks>J t|  t¡td|  ks\J t|  t¡| t| d  ttd| d d   tt t| d |  t| | d   t| | d  tdd|      d  ksâJ d S )NrC   r0   r2   r4   )	r   r   r   r   r   r   r    r   r   rW   rQ   rQ   rR   Útest_acoth_rewrite  s    6rÿrÃ   c                  C   s  t d} t| d j| ddt|  d tdd  ks<J t| d j| ddt|  d tdd  kspJ t| d j| ddt| d tdd  tt d  ks®J t| d j| ddt| d tdd  tt d  ksìJ t| j| ddtt d ksJ t| j| ddt t d ks6J tt|  d j| ddtdks^J tt |  d j| ddtdtt  ksJ tt|  d j| ddt t td ksÂJ tt |  d j| ddtd ksîJ tt | d  |  tdd  j| ddtd d tt d  ks:J tt | d  |  tdd  j| ddtd d tt d  ksJ d S )NrC   r0   r   r2   r1   g      à?r;   )r   r   r   r   r   r   r   rW   rQ   rQ   rR   Ú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slJ d S )	NrC   r   r6   r2   r;   r:   r8   rU   )r   r   rV   r   r   r(   rW   rQ   rQ   rR   Ú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sfJ t| d j| dd ddtt d tdd  t| d  | d  | d d  | d d  t| d  ksÔJ t| d j| dd d	dt t d tdd  t| d  | d  | d d  | d d  t| d  ksFJ 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ÂJ 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sFJ 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ÌJ 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sJJ 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J d S )NrC   r0   r<   r2   r±   r;   rŒ   r   r1   r_   rU   r   rœ   éh   )r   r   r   r   r(   r   r   r   rW   rQ   rQ   rR   Ú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 rY   )r   rZ   rQ   rW   rQ   rR   r[   È  r\   z"test_acoth_fdiff.<locals>.<lambda>r]   rQ   rQ   rW   rR   Útest_acoth_fdiffÆ  s    rÈ   c                      sÒ   t d t  ¡ tksJ tt fdd t  ¡ tksBJ t  ¡ t	ksVJ t  ¡ tksjJ t
  ¡ tks~J t  ¡ tksJ t	  ¡ tksŠJ t  ¡ tksºJ t  ¡ tksÎJ d S )NrC   c                      s   t   ¡ S )N)r   ÚinverserQ   rW   rQ   rR   r[   Î  r\   ztest_inverses.<locals>.<lambda>)r   r   rÉ   r   r+   ÚAttributeErrorr   r   r   r   r   r   r   r   r   r   rQ   rQ   rW   rR   Útest_inversesË  s    rË   c                  C   sÊ   t d} t|  | ¡dksJ t|  | ¡d|  ks8J ttfD ]}||  | ¡| ks@J q@ttttfD ]2}d|  tjfD ]}||}| | ¡|kszJ qzqhtt	fD ] }|tj}| | ¡|ks€J q€d S )NrC   r0   )
r   r   r   r   r   r   r   rK   r   r   )rC   ÚfuncÚarÚeqrQ   rQ   rR   Útest_leading_termÙ  s    
rÏ   c                  C   sä  t ddd\} }| |t  }ttttttfD ]$}|| ¡ || |t  ks,J q,dD ]}t|j	d|dt| t
| tt|  t|  ksJ t|j	d|dt| t
| tt|  t|  ksÐJ t|j	d|dt| t|  t
|d t| d   tt| t
| t
|d t| d    ks<J t|j	d|dt| t|  t|d t| d   tt| t
| t|d t| d    ksšJ 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sDJ 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sVJ qVd S )Núa,bTrE   ©TF©ÚcomplexrB   r2   )r   r   r   r   r   r   r   r   Ú	conjugateÚexpandr#   r&   )ÚaÚbÚzrÌ   rB   rQ   rQ   rR   Útest_complexè  sf    "
ÿ"ÿÿ"ÿÿÿ*ÿÿÿ*ÿ(
ÿÿ
ÿÿÿ(
ÿÿ
ÿÿÿrÙ   c                  C   sN   t ddd\} }dD ]4}ttttfD ]"}|| jd|d|| ks$J q$qd S )NrÐ   TrE   rÑ   rÒ   )r   r   r   r   r   rÕ   )rÖ   r×   rB   rÌ   rQ   rQ   rR   Útest_complex_2899þ  s    rÚ   c                  C   sN  t d} tt| | ksJ tt| t| d t| d  ksDJ tt| | td| d   kshJ tt| dt| d t| d   ksJ tt| td| d  ksŽJ tt| | ksÈJ tt| dtd| d   ksìJ tt| | t| d t| d   ksJ tt| | td| d   ks@J tt| t| d t| d  |  ksnJ tt| | ksJ tt| d|  ksJ t	t| td| d  |  ksÄJ t	t| | t| d t| d   ksòJ t	t| d|  ksJ t	t| | ks"J t
t| d|  ks<J t
t| dt| d t| d   ksjJ t
t| td| d  |  ksJ t
t| t| d t| d  ksºJ tt| dtd| d   ksàJ tt| d|  ksúJ tt| td| d  ksJ tt| t| d t| d  |  ksJJ d S r³   )r   r   r   r   r    r   r   r   r   r   r   r   rW   rQ   rQ   rR   Útest_simplifications  s2    ($, $.&.&..&*&"rÛ   c                   C   s,   t ttdd ttdd ks(J d S )Nr;   r2   r   r<   )r   r   r   r    rQ   rQ   rQ   rR   Útest_issue_4136&  s    rÜ   c                  C   sà   t d} t|  t¡t| t|   d   krBt|  d¡ksHn J t|  t¡t t| tt d   kstJ ttj	|  }t|  t¡d| d|d   ksšJ t
tj	|  }t|  t
¡d| |d d  ksÜJ d S ©NrC   r2   Ú	tractabler0   )r   r   r   r   r   r   r   r   r   rK   r   ©rC   Z	tanh_halfZ	coth_halfrQ   rQ   rR   Útest_sinh_rewrite*  s    (ÿ,&rà   c                  C   sà   t d} t|  t¡t| t|   d   krBt|  d¡ksHn J t|  t¡t t| tt d   kstJ ttj	|  d }t|  t¡d| d|  ksšJ t
tj	|  d }t|  t
¡|d |d  ksÜJ d S rÝ   )r   r   r   r   r   r   r   r   r   rK   r   rß   rQ   rQ   rR   Útest_cosh_rewrite5  s    (ÿ,"rá   c                  C   sÜ   t d} t|  t¡t| t|   t| t|      krPt|  d¡ksVn J t|  t¡tt|  ttt d |   ksJ t|  t¡tttt d |   t|  ksºJ t|  t¡dt|  ksØJ d S ©NrC   rÞ   r2   r0   )	r   r   r   r   r   r   r   r   r   rW   rQ   rQ   rR   Útest_tanh_rewrite@  s    6ÿ22rã   c                  C   sà   t d} t|  t¡t| t|   t| t|      krPt|  d¡ksVn J t|  t¡t ttt d |   t|  ksJ t|  t¡t t|  ttt d |   ksŸJ t|  t¡dt|  ksÜJ d S râ   )	r   r   r   r   r   r   r   r   r   rW   rQ   rQ   rR   Ú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 J t|  t¡tt| tt d   kszJ ttj	|  }t|  t¡d|d  d|  ks®J t
tj	|  }t|  t
¡|d d d|  ksâJ d S ©NrC   r0   r2   rÞ   )r   r   r   r   r   r   r   r   r   rK   r   rß   rQ   rQ   rR   Útest_csch_rewriteR  s    0ÿ*&ræ   c                  C   sæ   t d} t|  t¡dt| d t|  d     krJt|  d¡ksPn J t|  t¡tt| tt d   kszJ ttj	|  d }t|  t¡d| d|  ks®J t
tj	|  d }t|  t
¡|d |d  ksâJ d S rå   )r   r   r   r   r   r   r   r   r   rK   r   rß   rQ   rQ   rR   Útest_sech_rewrite]  s    0ÿ*"rç   c                  C   sö  t d} t|  | ¡t| d  ks(J t|  | ¡t| ksBJ t|  | ¡t| ks\J t|  | ¡t| d  d ksJ t|  | ¡t|  t|  ks€J t|  | ¡t|  t|  ksÈJ t|  | ¡d| d  d  ksìJ t	|  | ¡dt
| d d  ksJ t|  | ¡dt
| d t
| d   ksDJ t|  | ¡t|  t¡ | ¡ ¡ kspJ t|  | ¡d| d  d  ksJ t|  | ¡d| t
d| d    ksÂJ t|  | ¡d| d t
d| d    ksòJ d S )NrC   r4   r2   r0   r1   )r   r   Údiffr   r   r   r   r   r   r   r    r   r   r   Ztogetherr   r   r   rW   rQ   rQ   rR   Útest_derivsh  s     $$$$(0,&,ré   c                  C   sŽ   t d\} }t| | jddt| t| t| t|  ksDJ td|  jdddt|  t|  kspJ td|  jdd ¡ t| d dt|  t| d   ks°J d S ©Nr,   T)Ztrigr2   r;   )r   r   rÕ   r   ©rC   rP   rQ   rQ   rR   Útest_sinh_expansiony  s    8,"ÿrì   c                  C   sž   t d\} }t| | jddt| t| t| t|  ksDJ td|  jddt| d t| d  kstJ td|  jdd ¡ dt| d  t|  t| d  ksŽJ d S rê   )r   r   rÕ   r   rë   rQ   rQ   rR   Útest_cosh_expansion  s    80"ÿrí   c                  C   s   t ddd} t ddd}t| ddjdu s.J t| d| t t  ddjdu sTJ ttt d	 ddjdu srJ td
t t d	 ddjdu sJ d S ©Nr-   TrE   rq   r.   FrI   r2   r<   r;   )r   r   Úis_positiver   r   ©r-   rq   rQ   rQ   rR   Útest_cosh_positive  s    &rñ   c                  C   s°   t ddd} t ddd}t| ddjdu s.J t| d| t t  ddjdu sTJ ttt d	 ddjdu srJ td
t t d	 ddjdu sJ ttjddjdu s¬J d S rî   )r   r   Zis_nonnegativer   r   r   ZZerorð   rQ   rQ   rR   Útest_cosh_nonnegative  s    &"rò   c                  C   s|   t ddd} t| jd u sJ t| jd u s0J t| jd u sBJ t| jd u sTJ t| jd u sfJ t| jd u sxJ d S )NrØ   FrE   )r   r   rN   r   r   r   r   r   )rØ   rQ   rQ   rR   Útest_real_assumptions  s    ró   c                  C   sô   t ddd} t ddd}t|jdu s*J t| jdu s<J t|jdu sNJ t| jdu s`J t|jdu srJ t| jdu sJ t|jdu sJ t| jdu sšJ t|jdu sºJ t| jdu sÌJ t|jdu sÞJ t| jdu sðJ d S )NrG   TrH   rq   )Únegative)	r   r   Zis_negativerï   r   r   r   r   r   )rG   rq   rQ   rQ   rR   Ú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+   rS   rX   r^   rc   rf   rg   rh   rk   rl   rm   ro   rp   rt   rw   rx   ry   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õ   rQ   rQ   rQ   rR   Ú<module>   s®   (8$MIHL=:8		<	:	;		:(!		
	