
    gt@                     2   d dl mZ d dlmZmZ d dlmZmZmZm	Z	m
Z
 d dlmZ d dlmZmZ d dlmZmZ d dlmZmZ d dlmZ d d	lmZmZ d d
lmZ d dlmZmZ d dl m!Z! d dl"m#Z# d dl$m%Z%m&Z&m'Z'm(Z( d Z)d Z*d Z+d Z,d Z-d Z.d Z/d Z0d Z1d Z2d Z3d Z4d Z5d Z6d Z7d Z8d Z9d  Z:d! Z;d" Z<d# Z=d$ Z>d% Z?d& Z@d' ZAd( ZBd) ZCd* ZDd+ ZEd, ZFd- ZGd. ZHd/ ZId0 ZJd1 ZKd2 ZLd3 ZMd4 ZNd5 ZOd6 ZPd7 ZQd8 ZRd9 ZSd: ZTd; ZUd< ZVd= ZWd> ZXd? ZYd@ ZZdA Z[dB Z\dC Z]dD Z^dE Z_dF Z`dGS )H    )Add)Functionexpand)IRationalnanoopi)S)Symbolsymbols)	conjugate	transpose)explog)sqrt)cossin)Integral)OOrder)	unchanged)raises)wxyzc                      t          t                     t          t          dt          z  t          d          z  t          d          z  z  t                     d S )N      )r   r   r   r        Y/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/series/tests/test_order.pytest_caching_bugr%      sC     aDDDa"Q$s1vv+c!ff
q!!!!!r#   c                     t          d          j        t                      k    sJ t          t                    j        t          hk    sJ t          dt                    j        t          hk    sJ t          t          t          z            j        t          t          hk    sJ t          t          t          t                    j        t          t          hk    sJ d S N   )r   free_symbolssetr   r   r"   r#   r$   test_free_symbolsr+      s    88 CEE))))88 QC''''A;;#s****1::"q!f,,,,Aq>>&1a&000000r#   c                     t          d          } t          dt          z            t          t                    k    sJ t          t                    dz  t          t                    k    sJ dt          t                    z  t          t                    k    sJ t          t          t                              t          t                    k    sJ t          t          t                    t                    t          t          t                    t          t                    k    sJ t          d          t          d          k    sJ t          t	          t                              t          dt                    k    sJ t          t	          dt          z                      j        t	          dt          z            k    sJ t          t          t	          dt          z            z            j        t          t	          dt          z            z  k    sJ t          t          | dz  z            j        t          | dz  z  k    sJ t          t          | t          dd          z  z            j        t          | t          dd          z  z  k    sJ t          t          dz  t          z   t          z   t                    t          dt                    k    sJ t          t          dz  t          z   t          z   t                    t          dt                    k    sJ t          t          d            t          t          d	            d S )
Nr      r    ir(   r!   c                  \    t          t          t                    t          t                    S N)r   r   r   r"   r#   r$   <lambda>ztest_simple_1.<locals>.<lambda>0   s    uSVVQ22 r#   c                  <    t          t          dt          z
            S Nr-   r   r   r"   r#   r$   r1   ztest_simple_1.<locals>.<lambda>1   s    eAq1uoo r#   )
