
    "`|-                        d dl mZmZ ed        Zed        Zed        Zed        Zedd       Zed        Zed        Z	edd	       Z
edd
       Zed d       Zed!d       Zed"d       Zed"d       Zed"d       Zed        Zed"d       Zed        Zed        Zed        Zed        Zed        Zed        Zed        Zed        Zed        Zed        Zed        Zy)#   )defundefun_wrappedc                     | j                  |d      }d| j                  | j                        z  |z  | j                  dd|      z  }| j	                  |      s| j                  |      | j                  z  }|S )N   r   r      r   square_exp_argsqrtpihyp1f1_re_imjctxzz2vs       ?/usr/lib/python3/dist-packages/mpmath/functions/expintegrals.py_erf_complexr      sh    			Ar	"B	
388CFF	QE%!<<A771:GGAJsuuH    c                    | j                  |      dkD  rf| j                  |      }| j                  |d      }| j                  |      | j	                  | j
                        z  | j                  dd|      z  }nd| j                  |      z
  }| j                  |      s!d| j                  |      | j                  z  z   }|S )Nr   Texactr   r   )rer   fnegexpr   r   hyperur   r   r   r   )r   r   r   nz2r   s        r   _erfc_complexr#      s    
vvay1}"hhrh&GGCL#&&))CJJuUB,GG  ##771:cggajHr   c                 X   | j                  |      }| j                  |      r	 | j                  |      S | j	                  |      r7|j
                  s+	  t        |      | j                  |j                              S | j                  |      S # t        $ r Y dw xY w# t        $ r Y +w xY wN)	convert_is_real_type_erfNotImplementedError_is_complex_typeimagtyperealr   r   r   s     r   erfr/      s    AA
	88A; Aqvv	47388AFF+,, A # 		
 # 		#   B )B 	BB	B)(B)c                 X   | j                  |      }| j                  |      r	 | j                  |      S | j	                  |      r7|j
                  s+	  t        |      | j                  |j                              S | j                  |      S # t        $ r Y dw xY w# t        $ r Y +w xY wr%   )	r&   r'   _erfcr)   r*   r+   r,   r-   r#   r.   s     r   erfcr3   '   s    AA
	99Q< Aqvv	47399QVV,-- Q # 		
 # 		r0   c                     | j                   dz  dz   }|r3| j                  |||      }| j                  | j                  ||      }n| j                  |||      }|dk7  r| j                  ||d      }|S )N      )precr   Tr   )r7   fmulfdivone)r   r   mult
reciprocalr7   r   s         r   r   r   6   sv    88A:b=DXXaX&XXcggrX-XXaX&qyXXb$dX+Ir   c                     |s|S | j                  |      }d| j                  | j                        z  |z  | j                  dd|      z  }| j	                  |      s| j                  |      | j                  z  }|S )Nr   r   r	   r   r   s       r   erfir>   B   sn    			A	B	
388CFF	A	E5"!==A771:GGAJsuuHr   c                 6     j                        }|k7  s
|dk  s|dkD  r j                  d      S |sS dk(  r j                  S dk(  r j                  S t	              dk  rddz  z  dz  z   }nw j                  d j                  z  t	              dz
  dz  z        } j                         j                  | j                  |      z
        z   j                  d      z  } xj                  d	z  c_	         j                   fd
|      S )Nr   r   z*erfinv(x) is defined only for -1 <= x <= 1g?goe1?r
   gϷ?r   
   c                 ,    j                  |       z
  S r%   )r/   )tr   xs    r   <lambda>zerfinv.<locals>.<lambda>]   s    #''!*Q, r   )r   
