
    MZdr_                     @   d dl mZmZmZmZmZmZmZmZm	Z	m
Z
mZ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 d dlmZ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(m)Z)m*Z* d d
l+m,Z, d dl-m.Z. d dl/m0Z0 d dl1m2Z2m3Z3 d dl4m5Z5m6Z6 d dl7m8Z8 d dl9m:Z:m;Z;m<Z<m=Z=m>Z> d Z?d Z@d ZAd ZBd ZCd ZDd ZEd ZFd ZGd ZHd ZIe6d        ZJd ZKd ZLd ZMd  ZNd! ZOd" ZPd# ZQd$ ZRd% ZSd& ZTd' ZUd( ZVd) ZWd* ZXd+ ZYd, ZZd- Z[d. Z\d/ Z]d0 Z^d1 Z_d2 Z`d3 Zad4 Zbd5 Zcd6 Zdd7 Zed8 Zfd9 Zgy:);    )BasicRationalSymbolSFloatIntegerMulNumberPowExprInanpisymbolsoozooN)global_parameters)NS)expand_multinomial)sqrtcbrt)explog)erf)sincostanseccscatan)coshsinhtanh)Poly)O)	FiniteSet)powerinteger_nthroot)warns_both_exp_pow)SymPyDeprecationWarning)abcxyc                     t        dd      } t        d      dz  }t        |       |k(  sJ dt        |       z  d|z  k(  sJ | | t        j                  z  z  }| t        dd      z  |k(  sJ d| t        dd      z  z  d|z  k(  sJ | dz  | t        dd      z  z  }| t        dd      z  |k(  sJ d| t        dd      z  z  d|z  k(  sJ y )N               )r   r   r   Half)r-   rs     =/usr/lib/python3/dist-packages/sympy/core/tests/test_power.pytest_rationalr;      s    AAQ	A7a<<T!W9!	!QVV)Ahq!n!!!QA!A#%%%	1QAAhr1o"""q(2q/!!QqS(((    c                      t        ddz  dz
  d      t        dd      z   t        dd      z  } | dt        dd      t        dd      z  z  k(  sJ y )Ni@    r3      r6   l      "=
 )r   )es    r:   test_large_rationalrA   %   sQ    	&"*q.!	$x1~	5AFA%!Q!Q)GHHHHr<   c                  h    d }  | t         j                  t        d      z  t        d             sJ y )Nc                 $    t        | |z
        dk  S )Ng|=)abs)r-   r.   s     r:   feqztest_negative_real.<locals>.feq+   s    1q5zE!!r<         r5   )r   Oner   r   )rE   s    r:   test_negative_realrH   *   s,    " quuuT{"WQZK000r<   c                  t    ddt         z
  z  j                         t        j                  dt          z  z  k(  sJ y )Nr5   )r0   expandr   r8    r<   r:   test_expandrM   1   s/    QK!QVVAG^333r<   c                     t         t        dd      z  t        d      z  t         t        dd      z  k(  sJ t         t        d      z  t        dd      z  t         t        d      z  t        dd      z  k(  sJ t        dd      } t        dd      }| dz  |z  t        |       |z  dz  k(  sJ t	        d| z        dt	        |       z  k7  sJ | dz  t        dd      z  | k7  sJ t         | z  |z  t         | |z  z  k7  sJ t         d	z  |z  t         d	|z  z  k(  sJ t         d	z  d	z  t         d
z  k(  sJ t         dz  d	z  t         dz  k7  sJ t        dd      }t        dd      }t         |z  |z  t         ||z  z  k(  sJ t        d      t        dd      z  t        d      t        dd      z  k(  sJ t         d	z  dz  t         dz  k(  sJ t         dz  |z  t         |z  dz  cxk(  rt         d|z  z  k(  sJ  J t        dd      } | dz  t        dd      z  | t        dd      z  k(  sJ | dz  |z  | |z  dz  k(  sJ | t        dd      z  t         z  | t         t        dd      z  z  cxk(  r| t         z  t        dd      z  k7  sJ  J y )Nr3   r6   r5   r4   r-   Trealr.         ?g      ?g      @g      ?kintegerm         ?positive   )r0   r   r   rD   r   r
   )r-   r.   rR   rU   s       r:   test_issue_3449r[   5   s    A!,HQN1BBBB	
HQK(1a.(a!nx1~-MN N N 	sAsAqD19QQ&&&!9$q'	!!!qD8Aq>!Q&&&qD19AaC   rEA:RT"""rEB;!S&   sFR<1d7"""sD!AsD!AqD19AaC   !9hq!n$r
HQN(BBBBrEA:CqD19A	-Q1X-----sT"AqD8Aq>!QA%6666qD19A	!!!x1~!Q8Aq>)9%:Tq!thqRSn>TTTTTTr<   c                  j    t        t        d      dz
          t        t        d      dz
        k(  sJ y )Nr4   r3   )r   rL   r<   r:   test_issue_3866r]   T   s0    $q'A+$tAw{"3333r<   c                  Z    t        dd      } t        dd      }d| |z  z  | | z  k(  sJ y )Nr0   Tcomplexr1   r3   r   r0   r1   s     r:   test_negative_onerc   X   s6    sD!AsD!AQT6Q!Wr<   c                  N   t        dd      } t        dd      }t        d      }t        d| z        j                         \  }}|t        d      k(  sJ |t        |        k(  sJ t        d|z        j                         \  }}|dk(  sJ |t        |      k(  sJ t        d|z        j                         \  }}|t        d|z        k(  sJ |dk(  sJ d	 }d}d}d
t        d      z
  }dt        d      z
  }	|dkD  r|	dk  r
|dkD  r|dk  sJ  |||d
      }
|
j                  r|
j                         d|d
z  fk(  sJ  |||	d
      }
|
j                  r|
j                         d|	d
z  fk(  sJ  |||d
      }
|
j                  r|
j                         d|d
z  fk(  sJ  |||	d
      }
|
j                  r|
j                         d|	d
z  fk(  sJ  |||d      }
|
j                  r|
j                         |d
z  dfk(  sJ  |||	d      }
|
j                  r|
j                         |	d
z  dfk(  sJ  |||d      }
|
j                  r|
j                         |d
z  dfk(  sJ  |||	d      }
|
j                  r|
j                         |	d
z  dfk(  sJ t        j
                  } ||||      }
|
j                  r|
j                         ||z  ||z  fk(  sJ  |||	|      }
|
j                  du r|
j                         | |z  |	 |z  fk(  sJ  ||||      }
|
j                  r|
j                         ||z  ||z  fk(  sJ  |||	|      }
|
j                  r|
j                         | |z  |	 |z  fk(  sJ  ||||       }
|
j                  r|
j                         ||z  ||z  fk(  sJ  |||	|       }
|
j                  du r!|
j                         | |z   |	 |z  z  |fk(  sJ  ||||       }
|
j                  r|
j                         ||z  ||z  fk(  sJ  |||	|       }
|
j                  r|
j                         |	 |z  | |z  fk(  sJ d
|z  } ||||      }
|
j                  r|
j                         ||z  ||z  fk(  sJ  |||	|      }
|
j                  r|
j                         | |z  |	 |z  fk(  sJ  ||||      }
|
j                  r|
j                         ||z  ||z  fk(  sJ  |||	|      }
|
j                  r|
j                         | |z  |	 |z  fk(  sJ  ||||       }
|
j                         ||z  ||z  fk(  sJ  |||	|       }
|
j                  r|
j                         |	 |z  | |z  fk(  sJ  ||||       }
|
j                  r|
j                         ||z  ||z  fk(  sJ  |||	|       }
|
j                  r|
j                         |	 |z  | |z  fk(  sJ ddt        dz  z   z  t        j                   z  j                         dt        z   dfk(  sJ t        dd      }dt        |z  z   dz  }|t         z  j                         d|t        z  fk(  sJ |t        j                   z  j                         |t        z   d
z  |d
z  fk(  sJ t        dd      }dt        |z  z   dz  t        j                   z  j                         | t        z
  d
z  |d
z  fk(  sJ t        dd      }t        |z  j                         dt        | z  fk(  sJ t        d|z        j                         t        j                  t        |       fk(  sJ t        dd      }dt        t        |z        z  j                         t        |       t        t               fk(  sJ t        dd      }t        d|z        }|j                         |dfk(  sJ t        dd      }dt        t        z  z   |z  j                         t        t        z   |z  t        |z  fk(  sJ y )NnegT)negativenonneg)nonnegativeanyr3   rJ   c                     | |z  |z  S NrL   )numdenpows      r:   eqnztest_issue_4362.<locals>.eqnl   s    C#~r<   r5   r6   r   FnotprX   nonp)nonpositivenz0 or negr/   r_   irS   )
r   r   as_numer_denomis_Powr   r8   r0   rG   r1   ImaginaryUnit)re   rg   ri   rl   rm   ro   nposnnegdposdnegeqrn   rq   r.   rr   rt   r/   r@   ru   s                      r:   test_issue_4362r~   ^   s   

