
    RieQ                        d dl mZ d dlmZmZmZmZmZmZm	Z	m
Z
 d dlmZmZmZ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mZ d d	l m!Z! d d
l"m#Z#m$Z$m%Z% d dl&m'Z' d dl(m)Z)  ed          Z* edd          Z+ edd          Z, edd          \  Z-Z.d Z/d Z0d Z1d Z2d Z3d Z4e)d             Z5d Z6d Z7d Z8d Z9d  Z:d!S )"    )AccumBounds)EFloatIRationalnanoopizoo)EqGeGtLeLtNe)S)Symbolsymbols)	factorial)explog)ceilingfloorfrac)sqrt)sincostan)	unchanged)XFAILxiT)	imaginaryyrealzk,n)integerc                  N(   t          t                    t          u sJ t          t                    t          u sJ t          t                     t           u sJ t          t                    t          u sJ t          d          dk    sJ t          d          dk    sJ t          d          dk    sJ t          t                    dk    sJ t          t                     dk    sJ t          dt          z            dk    sJ t          dt          z            dk    sJ t          t
                    d	k    sJ t          t
                     d
k    sJ t          t          j                  dk    sJ t          t          dd                    dk    sJ t          t          dd	                    dk    sJ t          t          dd	                    dk    sJ t          t          dd	                     dk    sJ t          t          d                    dk    sJ t          t          d                     dk    sJ t          t          d                    dk    sJ t          t          d                     dk    sJ t          t                    t          k    sJ t          t                     t           k    sJ t          t                    } | j        t           u r| j        d         t          k    sJ t          t          t          z            t          t          z  k    sJ t          t           t          z            t           t          z  k    sJ t          t          t          t
          z  dz            t          z            t          t          t
          z  dz            t          z  k    sJ t          dt          z            dt          z  k    sJ t          dt          z            dt          z  k    sJ t          t          dz            dk    sJ t          t           dz            t           k    sJ t          t          dz             dk    sJ t          t
          dz             dk    sJ t          t          t
          z             dk    sJ t          t          t
          z             d	t          z   k    sJ t          t          t
                              d	k    sJ t          t          t                              t          t                    k    sJ t          t          t                               t          t                     k    sJ t#          t           t                     sJ t#          t           dt           z            sJ t#          t           t$          t           z            sJ t          t$                    t$          k    sJ t          dt$          z            dt$          z  k    sJ t          t$          t&          z            t$          t&          z  k    sJ t#          t           t$          dz            sJ t#          t           t           t          z             sJ t          t           d	z             t          t                     d	z   k    sJ t          t           t$          z             t          t                     t$          z   k    sJ t          t          d	z             t          t                    d	z   k    sJ t          t          t$          z             t          t                    t$          z   k    sJ t          d	t          t          z  z   t
          z             dt          t                    t          z  z   k    sJ t          t$          t&          z             t$          t&          z   k    sJ t#          t           t           t          z            sJ t          t$          t          z            t$          t          z  k    sJ t          t          dd          t          t          z  z
            dd	t          z  z
  k    sJ t          t)          d                    dk    sJ t          t)          d                    dk    sJ t          t          d                    dk    sJ t          t+          d          t+          d          z            dk    sJ t-          t          t+          d          t+          d          z                                d                    d	k    sJ t          t1          d          t          d          z            dk    sJ t          t                    t          k     dk    sJ t          t                    t          k    dk    sJ t          t                    t          k    dk    sJ t          t                    t          k    dk    sJ t          t                     t           k    j        sJ t          t                     t           k    j        sJ t          t                     t          k    j        sJ t          t                     t          k    j        sJ t          t                    t          k    dk    sJ t          t                    t          k     dk    sJ t          t                    t           k    dk    sJ t          t                    t           k    dk    sJ t          t                                        t6                    t          t7          t                    z
  k    sJ t          t                                        t8                    t9          t                      k    sJ t          t                                        t6                                        t          t
                     t          t
                     k    sJ t          t                                        t6                                        t          t                    t          t                    k    sJ t          t                                        t8                                        t          t                    t9          t                      k    sJ t          t                                        t8                                        t          t
                     t9          t
                     k    sJ t=          t          t                    t          t7          t                    z
            sJ t=          t          t                    t9          t                                sJ t?          dd          }t?          dd           }t?          d!d"          }t?          d#d$          }t          |          dk     dk    sJ t          |          dk    dk    sJ t          |          dk    dk    sJ t          |          dk    dk    sJ t          |          dk    dk    sJ t          |          dk    |dk    k    sJ t          |          dk     |dk     k    sJ t          |          dk     dk    sJ t          |          dk    dk    sJ t          |          dk     dk    sJ t          |          dk    |dk     k    sJ t          |          dk    |dk    k    sJ t          |          dk    dk    sJ t          |          d	k    |d	k    k    sJ t          |          dk    dk    sJ t          |          dk    dk    sJ t          |          j         dk    sJ t          |          j!        dk    sJ t          |          j         dk    sJ t          |          j!        dk    sJ t          |          j         dk    sJ t          |          j!        dk    sJ t          |          j         J t          |          j!        J t          dd%          dk    dk    sJ t          dd%          dk    dk    sJ t          dd%          dk    dk    sJ t          dd%          dk     dk    sJ t          dd%          dk    dk    sJ t          dd%          dk    dk    sJ t          dd%          dk    dk    sJ t          dd%          dk     dk    sJ t          dd%          dk    dk    sJ t          dd%          dk    dk    sJ t          dd%          dk    dk    sJ t          dd%          dk     dk    sJ t          t                     d&k    tE          t          t                     d&d%          k    sJ t          t                     d'k    tG          t          t                     d'd%          k    sJ t          t                     d(k     tI          t          t                     d(d%          k    sJ t          t                     d)k    tK          t          t                     d)d%          k    sJ t          t                    d&k    t          dk     k    sJ t          t                    d'k    t          dk    k    sJ t          t                    d(k     t          d	k     k    sJ t          t                    d)k    t          dk    k    sJ t          t                    t&          k    t          t&          dz   k     k    sJ t          t                    t&          k    t          t&          k    k    sJ t          t                    t&          k     t          t&          k     k    sJ t          t                    t&          k    t          t&          dz   k    k    sJ d S )*Nr            i            1@   (\@i            
      Tchop2   l   '~$DA7YD3':^Xf Fnegnegativennnonnegativepospositivenpnonpositiveevaluate      @皙	333333@333333)&r   r   r	   r   r   r
   r   Halfr   r   r   r"   funcargsr   r$   r!   r   knr   r   intevalfr   is_Relationalrewriter   r   subsr   r   is_negativeis_nonnegativer   r   r   r   er@   rC   rF   rI   s        Nlib/python3.11/site-packages/sympy/functions/elementary/tests/test_integers.py
