
    sgR                     f   d dl mZ d dlmZ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 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mZ d d
lmZmZ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* d dl+m,Z,m-Z- d dl.m/Z/ d dl0m1Z1 d dl2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9 d dl:m;Z; d dl<m=Z=m>Z? d dl@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZI d ZJd ZKd ZLd ZMd ZNd ZOe;d        ZPd ZQd ZRd ZSd ZTe;d         ZUd! ZVd" ZWe;d#        ZXe;d$        ZYd% ZZd& Z[d' Z\d( Z]d) Z^d* Z_d+ Z`d, Zad- Zbd. Zcd/ Zdd0 Zed1 Zfd2 Zgd3 Zhd4 Zid5 Zjy6)7    )expand_func)IRationaloopi)S)default_sort_key)Absargre
unpolarify)exp	exp_polarlog)coshacoshsinh)sqrt)	Piecewisepiecewise_fold)cossinsincasin)erferfc)gamma	polygamma)hypermeijerg)Integral	integrate)hyperexpandsimplify)_rewrite_single	_rewrite1meijerint_indefinite
_inflate_g_create_lookup_tablemeijerint_definitemeijerint_inversion)slow)verify_numericallyrandom_complex_number)	xyabcdstzc                     d } d } | t         dt                 | t         dz  dt         dz          | t         dz  t        t         dz  z  z   t        dz   t         dz          |t         dz  t         z           |t         t        z         d } |t        t                t        t               z  t                t	        t        t               t        t               z  t               t        d       dt        t              z  z  dt        t        dd      dt        dd      t        j                  t        d	d      fd
fdt        dd      dffdt        dt        z  t        z        z  t         dz  z        fgdfk(  sJ y )Nc           	          t        t        t        gt        g|gt        g|       t
              }|J t        |d   d   d   t              sJ |d   d   d   j                  j                  t
              ||ffk(  sJ y )Nr      )	r&   r    r2   r3   r5   r0   
isinstanceargumentas_coeff_mul)exprr4   mes       W/var/www/html/venv/lib/python3.12/site-packages/sympy/integrals/tests/test_meijerint.pyr7   ztest_rewrite_single.<locals>.t   sz    GQC!qcA3=qA}}!A$q'!*g...tAwqz""//2q1$i???    c           	      j    t        t        t        gt        gt        gt
        g|       t              J y N)r&   r    r2   r3   r4   r5   r0   r?   s    rB   tnztest_rewrite_single.<locals>.tn!   s*    wsQC!qc4@!DLLLrC      r;   c                     ddl m} t        | |      } ||d   D cg c]  }|d   |d   z   c} j                  t        t
              }t        || |      sJ y c c}w )Nr   Addr;   )sympy.core.addrK   r&   replacer   r   r.   )r?   r0   rK   rresrA   s         rB   uztest_rewrite_single.<locals>.u*   s]    &D!$1Q40C#a&Q-0199s!!T1--- 1s   Ar         )rH    @   T)r0   r1   r   r   r&   r   r   r    r   r   Halfr   r   )r7   rG   rP   s      rB   test_rewrite_singlerX      sE   @M aAJadAq!tadQq!tVmQUAqD!q!taxLq!tH. c1"gc!fna 3q6#a&=!,G8QtBxZ !Xb!_a!Q!QPRVW"a!,-r)BqDG2D/DQT/IKL 
MNR	TT T TrC   c                  <   t        t        dz  t        t        gt        gt
        gt        gt        dz  t        t        dz  z  z         z  dz  t              dt        dz  ddt        t        gt        gt
        gt        gt        dz  t        dz   z        fgdfk(  sJ y )NrS   r;      rH   r   T)r'   r0   r    r2   r3   r4   r5   r1   rT   rC   rB   test_rewrite1r[   C   s    QT'1#sQC!adQq!tVmDDQFJ	