r   r   r   r   r   exprr   r   
ValueError	TypeError)os    r$   test_simple_1r9   !   sd   A1::q!!!!88A:q!!!!uQxx<588####q??eAhh&&&&q1uQxxA!6!66666::q!!!!Q==E!QKK''''QqS??3qs88++++3qs88!Qs1Q3xxZ////QqS??1qs8++++Qx1~~%&'',Ahq!nn4D0EEEEEAAq!!Qq!WW,,,,AAq!!Qq!WW,,,,
:22333
9--.....r#   c                     t          dt          z            t          z  t          t          dz            k    sJ t          dt          z            t          z  t          dt                    k    sJ t          dt          z            t          z  t          dt          z            z  t          t          dz  t          dt          z            z            k    sJ t          dt          z            t          z  t          dt          z            z  t          t                    dz  z  j        t          dz  t          dt          z            z  t          t                    dz  z  k    sJ d S )Nr-   r(   r    )r   r   r   r   r5   r"   r#   r$   test_simple_2r<   4   s   1::a<5A;;&&&&1::a<5A;;&&&&1::a<AaC E!Q$s1Q3xx-$8$88888!A#JJqLQqS!#a&&!)+1QT#ac((]3q662:5MMMMMMMr#   c                     t          t                    t          z   t          t                    k    sJ t          t                    dz   dt          t                    z   k    sJ t          t                    t          dz  z   t          t                    k    sJ t          t                    dt          z  z   dt          z  t          t                    z   k    sJ t          dt          z            dt          dz  z  z   dt          dz  z  t          dt          z            z   k    sJ t          t                    t          dt          z            z   t          t                    t          dt          z            z   k    sJ d S Nr-   r(   r   r   r   r"   r#   r$   test_simple_3r@   ;   s   88a<588####88a<1uQxx<''''88ad?eAhh&&&&88ac>QqS588^++++1::!Q$!AqD&51::"5555588c!A#hh%((S1XX"5555555r#   c                  j    t          t                    dz  t          t          dz            k    sJ d S r3   r4   r"   r#   r$   test_simple_4rB   D   s-    88Q;%1++%%%%%%r#   c                     t          t                    t          t          dz            z   t          t                    k    sJ t          t                    t          t          dz            z   t          t          dz            k    sJ t          t                    t          dt          z            z   t          dt          z            k    sJ d S )Nr-   r(   r4   r"   r#   r$   test_simple_5rE   H   s    88eAqDkk!U1XX----88eArEll"eArEll222288eAaCjj E!A#JJ......r#   c                  T   t          t                    t          t                    z
  t          t                    k    sJ t          t                    t          d          z   t          d          k    sJ t          t                    t          t          dz            z   t          t                    k    sJ t          dt          z            t          d          z   t          dt          z            k    sJ t          t                    t          t          dt          z                      z   t          t          dt          z                      k    sJ t          t          dz            t          t          dt          z                      z   t          t          dt          z                      k    sJ t          t          dz            t          t          dt          z                      z   t          t          dt          z                      k    sJ d S )Nr(   r-   r    r;   r?   r"   r#   r$   test_simple_6rG   N   sp   88eAhh%((****88eAhh%((****88eAqDkk!U1XX----1::a E!A#JJ....88eC!HHoo%s1Q3xx8888A;;s1Q3xx(E#ac((OO;;;;B<<%AaC//)U3qs88__<<<<<<r#   c                  ^   dt          d          z   t          d          k    sJ dt          d          z   t          d          k    sJ t          t          d          z   t          d          k    sJ dt          z  t          d          z   dt          z  t          d          z   k    sJ d S Nr(   r-   )r   r   r"   r#   r$   test_simple_7rJ   X   s    qtt8qttqtt8qttqtt8qttQ31:1qtt######r#   c                  P   t          t          t                               t          t          t                              k    sJ t          t          dz  t          t                    z            t          t          t          dd          z            k    sJ t          t          dz  t          t           dz             z            t          t          t          dd          z            k    sJ t          t          t          dd          z  t          t           dz            z            t          t          dz            k    sJ t          t          dt          z  t          dz  z  z            t          t          t           t          dz  z  z            k    sJ d S )Nr-   r!   r    	   rD   )r   r   r   r   r   r"   r#   r$   test_simple_8rM   _   s2   T1"XX;;!DGG**$$$$QT$q''\??a8Aq>> 1222222QT$!ax.. !!Qq(1a..'8%9%99999QAtaR!G}},--1a48888Q1!}_1qbAaC[=!1!1111111r#   c                  F   t          t                                        d           t          t          dfffk    sJ t          t                                        t          dff          t          t          dfffk    sJ t          t                                        t          dff          t          t          dft          dfffk    sJ t          t                                        t          dft          dff          t          t          dft          dfffk    sJ d S Nr   )r   r   as_expr_variablesr   r"   r#   r$   test_as_expr_variablesrQ   g   s    88%%d++QF9~====88%%1vi00Q!Q	NBBBB88%%1vi00Q!Q!Q8H4IIIII88%%1v1v&677AAA?O;PPPPPPPr#   c                  `   t          dt                                        t          dt                              sJ t          dt                                        t          d                    sJ t          d                              t          dt                              du sJ d S )Nr(   F)r   r   containsr"   r#   r$   test_contains_0rT   n   s    A;;a,,,,,A;;a)))))88U1a[[))U222222r#   c                     t          t                                        t          t                              sJ t          t                                        t          t          dz                      sJ t          t          dz                                t          t                              rJ t          t                                        t          dt          z                      rJ t          dt          z                                t          t          dt          z                                rJ t          t                                        t          t          dt          z                                rJ t          dt          z                                t          t                              sJ t          t          dt          z                                          t          t                              sJ t          t          dt          z                                          t          dt          z                      sJ t          t          dt          z                                          t          t          dt          z                                sJ t          t          dt          z                                          t          t          dt          z                                sJ t          t          dt          z                                          t          t          dt          z                                rJ d S r>   )r   r   rS   r   r"   r#   r$   test_contains_1rV   t   sL   88U1XX&&&&&88U1a4[[)))))QT{{##E!HH-----Qxx  qs,,,,,QqSzz""5QqS??33333Qxx  s1Q3xx111111::uQxx(((((QqS??##E!HH-----QqS??##E!A#JJ/////QqS??##E#ac((OO44444QqS??##E#ac((OO44444S1XX''c!A#hh8888888r#   c                     t          t                                        t          t                              J t          t                                        t          t          t          z                      sJ t          t          t          z                                t          t                              sJ t          t                                        t          t          t          z                      sJ t          t                                        t          t          dz  t          z                      sJ d S r3   )r   r   rS   r   r"   r#   r$   test_contains_2rX      s    88U1XX&&...88U1Q3ZZ(((((1::uQxx(((((88U1Q3ZZ(((((88U1a46]]+++++++r#   c                  J   t          t          t          dz  z                                t          t          dz  t          z                      J t          t          dz  t          z                                t          t          t          dz  z                      J d S r3   )r   r   r   rS   r"   r#   r$   test_contains_3rZ      st    1a4==!!%1Q--00888Aa==!!%!Q$--0088888r#   c            	         t          t          dt          dz  z                                          t          t	          dt          dz  z                                du sJ t          t	          dt          dz  z                                          t          t          dt          dz  z                                du sJ d S )Nr(   r-   T)r   r   r   rS   r   r"   r#   r$   test_contains_4r\      s    Qq!tV&&uS1a4[['9'9::dBBBBQq!tV&&uS1a4[['9'9::dBBBBBBr#   c                      t          dt                    t          d          vsJ t          d          t          dt                    v sJ t          t          d            d S )Nr(   c                  ~    t          t          t          dz  z            t          t          dz  t          z            v S r3   r   r   r   r"   r#   r$   r1   ztest_contains.<locals>.<lambda>   s'    eAadFmmuQT!V}}< r#   )r   r   r   r7   r"   r#   r$   test_containsr`      sZ    A;;eAhh&&&&88uQ{{""""
9<<=====r#   c                      t          t          t          z             t          t                    k    sJ t          dt          z  dt          dz  z  z
            t          t                    k    sJ t          dt          z             t          dt                    k    sJ t          ddt          z  z             t          dt          z            k    sJ t          t          t                    dt          t                    z  z             t          t          t                    dz  dz   t          t                    z            k    sJ t          t          dt          z            t          z             t          t          dt          z                      k    sJ t          t          dt          z            dt          dz  z  z             t          t          dt          z                      k    sJ d S )Nr    r-   r(      )r   r   r   r   r"   r#   r$   
