
    MZdQ                        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:y!)"    )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                     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k7  sJ t-        t        t+        d      t+        d      z        j/                  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        kD  dk(  sJ t        t              t        k\  dk(  sJ t        t               t         k  j2                  sJ t        t               t         kD  j2                  sJ t        t               t        k  j2                  sJ t        t               t        kD  j2                  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         kD  dk(  sJ t        t              j5                  t6              t        t7        t              z
  k(  sJ t        t              j5                  t8              t9        t                k(  sJ t        t              j5                  t6              j;                  t        t
               t        t
               k(  sJ t        t              j5                  t6              j;                  t        t              t        t              k(  sJ t        t              j5                  t8              j;                  t        t              t9        t                k(  sJ t        t              j5                  t8              j;                  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kD  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kD  |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kD  dk(  sJ t        |      j@                  dk(  sJ t        |      jB                  dk(  sJ t        |      j@                  dk(  sJ t        |      jB                  dk(  sJ t        |      j@                  dk(  sJ t        |      jB                  dk(  sJ t        |      j@                  J t        |      jB                  J t        dd%      dk\  dk(  sJ t        dd%      dkD  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kD  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kD  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)kD  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)kD  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&        kD  t        t&        dz   k\  k(  sJ y )*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        P/usr/lib/python3/dist-packages/sympy/functions/elementary/tests/test_integers.py
test_floorra      sW   :9??":":8q==8q==9??8q==!9??1:??A;"9>>":=A"a!R'''!Q A%%%"a!R'''(1a.!R'''t###%+#%%%t"""%+"$$$8q==!9??aA66U?qvvayA~--A;"Q$"Q<B3q5   QrT!VR C"QKN2221:1A;"Q$1:??!A;1"R=Ba=AR=AR=AE!!!rq   q?eAh&&&q?eAh&&&UAUAaC   UAaC   8q==1:11:1UAaC   UAE"""Q<58a<'''Q<58a<'''Q<58a<'''Q<58a<'''QqS2!eAhqj.000Q<1q5   UAaC   1:1"b!AaC'(A!G333Q=AR>RQ=AQA1$$$uSVCF]#))t)45:::2s1v%&IJ J J !HqLU"""!HMd"""!HqLU"""!HMe###!HM((((!HqL''''!HM((((!HqL''''!HNt###!HrMd"""!HO$$$!HsNt###8D!Qa[0008G$!4448D!&&q2#.%*<<<8D!&&q!,a8888G$))!Q/GQBK<???8G$))!bS1gbk\AAAeAhDG$$$eAh!%%%

&C	$	'B

&C	$	'B#JNt####J!O$$$#JNu$$$#J!O%%%#J"%%%#J"#),,,#JNa((("IMe###"INt####JNu$$$#J!Oq)))#JNq)))#J!O$$$#J!O***"INt###"IMe###:!!T))):$$---9  E)))9##t+++:!!U***:$$,,,9  (((9##+++!e$)d222!e$q(U222!e$)d222!e$q(U222!e$)d222!e$q(T111!e$)e333!e$q(U222!e$)e333!e$q(U222!e$)d222!e$q(T111!HO58S5 AAAA!HE!HdU!CCCC!HsNr%(C%@@@@!HtO58TE BBBB!HOQ'''!H!r'***!HsNA&&&!HtOb)))!HMq1q5y)))!HMqAv&&&!HqLa!e$$$!HqLa1q5j)))    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k7  sJ t-        t        t+        d       t+        d      z        j/                  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        kD  dk(  sJ t        t              t        k  dk(  sJ t        t              t        k  dk(  sJ t        t               t         k\  j2                  sJ t        t               t         k  j2                  sJ t        t               t        k\  j2                  sJ t        t               t        k  j2                  sJ t        t              t         k\  dk(  sJ t        t              t         kD  dk(  sJ t        t              t        k  dk(  sJ t        t              t        k  dk(  sJ t        t              j5                  t6              t7        t                k(  sJ t        t              j5                  t8              t        t9        t               z   k(  sJ t        t              j5                  t6              j;                  t        t
               t7        t
               k(  sJ t        t              j5                  t6              j;                  t        t              t7        t                k(  sJ t        t              j5                  t8              j;                  t        t
              t        t
              k(  sJ t        t              j5                  t8              j;                  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kD  dk(  sJ t        |      dk\  |dkD  k(  sJ t        |      d
kD  |d
kD  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kD  dk(  sJ t        |      dk\  dk(  sJ t        |      dk\  dk(  sJ t        |      d"kD  |d"kD  k(  sJ t        |      dk  dk(  sJ t        |      dkD  dk(  sJ t        |      j@                  dk(  sJ t        |      jB                  dk(  sJ t        |      j@                  J t        |      jB                  J t        |      j@                  dk(  sJ t        |      jB                  dk(  sJ t        |      j@                  dk(  sJ t        |      jB                  dk(  sJ t        dd#      dk\  dk(  sJ t        dd#      dkD  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kD  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kD  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'kD  tK        t        t               d'd#      k(  sJ t        t              d$k  t        d"k  k(  sJ t        t              d%k\  t        d(kD  k(  sJ t        t              d&k  t        dk  k(  sJ t        t              d'kD  t        dkD  k(  sJ t        t              t&        k  t        t&        k  k(  sJ t        t              t&        k\  t        t&        dz
  kD  k(  sJ t        t              t&        k  t        t&        dz
  k  k(  sJ t        t              t&        kD  t        t&        kD  k(  sJ y ))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      sl   3<32;"B3<B33<31:??1:??2;"1:??A2;"1Q3<12a4=B2;!B3<2166?a8B?#q(((8Aq>"a'''HQN?#r)))5;2%%%E$K< C'''5;1$$$E$K< B&&&1:??A2;1"
A66Wa//2a4=BqD   B3q5>bSU"""3qtAv;r>"c!B$q&k"n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>WQZ!^+++1q5>WQZ!^+++1q5>WQZ!^+++1q5>WQZ!^+++1r6AaC< A
1$44441q5>QU"""Wac"""1Q3<1Q38B#ac)*a!A#g5553q6?a3r7q   3q6?aCF73q6>"b(((wAws1v~&,,$,78B>>>9R=Q'(IJ J J AJ!O$$$AJNu$$$AJNu$$$AJ!O%%%AJ!O****AJN))))AJ!O****AJN))))AJ2#$&&&AJ"%%%AJ"%%%AJO$$$1:e$r
2221:d#q48|3331:e$))!bS1eBiZ???1:e$))!Q/E1"I:===1:d#((B/72;>>>1:d#((QB/7A2;>>>gaj!dA2h,'''gaj5!9*%%%

&C	$	'B

&C	$	'BCLA$&&&CL1#),,,CL1&&&CLA38,,,CL238,,,CLBC2I...BK!O%%%BK1%%%CL1&&&CLA%'''CL1%%%CLA$&&&CLA$&&&CL1#'***BK1%%%BK!O%%%3<##u,,,3<&&$...2;""***2;%%---3<##t+++3<&&%///2;""e+++2;%%---A&!+444A&*u444A&!+444A&*u444A&!+444A&*t333A&!+555A&*u444A&!+555A&*u444A&!+444A&*t333AJ#"WQZu"EEEEAJ$2gaj$#GGGGAJGAJe!DDDDAJ"WQZ"FFFFAJ#16***AJ$AF+++AJ!q&)))AJ1r6***AJ!Oa(((AJ!OQU+++AJNQU
+++AJ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              j                  t              t        t        t              z
  k(  sJ t        t              j                  t              t        t        t               z   k(  sJ t        t               j                  t              j#                  t         t$              t        t$              k(  sJ t        t               j                  t              j#                  t         t&               t        t&               k(  sJ t        t               j                  t              j#                  t         t$               t        t$               k(  sJ t        t               j                  t              j#                  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  j+                  t,              sJ t        |       |k  j+                  t,              sJ t        |       |k  sJ t        |       |k  rJ t        |       |k  rJ t        |       |k  j+                  t.              sJ t        |       |k\  rJ t        |       |k\  sJ t        |       |k\  sJ t        |       |k\  j+                  t0              sJ t        |       |kD  rJ t        |       |kD  sJ t        |       |kD  j+                  t2              sJ t        |       |kD  j+                  t2              sJ t)        t        |       |      rJ t)        t        |       |      rJ t)        t        |       |      j+                  t(              sJ t)        t        |       |      j+                  t(              sJ t5        t        |       |      sJ t5        t        |       |      sJ t5        t        |       |      j+                  t4              sJ t5        t        |       |      j+                  t4              sJ t        |       |k  j+                  t,              sJ t        |       |k  rJ t        |       |k  j+                  t,              sJ t        |       |k  j+                  t,              sJ t        |       |k  j+                  t.              sJ t        |       |k  rJ t        |       |k  rJ t        |       |k  j+                  t.              sJ t        |       |k\  j+                  t0              sJ t        |       |k\  sJ t        |       |k\  sJ t        |       |k\  j+                  t0              sJ t        |       |kD  j+                  t2              sJ t        |       |kD  sJ t        |       |kD  j+                  t2              sJ t        |       |kD  j+                  t2              sJ t)        t        |       |      rJ t)        t        |       |      j+                  t(              sJ t)        t        |       |      j+                  t(              sJ t)        t        |       |      j+                  t(              sJ t5        t        |       |      j+                  t4              sJ t5        t        |       |      sJ t5        t        |       |      j+                  t4              sJ t5        t        |       |      j+                  t4              sJ t        |       t        k  sJ t        |       t        k  sJ t        |       t        kD  rJ t        |       t        k\  rJ t        |       t         k  rJ t        |       t         k  rJ t        |       t         kD  sJ t        |       t         k\  sJ t        |       dk  sJ t        |       dk  sJ t        |       dkD  rJ t        |       dk\  rJ t        |       dk  rJ t        |       dk  j+                  t,              sJ t        |       dkD  j+                  t2              sJ t        |       dk\  sJ t        |       t7        d      k  sJ t        |       t7        d      t7        d      z
  k  j+                  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\  j+                  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
        j+                  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
        j+                  t4              sJ t5        t        |       t7        d      t7        d      z
        sJ t        |d      j8                  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        |       j8                  J t        |       j<                  J t        t              j:                  sJ t        t              j>                  sJ y )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     si   d1gt$$$8{1a((((9Aq))))97a<<9A8Aq>111!Q HQN222Q HQN222sA!9$q'	!!!AaC=Ad1gI%%%ac	?cAd1gIo---AaC=Ad1gI%%%AaC=AT1qs7###AaC=DG###7??5!Qq\1117??7#q7A2;6667??5!&&q"-b9997??5!&&q1"-qb9997??7#((RC0D"I===7??7#((A.$q'999d1gq58|$$$d1gq7A2;'''sA
t
4C
t
4C&$D9D&$D9D

&C

&C&t6D&t6D 7c>>Aw#~GtO  $$$GtO  $$$7S==Aw}Aw~GdN###Aw#~7c>>7d??GtO  $$$Aw}7S==GdN###GdN###$q'3$q'3d1gt  $$$d1gt  $$$d1gsd1gsd1gt  $$$d1gt  $$$ GsN###Aw#~GtO  $$$GtO  $$$GcMr"""Aw}Aw~GdN###GsN###7c>>7d??GtO  $$$GcMr"""7S==GdN###GdN###$q'3d1gs###d1gt  $$$d1gt  $$$d1gs###d1gsd1gt  $$$d1gt  $$$ 7R<<7b==Aw|Aw"}Aw"}Aw2#~7bS==7rc>>7Q;;7a<<Aw{?Aw!|Aw{?GqLb!!!GaKR   7a<< 7d1gGtAwa((--b111Aw$q'DG++++Aw$q'!!!GtAwa((--b1117d1gQ''''$q'47###d1gtAwa()--b111$q'47T!W,---d1gtAwd1gtAwa()--b111d1gtAwa()))e$,,,,e$....e$////e$,,,,77???7??"""7%%%88rb   c                  h   t        d      \  } }t        |       j                  | |d      t        |      k(  sJ t        |       j                  | |d      t        |      k(  sJ t        |       j                  | t        d      dk(  sJ t        |       j                  | t        d      dk(  sJ t        |       j                  | dd      dk(  sJ t        |       j                  | dd      dk(  sJ t        |        j                  | dd      dk(  sJ t        |        j                  | dd      dk(  sJ y )Nzx,yd   r/   r7   r   r)   r*   )r   r   nseriesr   r
   )r!   r$   s     r`   test_seriesr}     s#   5>DAq8Aq#&%(2221:aC(GAJ6668Ar3'1,,,1:aS)Q...8Aq#&!+++1:aC(A---!9Q3'2---A2;q!S)Q...rb   c                     t        t        dz  t        z   t        dz  t        z
  z        j                  t        d      dk(  sJ t        t        dz  t        z   t        dz  t        z
  z        j                  t        d      dk(  sJ t        t        t              dz
  t        z        j                  t        d      dk(  sJ t        t        t              dz
  t        z        j                  t        d      dk(  sJ t        t	        t              t        z        j                  t        d      dk(  sJ t        t	        t              t        z        j                  t        d      dk(  sJ t        t        t               t        z        j                  t        d      dk(  sJ t        t        t               t        z        j                  t        d      dk(  sJ t        t	        t              t        z  dz        j                  t        d      dk(  sJ t        t	        t              t        z  dz        j                  t        d      dk(  sJ t        t        dz  t        z   t        dz  t        z
  z        j                  t        d      dk(  sJ t        t        dz  t        z   t        dz  t        z
  z        j                  t        d      dk(  sJ t        t        t              dz
  t        z        j                  t        d      dk(  sJ t        t        t              dz
  t        z        j                  t        d      dk(  sJ t        t	        t              t        z        j                  t        d      dk(  sJ t        t	        t              t        z        j                  t        d      dk(  sJ t        t        t               t        z        j                  t        d      dk(  sJ t        t        t               t        z        j                  t        d      dk(  sJ t        t	        t              t        z  dz        j                  t        d      dk(  sJ t        t	        t              t        z  dz        j                  t        d      dk(  sJ t        t	        t              t        z        j                  t        ddd      dk(  sJ t        t	        t              t        z        j                  t        ddd      dk(  sJ t        t        dz  t        z   t        dz  t        z
  z        j                  t        ddd      dk(  sJ t        t        dz  t        z   t        dz  t        z
  z        j                  t        ddd      dk(  sJ t        t	        t              t        z        j                  t        ddd      dk(  sJ t        t	        t              t        z        j                  t        ddd      dk(  sJ t        t        dz  t        z   t        dz  t        z
  z        j                  t        ddd      dk(  sJ t        t        dz  t        z   t        dz  t        z
  z        j                  t        ddd      dk(  sJ y )	Nr/   r+   r)   cdirr.   r*   r   r{   )r   r!   as_leading_termr   r   r   r   series rb   r`   test_issue_14355r   '  sd    !Q$(QTAX&'77!7DJJJ!Q$(QTAX&'77"7EKKK#a&1*a 0010=CCC#a&1*a 0020>!CCCQ?**1Q*71<<<Q?**1R*8A===#a&++Aa+8B>>>#a&++Ab+9R???Q!,,Qq,9Q>>>Q!,,Qr,:a???AqD1Hq!tax()99!A9F"LLLAqD1Hq!tax()99!B9G1LLLCFQJ>"221Q2?1DDDCFQJ>"221R2@AEEE3q6!8,,Qq,9Q>>>3q6!8,,Qr,:a???CF719--a-:b@@@CF719--a-:b@@@3q6!8A:..q.;q@@@3q6!8A:..q.<AAAQ?!!!QA!6!;;;Q?!!!QA!6!;;;!Q$(QTAX&'..q!S.CrIII!Q$(QTAX&'..q!S.DJJJ3q6!8##Aq#a#8A===3q6!8##Aq#b#9Q>>>AqD1Hq!tax()00As10EKKKAqD1Hq!tax()00As20F!KKKrb   c                      t        t              j                  t              t        k(  sJ t        t              j                  t        d      t        k(  sJ t        t              j                  t        d      dk(  sJ t        t        t        j                  z         j                  t        d      t        j                  k(  sJ t        t        t        j                  z         j                  t        d      t        j                  k(  sJ t        dt        z  dz         j                  t        d      t        j
                  k(  sJ t        dt        z  dz         j                  t        d      dt        z  k(  sJ t        t        t              dz         j                  t        d      t        k(  sJ t        t        t              dz         j                  t        d      t        j
                  k(  sJ t        t        t        dz        dz         j                  t        d      t        dz  k(  sJ t        t        t        dz        dz         j                  t        d      t        dz  k(  sJ y )Nr)   r   r*   r.   r-   r+   )r   r!   r   r   rR   Oner   r   rb   r`   test_frac_leading_termr   I  s   7""1%***7""1Q"/14447""1R"0A555AFF
++Aa+8AFFBBBAFF
++Ab+9QVVCCC1q>))!A)6!%%???1q>))!B)72a4???A
++Aa+8A===A
++Ab+9QUUBBBAqD	A..q.;q!tCCCAqD	A..q.<1DDDrb   c                     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 y )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1r!tac!"eAFQJ&7&9999QA!#$E"q&M!O(;;;;rb   c                  h    t        ddd      } dd|  z  z  }t        t        |      t              sJ y )NrU   T)rH   r'   r+   )r   rr   r   )rU   r   s     r`   test_issue_21651r   ^  s3    sT40A
AG)CeCj%(((rb   c                  T   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 y )Nr   r!   r   r   rb   r`   test_issue_11207r   d  sm    q?eAh&&&
***58a(((71:'!*,,,rb   c                     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 y )Nr/   r1   r+   )r   r   r!   r$   r   r   rb   r`   test_nested_floor_ceilingr   k  s    %1a(()eGAqDM!O.D-DDDDE'!Q$-/**+gadmAo0F/FFFF%8Aq> 1! 344565HQPQNARSTAT;U:UUUUWU1XaZ(())WU1XaZ-@@@@rb   c                  Z   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 y )Nr/   r)   r   r   rb   r`   test_issue_18689r   q  s|    uQx1$%qA555771:&*+wqzA~===758$q()U1X\999rb   c                      t        t        d            t        j                  u sJ t	        t        d            t        j                  u sJ y )Nr   )r   floatr   Zeror   r   rb   r`   test_issue_18421r   v  s7    q?aff$$$58&&&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      s    9 H H H : : " / > = F F 9 B B % &
3K
3$
3Tud#1w*tv'rPf	/LDE < <)-A:
'rb   