AqDAq'1#sQC!adAElCDEtLM M MrC   c                  6   d }  | dt                 | dt                 | ddt         z          | dt         dz          | dt         t        d      z          | t         dz  t                 | dt         t        d      z  z  dt         t        d      z  z         y )	Nc           	         t        t        gt        gt        gt        g|      | z  }t        t               dz  t        t               dz  t        z   t        t               t        t               i}t        |t              }|J t        |j                  |      |j                  t              j                  |      t              sJ y )N
   )r    r2   r3   r4   r5   randcplxr   r(   r0   r.   subsdiff)facr   gr`   integrals        rB   r7   z0test_meijerint_indefinite_numerically.<locals>.tI   s    QC!qcA3,S08:b=!XZ]Q%68:q(*.'1-###!!&&,a0@0E0Ed0KQOOOrC   rH   r;   rZ   3/2rS   rR   z7/3)r0   r   )r7   s    rB   %test_meijerint_indefinite_numericallyrf   H   sw    P aGaGa1IaAJaAeHadAJa1U8mQq!E({]#rC   c                      t        t        t        dd      \  } }| j                  r|du sJ t        t        t        t        t              \  } }| j                  r|du sJ y )Nr   T)r+   r0   is_zeror   )vr3   s     rB   test_meijerint_definiterj   Y   sR    aAq)DAq99d""aB+DAq99d""rC   c                     t         t               dz  t        t               dz  t        z   t        t               t
        t               t        t               dz  ifd}  | t         gt        ggt        gt
        ggt        d      sJ  | t         t        gt        ggt        gt
        ggt        d      sJ  | t         gt        ggt        t        gt
        ggdt        dz  z  d      sJ y )Nr^   c                     ddl m} t        | ||      } |t        ||       }t	        |j                        |j                        t        dd      S )Nr   )Mulg?g)r3   r5   )sympy.core.mulrm   r    r)   r.   r`   r0   )r2   r3   r   nrm   m1m2r`   s          rB   r7   ztest_inflate.<locals>.td   sJ    &Q3*R#$ ""''$-SDQQrC   rS   r;   )r2   r_   r3   r   r4   r5   r1   r0   )r7   r`   s    @rB   test_inflaterr   `   s    xz"}aB!2Axzxz1hjm-DR qcA3Z1#sQ***q!fqc]aS1#J1---qcA3Z1a&1#!Q$222rC   c                     ddl m}   | dd      \  }}}t        t        |z
  dz         t        t        |z
  dz         z  }t	        |t        dt
        fd      }t        |j                               t        d      t        t              z  t        t        d      ||z   z  dz        dz   t        |dz   dz  ||z  z   |dz  dz  z
        z  z  d	z  k(  sJ t	        t        t        |z
  dz         t        t        |z
  dz         z  t        |t        z        z  t        dt
        fd      }t        |      t        d      t        t              z  t        t        d      d|z  d|z  z   |z   z  d	z        dz   z  t        |dz   |dz  z
  d|z  d|z  z   |z   dz  d
z  z         z  d	z  k(  sJ t        t	        t        t        |z
  |z
  |z
  dz         t        dt
        fd            t        t              dz  dt        ||z   |z         z   z  k(  sJ t        t	        t        t        |z   |z   |z   dz         t        dt
        fd            t        t              dz  dt        ||z   |z         z
  z  k(  sJ y )Nr   symbolsza b cTpositiver;   r    rH   rR      )sympy.core.symbolru   r   r0   r"   r   r%   expandr   r   r   )ru   r2   r3   r4   rN   rA   s         rB   test_recursiver|   p   s|   )g-GAq!a!eaZKq1uqj[))A!aBZ.AAHHJQR	T!Wa!e_Q	!	#S!Q$q1Q3Aa)?%@@	BBC	DE E E 	#Azk"3Q
{#33C!H<q!RjRVWAA;QR#d1gqsQqSy1}5a781<=c1a4%!Q$,Q319q=1
Q
C ?  	  !	"# # # IcAEAIMA#5"56Ar
DQRR
AAEAI&'( ( (IcAEAIMA#5"56Ar
DQRR
AAEAI&'( ( (rC   c                  6   ddl m}  ddlm}  |dd      \  }}}t	        t        g g dgg ||z        t        g g |dz  g| dz  g|dz  dz        z  |dt        f      j                  sJ  |d	d
      }t	        t        |z  t        g g gdgg gt              z  t        dt        f      t        |dz         k(  sJ t	        t        |z  t        g g gdgg gt              z  t        dt        fd      t        |dz         k(  sJ t        t	        t        |z  t        g g gdgg gt              z  t        dt        fd      t              sJ t        t        t              t              t        t              k(  sJ  |dd
      \  }}t        t        t        |z  t        d|      d         ||dz   z  |dz   z  k(  sJ t        t        dz   dz  t        t               z  t        dt              dk(  sJ  |dd
      \  }}t        t        t        |z
  d|z  z  dz         t        dt              \  }}	t        |      t!        t"              |z  dt%        |d|z  z        z
  z  k(  sJ |	dk(  sJ t        t        | t        z        t        |t        z        z  t        dt              \  }}
t        |      d||z
  z  k(  sJ t        t        t              t        t         d      t        d      dfk(  sJ  | t        t        t              t        dt&              d         t        t&              dz
  k(  sJ  | t        t        t               t        dt              d         dt        t        t&        t)        t              z         t+        t              z        z
  k(  sJ t        t        t        dz         t        t         t              t!        t"              dfk(  sJ t        t        t+        t                     t        t         t              dk(  sJ t        t        dt        z  dz
  dz         t        t         t              t!        t"              dz  dfk(  sJ t        t        t+        dt        z  dz
               t        t         t              dk(  sJ t        t        t        |z
  |z  dz   dz        t!        dt"        z  |dz  z        z  t        t         t              dk(  sJ t        t-        t              dz  t        t         t              t"        dfk(  sJ t        t        t               t/        t              z  t        dt              t0        j2                  dfk(  sJ d }t5        d      D ]N  }t	        t        t               t/        t              z  t        |z  z  t        dt        fd       ||      k(  rNJ  t        t	        t        t               t/        t        |z         z  t        dt        fd            t!        d      t/        |t"        dz  z         z  dz  k(  sJ  |d      \  }}}t        t        g g |dz  g| dz  gt        dz        t        g g |dz  g| dz  gt        dz        z  t        |dz
  z  z  t        dt              ddd|z  dz
  z  z  t        d|z  dz         z  t        |dz  |dz  z   |z         z  t        | dz  |dz  z   |z
  dz         t        |dz  |dz  z
  |z
  dz         z  t        |dz  |dz  z   |z
  dz         z  z  t7        |      dk  t7        |      t1        d      dz  k  z  t7        |      dz  t7        |      dz  z   t7        |      z   dkD  z  fk(  sJ t	        t/        t        |z        t/        t        |z        z  t        dt        fd      t        t/        t        |z        t/        t        |z        z  t        dt        f      k(  sJ t	        t        t        dz         t9        t              z  t        dt        fd      t!        t"              t;        dt0        j2                        z  dz  j                         k(  sJ ddlm}  |dd      }t        t	        t        t               t        |z  z  t        d             ||dz   t              k(  sJ  |dd
      }t        dt        z
  |z  t/        |t        z        z  t        dd      t!        t"              |z  t        |dz         z  t        d|dz  t0        j2                  z   |dz  dz   ffddt0        j2                  ftA        dd      ff|dz  dz        z  dz  dfk(  sJ  |dd
      \  }}t        t	        t        |z  t        | t        dz  z        z  t        t         t        f            || dz  t0        j2                  z
  z  d|z  dz   z  t        |dz  t0        j2                  z         z  dz  k(  sJ y ) Nr   )r{   rt   zs t muTrealr;   rR   r6   rv   rH   rx   Fa brS   )   Tzsigma mu)r;   T)rH   Tc                 |    ddt         dz  z   z  j                  t         |       j                  t         d      d| z  z  S NrH   r;   rQ   )r0   ra   r`   )ro   s    rB   rO   ztest_meijerint.<locals>.res   s7    1q!t8""1a(--a3R!G;;rC      za b s
lowergammaro   )integeralpharT   rQ   r   za s)!sympy.core.functionr{   rz   ru   r"   r    r   is_Piecewiser0   r   r<   r!   r(   r   r%   r+   r   r   r   r   r   absr   r   r   rW   ranger   r   r   'sympy.functions.special.gamma_functionsr   r   )r{   ru   r6   r7   mur2   r3   sigmair4   _rO   ro   r   r   s                  rB   test_meijerintr      sm	   *)xd+HAq"WRaS"ac2b"r!tfs1ugq!tAv>?BZ!!-. . . 	d#AQT'2r(aS"Iq99Aq":Fa!e  QT'2r(aS"Iq99Aq":!#&+AEl3 3 3i1Wb"XRy!%D D!"Ar
E;       A*c!f444 54(DAq&q!tQ15a89	AE
AE   q1uqjaR0!Q;zIII 
T2IE2cQVag$6#:":;Q2FDAqA;$r(5.!d2qw<.@*@AAAA99c2#a%jU1W5q!R@DAqA;!R%Z.((( c!fa"a0SVTNBBB$SVQ15a89SVaZGGG$S!WaA6q9:	CQs1vXs1v%&&' ' ' c1a4%j!bS"5$r(D9IIIIc3q6'lAsB79DDDcAaC!Ga<-0!bS"=	b!T  c3qsQw<-0!bS"=JJJcQVUNQ#6"6q"89$qtE1H}:MM"b*-67 7 7d1gqj!bS"5"dCCC c1"gc!fnaB7AFFD>III<1X aRQ1,q!Rj$GF 	 
 Ic1"gc!a%j01a*dK aQAX.q01 1 1 gGAq!gb"qseqbdVQqSA2rAaC5A2a4&!A#67781q5zBCDa
 
1qsQw<bdQh	'acAaCi!m(<	<!A!a!#$U1Q319q=1+<%==!A#!)a-!#$%
& UQY2a51Q46>*beAg1a.?"Q%.G!.KL	NO O O SAYs1a4y(1a*dCQT3q!t9$q!Rj12 2 2 S!Q$ZA&Ar
DA	b)Aqvv&	&q	(0023 3 3 CT"AIc1"gadlAt<=1q5!   Gd+Eq1uunSq\91aC	b%eai(	("uQw7Ga!7 2Aqvv"a(:;UAXb[*J 
JJK
LMQ	SS S S
 54(DAqIad3r!Q$w</!bS">?	QBqD166MR!GaK(qsQVV|)<<Q>? ? ?rC   c            	      $	   ddl m} m} t        t	         |t
        t               |t        t              z  t        z  t        dt        fdd            dt        t        t
        dz  t        dz  z
  z        z  t        t
        t        z
  z  t
        t        z   z  z  k(  sJ t        t	         |t
        t               |t
        t              z  t        z  t        dt        fdd            ddt
        z  z  k(  sJ t        t	        t        t        t        z        t        dz  dz
  t        t        j                  z    z  z  t        dt        fdd      dz  t        dz  t        z  t        t              z  t!        t        j                  t        z
        z  z         |t        t              k(  sJ t	        t         |dt              z  t        d      t         |dt              z  k(  sJ t	        t         | dt              z  t        d      t         | dt              z  k(  sJ t	         |dt              t        d       |dt               k(  sJ t	         |dt              dz  t        z  t        d       |dt              dz   |dt              dz  z    dz  k(  sJ t	         |dt              dz  t        dz  z  t        d      d	t        z   |dt              dz  z  dt        z   |dt              dz  z  z
  d |dt              z   |dt              z  z    |dt              dz  t        z  z
  k(  sJ t	         |dt               |dt              z  t        d       |dt              dz   dz  k(  sJ t	        t        dz   |dt              z   |dt              z  t        d      t        dz   |dt              dz  z  dz  k(  sJ t	         |dt               |dt              z  t        z  t        d      t         |dt              dz  z  t         |dt              dz  z  z    |dt               |dt              z  z
  k(  sJ t	         |dt        dz        t        z  t        d       |dt        dz         dz  k(  sJ y )
Nr   besselibesseljTnoner    condsr;   rH   rx   r   )sympy.functions.special.besselr   r   r%   r"   r2   r8   r3   r   r   r   r0   r1   r   rW   r   r   r   s     rB   test_besselr      s   AIgamGAqM9!;aBZ!1 2	#b!A#!)n
r1q5z1q5123 3 3 IgamGAqM9!;aBZ!1 256!W= = =
 Ic!A#h1qa!&&jM'BB !Rj$fF1qb)%
*;;= > 	1   Qwq!}_a6!GAqM/IIIQwq!}_a6!GAqM/III WQ]At4AFFFWQ]A%a'D9
!Q-
WQ]A-
-.q01 1 1 WQ]A%ad*At<
1WQ]A!GAqM1$4 44
GAqM/'!Q-
'	(*1!Q-*:1*<	== = = WQ]71a=0!TB	A	!  QT'!Q-'15q$G	1WQ]Aa     WQ]71a=02AtD	
71a=!	a1q 00	0AqM'!Q-'
() ) ) WQ1%a'D9	AqD	!  rC   c                     ddl m}  ddlm} d } |dt        dz  dz   z        t        t               |t              z  k(  sJ  |t        t        dz  dz   z        t        t               |t              z  k(  sJ  |t        t               t        z         |t        dz
        k(  sJ  |dt        dt        dz  z         z         | dt               |t              z  k(  sJ t        t        t              t        dt        dz  z         z  t        t              J  |t        t        dz              J t        t        t        dz         t        t              J y )Nr   r   )	Heavisidec                 >    t        t        | t        t                    S rE   )r   r,   r6   r7   fs    rB   invztest_inversion.<locals>.inv!  s    1!Q:;;rC   rH   r;   )r   r   'sympy.functions.special.delta_functionsr   r6   r   r7   r   r   r   r,   )r   r   r   s      rB   test_inversionr     s    6A<q!Q$(|Ay| 3333q!Q$(|Ay| 3333sA2wqy>Yq1u----qa!Q$h GAqM)A,$>>>> tAwtA1H~5q!<DDDs1a4y>!!!sAqD5z1a0888rC   c                  r   ddl m}  ddlm}  | dd      }t	        t
        |z        t        dt	        |      z  t	        t              z        z  }t        |t        t              }|j                  rJ  | dd	      }|j                  ||      }t        |t        t              }|j                  sJ |j                  d   d   |j                  ||      k(  sJ |j                  d
   d   sJ  ||t        t        d       }|j                  d
   d   |k(  s"|j                  d
   d   |j                  k(  sJ y y )Nr   Symbol)InverseLaplaceTransformr2   Trv   r   r3   r~   rQ   rH   )rz   r   sympy.integrals.transformsr   r   r   r   r6   r,   r7   r   r`   argsas_integral)r   r   r2   Fr   r3   f2ILTs           rB   !test_inversion_conditional_outputr   .  s   (BsT"ART
3r$q'z$q')**AAq!$A~~sA	q!A	Q1	%B???771:a=AFF1aL(((772;q>>
!!Q4
0C772;q>S BGGBKNcoo$EEE$E rC   c                     ddl m}  ddlm}  | dd      } | dd	      }d
dt        z  z   } | d      }t        t        |t        z        t        t              j                  rJ t        t        |t        z        t        t              J t        t        |t        z        t        t              J t        t        |t        z        t        t              }|j                  sJ t        |j                  d   d   |      sJ y )Nr   r   )
DiracDeltarN   Tr~   r4   F)extended_realrH   r;   r8   )rz   r   r   r   r   r,   r   r6   r7   r   r<   r   )r   r   rN   r4   r2   r8   r   s          rB   %test_inversion_exp_real_nonreal_shiftr   C  s    (BsAs%(A	AaCAsA"3qs8Q2????s1Q3xA.666s1Q3xA.666C!Ha+A>>>affQilJ///rC   c            
      L   ddl m} m} ddlm} ddlm} i }t        |       |j                         D ]c  }t        |t              D ]K  \  }}}}	i }
t        |j                        |gz   D ]3  }t        |d      r|j                  r |dd      |
|<   ( | d	d
      |
|<   5 t        |t              s ||
      }|D cg c]  \  }}t!        |       }}}t#        d |D              sJ  ||D cg c]
  \  }}||z   c}} }|j%                  |
      |j%                  |
      }}t'        t)        |      t)        |            }|dk  r#t)        ||z
        j%                         dk  r&J t)        ||z
        |z  j%                         dk  rLJ  f y c c}}w c c}}w )Nr   )uniform	randrangerJ   )r8   )key
propertiesrH   r^   g      ?g       @c              3   f   K   | ])  }|j                   xs  |j                  t                + y wrE   )r   hasr    ).0r0   s     rB   	<genexpr>z$test_lookup_table.<locals>.<genexpr>g  s)     Nq~~;UQUU7^);;Ns   /1)r`   g|=)sympy.core.randomr   r   rL   rK   sympy.integrals.meijerintr8   r*   valuessortedr	   listfree_symbolshasattrr   r<   r#   allro   minr   )r   r   rK   z_dummytablelformulatermscondhintr`   air   rc   expandedr   r0   r2   r3   rN   s                       rB   test_lookup_tabler   R  s   4"6E\\^ 3*08H*I 	3&GUD$D7//0G9< 12|,(B/DH&sC0DH1 eT*d 6;;6AqA;H;NXNNNN u5VaQqS56H99$9')>qACFCF#A1u1q5z||~...AE
1'')U222-	33 < 6s   >F
1F c            
         ddl m}  ddlm}  |t	        t        t        dz        t        d      j                  t              d      dt        t        dz        z  t        t        dd            z  dz  t        t        d	d            z  k(  sJ t	        t        t        dz        t        d      dt        z  t        t        dz        z  t        t        dd            z  dt        t        d	d            z  z  dt        t        dd            z   | t        dd      t        d
z        z  dt        t              z  t        t        d	d            z  z  z
  k(  sJ y )Nr   r   )	powdenestrS   Trx   polarr;   rZ   r   )r   r   sympy.simplify.powsimpr   r"   r   r0   ra   r   r   r   r   )r   r   s     rB   test_branch_bugr   s  s&   B0Ys1a4y!T:??BC1I+eHQN&;;A=eHQPQN>SST T TSAY40	!C1IeHQN++QuXa^/D-DE
