
    oVhE                     ^   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 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 dl$m+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. ZId/ ZJd0 ZKd1 ZLd2 ZMd3 ZNd4 ZOd5 ZPd6 ZQd7 ZRd8 ZSd9 ZTd: ZUd; ZVd< ZWd= ZXd> ZYe+d?        ZZd@ Z[dA Z\dB Z]dC Z^dD Z_dE Z`dF ZadG ZbdH ZcdI ZddJ ZeyK)L    )Add)Functionexpand)IRationalnanoopi)S)Symbolsymbols)	factorial)	conjugate	transpose)explog)sqrt)cossin)Integral)OOrder)	unchanged)raises)wxyz)XFAILc                      t        t               t        t        dt        z  t        d      z  t        d      z  z  t               y )N      )r   r   r   r        M/home/dcms/DCMS/lib/python3.12/site-packages/sympy/series/tests/test_order.pytest_caching_bugr'      s/     aDa"Q$s1v+c!f
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 y N   )r   free_symbolssetr   r   r$   r%   r&   test_free_symbolsr-      s    8  CE)))8  QC'''A;##s***1:""q!f,,,Aq>&&1a&000r%   c                  Z   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	        y )
Nr      r"   ir*   r#   c                  F    t        t        t              t        t              S N)r   r   r   r$   r%   r&   <lambda>ztest_simple_1.<locals>.<lambda>2   s    uSVQ2 r%   c                  0    t        t        dt        z
        S Nr/   r   r   r$   r%   r&   r3   ztest_simple_1.<locals>.<lambda>3   s    eAq1uo r%   )
r   r   r   r   r   exprr   r   
ValueError	TypeError)os    r&   test_simple_1r;   #   s   A1:q!!!8A:q!!!uQx<58###q?eAh&&&q1uQxA!6666:q!!!Q=E!QK'''QqS?3qs8+++3qs8!!Qs1Q3xZ///QqS?1qs8+++Qx1~%&',,Ahq!n4D0EEEEAAq!Qq!W,,,AAq!Qq!W,,,
:23
9-.r%   c                  V   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 y )Nr/   r*   r"   )r   r   r   r   r7   r$   r%   r&   test_simple_2r>   6   s    1:a<5A;&&&1:a<5A;&&&1:a<AaC E!Q$s1Q3x-$8888!A#JqLQqS!#a&!)+11QT#ac(]3q62:5MMMMr%   c                  r   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 y Nr/   r*   r   r   r   r$   r%   r&   test_simple_3rB   =   s    8a<58###8a<1uQx<'''8ad?eAh&&&8ac>QqS58^+++1:!Q$!AqD&51:"55558c!A#h%(S1X"5555r%   c                  R    t        t              dz  t        t        dz        k(  sJ y r5   r6   r$   r%   r&   test_simple_4rD   F   s     8Q;%1+%%%r%   c                  H   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 y )Nr/   r*   r6   r$   r%   r&   test_simple_5rG   J   ss    8eAqDk!U1X---8eArEl"eArEl2228eAaCj E!A#J...r%   c                  H   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 y )Nr*   r/   r"   r=   rA   r$   r%   r&   test_simple_6rI   P   s   8eAh%(***8eAh%(***8eAqDk!U1X---1:a E!A#J...8eC!Ho%s1Q3x888A;s1Q3x(E#ac(O;;;B<%AaC/)U3qs8_<<<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 y Nr*   r/   )r   r   r$   r%   r&   test_simple_7rL   Z   sv    qt8qtqt8qtqt8qtQ31:1qt###r%   c                     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 y )Nr/   r#   r"   	   rF   )r   r   r   r   r   r$   r%   r&   test_simple_8rO   a   s    T1"X;!DG*$$$QT$q'\?a8Aq> 12222QT$!ax. !Qq(1a.'8%9999QAtaR!G},-1a4888Q1!}_1qbAaC[=!1111r%   c                     t        t              j                  d       t        t        dfffk(  sJ t        t              j                  t        dff      t        t        dfffk(  sJ t        t              j                  t        dff      t        t        dft        dfffk(  sJ t        t              j                  t        dft        dff      t        t        dft        dfffk(  sJ y Nr   )r   r   as_expr_variablesr   r$   r%   r&   test_as_expr_variablesrS   i   s    8%%d+QF9~===8%%1vi0Q!Q	NBBB8%%1vi0Q!Q!Q8H4IIII8%%1v1v&67AAA?O;PPPPr%   c                     t        dt              j                  t        dt                    sJ t        dt              j                  t        d            sJ t        d      j                  t        dt                    du sJ y )Nr*   F)r   r   containsr$   r%   r&   test_contains_0rV   p   sc    A;a,,,A;a)))8U1a[)U222r%   c                  P   t        t              j                  t        t                    sJ t        t              j                  t        t        dz              sJ t        t        dz        j                  t        t                    rJ t        t              j                  t        dt        z              rJ t        dt        z        j                  t        t        dt        z                    rJ t        t              j                  t        t        dt        z                    rJ t        dt        z        j                  t        t                    sJ t        t        dt        z              j                  t        t                    sJ t        t        dt        z              j                  t        dt        z              sJ t        t        dt        z              j                  t        t        dt        z                    sJ t        t        dt        z              j                  t        t        dt        z                    sJ t        t        dt        z              j                  t        t        dt        z                    rJ y r@   )r   r   rU   r   r$   r%   r&   test_contains_1rX   v   s   8U1X&&&8U1a4[)))QT{##E!H---Qx  qs,,,QqSz""5QqS?333Qx  s1Q3x1111:uQx(((QqS?##E!H---QqS?##E!A#J///QqS?##E#ac(O444QqS?##E#ac(O444S1X''c!A#h8888r%   c                     t        t              j                  t        t                    J t        t              j                  t        t        t        z              sJ t        t        t        z        j                  t        t                    sJ t        t              j                  t        t        t        z              sJ t        t              j                  t        t        dz  t        z              sJ y r5   )r   r   rU   r   r$   r%   r&   test_contains_2rZ      s    8U1X&...8U1Q3Z(((1:uQx(((8U1Q3Z(((8U1a46]+++r%   c                     t        t        t        dz  z        j                  t        t        dz  t        z              J t        t        dz  t        z        j                  t        t        t        dz  z              J y r5   )r   r   r   rU   r$   r%   r&   test_contains_3r\      s`    1a4=!!%1Q-0888Aa=!!%!Q$-0888r%   c            	      8   t        t        dt        dz  z              j                  t        t	        dt        dz  z                    du sJ t        t	        dt        dz  z              j                  t        t        dt        dz  z                    du sJ y )Nr*   r/   T)r   r   r   rU   r   r$   r%   r&   test_contains_4r^      sx    Qq!tV&&uS1a4['9:dBBBQq!tV&&uS1a4['9:dBBBr%   c                      t        dt              t        d      vsJ t        d      t        dt              v sJ t        t        d        y )Nr*   c                  f    t        t        t        dz  z        t        t        dz  t        z        v S r5   r   r   r   r$   r%   r&   r3   ztest_contains.<locals>.<lambda>   s#    eAadFmuQT!V}< r%   )r   r   r   r9   r$   r%   r&   test_containsrb      s=    A;eAh&&&8uQ{"""
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 y )Nr"   r/   r*      )r   r   r   r   r$   r%   r&   
test_add_1re      s    Q<58###1qAv%(***Q<5A;&&&QqS>U1Q3Z'''
 Q!CF("#uc!fai!mSV-C'DDDDQqSA%AaC/111QqSAaeG#$c!A#h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 y )Nr/   r"   )r   r   r   r   r$   r%   r&   test_ln_argsrg      s    SV9qQqS{"aAi///SV9qQT|#qQy000S1X;3q6CF?++qQ#a&!Q/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 y r@   )r   r   r   r7   r   r   r$   r%   r&   test_multivar_0ri      s=   1:??ac!!!1a4=1a4'''1a="""1a4  AqD(((1Q<!A%%%1:??ac!!!3qs8!!Qs1Q3xZ///QAaC!&&#a&QqS/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 y r)   )r   r   r   r   r7   r$   r%   r&   test_multivar_0ark      sE    QqS#ac("#((C!HS1X,====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 y r@   r   r   r   r7   r$   r%   r&   test_multivar_1rn      s    Q<A%%%QqS>!a%'''!a%L1""q1u---!a%L1a4E!a%L000!a%L1Q31Q3q1u#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 y r5   rm   r$   r%   r&   test_multivar_2rp      sG    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 y r5   ra   r$   r%   r&   test_multivar_mul_1rr      s1    Q<>U1a4!A#:q!4444r%   c                  H   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 y r5   )r   r   r   argsr$   r%   r&   test_multivar_3ru      s)   !HuQx%%	q58	q58*    8eAhq1u-q1u===!Q$q&ME!Q$q&M)//	qAva1f&	qAva1f&4( ( ( ( !Q$q&ME!A#J&51:555r%   c                      t        dd      } t        dd      }t        t               t        |        t        |       t        j                  J | j                  du sJ |j                  J y )Nr   T)negativer   )complexF)r   r   r   is_positive)r   r   s     r&   test_issue_3468rz      sc    sT"AsD!A 
!H	!H	!H==   ==E!!!==   r%   c                     t         dz   dt         dz  z  z   j                  t               dt         dz  z  t        dt         dz  z        ffk(  sJ ddt         z  z   j                  t               dt         z  t        dt         z        ffk(  sJ dt         z   j                  t               dt        dt               ffk(  sJ dt         dz  z   j                  t               dt        dt               ffk(  sJ dt         dz  z   j                  t               dt        dt               ffk(  sJ t         t         dz  z   j                  t               t         t        t               ffk(  sJ y )Nr*   r#   r/   )r   extract_leading_orderr   r$   r%   r&   test_leading_orderr}      s)   EAadFN11!4!AqD&!AadF)9L8NNNN!G**1-1Q3!A#-1AAAAE((+AaG>>>1H++A.AqAw</AAA1H++A.AqAw</AAA1H++A.Aqt9,>>>r%   c                     t        dt        z   t        dz  z   j                  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   j                  t                    dt        z  t	        t              ft        t        z  t	        t              fhk(  sJ y r@   )r,   r
   r   r|   r   r   r$   r%   r&   test_leading_order2r      s    BA44Q78b!Aq']qT1Q7O=   !bd
QT!88;<!A#qtrT1Q4LA   r%   c                  |    t        t        dz        j                  t        d d      t        t        dz        k(  sJ y r@   )r   r   _eval_as_leading_termr$   r%   r&   test_order_leadtermr      s/    QT7((D!4!Q$???r%   c                     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 y rK   )r   r   r   r   r   )es    r&   test_order_symbolsr      sc    	!CF
8A1ay))AQ41QT!VQ?"""Q7a1gr%   c                  z    t        t              t        u sJ t        t              j                  t              rJ y r2   )r   r   r   rU   r$   r%   r&   test_nanr     s+    S6S==t}}S!!!!r%   c                      t        dt              t        z  t        t              k(  sJ t        dt              t        z  t        dt              k(  sJ y r)   )r   r   r   r$   r%   r&   test_O1r   	  s<    Q7Q;!A$Q7Q;!Aq'!!!r%   c                     t        t              j                         dk(  sJ t        t        t        t              z        j                         dk(  sJ t        t        dz  t        t              dz  z        j                         dk(  sJ t        t        t        t              z        j                         dk(  sJ t	        t
        d        y )Nr*   r/   c                  \    t        t              t        t              z   j                         S r2   r   r   r   getnr$   r%   r&   r3   ztest_getn.<locals>.<lambda>      1!(:(:(< r%   )r   r   r   r   r   NotImplementedErrorr$   r%   r&   	test_getnr     s    Q499;!Qs1vX;"""QT#a&!)^!!#q(((Qs1vX;"""
 <=r%   c                  r    t        t        dz        j                  t              t        t              k(  sJ y r5   )r   r   diffr$   r%   r&   	test_diffr     s$    QT7<<?ad"""r%   c                  T   t        j                         J t        j                         t         k(  sJ t        t               j                         t        t               k(  sJ t        t               j                         dk(  sJ t        t        t               z   t        t
              z   j                         t        t               t        t
              z   k(  sJ t        t        t               z   t        t
              z   j                         t        k(  sJ t        t        d        y )Nr   c                  \    t        t              t        t              z   j                         S r2   r   r$   r%   r&   r3   ztest_getO.<locals>.<lambda>"  r   r%   )r   getOremoveOr   r   r   r   r   r$   r%   r&   	test_getOr     s    88:;;=AaD;;=AaD   aD>>q   !HqtO!!#qtad{222!HqtO$$&!+++
 <=r%   c                      ddl m}  t        d | dt        z        z        t        dt	        t              z        k(  sJ y )Nr   digammar*   )'sympy.functions.special.gamma_functionsr   r   r   r   r   s    r&   test_leading_termr   %  s0    ?Qwqs|^!CF(+++r%   c                  ,   t        t              j                  t        t              d      dk(  sJ t        t              j                  t        t              t        t              k(  sJ t        t              j                  t        t              t        t              k(  sJ t        t              j                  t        t        t        z         t        t        t        z   t        t         f      k(  sJ t	        d      t        z  j
                  sJ y r)   )r   r   subsr   r   is_Powr$   r%   r&   	test_evalr   *  s    8==q1%***8==A%(***8==A%(***8==AE"eAEAr7&;;;;aD!Gr%   c                  0   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 y )Nza br*   )r   r   )abs     r&   test_issue_4279r   2  s   5>DAqQ1:!Q
"a1aj000Q1:!Q
"a1aj000QUAq>AaAJ&!Aq!*444Q1:!Q
"a1aj000Q1:!Q
"a1aj000Q1:!a%A&!Aq!*444r%   c                  t   dt        d      z  t        d      k7  sJ dt        t              z  t        dt        z        k7  sJ dt        t        t        t        f      z  t        dt        z  t        t        f      k7  sJ t        d      } dt         | t                    z  t        dt        z        k7  sJ y )Nr*   f)r   r   r	   r   )r   s    r&   test_issue_4855r   <  s    QqT6QqT>>QqT6QqsVQq1b']?a!aWo---AQqtW9!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 y )Nr   T)realr   )	imaginaryr/   )r   r   r   r   )r   r   s     r&   test_order_conjugate_transposer   E  s:   sAsd#AU1X%	!"5555U1X%	!"5555U1a4[!U9Q<?%;;;;U1a4[!U9Q<?%;;;;U1X%	!"5555U1X%	!"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 y )NAF)commutativer*   r/   )r   r   r   r   )r   s    r&   test_order_noncommutativer   R  s0   s&AQqS!a+++!GU1Xq)))aCq>U1a4^+++1uQx<"1$Q&'1Q3q55Aq>+AAAA1Q3q>1$%1Qq!tQ)????1uQx<"1$%1Qq!tQ)????r%   c                  f    dt         dz  z   dz  t        t               z  t        t               k(  sJ y )Nr*   r/   i'  )r   r   r$   r%   r&   test_issue_6753r   \  s*    1HuQqT!QqT)))r%   c                     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J  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J  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J  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J  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J  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J  J t        dt        z  ddt        z  dz   z  z
  t        t        f      j                  t        dz  k(  sJ y )Nr*   r"   r0   r/   r=   rF   )r   r   r	   r   r   r   r   r7   r$   r%   r&   test_order_at_infinityr   `  s   QB E!aW$55551q"g%Ar7"3333QGQ%Ar7"3333uQB  E!aW$5555q1b'"QG,a!R0AAAAq1b'"QG,a!R1b'0JJJJQGa!R 1111AA2w'1QTAr7+;;;;AA2w'1QB=8881q"gq E!Q$B$88881q"gq E!aW$55551q"gq QqS)U1a4AaC=1b'-JJJJ1q"gq QqS)#a&!)3uQT#ac(]3q6SU:=UXY[]W^7____QGqs"acE!aW,=&=Rq1b'ARRRRRRQGq Aa!R(9$9NU1q"g=NNNNNNQGq Aa!R(9$9NU1q"g=NNNNNNQGq!t#q!teA2w.?'????1q"g1a4'1QT6E!A#2w4G+G^5QRSTQTWXZ\V]K^^^^^^QGs1Q3x'3qs8eA2w6G+GGGGQGa5A2w#7777QGuQTAr733uQTAr77KKKKQGuQUQG44a!R8IIIIQGuQqS1b'22eA2w6GGGGQGuQB00E!aW4EEEEQGuQB00E!aW4EEEEQGuQTAr733uQTAr77KKKK1q"gq1b'!22eA2w6GGGGQGuS1X2w775QG;LLLLA2w%AaC1b'"::eAqD1b'>RRRRBB 5QqSAr7#;;uS1XPQSUw?WWWW Q!R!&&%#a&1b'*B*G*GQ3q6QQQQQA2w$$a1fq"g(>(C(CTs1SQRV8}TTTTT 1q!A#'{"QG,11QW<<<r%   c                  P   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        y )Nr   c                  d    t        t        t        df      t        t        t        t        f      z  S rQ   r   r   r	   r$   r%   r&   r3   z8test_mixing_order_at_zero_and_infinity.<locals>.<lambda>  s!    a!Q(8q1b'9J(J r%   c                  d    t        t        t        t        f      t        t        t        df      z  S rQ   r   r$   r%   r&   r3   z8test_mixing_order_at_zero_and_infinity.<locals>.<lambda>  s!    a!R(9%Aq6:J(J r%   c                  R    t        t        t        t        t        f      t              S r2   )r   r   r	   r   r$   r%   r&   r3   z8test_mixing_order_at_zero_and_infinity.<locals>.<lambda>  s    eA2w.?(C r%   c                  H    t        t        t              t        t        f      S r2   r   r$   r%   r&   r3   z8test_mixing_order_at_zero_and_infinity.<locals>.<lambda>  s    eAh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8888QFeA2w//5QG3DuQQRTUPVGW3WWWWq1b'"#uQB'8888  JK
 JK
 CD
 @Ar%   c                  J   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 y rK   )r   r   r   r$   r%   r&   test_order_at_some_pointr     s    QFuQA////1q1a&!U1q51a&%9999!a!Q E!a%!Q$8888QA"eQUQJA&????QA!AEAq6"22eAEAq66JJJJr%   c            	         dt        t              z   j                  t        dt        z        dt        dt        z  t        t        f      z   k(  sJ dt        t              z   j	                  t        d      dk(  sJ t        t        t        dz        z   t        z  j	                  t        d      dk(  sJ t        t        dz        j                  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      j                  t        t
        dz
        t        dt
        df      k(  sJ t        t              j                  t        t        t                    t        t              k(  sJ t        t        dz        j                  t        t        t        t              z         t        t        dz        k(  sJ t        t        t        t        f      j                  t        t        t        t        t        f            t        t        t        t        f      k(  sJ t        t        dz  t        t        f      j                  t        t        t        t        t        t        f      z         t        t        dz  t        t        f      k(  sJ t        t        t        dz        z   j                  t        t        t        t        dz        z         t        t        t        dz        z   k(  sJ t        dz  t        t        dz        z   dt        dz  z  z   j                  t        t        t        t        dz        z         t        t        t        dz        z   dz  t        t        dz        z   k(  sJ t        dz  t        t        dz        z   dz   j                  t        t        t        t        dz        z         dt        t        dz        z   k(  sJ t        t        t        t        f      j                  t        t        t        t        dz  t        t        f      z         t        t        dz  t        t        f      k(  sJ t        t              j                  d      j                  t        t        t              j                  d            j                         t        t        dz  dz  z
  t        d	z  dz  z   dt        d
z  z  dz  z
  t        t        dz        z   k(  sJ t        t              j                  d      j                  t        t        t              j                  d            j                         dt        dz  dz  z
  d	t        dz  z  dz  z   dt        dz  z  dz  z
  t        t        dz        z   k(  sJ t        t              j                  t        t        dt        z  t        t        f            t        dt        z  t        t        f      k(  sJ y )Nr*   r   r/   
   r"   rF      )nr#      i;        %      i  )r   r   r   r	   limitr   r   r   seriesr   r   r$   r%   r&   test_order_subs_limitsr     se   aLq!A#&!eAaC!R.A*AAAAaL1%***q!t_a&&q!,111A;Aq1u%AzAq6)BBBBAqD1a&!&&q!a%0E!aV4DDDD Q499Q!1%%%QT7<<1qt8$!Q$///QB=a1q"g/1QB=@@@QTAr7  A!aW$56!AqD1b':JJJJ!Q$KaQq!tW-Qq!tW<<<qD1QT7NQq!tV#))!Q1a4[9a!AqD'kR=PSTUVXYUYSZ=ZZZZqD1QT7NQ$$QAadG4AadGCCCQB=aQq!taW%5!56!AqD1b':JJJJq6==1=""1SV]]Q]%78??AQAaZRSUVRVWYRYEY\]^_ab^b\bcf\fEfijklnokoipEppppq6==1=""1SV]]Q]%78??AQAaZRSTUWXTXRXY[R[E[^`abdeae^efi^iEilmnoqrnrlsEssssQ499Q!A#2w(AacAr7O;;;r%   c                      t        t        dz        j                  t        t        t        dz               t        t        dt        dz  z        t        t         f      k(  sJ t        t        d        y )Nr"   r/   r=   c                  h    t        t              j                  t        t        dt        z              S r)   )r   r   r   r$   r%   r&   r3   z4test_order_failing_due_to_solveset.<locals>.<lambda>  s    !		!QqsV(< r%   )r   r   r   r   r	   r   r   r$   r%   r&   "test_order_failing_due_to_solvesetr     sR    QT7<<31u:&!C1a4L1rc(*CCCC
 <=r%   c                      t        t              j                  t        dd      t        d      t        t        dz
  t        df      z   k(  sJ y )Nr   r*   )r   r   r   r   r$   r%   r&   test_issue_9351r     s9    q6==B"c"ga"fq"g0F&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 y r)   )r   r$   r%   r&   test_issue_9192r     s>    Q4!9!Q4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 y r2   )r   r   r   r   r	   r$   r%   r&   test_issue_9910r     s?    Qs1vXAB(AaAhB,@@@@r%   c                      t        d      D  cg c]  } t        | z   }} |j                  t        t        dz               t	        | j                  t        d      t        d      k(  sJ y c c} w )Ni  i  r*   )ranger   appendr   r   r   )ils     r&    test_performance_of_adding_orderr     sW    T{#!A#A#HHQq$wZ7<<!!$$$ 	$s   A,c                     t         dz  t         dz  z   t         dz  z   t        t         dz  t         t        f      z   j                         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      j                  t         d
z        du sJ t        t         t         t        f      j                  t        t         t         df            J t        t         t         df      j                  t        t         t         t        f            J t        t        d        y )Nr=   r!   ir   r#   r   r/   r   r"   Fr   c                  Z    t        t        dz        j                  t        t        z        S )Nr"   )r   r   rU   r   r$   r%   r&   r3   z"test_issue_14622.<locals>.<lambda>  s    !Q$(8(8A(> r%   )r   r   r	   as_numer_denomr   rU   r   r   r$   r%   r&   test_issue_14622r     s4   Ga"gB'!AGaW*==MMO	1q!tadQq!taW--q!tT5 5 5 5qD1QTAr7##++++QTAr7$$QT*e333QB=!!!A1v,/777QA<  1q"g/777
 >?r%   c                     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      j	                  t        t               t        dt        z  t        t         f      k(  sJ y )Nr*   r/   r   r!   )r   r   r	   r   r   r$   r%   r&   test_issue_15539r     s   Qq!tVa1f_q2#h'1Qq!tVa"X+>>>>Qq!tVc!f_q2#h'1Qq!tVa"X+>>>>Qq!tVc1"gB3x(Ac1"gB3x,@@@@QqS1b'?A2&!BqD1rc(*;;;;r%   c                  (    t        t        d      sJ y rQ   )r   r   r$   r%   r&   test_issue_18606r     s    UAr%   c                  V    t        t        t                    j                  d      sJ y r5   )r   r   r   rU   r$   r%   r&   test_issue_22165r     s    SV9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 y )Nr/   r*   r"   )r   r   r	   r   r   r$   r%   r&   test_issue_23231r     s     QTAqD[1b'"aAc!fH2w&????QTAqD[1b'"aAc!fH2w&????QTAadF]QG$#aAh-!R(AAAAQTAqD[Ar7#qQs1vXB'@@@@r%   c                      t        t        t        t              z  dz   t        t        f      t        t        t        t        f      k(  sJ y r)   )r   r   r   r	   r$   r%   r&   test_issue_9917r     s1    Qs1vX\Ar7#qQG}444r%   c            	      ,   t        dt        z  t        t              z   t        t        f      t        t        t              t        t        f      k(  sJ t        dt        z  t        t              z   t        t        z  z   t        t        f      t        t	        t        t        t              z        t        t        f      k(  sJ t        t        t        t              z   t        t        f      t        t        t              t        t        f      k(  sJ y r5   )r   r   r   r	   r   r   r$   r%   r&   test_issue_22836r     s    QTIaL 1b'*a	!q"g.FFFFQTIaL 1a4'!R1Qs1SV8}q"g5NNNNQ12w'1Yq\Ar7+CCCCr%   N)fsympy.core.addr   sympy.core.functionr   r   sympy.core.numbersr   r   r   r	   r
   sympy.core.singletonr   sympy.core.symbolr   r   (sympy.functions.combinatorial.factorialsr   $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'   r-   r;   r>   rB   rD   rG   rI   rL   rO   rS   rV   rX   rZ   r\   r^   rb   re   rg   ri   rk   rn   rp   rr   ru   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   r   r   r$   r%   r&   <module>r      s{    2 9 9 " / > G = 9 ? . ' % '     &"1/&N6&/=$2Q39,9
C
>8H:>0@56!?@"
"
>#>,
5
<@**=X	BK<. > >
G
A%
@<!A5Dr%   