U
    ZÊ¹jS ã                   @   s8  d dl 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mZmZ d dlmZmZmZ d dlmZ d dlmZmZmZ d dlmZmZmZ d d	lmZmZmZ d d
l m!Z!m"Z"m#Z# d dl$m%Z% d dl&m'Z' d dl(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3 d dl4m5Z5 dd„ Z6edd„ ƒZ7edd„ ƒZ8edd„ ƒZ9G dd„ deƒZ:dd„ Z;G dd„ de:ƒZ<G dd„ de:ƒZ=G dd „ d e:ƒZ>G d!d"„ d"e:ƒZ?G d#d$„ d$e:ƒZ@G d%d&„ d&e@ƒZAG d'd(„ d(e@ƒZBG d)d*„ d*eƒZCG d+d,„ d,eCƒZDG d-d.„ d.eCƒZEG d/d0„ d0eCƒZFG d1d2„ d2eCƒZGG d3d4„ d4eCƒZHG d5d6„ d6eCƒZId7S )8é    )ÚSÚsympifyÚcacheit)ÚAdd)ÚFunctionÚArgumentIndexError)Úfuzzy_orÚ	fuzzy_andÚ	fuzzy_notÚ	FuzzyBool)ÚIÚpiÚRational)ÚDummy)ÚbinomialÚ	factorialÚRisingFactorial)Ú	bernoulliÚeulerÚnC)ÚAbsÚimÚre)ÚexpÚlogÚmatch_real_imag)Úfloor)Úsqrt)ÚacosÚacotÚasinÚatanÚcosÚcotÚcscÚsecÚsinÚtanÚ_imaginary_unit_as_coefficient)Úsymmetric_polyc                 C   s   |   dd„ |  t¡D ƒ¡S )Nc                 S   s   i | ]}||  t¡“qS © )Úrewriter   )Ú.0Úhr*   r*   úd/var/www/html/bwave/python/venv/lib/python3.8/site-packages/sympy/functions/elementary/hyperbolic.pyÚ
<dictcomp>   s   ÿ z/_rewrite_hyperbolics_as_exp.<locals>.<dictcomp>)ZxreplaceZatomsÚHyperbolicFunction)Úexprr*   r*   r.   Ú_rewrite_hyperbolics_as_exp   s    
ÿr2   c                +   C   sè  t tt dtdƒ  ƒt  tt  dtdƒ  ƒtjtd tddƒttddƒ tdƒd td tdƒ d ttddƒ dtdƒ td dtdƒ ttddƒ tdƒd td tdƒ d ttddƒ tdƒd tdƒ ttdd	ƒ tdƒd  tdƒ ttd
d	ƒ tdtdƒ ƒd td tdtdƒ ƒ d ttd
dƒ tdtdƒ ƒd ttddƒ tdtdƒ ƒ d ttddƒ dtdƒ dtdƒ  td	 dtdƒ  dtdƒ  ttdd	ƒ tdƒd d td tdƒd  d ttddƒ iS )Né   é   é   éÿÿÿÿé   é   é   é   é   é   é   )r   r   r   r   ÚHalfr   r   r*   r*   r*   r.   Ú_acosh_table   sR        
  
 
 
            ìr?   c                   C   sB  t t d t tdƒtdƒ  t d t dtdƒ  t d t d tdtdƒ ƒ t d t d t d t tddtdƒ  ƒ t d t tdƒ t d t tdƒd  d	t d t d td
ƒ t d
 t d tdtdƒ ƒ d	t d t tddtdƒ  ƒ dt d t tdƒtdƒ  dt d tdƒt  tdtdƒ d ƒ iS )Nr4   r8   r;   r3   r9   é
   r:   r7   éýÿÿÿr5   éþÿÿÿéûÿÿÿ)r   r   r   r   r   r*   r*   r*   r.   Ú_acsch_table3   s6          
  
  
 
 
 órD   c                5   C   sN  t tt  d  tdtdƒ ƒ t  tt  d tdtdƒ ƒ tdƒtdƒ td tdƒtdƒ dt d tddtdƒ  ƒtd tddtdƒ  ƒ dt d dtdtdƒ ƒ td	 d
tdtdƒ ƒ dt d	 dtdƒ td d
tdƒ dt d tdƒd td dtdƒ dt d tdƒtd tdƒ dt d tddtdƒ  ƒdt d tddtdƒ  ƒ dt d tdƒtd tdƒ dt d tddtdƒ  ƒdt d	 tddtdƒ  ƒ dt d	 dtdƒ dt d dtdƒ dt d tdƒtdƒ dt d tdƒ tdƒ dt d t tj t t  d t tj tt  d iS )Nr4   r3   r8   r;   r=   r9   r@   é	   r:   rB   r<   r5   r7   r6   )r   r   r   r   r   ÚInfinityÚNegativeInfinityr*   r*   r*   r.   Ú_asech_tableF   sj        
  
  

 
 

 
 
  
 
 
  
 
 

 

 
 
 
  
ærH   c                   @   s   e Zd ZdZdZdS )r0   ze
    Base class for hyperbolic functions.

    See Also
    ========

    sinh, cosh, tanh, coth
    TN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Z
unbranchedr*   r*   r*   r.   r0   j   s   	r0   c                 C   s|   t t }t | ¡D ]<}||kr*tj} qZq|jr| ¡ \}}||kr|jr qZq| tj	fS |tj
 }|| }| ||  |fS )aÙ  
    Split ARG into two parts, a "rest" and a multiple of $I\pi$.
    This assumes ARG to be an ``Add``.
    The multiple of $I\pi$ returned in the second position is always a ``Rational``.

    Examples
    ========

    >>> from sympy.functions.elementary.hyperbolic import _peeloff_ipi as peel
    >>> from sympy import pi, I
    >>> from sympy.abc import x, y
    >>> peel(x + I*pi/2)
    (x, 1/2)
    >>> peel(x + I*2*pi/3 + I*pi*y)
    (x + I*pi*y + I*pi/6, 1/2)
    )r   r   r   Z	make_argsr   ÚOneÚis_MulÚas_two_termsZis_RationalÚZeror>   )ÚargZipiÚaÚKÚpÚm1Úm2r*   r*   r.   Ú_peeloff_ipiw   s    

rW   c                   @   sâ   e Zd ZdZd4dd„Zd5dd„Zedd„ ƒZee	d	d
„ ƒƒZ
dd„ Zd6dd„Zd7dd„Zd8dd„Zd9dd„Zdd„ Zdd„ Zdd„ Zdd„ Zdd „ Zd!d"„ Zd#d$„ Zd:d&d'„Zd(d)„ Zd*d+„ Zd,d-„ Zd.d/„ Zd0d1„ Zd2d3„ ZdS );Úsinha  
    ``sinh(x)`` is the hyperbolic sine of ``x``.

    The hyperbolic sine function is $\frac{e^x - e^{-x}}{2}$.

    Examples
    ========

    >>> from sympy import sinh
    >>> from sympy.abc import x
    >>> sinh(x)
    sinh(x)

    See Also
    ========

    cosh, tanh, asinh
    r3   c                 C   s$   |dkrt | jd ƒS t| |ƒ‚dS )z@
        Returns the first derivative of this function.
        r3   r   N)ÚcoshÚargsr   ©ÚselfÚargindexr*   r*   r.   Úfdiff­   s    z
sinh.fdiffc                 C   s   t S ©z7
        Returns the inverse of this function.
        ©Úasinhr[   r*   r*   r.   Úinverse¶   s    zsinh.inversec                 C   sŠ  |j rX|tjkrtjS |tjkr&tjS |tjkr6tjS |jrBtjS |jrT| | ƒ S �n.|tjkrhtjS t	|ƒ}|d k	r„t
t|ƒ S | ¡ r˜| | ƒ S |jrÚt|ƒ\}}|rÚ|t t
 }t|ƒt|ƒ t|ƒt|ƒ  S |jrætjS |jtk� rü|jd S |jtk�r*|jd }t|d ƒt|d ƒ S |jtk�rT|jd }|td|d  ƒ S |jtk�r†|jd }dt|d ƒt|d ƒ  S d S ©Nr   r3   r4   )Ú	is_Numberr   ÚNaNrF   rG   Úis_zerorP   Úis_negativeÚComplexInfinityr(   r   r&   Úcould_extract_minus_signÚis_AddrW   r   rX   rY   Úfuncra   rZ   Úacoshr   ÚatanhÚacoth)ÚclsrQ   Úi_coeffÚxÚmr*   r*   r.   Úeval¼   sH    



 



z	sinh.evalc                 G   sb   | dk s| d dkrt jS t|ƒ}t|ƒdkrN|d }||d  | | d   S ||  t| ƒ S dS )zG
        Returns the next term in the Taylor series expansion.
        r   r4   rB   r3   N©r   rP   r   Úlenr   ©Únrq   Úprevious_termsrT   r*   r*   r.   Útaylor_termí   s    zsinh.taylor_termc                 C   s   |   | jd  ¡ ¡S ©Nr   ©rk   rZ   Ú	conjugate©r\   r*   r*   r.   Ú_eval_conjugateþ   s    zsinh._eval_conjugateTc                 K   sŠ   | j d jr6|r,d|d< | j|f|ŽtjfS | tjfS |rX| j d j|f|Ž ¡ \}}n| j d  ¡ \}}t|ƒt|ƒ t|ƒt	|ƒ fS )z@
        Returns this function as a complex coordinate.
        r   FÚcomplex©
