
    MZd:                        d dl mZmZmZmZmZ d dlmZ d dlm	Z	m
Z
 d dlmZmZ d dlmZmZ d dlmZ d dlmZ d dlmZmZmZmZmZmZ d d	l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)m*Z*m+Z+ d dl,m-Z-m.Z.m/Z/m0Z0 d dl1m2Z2m3Z3 d dl4m5Z5  e	dd      Z6d Z7d Z8d Z9e3d        Z:d Z;d Z<d Z=d Z>d Z?d Z@d ZAd ZBe3d        ZCy )!    )EIRationaloopi)S)Symbolsymbols)Absre)explog)sqrt)	Piecewise)coscotcscsecsintan)expint)MatrixSymbol)simplify)	function_rangecontinuous_domainnot_empty_inperiodicitylcim	is_convexstationary_pointsminimummaximum)Interval	FiniteSet
ComplementUnion)raises_both_exp_powxaTrealc            
      B   t        d      \  } }}t        t              t        t         dz  t        dz              t        dd      k(  sJ t        t              t        dt                    t        dd      k(  sJ t        t              t        dt                    t        t         t              k(  sJ t        t              t        t        dz  t                    t        t         d      k(  sJ t        dz   dz
  z  t        dd            t        t        t         t        dd	            t        t        d
d      t                    k(  sJ t        ddz  z  t        dd            t        dt              k(  sJ t        t              t        dd            t        t        d      t        d            k(  sJ t        t              z
  t        j                        t        t         d      k(  sJ t        t        dz  dz
        t        dd            t        dt        d            k(  sJ t        dz
  z  dz  z
  z
  t        j                        t        d      k(  sJ t        dz
  z  dz  z
  z
  | z   t        j                        t        |       k(  sJ t        t              t        t        dd      t        d                  t        t        t        d       d      t        t        d                  k(  sJ t        t              t        t         d            t        dd      k(  sJ t        t              t        j                         t        j                   k(  sJ t        t        dz  dz         z  t        j                        t        j"                  dd      k(  sJ t%        t&        fd       t%        t&        fd       t%        t&        fd       t%        t&        fd       y )Nzx y a b      r                  c                      t        t               t               t               z
  z  dz   z
   t        j
                        S Nr/   )r   r   r   r   r   Realsr)   s   @/usr/lib/python3/dist-packages/sympy/calculus/tests/test_util.py<lambda>z%test_function_range.<locals>.<lambda>3   s6    AAQ "Q&177*4     c                  R    t        t                z    t        j                        S N)r   r   r   r<   r)   s   r=   r>   z%test_function_range.<locals>.<lambda>5   s    A
Aqww*  r?   c                  L    t        t                t        j                        S rA   )r   r   r   Integersr)   s   r=   r>   z%test_function_range.<locals>.<lambda>7   s    A1::* r?   c                  R    t        t               dz   t        j                        S r;   )r   r   r   Naturalsr)   s   r=   r>   z%test_function_range.<locals>.<lambda>9   s    Aq!QZZ*! r?   )r
   r   r   r#   r   r   r   r&   r   r   r   r   r<   r   r$   r   EmptySetopenr'   NotImplementedError)yr+   br*   s      @r=   test_function_rangerK      s   #JAq!Q#a&!Xrc!eRT%: 
b!_  #a&!Xa_ 
a^  #a&!Xa_ 
rc2  #a&!XbdB%7 
rc1  1q51q5/1hr1o 
8RC!Q0(8Aq>22NOP P P!QT(AxA 
a_  #a&!Xb!_ 
c"gs1v&' ' '#a&1*a 
rc2  $qsQw-HQN 
aa!" " "!QU)q!tax0!QWW 
q\  !QU)q!tax014a 
q\  #a&!U8B+;Yq\%J 
8SVGQ'3q6):;< < <#a&!Xrc2%6 
b!_  #a&!QZZ0AJJ>>>!DAaL.!QWW5r!9LLLL
 !4 5
 !  !
 !  
 !! "r?   c                     t        d      } t        t        |       | t        ddt        z              t        ddt        z        k(  sJ t        t        |       | t        ddt        z              t        t        dt        dz  dd      t        t        dz  t        t        dd      z  dd      t        t        t        dd      z  dt        z  dd            k(  sJ t        | dz
  | dz
  dz  z  | t        j                        t        t        t         ddd      t        dt        dd            k(  sJ t        t        |       t        d| z  dz
        z   | t        j                        t        t        dd      t        dd      k(  sJ t        dt        | dz
        z  | t        j                        t        dt        dd      k(  sJ t        d| z  dz
  | t        j                        t        t        j                  t         d      t        j                  dt                    k(  sJ t        d| dz  dz
  z  dz   | t        j                        t        t        j                  t         d	      t        j                  d	d      t        j                  dt                    k(  sJ t        t        t        |       dz  dz         | t        j                        }|j                  dt        z  dz        rJ |j                  d
      sJ t        ddd      }t        | d|z  z  | t        j                        t        dt              k(  sJ y )Nr*   r   r/   FTr2   r1   r8   r4   d)evenzero)r	   r   r   r#   r   r   r&   r   r   r<   r   r   r   rG   contains)r*   domainrN   s      r=   test_continuous_domainrS   =   s   sASVQAbD(9:hq!B$>OOOOSVQAbD(9:hq"Q$t,hr!tRA=NPTVZ.[r(1a.(!B$e<	>> > > a!eq1uqj11agg>hsAtT*HQD$,GHI I ISVc!A#'l2Aqww?!QT401 1 1QtAE{]Aqww78Ar4QU;VVVVQqS1Wa1hmmRC#X]]1b%9:; ; ;Q1q\A-q!'':hmmRC$hmmB&:HMM!R<PQR R Rs3q619q=11agg>FqtAv&&&??1sE*AQ1Xq!''2hq"oEEEr?   c                  
   t        t        t        dt        z        j                  t	        dddd            t              t	        t
        j                  ddd      k(  sJ t        t        t        t        dz        j                  t	        dd            t              t        t	        t        d       d      t	        dd            k(  sJ t        t        t        dz  t        z   t              j                  t	        dd            t              t        t	        t        d       dz  t
        j                  z
  d      t	        dt        dd      t        d      dz  z         t	        dd            k(  sJ t        t        t        t        dz
  z        j                  t
        j                        t              t        t
        j                  t        d            k(  sJ t        t        t        t        dz
  z        j                  t
        j                        t              t        t
        j                  t        d            k(  sJ t        t        t        dz  d	t        z  z
  dz   t        dz
  z        j                  t
        j                        t              t        t
        j                  t        d            k(  sJ t        t        d	dt        t        dz
  z        j                  t	        dd	            t              t	        t         t              k(  sJ t        t        dt        t        dz
  z        j                  t	        dd	            t              t	        t        d	      dz  d      k(  sJ t        t        t        t        dz  dz
  z        j                  t
        j                        t              t        t
        j                  t        dd            k(  sJ t        t        t        t        dz        j                  t        t	        dd	dd      t	        dd
                  t              t        t	        t        d
       d      t	        t        d	       ddd      t	        dd	dd      t	        dd
            k(  sJ t        t        d      j                  t	        d	d            t              t
        j                  k(  sJ t        t        t        dz  t        dz   z        j                  t	        dt                    t              t        t	        dddd      t	        dt                    k(  sJ t        t         d        t        t         d        t        t"        d        y )Nr/   r1   TFr0   r8      rM   r2   r4   c                       t        t              S rA   )r   r*    r?   r=   r>   z#test_not_empty_in.<locals>.<lambda>n   s
    |A r?   c                  6    t        t        dd      t              S )Nr   r1   )r   r#   r*   rW   r?   r=   r>   z#test_not_empty_in.<locals>.<lambda>o   s    |HQNA> r?   c                      t        t        t              j                  t        j
                        t        t              S rA   )r   r$   r*   	intersectr   r<   r+   rW   r?   r=   r>   z#test_not_empty_in.<locals>.<lambda>q   s"    <	! 6 6qww ?AF r?   )r   r$   r*   rZ   r#   r   Halfr&   r   r   r<   r%   r+   r   rF   r'   
ValueErrorrH   rW   r?   r=   test_not_empty_inr]   S   s.   	!QqS)33HQ44OPRSTD%() ) )	!QT*44Xa^DaHhQx$hq!n56 6 6	!Q$(A.88!QH!LhRy{QVV+R0q(2q/DHQJ67!Q	II I I 	!QU),66qww?C177IaL)* * *	!QU),66qww?C177IaL)* * *	1a4!A#:>AE":;EEaggNPQR177IaL)* * *	!Q1q5	2<<Xa^LaP"b  	!QAY/99(1a.I1M1a  	!QTAX,/99!''BAF177Ib!,-. . .	!QT*44U8Aq$PT;U;CAq>6K LMNPhQx$hQxT4&Hq!T4((1a.	:: : : 	!..x1~>BajjPPP	!Q$A,/99(1b/JANhr2tU+Xa_=> > >
:./
:>?
FHr?   c                     t        d      t        d      } t        dd      }t        t        dz              t        k(  sJ t        dt	        dz        z        t        dz  k(  sJ t        t              dz        dt        z  k(  sJ t        d	t	        d	z        z        t        d	z  k(  sJ t        t	              t              z        dt        z  k(  sJ t        t              t	              z        dt        z  k(  sJ t        t	              t              z        dt        z  k(  sJ t        t        dz        t        dz        z  | z
        t        dz  k(  sJ t        t	              t              z         t        k(  sJ t        t              t        dz        z
        dt        z  k(  sJ t        t              d
z
        dt        z  k(  sJ t        t        dz        t              t              z  z         t        k(  sJ t        t        t                          dt        z  k(  sJ t        t        t        dz              t        t        dz              z
        t        k(  sJ t        t        dz        t        t	              t        dz        z
        z        t        k(  sJ t        t        t              t        dz        z
              dt        z  k(  sJ t        t	        t        dz                    t        k(  sJ t        dt	              dz  z        t        k(  sJ t        t        dz              dk(  sJ t        t              dz        dt        z  k(  sJ t        t	        d	z  dz
  dz              t        dd	      k(  sJ t        t        d      d
z   z  z   d	z        d	t        d      d
z   z  k(  sJ t        dz  d
z   z        J t        t        t                          dt        z  k(  sJ t        t              dz  t              dz  z         t        j                  u sJ t        t	              |       t        j                  u sJ t        t              t         t              z  z         dt        z  k(  sJ t        t        d| z        z
  |       t        k(  sJ t        t                    J t        t        t         z              dt        z  k(  sJ t        t        t         |z        |      dt        z  k(  sJ t        t        |      |      J t        t        t        t        |      t         t        d|z        z  z         d      |      dt        z  k(  sJ t        t        t        t        d|z        t         t        |      z  z         d      |      dt        z  k(  sJ t        t        t        |            |      dt        z  k(  sJ t        t        dt         z  |z        |      t        k(  sJ t        t        |t         t        |      z  z         |      J t        t        t        |dz        t        |      z         |      dt        z  k(  sJ t        t                    J t        t              t              z        J t        t              | z  |       J t        t#        t        t#        t                                      t        k(  sJ t%        fdt
        t        t        t        t        t        fD              sJ t        t#        t        t	                                t        k(  sJ t        t#        t        t              t	              z                     dt        z  k(  sJ t        t              t        j&                  kD        dt        z  k(  sJ t        dkD        J t        d	z  dz  z
  d
z         J t        t#                    J t        t#        dz  d
z
              J t        dz  dz   dz        J t        t(        z  d	z        J t        t        t+        d
            t+        d
      z        J t-        ddk  fdz  d
k  ft              df      }t        |      J t/        dd	d	      t1        t2        fd       t1        t2        fd       t1        t2        fd       t1        t2        fd       y )Nr*   rI   zTr,   r/   rM   r8   r2   r1   F)evaluatec              3   b   K   | ]&  }t        t         |                  t        k(   ( y wrA   )r   r   r   ).0fr*   s     r=   	<genexpr>z#test_periodicity.<locals>.<genexpr>   s)      '1{3qt9a(B. 's   ,/r   r0   mc                  .    t        t                      S rA   r   r   re   s   r=   r>   z"test_periodicity.<locals>.<lambda>   s    CFA(> r?   c                  4    t        t         d                S N)r   r   rg   rh   s   r=   r>   z"test_periodicity.<locals>.<lambda>   s    C$L!(D r?   c                  4    t        t                d         S rj   rg   rh   s   r=   r>   z"test_periodicity.<locals>.<lambda>   s    CFAdG(D r?   c                  :    t        t         d          d         S rj   rg   rh   s   r=   r>   z"test_periodicity.<locals>.<lambda>   s    C$L!D'(J r?   )r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Zeror   r   allr[   r   r   r   r   r'   rH   )rI   r_   pre   r*   s      @@r=   test_periodicityrp   t   s:   sAsAsAs1Q3x#r)))C!H}a(BqD000s1vqy!$",,,q#ac({A&"Q$...s1vc!f}a(AbD000s1vA'+qt333s1vc!f}a(AbD000s1Q3xAaC(1,a0BqD888s1vA*b000s1vAaC(!,"444s1vz1%2---s1Q3x#a&Q-/3r999s3q6{A&!B$...s3qs8}s3qs8}4a8B>>>s1Q3xCFS1X$5 66:b@@@s3q6C!H,-q1QrT999s3qs8}a(B...qQ{A&",,,s1Q3x#q(((s1vax#qt+++sAaCE19~q)Xa^;;;Q1a1,a0AaOCCC1Q!|Q'///s2a5z1%2---s1vqy3q619,a0AFF:::s1vq!QVV+++s1v#a&(!,"444q3qs8|Q'2---s1vq!)))s1Q3x#qt+++s1Q3x#qt+++s1vq!)))s3s1v#ac(
23eDaHAbDPPPs3s1Q3x!CF(23eDaHAbDPPPs3q6{A&!B$...s1Q3q5z1%+++s1qQx<(!,444s3qs8c!f,-q1QrT999s1vq!)))s1vs1v~q)111s1vqy!$,,,s3s3q6{+,a0B666 'S#sC9& ' ' ' 's3s1v;'+r111s3s1vA/0!4"<<<s1v*ad222q1ua (((q!tad{Q*222s1vq!)))s1a4!8}a(0001q!|Q'///1ax#+++s6!Q<(15q9AAA1a"f+1a1f~A~>Aq!$$$S!QA
 >?
 DE
 DE
 JKr?   c            	         t        d      } t        d      }t        t        |       | d      t        k(  sJ t        t	        |       t        |       z   | d      dt        z  k(  sJ t        t        |       |       dt        z  k(  sJ t        t	        | |z        |       dt        z  t        |      z  k(  sJ t        t        t        t        |                   |       t        k(  sJ y )Nr*   rI   T)checkr/   )	r	   r   r   r   r   r   r   absr   r*   rI   s     r=   test_periodicity_checkru      s    sAsAs1vq-333s1vA6!B$>>>s1vq!QrT)))s1Q3x#qtCF{222s3s1v;'+r111r?   c                     t        t        j                  t        d      t        d      g      dk(  sJ t        t        dz  t        dz  t        g      t        k(  sJ t        dt        z  t        dz  g      dt        z  k(  sJ t        t        j                  dt        z  g      J t        t        d      dt
        z  z   t
        dz  t        dd      z   t        j                  t
        z   g      t        d      dt
        z  z   k(  sJ y )Nr/   r2      r8   r1   )r   r   r[   r   Oner   r   rW   r?   r=   	test_lcimry      s    1qt$%***Ar!tR !R'''2r!t2%%%"&&&1!QqS8Aq>115519=>!A$1*LLLr?   c                  n   t        dt        z  t        t        j                  dt                    dk(  sJ t        dt        z  t        t        t         d            dk(  sJ t        t        dz  t        t        dt                    dk(  sJ t        dt        dz  z  t        t        j
                  dt                    dk(  sJ t        dt        dz  z  t        t        j                  t         d            dk(  sJ t        t        t              t              dk(  sJ t        t        d	        y )
Nr1   r   )rR   TFr/   r2   r0   c                  F    t        t        t              t        t              S rA   )r   r   r*   r+   rW   r?   r=   r>   z test_is_convex.<locals>.<lambda>   s    	#a&!Q(? r?   )
r   r*   r#   rG   r   LopenRopenr   r'   rH   rW   r?   r=   test_is_convexr~      s    QqS!HMM!R$89TAAAQqS!HbS!$45>>>QT1Xa_5===Qq!tVQx~~a'<=EEER1WasA(>?4GGGSVQ5(((
 ?@r?   c                     t        d      \  } }t        t        |       | t        t         dz  t        dz              t         dz  t        dz  hk(  sJ t        t        |       | t        j
                  dt        dz              t        j                  u sJ t        t        |       |       t        j                  u sJ t        t        |       t        |       z  | t        dt                    t        dz  t        t        dd      z  hk(  sJ t        t        |       | t        dt                    dt        hk(  sJ t        | dz   | dz
  z  |       t        t        dd            k(  sJ t        | dz   | dz
  z  | t        dd            t        j                  u sJ t        | dz  dz   | dz
  z  |       dt        d	      z
  dt        d	      z   hk(  sJ t        | dz  dz   | dz
  z  | t        dd            dt        d	      z   hk(  sJ t        | dz  | dz  z   d| dz  z  z
  | t        j                        t        d
dt        dd            k(  sJ t        t        |       |       t        j                  u sJ t        t!        |       | z
  | t        j                        dhk(  sJ t        t        |       | t#        t        dd      t        dd                  dt         t        hk(  sJ t        || t        j                        t        j                  k(  sJ t        || t        j                        t        j                  k(  sJ y )Nx yr/   r   r8   r2   r0   r3   r4   r5   rM   r1   r7   )r
   r    r   r#   r   r}   r   rF   r   r   r   r   r$   r   r<   r   r   r&   rt   s     r=   test_stationary_pointsr      s8   5>DAqSVQ"Q1(= 
c!eRT]  c!fa2a4)@ 
ZZ  SVQ 
ZZ  SVCF]Ax2 
dBx1~%&' ' 'SVQB 
W  acAaC[! 
xA'( ( (a!ea!e_a"a 
ZZ  ad1fqs^Q 
$q'k1tAw;'( ( (ad1fqs^QA 
$q'k]  QTAqD[1QT611agg 
r1hq!n-. . .SVQ 
ZZ  SVaZAGG 
S  SVQhq!nhr2>N(O 
"b\  Q177 
WW  Q1::.!**<<<r?   c                  :	    t        d      \   t        t                      t        j                  u sJ t        t                t        dd            t        d      k(  sJ t        t                      t        u sJ t        t                t        t         dz  t        dz              t        j                  u sJ t        t               t               z   t        j                        t        j                  k(  sJ t        t        t               t               z   t        t        t        dd      z  t        t        dd      z                    t        d      dz  k(  sJ t         dz    dz
  z         t        u sJ t         dz    dz
  z   t        d	d            t        d
      k(  sJ t         dz    dz
  z   t        d	d            t        dd      k(  sJ t        t         dz    dz  z
   dz  z   dz                dt        d      z  dz  t        dd      z   k(  sJ t        t                t        t         d            t        d      k(  sJ t        t!                z
   t        j                        t        j"                  u sJ t        t                t%        t        dd      t        dd                  t        j                  u sJ t        t               t               z
   t        j                        t        d      k(  sJ t         t        j                        k(  sJ t        t'        t(        dz  t(        z         t(        t        dd            dk(  sJ t        t'        dt(        dz  z  dt(        z  z         t(        t        dd            dk(  sJ t        t'        dt(        z  dt(        dz  z  dz   z        t(        t        dd            dk(  sJ t         t         dz  dz         z   t        j                        dk(  sJ t+        t,         fd       t+        t,         fd       t+        t,         fd       t+        t,         fd       t+        t,         fd       t+        t,         fd       y )Nr   r   r1   r8   r2   r6   r4   r/   r3      r5   
   )   i   i+  r   r7   <      i     c                  L    t        t                t        j                        S rA   r"   r   r   rF   r)   s   r=   r>   ztest_maximum.<locals>.<lambda>      A1:: > r?   c                  ^    t        t        t                      t        j                        S rA   )r"   r   r   r   rF   r)   s   r=   r>   ztest_maximum.<locals>.<lambda>      CFQ

 C r?   c                  X    t        d dz  dz  z   dz   z   t        j                        S Nr1   r/   )r"   r   rF   rt   s   r=   r>   ztest_maximum.<locals>.<lambda>  )    1a4!Q$;?(;Q

 K r?   c                  @    t        t               t                     S rA   )r"   r   r)   s   r=   r>   ztest_maximum.<locals>.<lambda>      AA 7 r?   c                  R    t        t                z  t        j                        S rA   r   rt   s   r=   r>   ztest_maximum.<locals>.<lambda>      A!QZZ @ r?   c                  J    t        t               t        j                        S rA   )r"   r   r   rx   r)   s   r=   r>   ztest_maximum.<locals>.<lambda>      A 6 r?   )r
   r"   r   r   rx   r#   r   r   r   r   r<   r[   r   r   r   r   r   NegativeOner&   rs   r+   r'   r\   rt   s   @@r=   test_maximumr      s   5>DAq3q61&&&3q61hq!n-Q7773q61###3q61hs1ubd34===3q6#a&=!QWW-777GCF3q6M1hr(1a.7H"XVWYZ^J[.\] 
!WQY  AaC!A#;"b(((AaC!A#;8B?3qu<<<AaC!A#;8B?3x1~EEEGQTE!Q$Jq!tOB.2 
R[_xc223 3 33q61hsA./3q69993q6A:q!''*amm;;;3q61eHQNHR4DE 
UU  3q6#a&=!QWW-a8881a!Q&&&3q!tax=!Xa^4:::3r!Q$wA~&8Aq>:cAAA3r!tQq!tVaZ()1hq!n=DDD1T!Q$q&\>1agg.!333
:>?
:CD
:KL
:78
:@A
:67r?   c                  4    t        d      \   t        t                      t        j                  u sJ t        t                t        dd            t        d      k(  sJ t        t                      t         u sJ t        t                t        t         dz  t        dz              t        j                  u sJ t        t               t               z   t        j                        t        dd      k(  sJ t        t        t               t               z   t        t        t        dd      z  t        t        dd      z                    t        d       dz  k(  sJ t         dz    dz
  z         t        d	d      k(  sJ t         dz    dz
  z   t        d
d            t        dd      k(  sJ t         dz   dz  z
   dz  z   dz          t        d      k(  sJ t        t                t        dt                    t        d      k(  sJ t        t                z
   t        j                        t         u sJ t        t                t!        t        dd      t        dd                  t        j                  u sJ t        t               t               z
   t        j                        t        d       k(  sJ t         t        j                        k(  sJ t         t         dz  dz         z   t        j                        dk(  sJ t#        t$         fd       t#        t$         fd       t#        t$         fd       t#        t$         fd       t#        t$         fd       t#        t$         fd       y )Nr   r1   r8   r0   r/   r2   r6   r4   ir3   r   r7   r   rM   r   c                  L    t        t                t        j                        S rA   r!   r   r   rF   r)   s   r=   r>   ztest_minimum.<locals>.<lambda>5  r   r?   c                  ^    t        t        t                      t        j                        S rA   )r!   r   r   r   rF   r)   s   r=   r>   ztest_minimum.<locals>.<lambda>6  r   r?   c                  X    t        d dz  dz  z   dz   z   t        j                        S r   )r!   r   rF   rt   s   r=   r>   ztest_minimum.<locals>.<lambda>7  r   r?   c                  @    t        t               t                     S rA   )r!   r   r)   s   r=   r>   ztest_minimum.<locals>.<lambda>8  r   r?   c                  R    t        t                z  t        j                        S rA   r   rt   s   r=   r>   ztest_minimum.<locals>.<lambda>9  r   r?   c                  J    t        t               t        j                        S rA   )r!   r   r   rx   r)   s   r=   r>   ztest_minimum.<locals>.<lambda>:  r   r?   )r
   r!   r   r   r   r#   r   r   r   r   r<   r   r   r   r   r   r&   r'   r\   rt   s   @@r=   test_minimumr      s   5>DAq3q61...3q61hq!n-Q7773q61"$$$3q61hs1ubd34EEE3q6#a&=!QWW-"a@@@GCF3q6M1hr(1a.7H"XVWYZ^J[.\] 
1gXaZ  AaC!A#;"hsA&6666AaC!A#;8B?3xAFFF1a419QT>"$a(AbE1113q61hr2./3r7:::3q6A:q!''*rc1113q61eHQNHR4DE 
]]  3q6#a&=!QWW-$q'9991a!Q&&&1T!Q$q&\>1agg."444
:>?
:CD
:KL
:78
:@A
:67r?   c                      t        d      } t        t        d      | dz
  z  dt        | dz  dz         z  z  |       t        d      dz  k(  sJ y )Ntr2   r1   r/   )r
   r"   r   )r   s    r=   test_issue_19869r   =  sQ    ADGQUOQtAqD1H~%56:!WQY  r?   c                      t        dd      } t        |       }t        || t        j                        t        dt        dd      k(  sJ y )Nr*   Tr,   r   F)r	   rs   r   r   r<   r#   r   )r*   rc   s     r=   test_issue_16469r   C  s=    sAAA!Q(HQE4,HHHHr?   c                      t        t        t        t        z  t        dz  t
        j                  dz  z   z        t              dk(  sJ y )Nr8   r/   r6   )r   r   r   r   r*   r   r[   rW   r?   r=   test_issue_18747r   I  s5    s2a41QVVAX./3q888r?   N)Dsympy.core.numbersr   r   r   r   r   sympy.core.singletonr   sympy.core.symbolr	   r
   $sympy.functions.elementary.complexesr   r   &sympy.functions.elementary.exponentialr   r   (sympy.functions.elementary.miscellaneousr   $sympy.functions.elementary.piecewiser   (sympy.functions.elementary.trigonometricr   r   r   r   r   r   'sympy.functions.special.error_functionsr   "sympy.matrices.expressions.matexprr   sympy.simplify.simplifyr   sympy.calculus.utilr   r   r   r   r   r   r    r!   r"   sympy.sets.setsr#   r$   r%   r&   sympy.testing.pytestr'   r(   	sympy.abcr*   r+   rK   rS   r]   rp   ru   ry   r~   r   r   r   r   r   r   rW   r?   r=   <module>r      s    7 7 " / : = 9 : S S : ; ,F F F E D 6 
3T%"PF,HB HL HLV2MA=D8B8:I 9 9r?   