&CH$/F
-CAcE{))+HC$r(??$t*AfH~,,.HC!8O8$v,AcE{))+HC$qu+!8O8DDtAw;DtAw;D!8qTAX$(::	T4	B99**,D!G<<<	T4	B99**,D!G<<<	T4	B99**,D!G<<<	T4	B99**,D!G<<<	T4	B99**,q!<<<	T4	B99**,q!<<<	T4	B99**,q!<<<	T4	B99**,q!<<<
&&C	T4	B99**,sD#I0FFFF	T4	B99""3"3"5D53,$QT9U"UUU	T4	ByyB--/D#ItSy3IIII	T4	B99**,4%#|0LLLL	T4#	B99**,sD#I0FFFF	T4#	B99""3"3"5TEC<-$QT:TVZ9["[[[	T4#	ByyB--/D#ItSy3IIII	T4#	B99**,4%#|0LLLL
C%C	T4	B99**,sD#I0FFFF	T4	B99**,4%#|0LLLL	T4	B99**,sD#I0FFFF	T4	B99**,4%#|0LLLL	T4#	B49dCi"8888	T4#	B99**,4%#|0LLLL	T4#	B99**,sD#I0FFFF	T4#	B99**,4%#|0LLLLAaC[QUUF#335!a%CCC&5)D
af*r	AG##%!QT222K'')tax!mT1W-EEEE&d+D!D&j2!%%(88:A@7?    	sT"AqD  "q!aR%j000!9##%!//48)DDDDzt,A d1Q3iK'')dA2haR-AAAAsD!AQqS	A!Q'''sD!A1WqL((*Az1a4.@@@@r<   c                      t               t        t        t              t        t              g} | D ]6  }t	        t
        d      5  t        |t        j                         d d d        8 y # 1 sw Y   CxY w)NF)test_stacklevel)	r   r%   r0   r'   r*   r,   r   r   rG   )basesbases     r:   test_Pow_Expr_argsr      s\    Wd1aj)A,/E *EB 	aee	 		 	s   A))A2	c                     t        dd      } dt        z
  dz  t        dz
  dz  k7  sJ dt        z
  | z  t        dz
  | z  k7  sJ dt        z   t        z
  dz  dt        z
  t        z   dz  k7  sJ t        dz
  dz  dt        z
  dz   k7  sJ y)zCf. issues 4595 and 5250rt   T)evenr6   r5   N)r   r1   r0   )rt   s    r:   test_Pow_signsr      s    sAEA:!a%!###EA:!a%!###FQJ?q1uqy1n,,,EA:1q51*$$$r<   c                      t        dd      } t        dd      }| |z  dz  | dz  |dz  z  k(  rJ d| z  |z  dz  d| |z  dz  z  k(  sJ y )Nr0   F)commutativer1   r6   r5      ra   rb   s     r:   *test_power_with_noncommutative_mul_as_baser      sb    s&As&A!ax1a419$$$aCEA:AaC!8###r<   c                  r
   t         t         z  j                  t              t        t         dz        k(  sJ ddt         z  z   ddt         z  z   z  } | j                  t              t        ddt         z  z   t	        t        d            t         t        t        dd            z  z   z        k(  sJ | j                  t              j                         dt        dt         z  t	        d      z  dz        z  t        dt         z  t        t        dd            z        z  t        dt        t        dd            z        z  k(  sJ dd	t         z  z   dz  j                  t              d
t        d      z  t        dt         z  t        t        d	d            z        z  k(  sJ ddd	t         z  z   z  } | j                  t              t        dd	t         z  z   t	        d      z        k(  sJ | j                  t              j                         dt        d	t         z  t	        d      z        z  k(  sJ t        ddd      j                  t              ddz  k(  sJ dt         z  j                  t              dt         z  k(  sJ dt         z  j                  t              dt         z  k(  sJ dddt         z  z   z  } | j                  t              t        ddt         z  z   t	        d      t         t        z  z   z        k(  sJ | j                  t              j                         dt        dt        z        z  t        dt         z  t	        d      z        z  k(  sJ dt        d      z  j                  t              dt        d      z  k(  sJ t        d      \  }|z  j                  t              t        |t	              z        k(  sJ t        j                  rCd	z  j                  t              t        t        j                  t	        d	      z  d      k(  s6J d	z  j                  t              t        t	        d	      z  d      k(  sJ ddt         z  z   z  j                  t              t        t	        t        d            t         t        t        dd            z  z   z        k(  sJ |ddt         z  z   z  j                  t              t        t	        |      ddt         z  z   z        k(  sJ t        fdt         t"        t$        t&        t(        t*        t,        t.        fD              sJ y )Nr5   r6      r4         rZ   r?   i9  U   i	=  {   i  Fevaluater3   r   rp   zx yc              3      K   | ]A  }d  |      z  j                  t              d  |      j                  t              z  k(   C yw)r3   N)rewriter   ).0funcr0   s     r:   	<genexpr>z)test_power_rewrite_exp.<locals>.<genexpr>   sA      A$q'	""3'1d1gooc.B+CC As   AA
)r   r   r   r   r   r   r!   r   rK   r   r   r   r   
exp_is_powExp1allr   r   r   r   r    r#   r"   r$   )exprr1   r0   s     @r:   test_power_rewrite_expr      s1   qD>>##rc!e*,,,!Gq1Q3wD<<Q1Ws48}qhqRSnAU?U/U$V WWWW<<##%C!CGAs1Q3tHQN';#;<<SDRSUVDXAX=YYZ Z Z 1WqL!!#&$tBx-AaCXaQR^@T<T8U*UUUUq1Q3w<D<<Q1Wc!f$4 5555<<##%s1Q3s1v:)>>>>sC%(005cAAAqD>>#!Q$&&&qD>>#!Q$&&&!ac'?D<<Q1Ws1v"}$= >>>><<##%3r"u:c!A#c!f*o)EEEE!B%K  %"qu4445>DAqqD>>##aAh-///##1~~c"c!&&!CF(U&KKKK1~~c"c!CF(U&CCCC1WqL!!#&#aT"X4QRTUCWAW1W.X*YYYYAaCL!!#&#c!fa!A#g.>*???? A#sCdD$?A A A Ar<   c                  l   dt         z  dk7  sJ ddt         z  z  dt         z  k(  sJ ddt         z  z  dt         z  k(  sJ ddt         z  z  dt         z  k(  sJ ddt         z
  z  j                         ddt         z
  fk(  sJ dt         dz
  z  t        j                  dt         z
  z  k7  sJ ddt         z  t        z  z  dt         t        z  z  k(  sJ ddt         z  t        z  z  t        j
                  t         t        z  z  k(  sJ t        d      dz  t        j                  usJ t        d      dz  dk(  sJ t        d      dz  t        u sJ t        d      t        z  t        j                  u sJ dt         z  t        u sJ t        dt               t        u sJ t        d      t         z  t        u sJ y )Nr   r5   rW          @rp   g        )r0   as_base_expr   Infinityr1   ComplexInfinityr   Zeror   r   r(   rL   r<   r:   	test_zeror     s   a4199qs8q!ts1u:As1u:AAJ##%!QU333q1u:a!e,,,,qs1u:QqS!!!r!tAv;!++ac22228Q;aff$$$8Q;#8R<38R<166!!! 8s??RC=C8bS=Cr<   c                      t         j                  dt        z
  z  j                         t         j                  dt        z
  fk(  sJ t         j                  t        dz
  z  j                         t         j                  t        dz
  fk(  sJ t         j                  t        z  } | j
                  sAJ | j                  | j                         cxk(  xr t        d      t         fk(         c        t        d      dz  t        z  } | j
                  sHJ | j                  | j                         cxk(  xr  dt         j                  z  t        fk(         c        t        d      dz  t        z  } | j                         t        d      dz  t         fk(  sJ | j
                  s&J | j                  t        d      dz  t        fk(         t        ddd      j                         t         j                  t        d      fk(  sJ y )Nr5   r6   r3   Fr   )	r   r   r0   r   r8   r   r   r   rG   )ps    r:   test_pow_as_base_expr     sw   JJQ,,.1::q1u2EEEEJJQ,,.1::q1u2EEEE		A669155AMMO9!qbz996996	
1a!A66<155AMMO<!&&!}<<6<<6	
1a!A==?qtAvrl***66'155QqT!VQK''6q!e$002quuadmCCCr<   c                     t        t        t        z  dz
        j                  t        dd d      t        t        dz  z   t        t        dz  z  dz  z   t        dz  dz  z
  t	        t        dz        z   k(  sJ t        t        t        z  dz
        j                  t        dd d      t         t        dz  z
  t        t        dz  z  dz  z
  t        dz  dz  z   t	        t        dz        z   k(  sJ t        t        t        z  dz
        j                  t        dd d      dt        d      dz  z  dt        d      d	z  z  t        z  dz  z
  dt        d      dz  z  t        dz  z  d
z  z   ddt        d      d	z  z  z  t        dz  z  dz  z   t	        t        dz        z   k(  sJ t        t        t        z  dz
        j                  t        dd d      dt        d      dz  z   dt        d      d	z  z  t        z  dz  z
  dt        d      dz  z  t        dz  z  d
z  z
  ddt        d      d	z  z  z  t        dz  z  dz  z   t	        t        dz        z   k(  sJ dt        dt        z        dt        z  z   z  j                  t        dd       t        t	        t        dz        z   k(  sJ t        t         t        dz  z  t        z   dz
        j                  t        dd d      t        d       t        z  t        d      t        z  t        z  d	z  z   t        d      t        z  t        dz  z  t        d       dz  t        d	z  z   z  z
  t        d      t        z  t        dz  z  t        d       dz  t        dz  z   z  z
  t	        t        dz        z   k(  sJ t        t         t        dz  z  t        z   dz
        j                  t        dd d      t        d       t        z  t        d      t        z  t        z  d	z  z   t        d      t        z  t        dz  z  t        d       dz  t        d	z  z   z  z
  t        d      t        z  t        dz  z  t        d       dz  t        dz  z   z  z
  t	        t        dz        z   k(  sJ t        t         t        dz  z  t        z   dz
        j                  t        dd d      dt        d      dz  z   dt        d      dz  z  z  dt        d      dz  z  dt        d      dz  z  z  t        z  d
z  z   dt        d      dz  z  dt        d      dz  z  z  t        dz  z  t        d       dz  t        d
z  z   z  z
  dt        d      dz  z  dt        d      dz  z  z  t        dz  z  t        d       dz  dt        z  dz  z   z  z
  t	        t        dz        z   k(  sJ t        t         t        dz  z  t        z   dz
        j                  t        dd d      dt        d      dz  z   dt        d      dz  z  z  dt        d      dz  z  dt        d      dz  z  z  t        z  d
z  z   dt        d      dz  z  dt        d      dz  z  z  t        dz  z  t        d       dz  t        d
z  z   z  z
  dt        d      dz  z  dt        d      dz  z  z  t        dz  z  t        d       dz  dt        z  dz  z   z  z
  t	        t        dz        z   k(  sJ y )Nr3   r   r5   r   r6      rJ   r4   rZ   	   Q   H   i  $   i  )r   r   r0   _eval_nseriesr&   r   r   r   rL   r<   r:   test_nseriesr   "  s   !a=&&q!T15QqS1QT6!89KaQRdSUg9UXYZ[]^Z^X_9____!a=&&q!T261"qs(Qq!tVAX:MPQSTPTUWPW:WZ[\]_`\`Za:aaaa!a=&&q!T15"!Q2QRSTQUVWQW.YZJZ[\J\9\1Q46N1a4:rQqT!Vn,QT1"4:578Aw:? ? ? ?!a=&&q!T26B!A$q&>/RSTUVSWXYSYN[\L\]^L^:^1Q46N1a4;rQqT!Vn,QT1"4;578Aw;? ? ? ?RTQqS!00At<AadGKKK1a4!a ..q!T1=$q'!dSTgVWiXYkZ[mA[GAIadNQqTE"HqsN#B$&*1gai1nqteCi!B$6F&GBHJKAqD'BR R R R1a4!a ..q!T2>47(1*tTUwWXyYZ{[\}B\GAIadNQqTE"HqsN#C$&*1gai1nqteCi!B$6F&GCHJKAqD'CR R R R1a4!a ..q!T1=21a.QRUVWXUYZ[U[Q\A\1Q46N1qtAv;q "B#&(AaDF^A!QK%?1%DqteBhQRSTQTn%UBV1Q46N1qtAv;q!t#adU4Z!A#b&%89B:<=adGBD D D D 1a4!a ..q!T2>B!A$q&>/RSVWXYVZ[\V\R]B]1Q46N1qtAv;q "C#&(AaDF^A!QK%?1%DqteBhQRSTQTn%UCV1Q46N1qtAv;q!t#adU4Z!A#b&%89C:<=adGCD D D Dr<   c                     t         dz  t         k7  sJ t         t         dz  k7  sJ dt         dz  k7  sJ t         dz  dusJ t         dusJ t         t        z  t         t        z  dz  k7  sJ t         dz  dz  t         k7  sJ t         dz  dz  t         dz  k7  sJ t               } t        | dd      | k7  sJ t         t        z  dz  j                  t        u sJ y )NrW   Tr   r5   Fr   )r0   r1   r   r   r   r.   s    r:   test_issue_6100_12942_4473r   7  s    c6Q;;3;;1c6>>c6D==Q31Q3*sFS=AsFS=AqD   Aq#&!+++ qS3J###r<   c                     ddl m}  t        dt        dz  dz  z        dt        dz  dz  z   k(  sJ  | dt        z  dt        z  z  d	      j	                         d
   t        d
d	      k(  sJ  | dt        z  t        d	z  z  d	      j	                         d
   t        dz  k(  sJ t        t        d	t        z              t        d	t        z  dz        k(  sJ t        t        d	       d
dt        z  z   z        t        t        d	            t        ddt        z  z
        z  k(  sJ t        t        dt        z              t        dt        z  dz         k(  sJ  | t        dt        z        d	      j                  t        d
d	      k(  sJ y )Nr   root!   r   
      rZ   r5   r6   r3   rJ   r4   )(sympy.functions.elementary.miscellaneousr   r   r   r   r   r   r   s    r:   test_issue_6208r   I  sP   =QqSV"qs2v,...1!a ,,.q1Xa^CCC1!a ,,.q1QqS888AaC>S1QZ'''a!ac'"#tDG}T"qs(^'CCCCAaC>c!A#a%j[(((AaC!  HQN222r<   c                  z   t        t        t        t        z  z   t        dz  z         j	                  t        dd      j                         t        t              t        dz  z  ddt        z  z  t        dz  dt        dz  z  z  z
  z  t        t              z   t        t        z  dt        t              z  z  z   k(  sJ y )Nr5   r   r6   r3   r   )r   r-   r.   r0   seriesremoveOrL   r<   r:   test_issue_6990r   T  s    QqS1a4 ((Aq199;Q1a1g1a1f-.a81Q3$q'	?JK K Kr<   c                     t        t        t                    j                  t        dd      t        t              t        t	        dd      z  dz  z
  t        t	        dd      z  dz  z   t        t	        dd      z  d	z  z
  t        t        dz        z   k(  sJ t        t        t                    j                  t        dd      t        t              t        t	        dd      z  dz  z
  t        t	        dd      z  dz  z   t        t	        dd      z  d	z  z
  d
t        t	        dd      z  z  dz  z
  t        t        dz        z   k(  sJ t        t        t        dz              j                  t        dd      t        t	        dd      z  t        t	        dd      z  dz  z
  t        t	        dd      z  dz  z   t        t        dz        z   k(  sJ t        t        t        dz              j                  t        dd      t        t	        dd      z  t        t	        dd      z  dz  z
  t        t	        dd      z  dz  z   t        t	        dd      z  d	z  z
  t        t        dz        z   k(  sJ y )Nr   r?   r4   r5   r>   r   i  r   i^  C   r7   i r6            r   '   r   r   r0   r   r   r&   rL   r<   r:   test_issue_6068r   Y  s1   A<q!Q'Q!Xa^#B&&HQN):4)??	8B?5 	!#$QT7	++ + + A<q!Q'Q!Xa^#B&&HQN):4)??	8B?5 	!#%a"a&8#8#A	BDEadG	LL L L AqD	?!!!Q+	8Aq>AxA.r11AxA4Ft4KKaPQSUPUhVW W WAqD	?!!!Q+	8Aq>AxA.r11AxA4Ft4KK	8B?5 	!#$QU8	,, , ,r<   c                  T   t        t        t        dz              j                  t        dd      t        t	        dd      z  t        t        dz        z   k(  sJ t        t        t        dz              j                  t        dd      t        dz  t        t        dz        z   k(  sJ y )Nr6   r   r?   r5   r   r   rL   r<   r:   test_issue_6782r   g  s|    AqD	?!!!Q*a!Q.?!AqD'.IIIIAqD	?!!!Q*adQq!tWn<<<r<   c                      dt        dt        t        dz        z         z  j                  t        dd      dt        dz  dz  z
  t	        t        dz        z   k(  sJ y )Nr3   r5   r   r6   )r   r   r0   r   r&   rL   r<   r:   test_issue_6653r   l  sN    QQT]##++Aq!4AqDF
Qq!tW8LLLLr<   c                     t         dz  t        z   dz  } | j                  t        dd      t         dz  dz  t        t              z   k(  sJ | j	                  dt              t         dz  dz  k(  sJ | j	                  dt              dt        z  t         dz  dz  z  k(  sJ | j	                  dt              dt        dz  z  t         dz  dz  z  k(  sJ y )	Nr5   rQ   r   r3   )x0rt   rF   g      g      )r/   r0   r   r&   taylor_term)fs    r:   test_issue_6429r   p  s    	
ASA88A!q8!adS[1Q4%7777==A1a4#+---==A#a%A"6666==A&A+q!ttn"<<<<r<   c                     t         t        t        d            z  } dt        z   t        | z  dz  z  dz  dt        z   dt        z  | z  z  k(  sJ dt        z   dt        z  | z  z  dt        z   dt        z  | z  z  t	        dd      z  k(  sJ dt        z   t        dd| z  z   z  z  t	        dd      z  j
                  t	        dd      k(  sJ t        d	d
      }t        |dz        t        |      k(  sJ t        |dz        |k7  sJ t        t        dt        z  dt        j                  z              dt        z  t	        dd      z  k7  sJ t        dd
      }t        |dz        |t	        dd      z  k(  sJ t        ddt        z  z   ddt        z  z   z  ddt        z  z
  z  d      dk(  sJ t        ddt        z   z        t        dt        z
        t        d      z  k(  sJ ddt        d      z
  z  }t        |      t        t        dt        d      z         z  k(  sJ |t	        dd      z  t         t        dt        d      z         z  k(  sJ t        t        d      dz  t        d      dz  z   dz
  dt        z   z        j
                  t        j                  t	        dd      t        dz  z   fv sJ t        |t	        dd      z        |t	        dd      z  k7  sJ t        |t        z   t	        dd      z        |t        z   t	        dd      z  k(  sJ dt        z   dt        z
  fD ]  }t        |dz        |k(  rJ  dt        z   dt        z
  fD ]  }t        |dz        | k(  rJ  t        ||t        z  z   dz        ||t        z  z   k7  sJ dt        dz  z   }t        |dz        |dt        j                  z  z  k(  sJ t        |dz        |dz  k(  sJ t        dt        |z  z   dz        dt        |z  z   dz  k7  sJ y )Nr5   r3   333333?g333333?r   r>   r6   r?   r9   TrO   r4   r   rX   g?gffffff?rW   rQ   皙?z0.4 + 0.2*IrJ   rZ   )r   r   r   r   r   r   r   rD   r   r   r   r8   r   r   r   )r   r9   r   r@   qs        r:   test_issue_7638r   x  s   
3tAw<AUac!es"q1uQq&9999 EQqSUQ"Q$q& 1HQNBBBB!eq!ac'{#hq!n499Xa^KKK$A1:Q1:??AaC166"#!hq!n'<<<<d#A1:HQN****c!esSU{+sSU{;Q?=PPP1q5	?d1q5k$q'1111	1tAw;A7aR$q'\*****hr1o!Dd1g$6!6666QSVQY&*a!e4599aff>Fq!nqQRs>R>T T T T8Aq>!"a!Q&7777Q!Q'(QUXa^,CCCCqS!A#X AqDzQT2a4Z  AqDzaR  QqS1QqS(((	
QqSA1:QqvvX&&&1:AQqS1!ac'A---r<   c                     dt         z  t        u sJ dt          z  t        u sJ dt        z  t        u sJ dt         t        z   z  t        u sJ ddt        t         z  z   z  t        u sJ dt         t        t         z  z   z  t        u sJ y Nr3   )r   r   r   r   rL   r<   r:   test_issue_8582r     s~    b5C<<s8s??c6S==rAv;#q1R4x=CrAbDy>S   r<   c                      t        ddd      } | | z  j                  du sJ d| z  dz   }|d| dz   z  z  j                  du sJ y )Nrt   TrT   rh   r4   r3   )r   is_positive)rt   r0   s     r:   test_issue_8650r     sU    sDd3AqD%%%	!aA1q5	N''4///r<   c                  
   t        d      } dt        z  t        u sJ dt        z  t        u sJ t        j                  dt        z   z  t        u sJ t
        t        t
        z   z  t        u sJ | t
        t        z   z  t        u sJ y )Nr.   rJ   r5   r3   )r   r   r   r   r8   r   r   s    r:   test_issue_13914r     st    sA9c6S==FFa#g#%%%sQw<3q3w<3r<   c                     t        ddd      } t        ddt        z  z         dt        z   k(  sJ t        ddt        z  z
        dt        z
  k(  sJ t        ddt        z  z
        ddt        z  z
  k(  sJ t        ddt        z  z         ddt        z  z   k(  sJ t        d	d
t        z  z         ddt        z  z   k(  sJ t        d	d
t        z  z
        ddt        z  z
  k(  sJ t        dd
t        z  z
        ddt        z  z
  k(  sJ t        dd
t        z  z         ddt        z  z   k(  sJ t        ddt        z  z   dz        dt        dz  z   k(  sJ t        ddt        z  z   dz        ddt        z  z   dz  k(  sJ t        ddt        z  z
  dz        dt        z
  dz  k(  sJ t        ddt        z  z
  dz        dt        z
  t        d      z  k(  sJ t        ddt        z  z   ddt        z  z
  z        ddt        z  z   dz  k(  sJ t        dddt        z  z   z        t        d      dz  dt        z
  z  k(  sJ t        | ddt        z  z   z        j                  | d      t        d      dz  dt        z
  z  k(  sJ t        dddt        z  z   z        t        d      dz  ddt        z  z   z  k(  sJ t        |  ddt        z  z   z        j                  | d      t        d      dz  ddt        z  z   z  k(  sJ t        ddt        dz  z   z        dt        z
  dz  k(  sJ t        ddt        z
  z        t        d      t        dt        z         z  dz  k(  sJ t	        dd      }t        d|z        t        t        d      dt        |      z  d      k(  sJ t        ddt        z  z         dz  dt        z   dz  k(  sJ t        ddt        z  z   t        dd            ddt        z  z   k(  sJ t        ddt        z  z   t        dd            dt        d      z  ddt        z  z   z  k(  sJ ddt        z  z   ddt        z  z
  dz  }} | |z  }|j                  d|z  | fk(  sJ t        |      }|j                  |t        j                  fk(  sJ t        |      t        ddt        z  z   ddt        z  z   z        dz  k(  sJ |j                         dd
t        z  z
  dz  k(  sJ t        dt        z        dt        z   k(  sJ t        dt        z        t        ddt        z   d      k(  sJ t        dt        z  dt        j                  z        dt        z   dz  k(  sJ t        t         dz        t        t        j                  dt        z
  d      k(  sJ t        t        dd      t        z  t        dd            ddt        z
  dz  z  dz  k(  sJ y ) Nrt   Tr   r6   r   r5   r   r3          rZ   ir   r   r4   rV      rp   r   ru   )	imaginaryFr      i,   }   r?      ir   )r   r   r   subsr   r	   r   r   argsr   r8   r   rK   )rt   ru   dr-   r}   s        r:   test_better_sqrtr     sq   sDd3AAaC=AE!!!AaC=AE!!!QqS>Q1W$$$QqS>Q1W$$$RT	?a!A#g%%%RT	?a!A#g%%%bd
q1Q3w&&&bd
q1Q3w&&&
 QqS!AaC''' RT1!ac'1,,,QqS"!a%***QqS"!a%b!1111 QqS1qs7#$QqS!3331qs7Q	1q5 11111qs7!!!Q'4719a!e+<<<<A!GaA!G!4444A!G""1a(DGAIq1Q3w,????1qs7Q	)))1q5	?d2htAE{225555t$A!9DGQtAwY????AaC=!Az)))q1Q3wA'1r!t8333q1Q3wA'1T!W9a"Q$h+????!Gq1Q3wlqA	!A66ac1X	aB77q!&&k!!!b!T4"Q$;QqS*A%B3%FFFF99;1r!t8S.((( !9QA;#aQ7777qsAaffH!a%!+++1:QVVQUU;;;;xAq (1a.1RQ
]1_DDDr<   c                     t        dt        z  dz
  dz        dk(  sJ t        dt        z  dz   dz        dk(  sJ t        dt        z  dz   dz        dk(  sJ t        dt        z  dz
  dz        dk(  sJ t        dt        z  d	z
  dz        d
k(  sJ t        dt        z  d	z
  dz        dk(  sJ t        dt        z  d	z   dz        dk(  sJ t        dt        z  d	z   dz        dk(  sJ t        dt        z  dz
  t        dd      z        dk(  sJ dt        z  dz   } | d	z  ddt        z  dz   d	z  z  k(  sJ d| z  j                  | dfk(  sJ dt	        t              z  dt	        t               z  z
  dz   }t        |d	z  j                  t        d            dk(  sJ t        d      }t        t        t        t        |z   d	z  z  t        dd      z         j                  |t        j                  d            j                  t                    d	k(  sJ t        d      \  }}}}}}}	t        d||dz  |	|z  z   d	|	z  |z  z
  ||	 |z   z  z
  d	z  z  |dz  |d	z  z  |d|z  z
  d	|z  z   d	z  z  z  z         d	z  }
|t        dd      f|t        dd      f|t        dd      f|t        dd      f|t        dd      f|t        d d      f|	t        d!d      fg}|
j                  dt!        |      "      }|
j                  |      }||k(  sJ y )#Ngffffff@r   r   z"1.5157165665104*(0.575*x - 1)**0.3z"1.5157165665104*(0.575*x + 1)**0.3gffffffz"1.5157165665104*(1 - 0.575*x)**0.3z#1.5157165665104*(-0.575*x - 1)**0.3r5   z-1.28386201800527*(x - 0.869565217391304)**0.3z.1.28386201800527*(-x - 0.869565217391304)**0.3z-1.28386201800527*(0.869565217391304 - x)**0.3z-1.28386201800527*(x + 0.869565217391304)**0.3r3   r6   z2**(2/3)*(0.575*x - 1)**(1/3)r   gffffff?rJ   rQ   r   r1   z0.008   rV   za:gz!0.0170992456333788667034850458615z!0.0966594956075474769169134801223z 0.390911862903463913632151616184z 0.152812084558656566271750185933z 0.137562344465103337106561623432z 0.174259178881496659302933610355z 0.220745448491223779615401870086)r   )strr0   r   r   r   intr   r   lenr   r   r   rt   atomsr   r   dict)r}   r   r1   r-   r.   r/   r   r@   r   gr   r9   truseqs                 r:   test_issue_2993r     sX   A	C $HHHHA	C $HHHHQ
S !%IIIIQ
S !%JJJJA	C $SSSSQ
S !%UUUUQ
S !%TTTTA	C $SSSSA	HQN*+/NNNN
a%!)Bq5Ba!a'''''bD;;2r("""Qi"S!W*s"A1{{1a !Q&&&sAtAq1uqjL5"#556;;ArttBxHNNuUVZ[[[[!%.Aq!Q1aAq!taczAaCE)ArAvJ6::	
AadA!GacMA%	%' ' (()*D 
-r23
-r23
,b12
,b12
,b12
,b12
,b12	4A &&$q'&
"C
))A,C #::r<   c                     t        t        d      dz        t        z  j                  J t        t        d      dz        t        z  j                  du sJ t        t        dt        d      z         dt        d      z
  t        z  t        z  d      j                  J ddt        z  t        z  dz  z  j                  du sJ d	d
t        z  t        z  z  j                  du sJ y )Nr3   r?   Fr5   r   ir   r6   r   r   )	r   r"   r   is_realis_imaginaryr   r   r   r   rL   r<   r:   test_issue_17450r     s    Q
OQ''///Q
OQ,,555Ad1gI!DG)Qr!1UCLLTTTBqDGAI''50001Q3r6N##u,,,r<   c                      t        dt        dt        z         z        dt        t        dt        z               z  k(  sJ y r   )r   r   r   rL   r<   r:   test_issue_18190r      s3    CAJ1tCAJ'7#7777r<   c                     t        dd      } t        |       j                  du sJ t        dd      } t        |       j                  J t        dd      } t        |       j                  du sJ t        dd      } t        |       j                  du sJ t        t        d      j                  J t        t        d      j                  J y )Nr0   TrO   Fr_   )extended_realr   )r   r   is_extended_negativer   r   r0   s    r:   test_issue_14815r  $  s    sA7''5000sA7''///sD!A7''5000s$'A7''5000e$99AAAe$99AAAr<   c                     t        dd      } | t        z  t        u sJ d| z  t        z  t        j                  u sJ d| z  t        z  t        j                  u sJ |  t        z  t        u sJ t         dt
        z   z  t        j                  u sJ t         dt
        z   z  t        u sJ t        dt
        z   z  t        j                  u sJ t        dt
        z   z  t        u sJ y )Nr0   T)primer3   rJ   )r   r   r   r   r   r   r   s    r:   test_issue_18509r  1  s    s$Ab5B;;aC"9qD2:B8s??C26?aff$$$C1q5>S   "q&>QVV###!a%=Cr<   c                      t        d      \  } }t        d| dz  z   d| z  t        |      z  z
        }t        |j	                  | dd      j
                        dk(  sJ y )Nze pr3   r5   r6   r   )r   r   r   r   r   r   )r@   r   g0s      r:   test_issue_18762r  =  sX    5>DAq	a!Q$h1SV#	$BryyAq!&&'1,,,r<   c                  ^   ddt        dd      z  z  dt        dd      z  z  t        t        dd      z  z  } t        t        dd      t        t	        d      t        dd            t        t	        d      t        d	d
                  }| j                  t        t        dd      i      |k(  sJ y )Nr6   r5   l   I> l    P! l   &B l    tvH. l   UM l    h] l   
j l    _ % r   )r   r0   r	   r   r   xreplacer@   anss     r:   test_issue_21860r  C  s    	!Xk,/
//8K3T0TTUVX`alnzX{U{{A
hq!n'!*h{LAB'!*h{K@ACC ::q(1Q-()S000r<   c                     t        t        d      dz  dt        d      dz  t        z  z  dz  z        } t        t        t	        dd      t        t        d      t	        dd	            t        t        d
      t	        dd            t        t        d      t	        dd            t        t        d      t	        dd                        }| j                  t        di      |k(  sJ y )Ni7  i  i+  d   l   OjY#v9ZG*- l        6kLEIeL_J
G:5 r5   l   D i+l     5:Vr6   l   [Q*l    Zx^+r4   l   , :-l    @kux- r?   rZ   )r   r   r0   r	   r   r   r	  r
  s     r:   test_issue_21647r  K  s    WS\#gcl3&6%:!:3!>?@A
c(JJLgaj(+=?Q"RSgaj(+=?Q"RSgaj(+=?R"STgaj(+=?R"STV WC ::q!f$$$r<   c                  0   t         dz  dz   t        d      dz  z  } t        t        dd      t	        t        d      t        dd            t	        t        d      t        d	d                  }| j                  t         t        j                  i      |k(  sJ y )
Nr5   rZ   l   UUi1l     ]
r4   r   l   *tXl     .xEl   UUA:}l )r0   r   r	   r   r   r	  r   r8   r
  s     r:   test_issue_21762r  V  s    	
AW./0AABA
hq!n'!*h'8:KLM'!*h'79JKLNC ::q!&&k"c)))r<   c                  B    ddz  } t        | |       \  }}|dk(  r|du sJ y )N   r3   F)r)   )r-   r0   xexacts      r:   test_issue_14704r  ^  s0    SA!$IAv6fo%%or<   c                  <   t        dd      t        dd      z  dt        d      z  dz  k(  sJ t        dd      t        dd      z  dt        dd      z  dz  k(  sJ t        dd      t        dd      z  ddt        dd      z  z  dt        dd      z  z  d	z  k(  sJ y )
Nr5   r6   rZ   r   r3   r      r?   iW  )r   r   rL   r<   r:   $test_rational_powers_larger_than_oner  d  s    Aq>8Aq>)QtAwYq[888Aq>8Aq>)QA->s-BBBBAq>8Aq>)Qq(1a./@-@HQPQNAR-RSV-VVVVr<   c                  X    G d dt               }  G d d| t              t        d       |        }}t        j                  t         |       t        j                  | t               t        j                  | |       fd                     }t        dd      d	t
        j                  z  k(  sJ t        |d      t        |d      k(  sJ t        ||      t        ||      k(  sJ t        ||       ||      k(  sJ t        ||       ||      k(  sJ t        ||       ||      k(  sJ y )
Nc                       e Zd Zy)&test_power_dispatcher.<locals>.NewBaseN__name__
__module____qualname__rL   r<   r:   NewBaser  l      r<   r   c                       e Zd Zy)%test_power_dispatcher.<locals>.NewPowNr  rL   r<   r:   NewPowr#  n  r!  r<   r$  r-   c                      | |      S rk   rL   )r-   r.   r$  s     r:   _z test_power_dispatcher.<locals>._r  s     a|r<   r5   r6   r   )r   r   r   r(   registerr   rG   )r   r-   r.   r&  r$  s       @r:   test_power_dispatcherr(  j  s   $ # #;	qA
^^D'"
^^GT"
^^GW% & # # A;!AEE'!!!A;#a)###A;#a)### A;&A,&&&A;&A,&&&A;&A,&&&r<   c                     t        d      D  cg c]  } t        t              | z   c} dt        t              t        t        t              dz  dt        t               t         t        t              dz   dt        t              t        t        t              dz  dgk(  sJ t        t              t        d      dz  z  t        t        d      dz  z   k(  sJ y c c} w )Nr   r3   r6   rJ   r   r5   r   )ranger   r   r   )ru   s    r:   test_powers_of_Ir+    s     %b	*1DGQJ*	47AtAwz2Qx!d1gqj[	47AtAwz2/' ' ' ' 7QqT!VQqT!V,,, +s   Cc                  l    t        d      dz  } | t        z  j                         d| z  t         fk(  sJ y )Nr5   r6   r3   )r   r0   r   r   s    r:   test_issue_23918r-    s4    	!QAqDAaC!9,,,r<   N)h
sympy.corer   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   sympy.core.parametersr   sympy.core.tests.test_evalfr   sympy.core.functionr   r   r   r   &sympy.functions.elementary.exponentialr   r   'sympy.functions.special.error_functionsr   (sympy.functions.elementary.trigonometricr   r   r   r   r    r!   %sympy.functions.elementary.hyperbolicr"   r#   r$   sympy.polysr%   sympy.series.orderr&   
sympy.setsr'   sympy.core.powerr(   r)   sympy.testing.pytestr*   r+   sympy.utilities.exceptionsr,   	sympy.abcr-   r.   r/   r0   r1   r;   rA   rH   rM   r[   r]   rc   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r  r  r(  r+  r-  rL   r<   r:   <module>r=     sH  + + + + + 4 * 2 ? ; 7# # B B      3 5 > # #) I
14U>4bAJ%$ "A "AJ &DD*$$3K
,=
M=".J!07Et&P-8
B	 -1%*&W'2--r<   