rZ   Úis_extended_realÚexpandr   rP   Úas_real_imagrX   r"   rY   r&   ©r\   ÚdeepÚhintsr   r   r*   r*   r.   rƒ     s    
zsinh.as_real_imagc                 K   s$   | j f d|i|—Ž\}}||t  S ©Nr…   ©rƒ   r   ©r\   r…   r†   Zre_partZim_partr*   r*   r.   Ú_eval_expand_complex  s    zsinh._eval_expand_complexc                 K   s®   |r| j d j|f|Ž}n
| j d }d }|jr<| ¡ \}}n:|jdd�\}}|tjk	rv|jrv|tjk	rv|}|d | }|d k	r¦t|ƒt	|ƒ t|ƒt	|ƒ  jdd�S t|ƒS ©Nr   T©Zrationalr3   )Ztrig)
rZ   r‚   rj   rO   Úas_coeff_Mulr   rM   Ú
is_IntegerrX   rY   ©r\   r…   r†   rQ   rq   ÚyÚcoeffÚtermsr*   r*   r.   Ú_eval_expand_trig  s    
(zsinh._eval_expand_trigNc                 K   s   t |ƒt | ƒ d S ©Nr4   ©r   ©r\   rQ   ÚlimitvarÚkwargsr*   r*   r.   Ú_eval_rewrite_as_tractable&  s    zsinh._eval_rewrite_as_tractablec                 K   s   t |ƒt | ƒ d S r”   r•   ©r\   rQ   r˜   r*   r*   r.   Ú_eval_rewrite_as_exp)  s    zsinh._eval_rewrite_as_expc                 K   s   t  tt | ƒ S ©N©r   r&   rš   r*   r*   r.   Ú_eval_rewrite_as_sin,  s    zsinh._eval_rewrite_as_sinc                 K   s   t  tt | ƒ S rœ   ©r   r$   rš   r*   r*   r.   Ú_eval_rewrite_as_csc/  s    zsinh._eval_rewrite_as_cscc                 K   s   t  t|tt  d  ƒ S r”   ©r   rY   r   rš   r*   r*   r.   Ú_eval_rewrite_as_cosh2  s    zsinh._eval_rewrite_as_coshc                 K   s"   t tj| ƒ}d| d|d   S ©Nr4   r3   ©Útanhr   r>   ©r\   rQ   r˜   Z	tanh_halfr*   r*   r.   Ú_eval_rewrite_as_tanh5  s    zsinh._eval_rewrite_as_tanhc                 K   s"   t tj| ƒ}d| |d d  S r£   ©Úcothr   r>   ©r\   rQ   r˜   Z	coth_halfr*   r*   r.   Ú_eval_rewrite_as_coth9  s    zsinh._eval_rewrite_as_cothc                 K   s   dt |ƒ S ©Nr3   ©Úcschrš   r*   r*   r.   Ú_eval_rewrite_as_csch=  s    zsinh._eval_rewrite_as_cschr   c                 C   sh   | j d j|||d�}| |d¡}|tjkrF|j|d|jr>dndd�}|jrP|S |jr`|  	|¡S | S d S ©Nr   ©ÚlogxÚcdirú-ú+)Údir)
rZ   Úas_leading_termÚsubsr   re   Úlimitrg   rf   Ú	is_finiterk   ©r\   rq   r²   r³   rQ   Úarg0r*   r*   r.   Ú_eval_as_leading_term@  s    

zsinh._eval_as_leading_termc                 C   s*   | j d }|jrdS | ¡ \}}|t jS ©Nr   T©rZ   Úis_realrƒ   r   rf   ©r\   rQ   r   r   r*   r*   r.   Ú_eval_is_realM  s
    
zsinh._eval_is_realc                 C   s   | j d jrdS d S r¾   ©rZ   r�   r}   r*   r*   r.   Ú_eval_is_extended_realW  s    zsinh._eval_is_extended_realc                 C   s   | j d jr| j d jS d S rz   ©rZ   r�   Úis_positiver}   r*   r*   r.   Ú_eval_is_positive[  s    zsinh._eval_is_positivec                 C   s   | j d jr| j d jS d S rz   ©rZ   r�   rg   r}   r*   r*   r.   Ú_eval_is_negative_  s    zsinh._eval_is_negativec                 C   s   | j d }|jS rz   ©rZ   rº   ©r\   rQ   r*   r*   r.   Ú_eval_is_finitec  s    
zsinh._eval_is_finitec                 C   s"   t | jd ƒ\}}|jr|jS d S rz   )rW   rZ   rf   Ú
is_integer©r\   ÚrestZipi_multr*   r*   r.   Ú_eval_is_zerog  s    zsinh._eval_is_zero)r3   )r3   )T)T)T)N)Nr   )rI   rJ   rK   rL   r^   rb   Úclassmethodrs   Ústaticmethodr   ry   r~   rƒ   rŠ   r“   r™   r›   rž   r    r¢   r§   r«   r¯   r½   rÂ   rÄ   rÇ   rÉ   rÌ   rÐ   r*   r*   r*   r.   rX   ™   s6   
	

0





rX   c                   @   sÐ   e Zd ZdZd0dd„Zedd„ ƒZeedd„ ƒƒZ	d	d
„ Z
d1dd„Zd2dd„Zd3dd„Zd4dd„Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd „ Zd!d"„ Zd5d$d%„Zd&d'„ Zd(d)„ Zd*d+„ Zd,d-„ Zd.d/„ ZdS )6rY   a"  
    ``cosh(x)`` is the hyperbolic cosine of ``x``.

    The hyperbolic cosine function is $\frac{e^x + e^{-x}}{2}$.

    Examples
    ========

    >>> from sympy import cosh
    >>> from sympy.abc import x
    >>> cosh(x)
    cosh(x)

    See Also
    ========

    sinh, tanh, acosh
    r3   c                 C   s$   |dkrt | jd ƒS t| |ƒ‚d S ©Nr3   r   ©rX   rZ   r   r[   r*   r*   r.   r^   �  s    z
cosh.fdiffc                 C   s~  ddl m} |jrb|tjkr"tjS |tjkr2tjS |tjkrBtjS |jrNtjS |j	r^| | ƒS �n|tj
krrtjS t|ƒ}|d k	rŠ||ƒS | ¡ rœ| | ƒS |jrÞt|ƒ\}}|rÞ|t t }t|ƒt|ƒ t|ƒt|ƒ  S |jrêtjS |jtk�rtd|jd d  ƒS |jtk�r"|jd S |jtk�rHdtd|jd d  ƒ S |jtk�rz|jd }|t|d ƒt|d ƒ  S d S )Nr   )r"   r3   r4   )Ú(sympy.functions.elementary.trigonometricr"   rd   r   re   rF   rG   rf   rM   rg   rh   r(   ri   rj   rW   r   r   rY   rX   rk   ra   r   rZ   rl   rm   rn   )ro   rQ   r"   rp   rq   rr   r*   r*   r.   rs   ‡  sF    




 

z	cosh.evalc                 G   sb   | dk s| d dkrt jS t|ƒ}t|ƒdkrN|d }||d  | | d   S ||  t| ƒ S d S )Nr   r4   r3   rB   rt   rv   r*   r*   r.   ry   ·  s    zcosh.taylor_termc                 C   s   |   | jd  ¡ ¡S rz   r{   r}   r*   r*   r.   r~   Å  s    zcosh._eval_conjugateTc                 K   sŠ   | j d jr6|r,d|d< | j|f|ŽtjfS | tjfS |rX| j d j|f|Ž ¡ \}}n| j d  ¡ \}}t|ƒt|ƒ t|ƒt	|ƒ fS )Nr   Fr   )
rZ   r�   r‚   r   rP   rƒ   rY   r"   rX   r&   r„   r*   r*   r.   rƒ   È  s    
zcosh.as_real_imagc                 K   s$   | j f d|i|—Ž\}}||t  S r‡   rˆ   r‰   r*   r*   r.   rŠ   Ö  s    zcosh._eval_expand_complexc                 K   s®   |r| j d j|f|Ž}n
| j d }d }|jr<| ¡ \}}n:|jdd�\}}|tjk	rv|jrv|tjk	rv|}|d | }|d k	r¦t|ƒt|ƒ t	|ƒt	|ƒ  jdd�S t|ƒS r‹   )
rZ   r‚   rj   rO   r�   r   rM   rŽ   rY   rX   r�   r*   r*   r.   r“   Ú  s    
(zcosh._eval_expand_trigNc                 K   s   t |ƒt | ƒ d S r”   r•   r–   r*   r*   r.   r™   ë  s    zcosh._eval_rewrite_as_tractablec                 K   s   t |ƒt | ƒ d S r”   r•   rš   r*   r*   r.   r›   î  s    zcosh._eval_rewrite_as_expc                 K   s   t t| dd�S ©NF©Úevaluate©r"   r   rš   r*   r*   r.   Ú_eval_rewrite_as_cosñ  s    zcosh._eval_rewrite_as_cosc                 K   s   dt t| dd� S ©Nr3   Fr×   ©r%   r   rš   r*   r*   r.   Ú_eval_rewrite_as_secô  s    zcosh._eval_rewrite_as_secc                 K   s   t  t|tt  d  dd� S ©Nr4   Fr×   ©r   rX   r   rš   r*   r*   r.   Ú_eval_rewrite_as_sinh÷  s    zcosh._eval_rewrite_as_sinhc                 K   s"   t tj| ƒd }d| d|  S r£   r¤   r¦   r*   r*   r.   r§   ú  s    zcosh._eval_rewrite_as_tanhc                 K   s"   t tj| ƒd }|d |d  S r£   r¨   rª   r*   r*   r.   r«   þ  s    zcosh._eval_rewrite_as_cothc                 K   s   dt |ƒ S r¬   ©Úsechrš   r*   r*   r.   Ú_eval_rewrite_as_sech  s    zcosh._eval_rewrite_as_sechr   c                 C   sj   | j d j|||d�}| |d¡}|tjkrF|j|d|jr>dndd�}|jrRtjS |j	rb|  
|¡S | S d S r°   )rZ   r·   r¸   r   re   r¹   rg   rf   rM   rº   rk   r»   r*   r*   r.   r½     s    

zcosh._eval_as_leading_termc                 C   s0   | j d }|js|jrdS | ¡ \}}|t jS r¾   )rZ   rÀ   Úis_imaginaryrƒ   r   rf   rÁ   r*   r*   r.   rÂ     s
    
zcosh._eval_is_realc              	   C   sr   | j d }| ¡ \}}|dt  }|j}|r0dS |j}|dkrB|S t|t|t|td k |dt d kgƒgƒgƒS ©Nr   r4   TFr5   ©rZ   rƒ   r   rf   r   r	   ©r\   Úzrq   r�   ZymodZyzeroZxzeror*   r*   r.   rÇ     s     
þüzcosh._eval_is_positivec              	   C   sr   | j d }| ¡ \}}|dt  }|j}|r0dS |j}|dkrB|S t|t|t|td k|dt d kgƒgƒgƒS rå   ræ   rç   r*   r*   r.   Ú_eval_is_nonnegative?  s     
þüzcosh._eval_is_nonnegativec                 C   s   | j d }|jS rz   rÊ   rË   r*   r*   r.   rÌ   Y  s    
zcosh._eval_is_finitec                 C   s,   t | jd ƒ\}}|r(|jr(|tj jS d S rz   )rW   rZ   rf   r   r>   rÍ   rÎ   r*   r*   r.   rÐ   ]  s    
zcosh._eval_is_zero)r3   )T)T)T)N)Nr   )rI   rJ   rK   rL   r^   rÑ   rs   rÒ   r   ry   r~   rƒ   rŠ   r“   r™   r›   rÚ   rÝ   rà   r§   r«   rã   r½   rÂ   rÇ   ré   rÌ   rÐ   r*   r*   r*   r.   rY   m  s2   

/




 rY   c                   @   sÎ   e Zd ZdZd0dd„Zd1dd„Zedd„ ƒZee	d	d
„ ƒƒZ
dd„ Zd2dd„Zdd„ Zd3dd„Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd „ Zd4d"d#„Zd$d%„ Zd&d'„ Zd(d)„ Zd*d+„ Zd,d-„ Zd.d/„ ZdS )5r¥   a'  
    ``tanh(x)`` is the hyperbolic tangent of ``x``.

    The hyperbolic tangent function is $\frac{\sinh(x)}{\cosh(x)}$.

    Examples
    ========

    >>> from sympy import tanh
    >>> from sympy.abc import x
    >>> tanh(x)
    tanh(x)

    See Also
    ========

    sinh, cosh, atanh
    r3   c                 C   s.   |dkr t jt| jd ƒd  S t| |ƒ‚d S ©Nr3   r   r4   )r   rM   r¥   rZ   r   r[   r*   r*   r.   r^   w  s    z
tanh.fdiffc                 C   s   t S r_   ©rm   r[   r*   r*   r.   rb   }  s    ztanh.inversec                 C   sŽ  |j rX|tjkrtjS |tjkr&tjS |tjkr6tjS |jrBtjS |j	rT| | ƒ S �n2|tj
krhtjS t|ƒ}|d k	rœ| ¡ r�t t| ƒ S tt|ƒ S | ¡ r°| | ƒ S |jrðt|ƒ\}}|rðt|t t ƒ}|tj
krèt|ƒS t|ƒS |j� rþtjS |jtk�r(|jd }|td|d  ƒ S |jtk�rZ|jd }t|d ƒt|d ƒ | S |jtk�rp|jd S |jtk�rŠd|jd  S d S rc   )rd   r   re   rF   rM   rG   ÚNegativeOnerf   rP   rg   rh   r(   ri   r   r'   rj   rW   r¥   r   r©   rk   ra   rZ   r   rl   rm   rn   )ro   rQ   rp   rq   rr   Ztanhmr*   r*   r.   rs   ƒ  sN    







z	tanh.evalc                 G   sf   | dk s| d dkrt jS t|ƒ}d| d  }t| d ƒ}t| d ƒ}||d  | | ||   S d S ©Nr   r4   r3   )r   rP   r   r   r   )rw   rq   rx   rR   ÚBÚFr*   r*   r.   ry   ¸  s    ztanh.taylor_termc                 C   s   |   | jd  ¡ ¡S rz   r{   r}   r*   r*   r.   r~   Ç  s    ztanh._eval_conjugateTc                 K   sª   | j d jr6|r,d|d< | j|f|ŽtjfS | tjfS |rX| j d j|f|Ž ¡ \}}n| j d  ¡ \}}t|ƒd t|ƒd  }t|ƒt|ƒ | t	|ƒt|ƒ | fS )Nr   Fr   r4   r€   )r\   r…   r†   r   r   Údenomr*   r*   r.   rƒ   Ê  s    
ztanh.as_real_imagc           	         sî   | j d }|jrnt|j ƒ}dd„ |j D ƒ}ddg}t|d ƒD ]}||d   t||ƒ7  < q>|d |d  S |jræ| ¡ \‰}ˆjræˆdkræt|ƒ‰ ‡ ‡fdd„tdˆd dƒD ƒ}‡ ‡fdd„tdˆd dƒD ƒ}t	|Ž t	|Ž  S t|ƒS )Nr   c                 S   s   g | ]}t |d d� ¡ ‘qS ©Fr×   )r¥   r“   ©r,   rq   r*   r*   r.   Ú
<listcomp>Ü  s   ÿz*tanh._eval_expand_trig.<locals>.<listcomp>r3   r4   c                    s"   g | ]}t tˆƒ|ƒˆ |  ‘qS r*   ©r   Úrange©r,   Úk©ÚTr‘   r*   r.   ró   æ  s     c                    s"   g | ]}t tˆƒ|ƒˆ |  ‘qS r*   rô   rö   rø   r*   r.   ró   ç  s     )
rZ   rj   ru   rõ   r)   rN   r�   rŽ   r¥   r   )	r\   r†   rQ   rw   ZTXrT   Úir’   Údr*   rø   r.   r“   Ø  s$    

ÿ  ztanh._eval_expand_trigNc                 K   s$   t | ƒt |ƒ }}|| ||  S rœ   r•   ©r\   rQ   r—   r˜   Úneg_expÚpos_expr*   r*   r.   r™   ë  s    ztanh._eval_rewrite_as_tractablec                 K   s$   t | ƒt |ƒ }}|| ||  S rœ   r•   ©r\   rQ   r˜   rý   rþ   r*   r*   r.   r›   ï  s    ztanh._eval_rewrite_as_expc                 K   s   t  tt | dd� S rÖ   )r   r'   rš   r*   r*   r.   Ú_eval_rewrite_as_tanó  s    ztanh._eval_rewrite_as_tanc                 K   s   t  tt | dd� S rÖ   )r   r#   rš   r*   r*   r.   Ú_eval_rewrite_as_cotö  s    ztanh._eval_rewrite_as_cotc                 K   s$   t t|ƒ ttt  d | dd� S rÞ   rß   rš   r*   r*   r.   rà   ù  s    ztanh._eval_rewrite_as_sinhc                 K   s$   t ttt  d | dd� t|ƒ S rÞ   r¡   rš   r*   r*   r.   r¢   ü  s    ztanh._eval_rewrite_as_coshc                 K   s   dt |ƒ S r¬   ©r©   rš   r*   r*   r.   r«   ÿ  s    ztanh._eval_rewrite_as_cothr   c                 C   sH   ddl m} | jd  |¡}||jkr:|d|ƒ |¡r:|S |  |¡S d S ©Nr   )ÚOrderr3   ©Úsympy.series.orderr  rZ   r·   Zfree_symbolsÚcontainsrk   ©r\   rq   r²   r³   r  rQ   r*   r*   r.   r½     s
    ztanh._eval_as_leading_termc                 C   sJ   | j d }|jrdS | ¡ \}}|dkr<|t td kr<d S |td  jS )Nr   Tr4   r¿   rÁ   r*   r*   r.   rÂ     s    
ztanh._eval_is_realc                 C   s   | j d jrdS d S r¾   rÃ   r}   r*   r*   r.   rÄ     s    ztanh._eval_is_extended_realc                 C   s   | j d jr| j d jS d S rz   rÅ   r}   r*   r*   r.   rÇ     s    ztanh._eval_is_positivec                 C   s   | j d jr| j d jS d S rz   rÈ   r}   r*   r*   r.   rÉ   "  s    ztanh._eval_is_negativec                 C   sR   | j d }| ¡ \}}t|ƒd t|ƒd  }|dkr:dS |jrDdS |jrNdS d S )Nr   r4   FT)rZ   rƒ   r"   rX   Ú	is_numberr�   )r\   rQ   r   r   rð   r*   r*   r.   rÌ   &  s    
ztanh._eval_is_finitec                 C   s   | j d }|jrdS d S r¾   ©rZ   rf   rË   r*   r*   r.   rÐ   2  s    
ztanh._eval_is_zero)r3   )r3   )T)N)Nr   )rI   rJ   rK   rL   r^   rb   rÑ   rs   rÒ   r   ry   r~   rƒ   r“   r™   r›   r   r  rà   r¢   r«   r½   rÂ   rÄ   rÇ   rÉ   rÌ   rÐ   r*   r*   r*   r.   r¥   c  s2   


4


	r¥   c                   @   sž   e Zd ZdZd$dd„Zd%dd„Zedd„ ƒZee	d	d
„ ƒƒZ
dd„ Zd&dd„Zd'dd„Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zd(d d!„Zd"d#„ ZdS ))r©   a+  
    ``coth(x)`` is the hyperbolic cotangent of ``x``.

    The hyperbolic cotangent function is $\frac{\cosh(x)}{\sinh(x)}$.

    Examples
    ========

    >>> from sympy import coth
    >>> from sympy.abc import x
    >>> coth(x)
    coth(x)

    See Also
    ========

    sinh, cosh, acoth
    r3   c                 C   s,   |dkrdt | jd ƒd  S t| |ƒ‚d S )Nr3   r6   r   r4   rÔ   r[   r*   r*   r.   r^   L  s    z
coth.fdiffc                 C   s   t S r_   )rn   r[   r*   r*   r.   rb   R  s    zcoth.inversec                 C   sŽ  |j rX|tjkrtjS |tjkr&tjS |tjkr6tjS |jrBtjS |j	rT| | ƒ S �n2|tjkrhtjS t
|ƒ}|d k	rœ| ¡ rŽtt| ƒ S t t|ƒ S | ¡ r°| | ƒ S |jrðt|ƒ\}}|rðt|t t ƒ}|tjkrèt|ƒS t|ƒS |j� rþtjS |jtk�r(|jd }td|d  ƒ| S |jtk�rZ|jd }|t|d ƒt|d ƒ  S |jtk�rtd|jd  S |jtk�rŠ|jd S d S rc   )rd   r   re   rF   rM   rG   rì   rf   rh   rg   r(   ri   r   r#   rj   rW   r©   r   r¥   rk   ra   rZ   r   rl   rm   rn   )ro   rQ   rp   rq   rr   Zcothmr*   r*   r.   rs   X  sN    






z	coth.evalc                 G   sn   | dkrdt |ƒ S | dk s(| d dkr.tjS t |ƒ}t| d ƒ}t| d ƒ}d| d  | | ||   S d S rc   ©r   r   rP   r   r   ©rw   rq   rx   rî   rï   r*   r*   r.   ry   �  s    zcoth.taylor_termc                 C   s   |   | jd  ¡ ¡S rz   r{   r}   r*   r*   r.   r~   œ  s    zcoth._eval_conjugateTc                 K   s¼   ddl m}m} | jd jrF|r<d|d< | j|f|ŽtjfS | tjfS |rh| jd j|f|Ž ¡ \}}n| jd  ¡ \}}t	|ƒd ||ƒd  }t	|ƒt
|ƒ | ||ƒ ||ƒ | fS )Nr   )r"   r&   Fr   r4   )rÕ   r"   r&   rZ   r�   r‚   r   rP   rƒ   rX   rY   )r\   r…   r†   r"   r&   r   r   rð   r*   r*   r.   rƒ   Ÿ  s    
zcoth.as_real_imagNc                 K   s$   t | ƒt |ƒ }}|| ||  S rœ   r•   rü   r*   r*   r.   r™   ®  s    zcoth._eval_rewrite_as_tractablec                 K   s$   t | ƒt |ƒ }}|| ||  S rœ   r•   rÿ   r*   r*   r.   r›   ²  s    zcoth._eval_rewrite_as_expc                 K   s&   t  ttt  d | dd� t|ƒ S rÞ   rß   rš   r*   r*   r.   rà   ¶  s    zcoth._eval_rewrite_as_sinhc                 K   s&   t  t|ƒ ttt  d | dd� S rÞ   r¡   rš   r*   r*   r.   r¢   ¹  s    zcoth._eval_rewrite_as_coshc                 K   s   dt |ƒ S r¬   ©r¥   rš   r*   r*   r.   r§   ¼  s    zcoth._eval_rewrite_as_tanhc                 C   s   | j d jr| j d jS d S rz   rÅ   r}   r*   r*   r.   rÇ   ¿  s    zcoth._eval_is_positivec                 C   s   | j d jr| j d jS d S rz   rÈ   r}   r*   r*   r.   rÉ   Ã  s    zcoth._eval_is_negativer   c                 C   sL   ddl m} | jd  |¡}||jkr>|d|ƒ |¡r>d| S |  |¡S d S r  r  r  r*   r*   r.   r½   Ç  s
    zcoth._eval_as_leading_termc           
      K   s  | j d }|jrxdd„ |j D ƒ}g g g}t|j ƒ}t|ddƒD ] }||| d   t||ƒ¡ q>t|d Ž t|d Ž  S |j�r|jdd�\}}|j	�r|dk�rt
|d	d
�}	g g g}t|ddƒD ](}||| d   t||ƒ|	|  ¡ qÂt|d Ž t|d Ž  S t
|ƒS )Nr   c                 S   s   g | ]}t |d d� ¡ ‘qS rñ   )r©   r“   rò   r*   r*   r.   ró   Ó  s     z*coth._eval_expand_trig.<locals>.<listcomp>r6   r4   r3   TrŒ   Fr×   )rZ   rj   ru   rõ   Úappendr)   r   rN   r�   rŽ   r©   r   )
r\   r†   rQ   ZCXrT   rw   rú   r‘   rq   Úcr*   r*   r.   r“   Ð  s"    

&zcoth._eval_expand_trig)r3   )r3   )T)N)Nr   )rI   rJ   rK   rL   r^   rb   rÑ   rs   rÒ   r   ry   r~   rƒ   r™   r›   rà   r¢   r§   rÇ   rÉ   r½   r“   r*   r*   r*   r.   r©   8  s&   


4


	r©   c                   @   s²   e Zd ZU dZdZdZeed< dZeed< e	dd„ ƒZ
dd„ Zd	d
„ Zdd„ Zdd„ Zd%dd„Zdd„ Zdd„ Zd&dd„Zdd„ Zd'dd„Zdd„ Zd(dd „Zd!d"„ Zd#d$„ ZdS ))ÚReciprocalHyperbolicFunctionz=Base class for reciprocal functions of hyperbolic functions. NÚ_is_evenÚ_is_oddc                 C   sj   |  ¡ r*| jr| | ƒS | jr*| | ƒ S | j |¡}t|dƒrV| ¡ | krV|jd S |d k	rfd| S |S )Nrb   r   r3   )ri   r  r  Ú_reciprocal_ofrs   Úhasattrrb   rZ   )ro   rQ   Útr*   r*   r.   rs   ì  s    

z!ReciprocalHyperbolicFunction.evalc                 O   s    |   | jd ¡}t||ƒ||ŽS rz   )r  rZ   Úgetattr)r\   Úmethod_namerZ   r˜   Úor*   r*   r.   Ú_call_reciprocalù  s    z-ReciprocalHyperbolicFunction._call_reciprocalc                 O   s&   | j |f|ž|Ž}|d k	r"d| S |S r¬   )r  )r\   r  rZ   r˜   r  r*   r*   r.   Ú_calculate_reciprocalþ  s    z2ReciprocalHyperbolicFunction._calculate_reciprocalc                 C   s.   |   ||¡}|d k	r*||  |¡kr*d| S d S r¬   )r  r  )r\   r  rQ   r  r*   r*   r.   Ú_rewrite_reciprocal  s    z0ReciprocalHyperbolicFunction._rewrite_reciprocalc                 K   s   |   d|¡S )Nr›   ©r  rš   r*   r*   r.   r›     s    z1ReciprocalHyperbolicFunction._eval_rewrite_as_expc                 K   s   |   d|¡S )Nr™   r  r–   r*   r*   r.   r™     s    z7ReciprocalHyperbolicFunction._eval_rewrite_as_tractablec                 K   s   |   d|¡S )Nr§   r  rš   r*   r*   r.   r§     s    z2ReciprocalHyperbolicFunction._eval_rewrite_as_tanhc                 K   s   |   d|¡S )Nr«   r  rš   r*   r*   r.   r«     s    z2ReciprocalHyperbolicFunction._eval_rewrite_as_cothTc                 K   s   d|   | jd ¡ j|f|ŽS rÓ   )r  rZ   rƒ   )r\   r…   r†   r*   r*   r.   rƒ     s    z)ReciprocalHyperbolicFunction.as_real_imagc                 C   s   |   | jd  ¡ ¡S rz   r{   r}   r*   r*   r.   r~     s    z,ReciprocalHyperbolicFunction._eval_conjugatec                 K   s$   | j f ddi|—Ž\}}|t|  S )Nr…   Trˆ   r‰   r*   r*   r.   rŠ     s    z1ReciprocalHyperbolicFunction._eval_expand_complexc                 K   s   | j d|ŽS )Nr“   )r“   )r  )r\   r†   r*   r*   r.   r“   !  s    z.ReciprocalHyperbolicFunction._eval_expand_trigr   c                 C   s   d|   | jd ¡  |¡S rÓ   )r  rZ   r½   )r\   rq   r²   r³   r*   r*   r.   r½   $  s    z2ReciprocalHyperbolicFunction._eval_as_leading_termc                 C   s   |   | jd ¡jS rz   )r  rZ   r�   r}   r*   r*   r.   rÄ   '  s    z3ReciprocalHyperbolicFunction._eval_is_extended_realc                 C   s   d|   | jd ¡ jS rÓ   )r  rZ   rº   r}   r*   r*   r.   rÌ   *  s    z,ReciprocalHyperbolicFunction._eval_is_finite)N)T)T)Nr   )rI   rJ   rK   rL   r  r  r   Ú__annotations__r  rÑ   rs   r  r  r  r›   r™   r§   r«   rƒ   r~   rŠ   r“   r½   rÄ   rÌ   r*   r*   r*   r.   r  ä  s(   





r  c                   @   sb   e Zd ZdZeZdZddd„Zee	dd„ ƒƒZ
dd	„ Zd
d„ Zdd„ Zdd„ Zdd„ Zdd„ ZdS )r®   a8  
    ``csch(x)`` is the hyperbolic cosecant of ``x``.

    The hyperbolic cosecant function is $\frac{2}{e^x - e^{-x}}$

    Examples
    ========

    >>> from sympy import csch
    >>> from sympy.abc import x
    >>> csch(x)
    csch(x)

    See Also
    ========

    sinh, cosh, tanh, sech, asinh, acosh
    Tr3   c                 C   s4   |dkr&t | jd ƒ t| jd ƒ S t| |ƒ‚dS )z?
        Returns the first derivative of this function
        r3   r   N)r©   rZ   r®   r   r[   r*   r*   r.   r^   E  s    z
csch.fdiffc                 G   sr   | dkrdt |ƒ S | dk s(| d dkr.tjS t |ƒ}t| d ƒ}t| d ƒ}ddd|    | | ||   S dS )zF
        Returns the next term in the Taylor series expansion
        r   r3   r4   Nr  r  r*   r*   r.   ry   N  s    zcsch.taylor_termc                 K   s   t tt | dd� S rÖ   r�   rš   r*   r*   r.   rž   `  s    zcsch._eval_rewrite_as_sinc                 K   s   t tt | dd� S rÖ   rŸ   rš   r*   r*   r.   r    c  s    zcsch._eval_rewrite_as_cscc                 K   s   t t|t t d  dd� S rÞ   r¡   rš   r*   r*   r.   r¢   f  s    zcsch._eval_rewrite_as_coshc                 K   s   dt |ƒ S r¬   ©rX   rš   r*   r*   r.   rà   i  s    zcsch._eval_rewrite_as_sinhc                 C   s   | j d jr| j d jS d S rz   rÅ   r}   r*   r*   r.   rÇ   l  s    zcsch._eval_is_positivec                 C   s   | j d jr| j d jS d S rz   rÈ   r}   r*   r*   r.   rÉ   p  s    zcsch._eval_is_negativeN)r3   )rI   rJ   rK   rL   rX   r  r  r^   rÒ   r   ry   rž   r    r¢   rà   rÇ   rÉ   r*   r*   r*   r.   r®   .  s   
	r®   c                   @   sZ   e Zd ZdZeZdZddd„Zee	dd„ ƒƒZ
