
    gW?                        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mZ 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mZ d d
l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-m.Z.m/Z/mZ d dl0m1Z1m2Z2m3Z3 	  edd          Z4 edd          Z5dZ6d Z7e3d             Z8d Z9e3d             Z:d Z;e1d             Z<d Z=e1d             Z>d Z?d Z@d ZAd  ZBd! ZCd" ZDd# ZEd$ ZFd% ZGd& ZHd' ZId( ZJd) ZKd* ZLd+ ZMd, ZNd- ZOd. ZPd/ ZQd0 ZRd1 ZSd2 ZTd3 ZUd4 ZVe1d5             ZWd6 ZXd7 ZYd8 ZZd9 Z[d: Z\d; Z]d< Z^d= Z_e1d>             Z`d? Zad@ ZbdA ZcdB ZddCS )D    )
EulerGamma)EIIntegerRationaloopi)S)Symbol)explog)sqrt)acotatancossinsign)Eierf)digammagammaloggamma)zeta)cancel)coshcothsinhtanh)comparemrvrewritemrv_leadtermgruntzr   )XFAILskipslowxT)realmFc                  6    t           st          d           d S d S )Nr'   )runslowr&        Z/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/series/tests/test_gruntz.py_sskipr0   #   s#     V r.   c                  ~   t          t          t                    t          dt          z  t          t                     z
            t          dt          z            z
  z  t          t                    dk    sJ t          t          t                    t          dt          z  t          t                     z   t          t          dz             z             t          dt          z  t          t          t                               z
            z
  z  t          t                    dk    sJ t          t          t          t          t          t                     z
            ddt          z  z
  z            t          t          t                              z
  t          t                    t          u sJ t          t          t          t          t          t          t                     z                                 t          t          t          t                                        z  t          t                    t          u sJ t          t          t          t          t                                        t          t          t          t          t          t          t                               z
                                z  t          t                    t          u sJ t          t          t          t          t                                        t          t          t          t          t          t          t          t                                         z
                                z  t          t                    dk    sJ t          t          t          t                              t          t          t          t          t          t          t                                         z
                      z  t          t                    dk    sJ t          t	          t                    dz  t          t          t	          t                              t	          t	          t                              dz  z  t          t          t	          t	          t                                        t	          t	          t	          t                                        dz  z            z            z  t          t                    z  t          t                    dk    sJ t          t          t	          t                    z  t	          t          t          t                    z  t          dz  z
            dz  z  t	          t	          t          dz  dt          t          dt          dz  z  t	          t                    z                      z  z                       z  t          t                    t          dd          k    sJ t          t          t          t          t                     z  t          t                     t          dt          dz  z  t          dz   z            z   z            t          t                    z
  t          z  t          t                    t          d           k    sJ t          dt          z  dt          z  z   dt          z  z  t          t                    dk    sJ t          t          t	          t          t	          t          t	          d          t	          t                    z  z            z            z  t          t                    t          u sJ t          t          t          dt	          t          dz  t          z             z  t	          t	          t                              z                      t          t          dt	          t                    z  t	          t	          t                              z                      z  t          t                    t          u sJ t          t          t          t          dd          t          t          d	d
          z  z  t          dd          t          t          dd          z  z  z   dt          dz  z  z   t          dd          t          t          dd          z  z  z                       dz  t	          t	          t	          t          dd          t          t          d	d          z  z                                 t          d