test_floorra      s   ::99????"::"::88q====88q====99????88q====!99????1::????A;;"99>>>>"::==A"a!!R''''!Q  A%%%%"a!!R''''(1a..!!R''''t####%++#%%%%t""""%++"$$$$88q====!99????aA6U??qvayA~~~~A;;"Q$"Q<<B3q5    QrT!VR  C"QKKN22221::1A;;"Q$1::????!A;;1"R==Ba==AR==AR==AE!!!!rq    q??eAhh&&&&q??eAhh&&&&UAUAaC     UAaC     88q====1::11::1UAaC     UAE"""""Q<<588a<''''Q<<588a<''''Q<<588a<''''Q<<588a<''''QqS2!eAhhqj.0000Q<<1q5    UAaC     1::1"b!!AaC'((A!G3333Q==AR>>RQ==AQA1$$$$uSVVCFF]##))t)4455::::2s1vv%&&IJ J J J !HHqLU""""!HHMd""""!HHqLU""""!HHMe####!HHM((((!HHqL''''!HHM((((!HHqL''''!HHNt####!HHrMd""""!HHO$$$$!HHsNt####88D!!Qa[000088G$$!444488D!!&&q2#..%**<<<<88D!!&&q!,,a888888G$$))!Q//GQBKK<????88G$$))!bS11gbkk\AAAAeAhhDGG$$$$$eAhh!%%%%%

&
&
&C	$	'	'	'B

&
&
&C	$	'	'	'B#JJNt#####JJ!O$$$$#JJNu$$$$#JJ!O%%%%#JJ"%%%%#JJ"#),,,,#JJNa(((("IIMe####"IINt#####JJNu$$$$#JJ!Oq))))#JJNq))))#JJ!O$$$$#JJ!O****"IINt####"IIMe####::!T))))::$----99 E))))99#t++++::!U****::$,,,,99 (((99#+++!e$$$)d2222!e$$$q(U2222!e$$$)d2222!e$$$q(U2222!e$$$)d2222!e$$$q(T1111!e$$$)e3333!e$$$q(U2222!e$$$)e3333!e$$$q(U2222!e$$$)d2222!e$$$q(T1111!HHO588S5 A A AAAAA!HHE!HHdU!C!C!CCCCC!HHsNr%((C%@@@@@@@!HHtO588TE B B BBBBB!HHOQ''''!HH!r'****!HHsNA&&&&!HHtOb))))!HHMq1q5y))))!HHMqAv&&&&!HHqLa!e$$$$!HHqLa1q5j))))))    c                  (   t          t                    t          u sJ t          t                    t          u sJ t          t                     t           u sJ t          t                    t          u sJ t          d          dk    sJ t          d          dk    sJ t          d          dk    sJ t          t                    dk    sJ t          t                     dk    sJ t          dt          z            dk    sJ t          dt          z            dk    sJ t          t
                    d	k    sJ t          t
                     d
k    sJ t          t          j                  dk    sJ t          t          dd                    dk    sJ t          t          dd                    dk    sJ t          t          dd                     dk    sJ t          t          d                    dk    sJ t          t          d                     dk    sJ t          t          d                    dk    sJ t          t          d                     dk    sJ t          t                    t          k    sJ t          t                     t           k    sJ t          t                    } | j        t           u r| j        d         t          k    sJ t          t          t          z            t          t          z  k    sJ t          t           t          z            t           t          z  k    sJ t          t          t          t
          z  d	z            t          z            t          t          t
          z  d	z            t          z  k    sJ t          dt          z            dt          z  k    sJ t          dt          z            dt          z  k    sJ t          t          dz            t          k    sJ t          t           dz            dk    sJ t          t          dz             dk    sJ t          t
          dz             dk    sJ t          t          t
          z             dk    sJ t          t          t
          z             t          d	z   k    sJ t          t          t
                              d	k    sJ t          t          t                              t          t                    k    sJ t          t          t                               t          t                     k    sJ t#          t           t                     sJ t#          t           dt           z            sJ t#          t           t$          t           z            sJ t          t$                    t$          k    sJ t          dt$          z            dt$          z  k    sJ t          t$          t&          z            t$          t&          z  k    sJ t#          t           t$          dz            sJ t#          t           t           t          z             sJ t          t           dz             t          t                     dz   k    sJ t          t           t$          z             t          t                     t$          z   k    sJ t          t          dz             t          t                    dz   k    sJ t          t          t$          z             t          t                    t$          z   k    sJ t          dt
          z   t          t          z  z             dt          t                    t          z  z   k    sJ t          t$          t&          z             t$          t&          z   k    sJ t#          t           t           t          z            sJ t          t$          t          z            t$          t          z  k    sJ t          t          dd          t          t          z  z
            ddt          z  z
  k    sJ t          t)          d                    dk    sJ t          t)          d                    dk    sJ t          t          d                    dk    sJ t          t+          d           t+          d          z            dk    sJ t-          t          t+          d           t+          d          z                                d                    d
k    sJ t          t1          d          t          d          z            dk    sJ t          t                    t          k    dk    sJ t          t                    t          k    dk    sJ t          t                    t          k     dk    sJ t          t                    t          k    dk    sJ t          t                     t           k    j        sJ t          t                     t           k     j        sJ t          t                     t          k    j        sJ t          t                     t          k     j        sJ t          t                    t           k    dk    sJ t          t                    t           k    dk    sJ t          t                    t          k    dk    sJ t          t                    t          k     dk    sJ t          t                                        t6                    t7          t                      k    sJ t          t                                        t8                    t          t9          t                     z   k    sJ t          t                                        t6                                        t          t
                     t7          t
                     k    sJ t          t                                        t6                                        t          t                    t7          t                      k    sJ t          t                                        t8                                        t          t
                    t          t
                    k    sJ t          t                                        t8                                        t          t                     t          t                     k    sJ t=          t          t                    t          t9          t                     z             sJ t=          t          t                    t7          t                                sJ t?          dd          }t?          dd          }t?          dd          }t?          d d!          }t          |          dk    dk    sJ t          |          dk     |dk    k    sJ t          |          dk    dk    sJ t          |          dk    |dk    k    sJ t          |          d
k    |d
k    k    sJ t          |          dk    |dk    k    sJ t          |          dk     dk    sJ t          |          dk    dk    sJ t          |          dk     dk    sJ t          |          dk    dk    sJ t          |          dk    dk    sJ t          |          dk    dk    sJ t          |          dk    dk    sJ t          |          d"k    |d"k    k    sJ t          |          dk    dk    sJ t          |          dk    dk    sJ t          |          j         dk    sJ t          |          j!        dk    sJ t          |          j         J t          |          j!        J t          |          j         dk    sJ t          |          j!        dk    sJ t          |          j         dk    sJ t          |          j!        dk    sJ t          dd#          dk    dk    sJ t          dd#          dk    dk    sJ t          dd#          dk    dk    sJ t          dd#          dk     dk    sJ t          dd#          dk    dk    sJ t          dd#          dk    dk    sJ t          dd#          dk    dk    sJ t          dd#          dk     dk    sJ t          dd#          dk    dk    sJ t          dd#          dk    dk    sJ t          dd#          dk    dk    sJ t          dd#          dk     dk    sJ t          t                     d$k    tE          t          t                     d$d#          k    sJ t          t                     d%k    tG          t          t                     d%d#          k    sJ t          t                     d&k     tI          t          t                     d&d#          k    sJ t          t                     d'k    tK          t          t                     d'd#          k    sJ t          t                    d$k    t          d"k    k    sJ t          t                    d%k    t          d(k    k    sJ t          t                    d&k     t          dk    k    sJ t          t                    d'k    t          dk    k    sJ t          t                    t&          k    t          t&          k    k    sJ t          t                    t&          k    t          t&          dz
  k    k    sJ t          t                    t&          k     t          t&          dz
  k    k    sJ t          t                    t&          k    t          t&          k    k    sJ d S ))Nr   r)   r*   r/   r.   r+   r9   r7   r,   r1   r3   r4   r5   r6   r<   r2      r:   r;   Tr=   r?   l   '~$DA7YD3':^Xf Fr@   rA   rC   rD   rF   rG   rI   rJ   r-   rL   rN   rO   rP   rQ   r0   )&r   r   r	   r   r   r
   r   rR   r   r   r   r"   rS   rT   r   r$   r!   r   rU   rV   r   r   rW   rX   r   rY   rZ   r   r   r[   r   r   is_positiveis_nonpositiver   r   r   r   r^   s        r`   test_ceilingrh      s   3<<32;;"B3<<B33<<31::????1::????2;;"1::????A2;;"1Q3<<12a4==B2;;!B3<<216??a8B??##q((((8Aq>>""a''''HQNN?##r))))5;;2%%%%E$KK<  C''''5;;1$$$$E$KK<  B&&&&1::????A2;;1"

A6Wa2a4==BqD    B3q5>>bSU""""3qtAv;;r>""c!B$q&kk"n44441Q3<<1Q32a4==BqD    1Q3<<1A2a4==A1r6??b    26??a1r6??a1r6??a!e####72;;1$$$$71::'!**,,,,71::'!**,,,,Wa     Wac"""""Wac"""""1::????1Q3<<1Q31Q3<<1Q3Wac"""""Wa!e$$$$$1q5>>WQZZ!^++++1q5>>WQZZ!^++++1q5>>WQZZ!^++++1q5>>WQZZ!^++++1r6AaC<  A

1$444441q5>>QU""""Wac"""""1Q3<<1Q38B##ac)**a!A#g55553q66??a3r77q    3q66??aCFF73q66>""b((((wAws1vv~&&,,$,7788B>>>>9R==Q'((IJ J J J AJJ!O$$$$AJJNu$$$$AJJNu$$$$AJJ!O%%%%AJJ!O****AJJN))))AJJ!O****AJJN))))AJJ2#$&&&&AJJ"%%%%AJJ"%%%%AJJO$$$$1::e$$r
22221::d##q488|33331::e$$))!bS11eBiiZ????1::e$$))!Q//E1"II:====1::d##((B//72;;>>>>1::d##((QB//7A2;;>>>>gajj!dA2hh,'''''gajj5!99*%%%%%

&
&
&C	$	'	'	'B

&
&
&C	$	'	'	'BCLLA$&&&&CLL1#),,,,CLL1&&&&CLLA38,,,,CLL238,,,,CLLBC2I....BKK!O%%%%BKK1%%%%CLL1&&&&CLLA%''''CLL1%%%%CLLA$&&&&CLLA$&&&&CLL1#'****BKK1%%%%BKK!O%%%%3<<#u,,,,3<<&$....2;;"***2;;%---3<<#t++++3<<&%////2;;"e++++2;;%----A&&&!+4444A&&&*u4444A&&&!+4444A&&&*u4444A&&&!+4444A&&&*t3333A&&&!+5555A&&&*u4444A&&&!+5555A&&&*u4444A&&&!+4444A&&&*t3333AJJ#"WQZZu"E"E"EEEEEAJJ$2gajj$#G#G#GGGGGAJJGAJJe!D!D!DDDDDAJJ"WQZZ"F"F"FFFFFAJJ#16****AJJ$AF++++AJJ!q&))))AJJ1r6****AJJ!Oa((((AJJ!OQU++++AJJNQU
++++AJJNA&&&&&&rb   c                  $   t          t          t                    t                    sJ t          t                    t	          dd          k    sJ t          t                     t	          dd          k    sJ t          t
                    t          u sJ t          t                    dk    sJ t          t                    t          u sJ t          t          dd                    t          dd          k    sJ t          t          dd                     t          dd          k    sJ t          t          dd                    t          dd          k    sJ t          dd	          } t          t          | z            t          t          |           z  k    sJ t          dt          | z  z             t          t          |           z  k    sJ t          d
t          | z  z             d
t          t          |           z  z   k    sJ t          t          t          | z  z             t          t          |           z  k    sJ t          t          t          t          z  z             dk    sJ t          t          t          t          t          z  z             sJ t          t          t          t          z  z             t          t                    k    sJ t          t                                        t                    t          t          t                    z
  k    sJ t          t                                        t                    t          t          t                     z   k    sJ t          t                                         t                                        t           t$                    t          t$                    k    sJ t          t                                         t                                        t           t&                     t          t&                     k    sJ t          t                                         t                                        t           t$                     t          t$                     k    sJ t          t                                         t                                        t           t&                    t          t&                    k    sJ t)          t          t                     t           t          t                     z
            sJ t)          t          t                     t           t          t                      z             sJ t          dd	          } t          ddd          }t          ddd          }t          ddd          }t          ddd          }t          dd          }t          dd          }t          ddd          }t          ddd          }t          |           |k    sJ t          |           |k    rJ t          |           |k                        t,                    sJ t          |           |k                        t,                    sJ t          |           |k     sJ t          |           |k     rJ t          |           |k     rJ t          |           |k                         t.                    sJ t          |           |k    rJ t          |           |k    sJ t          |           |k    sJ t          |           |k                        t0                    sJ t          |           |k    rJ t          |           |k    sJ t          |           |k                        t2                    sJ t          |           |k                        t2                    sJ t)          t          |           |          rJ t)          t          |           |          rJ t)          t          |           |                              t(                    sJ t)          t          |           |                              t(                    sJ t5          t          |           |          sJ t5          t          |           |          sJ t5          t          |           |                              t4                    sJ t5          t          |           |                              t4                    sJ t          |           |k                        t,                    sJ t          |           |k    rJ t          |           |k                        t,                    sJ t          |           |k                        t,                    sJ t          |           |k                         t.                    sJ t          |           |k     rJ t          |           |k     rJ t          |           |k                         t.                    sJ t          |           |k                        t0                    sJ t          |           |k    sJ t          |           |k    sJ t          |           |k                        t0                    sJ t          |           |k                        t2                    sJ t          |           |k    sJ t          |           |k                        t2                    sJ t          |           |k                        t2                    sJ t)          t          |           |          rJ t)          t          |           |                              t(                    sJ t)          t          |           |                              t(                    sJ t)          t          |           |                              t(                    sJ t5          t          |           |                              t4                    sJ t5          t          |           |          sJ t5          t          |           |                              t4                    sJ t5          t          |           |                              t4                    sJ t          |           t          k     sJ t          |           t          k    sJ t          |           t          k    rJ t          |           t          k    rJ t          |           t           k     rJ t          |           t           k    rJ t          |           t           k    sJ t          |           t           k    sJ t          |           dk     sJ t          |           dk    sJ t          |           dk    rJ t          |           dk    rJ t          |           dk     rJ t          |           dk                        t,                    sJ t          |           dk                        t2                    sJ t          |           dk    sJ t          |           t7          d          k    sJ t          |           t7          d          t7          d          z
  k                        t,                    sJ t          |           t7          d          t7          d          z
  k    rJ t          |           t7          d          k    rJ t          |           t7          d          t7          d          z
  k                        t0                    sJ t          |           t7          d          t7          d          z
  k    sJ t)          t          |           t7          d                    rJ t)          t          |           t7          d          t7          d          z
                                t(                    sJ t)          t          |           t7          d          t7          d          z
            rJ t5          t          |           t7          d                    sJ t5          t          |           t7          d          t7          d          z
                                t4                    sJ t5          t          |           t7          d          t7          d          z
            sJ t          |d          j        sJ t          |d          j        sJ t          |d          j        sJ t          |d          j        sJ t          |           j        sJ t          |           j        sJ t          |           j        J t          |           j        J t          t                    j        sJ t          t                    j        sJ d S )Nr   r)   r7   r/   r+   r0   rTr%   g      ?p_i)r'   rH   )r'   rB   np_i)r'   rK   nn_i)r'   rE   p_rrG   n_rrA   np_r)r&   rK   nn_r)r&   rE   FrL   ) 
isinstancer   r!   r	   r   r   r   rV   r   r   r   rU   r   rZ   r   r   r$   r[   r
   r   r   hasr   r   r   r   r   r   is_zero	is_finite
is_integeris_real)	rj   rk   n_irl   rm   rn   ro   rp   rq   s	            r`   	test_fracry     s   d1ggt$$$$$88{1a((((((99Aq))))))9977a<<<<99A8Aq>>1111!Q  HQNN2222Q  HQNN2222sA!99$q''	!!!!AaC==Ad1ggI%%%%ac	??cAd1ggIo----AaC==Ad1ggI%%%%AaC==AT1qs7#####AaC==DGG####77??5!!Qq\111177??7##q7A2;;666677??5!!&&q"--b999977??5!!&&q1"--qb999977??7##((RC00D"II====77??7##((A..$q''9999d1ggq588|$$$$$d1ggq7A2;;'''''sA
t
4
4
4C
t
4
4
4C&$D999D&$D999D

&
&
&C

&
&
&C&t666D&t666D 77c>>>>Aww#~~~~GGtO  $$$$$GGtO  $$$$$77S====Aww}}}}Aww~~~~GGdN#####Aww#~~~~77c>>>>77d????GGtO  $$$$$Aww}}}}77S====GGdN#####GGdN#####$q''3$q''3d1ggt  $$$$$d1ggt  $$$$$d1ggsd1ggsd1ggt  $$$$$d1ggt  $$$$$ GGsN#####Aww#~~~~GGtO  $$$$$GGtO  $$$$$GGcMr"""""Aww}}}}Aww~~~~GGdN#####GGsN#####77c>>>>77d????GGtO  $$$$$GGcMr"""""77S====GGdN#####GGdN#####$q''3d1ggs#####d1ggt  $$$$$d1ggt  $$$$$d1ggs#####d1ggsd1ggt  $$$$$d1ggt  $$$$$ 77R<<<<77b====Aww||||Aww"}}}}Aww"}}}}Aww2#~~~~77bS====77rc>>>>77Q;;;;77a<<<<Aww{{{{Aww!||||Aww{{{{GGqLb!!!!!GGaKR     77a<<<< 77d1ggGGtAwwa((--b11111Aww$q''DGG+++++Aww$q''!!!!GGtAwwa((--b1111177d1ggQ'''''$q''477#####d1ggtAwwa())--b11111$q''477T!WW,-----d1ggtAwwd1ggtAwwa())--b11111d1ggtAwwa()))))e$$$,,,,e$$$....e$$$////e$$$,,,,7777?77?"""77%%%8888rb   c                     t          d          \  } }t          |                               | |d          t          |          k    sJ t          |                               | |d          t          |          k    sJ t          |                               | t          d          dk    sJ t          |                               | t          d          dk    sJ t          |                               | dd          dk    sJ t          |                               | dd          dk    sJ t          |                                | dd          dk    sJ t          |                                | dd          dk    sJ d S )Nzx,yd   r/   r7   r   r)   r*   )r   r   nseriesr   r
   )r!   r$   s     r`   test_seriesr}     so   5>>DAq88Aq#&&%((22221::aC((GAJJ666688Ar3''1,,,,1::aS))Q....88Aq#&&!++++1::aC((A----!99Q3''2----A2;;q!S))Q......rb   c                     t          t          dz  t          z   t          dz  t          z
  z                                t          d          dk    sJ t          t          dz  t          z   t          dz  t          z
  z                                t          d          dk    sJ t          t          t                    dz
  t          z                                t          d          dk    sJ t          t          t                    dz
  t          z                                t          d          dk    sJ t          t	          t                    t          z                                t          d          dk    sJ t          t	          t                    t          z                                t          d          dk    sJ t          t          t                     t          z                                t          d          dk    sJ t          t          t                     t          z                                t          d          dk    sJ t          t	          t                    t          z  dz                                t          d          dk    sJ t          t	          t                    t          z  dz                                t          d          dk    sJ t          t          dz  t          z   t          dz  t          z
  z                                t          d          dk    sJ t          t          dz  t          z   t          dz  t          z
  z                                t          d          dk    sJ t          t          t                    dz
  t          z                                t          d          dk    sJ t          t          t                    dz
  t          z                                t          d          dk    sJ t          t	          t                    t          z                                t          d          dk    sJ t          t	          t                    t          z                                t          d          dk    sJ t          t          t                     t          z                                t          d          dk    sJ t          t          t                     t          z                                t          d          dk    sJ t          t	          t                    t          z  dz                                t          d          dk    sJ t          t	          t                    t          z  dz                                t          d          dk    sJ t          t	          t                    t          z                                t          ddd          dk    sJ t          t	          t                    t          z                                t          ddd          dk    sJ t          t          dz  t          z   t          dz  t          z
  z                                t          ddd          dk    sJ t          t          dz  t          z   t          dz  t          z
  z                                t          ddd          dk    sJ t          t	          t                    t          z                                t          ddd          dk    sJ t          t	          t                    t          z                                t          ddd          dk    sJ t          t          dz  t          z   t          dz  t          z
  z                                t          ddd          dk    sJ t          t          dz  t          z   t          dz  t          z
  z                                t          ddd          dk    sJ d S )	Nr/   r+   r)   cdirr.   r*   r   r{   )r   r!   as_leading_termr   r   r   r   series rb   r`   test_issue_14355r   '  s    !Q$(QTAX&''77!7DDJJJJ!Q$(QTAX&''77"7EEKKKK#a&&1*a  0010==CCCC#a&&1*a  0020>>!CCCCQ??**1Q*771<<<<Q??**1R*88A====#a&&++Aa+88B>>>>#a&&++Ab+99R????Q!,,Qq,99Q>>>>Q!,,Qr,::a????AqD1Hq!tax())99!A9FF"LLLLAqD1Hq!tax())99!B9GG1LLLLCFFQJ>""221Q2??1DDDDCFFQJ>""221R2@@AEEEE3q66!8,,Qq,99Q>>>>3q66!8,,Qr,::a????CFF719--a-::b@@@@CFF719--a-::b@@@@3q66!8A:..q.;;q@@@@3q66!8A:..q.<<AAAAQ??!!!QA!66!;;;;Q??!!!QA!66!;;;;!Q$(QTAX&''..q!S.CCrIIII!Q$(QTAX&''..q!S.DDJJJJ3q66!8##Aq#a#88A====3q66!8##Aq#b#99Q>>>>AqD1Hq!tax())00As10EEKKKKAqD1Hq!tax())00As20FF!KKKKKKrb   c                     t          t                                        t                    t          k    sJ t          t                                        t          d          t          k    sJ t          t                                        t          d          dk    sJ t          t          t          j        z                                 t          d          t          j        k    sJ t          t          t          j        z                                 t          d          t          j        k    sJ t          dt          z  dz                                 t          d          t          j        k    sJ t          dt          z  dz                                 t          d          dt          z  k    sJ t          t          t                    dz                                 t          d          t          k    sJ t          t          t                    dz                                 t          d          t          j        k    sJ t          t          t          dz            dz                                 t          d          t          dz  k    sJ t          t          t          dz            dz                                 t          d          t          dz  k    sJ d S )Nr)   r   r*   r.   r-   r+   )r   r!   r   r   rR   Oner   r   rb   r`   test_frac_leading_termr   I  s=   77""1%%****77""1Q"//1444477""1R"00A5555AF