dd	„ Zd
d„ Zdd„ Zdd„ Zdd„ ZdS )râ   a:  
    ``sech(x)`` is the hyperbolic secant of ``x``.

    The hyperbolic secant function is $\frac{2}{e^x + e^{-x}}$

    Examples
    ========

    >>> from sympy import sech
    >>> from sympy.abc import x
    >>> sech(x)
    sech(x)

    See Also
    ========

    sinh, cosh, tanh, coth, csch, asinh, acosh
    Tr3   c                 C   s4   |dkr&t | jd ƒ t| jd ƒ S t| |ƒ‚d S rÓ   )r¥   rZ   râ   r   r[   r*   r*   r.   r^   Œ  s    z
sech.fdiffc                 G   s>   | dk s| d dkrt jS t|ƒ}t| ƒt| ƒ ||   S d S rí   )r   rP   r   r   r   ©rw   rq   rx   r*   r*   r.   ry   ’  s    zsech.taylor_termc                 K   s   dt t| dd� S rÛ   rÙ   rš   r*   r*   r.   rÚ   ›  s    zsech._eval_rewrite_as_cosc                 K   s   t t| dd�S rÖ   rÜ   rš   r*   r*   r.   rÝ   ž  s    zsech._eval_rewrite_as_secc                 K   s   t t|t t d  dd� S rÞ   rß   rš   r*   r*   r.   rà   ¡  s    zsech._eval_rewrite_as_sinhc                 K   s   dt |ƒ S r¬   ©rY   rš   r*   r*   r.   r¢   ¤  s    zsech._eval_rewrite_as_coshc                 C   s   | j d jrdS d S r¾   rÃ   r}   r*   r*   r.   rÇ   §  s    zsech._eval_is_positiveN)r3   )rI   rJ   rK   rL   rY   r  r  r^   rÒ   r   ry   rÚ   rÝ   rà   r¢   rÇ   r*   r*   r*   r.   râ   u  s   
râ   c                   @   s   e Zd ZdZdS )ÚInverseHyperbolicFunctionz,Base class for inverse hyperbolic functions.N)rI   rJ   rK   rL   r*   r*   r*   r.   r!  °  s   r!  c                   @   s˜   e Zd ZdZd!dd„Zedd„ ƒZeedd„ ƒƒZ	d"dd„Z
d#dd„Zdd„ ZeZdd„ Zdd„ Zdd„ Zdd„ Zd$dd„Zdd„ Zdd„ Zdd „ Zd	S )%ra   aM  
    ``asinh(x)`` is the inverse hyperbolic sine of ``x``.

    The inverse hyperbolic sine function.

    Examples
    ========

    >>> from sympy import asinh
    >>> from sympy.abc import x
    >>> asinh(x).diff(x)
    1/sqrt(x**2 + 1)
    >>> asinh(1)
    log(1 + sqrt(2))

    See Also
    ========

    acosh, atanh, sinh
    r3   c                 C   s0   |dkr"dt | jd d d ƒ S t| |ƒ‚d S rê   )r   rZ   r   r[   r*   r*   r.   r^   Ì  s    zasinh.fdiffc           	      C   sr  |j rŠ|tjkrtjS |tjkr&tjS |tjkr6tjS |jrBtjS |tjkr\tt	dƒd ƒS |tj