d          z  z  t          t                    t          u sJ t          t          dt          z  t          t                     z  dt          t                    z  dt          dt          dz  z  t          dz   z            z  z   z            t          t                    z
  t          t                    dz  z  t          t                    dk    sJ t          t          t          t          t                     z  t          t                     t          dt          dz  z  t          dz   z            z   z            t          t                    z  t          t                    dk    sJ t          t	          t                    t	          t	          t                    t	          t	          t                              z             t	          t	          t                              z
  z  t	          t	          t                    t	          t	          t	          t                                        z             z  t          t                    dk    sJ t          t          t	          t	          t          t          t	          t                    t	          t	          t                              z            z                       t	          t	          t	          t          t                    t          z   t	          t                    z                                 z            t          t                    t          k    sJ t          t          t          t          t          t          t                     z                                 t          t          t                              z  t          t                    t          u sJ d S )N         r      
                  i6      1   -         )r$   r   r(   r   r   r   r   r   r-   r.   r/   test_gruntz_evaluationrE   (   s	    #a&&#acCGGm,,s1Q3xx78!R@@BFFFF#a&&#acCGGmc1a4%jj899!c3q66'll*++, -./5 589: : : : #c!c1"gg+&&AaC011CAKK?BGG2MMMM#c#a#qb''k**++,,s3s1vv;;/?/??BGG2MMMM#c#a&&kk""SSS#a&&\\1A-B-B)C)C%D%DDR     #c#a&&kk""SSS#c!ff++5F5F1F-G-G)H)H%I%IIR     #c!ff++CCSVV,=,=(=$>$> ? ??BGG1LLLL#a&&!)c$s1vv,,CFFa/?"?SQ[[))SSVV-=-=,AABB#C D D DFJ1ggNR     1SVV8S3q66AqD11A55QTAc#a1fSVVm*<*<&=&=$==>>??ABCRI ILTUVXYNN[ [ [ [ 3qaRy#qb''C1a4Q,@,@"@ABBSVVKQNR  VVG$ $ $ $ 1a4!Q$;!A#&2..!3333!CCCFF3q66M 2334555q"==CCCC#c!C1qMM/#c!ff++56677Bs1vvIc#a&&kk12233456< <?AB B B B #c(1a..HROO);;hr1ooaQYZ[]_Q`Q`N`>``a"gI&(0R(8(8HR<L<L9L(LM N N O OPQRS!Q8B3C3C0C!CDDDEEFFQRTUVWXY[]_ _bde e e e 3qs3r77{Ac!ffHqQq!tVQU^1D1D/D$DEFFQOFFAI "& &)*+ + + + #aQBiaR3r!Q$wA+?+?!?@AA#a&&H!RPP    #a&&#c!ffs3q66{{233c#a&&kkABQ#c#a&&kk"2"2233567= =@AB B B B #s3q3s1vvc#a&&kk'9#:#::;;<<SQ!c!ff!45566779 : :;<bB BEFG G G G #c#a#qb''k**++,,s3q66{{:ArBBbHHHHHHr.   c                  6   t                       t          t          t          t          t                    ddt          z  z
  z                      t          t          t          t                    ddt          z  z
  t	          t                    t	          t                     z  z
  z                      z
  t          t
                    t
           u sJ t          t          t          t           dt          t                     z   z                      t          t           dt          t           dt          t                     z   z            z   z            z  t          t          t           t          t           dt          t                     z   z            z                       z  t          t           dt          t                     z   z            dz  z  t          t                    z
  t          z   t          t
                    dk    sJ d S Nr2   r4   )r0   r$   r   r(   r   r   r-   r.   r/   test_gruntz_evaluation_slowrH   a   s   
HHH#c#a&&!ac'*++,,CFFA!Gc!ffAw.?$?@AABBCDErK KOQcR R R R 3sA2q3r77{+,,--c1"a#qb!c1"gg+>N:O:O6O2P.Q.QQQBaRS!WW%5!6!6677889!QaR[)**Q./14Q8:;<=>D DGHI I I I I Ir.   c                  f   t          t          t                    t          dt          z  t          t                     z             t          dt          z  t          t          dz             z             z
  z  t          t                    dk    sJ t          t          t          t          t          t                               z
            t          t                    z
  t          t          t                              z  t          t          dz            z  t          t                    dt          t                    z  k    sJ t          t          t          t                              t          t          dt          z  t          t          t                               z                       t          t          dt          z                      z
  z  t          t                    dk    sJ t          t          t                    t          t          t          t                     z             t          t                    z
  z  t          t                    t          u sJ t          t          t          t          t          t                                                  t          z  t          t                    t          t          dd                    k    sJ t          t          t          t          t          t                                                  t          z  t          t                    t          t          dd                    k    sJ t          t          t          t          t                                        t          t                    t          u sJ t          t          t          t                              t          t                    t          u sJ t          t          t          dt          t                    z  z             t          t                    z
  t          t                    z  t          dt          z            z
  t          z  t          t                    z  t          t                    t          dd          k    sJ t          t          t          t          dt          t                    z  z
            t          t                    z
  t          t                    z   z  t          t                    t          j        k    sJ t          t          t          dt          t                    z  z             t          t                    z
  t          t                    z  t          t                    dk    sJ d S )Nr2   r4   r6   r3   )r$   r   r(   r   r   r   r   r	   r   r   r   r   r   r   r
   Halfr-   r.   r/   test_gruntz_eval_specialrK   l   s    #a&&#acCGGm,,s1Q3adU3C/D/DDEq"MMQRRRRR3q3Aw<<'((3q661SQ[[@3q!t99LR tBxxK( ( ( (#c!ff++S1sCFF7||);%<%<!=!=C!HH!MNR    #a&&%CGG,,uQxx78!R@@BFFFF#c''!**--..//11b99S"a=Q=QQQQQ#c'#a&&//**++A-q"55Xb!__9M9MMMMM'''!**--..266"<<<<(8A;;''B//25555E!aaj.))E!HH4c!ff<s1Q3xxG!ff% %(0Q8 8 8 8!uQ588^,,uQxx7#a&&@A1bII6   5QuQxxZ((5883s1vv=q"EEJJJJJJr.   c                  b   t                       t          t          t          dz             t	          dt
          z            z  t          t                     t          t          t          j        z   z  t          t          t          j        z
  z  dz  z   z  z
  t          t                    t          u sJ t          t          t          t          t          t          t          t                                                                      t          z  t          t                    dk    sJ d S )Nr2   r4      r   )r0   r$   r   r(   r   r	   r   r
   rJ   r   r   r-   r.   r/   test_gruntz_eval_special_slowrN      s    
HHH%A,,tAbDzz)GGQQV_q1qv:r/AABCDErK KNPQ Q Q Q#c#gggajj&9&9::;;<<==a?BGG1LLLLLLr.   c            
      H   t                       t          t          t          t          t          t                     z
            t          dt          z            z            t          t          t                              z
  t          t
                    t
          u sJ d S Nr2   )r0   r$   r   r   r(   r   r-   r.   r/   ,test_grunts_eval_special_slow_sometimes_failrQ      sj    
HHH#eAQBK((QqS122Sq]]BArJJbPPPPPPr.   c            
      \   t          t          t          t          t          t                               z
            t          t                    z
  t          t                     z  t          t          t                              z  t          z  t          t                    dk    sJ d S )Nr3   )r$   r   r(   r   r   r-   r.   r/   test_gruntz_EirS      so    2a#s1vvg,,&''"Q%%/#qb''9#c!ff++EaGBOOSUUUUUUUr.   c            	      .   t          t          t          d          dz   t          z            t	          t          t          t                     z             t	          t                    z
  z  t          t
                    t          d           k    sJ d S )Nr4   r2   )r$   r   r   r(   r   r   r-   r.   r/   test_gruntz_eval_special_failrU      s     SVVaZNtAQBK00477:;QD DHKAwO O O O O Or.   c                     t          t          t                    t          t                    t          u sJ t          t          t                    t          t                     t          u sJ t          t	          t                    t          t                    t          u sJ t          t	          t                    t          t                     t           u sJ t          dt          t                    z  t          t                    z  t          t                    t          u sJ t          dt          t                    z  t          t                    z  t          t                     dk    sJ t          dt	          t                    z  t          t                    z  t          t                    t          u sJ t          dt	          t                    z  t          t                    z  t          t                     dk    sJ t          t          t                    t          t                    dk    sJ t          t          t                    t          t                     dk    sJ t          t          t                    t          t                    dk    sJ t          t          t                    t          t                     dk    sJ d S )Nr4   r2   r3   )r$   r   r(   r   r   r   r   r   r-   r.   r/   test_gruntz_hyperbolicrW      s   $q''1b!!R''''$q''1rc""b(((($q''1b!!R''''$q''1rc""rc))))!DGG)CFF"Ar**b0000!DGG)CFF"As++q0000!DGG)CFF"Ar**b0000!DGG)CFF"As++r1111$q''1b!!Q&&&&$q''1rc""b(((($q''1b!!Q&&&&$q''1rc""b((((((r.   c            	      ~
   t          dt          t                    dk    sJ t          t          t          t                    t                    dk    sJ t          t          t                    t          t          dz            t                    dk    sJ t          t          t          dz            t          t          t                              t                    dk    sJ t          dt          t          t                              t                    dk    sJ t          t          dt                    dk    sJ t          t          t                    t          t                    dk    sJ t          t          t          dz            t          t                    t                    dk    sJ t          t          t          t                              t          t          dz            t                    dk    sJ t          t          t          t                              dt                    dk    sJ t          ddt                    dk    sJ t          ddt                    dk    sJ t          ddt                    dk    sJ t          t          t          dz  t                    dk    sJ t          t          dz  t          dz  t                    dk    sJ t          t          dz  dt          z  t                    dk    sJ t          dt          z  t          t          z  t                    dk    sJ t          t          t          z  t           t                    dk    sJ t          t          t                    t          t                     t                    dk    sJ t          t          t                     t          dt          z            t                    dk    sJ t          t          dt          z            t          t                    dz  t                    dk    sJ t          t          t                    dz  t          t          t          t                     z             t                    dk    sJ t          t          t                    t          t          t          t                     z             t                    dk    sJ t          t          t          dz            dt          t          dz            z  t                    dk    sJ d S )Nr4   <r2   >r5   =r9   )r    r(   r   r*   r-   r.   r/   test_compare1r\      s   1as""""1c!ffa  C''''3q663q!t99a((C////3q!t99c#a&&kk1--44441c#a&&kk1%%,,,,1as""""3q661a  C''''3q!t99c!ffa((C////3s1vv;;AqD		1--44443s1vv;;1%%,,,,1as""""1b!####1b!####1adA#%%%%1a4Aq!!S((((1a41a  C''''1Q31a  C''''1a4!Q3&&&&3q663r77A&&#----3r77C!HHa((C////3qs88SVVQY**c11113q6619c!c1"gg+..22c99993q663q3r77{++Q//366663q!t99aAqD		k1--444444r.   c            	         t          t          t                    t          dz  t                    dk    sJ t          t          t          dz            t          t                    dz  t                    dk    sJ t          t          t                    t          t          t          t                     z             t                    dk    sJ t          t          t          t          t                     z             t          t                    t                    dk    sJ t          t          t          t          t                     z             t          t                     t                    dk    sJ t          t          t                     t          t                    dk    sJ t          t          t          t                     t                    dk    sJ t          t          t          dt          z  z             t          t                    dk    sJ t          t          t          t                               t          t                    t                    dk    sJ t          t          t          t          t                               t          z             t          t          t                               t                    dk    sJ d S )Nr7   rZ   r4   r[   rY   r2   r    r   r(   r-   r.   r/   test_compare2r_      s   3q661a4##s****3q!t99c!ffai++s22223q663q3r77{++Q//366663q3r77{##SVVQ//366663q3r77{##S!WWa00C77773r77Aq!!S((((1c1"ggq!!S((((3q1Q3w<<A&&#----3Aw<<Q++s22223sCFF7||a'((#s1vvg,,::cAAAAAAr.   c                      t          t          t          t                              t          t          t          t          t                               z             t                    dk    sJ d S )NrZ   r^   r-   r.   r/   test_compare3ra      sL    3s1vv;;ASVVG$4 5 5q99S@@@@@@r.   c                  F   t          t          d          t                    dk    sJ t          t          d          t                    dk    sJ t          t          d          t                    dk    sJ t          t          t                    t                    dk    sJ t          t	          t                     t                    dk    sJ t          t	          t                    t                    dk    sJ t          t	          t                     t                    dk    sJ t          ddt          z  z
  t                    dk    sJ t          ddt          z  z
  t                    dk    sJ t          t          dt          z            t                    dk    sJ t          t          t          d          z  t                    dk    sJ t          t          dz  t                    dk    sJ t          t          dz  t                    dk    sJ d S )	Nr   r5   r2   r9   r3   r4   r7   )r   r   r(   r   r   r   r   r-   r.   r/   
test_sign1rd      s   Q1$$$$Q1$$$$a  B&&&&A??aQBq    A??aQr!!!!AaCq    QqS!""""AaC!!!!!GAJJ##q((((1a==A1a==Ar.   c                     t          t          t                    dk    sJ t          t           t                    dk    sJ t          dd          } t          | t                    dk    sJ t          |  t                    dk    sJ t          | t          z  t                    dk    sJ t          |  t          z  t                    dk    sJ d S )Nr2   r3   yTpositive)r   r(   r   rf   s    r/   
test_sign2rj      s    1::????A;;"sT"""A1::????A;;"!Q<<11a==Br.   c                 l    t          t          | |          d                                                   S Nr   )setr!   keys)abs     r/   mmrvrq      s(    s1ayy|  ""###r.   c                     t          t          t                    t          hk    sJ t          t          dt          z  z   t                    t          hk    sJ t          t          dz  t                    t          hk    sJ t          t          t                    t                    t          hk    sJ t          t          t                    t                    t          t                    hk    sJ t          t          t                     t                    t          t                     hk    sJ t          t          t          dz            t                    t          t          dz            hk    sJ t          t          dt          z             t                    t          hk    sJ t          t          t          dt          z  z             t                    t          t          dt          z  z             hk    sJ d S rG   )rq   r(   r   r   r-   r.   r/   	test_mrv1rs      so   1::!AaCs""""1a==QCA??qc!!!!A??s1vvh&&&&QBQBy((((AqD		1#ad)),,,,QqS	1!$$$$A!Ga  SQqS\\N222222r.   c            
         t          t          t          t          t          t                               z             t                    t          t          t                               hk    sJ t          t          t          t          t                     z             t                    t          t          t          t                     z             t          t                     hk    sJ t          t          dt          z  t          t                     z             t                    t          t                     hk    sJ d S rP   rq   r   r(   r-   r.   r/   
test_mrv2arv     s    ASVVG$%%q))c3q66'll^;;;;AQBK  !$$QaR[)9)93r77(CCCCCAaC#qb''M""A&&3r77)333333r.   c            	          t          t          t          t          t          dz             z             t                    t          t          dz             hk    sJ d S )Nr4   ru   r-   r.   r/   
test_mrv2brx     sI    AQTE

N##Q''CAJJ<777777r.   c                  <   t          t          t           dt          dz  z  z             t          t          dt          z  z             z
  t                    t          t          dt          z  z             t          dt          dz  z  t          z
            hk    sJ d S rG   ru   r-   r.   r/   
test_mrv2crz     s    QB1a4K3q1Q3w<<', ,03A!Gc!AqD&1*oo/NO O O O O Or.   c                     t          t          t          dz            t          t          t                    z  z   t          t                    t          z  t          z  z   t                    t          t          dz            hk    sJ t          t          t                    t          dt          z  t          t                     z             t          dt          z            z
  z  t                    t          t                    t          t                     hk    sJ t          t          t          dz  dt          t          dt          dz  z  t          t                    z                      z  z             t                    t          t          dt          dz  z  t          t                    z                      hk    sJ t          t          t          t          t                    z
            t          t                    z  t                    t          hk    sJ t          t          dt          z  t          t                     z
            t          dt          z            z
  t          t                    z  t                    t          t                    t          t                     hk    sJ t          dt          t           t          t                     z             z  t          t                    z
  t                    t          t                    t          t                     t          t          t          t                     z
            hk    sJ t          t          t          t          t          t          t          t                    z            z  dz                       t                    t          t          t          t                    z            hk    sJ t          t          t          t          t          t                    dt          z  z                                 t                    t          hk    sJ d S )Nr4   r2   r5   )rq   r   r(   r   r-   r.   r/   	test_mrv3r|     s   AqD		Ac!ffH$s1vvqy{2A663q!t99+EEEEAAaC#qb''M""S1XX-.3 37:1vvsA2ww6GH H H H	1qS1a4A''((((* *+,. .25c!AqD&Q-6H6H2I2I1JK K K KAAJA&**qc1111	QqS3r77]		c!A#hh	&A.3 37:1vvsA2ww6GH H H H	#qb3r77l

c!ff$a) )-0VVS!WWc!c1"gg+>N>N,OP P P PC#aAh--!+,,--q11c!CFF(mm_DDDDCCFFQqSL))**++Q//A3666666r.   c                  4   t           } t           |  | t                     |  | t                              z              |  | t                              z
   |  | t                     |  |  | t                                        z             z   | t                    z  t                    t          hk    sJ t          t          t          t          t          t          t          t                    z            z  dz                       t          t          t          t          t                    dt          z  z                                 z
  t                    t          t          t          t                    z            hk    sJ d S rP   )r   rq   r(   r   )lns    r/   	test_mrv4r   )  sD   	BBBqEEBBrr!uuII%&&BBqEE2BBrr!uurr""RRUU))}}7L4M4MMbbQReeS #   C#aAh--!+,,--CCFFQqSL8I8I4J4J0K0KKQOO	Qs1vvX     r.   c                 >    t          | d         | d         ||          S Nr2   r   )r"   )ro   rp   cs      r/   mrewriter   1  s    1Q41q!$$$r.   c                     t          t                    } t          t          | t                    t          t                    dt          z  t           fk    sJ t          t          dz            } t          t          | t                    t          t                    dt          z  t          dz   fk    sJ t          t          dt          z  z             } t          t          | t                    t          t                    dt          z  t           dt          z  z
  fk    sJ dt          t           t          t                     z             z  t          t                    z
  } t          t          | t                    t          t                    dt          t          t                    z  z  dt          z  z
  t           fk    sJ d S rG   r   r(   r   r!   r*   es    r/   test_rewrite1r   5  s<   AAC1IIq!$$1qb	1111AqD		AC1IIq!$$1q!te4444A!GAC1IIq!$$1qb1Q3h7777	#qb3r77l

c!ff$AC1IIq!$$Ac!ffH!);aR(@@@@@@@r.   c                     t          t                    t          t          t          t                                        z  } t          | t                    t          t                    hk    sJ t	          t          | t                    t          t                    dt          z  t          t                    z  t           fk    sJ d S rP   )r   r(   r   rq   r   r!   r*   r   s    r/   test_rewrite2r   @  s    As3s1vv;;A1::#a&&!!!!C1IIq!$$1SVVaR(8888888r.   c            	         t          t           dt          dz  z  z             t          t          dt          z  z             z
  } t          t          | t                    t          t                    dt          z  t          t          dt          z  dt          dz  z  z             z  z   t           dt          z  z
  ft          dt          z  t          dt          z  t          dz  z             z  z
  t          dz  t          z
  ffv sJ d S )Nr2   r4   r3   r6   r   r   s    r/   test_rewrite3r   H  s    QB1a4K3q1Q3w<<'AC1IIq!$$"Q$3	!a1f4 4 2 +rAaCx*!#$qs3qsQW}+=+='=#=q2w{"K)M M M M M M Mr.   c            	      6   t          t          dt          z             t                    dk    sJ t          dt          t           t          t                     z             z  t          t                    z
  t                    dk    sJ t          t          dt          z  t          t                     z
            t          dt          z            z
  t          t                    z  t                    t          dt          z             dfk    sJ d S )Nr2   )r3   r   r   )r#   r   r(   r-   r.   r/   test_mrv_leadterm1r   O  s    QqS	1%%0000#qb3r77l+++c!ff4a88GCCCC	QqS3r77]		c!A#hh	&A.3 38;AaCy!nE E E E E Er.   c            	      2   t          t          t          t                    t          z             t          z
  t          t          t                    t          t                    z             z  t          t                    z  t                    dk    sJ d S )N)r2   r   )r#   r   r   r(   r-   r.   r/   test_mrv_leadterm2r   V  sm    SVVaZ1,c#a&&3q66/.B.BB3q66I1MM     r.   c                  N   t          t          t           t          t                     t          t           t          t                    z            z  z             t                    t          t           t          t          t                    z  z
            hk    sJ t	          t          t           t          t                     t          t           t          t                    z            z  z             t                    t          t                     dfk    sJ d S rl   )rq   r   r(   r   r#   r-   r.   r/   test_mrv_leadterm3r   \  s    QBaRaRAY//00!44aR!CFF(]9K9K8LLLLLQBaRaRAY!7788!<<aR!LLLLLLr.   c                     t          t          t          t                    t          u sJ t          t          t          t                     t           u sJ t          t           t          t                    t           u sJ t          t          dz  t          t                     t          u sJ t          t          dz   t          t                    t           u sJ t          t          t          t                    z  t          dd          dk    sJ t          dt          z  t          t                    dk    sJ t          t	          t                    t          t                    t          u sJ t          t	          t                     t          t                    t           u sJ t          t	          t                    t          z  t          t                    t          u sJ t          dt          z  t	          t                     z
  t          t                    dk    sJ t          t          dt          z  z   t          t                    t          u sJ d S )Nr4   r   +dirr2   )r$   r(   r   r   r   r-   r.   r/   test_limit1r   b  s   !Qr!!!!!Q####1"a####!Q$B32%%%%1a4%BB3&&&&!CFF(Aqc***a////!A#q"""""#a&&!R  B&&&&3q66'1b!!bS((((#a&&(Ar""b((((!A#QB-B''1,,,,!ac'1b!!R''''''r.   c                     t          t          t          z  t          dd          dk    sJ t          t          t                    dz
  t          z  t          d          dk    sJ t          ddt          z  z   t          t                    dk    sJ t          t          dt          z             t          t                    dk    sJ t          t          t          t                     z   t          t                    t          u sJ t          t          t          t          dz             z   t          t                    t          u sJ t          t          t          t          t                               z   t          t                    t          u sJ t          ddt          z  z   t          t                     z
  t          t                    dk    sJ d S )Nr   r   r   r2   r3   r4      )r$   r(   r   r   r-   r.   r/   test_limit2r   q  s_   !Q$1#&&&!++++3q66A:q.!Q''1,,,,!ac'1b!!Q&&&&3qs88)Q##r))))!c1"gg+q"%%++++!c1a4%jj.!R((B....!c3q66'll"Ar**b0000"qs(S!WW$a,,222222r.   c            	      |   t          d          } t          t          t          dt	          t                    z             z
  t          t
                    dk    sJ t          t          t          | t	          t                    z             z
  t          t
                    dk    sJ t          t	          t                    dt	          t                    z   z  t          t
                    dk    sJ t          t	          t                    | t	          t                    z   z  t          t
                    dk    sJ d S )Nro   r2   r   )r   r$   r(   r   r   r   )ro   s    r/   test_limit3r   |  s    sA!c!c!ff*oo%q"--2222!c!c!ff*oo%q"--2222#a&&!c!ff*%q"--2222#a&&!c!ff*%q"--222222r.   c                      t          dt          z  dt          z  z   dt          z  z  t          t                    dk    sJ t          ddt          z  z  ddt          z  z  z   t          z  t          d          dk    sJ d S )Nr5   r7   r2   r   r$   r(   r   r-   r.   r/   test_limit4r     sq    1a4!Q$;!A#&2..!33331qs8a!A#h&*Aq11Q666666r.   c            
      4   t          t           dt          t                     z   z            } t          |           t          t           d| z   z            z  t          t          t           | z                       z  | dz  z  t          t                    z
  t          z   }t          |t                    d| z  t          t                     t          t                    t          t          | z
            t          t          d| z   z            hk    sJ d S rG   )r   r(   rq   )hexprs     r/   test_MrvTestCase_page47_ex3_21r     s    QBCGGAq66#qb!a%j//!#c1"q&kk"2"221a47#a&&@1DDa==QqS#qb''3q663q1u::s1a!e9~~NNNNNNNr.   c                     t          d          } t          t          t          z  t          t                    t          t          z  k    sJ t          | t          z  t          z  t          t                    | t          z  t          z  k    sJ t          | dz  t          z  t          z  t          t                    | t          z  t          z  k    sJ t          | dz  t          t                    z  t          z  t          t                                                                        t                    t          |           t          z  t          z  k    sJ d S )Nrf   r5   )	r   r$   r   r(   r   r   simplifyr"   _signri   s    r/   test_gruntz_Ir     s    sA!A#q"2%%%%!A#a%B1Q3r6))))!A#a%'1b!!QqSV++++!A#c!ff*Q,2&&//1199%@@E!HHQJrMQQQQQQr.   c                      t          t          dz   dt          t          dz             z  z  t          t                    t          k    sJ d S rP   )r$   r(   r   r   r   r-   r.   r/   test_issue_4814r     s<    1q5Ac!a%jjL)1b11Q666666r.   c            	         t          dt          t                    z  t          t                    dk    sJ t          dt	          t                    z  t          t                    dk    sJ t          t          t                    t	          t                    z  t          t                    t          u sJ t          t          t          t                              t          t                    z  t          t                    t          u sJ t          t          t                    t          d          dk    sJ t          t          t          dd          dt          z  z             t          t                    t          t          dd                    k    sJ t          t          t          t          z            t          t          t                              z  t          t                    dk    sJ t          t          t          t          t                                        t          t                    z  t          t                    t          u sJ d S )Nr2   r   r5   r4   r:   )r$   r   r(   r   r   r   r   r   r-   r.   r/   test_intractabler     s   !E!HH*a$$))))!HQKK-B''1,,,,%((8A;;&2.."4444#eAhh--a(!R00B6666%((Aq!!Q&&&&%A1,--q"55x1~~9N9NNNNN#ad))CaMM)1b11Q6666#eE!HHoo&&s1vv-q"55;;;;;;r.   c            
         t          t          dt          t          t                              z  t          t
                    dt          t                    t          t          j                  z   z  z
            dk    sJ t          dt          t                    z  t          t
                     t
           u sJ d S r   )