++Aa+88AFBBBBAF
++Ab+99QVCCCC1q>>))!A)66!%????1q>>))!B)772a4????A
++Aa+88A====A
++Ab+99QUBBBBAqD		A..q.;;q!tCCCCAqD		A..q.<<1DDDDDDrb   c                  B   t          dt          t          z  z   t          t          z  z             dt          t          t          z             t          z  z   k    sJ t          dt          z  t          t          z  z   t          t          z  z             t          dt          z   t          z             t          z  k    sJ t          dt          z   t          t          z  z   t          t          z  z             dt          t          t          z             t          z  z   k    sJ d S )Nr/   r-   )r   r
   r   r$   r   r   rb   r`   test_issue_4149r   W  s    RTAaC  Ab1fa$777771r!tac!""eAFQJ&7&7&99999QA!#$$E"q&MM!O(;;;;;;;rb   c                      t          ddd          } dd|  z  z  }t          t          |          t                    sJ d S )NrU   T)rH   r'   r+   )r   rr   r   )rU   r   s     r`   test_issue_21651r   ^  sG    sT4000A
AG)CeCjj%(((((((rb   c                     t          t          t                              t          t                    k    sJ t          t          t                              t          t                    k    sJ t          t          t                              t          t                    k    sJ t          t          t                              t          t                    k    sJ d S )Nr   r!   r   r   rb   r`   test_issue_11207r   d  s    q??eAhh&&&&

****588a((((71::'!**,,,,,,rb   c                  p   t          t          t          t          dz            t          z                       t          t          t          dz            t          z             k    sJ t          t          t          t          dz            t          z                       t          t          t          dz            t          z             k    sJ t          t          t          t          t	          dd          z  t          z                                 t          t          t	          dd          z  t          z             k    sJ t          t          t          t                    t          z                        t          t          t                    t          z            k    sJ d S )Nr/   r1   r+   )r   r   r!   r$   r   r   rb   r`   test_nested_floor_ceilingr   k  s>   %1a((())eGAqDMM!O.D.D-DDDDDE'!Q$--/***++gadmmAo0F0F/FFFFF%8Aq>> 1! 344455665HQPQNNARSTAT;U;U:UUUUUWU1XXaZ((()))WU1XXaZ-@-@@@@@@@rb   c                     t          t          t          t                              dz             t          t                    dz   k    sJ t          t          t          t                              dz             t          t                    dz   k    sJ t          t          t          t                              dz             t          t                    dz   k    sJ d S )Nr/   r)   r   r   rb   r`   test_issue_18689r   q  s    uQxx1$%%qA5555771::&&*++wqzzA~====7588$$q())U1XX\999999rb   c                      t          t          d                    t          j        u sJ t	          t          d                    t          j        u sJ d S )Nr   )r   floatr   Zeror   r   rb   r`   test_issue_18421r   v  sH    q??af$$$$588&&&&&&rb   N);!sympy.calculus.accumulationboundsr   sympy.core.numbersr   r   r   r   r   r	   r
   r   sympy.core.relationalr   r   r   r   r   r   sympy.core.singletonr   sympy.core.symbolr   r   (sympy.functions.combinatorial.factorialsr   &sympy.functions.elementary.exponentialr   r   #sympy.functions.elementary.integersr   r   r   (sympy.functions.elementary.miscellaneousr   (sympy.functions.elementary.trigonometricr   r   r   sympy.core.exprr   sympy.testing.pytestr    r!   r"   r$   rU   rV   ra   rh   ry   r}   r   r   r   r   r   r   r   r   r   rb   r`   <module>r      sv   9 9 9 9 9 9 H H H H H H H H H H H H H H H H H H H H : : : : : : : : : : : : : : : : " " " " " " / / / / / / / / > > > > > > = = = = = = = = F F F F F F F F F F 9 9 9 9 9 9 B B B B B B B B B B % % % % % % & & & & & &
F3KK
F3$
F3Twud###1w* w* w*tv' v' v'rP P Pf	/ 	/ 	/L L LDE E E < < <) ) )- - -A A A: : :
' ' ' ' 'rb   