krvtt	dƒd ƒS |jrÖ| | ƒ S nL|tjkrštjS |jr¦tjS t|ƒ}|d k	rÂtt|ƒ S | ¡ rÖ| | ƒ S t|tƒ�rn|jd j�rn|jd }|j�r|S t|ƒ\}}|d k	�rn|d k	�rnt|td  t ƒ}|tt |  }|j}|dk�r^|S |dk�rn| S d S )Nr4   r3   r   TF)rd   r   re   rF   rG   rf   rP   rM   r   r   rì   rg   rh   r(   r   r    ri   Ú
isinstancerX   rZ   r	  rÀ   r   r   r   Úis_even)	ro   rQ   rp   rè   Úrrú   Úfrr   Úevenr*   r*   r.   rs   Ò  sJ    








z
asinh.evalc                 G   s¦   | dk s| d dkrt jS t|ƒ}t|ƒdkrd| dkrd|d }| | d d  | | d   |d  S | d d }tt j|ƒ}t|ƒ}t j| | | ||   |  S d S ©Nr   r4   rB   r3   )r   rP   r   ru   r   r>   r   rì   ©rw   rq   rx   rT   r÷   ÚRrï   r*   r*   r.   ry      s    &zasinh.taylor_termNr   c                 C   s  | j d }| |d¡ ¡ }|jr*| |¡S |tjkrR|  | |¡¡}|jrN|S | S |t	 t	tj
fkrz|  t¡j|||d�S d|d  j�r| ||r˜|nd¡}t|ƒjrÈt|ƒjrÆ|  |¡ t	t  S n@t|ƒjròt|ƒjrð|  |¡ t	t  S n|  t¡j|||d�S |  |¡S ©Nr   r±   r3   r4   )rZ   r¸   Úcancelrf   r·   r   re   rk   rº   r   rh   r+   r   r½   rg   r¶   r   rÆ   r   r   ©r\   rq   r²   r³   rQ   Zx0r1   Úndirr*   r*   r.   r½     s*    