r   r$   r   r   r(   r   r	   r
   rJ   r   r-   r.   r/   test_aseries_trigr     s    &3tAww<<B//B#af++%&' ( (+,- - - -!DGG)Q$$++++++r.   c                      t          t          t          t          t          t          t                    z                      z  t          t                    t          u sJ d S )N)r$   r(   r   r   r   r-   r.   r/   test_exp_log_seriesr     sB    !CAc!ffH&&&2.."444444r.   c                      t          t          dz  t          z   dz   dt          z  t          dz  z   z  dt          z  z  t          t                    dk    sJ d S )Nr:   r2   r4   r3   r   r-   r.   r/   test_issue_3644r     sK    AqD1HqL1a4!Q$;/2a48!R@@AEEEEEEr.   c                      t          ddd          } | dz   t          | dz   z  z  t          | dz   z  dz
  z  t          t          dz
  z  z
  }t          |t          d                                          | dz  k    sJ d S )NnT)integerrh   r2   r4   )r   r(   r$   r   )r   rs     r/   test_issue_6843r     s{    sD4000A	
QAE
AAJN+aQi7A!Q??##%%1,,,,,,r.   c                      t          t          t          dt          z            z
  t          t                    t          j        k    sJ d S rP   )r$   r(   r   r   r
   r   r-   r.   r/   test_issue_4190r     s5    !eAaCjj.!R((AL888888r.   c                     t          d          } t          dd          }t          d          }t          dd          }t          dd          }d	| z  | |z
  d
