U
    :qLe|-                     @   sj  d dl mZmZ edd Zedd Zedd Zedd	 Zed;ddZedd Zedd Z	ed<ddZ
ed=ddZed>ddZed?ddZed@ddZedAddZedBdd Zed!d" ZedCd#d$Zed%d& Zed'd( Zed)d* Zed+d, Zed-d. Zed/d0 Zed1d2 Zed3d4 Zed5d6 Zed7d8 Zed9d: ZdS )D   )defundefun_wrappedc                 C   sL   |  |d}d| | j | | dd| }| |sH| || j }|S )N   r   r      r   square_exp_argsqrtpihyp1f1_re_imjctxzz2v r   t/home/p21-0144/sympy/latex2sympy2solve-back-end/sympyEq/lib/python3.8/site-packages/mpmath/functions/expintegrals.py_erf_complex   s
    "
r   c                 C   s|   |  |dkrL| |}| j|dd}| || | j | dd| }nd| | }| |sxd| 	|| j
  }|S )Nr   Texactr   r   )rer
   fnegexpr   r   hyperur   r   r   r   )r   r   r   Znz2r   r   r   r   _erfc_complex   s    
&
r   c                 C   s|   |  |}| |r6z| |W S  tk
r4   Y nX | |rr|jsrzt|| |jW S  tk
rp   Y nX | |S N)	convert_is_real_type_erfNotImplementedError_is_complex_typeimagtyperealr   r   r   r   r   r   erf   s    

r*   c                 C   s|   |  |}| |r6z| |W S  tk
r4   Y nX | |rr|jsrzt|| |jW S  tk
rp   Y nX | |S r    )	r!   r"   _erfcr$   r%   r&   r'   r(   r   r)   r   r   r   erfc'   s    

r,   Fc                 C   sb   | j d d }|r6| j|||d}| j| j||d}n| j|||d}|dkr^| j||dd}|S )N      )precr   Tr   )r/   fmulfdivone)r   r   mult
reciprocalr/   r   r   r   r   r
   6   s    r
   c                 C   sR   |s|S |  |}d| | j | | dd| }| |sN| || j }|S )Nr   r   r   r	   r   r   r   r   erfiB   s    
"
r5   c                    s     }|ks"|dk s"|dkr, dS |s8S dkrF jS dkrT jS tdk rvdd  d  }nH d j td d  }  | |   d }  j	d	7  _	 
 fd
d|S )Nr   r   z*erfinv(x) is defined only for -1 <= x <= 1g?goe1?r   gϷ?r   
   c                    s     |  S r    )r*   )tr   xr   r   <lambda>]       zerfinv.<locals>.<lambda>)r   
bad_domaininfninfabslnr   signr   r/   findroot)r   r9   xreaur   r8   r   erfinvL   s     

    (rF       c                 C   s>   |  |}| || d  d|d   || d| j   S )Nr   )r!   r   r   r   )r   r9   musigmar   r   r   npdf_   s    
rJ   c                 C   sD   || ||  d  }|dk r.| | d S d| | d S d S )Nr   rG   r   )r   r,   r*   )r   r9   rH   rI   rD   r   r   r   ncdfd   s    rK   c                 C   s  ||krd}n|sV|dkr0|dkr0|  ||}q|| | |d| |d | | }n| |\}}|dkr|| j k r| j
 }	|  jd9  _||	7 }n|dk r|  j|8  _|| | |d| |d | }
|| | |d| |d | }|
| | }|r||  || }|S )NrG   r   r   )betahyp2f1nint_distancer/   eps)r   rD   bx1x2regularizedr   mdhs1s2r   r   r   betaincl   s(    &
  rZ   Nc                 C   s   t |}| |}|d kr&| j}d}n| |}|| jk}|d krN| j}d}n| |}|| jk}|s|s|r| |dk r| jS | |dkr| jS | jS | |S ||kr| jS | || |kr| |||| S |r|r| 	||||
 S |r| 
|||S |r| |||S d S )NFrG   )boolr!   zeror=   r   r2   nangammagammainc_gamma3_upper_gamma_lower_gamma)r   r   rD   rQ   rT   Zlower_modifiedZupper_modifiedr   r   r   r_      s<    





r_   c                    sP    |rt|jS |g|  jdd fdd}||gS )NTr   c                    s2    | gd| dgg  dgd|  gf}|fS )Nr   r   r   )r   T1GrQ   r   Znegbr   r   rW      s    ,z_lower_gamma.<locals>.h)isnpintr'   r=   r   	hypercomb)r   r   rQ   rT   rW   r   re   r   rb      s    

rb   c                    sH   |rzl|rf|r*t|jW S j}z* jd7  _|| W W S |_X n|W S W n tk
r   Y nX |dkrdkr| d S |dkr̈dksdkr| d S jdd	|g|  z& fd
d}j	||gddW S  j
k
rB    fdd}	||g Y S X d S )Nr6   r   r   rG   r   y            y            ?Tr   c                    s4   | d } gd|gg  d| gg d fgS Nr   rc   )r   rrf   rD   r   Znegar   r   rW      s    z_upper_gamma.<locals>.h)force_seriesc                    sR   g d| d g| g g g df}  | gd| dgg  dgd|  gf}||fS )Nr   rG   r   rc   )r   rd   T2rk   r   r   rW      s    .)isintrg   r'   r\   r/   _gamma_upper_intr^   r$   r   rh   NoConvergence)r   r   rD   rT   origrW   r   rk   r   ra      s2    