zasinh._eval_as_leading_termc           	      C   sâ   | j d }| |d¡}|tt fkr<|  t¡j||||d�S tj| |||d�}|tjkr\|S d|d  j	rÞ| 
||rx|nd¡}t|ƒjr¢t|ƒj	rÞ| tt  S n<t|ƒj	rÆt|ƒjrÞ| tt  S n|  t¡j||||d�S |S ©Nr   r±   ©rw   r²   r3   r4   )rZ   r¸   r   r+   r   Ú_eval_nseriesr   r   rh   rg   r¶   r   rÆ   r   r   ©	r\   rq   rw   r²   r³   rQ   r¼   Úresr-  r*   r*   r.   r0  -  s"    





zasinh._eval_nseriesc                 K   s   t |t|d d ƒ ƒS r£   ©r   r   ©r\   rq   r˜   r*   r*   r.   Ú_eval_rewrite_as_logF  s    zasinh._eval_rewrite_as_logc                 K   s   t |td|d  ƒ ƒS ©Nr3   r4   )rm   r   r4  r*   r*   r.   Ú_eval_rewrite_as_atanhK  s    zasinh._eval_rewrite_as_atanhc                 K   s4   t | }t td| ƒt|d ƒ t|ƒ td   S r6  )r   r   rl   r   )r\   rq   r˜   Zixr*   r*   r.   Ú_eval_rewrite_as_acoshN  s    zasinh._eval_rewrite_as_acoshc                 K   s   t  tt | dd� S rÖ   )r   r    r4  r*   r*   r.   Ú_eval_rewrite_as_asinR  s    zasinh._eval_rewrite_as_asinc                 K   s    t tt | dd� t t d  S )NFr×   r4   )r   r   r   r4  r*   r*   r.   Ú_eval_rewrite_as_acosU  s    zasinh._eval_rewrite_as_acosc                 C   s   t S r_   r  r[   r*   r*   r.   rb   X  s    zasinh.inversec                 C   s   | j d jS rz   r
  r}   r*   r*   r.   rÐ   ^  s    zasinh._eval_is_zeroc                 C   s   | j d jS rz   rÃ   r}   r*   r*   r.   rÄ   a  s    zasinh._eval_is_extended_realc                 C   s   | j d jS rz   rÊ   r}   r*   r*   r.   rÌ   d  s    zasinh._eval_is_finite)r3   )Nr   )r   )r3   )rI   rJ   rK   rL   r^   rÑ   rs   rÒ   r   ry   r½   r0  r5  r™   r7  r8  r9  r:  rb   rÐ   rÄ   rÌ   r*   r*   r*   r.   ra   ¶  s&   