E(1a.!
!*Xa^QT"B
BAd2hJuU]^_abUcOdDd
e	ff f frC   c                      ddl m}  t        t        t        dz
        t        d      t        dt        z
         k(  sJ t         | dt        dz
        t        d       | ddt        z
         k(  sJ y )Nr   r   rH   Trx   )r   r   r"   r   r0   r   r   s    rB   test_linear_subsr   ~  s^    6SQZD1c!a%j[@@@WQA&48WQA=N<NNNNrC   c            
      #  $%&'() ddl m$ ddlm} m} ddlm} ddlm}  |dd      \  &} |d	d
      \  )} | dd
      (d 'd %t         't        &)      t        t         t        fd      dk(  sJ t        t         't        &)      z  t        t         t        fd      &k(  sJ t        t        dz   't        &)      z  t        t         t        fd      &dz  )dz  z   k(  sJ t        t        dz   't        &)      z  t        t         t        fd      &dz  d&z  )dz  z  z   k(  sJ t         't        &)       't        ||      z  t        t         t        ft        t         t        fd      dk(  sJ t        t         't        &)      z   't        ||      z  t        t         t        ft        t         t        fd      &k(  sJ t        t         't        &)      z   't        ||      z  t        t         t        ft        t         t        fd      |k(  sJ t        t        t        z   't        &)      z   't        ||      z  t        t         t        ft        t         t        fd      &|z  k(  sJ t        t        t        z   dz    't        &)      z   't        ||      z  t        t         t        ft        t         t        fd      d&z   |z   k(  sJ t        t        t        z   dz
   't        &)      z   't        ||      z  t        t         t        ft        t         t        fd      d&z   |z   k(  sJ t        t        dz   't        &)      z   't        ||      z  t        t         t        ft        t         t        fd      }|j                  t              rJ t        |      &dz  )dz  z   k(  sJ t        t        dz   't        &)      z   't        ||      z  t        t         t        ft        t         t        fd      |dz  |dz  z   k(  sJ t         %t        (      t        dt        fd      dk(  sJ t        t         %t        (      z  t        dt        fd      d(z  k(  sJ t        t        dz   %t        (      z  t        dt        fd      d(dz  z  k(  sJ $%&'()fd} |d      dk(  sJ  |t        t        z        &(z  k(  sJ  |t        t        dz  z        &dz  (z  )dz  (z  z   k(  sJ )dz  d(dz  z  z   }t         |t        t        z   dz   dz         |t        t        z   dz         dz  z
        |k(  sJ t         |t        t        z   dz
  dz         |t        t        z   dz
        dz  z
        |k(  sJ t         |t        t        z   dz         |t        t        z         dz  z
        |k(  sJ  |dd
      \  }	}
t        |	dz
  z  dt        z   |	 |
z
  z  z  t!        |	|
z         z  t!        |	      z  t!        |
      z  }t        |t        dt        fd      dk(  sJ t        t        |z  t        dt        fdd      } ||d         |d   f|	|
dz
  z  d|
k  fk(  sJ t        t        dz  |z  t        dt        fdd      }|d   |
dkD  k(  sJ  ||d   |d   dz  z
        |	|
z   dz
  |	z  |
dz
  z  |
dz
  dz  z  k(  sJ  |dd
      \  }}t        |dz
  z  t         dz   |dz
  z  z  t!        ||z         z  t!        |      t!        |      z  z  }t        t        |t        ddfd            dk(  sJ t        t        t        |z  t        ddfd            |||z   z  k(  sJ t        t        t        dz  |z  t        ddfd            ||dz   z  ||z   z  ||z   dz   z  k(  sJ t        t        t        t        z  |z  t        ddfd            t!        ||z         t!        |t        z         z  t!        |      z  t!        ||z   t        z         z  k(  sJ  | ddd      }dd|dz  z
  z  t        |dz
  z  z  t#        t        dz   dz        z  t!        |dz        z  } |t        |t        dt        fd            dk(  sJ t        t        t        |z  t        dt        fd            t%        d      t!        |dz   dz        z  t!        |dz        z  k(  sJ t        t        t        dz  |z  t        dt        fd            |k(  sJ d| dz  z  t!        |dz        z  t        |dz  dz
  z  z  t#        t         dz        z  } |t        |t        dt        fd            dk(  sJ t        t        t        |z  t        dt        fd            |k(  sJ t        t        t        dz  |z  t        dt        fd            ||dz   z  k(  sJ  |t        t        |z
  t%        d|z        z  dz  |z  t        dt        fd            dt%        d      z  t%        |      z  k(  sJ  |dd
      \  }}}||z  t        z  t        |z  ||z  z  z  dt        |z  ||z  z  z   |dz   z  z  }t        t        |t        dt        fd            dk(  sJ t        |z  }t        t        |t        dt        fdd            ||z  t!        dd|z  z
        z  t!        |dz   d|z  z         z  ||z  dz   t!        |      z  z  k(  sJ t        t        t        |z  t        dt        fdd            ||dz  z  t!        dd|z  z
        z  t!        |dz   d|z  z         z  ||z  dz   t!        |      z  z  k(  sJ  |dd
      \  }}t%        |t        z  |z  ||z  z  |t        z  |z   ||z   z  z        t        z  t!        |dz        z  t!        |dz        z  t!        ||z   dz        z  }t        t        |t        dt        fd            dk(  sJ t        t        t        |z  t        dt        fdd            ||dz
  z  k(  sJ t        t        t        dz  |z  t        dt        fdd            |dz  |dz   z  |z  |dz
  z  |dz
  z  k(  sJ  |dd
      \  }}t%        |dz  t&        z        t        t)        dd      z  z  t#        | t        |z
  dz  z  t        z  dz  |dz  z        z  }d  } |t        |t        dt        f            dk(  sJ  |t        t        |z  t        dt        f            |k(  sJ  |t        t        |z
  dz  |z  t        dt        f            |dz  |z  k(  sJ  |t        t        |z
  dz  |z  t        dt        f            d|d!z  z  |dz  z  k(  sJ  | d"d
      }t        t%        |dz  t&        z        t#        | dz  t        |z
  z        z  t        |z
  t+        d#      z  z  t        |t        f      dk(  sJ  |dd
      \  }	}
|
|	z  t        |
dz
  z  z  |	|
dz
  z  z  dt        |
z  |	|
z  z  z   dz  z  }t        t        |t        dt        f            dk(  sJ t        t        t        |z  t        dt        fd$            t&        |	z  |
z  t-        t&        |
z        z  k(  sJ t        t        t        t        z  |z  t        dt        fd$            t&        |	t        z  z  t        z  |
z  t-        t&        t        z  |
z        z  k(  sJ  | dd
      } | d%d
      }||z  t        |z  |dz
  z  z  t#        t        |z  |z         z  }t        t        |t        dt        f            dk(  sJ t        t        t        |z  |z  t        dt        f            ||z  t!        d||z  z         z  k(  sJ dd&lm}  |d'd
      \  } }!t        |!dz  z  t#        t        dz  | dz  z    dz  |!dz  z        z   |dt        | z  |!dz  z        z  }"t        |"t        dt        fd      dk(  sJ  | d(d)      } | d*d
      }t#        t3        t        |z
         |z        dz  |z  }#t        |#t        t         t        fd      dk(  sJ t        t        |#z  t        t         t        fd      |k(  sJ t        t        dz  |#z  t        t         t        fd      d|dz  z  |dz  z   k(  sJ  | dd
      } | $t        t5        t              t        |dz
  z  z  t#        t               z  t!        |      z  t        dt        f                  t7        d|      k(  sJ y )+Nr   )
expand_mul)r   ru   )	gammasimp)powsimpzmu1 mu2Tnonzerozsigma1 sigma2rv   lambdac                 p    dt        dt        z  |dz  z        z  t        | |z
  dz   dz  |dz  z        z  S NrH   r;   )r   r   r   )r0   r   r   s      rB   normalz test_probability.<locals>.normal  s?    ad5!8m$$S1r6A+aq)@%AAArC   c                 &    |t        | | z        z  S rE   )r   )r0   rates     rB   exponentialz%test_probability.<locals>.exponential  s    CaL  rC   rx   rH   r;   rS   rQ   c                 J   t        |  t              z   t              z  t        dt        ft        t         t        fd      }t        |  t              z   t              z  t        t         t        ft        dt        fd      } |       |      k(  sJ |S )Nr   Trx   )r"   r0   r1   r   )	r?   res1res2r   r   mu1r   r   sigma1s	      rB   Eztest_probability.<locals>.E  s    k!T226!S&3IIQa"b\4Ak!T226!S&3IIRCq!Rj$@$:d#3333rC   z