ra   c           	   	   C   s   |  |}|r|r| jS z|  jd7  _| j|||d}| j|||d}|| }| |t| || | dkr||W >S |s| j|d||d}| j|d||d}|| }|W S W 5 |  jd8  _X td S )N   )rT   irG   )rg   r\   r/   r_   magmaxr$   )	r   r   rD   rQ   rT   Zpolerd   rm   Rr   r   r   r`      s"    
$r`   c                 C   s   |  |r8| |r8z| ||W S  tk
r6   Y nX | |sL| |rT|| S || jkrfd| S |dkr| |dkrt|| jS | j|d  S |dkr| 	| | S |dkr| 	| |d  |d  S ||d  | 
d| | S )Nr   rG   r   r   )rn   r"   _expint_intr$   isnanr=   r   r'   r2   r   r_   )r   nr   r   r   r   expint   s$    
ry   c                 C   sT   |r.|dkr| j S | | || | j S |s6|S |dkrD| jS | | |S )Nr   r   )r\   eir@   ln2r>   )r   r   offsetr   r   r   li  s    r}   c                 C   s0   z|  |W S  tk
r*   | | Y S X d S r    )_eir$   _ei_genericr)   r   r   r   rz     s    rz   c                 C   s  || j kr|S || jkr| jS | |dkrzr| j| }| || jddgg || jdd | }| |}|dkr|| j	| j
 7 }|dk r|| j	| j
 8 }|W S  | jk
r   Y nX || dddd| | j }| |r|d| || | j|   7 }n|| t|7 }|S )Nr   T)maxtermsrl   rG   r         ?)r=   r>   r\   rs   r2   r   hyperr/   r   r   r   rp   hyp2f2eulerlogr?   )r   r   rj   r   imr   r   r   r   &  s4    


 
$r   c                 C   s2   z|  |W S  tk
r,   | d| Y S X d S ri   )_e1r$   ry   r)   r   r   r   e1B  s    r   c                 C   s0   z|  |W S  tk
r*   | | Y S X d S r    )_cir$   _ci_genericr)   r   r   r   ciI  s    r   c                 C   s  |  |r.|| jkr| jS || jkr.| jd S | j| j|dd}| j|dd}d| || |  }| 	|}| 
|}|dkr|dkr|| jd 7 }|dk r|| jd 8 }|dk r|dkr|| jd 7 }|dk r|| jd 8 }| |r|dkr| 	|}|S )N              ?Tr   r   rG                 ?)isinfr=   r\   r>   r   r0   r   r   rz   r   r   r"   )r   r   jznjzr   zrealzimagr   r   r   r   P  s.    

 
 


    
r   c                 C   s0   z|  |W S  tk
r*   | | Y S X d S r    )_sir$   _si_genericr)   r   r   r   sid  s    r   c                 C   s   |  |r2|| jkrd| j S || jkr2d| j S | |dkr| j| j|dd}| j|dd}d| || |  }| 	|}|dkr|d| j 8 }|dk r|d| j 7 }| 
|r| 	|}|S || dd	d	d
| |  S d S )Nr         r   Tr   y             rG   r   r   g      п)r   r=   r   r>   rs   r0   r   r   rz   r   r"   hyp1f2)r   r   r   r   r   r   r   r   r   r   k  s$    

 

 



r   c                 C   s   | j |dd}d| || |  }| |}| |}|dkrR|| jd 7 }n.|dk rj|| jd 8 }n|dk r|| jd 7 }|S )NTr   r   rG   r   r   )r   rz   r   r   r   )r   r   nzr   r   r   r   r   r   chi  s    

r   c                 C   s   |  |dkrn| j|dd}d| || |  }| |}|dkrT|d| j 8 }|dk rj|d| j 7 }|S || dddd	| |  S d S )
Nr   Tr   r   rG   r   r   r   g      ?)rs   r   rz   r   r   r   )r   r   r   r   r   r   r   r   shi  s    
  r   c              	   C   s^   || j kr| dS || jkr(| dS | j|d  d | ddd| jd  |d	  d
  S )Nr   r   r      )r   r-   r   )   r-   r   r-      )r=   mpfr>   r   r   r)   r   r   r   fresnels  s
    



r   c              	   C   sP   || j kr| dS || jkr(| dS || ddd| jd  |d  d  S )	Nr   r   )r   r-   r   )   r-   r   r-   r   )r=   r   r>   r   r   r)   r   r   r   fresnelc  s
    



r   )r   F)rG   r   )rG   r   )rG   r   F)rG   NF)F)F)F)F)	functionsr   r   r   r   r*   r,   r
   r5   rF   rJ   rK   rZ   r_   rb   ra   r`   ry   r}   rz   r   r   r   r   r   r   r   r   r   r   r   r   r   r   <module>   sl   




	
(&