-


ra   c                   @   s˜   e Zd ZdZd!dd„Zedd„ ƒZeedd„ ƒƒZ	d"dd„Z
d#dd„Zdd„ ZeZdd„ Zdd„ Zdd„ Zdd„ Zd$dd„Zdd„ Zdd„ Zdd „ Zd	S )%rl   aM  
    ``acosh(x)`` is the inverse hyperbolic cosine of ``x``.

    The inverse hyperbolic cosine function.

    Examples
    ========

    >>> from sympy import acosh
    >>> from sympy.abc import x
    >>> acosh(x).diff(x)
    1/(sqrt(x - 1)*sqrt(x + 1))
    >>> acosh(1)
    0

    See Also
    ========

    asinh, atanh, cosh
    r3   c                 C   s<   |dkr.| j d }dt|d ƒt|d ƒ  S t| |ƒ‚d S rÓ   ©rZ   r   r   )r\   r]   rQ   r*   r*   r.   r^   ~  s    
zacosh.fdiffc           	      C   sÐ  |j rj|tjkrtjS |tjkr&tjS |tjkr6tjS |jrHtt d S |tjkrXtj	S |tj
krjtt S |jr˜tƒ }||kr˜|jr�|| t S || S |tjkr¨tjS |ttj krÈtjtt d  S |t tj krêtjtt d  S |j�r tt tj S t|tƒ�rÌ|jd j�rÌ|jd }|j�r4t|ƒS t|ƒ\}}|d k	�rÌ|d k	�rÌt|t ƒ}|tt |  }|j}|dk�rœ|j�rŒ|S |j�rÌ| S n0|dk�rÌ|tt 8 }|j�rÀ| S |j�rÌ|S d S )Nr4   r   TF)rd   r   re   rF   rG   rf   r   r   rM   rP   rì   r	  r?   r�   rh   r>   r"  rY   rZ   rÀ   r   r   r   r#  Úis_nonnegativerg   Zis_nonpositiverÆ   )	ro   rQ   Ú	cst_tablerè   r$  rú   r%  rr   r&  r*   r*   r.   rs   …  s^    








z
acosh.evalc                 G   s´   | dkrt t d S | dk s(| d dkr.tjS t|ƒ}t|ƒdkrv| dkrv|d }|| d d  | | d   |d  S | d d }ttj|ƒ}t|ƒ}| | t  ||   |  S d S r'  )	r   r   r   rP   r   ru   r   r>   r   r(  r*   r*   r.   ry   ¼  s    $zacosh.taylor_termNr   c                 C   sð   | j d }| |d¡ ¡ }|tj tjtjtjfkrJ|  t¡j	|||d�S |tj
krr|  | |¡¡}|jrn|S | S |d jræ| ||rŠ|nd¡}t|ƒjrÆ|d jrº|  |¡dt t  S |  |¡ S t|ƒjsæ|  t¡j	|||d�S |  |¡S r*  )rZ   r¸   r+  r   rM   rP   rh   r+   r   r½   re   rk   r·   rº   rg   r¶   r   r   r   rÆ   r,  r*   r*   r.   r½   Î  s$    





zacosh._eval_as_leading_termc           	      C   sÌ   | j d }| |d¡}|tjtjfkr>|  t¡j||||d�S tj| |||d�}|tj	kr^|S |d j
rÈ| ||rv|nd¡}t|ƒj
r¦|d j
r |dt t  S | S t|ƒjsÈ|  t¡j||||d�S |S r.  ©rZ   r¸   r   rM   rì   r+   r   r0  r   rh   rg   r¶   r   r   r   rÆ   r1  r*   r*   r.   r0  ç  s     





zacosh._eval_nseriesc                 K   s    t |t|d ƒt|d ƒ  ƒS r¬   r3  r4  r*   r*   r.   r5  þ  s    zacosh._eval_rewrite_as_logc                 K   s    t |d ƒt d| ƒ t|ƒ S r¬   )r   r   r4  r*   r*   r.   r:    s    zacosh._eval_rewrite_as_acosc                 K   s(   t |d ƒt d| ƒ td t|ƒ  S r6  )r   r   r    r4  r*   r*   r.   r9    s    zacosh._eval_rewrite_as_asinc                 K   s4   t |d ƒt d| ƒ td ttt| dd�   S ©Nr3   r4   Fr×   )r   r   r   ra   r4  r*   r*   r.   Ú_eval_rewrite_as_asinh	  s    zacosh._eval_rewrite_as_asinhc                 K   sp   t |d ƒ}t d| ƒ}t |d d ƒ}td | | d|t d|d  ƒ   |t |d ƒ | t|| ƒ  S r6  )r   r   rm   )r\   rq   r˜   Zsxm1Zs1mxZsx2m1r*   r*   r.   r7    s    &ÿzacosh._eval_rewrite_as_atanhc                 C   s   t S r_   r   r[   r*   r*   r.   rb     s    zacosh.inversec                 C   s   | j d d jrdS d S )Nr   r3   Tr
  r}   r*   r*   r.   rÐ     s    zacosh._eval_is_zeroc                 C   s    t | jd j| jd d jgƒS ©Nr   r3   )r	   rZ   r�   Úis_extended_nonnegativer}   r*   r*   r.   rÄ     s    zacosh._eval_is_extended_realc                 C   s   | j d jS rz   rÊ   r}   r*   r*   r.   rÌ      s    zacosh._eval_is_finite)r3   )Nr   )r   )r3   )rI   rJ   rK   rL   r^   rÑ   rs   rÒ   r   ry   r½   r0  r5  r™   r:  r9  r@  r7  rb   rÐ   rÄ   rÌ   r*   r*   r*   r.   rl   h  s&   

6


rl   c                   @   sˆ   e Zd ZdZddd„Zedd„ ƒZeedd„ ƒƒZ	ddd„Z
ddd„Zdd„ ZeZdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zd dd„Zd	S )!rm   a)  
    ``atanh(x)`` is the inverse hyperbolic tangent of ``x``.

    The inverse hyperbolic tangent function.

    Examples
    ========

    >>> from sympy import atanh
    >>> from sympy.abc import x
    >>> atanh(x).diff(x)
    1/(1 - x**2)

    See Also
    ========

    asinh, acosh, tanh
    r3   c                 C   s,   |dkrdd| j d d   S t| |ƒ‚d S rê   ©rZ   r   r[   r*   r*   r.   r^   8  s    zatanh.fdiffc           
      C   s–  |j r†|tjkrtjS |jr"tjS |tjkr2tjS |tjkrBtjS |tjkrZt	 t
|ƒ S |tjkrrt	t
| ƒ S |jrä| | ƒ S n^|tjkr´ddlm} t	|t d td ƒ S t|ƒ}|d k	rÐt	t
|ƒ S | ¡ rä| | ƒ S |jrðtjS t|tƒ�r’|jd j�r’|jd }|j�r |S t|ƒ\}}|d k	�r’|d k	�r’td| t ƒ}|j}|t	| t d  }	|dk�rx|	S |dk�r’|	t	t d  S d S )Nr   ©ÚAccumBoundsr4   TF)rd   r   re   rf   rP   rM   rF   rì   rG   r   r!   rg   rh   Ú!sympy.calculus.accumulationboundsrE  r   r(   ri   r"  r¥   rZ   r	  rÀ   r   r   r#  )
ro   rQ   rE  rp   rè   r$  rú   r%  r&  rr   r*   r*   r.   rs   >  sL    








z
atanh.evalc                 G   s2   | dk s| d dkrt jS t|ƒ}||  |  S d S ©Nr   r4   )r   rP   r   r  r*   r*   r.   ry   m  s    zatanh.taylor_termNr   c                 C   s
  | j d }| |d¡ ¡ }|jr*| |¡S |tjkrR|  | |¡¡}|jrN|S | S |tj	 tj	tj
fkr~|  t¡j|||d�S d|d  j�r | ||rœ|nd¡}t|ƒjrÆ|jrÄ|  |¡tt  S n:t|ƒjrê|jrè|  |¡tt  S n|  t¡j|||d�S |  |¡S r*  )rZ   r¸   r+  rf   r·   r   re   rk   rº   rM   rh   r+   r   r½   rg   r¶   r   r   r   rÆ   r,  r*   r*   r.   r½   v  s*    




zatanh._eval_as_leading_termc           	      C   sØ   | j d }| |d¡}|tjtjfkr>|  t¡j||||d�S tj| |||d�}|tj	kr^|S d|d  j
rÔ| ||rz|nd¡}t|ƒj
rž|j
rÔ|tt  S n6t|ƒjr¼|jrÔ|tt  S n|  t¡j||||d�S |S r.  r>  r1  r*   r*   r.   r0  ’  s"    