alpha betaseparater   r   k)r   rw   za b pr   zd1 d2rR   zlamda muc                 >    t        | j                  t                    S rE   )r%   rewriter   rF   s    rB   <lambda>z"test_probability.<locals>.<lambda>  s    (4<<#45 rC   rZ   r4   re   )r   ro   )r   znu sigmar   r~   r3   )r   r   rz   r   ru   sympy.simplify.gammasimpr   r   r   r"   r0   r   r1   r   r
   r%   r   r   r   r   r   r   r   r   r   r   r   r   )*r   ru   r   r   mu2sigma2r   r   ansr   betabetadistjr2   r3   r   chi
chisquaredpdagumr   d1d2r   lamdar   distmysimpr4   distnro   r   nur   ricelaplacer   r   r   r   r   r   s*                                       @@@@@@rB   test_probabilityr    s    /32.y$/HC_t<NFF(T*DB! VAsF+a"b\4HAMMMQvaf--B3|TJ  QT&C001rc2,M6FAI  QT&C001rc2,M6AcE&!)O#$ $ $VAsF+F1c6,BB"b\AsB<?BCD D DQvaf--fQV.DD"b\AsB<?BEF F FQvaf--fQV.DD"b\AsB<?BEF F FQqS3//q#v0FF"b\AsB<?BEc'J J Ja!eai3!77q#v8NN"b\AsB<?BCc'C-P P Pa!eai3!77q#v8NN"b\AsB<?
S3   	!Q$vaf--fQV.DDrc2,RCd	<AuuSz>A;#q&619,,,,QT&C0031GG"b\AsB<?	CF   [D)Aq":tDIIIQ{1d++aBZF	$  QT+a..Ar
DI	$'	    Q4199QqS6SXQq!tV9Qtfain4444
!)aai
CAq1uqy1n%!a%!)a78C???Aq1uqy1n%!a%!)a78C???Aq1uqjMAa!eHaK/0C777 ,6KE4519~q1u66uUT\7JJ	uDk"HX1bz48A===!H*q!Rj$jIAadOQqT"udQh'7T&BBBB!Q$x-!QTLAQ4D1HQqTAaD!G^$)95(@
()AXM)" " " " 54(DAq1q5zA26QU++E!a%L8%(58:KLHIhAq	4@AQFFFIaj1a)TBC	1q5	  Iad8maAYEF	1q5	1q51q519%& & &Iad8maAYEFa!eU1q5\!%(*5Q+;;< < < 	sD40A
a!A#g,q1q5z
!#q!teAg,
.uQqSz
9C9S1a*d;<AAAIaeaBZ>?Qq1uai  qs+, , ,Iad3hAr
DABaGGG aRT51:%a!A#'l23r!t9<J9Z!QTBCqHHHIa
lQ2JEF!KKKIad:o1bz4HI	1q5	  YQQqS	 1A5j@1a* " #&'QiQ&78 8 8 g-GAq!aCE1Q3!A#,AqDAIQ77EIeaBZ>?1DDD
E'CIcAq":t6J 1U1qs7^+E!a%!A#+,>>qS1WeAh&(( ( ( IaeaBZVL 1a4a!A#g.uQUQqS[/AAqS1WeAh&(( ( (
 Wt,FBr!tbj2r6!BqD2Ib#99:1<	r!t	2a4[	!!&R{!3	4AIa!QT:;q@@@IacAq":t6J R!V% % %Iad1fq!Rj$fM QQ*BF3R!V<= = = 
T2IE2a
AQ00eVQVaK5G5I!5KBPQE5Q1RRD5F)D1a*-.!333)AdFQ2J/0B666)QVaK,q!Rj9:b!eEkIII)QVaK,q!Rj9:aAgeQh>NNNN 	sT"AT!A#b&\#qbdAFm"44a"fqx5GGBK!$%& & &
 ,6KE4%ZTAX&utax'88	