z   z  | || |z
  d
z   z  z   z  |z  |d
z
  | | |z
  d	z   z  | || |z
  d
z   z  z   z  |z  z  z   | z
  | |z  | z
  z  }|                    ||d
z             }t          |                    ||          | t                    d
k    sJ t          |                    ||          | t                                                    d	|d
z   z  |z   d
z
  |d
z   |d
z   z  z  k    sJ d S )Nr   r   Trg   r   pr*   )negativer4   r2   )r   subsr$   r   r   )r   r   r   r   r*   r   s         r/   test_issue_5172r     sz   sAsT"""AsAsT"""AsT"""AqS!a%!)_a!QUQY-/014	
QAEAIAq1uqyM 12Q6679:;=>TAXGD99QAD$))Aq//1b))Q....$))Aq//1b))2244	
QUa!	a!eq1u--. . . . . .r.   c                      t          dt          t                    z  t          d          dk    sJ t          t          t          t                    z  t          d          dk    sJ d S r   )r$   r   r(   r-   r.   r/   test_issue_4109r     sV    !E!HH*a##q((((!E!HH*a##q((((((r.   c                      t          t          dt          t                     z            t          dz  z  t          d          t          dt          z            k    sJ d S )Nr4   r   )r$   r   r   r(   r   r-   r.   r/   test_issue_6682r     sL    #aA2h--1$a++s1Z</@/@@@@@@@r.   c                      ddl m}  t          t          t           z  t          dd          t
           | dt           z            z  k    sJ d S )Nr   r   -r   r3   )sympy.functionsr   r$   r(   r	   r   r   s    r/   test_issue_7096r     sW    $$$$$$!bS&!QC(((BttRB3K/@/@,@@@@@@@r.   c                     t          t                    ddt          z  z   t          dz  z  z  } t          t                    }t	          | t          t
                    |k    sJ t	          d| z  t          t
                    d|z  k    sJ d S rG   )r   r(   r   r   r$   r   )eqanss     r/   test_issue_24210_25885r     su    	Q1Q3A	B
q''C"a####!B$2!C%''''''r.   N)e
sympy.corer   sympy.core.numbersr   r   r   r   r   r	   sympy.core.singletonr
   sympy.core.symbolr   &sympy.functions.elementary.exponentialr   r   (sympy.functions.elementary.miscellaneousr   (sympy.functions.elementary.trigonometricr   r   r   r   $sympy.functions.elementary.complexesr   r   'sympy.functions.special.error_functionsr   r   'sympy.functions.special.gamma_functionsr   r   r   &sympy.functions.special.zeta_functionsr   sympy.polys.polytoolsr   %sympy.functions.elementary.hyperbolicr   r   r   r   sympy.series.gruntzr    r!   r"   r#   r$   sympy.testing.pytestr%   r&   r'   r(   r*   r,   r0   rE   rH   rK   rN   rQ   rS   rU   rW   r\   r_   ra   rd   rj   rq   rs   rv   rx   rz   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/   <module>r      s,   ! ! ! ! ! ! @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ " " " " " " $ $ $ $ $ $ = = = = = = = = 9 9 9 9 9 9 K K K K K K K K K K K K > > > > > > = = = = = = = = N N N N N N N N N N 7 7 7 7 7 7 ( ( ( ( ( ( H H H H H H H H H H H H	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 2 2 2 2 2 2 2 2 2 2 F3T
F3T   
 5I 5I 5IpI I I K K K&M M M Q Q QV V V O O O) ) )5 5 5@
B 
B 
BA A A     $ $ $	3 	3 	34 4 48 8 8O O O7 7 7  % % %A A A9 9 9M M ME E E  M M M( ( (3 3 33 3 37 7 7 O O OR R R7 7 7< < <, , ,5 5 5F F F- - -9 9 9 . . .) ) )
A A AA A A( ( ( ( (r.   