zatanh._eval_nseriesc                 K   s   t d| ƒt d| ƒ d S r6  ©r   r4  r*   r*   r.   r5  «  s    zatanh._eval_rewrite_as_logc                 K   s\   t d|d d  ƒ}t| dt |d  ƒ  t | ƒt d|d  ƒ t |ƒ | t|ƒ  S r6  )r   r   ra   )r\   rq   r˜   r%  r*   r*   r.   r@  °  s    ,ÿzatanh._eval_rewrite_as_asinhc                 C   s   | j d jrdS d S r¾   r
  r}   r*   r*   r.   rÐ   µ  s    zatanh._eval_is_zeroc                 C   s.   t | jd jd| jd  j| jd d jgƒS rA  ©r	   rZ   r�   r<  r}   r*   r*   r.   rÄ   ¹  s    zatanh._eval_is_extended_realc                 C   s(   t t| jd d j| jd d jgƒƒS rA  ©r
   r   rZ   rf   r}   r*   r*   r.   rÌ   ¼  s    zatanh._eval_is_finitec                 C   s   | j d jS rz   )rZ   rä   r}   r*   r*   r.   Ú_eval_is_imaginary¿  s    zatanh._eval_is_imaginaryc                 C   s   t S r_   r  r[   r*   r*   r.   rb   Â  s    zatanh.inverse)r3   )Nr   )r   )r3   )rI   rJ   rK   rL   r^   rÑ   rs   rÒ   r   ry   r½   r0  r5  r™   r@  rÐ   rÄ   rÌ   rK  rb   r*   r*   r*   r.   rm   $  s"   

.

rm   c                   @   s€   e Zd ZdZddd„Zedd„ ƒZeedd„ ƒƒZ	ddd„Z
ddd„Zdd„ ZeZdd„ Zdd„ Zddd„Zdd„ Zdd„ Zd	S )rn   a-  
    ``acoth(x)`` is the inverse hyperbolic cotangent of ``x``.

    The inverse hyperbolic cotangent function.

    Examples
    ========

    >>> from sympy import acoth
    >>> from sympy.abc import x
    >>> acoth(x).diff(x)
    1/(1 - x**2)

    See Also
    ========

    asinh, acosh, coth
    r3   c                 C   s,   |dkrdd| j d d   S t| |ƒ‚d S rê   rC  r[   r*   r*   r.   r^   Ý  s    zacoth.fdiffc                 C   sÖ   |j r||tjkrtjS |tjkr&tjS |tjkr6tjS |jrHtt d S |tj	krXtjS |tj
krhtjS |jr¾| | ƒ S nB|tjkrŒtjS t|ƒ}|d k	rªt t|ƒ S | ¡ r¾| | ƒ S |jrÒtt tj S d S r”   )rd   r   re   rF   rP   rG   rf   r   r   rM   rì   rg   rh   r(   r   ri   r>   )ro   rQ   rp   r*   r*   r.   rs   ã  s0    





z
acoth.evalc                 G   sH   | dkrt  t d S | dk s*| d dkr0tjS t|ƒ}||  |  S d S rG  )r   r   r   rP   r   r  r*   r*   r.   ry     s    zacoth.taylor_termNr   c                 C   s  | j d }| |d¡ ¡ }|tjkr2d|  |¡S |tjkrZ|  | |¡¡}|jrV|S | S |tj	 tj	tj
fkr†|  t¡j|||d�S |j�rd|d  j�r| ||r¬|nd¡}t|ƒjrÖ|jrÔ|  |¡tt  S n:t|ƒjrú|jrø|  |¡tt  S n|  t¡j|||d�S |  |¡S )Nr   r3   r±   r4   )rZ   r¸   r+  r   rh   r·   re   rk   rº   rM   rP   r+   r   r½   rÀ   rÆ   r¶   r   rg   r   r   r,  r*   r*   r.   r½     s*    




zacoth._eval_as_leading_termc           	      C   sÞ   | j d }| |d¡}|tjtjfkr>|  t¡j||||d�S tj| |||d�}|tj	kr^|S |j
rÚd|d  jrÚ| ||r€|nd¡}t|ƒjr¤|jrÚ|tt  S n6t|ƒjrÂ|jrÚ|tt  S n|  t¡j||||d�S |S r.  )rZ   r¸   r   rM   rì   r+   r   r0  r   rh   rÀ   rÆ   r¶   r   rg   r   r   r1  r*   r*   r.   r0  *  s"    



zacoth._eval_nseriesc                 K   s$   t dd|  ƒt dd|  ƒ d S r6  rH  r4  r*   r*   r.   r5  C  s    zacoth._eval_rewrite_as_logc                 K   s   t d| ƒS r¬   rë   r4  r*   r*   r.   r7  H  s    zacoth._eval_rewrite_as_atanhc                 K   sx   t t d t|d | ƒt||d  ƒ tdd|  ƒt||d  ƒ   |td|d  ƒ ttd|d d  ƒƒ  S r£   )r   r   r   ra   r4  r*   r*   r.   r@  K  s    J*ÿzacoth._eval_rewrite_as_asinhc                 C   s   t S r_   r  r[   r*   r*   r.   rb   O  s    zacoth.inversec                 C   s4   t | jd jt| jd d j| jd d jgƒgƒS rA  )r	   rZ   r�   r   rB  Zis_extended_nonpositiver}   r*   r*   r.   rÄ   U  s    zacoth._eval_is_extended_realc                 C   s(   t t| jd d j| jd d jgƒƒS rA  rJ  r}   r*   r*   r.   rÌ   X  s    zacoth._eval_is_finite)r3   )Nr   )r   )r3   )rI   rJ   rK   rL   r^   rÑ   rs   rÒ   r   ry   r½   r0  r5  r™   r7  r@  rb   rÄ   rÌ   r*   r*   r*   r.   rn   É  s    

	


rn   c                   @   s�   e Zd ZdZddd„Zedd„ ƒZeedd„ ƒƒZ	d dd„Z
d!dd„Zd"dd„Zdd„ ZeZdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zd	S )#Úasecha³  
    ``asech(x)`` is the inverse hyperbolic secant of ``x``.

    The inverse hyperbolic secant function.

    Examples
    ========

    >>> from sympy import asech, sqrt, S
    >>> from sympy.abc import x
    >>> asech(x).diff(x)
    -1/(x*sqrt(1 - x**2))
    >>> asech(1).diff(x)
    0
    >>> asech(1)
    0
    >>> asech(S(2))
    I*pi/3
    >>> asech(-sqrt(2))
    3*I*pi/4
    >>> asech((sqrt(6) - sqrt(2)))
    I*pi/12

    See Also
    ========

    asinh, atanh, cosh, acoth

    References
    ==========

    .. [1] https://en.wikipedia.org/wiki/Hyperbolic_function
    .. [2] https://dlmf.nist.gov/4.37
    .. [3] https://functions.wolfram.com/ElementaryFunctions/ArcSech/

    r3   c                 C   s8   |dkr*| j d }d|td|d  ƒ  S t| |ƒ‚d S ©Nr3   r   r6   r4   r;  ©r\   r]   rè   r*   r*   r.   r^   ‚  s    
zasech.fdiffc                 C   sÜ   |j rp|tjkrtjS |tjkr,tt d S |tjkrBtt d S |jrNtjS |tjkr^tj	S |tj
krptt S |jržtƒ }||krž|jr–|| t S || S |tjkrÌddlm} t|t d td ƒ S |jrØtjS d S )Nr4   r   rD  )rd   r   re   rF   r   r   rG   rf   rM   rP   rì   r	  rH   r�   rh   rF  rE  )ro   rQ   r=  rE  r*   r*   r.   rs   ‰  s0    





z
asech.evalc                 G   sÊ   | dkrt d| ƒS | dk s(| d dkr.tjS t|ƒ}t|ƒdkr~| dkr~|d }|| d | d   |d  d| d d   S | d }ttj|ƒ|  }t|ƒ|  d |  d }d| | ||   d S d S )Nr   r4   r3   rB   r7   r6   )r   r   rP   r   ru   r   r>   r   r(  r*   r*   r.   ry   ¨  s    ,zasech.taylor_termNr   c                 C   sü   | j d }| |d¡ ¡ }|tj tjtjtjfkrJ|  t¡j	|||d�S |tj
krr|  | |¡¡}|jrn|S | S |js‚d| jrò| ||r�|nd¡}t|ƒjrÒ|js°|d jr¼|  |¡ S |  |¡dt t  S t|ƒjsò|  t¡j	|||d�S |  |¡S r*  )rZ   r¸   r+  r   rM   rP   rh   r+   r   r½   re   rk   r·   rº   rg   r¶   r   rÆ   r   r   r,  r*   r*   r.   r½   º  s$    



zasech._eval_as_leading_termc                 C   s˜  ddl m} | jd }| |d¡}|tjk�rtddd�}ttj|d  ƒ t	¡ 
|dd| ¡}	tj| jd  }
|
 |¡}|
| | }| |d¡s®|dkr¢|dƒS |t|ƒƒS ttj| ƒj|||d�}| ¡ t|ƒ  ¡ }|	 ¡  ||¡ ¡  ¡ ||| |ƒ S |tjk�rîtddd�}ttj|d  ƒ t	¡ 
|dd| ¡}	tj| jd  }
|
 |¡}|