QWUD[ 	 1$%E
 IeaBZ01Q666Iag1bz@A
5c"T'l"# # # Iad5j1a*FCD
5!8Ad3r!tDy>)* * * 	sT"AsT"AeGQuWA&&sQuWqL='99EIeaBZ01Q666Iad5j1a*56qq1Q3w      7
T2IBUAX:cAqD2q5L/!+E1H455ga2eQh6OODTAq":t4999 
4	 BsT"A3q2v;,q.!!#A%GWq2#rlD9Q>>>QwYRCd;rAAAQT'\AsB<>	!Q$Q   	sT"AZ	#a&QU*;CG*CE!H*L !Rj!* + ,/8A? ? ?rC   c            
         ddl m}  ddlm} ddlm}m}m}m}m	}m
} t        t        t        t        t         t         z        t         t"        z  z  t         dt$        fdd      j'                  |      j)                  d	                   |t"        t              k(  sJ t        t        t         t         z        t         z  t         dt$        fdd      j'                  |      j)                          |dt              k(  sJ t        t        t         t         z        t         d
z  z  t         dt$        fdd      j'                  |      j)                          |d
t              j'                  |      j'                  |      k(  sJ t        t        t         t         z        t         dz  z  t         dt$        fdd      j'                  |      j)                          |dt              j'                  |      j'                  |      j)                         k(  sJ  | dd      }t        t+        t                t         z  t         |t$        fd      j)                          ||      k(  sJ t        t-        t                t         z  t         |t$        fd      j)                          ||      t.        d
z  z
  k(  sJ t        t-        t               t         z  t         dt        fd       |t              k(  sJ t         |t               t         z  t         dt        fd       |t              k(  sJ t        t        t                t         z  t         d      j)                         j'                  |      t0        t.        z   |dt               z
  k(  sJ t        t        t                t         d
z  z  t         d      j'                  |      j)                          |dt               t        t                t         z  z
  t0        t.        z  z
  k(  sJ  | dd      }	t        t+        |	      |	z  |	d      j)                         j3                  |	      d    ||	      k(  sJ t        t5        |	      |	z  |	d      j)                         j3                  |	      d    ||	      k(  sJ t         |dt               t         d      j'                  |      j)                         t          |dt               z  t        t                z
  k(  sJ t         |d
t               t         d      j'                  |      j)                         t         d
z    |dt               z  d
z  t         t        t                z  d
z  z   t        t                d
z  z
  k(  sJ t        t        t         |t"        t               t         d      j'                  |      j)                  d	                   |t"        dz   t                k(  sJ t         |t               t         d      t          |t               z  t+        t               z   k(  sJ t         ||	      |	d      j)                         |	 ||	      z  t-        |	      z
  k(  sJ t         |t               t         d      t          |t               z  t5        t               z
  k(  sJ t         ||	      |	d      j)                         |	 ||	      z   ||	      z
  k(  sJ t         |t               t        t                z  t         dt$        fd      t.        dz  k(  sJ t         |dt               t-        t               z  t         dt$        fd      t7        d
      d
z  k(  sJ y)z% Test various exponential integrals. r   r   )r   )ChiCiEiShiSiexpintrH   Tr   r   )funcr;   rS   r7   rv   rx   rP   r   rR   N)rz   r   %sympy.functions.elementary.hyperbolicr   'sympy.functions.special.error_functionsr  r	  r
  r  r  r  r%   r   r"   r   r8   r0   r1   r   r   r{   r   r   r   r   as_independentr   r   )
r   r   r  r	  r
  r  r  r  r7   rP   s
             rB   test_expintr  K  s    ):VVJyaRT1a4!QF '&/&&d&"35 69?1F F F S!AYq[1a*d!##*76?668q!   S!AYq!t^aBZ!##*76?668q!R ((01 1 1 S!AYq!t^aBZ!##*76?668q!R ((0779: : : 	sT"Ac!fWQYAr
D9@@BbeKKKc!fWQYAr
D9@@B
11  SVAX1ay$72a5@@@T!WQYAq	48CFBBBS!WQY40779AA&I	"va|  S!WQT\1d3;;FCJJL!Q<#qb'!)#ad*+ + + 	s$ASVAXq$/668GGJ1Ma5  T!WQY40779HHKANq6   VAq\1d gfoffh!F1aL.3r7*BC C CVAq\1d gfoffh	
AfQl1qaRy{*S!WQY67 7 7 Jy1q &wvvv4v/@B C	Aq	   RUAt,"Q%#a&0@@@@RUAt,3352a53q69IIIISVQ-3q6DG1CCCCSVQ-446!CF(T!W:LLLLRU3r7]Q2J=AEEEVAq\#a&(1a*dCs1vaxOOOrC   c            
      t   ddl m} m} ddlm}m} ddlm} ddlm	}m
}m}m} ddlm}	m}
  |
 |t               t         t"        d       |t"               t$        d	z  z   t"        z  ddfk(  sJ  |
 |t               t         t"        d       |t"              t"        z  t&         t"        d	z  d