test_add_1rc      sl   Q<<588####1qAv%((****Q<<5A;;&&&&QqS>>U1Q3ZZ''''
 Q!CFF("##uc!ffai!mSVV-C'D'DDDDDQqSA%AaC//1111QqSAaeG#$$c!A#hh777777r#   c                     t          t          t                              t          t          dt          z                      z   t          t          t                              k    sJ t          t          t                              t          t          t          dz                      z   t          t          t                              k    sJ t          t          t          t          z                      t          t          t                    t          t                    z             z   t          t          t                    t          t                    z   t          t                    k    sJ d S )Nr-   r    )r   r   r   r   r"   r#   r$   test_ln_argsre      s    SVV99qQqS{{"aAii////SVV99qQT||#qQyy0000S1XX;;3q66CFF?+++qQ#a&&!Q/G/GGGGGGGr#   c                  *   t          t          t          z            j        t          t          z  k    sJ t          t          t          dz  z            j        t          t          dz  z  k    sJ t          t          t          z  t                    j        t          k    sJ t          t          t          dz  z  t                    j        t          dz  k    sJ t          t          t          z  t          z            j        t          t          z  t          z  k    sJ t          t          t          z            j        t          t          z  k    sJ t          t          t          dt          z            z            j        t          t          dt          z            z  k    sJ t          t          t                    t          dt          z            z            j        t          t                    t          dt          z            z  k    sJ d S r>   )r   r   r   r5   r   r   r"   r#   r$   test_multivar_0rg      sd   1::?ac!!!!1a4==1a4''''1a==""""1a4 AqD((((1Q<<!A%%%%1::?ac!!!!3qs88!Qs1Q3xxZ////QAaC!!&#a&&QqS/999999r#   c                      t          t          dt          z            t          dt          z            z            j        t          dt          z            t          dt          z            z  k    sJ d S r'   )r   r   r   r   r5   r"   r#   r$   test_multivar_0ari      sV    QqS#ac(("##(C!HHS1XX,=======r#   c                     t          t          t          z             j        t          t          z   k    sJ t          t          dt          z  z             j        t          t          z   k    sJ t          t          t          z             t          z   j        t          t          z   k    sJ t          t          t          z             t          dz  z   t          t          t          z             k    sJ t          t          t          z             dt          z  z   dt          z  t          t          t          z             z   k    sJ t          t          dz  t          t          z  z             j        t          dz  t          t          z  z   k    sJ d S r>   r   r   r   r5   r"   r#   r$   test_multivar_1rl      s   Q<<A%%%%QqS>>!a%''''!a%LL1"q1u----!a%LL1a4E!a%LL0000!a%LL1Q31Q3q1u#55555A!!QTAaCZ//////r#   c                      t          t          dz  t          z  t          dz  t          z  z   t          t                    j        t          dz  t          z  t          dz  t          z  z   k    sJ d S r3   rk   r"   r#   r$   test_multivar_2rn      sP    Aa!Q$q&!Q'',1QAa??????r#   c                      t          t          t          z             t          z  t          t          dz  t          t          z  z   t          t                    k    sJ d S r3   r_   r"   r#   r$   test_multivar_mul_1rp      s?    Q<<>U1a4!A#:q!44444444r#   c                     t          t                    t          t                    z   j        t          t                    t          t                    ft          t                    t          t                    ffv sJ t          t                    t          t                    z   t          t          t          z             z   t          t          t          z             k    sJ t          t          dz  t          z            t          t          dz  t          z            z   j        t          t          t          dz  z            t          t          t          dz  z            ft          t          t          dz  z            t          t          t          dz  z            ffv sJ t          t          dz  t          z            t          t          t          z            z   t          t          t          z            k    sJ d S r3   )r   r   r   argsr"   r#   r$   test_multivar_3rs      s_   !HHuQxx%	q588	q588*     88eAhhq1u-q1u====!Q$q&MME!Q$q&MM)/	qAva1f&	qAva1f&4( ( ( ( ( !Q$q&MME!A#JJ&51::555555r#   c                      t          dd          } t          dd          }t          t                     t          |            t          |           t          j        J | j        du sJ |j        J d S )Nr   T)negativer   )complexF)r   r   r   is_positive)r   r   s     r$   test_issue_3468rx      s~    sT"""AsD!!!A 
!HHH	!HHH	!HHH=   =E!!!!=     r#   c                  h   t           dz   dt           dz  z  z                       t                     dt           dz  z  t          dt           dz  z            ffk    sJ ddt           z  z                       t                     dt           z  t          dt           z            ffk    sJ dt           z                       t                     dt          dt                     ffk    sJ dt           dz  z                       t                     dt          dt                     ffk    sJ dt           dz  z                       t                     dt          dt                     ffk    sJ t           t           dz  z                       t                     t           t          t                     ffk    sJ d S )Nr(   r!   r-   )r   extract_leading_orderr   r"   r#   r$   test_leading_orderr{      s_   EAadFN11!44!AqD&!AadF))9L8NNNNN!G**1--1Q3!A#-1AAAAAE((++AaGG>>>>1H++A..AqAww</AAAA1H++A..AqAww</AAAA1H++A..Aqtt9,>>>>>>r#   c                      t          dt          z   t          dz  z                       t                              t          t	          dt                    ft          d          t	          dt                    fhk    sJ t          dt          z  t          t          z  z   t          dz  z                       t                              dt          z  t	          t                    ft          t          z  t	          t                    fhk    sJ d S r>   )r*   r
   r   rz   r   r   r"   r#   r$   test_leading_order2r}      s    BA44Q7788b!Aq'']qTT1Q77O=    !bd
QT!88;;<<!A#qttrT1Q44LA      r#   c                      t          t          dz                                t                    t          t          dz            k    sJ d S r3   )r   r   _eval_as_leading_termr"   r#   r$   test_order_leadtermr      s;    QT77((++qAww666666r#   c                  f   t           t          z  t          t                     z  t          t           t           ddf          z  } t	          |           t	          t           dz  t          z  t           t                    k    sJ t	          | t                     t	          t           dz            k    sJ d S rI   )r   r   r   r   r   )es    r$   test_order_symbolsr      s|    	!CFF
8A1ay)))AQ441QT!VQ??""""Q77a1ggr#   c                      t          t                    t          u sJ t          t                                        t                    rJ d S r0   )r   r   r   rS   r"   r#   r$   test_nanr     s9    S66S====tt}}S!!!!!!!r#   c                      t          dt                    t          z  t          t                    k    sJ t          dt                    t          z  t          dt                    k    sJ d S r'   )r   r   r   r"   r#   r$   test_O1r     sP    Q77Q;!A$$Q77Q;!Aq''!!!!!!r#   c                     t          t                                                    dk    sJ t          t          t          t                    z                                            dk    sJ t          t          dz  t          t                    dz  z                                            dk    sJ t          t          t          t                    z                                            dk    sJ t	          t
          d            d S )Nr(   r-   c                  x    t          t                    t          t                    z                                   S r0   r   r   r   getnr"   r#   r$   r1   ztest_getn.<locals>.<lambda>  "    1!(:(:(<(< r#   )r   r   r   r   r   NotImplementedErrorr"   r#   r$   	test_getnr     s    Q4499;;!Qs1vvX;;""""QT#a&&!)^!!##q((((Qs1vvX;;""""
 < <=====r#   c                      t          t          dz                                t                    t          t                    k    sJ d S r3   )r   r   diffr"   r#   r$   	test_diffr     s3    QT77<<??add""""""r#   c                     t          j                    J t          j                    t           k    sJ t          t                                                     t          t                     k    sJ t          t                                                     dk    sJ t          t          t                     z   t          t
                    z                                   t          t                     t          t
                    z   k    sJ t          t          t                     z   t          t
                    z                                   t          k    sJ t          t          d            d S )Nr   c                  x    t          t                    t          t                    z                                   S r0   r   r"   r#   r$   r1   ztest_getO.<locals>.<lambda>   r   r#   )r   getOremoveOr   r   r   r   r   r"   r#   r$   	test_getOr     s    8::;==AaDD;;==AaDD    aDD>>q    !HqttO!!##qttadd{2222!HqttO$$&&!++++
 < <=====r#   c                      ddl m}  t          d | dt          z            z            t          dt	          t                    z            k    sJ d S )Nr   digammar(   )'sympy.functions.special.gamma_functionsr   r   r   r   r   s    r$   test_leading_termr   #  sS    ??????Qwwqs||^!CFF(++++++r#   c                     t          t                                        t          t                    d          dk    sJ t          t                                        t          t                    t          t                    k    sJ t          t                                        t          t                    t          t                    k    sJ t          t                                        t          t          t          z             t          t          t          z   t          t           f          k    sJ t	          d          t          z  j        sJ d S r'   )r   r   subsr   r   is_Powr"   r#   r$   	test_evalr   (  s    88==q1%%****88==A%((****88==A%((****88==AE""eAEAr7&;&;;;;;aDD!Gr#   c                     t          d          \  } }t          | | |          t          d| |          z   t          d| |          k    sJ t          || |          t          d| |          z   t          d| |          k    sJ t          | |z   | |          t          d| |          z   t          d| |          k    sJ t          d| |          t          | | |          z   t          d| |          k    sJ t          d| |          t          || |          z   t          d| |          k    sJ t          d| |          t          | |z   | |          z   t          d| |          k    sJ d S )Nza br(   )r   r   )abs     r$   test_issue_4279r   0  sW   5>>DAqQ1::!Q

"a1ajj0000Q1::!Q

"a1ajj0000QUAq>>AaAJJ&!Aq!**4444Q1::!Q

"a1ajj0000Q1::!Q

"a1ajj0000Q1::!a%A&!Aq!**444444r#   c                     dt          d          z  t          d          k    sJ dt          t                    z  t          dt          z            k    sJ dt          t          t          t          f          z  t          dt          z  t          t          f          k    sJ t          d          } dt           | t                              z  t          dt          z            k    sJ d S )Nr(   f)r   r   r	   r   )r   s    r$   test_issue_4855r   :  s    QqTT6QqTT>>>>QqTT6QqsVVQq1b']]?a!aWoo----AQqqttWW9!A#r#   c                  :   t          dd          } t          dd          }t          t          |                     t          t          |                     k    sJ t          t          |                    t          t          |                    k    sJ t          t          | dz                      t          t          |           dz            k    sJ t          t          |dz                      t          t          |          dz            k    sJ t          t          |                     t          t          |                     k    sJ t          t          |                    t          t          |                    k    sJ t          t          | dz                      t          t          |           dz            k    sJ t          t          |dz                      t          t          |          dz            k    sJ d S )Nr   T)realr   )	imaginaryr-   )r   r   r   r   )r   r   s     r$   test_order_conjugate_transposer   C  s   sAsd###AU1XX%	!"5"55555U1XX%	!"5"55555U1a4[[!!U9Q<<?%;%;;;;;U1a4[[!!U9Q<<?%;%;;;;;U1XX%	!"5"55555U1XX%	!"5"55555U1a4[[!!U9Q<<?%;%;;;;;U1a4[[!!U9Q<<?%;%;;;;;;;r#   c                     t          dd          } t          | | t          z  z   t                    t          dt                    k    sJ | | t          z  z   t          t                    z  t          t                    k    sJ | t          z  t          t                    z  t          t          dz  t                    k    sJ t          dt          t                    z   | z  | z  t          z            | | z  t          z  t          t          dz  t                    z   k    sJ t          | | z  t          t                    z   t          z            | | z  t          z  t          t          dz  t                    z   k    sJ t          | t          t                    z   | z  t          z            | | z  t          z  t          t          dz  t                    z   k    sJ d S )NAF)commutativer(   r-   )r   r   r   r   )r   s    r$   test_order_noncommutativer   P  sp   s&&&AQqS!a++++!GU1XXq))))aCq>U1a4^^++++1uQxx<"1$Q&''1Q3q55Aq>>+AAAAA1Q3q>1$%%1Qq!tQ)?????1uQxx<"1$%%1Qq!tQ)???????r#   c                      dt           dz  z   dz  t          t                     z  t          t                     k    sJ d S )Nr(   r-   i'  )r   r   r"   r#   r$   test_issue_6753r   Z  s7    1HuQqTT!QqTT))))))r#   c                  L   t          dt          z   t          t          f          t          t          t          t          f          k    sJ t          dt          z  t          t          f          t          t          t          t          f          k    sJ t          t          t          t          f          dz  t          t          t          t          f          k    sJ dt          t          t          t          f          z  t          t          t          t          f          k    sJ t          t          t          t          t          f          t          t          f          t          t          t          t          f          k    sJ t          t          t          t          t          f          t          t          f          t          t          t          t          ft          t          f          k    sJ t          dt          t          f          t          dt          t          f          k    sJ t          t          dz  t          z   t          z   t          t          f          t	          t          dz  t          t          f          k    sJ t          t          dz  t          z   t          z   t          t          f          t	          t          t          t          f          k    sJ t          dt          z  t          t          f          t          z  t          t          dz  t          t          f          k    sJ t          dt          z  t          t          f          t          z  t          dt          t          f          k    sJ t          dt          z  t          t          f          t          z  t          dt          z            z  t          t          dz  t          dt          z            z  t          t          f          k    sJ t          dt          z  t          t          f          t          z  t          dt          z            z  t          t                    dz  z  t          t          dz  t          dt          z            z  t          t                    dz  z  t          t          f          k    sJ t          t          t          t          f          dt          z  z   dt          z  t          t          t          t          f          z   cxk    r%t          t          t          t          f          k    sn J t          t          t          t          f          dz   dt          t          t          t          f          z   cxk    r%t          t          t          t          f          k    sn J t          t          t          t          f          t          z   t          t          t          t          t          f          z   cxk    r%t          t          t          t          f          k    sn J t          t          t          t          f          t          dz  z   t          dz  t          t          t          t          f          z   k    sJ t          dt          z  t          t          f          dt          dz  z  z   dt          dz  z  t          dt          z  t          t          f          z   cxk    r(t          dt          z  t          t          f          k    sn J t          t          t          t          f          t          dt          z            z   t          dt          z            t          t          t          t          f          z   k    sJ t          t          t          t          f          dz  t          t          dz  t          t          f          k    sJ t          t          t          t          f          t          t          dz  t          t          f          z   t          t          dz  t          t          f          k    sJ t          t          t          t          f          t          t          dz  t          t          f          z   t          t          t          t          f          k    sJ t          t          t          t          f          t          dt          z  t          t          f          z   t          t          t          t          f          k    sJ t          t          t          t          f          t          t          t          t          f          z
  t          t          t          t          f          k    sJ t          t          t          t          f          t          dt          t          f          z   t          t          t          t          f          k    sJ t          t          t          t          f          t          t          dz  t          t          f          z   t          t          dz  t          t          f          k    sJ t          dt          z  t          t          f          t          dt          t          f          z   t          dt          t          f          k    sJ t          t          t          t          f          t          t          dt          z            t          t          f          z   t          t          t          t          f          k    sJ t          t          dz  t          t          f          t          t          dt          z            t          t          f          z   t          t          dz  t          t          f          k    sJ t          t          dz  t          t          f          t          t          dt          z            t          t          f          z   t          t          dt          z            t          t          f          k    sJ t          t          t                    t          t          f          j        t          dt          t                    z  t          t          f          j        cxk    rt          t                    k    sn J t          t          t          z  t          t          f          j        t          dt          t          z  z  t          t          f          j        cxk    r-t          t          t          t                    z            k    sn J t          dt          z  ddt          z  dz   z  z
  t          t          f          j        t          dz  k    sJ d S )Nr(   r    r.   r-   r;   rD   )r   r   r	   r   r   r   r   r5   r"   r#   r$   test_order_at_infinityr   ^  sK	   QB  E!aW$5$555551q"g%Ar7"3"33333QGQ%Ar7"3"33333uQB   E!aW$5$55555q1b'""QG,,a!R0A0AAAAAq1b'""QG,,a!R1b'0J0JJJJJQGa!R 1 11111AA2w''1QTAr7+;+;;;;;AA2w''1QB==88881q"gq E!Q$B$8$888881q"gq E!aW$5$555551q"gq QqS)U1a4AaC=1b'-J-JJJJJ1q"gq QqS)#a&&!)3uQT#ac((]3q66SU:=UXY[]W^7_7_____QGqs"acE!aW,=,=&=RRRRq1b'ARARRRRRRRQGq Aa!R(9(9$9NNNNU1q"g=N=NNNNNNNQGq Aa!R(9(9$9NNNNU1q"g=N=NNNNNNNQGq!t#q!teA2w.?.?'?????1q"g1a4'1QT6E!A#2w4G4G+G^^^^5QRSTQTWXZ\V]K^K^^^^^^^QGs1Q3xx'3qs88eA2w6G6G+GGGGGQGa5A2w#7#77777QGuQTAr7333uQTAr77K7KKKKKQGuQUQG444a!R8I8IIIIIQGuQqS1b'222eA2w6G6GGGGGQGuQB000E!aW4E4EEEEEQGuQB000E!aW4E4EEEEEQGuQTAr7333uQTAr77K7KKKKK1q"gq1b'!2!22eA2w6G6GGGGGQGuS1XX2w7775QG;L;LLLLLA2w%AaC1b'":"::eAqD1b'>R>RRRRRBB  5QqSAr7#;#;;uS1XXPQSUw?W?WWWWW Q!R!!&%#a&&1b'*B*B*GQQQQ3q66QQQQQQA2w$a1fq"g(>(>(CTTTTs1SQRVV8}}TTTTTT 1q!A#'{"QG,,1QW<<<<<<r#   c                     t          t          t          df          t          t          t          t          f          z   j        sJ t          t          t          df          t          t          t          t          f          z   t          t          t          t          f          t          t          t          df          z   k    sJ t          t          t          t          t          f                    t          t          t          t          f          k    sJ t	          t
          d            t	          t
          d            t	          t
          d            t	          t
          d            d S )Nr   c                  ~    t          t          t          df          t          t          t          t          f          z  S rO   r   r   r	   r"   r#   r$   r1   z8test_mixing_order_at_zero_and_infinity.<locals>.<lambda>  s'    a!Q(8(8q1b'9J9J(J r#   c                  ~    t          t          t          t          f          t          t          t          df          z  S rO   r   r"   r#   r$   r1   z8test_mixing_order_at_zero_and_infinity.<locals>.<lambda>  s'    a!R(9(9%Aq6:J:J(J r#   c                  j    t          t          t          t          t          f          t                    S r0   )r   r   r	   r   r"   r#   r$   r1   z8test_mixing_order_at_zero_and_infinity.<locals>.<lambda>  s    eA2w.?.?(C(C r#   c                  ^    t          t          t                    t          t          f          S r0   r   r"   r#   r$   r1   z8test_mixing_order_at_zero_and_infinity.<locals>.<lambda>  s    eAhhB(@(@ r#   )r   r   r	   is_Addr   r   r"   r#   r$   &test_mixing_order_at_zero_and_infinityr     s   !aVuQB0008888QFeA2w///5QG3D3DuQQRTUPVGWGW3WWWWWq1b'""##uQB'8'88888  J JKKK
 J JKKK
 C CDDD
 @ @AAAAAr#   c                     t          t          t          df          t          dt          df          k    sJ t          dt          z  dz
  t          df          t          t          dz
  t          df          k    sJ t          t           dz   t          df          t          t          dz
  t          df          k    sJ t          t          dz
  t          df          dz  t          t          dz
  dz  t          df          k    sJ t          t          dz
  t          df          t          t          dz
  t          df          z
  t          t          dz
  t          df          k    sJ d S rI   )r   r   r   r"   r#   r$   test_order_at_some_pointr     s/   QFuQA//////1q1a&!!U1q51a&%9%99999!a!Q  E!a%!Q$8$88888QA"eQUQJA&?&?????QA!AEAq6"2"22eAEAq66J6JJJJJJJr#   c                  <   dt          t                    z                       t          dt          z            dt          dt          z  t          t          f          z   k    sJ dt          t                    z                       t          d          dk    sJ t          t          t          dz            z   t          z                      t          d          dk    sJ t          t          dz                                t          t
          dz
            t          t
          dz
  dz  t
          df          k    sJ t          dt          dz  z  t          df                              t          t
          dz
            t          dt
          df          k    sJ d S )Nr(   r   r-   
   r    )r   r   r   r	   limitr   r"   r#   r$   test_order_subs_limitsr     s;   aLq!A#&&!eAaC!R.A.A*AAAAAaL1%%****q!t_a&&q!,,1111A;;Aq1u%%AzAq6)B)BBBBBAqD1a&!!&&q!a%00E!aV4D4DDDDDDDr#   c                      t          t                                        t          dd          t          d          t          t          dz
  t          df          z   k    sJ d S )Nr   r(   )r   r   seriesr   r"   r#   r$   test_issue_9351r     sL    q66==B""c"gga"fq"g0F0F&FFFFFFFr#   c                      t          d          t          d          z  t          d          k    sJ t          d          t          d          z  t          d          k    sJ d S r'   )r   r"   r#   r$   test_issue_9192r     sV    Q44!9!Q441:1r#   c                     t          t          t          t                    z  t          t                    z   t          t          f          t          t          t          t                    z  t          t          f          k    sJ d S r0   )r   r   r   r   r	   r"   r#   r$   test_issue_9910r     sT    Qs1vvXAB((AaAhB,@,@@@@@@@r#   c                      d t          d          D             } |                     t          t          dz                       t	          |                      t          d          t          d          k    sJ d S )Nc                 "    g | ]}t           |z  S r"   )r   ).0is     r$   
<listcomp>z4test_performance_of_adding_order.<locals>.<listcomp>  s    ###!A###r#   i  i  r(   )rangeappendr   r   r   r   )ls    r$    test_performance_of_adding_orderr     sf    ##uT{{###AHHQq$wZZ7<<!!$$$$$$r#   c                     t           dz  t           dz  z   t           dz  z   t          t           dz  t           t          f          z                                   t           dz  t           dz  z   t           dz  z   t          t           dz  t           t          f          z   t           d	z  fk    sJ t           d
z  t          t           dz  t           t          f          z   j        sJ t          t           dz  t           t          f                              t           d
z            du sJ t          t           t           t          f                              t          t           t           df                    J t          t           t           df                              t          t           t           t          f                    J t          t          d            d S )Nr;   r   i   r!      r-      r    Fr   c                  p    t          t          dz                                t          t          z            S )Nr    )r   r   rS   r   r"   r#   r$   r1   z"test_issue_14622.<locals>.<lambda>  s"    !Q$(8(8A(>(> r#   )r   r   r	   as_numer_denomr   rS   r   r   r"   r#   r$   test_issue_14622r     sk   Ga"gB'!AGaW*=*==MMOO	1q!tadQq!taW---q!tT5 5 5 5 5qD1QTAr7###++++QTAr7$$QT**e3333QB==!!!A1v,,//777QA<<  1q"g//777
 > >?????r#   c                  X   t          dt          dz  z  dt          dz  z  z   t          t           f          t          dt          dz  z  t          t           f          k    sJ t          dt          dz  z  t          t                    z   t          t           f          t          dt          dz  z  t          t           f          k    sJ t          dt          dz  z  t          t                     z   t          t           f          t          t          t                     t          t           f          k    sJ t          dt          z  t          t          f                              t          t                     t          dt          z  t          t           f          k    sJ d S )Nr(   r-   r   r   )r   r   r	   r   r   r"   r#   r$   test_issue_15539r     s5   Qq!tVa1f_q2#h''1Qq!tVa"X+>+>>>>>Qq!tVc!ff_q2#h''1Qq!tVa"X+>+>>>>>Qq!tVc1"ggB3x((Ac1"ggB3x,@,@@@@@QqS1b'??A2&&!BqD1rc(*;*;;;;;;;r#   c                  4    t          t          d          sJ d S rO   )r   r   r"   r#   r$   test_issue_18606r     s    UAr#   c                  r    t          t          t                                                  d          sJ d S r3   )r   r   r   rS   r"   r#   r$   test_issue_22165r     s.    SVV99a       r#   c            	         t          t          t          z  dt          z  z   t          t          f          t          t          t          t	          t                    z            t          t          f          k    sJ t          t          t          z  t          dz  z   t          t          f          t          t          t          t	          t                    z            t          t          f          k    sJ t          t          t          z  dt          dz  z  z   t          t          f          t          t          t          t	          t                    z            t          t          f          k    sJ t          dt          z  dt          z  z   t          t          f          t          t          t          t	          d          z            t          t          f          k    sJ d S )Nr-   r(   r    )r   r   r	   r   r   r"   r#   r$   test_issue_23231r     s2    QTAqD[1b'""aAc!ffH2w&?&?????QTAqD[1b'""aAc!ffH2w&?&?????QTAadF]QG$$#aAh--!R(A(AAAAAQTAqD[Ar7##qQs1vvXB'@'@@@@@@@r#   c                      t          t          t          t                    z  dz   t          t          f          t          t          t          t          f          k    sJ d S r'   )r   r   r   r	   r"   r#   r$   test_issue_9917r     sA    Qs1vvX\Ar7##qQG}}444444r#   N)asympy.core.addr   sympy.core.functionr   r   sympy.core.numbersr   r   r   r	   r
   sympy.core.singletonr   sympy.core.symbolr   r   $sympy.functions.elementary.complexesr   r   &sympy.functions.elementary.exponentialr   r   (sympy.functions.elementary.miscellaneousr   (sympy.functions.elementary.trigonometricr   r   sympy.integrals.integralsr   sympy.series.orderr   r   sympy.core.exprr   sympy.testing.pytestr   	sympy.abcr   r   r   r   r%   r+   r9   r<   r@   rB   rE   rG   rJ   rM   rQ   rT   rV   rX   rZ   r\   r`   rc   re   rg   ri   rl   rn   rp   rs   rx   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$   <module>r      s         2 2 2 2 2 2 2 2 9 9 9 9 9 9 9 9 9 9 9 9 9 9 " " " " " " / / / / / / / / G G G G G G G G = = = = = = = = 9 9 9 9 9 9 ? ? ? ? ? ? ? ? . . . . . . ' ' ' ' ' ' ' ' % % % % % % ' ' ' ' ' '                        " " "1 1 1/ / /&N N N6 6 6& & &/ / /= = =$ $ $2 2 2Q Q Q3 3 39 9 9, , ,9 9 9
C C C
> > >8 8 8H H H: : :> > >0 0 0@ @ @5 5 56 6 6! ! !? ? ?  7 7 7  " " "
" " "
> > ># # #> > >, , ,
  5 5 5  
< 
< 
<@ @ @* * **= *= *=X	B 	B 	BK K KE E EG G G  
A A A% % %
@ @ @< < <  ! ! !A A A5 5 5 5 5r#   