| | }| |d¡�sš|dk�r†|dƒS tt |t|ƒƒ S ttj| ƒj|||d�}| ¡ t|ƒ  ¡ }|	 ¡  ||¡ ¡  ¡ ||| |ƒ S tj| |||d�}|tjk�r|S |j�s$d| j�r”| ||�r4|nd¡}t|ƒj�rp|j�sZ|d j�r`| S |dt t  S t|ƒj�s”|  t	¡j||||d	�S |S ©
Nr   )ÚOr  T)Zpositiver4   r3   r/  r±   )r  rP  rZ   r¸   r   rM   r   rL  r+   r   Únseriesr·   Úis_meromorphicr   r0  ÚremoveOr‚   Úpowsimprì   r   r   r   rh   rg   r¶   r   rÆ   ©r\   rq   rw   r²   r³   rP  rQ   r¼   r  ZserZarg1r%  ÚgZres1r2  r-  r*   r*   r.   r0  Ó  sJ    
&
&&
&&zasech._eval_nseriesc                 C   s   t S r_   rá   r[   r*   r*   r.   rb      s    zasech.inversec                 K   s,   t d| td| d ƒtd| d ƒ  ƒS r¬   r3  rš   r*   r*   r.   r5    s    zasech._eval_rewrite_as_logc                 K   s   t d| ƒS r¬   )rl   rš   r*   r*   r.   r8    s    zasech._eval_rewrite_as_acoshc                 K   s>   t d| d ƒt dd|  ƒ ttt| dd� ttj   S rÛ   )r   r   ra   r   r   r>   rš   r*   r*   r.   r@    s    0ÿzasech._eval_rewrite_as_asinhc                 K   sŒ   t t dt|ƒtd| ƒ  t d t| ƒ t|ƒ  t d t|d ƒ t|d  ƒ   td|d  ƒt|d ƒ ttd|d  ƒƒ  S r6  )r   r   r   rm   r4  r*   r*   r.   r7    s    Z.ÿzasech._eval_rewrite_as_atanhc                 K   s<   t d| d ƒt dd|  ƒ td ttt| dd�   S r?  )r   r   r   Úacschr4  r*   r*   r.   Ú_eval_rewrite_as_acsch  s    zasech._eval_rewrite_as_acschc                 C   s*   t | jd j| jd jd| jd  jgƒS rA  rI  r}   r*   r*   r.   rÄ     s    zasech._eval_is_extended_realc                 C   s   t | jd jƒS rz   ©r
   rZ   rf   r}   r*   r*   r.   rÌ     s    zasech._eval_is_finite)r3   )Nr   )r   )r3   )rI   rJ   rK   rL   r^   rÑ   rs   rÒ   r   ry   r½   r0  rb   r5  r™   r8  r@  r7  rX  rÄ   rÌ   r*   r*   r*   r.   rL  \  s$   %



-
rL  c                   @   s�   e Zd ZdZddd„Zedd„ ƒZeedd„ ƒƒZ	d dd„Z
d!dd„Zd"dd„Zdd„ ZeZdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zd	S )#rW  aµ  
    ``acsch(x)`` is the inverse hyperbolic cosecant of ``x``.

    The inverse hyperbolic cosecant function.

    Examples
    ========

    >>> from sympy import acsch, sqrt, I
    >>> from sympy.abc import x
    >>> acsch(x).diff(x)
    -1/(x**2*sqrt(1 + x**(-2)))
    >>> acsch(1).diff(x)
    0
    >>> acsch(1)
    log(1 + sqrt(2))
    >>> acsch(I)
    -I*pi/2
    >>> acsch(-2*I)
    I*pi/6
    >>> acsch(I*(sqrt(6) - sqrt(2)))
    -5*I*pi/12

    See Also
    ========

    asinh

    References
    ==========

    .. [1] https://en.wikipedia.org/wiki/Hyperbolic_function
    .. [2] https://dlmf.nist.gov/4.37
    .. [3] https://functions.wolfram.com/ElementaryFunctions/ArcCsch/

    r3   c                 C   s@   |dkr2| j d }d|d tdd|d   ƒ  S t| |ƒ‚d S rM  r;  rN  r*   r*   r.   r^   F  s    
 zacsch.fdiffc                 C   sØ   |j rx|tjkrtjS |tjkr&tjS |tjkr6tjS |jrBtjS |tjkr\t	dt
dƒ ƒS |tjkrxt	dt
dƒ ƒ S |jr˜tƒ }||kr˜|| t S |tjkr¨tjS |jr´tjS |jrÀtjS | ¡ rÔ| | ƒ S d S r6  )rd   r   re   rF   rP   rG   rf   rh   rM   r   r   rì   r	  rD   r   Úis_infiniteri   )ro   rQ   r=  r*   r*   r.   rs   M  s2    





z
acsch.evalc                 G   sÖ   | dkrt d| ƒS | dk s(| d dkr.tjS t|ƒ}t|ƒdkr€| dkr€|d }| | d | d   |d  d| d d   S | d }ttj|ƒ|  }t|ƒ|  d |  d }tj|d  | | ||   d S d S )Nr   r4   r3   rB   r7   )	r   r   rP   r   ru   r   r>   r   rì   r(  r*   r*   r.   ry   o  s    .zacsch.taylor_termNr   c                 C   s&  | j d }| |d¡ ¡ }|t ttjfkrB|  t¡j|||d�S |tj	krj|  
| |¡¡}|jrf|S | S |tjkr‚d|  |¡S |j�rd|d  j�r| ||r¨|nd¡}t|ƒjrØt|ƒjrÖ|  
|¡ tt  S nDt|ƒj�rt|ƒj�r|  
|¡ tt  S n|  t¡j|||d�S |  
|¡S r*  )rZ   r¸   r+  r   r   rP   r+   r   r½   re   rk   r·   rº   rh   rä   rÆ   r¶   r   r   r   rg   r,  r*   r*   r.   r½   �  s*    




zacsch._eval_as_leading_termc                 C   sÄ  ddl m} | jd }| |d¡}|tk�rtddd�}tt|d  ƒ t¡ 	|dd| ¡}	t | jd  }
|
 
|¡}|
| | }| |d¡s¸|dkrž|dƒS t t d |t|ƒƒ S ttj| ƒj|||d�}| ¡ t|ƒ  ¡ }|	 ¡  ||¡ ¡  ¡ ||| |ƒ }|S |tjt k�rtddd�}tt |d  ƒ t¡ 	|dd| ¡}	t| jd  }
|
 
|¡}|
| | }| |d¡�s®|dk�r–|dƒS tt d |t|ƒƒ S ttj| ƒj|||d�}| ¡ t|ƒ  ¡ }|	 ¡  ||¡ ¡  ¡ ||| |ƒ S tj| |||d�}|tjk�r$|S |j�rÀd|d  j�rÀ| jd  ||�rR|nd¡}t|ƒj�r€t|ƒj�rÀ| tt  S n@t|ƒj�r¨t|ƒj�rÀ| tt  S n|  t¡j||||d	�S |S rO  )r  rP  rZ   r¸   r   r   rW  r+   r   rQ  r·   rR  r   r   r   rM   r0  rS  r‚   rT  rì   r   rh   rä   rÆ   r¶   r   r   rg   rU  r*   r*   r.   r0  ž  sN    

$
*&&
*&zacsch._eval_nseriesc                 C   s   t S r_   r­   r[   r*   r*   r.   rb   Î  s    zacsch.inversec                 K   s    t d| td|d  d ƒ ƒS r6  r3  rš   r*   r*   r.   r5  Ô  s    zacsch._eval_rewrite_as_logc                 K   s   t d| ƒS r¬   r`   rš   r*   r*   r.   r@  Ù  s    zacsch._eval_rewrite_as_asinhc                 K   s>   t tdt |  ƒtt | d ƒ tt | dd� ttj   S rÛ   )r   r   rl   r   r   r>   rš   r*   r*   r.   r8  Ü  s
     ÿÿzacsch._eval_rewrite_as_acoshc                 K   sF   |d }|d }t | ƒ| ttj t |d  ƒ| tt |ƒƒ   S r£   )r   r   r   r>   rm   )r\   rQ   r˜   Zarg2Zarg2p1r*   r*   r.   r7  à  s
    ÿzacsch._eval_rewrite_as_atanhc                 C   s   | j d jS rz   )rZ   rZ  r}   r*   r*   r.   rÐ   æ  s    zacsch._eval_is_zeroc                 C   s   | j d jS rz   rÃ   r}   r*   r*   r.   rÄ   é  s    zacsch._eval_is_extended_realc                 C   s   t | jd jƒS rz   rY  r}   r*   r*   r.   rÌ   ì  s    zacsch._eval_is_finite)r3   )Nr   )r   )r3   )rI   rJ   rK   rL   r^   rÑ   rs   rÒ   r   ry   r½   r0  rb   r5  r™   r@  r8  r7  rÐ   rÄ   rÌ   r*   r*   r*   r.   rW     s$   %

!

0
rW  N)JZ
sympy.corer   r   r   Zsympy.core.addr   Zsympy.core.functionr   r   Zsympy.core.logicr   r	   r
   r   Zsympy.core.numbersr   r   r   Zsympy.core.symbolr   Z(sympy.functions.combinatorial.factorialsr   r   r   Z%sympy.functions.combinatorial.numbersr   r   r   Z$sympy.functions.elementary.complexesr   r   r   Z&sympy.functions.elementary.exponentialr   r   r   Z#sympy.functions.elementary.integersr   Z(sympy.functions.elementary.miscellaneousr   rÕ   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   Zsympy.polys.specialpolysr)   r2   r?   rD   rH   r0   rW   rX   rY   r¥   r©   r  r®   râ   r!  ra   rl   rm   rn   rL  rW  r*   r*   r*   r.   Ú<module>   sZ   4


#" U w V -JG; 3 = &  E