bad_domaininfninfabslnr   signr   r7   findroot)r   rC   xreaus   ``   r   erfinvrO   L   s    
''!*CqcBhC!G~~JKKAQhAvcgg~Bwsxx
1v|AqDL8A:% FF1SVV8SVAXM)*HHQK#((1svvay=11#((1+=HHNH<<.22r   c                     | j                  |      }| j                  ||z
  dz   d|dz  z  z        || j                  d| j                  z        z  z  S )Nr   )r&   r    r   r   )r   rC   musigmas       r   npdfrS   _   sQ    KKE77QrTAI:qz*+uSXXah5G/GHHr   c                     ||z
  || j                  d      z  z  }|dk  r| j                  |       dz  S d| j                  |      z   dz  S )Nr       r   )r   r3   r/   )r   rC   rQ   rR   rM   s        r   ncdfrV   d   sO    	
2chhqk!"A1uxx|A~#''!*ar   c                 0   ||k(  rd}n|sA|dk(  r|dk(  r| j                  ||      }n||z  | j                  |d|z
  |dz   |      z  |z  }n| j                  |      \  }}|dk  rR|| j                   k  r(| j                  }	| xj                  dz  c_        ||	z  }n|dk  r| xj                  |z  c_        ||z  | j                  |d|z
  |dz   |      z  }
||z  | j                  |d|z
  |dz   |      z  }|
|z
  |z  }|r|| j                  ||      z  }|S )NrU   r   r   )betahyp2f1nint_distancer7   eps)r   rM   bx1x2regularizedr   mdhs1s2s               r   betaincrf   l   s'   	Rx7rQwAAA

1ac1Q333a7A  #16CHH9}WWHAQRAUSZZ!A#ac"--USZZ!A#ac"--"WM	SXXa]Hr   Nc                    t        |      }| j                  |      }|| j                  }d}n | j                  |      }|| j                  k7  }|| j                  }d}n | j                  |      }|| j                  k7  }|sa|s_|rL| j	                  |      dk  r| j                  S | j	                  |      dkD  r| j
                  S | j                  S | j                  |      S ||k(  r| j                  S | j	                  |      | j	                  |      kD  r| j                  ||||       S |r|r| j                  ||||      S |r| j                  |||      S |r| j                  |||      S y )NFrU   )boolr&   zerorF   r   r:   nangammagammainc_gamma3_upper_gamma_lower_gamma)r   r   rM   r]   r`   lower_modifiedupper_modifieds          r   rl   rl      sT   {#KAAyHHKKNchhyGGKKNcggnvvay1}wwQwwwwyy|Avxx
vvay366!9Q1k222.Aq![111	1k22	1k22 
r   c                       j                  |      r t        |       j                        S |g|z   j                  d       fd} j	                  ||g      S )NTr   c                 P    j                        | gd| dgg dgd| z   gf}|fS )Nr   r   r    )r   T1Gr]   r   negbs     r   rc   z_lower_gamma.<locals>.h   s;    ggdmQ"Q2JAsQqSE1Dur   )isnpintr,   rF   r   	hypercomb)r   r   r]   r`   rc   rv   rw   s   ` `  @@r   ro   ro      s]     {{1~tAwsww	
kA88AT8"D ==QC  r   c                      j                  |      r	 |ry j                  |      r t        |       j                        S  j                  }	  xj                  dz  c_         j                  |       j                  |      z  | _        S  j                  |      S |dk(  rdk(  r|z   dz  S |dk(  rdk(  sdk(  r|z   dz  S  j                  d	      |g|z  	  fd
} j                  ||gd      S # | _        w xY w# t        $ r Y ww xY w#  j                  $ r  fd} j                  ||g      cY S w xY w)Nr@   r   r   rU   r
   y            y            ?Tr   c                 T    | dz
  }j                        gd|gg d| gg dz  fgS Nr   rt   )r   rrv   rM   r   negas     r   rc   z_upper_gamma.<locals>.h   s?    !AggdmQ'!QQQBQtVLMMr   )force_seriesc                 r    g d| dz
  g| gg g df}j                         | gd| dgg dgd| z   gf}||fS )Nr   rU   r   rt   )r   ru   T2rv   rM   r   r~   s      r   rc   z_upper_gamma.<locals>.h   s]    a1XsAr2q0B774=.!Q'!QRQC!A#IBr6Mr   )isintrx   r,   ri   r7   _gamma_upper_intrk   r)   r   ry   NoConvergence)r   r   rM   r`   origrc   rv   r~   s   ` `   @@r   rn   rn      sV    yy|	;;q>"47388,,xx$HHNH//15		!D#CH++Aq11 	Av!r'!QwAv1:e!Qw88AT8"D	