kD  fk(  sJ  |
 |t               t         t"        d      t)        t"        dz        t)        d
d
t"        d	z  z  z
        z
  d	t"        z  z  t&         t"        d	z  d
kD  fk(  sJ  |
 |t*        t               t         t"              d
d  dt-        t*              dkD  t-        t*              dkD  z  fk(  sJ  |	 |d
t               t         z  t         t"        d      }|d   j/                  d      j1                         |d
   ft3        dt"        d
d	t$        z  z  kD  t"        dd	t$        z  z  k  z  fd	t5        dt$        d	z  z  t"        d	z  z  d
z         z  df      t"        dkD  fk(  sJ t7         |t                |dt               z  t         dt&        fd      t)        d
t5        d	      z         k(  sJ t7         |t                |d
t               z  t         dt&        fd      t)        t8        j:                  t5        d	      d	z  z         k(  sJ t7        d
t         z  t5        d
t         d	z  z
        z  t         d      t3         | d
t         z         t=        t         dz        d
kD  ft>         |d
t         z        z  df      k(  sJ y )Nr   )r   acoth)r   atanr   )r  E1r  r  )fourier_transformlaplace_transformTr$   r;   rH   r   rQ   F)noconds)deeprV   rx   ) r  r   r  (sympy.functions.elementary.trigonometricr   r  r   r   r  r  r  r  r  r   r  r  r0   r6   r   r   r   r2   r   factorr{   r   r   r"   r   rW   r   r   )r   r  r   r  r   r  r  r  r  r  r  r   s               rB   
test_messyr    s   DE6JJQbeQD9AwhAoq !T*+ , + SVQD9a
RCA># # # # SVQD9	QWA!Q$J	'!A#.QTAX>? ? ? ?
 WQ]Aq1!"5	
RURZBqEBJ'() ) ) GAqM!OQ5
ACFMMtM$++-s1v6	AAqtHR2Y78d2b!e8AqD=1,--t4
6781u	>> > > RU71a=(1a*dCAQK  RU71a=(1a*dCAFFT!WQY      QqSa!Q$h'D9E!A#J;AGq 01Ad1Q3iK3FGH H HrC   c                      t        t        t         t        dz  z        t        t         t        fd      t         t        t              z  t        t        t        z  dz        z  k(  sJ y )Nr;   Trx   rR   )r"   r   r   r0   r   r   r   rT   rC   rB   test_issue_6122r    sQ    S!AqD\AsB<>	
48C"QK     rC   c                      dt         z  t        t        t         z  z   t        dd      z  z  } t	        | t         d      }|j                  t              rJ y )NrH   rS   Trx   )r0   r2   r3   r   r"   r   r   )r?   antis     rB   test_issue_6252r"    sD    Q3AaC(1a.((DT1d+DxxrC   c                      t        t        t        t        z        dt        dz  z   z  t        t         t        f      j                         j                  t              t        t        d      z  k(  sJ y r   )r"   r   r   r0   r   r%   r   r   rT   rC   rB   test_issue_6348r$    sW    S1Xq1a4x(1rc2,7@@BJJ3Oc"g:  rC   c            	         ddl m} m} t        t	        t        t        t        dz  z  dz        t                     |t              k(  sJ t        t	        t        t        t        dz  z  dz        t                     | t              k(  sJ y )Nr   fresnelcfresnelsr;   )	r  r'  r(  r   r"   r   r   r0   r   r&  s     rB   test_fresnelr)    sa    LyR1WQY34CCCyR1WQY34CCCrC   c                  L    t        t        t        t        z  z  t              J y rE   )r(   r0   rT   rC   rB   test_issue_6860r+    s    1a4+333rC   c                  `   t        t        t        dt        z  dz         z  t              j                         } | t        dt        z  dz         dt        dz  z  t        z   dz
  z  dz  k(  sJ | j	                  t        t
        j                  t
        j                        t        dd      k(  sJ y )Nr;   rS   rZ   )	r(   r0   r   together_eval_intervalr   NegativeOneOner   r   s    rB   test_issue_7337r1    s    QtAaC!G}_a099;AQqS1WqAvzA~.q0000Aq}}aee4AFFFrC   c                  0   t        t        t              t        t         t        z        z  t              t         dz
  t        t              z  t         dz   t        t               z  z   t        t         t        z        z  dz  t        dz  dz
  z  k(  sJ y r   )r(   r   r0   r   r7   rT   rC   rB   test_issue_8368r3    s    QQBqD	 115
aQA263r7**C1I:667:89:A:C C C CrC   c                      ddl m} m} t        dt	        t
        t        z
  dz  | dz  z         dz  z  t        d|ft
        d|f      dt	        d|dz  | dz  z  z         z  | z  d| z  z
  k(  sJ y )Nr   hwrH   r;   rS   )	sympy.abcr6  r7  r"   r   r1   r0   r5  s     rB   test_issue_10211r9    sv    aacAX1_-q00Aa7QqGD	$q1a419}
a!A#%& & &rC   c                      ddl m}   | dd      \  }}t        dt        t        dz  |dz  z         dz  z  t        | |f      d|z  |dz  t        |dz  |dz  z         z  z  k(  sJ y )	Nr   rt   zy LTrv   rH   r;   rS   )rz   ru   r"   r   r0   )ru   r1   Ls      rB   test_issue_11806r<    sw    )54(DAqQtAqD1a4K(!++a!QZ8	!QT$q!tad{##$% % %rC   c            
      X   ddl m}  ddlm}m} t        |dz  |dz  |dz  z
  dz  z  |d      }d|d	z  z  |d
z  z  t        dt        d
d      ft        dd      f|dz  t        dt        z  t        z        z  |dz  z        z  }| j                  ||z  j                         d	d      sJ y )Nr   )RR)RrN   r;   g      ?Trx   gUUUUUU?g      ?rS   g      rZ   g-q=)sympy.polys.domains.realfieldr>  r8  r?  rN   r"   r   r   r   r   r   almosteqro   )r>  r?  rN   r   rc   s        rB   test_issue_10681rB    s    0!Q$1QT	C''D9A	3q!tE4!Q"88Aq>:K"#Q$y1R'8"8A"=? 	?A;;!wwy#u---rC   c                  v    ddl m}   | dd      }t        dt        dz  z  t        t        |f      d|z  k(  sJ y )	Nr   r   r2   Trv   rH   r;   rQ   )rz   r   r"   r0   r   )r   r2   s     rB   test_issue_13536rD    s8    (sT"AQq!tVaQZ(BqD000rC   c                      ddl m}   | d      } | d      }t        t        ||z        ||z  z  |d      j	                  |d      j                  t        t        |dz        |dz  z  |d            sJ y )Nr   r   r0   ro   Trx   r;   )rz   r   r"   r   r`   equals)r   r0   ro   s      rB   test_issue_6462rG    ss    (sAsA SAYq!t^Q5::1a@GGc!Q$i1na68 8 8rC   c                      t        t        t        z   t         z  t        d      t         dt        t        z  z   dt        z
  z  z  t        t        t        z  z  t        t        z  z
  z  k(  sJ y )NTrx   rH   )r"   r3   r7   r2   rT   rC   rB   test_indefinite_1_bugrI    sV    a!er]At4A!Gq1u;M8MqQRTUQUvXY[\X\}8]]]]rC   c            	         t        dt        t        t        z
  dz  dz
        z  d      t	        t        t        t        z
        t        t        t        z
  dz        dkD  ft         t        t        t        z
        z  df      k(  sJ y )NrH   r;   Trx   )r"   r   r0   r   r   r   r
   r   rT   rC   rB   test_pr_23583rK    so    QtQUQJqL))48eAElCQ
Oa$78A2d1q5k>4:PQR R RrC   c                      t        t        t        dz         t        ddfd      t        t              dz  t        d      z  k(  sJ y )Nr;   r   Trx   rZ   )r"   r   r0   r   r   r   rT   rC   rB   0test_integrate_function_of_square_over_negativesrN    s:    S!Q$Z!Bq48DHQJQ<OOOOrC   c                      ddl m}   | dd      }t        t        |t        dz   z        t        ddfd	      t        d
|z        |z  k(  sJ y )Nr   rt   r1   Tr   rH   rQ   g      пrx   g      ?)rz   ru   r"   r   r0   r   )ru   r1   s     rB   test_issue_25949rP    sH    )T"AT!QU)_q"endCtDQRF|TU~UUUrC   N)kr   r   sympy.core.numbersr   r   r   r   sympy.core.singletonr   sympy.core.sortingr	   $sympy.functions.elementary.complexesr
   r   r   r   &sympy.functions.elementary.exponentialr   r   r   r  r   r   r   (sympy.functions.elementary.miscellaneousr   $sympy.functions.elementary.piecewiser   r   r  r   r   r   r   r  r   r   r   r   r   sympy.functions.special.hyperr   r    sympy.integrals.integralsr!   r"   sympy.simplify.hyperexpandr#   sympy.simplify.simplifyr%   r   r&   r'   r(   r)   r*   r+   r,   sympy.testing.pytestr-   r   r.   r/   r_   r8  r0   r1   r2   r3   r4   r5   r6   r7   r8   rX   r[   rf   rj   rr   r|   r   r   r   r   r   r   r   r   r  r  r  r  r"  r$  r)  r+  r1  r3  r9  r<  rB  rD  rG  rI  rK  rN  rP  rT   rC   rB   <module>r]     sa   + 4 4 " / I I H H C C 9 J K K ? F : ; 2 ,- - - &+ / / /&TRM
$"#3 ($ g? g?T-`9"F*0 3 3@fO C? C?L 3P 3Pl#HL 

D4GC
&%.18^RPVrC   