kA
%	N }}Q$}77#  $CH # 		  %	 }}Q$$%sG   -D D 8D 
D D 'D 	DD 	DD*EEc                 t   | j                  |      }|r|r| j                  S 	 | xj                  dz  c_        | j                  |||      }| j                  |||      }||z
  }| j	                  |      t        | j	                  |      | j	                  |            z
  dkD  r|| xj                  dz  c_        S |sG| j                  |d||      }| j                  |d||      }||z
  }	 || xj                  dz  c_        S 	 | xj                  dz  c_        t        # | xj                  dz  c_        w xY w)N   )r`   irU   )rx   ri   r7   rl   magmaxr)   )	r   r   rM   r]   r`   poleru   r   Rs	            r   rm   rm      s   ;;q>DtxxB \\!QK\8\\!QK\8G771:CGGBK55; 	B aA;?BaA;?BRA B  	B
 	Bs   BD  ;3D   D7c                 B   | j                  |      r$| j                  |      r	 | j                  ||      S | j	                  |      s| j	                  |      r||z  S || j
                  k(  rd|z  S |dk(  rA| j                  |      dk  r t        |      | j
                        S | j                  |dz
  z  S |dk(  r| j                  |       |z  S |dk(  r| j                  |       |dz   z  |dz  z  S ||dz
  z  | j                  d|z
  |      z  S # t        $ r Y w xY w)Nr   rU   r   r   )r   r'   _expint_intr)   isnanrF   r   r,   r:   r    rl   )r   nr   s      r   expintr      s   
yy|))!,	??1a(( yy|syy|s
CGG|s
Av66!9>47377##77AaC= Avwwr{1}Bwwwr{AaC A%%qs8cll1Q3***# # 		s   D 	DDc                 
   |rM|dk(  r| j                   S | j                  | j                  |            | j                  | j                        z
  S |s|S |dk(  r| j                  S | j                  | j                  |            S )Nr   r   )ri   eirI   ln2rG   )r   r   offsets      r   lir     sl    688OvvcffQi 366#''?22Avxx66#&&)r   c                 f    	 | j                  |      S # t        $ r | j                  |      cY S w xY wr%   )_eir)   _ei_genericr.   s     r   r   r     3    "wwqz "q!!"    00c                    || j                   k(  r|S || j                  k(  r| j                  S | j                  |      dkD  r	 | j                  |z  }| j                  |      | j                  ddgg || j                  d      z  |z  }| j                  |      }|dkD  r|| j                  | j                  z  z  }|dk  r|| j                  | j                  z  z  }|S || j                  dddd|      z  | j                  z   }| j                  |      r8|d| j                  |      | j                  | j                  |z        z
  z  z  }|S || j                  t        |            z  }|S # | j                  $ r Y w xY w)Nr   T)maxtermsr   rU   r         ?)rF   rG   ri   r   r:   r    hyperr7   r   r   r   r   hyp2f2eulerlogrH   )r   r   r}   r   ims        r   r   r   &  sn    	CGG|CHH}xx
wwqzA~		A
399aU2a % 6 6678ABAvSVVCEE\!AvSVVCEE\!H 	
#**Qq1Q
#))+A
wwqz	S#''!*swwswwqy1122 H 	
SWWSV_H    		s   BE* *E<;E<c                 h    	 | j                  |      S # t        $ r | j                  d|      cY S w xY wr|   )_e1r)   r   r.   s     r   e1r   B  s5     wwqz  zz!Q s    11c                 f    	 | j                  |      S # t        $ r | j                  |      cY S w xY wr%   )_cir)   _ci_genericr.   s     r   cir   I  r   r   c                    | j                  |      r9|| j                  k(  r| j                  S || j                  k(  r| j                  dz  S | j                  | j                  |d      }| j                  |d      }d| j                  |      | j                  |      z   z  }| j                  |      }| j                  |      }|dk(  r.|dkD  r|| j                  dz  z  }|dk  r|| j                  dz  z  }|dk  r.|dk\  r|| j                  dz  z  }|dk  r|| j                  dz  z  }| j                  |      r|dkD  r| j                  |      }|S )N              ?Tr   r   rU                 ?)isinfrF   ri   rG   r   r8   r   r   r   r   r   r'   )r   r   jznjzr   zrealzimags          r   r   r   P  s-   
yy|<=*	#%%	%B
((2D(
!CSVVBZ#&&+%&AGGAJEGGAJEz19a366$;&a19a366$;&aqyA:qCFF2I~qA:qCFF2I~q
	GGAJHr   c                 f    	 | j                  |      S # t        $ r | j                  |      cY S w xY wr%   )_sir)   _si_genericr.   s     r   sir   d  r   r   c                 r   | j                  |      r<|| j                  k(  rd| j                  z  S || j                  k(  rd| j                  z  S | j	                  |      dk\  r| j                  | j                  |d      }| j                  |d      }d| j                  |      | j                  |      z
  z  }| j                  |      }|dkD  r|d| j                  z  z  }|dk  r|d| j                  z  z  }| j                  |      r| j                  |      }|S || j                  dd	d	d
|z  |z        z  S )Nr         r   Tr   y             rU   r   r	   g      п)r   rF   r   rG   r   r8   r   r   r   r   r'   hyp1f2)r   r   r   r   r   r   s         r   r   r   k  s   
yy|<CFF
*=cff,
wwqzRXXceeADX)hhrh%SVVBZ#&&+-.
19SVVOA19SVVOAQ
AE%eAgai888r   c                 N   | j                  |d      }d| j                  |      | j                  |      z   z  }| j                  |      }| j                  |      }|dkD  r|| j                  dz  z  }|S |dk  r|| j                  dz  z  }|S |dk  r|| j                  dz  z  }|S )NTr   r   rU   r   r   )r   r   r   r   r   )r   r   nzr   r   r   s         r   chir     s    	!4	 BSVVAY#$AGGAJEGGAJEqy	SVVD[
 H	 
	SVVD[ H 
	SVVBYHr   c                 X   | j                  |      dk\  rz| j                  |d      }d| j                  |      | j                  |      z
  z  }| j                  |      }|dkD  r|d| j                  z  z  }|dk  r|d| j                  z  z  }|S || j                  dddd	|z  |z        z  S )
Nr   Tr   r   rU   r   r   r	   g      ?)r   r   r   r   r   r   )r   r   r   r   r   s        r   shir     s     wwqzRXXatX$SVVBZ'(
19a4;&a19a4;&a3::eE%Qq999r   c           	         || j                   k(  r| j                  d      S || j                  k(  r| j                  d      S | j                  |dz  z  dz  | j	                  ddd| j                  dz   |d	z  z  d
z        z  S )Nr   r   r
      )r
   r5   r	   )   r5   r   r5      )rF   mpfrG   r   r   r.   s     r   fresnelsr     su    CGG|wws|CHH}wwt}66!Q$;q=E%svvqyjAob6HIIIr   c           	          || j                   k(  r| j                  d      S || j                  k(  r| j                  d      S || j                  ddd| j                  dz   |dz  z  dz        z  S )	Nr   r   )r   r5   r   )   r5   r   r5   r   )rF   r   rG   r   r   r.   s     r   fresnelcr     se    CGG|wws|CHH}wwt}SZZeE36619*QT/"*<===r   )r   F)rU   r   )rU   r   F)rU   NF)F)	functionsr   r   r   r#   r/   r3   r   r>   rO   rS   rV   rf   rl   ro   rn   rm   r   r   r   r   r   r   r   r   r   r   r   r   r    r   r   <module>r      s(   +  	 	       	 	   3 3$ I I      0 &3 &3P 	! 	! $% $%L  2 + +. 	 	 " "  6     " "  & " " 9 9(   
: 
: J J > >r   