+
    izW                    x   ^ RI Ht ^ RIHt ^ RIHt ^ RIHtHt ^ RI	H
t
Ht ^ RIHt ^ RIHtHt ^ RIHtHt ^ R	IHtHtHtHtHtHtHtHt ^ R
IHt ^ RIH t H!t! ^ RI"H#t#  ! R R]4      t$ ! R R]$4      t%]#! ]%]4      R 4       t& ! R R]$4      t']#! ]']4      R 4       t& ! R R]4      t(]#! ](]4      R 4       t&R# )    )annotations)Basic)Expr)AddS)get_integer_partPrecisionExhausted)DefinedFunction)fuzzy_or	fuzzy_and)Integer
int_valued)GtLtGeLe
Relationalis_eqis_leis_lt)_sympify)imre)dispatchc                  X    ] tR t^t$ RtR]R&   ]R 4       t]R 4       tR t	R t
R tR	tR
# )RoundFunctionz+Abstract base class for rounding functions.ztuple[Expr]argsc                	   V P                  V4      ;pe   V# V P                  V4      ;pe   V# VP                  '       g   VP                  RJ d   V# VP                  '       g(   \
        P                  V,          P                  '       dX   \        V4      pVP                  \
        P                  4      '       g   V ! V4      \
        P                  ,          # V ! VRR7      # \
        P                  ;p;rVR p\        P                  ! V4       F  pVP                  '       d5   V! \        V4      4      ;pe    WC\
        P                  ,          ,          pKI  V! V4      ;pe   WC,          pK_  VP                  '       d   WX,          pK{  Wh,          pK  	  V'       g   V'       g   V# V'       d   V'       dp   VP                  '       d:   VP                  '       gL   \
        P                  V,          P                  '       g%   VP                  '       du   VP                  '       dc    \        WPP                  / RR7      w  rV\!        V	4      \!        V4      \
        P                  ,          ,           ,          p\
        P                  pWe,          pV'       g   V# VP                  '       g(   \
        P                  V,          P                  '       d/   W@! \        V4      RR7      \
        P                  ,          ,           # \'        V\(        \*        34      '       d	   WF,           # W@! VRR7      ,           #   \"        \$        3 d     Li ; i)NFevaluatec                f    \        V 4      '       d   \        V 4      # V P                  '       d   V # R # N)r   int
is_integer)xs   &ڃ/Users/tonyclaw/.openclaw/workspace/skills/math-calculator/venv/lib/python3.14/site-packages/sympy/functions/elementary/integers.py<lambda>$RoundFunction.eval.<locals>.<lambda>-   s-    JqMM#a& )A)#')    T)return_ints)_eval_number_eval_const_numberr$   	is_finiteis_imaginaryr   ImaginaryUnitis_realr   hasZeror   	make_args	is_numberr   _dirr   r	   NotImplementedError
isinstancefloorceiling)
clsargviipartnpartspartintoftrs
   &&        r&   evalRoundFunction.eval   s]   !!#&&A3H'',,A9H>>>S]]e3J 3<<<3A55))1vaoo--sU++ !"&&)s#A~~~be#41"A1??**Qx-!,


 $ L MMMu111aooe6K5T5T5T"""u}}}'88RT;gaj&@@@ 	LAOOE$9#B#B#B3r%y59!//IIIw/00= 3uu555 '(;< s   (A!L6 6M
	M
c                	    \        4       hr"   )r6   r:   r;   s   &&r&   r+   RoundFunction._eval_numberS   s    !##r)   c                	<    V P                   ^ ,          P                  # r   )r   r-   selfs   &r&   _eval_is_finiteRoundFunction._eval_is_finiteW   s    yy|%%%r)   c                	<    V P                   ^ ,          P                  # rJ   r   r0   rK   s   &r&   _eval_is_realRoundFunction._eval_is_realZ       yy|###r)   c                	<    V P                   ^ ,          P                  # rJ   rP   rK   s   &r&   _eval_is_integerRoundFunction._eval_is_integer]   rS   r)    N)__name__
__module____qualname____firstlineno____doc____annotations__classmethodrD   r+   rM   rQ   rU   __static_attributes__rW   r)   r&   r   r      sA    5
66 66p $ $&$$r)   r   c                  ~    ] tR t^atRtRt]R 4       t]R 4       tR t	RR lt
R tR tR tR	 tR
 tR tR tR tRtR# )r8   a|  
Floor is a univariate function which returns the largest integer
value not greater than its argument. This implementation
generalizes floor to complex numbers by taking the floor of the
real and imaginary parts separately.

Examples
========

>>> from sympy import floor, E, I, S, Float, Rational
>>> floor(17)
17
>>> floor(Rational(23, 10))
2
>>> floor(2*E)
5
>>> floor(-Float(0.567))
-1
>>> floor(-I/2)
-I
>>> floor(S(5)/2 + 5*I/2)
2 + 2*I

See Also
========

sympy.functions.elementary.integers.ceiling

References
==========

.. [1] "Concrete mathematics" by Graham, pp. 87
.. [2] https://mathworld.wolfram.com/FloorFunction.html

c                	&   VP                   '       d   VP                  4       # \        ;QJ d    R  W) 3 4       F  '       g   K   RM	  RM! R  W) 3 4       4      '       d   V# VP                  '       d   VP	                  \
        4      ^ ,          # R# )c              3  ^   "   T F#  p\         \        3 F  p\        W4      x  K  	  K%  	  R # 5ir"   r8   r9   r7   .0r=   js   &  r&   	<genexpr>%floor._eval_number.<locals>.<genexpr>   1      @$Aug.> !.>  $   +-TFN)	is_Numberr8   anyis_NumberSymbolapproximation_intervalr   rG   s   &&r&   r+   floor._eval_number   s    ===99;3 @t@333 @t@ @ @J--g6q99 r)   c                	   VP                   '       Edg   VP                  '       d   \        P                  # VP                  '       d   VP                  4       w  r#VP                  pVf   R # V'       d   V) V) r2\        W#4      '       d   \        P                  # \        \        W24      \        V^V,          4      .4      '       d   \        P                  # VP                  '       d   VP                  4       w  r#VP                  pVf   R # V'       d   V) V) r2\        V) V4      '       d   \        P                  # \        \        RV,          V4      \        W#) 4      .4      '       d   \        R4      # R # R # R # N)r0   is_zeror   r2   is_positiveas_numer_denomis_negativer   r   r   OneNegativeOner   r:   r;   numdenss   &&   r&   r,   floor._eval_const_number   s   ;;;{{{vv--/OO9 #tcT??66MeCouS!C%/@ABB55L--/OO9 #tcT#s##==(eBsFC0%T2BCDD"2;& E ! r)   c                	P   ^ RI Hp V P                  ^ ,          pVP                  V^ 4      pV P                  V^ 4      pV\        P
                  J g   \        Wd4      '       d=   TP                  T^ \        V4      P                  '       d   RMRR7      p\        V4      pVP                  '       de   Wg8X  d]   TP                  Y^ 8w  d   TM^R7      pVP                  '       d
   V^,
          # VP                  '       d   V# \        RV,          4      hV# VP                  WVR7      # r   AccumBounds-+dircdirNot sure of sign of %slogxr   )!sympy.calculus.accumulationboundsr   r   subsr   NaNr7   limitr   rv   r8   r-   r   rt   r6   as_leading_term	rL   r%   r   r   r   r;   arg0rC   ndirs	   &&&&     r&   _eval_as_leading_termfloor._eval_as_leading_term   s    Aiilxx1~IIaO155=Jt9999Qbh.B.B.Bs9LDdA>>>ywwqqytaw@###q5L%%%H-.F.MNN""1d";;r)   c                	~   V P                   ^ ,          pVP                  V^ 4      pV P                  V^ 4      pV\        P                  J d=   TP	                  T^ \        V4      P                  '       d   RMRR7      p\        V4      pVP                  '       dB   ^ RI	H
p ^ RIHp	 VP                  WW44      p
V^ 8:  d   V	! ^V^ 34      MV! R^ 4      pW,           # Wg8X  d]   TP                  Y^ 8w  d   TM^R7      pVP                  '       d
   V^,
          # VP                  '       d   V# \!        RV,          4      hV# )	r   r   r   r   r   Orderr   r   )r   r   r   r   r   r   rv   r8   is_infiniter   r   sympy.series.orderr   _eval_nseriesr   rt   r6   rL   r%   nr   r   r;   r   rC   r   r   r|   or   s   &&&&&        r&   r   floor._eval_nseries   s	   iilxx1~IIaO155=99Qbh.B.B.Bs9LDdAE0!!!3A$%Fa!Q B0BA5L9771194!7<D1u!!!)*BT*IJJHr)   c                	<    V P                   ^ ,          P                  # rJ   )r   rv   rK   s   &r&   _eval_is_negativefloor._eval_is_negative       yy|'''r)   c                	<    V P                   ^ ,          P                  # rJ   )r   is_nonnegativerK   s   &r&   _eval_is_nonnegativefloor._eval_is_nonnegative       yy|***r)   c                	    \        V) 4      ) # r"   r9   rL   r;   kwargss   &&,r&   _eval_rewrite_as_ceilingfloor._eval_rewrite_as_ceiling   s    ~r)   c                	&    V\        V4      ,
          # r"   fracr   s   &&,r&   _eval_rewrite_as_fracfloor._eval_rewrite_as_frac   s    T#Yr)   c                	<   \        V4      pV P                  ^ ,          P                  '       ds   VP                  '       d   V P                  ^ ,          V^,           8  # VP                  '       d2   VP                  '       d    V P                  ^ ,          \        V4      8  # V P                  ^ ,          V8X  d#   VP                  '       d   \         P                  # V\         P                  J d#   V P                  '       d   \         P                  # \        WRR7      # r   Fr   )
r   r   r0   r$   r4   r9   trueInfinityr-   r   rL   others   &&r&   __le__floor.__le__   s    %99Q<yy|eai//5===yy|gen4499Q<5 U]]]66MAJJ4>>>66M$..r)   c                	R   \        V4      pV P                  ^ ,          P                  '       dl   VP                  '       d   V P                  ^ ,          V8  # VP                  '       d2   VP                  '       d    V P                  ^ ,          \        V4      8  # V P                  ^ ,          V8X  d5   VP                  '       d#   VP                  '       d   \         P                  # V\         P                  J d#   V P                  '       d   \         P                  # \        WRR7      # r   )r   r   r0   r$   r4   r9   is_nonintegerfalseNegativeInfinityr-   r   r   r   s   &&r&   __ge__floor.__ge__   s    %99Q<yy|u,,5===yy|wu~5599Q<5 U]]]u7J7J7J77NA&&&4>>>66M$..r)   c                	<   \        V4      pV P                  ^ ,          P                  '       ds   VP                  '       d   V P                  ^ ,          V^,           8  # VP                  '       d2   VP                  '       d    V P                  ^ ,          \        V4      8  # V P                  ^ ,          V8X  d#   VP                  '       d   \         P                  # V\         P                  J d#   V P                  '       d   \         P                  # \        WRR7      # r   )r   r   r0   r$   r4   r9   r   r   r-   r   r   r   s   &&r&   __gt__floor.__gt__  s    %99Q<yy|uqy005===yy|wu~5599Q<5 U]]]77NA&&&4>>>66M$..r)   c                	R   \        V4      pV P                  ^ ,          P                  '       dl   VP                  '       d   V P                  ^ ,          V8  # VP                  '       d2   VP                  '       d    V P                  ^ ,          \        V4      8  # V P                  ^ ,          V8X  d5   VP                  '       d#   VP                  '       d   \         P                  # V\         P                  J d#   V P                  '       d   \         P                  # \        WRR7      # r   )r   r   r0   r$   r4   r9   r   r   r   r-   r   r   s   &&r&   __lt__floor.__lt__  s    %99Q<yy|e++5===yy|gen4499Q<5 U]]]u7J7J7J66MAJJ4>>>66M$..r)   rW   Nr   rJ   )rX   rY   rZ   r[   r\   r5   r^   r+   r,   r   r   r   r   r   r   r   r   r   r   r_   rW   r)   r&   r8   r8   a   sg    "F D: : ' '><*0(+////r)   r8   c                    \        V P                  \        4      V4      ;'       g     \        V P                  \        4      V4      # r"   )r   rewriter9   r   lhsrhss   &&r&   _eval_is_eqr   #  s7    W%s+ % %ckk$$%r)   c                  ~    ] tR tRtRt^t]R 4       t]R 4       tR t	RR lt
R tR tR	 tR
 tR tR tR tR tRtR# )r9   i)  a  
Ceiling is a univariate function which returns the smallest integer
value not less than its argument. This implementation
generalizes ceiling to complex numbers by taking the ceiling of the
real and imaginary parts separately.

Examples
========

>>> from sympy import ceiling, E, I, S, Float, Rational
>>> ceiling(17)
17
>>> ceiling(Rational(23, 10))
3
>>> ceiling(2*E)
6
>>> ceiling(-Float(0.567))
0
>>> ceiling(I/2)
I
>>> ceiling(S(5)/2 + 5*I/2)
3 + 3*I

See Also
========

sympy.functions.elementary.integers.floor

References
==========

.. [1] "Concrete mathematics" by Graham, pp. 87
.. [2] https://mathworld.wolfram.com/CeilingFunction.html

c                	&   VP                   '       d   VP                  4       # \        ;QJ d    R  W) 3 4       F  '       g   K   RM	  RM! R  W) 3 4       4      '       d   V# VP                  '       d   VP	                  \
        4      ^,          # R# )c              3  ^   "   T F#  p\         \        3 F  p\        W4      x  K  	  K%  	  R # 5ir"   rc   rd   s   &  r&   rg   'ceiling._eval_number.<locals>.<genexpr>S  ri   rj   TFN)rk   r9   rl   rm   rn   r   rG   s   &&r&   r+   ceiling._eval_numberO  s    ===;;= 3 @t@333 @t@ @ @J--g6q99 r)   c                	   VP                   '       Edg   VP                  '       d   \        P                  # VP                  '       d   VP                  4       w  r#VP                  pVf   R # V'       d   V) V) r2\        W#4      '       d   \        P                  # \        \        W24      \        V^V,          4      .4      '       d   \        ^4      # VP                  '       d   VP                  4       w  r#VP                  pVf   R # V'       d   V) V) r2\        V) V4      '       d   \        P                  # \        \        RV,          V4      \        W#) 4      .4      '       d   \        P                  # R # R # R # rq   )r0   rs   r   r2   rt   ru   rv   r   rw   r   r   r   rx   ry   s   &&   r&   r,   ceiling._eval_const_numberY  s   ;;;{{{vv--/OO9 #tcT??55LeCouS!C%/@ABB"1:%--/OO9 #tcT#s##66MeBsFC0%T2BCDD==( E ! r)   c                	P   ^ RI Hp V P                  ^ ,          pVP                  V^ 4      pV P                  V^ 4      pV\        P
                  J g   \        Wd4      '       d=   TP                  T^ \        V4      P                  '       d   RMRR7      p\        V4      pVP                  '       de   Wg8X  d]   TP                  Y^ 8w  d   TM^R7      pVP                  '       d   V# VP                  '       d
   V^,           # \        RV,          4      hV# VP                  WVR7      # r   )r   r   r   r   r   r   r7   r   r   rv   r9   r-   r   rt   r6   r   r   s	   &&&&     r&   r   ceiling._eval_as_leading_termy  s    Aiilxx1~IIaO155=Jt9999Qbh.B.B.Bs9LDA>>>ywwqqytaw@###H%%%q5L-.F.MNN""1d";;r)   c                	~   V P                   ^ ,          pVP                  V^ 4      pV P                  V^ 4      pV\        P                  J d=   TP	                  T^ \        V4      P                  '       d   RMRR7      p\        V4      pVP                  '       dB   ^ RI	H
p ^ RIHp	 VP                  WW44      p
V^ 8:  d   V	! ^V^ 34      MV! ^ ^4      pW,           # Wg8X  d]   TP                  Y^ 8w  d   TM^R7      pVP                  '       d   V# VP                  '       d
   V^,           # \!        RV,          4      hV# )r   r   r   r   r   r   r   r   )r   r   r   r   r   r   rv   r9   r   r   r   r   r   r   r   rt   r6   r   s   &&&&&        r&   r   ceiling._eval_nseries  s	   iilxx1~IIaO155=99Qbh.B.B.Bs9LDAE0!!!3A$%Fa!Q Aq0AA5L9771194!7<D!!!1u)*BT*IJJHr)   c                	    \        V) 4      ) # r"   r8   r   s   &&,r&   _eval_rewrite_as_floorceiling._eval_rewrite_as_floor  s    sd|r)   c                	(    V\        V) 4      ,           # r"   r   r   s   &&,r&   r   ceiling._eval_rewrite_as_frac  s    T3$Zr)   c                	<    V P                   ^ ,          P                  # rJ   )r   rt   rK   s   &r&   _eval_is_positiveceiling._eval_is_positive  r   r)   c                	<    V P                   ^ ,          P                  # rJ   )r   is_nonpositiverK   s   &r&   _eval_is_nonpositiveceiling._eval_is_nonpositive  r   r)   c                	<   \        V4      pV P                  ^ ,          P                  '       ds   VP                  '       d   V P                  ^ ,          V^,
          8*  # VP                  '       d2   VP                  '       d    V P                  ^ ,          \        V4      8*  # V P                  ^ ,          V8X  d#   VP                  '       d   \         P                  # V\         P                  J d#   V P                  '       d   \         P                  # \        WRR7      # r   )r   r   r0   r$   r4   r8   r   r   r-   r   r   r   s   &&r&   r   ceiling.__lt__  s    %99Q<yy|uqy005===yy|uU|3399Q<5 U]]]77NAJJ4>>>66M$..r)   c                	R   \        V4      pV P                  ^ ,          P                  '       dl   VP                  '       d   V P                  ^ ,          V8  # VP                  '       d2   VP                  '       d    V P                  ^ ,          \        V4      8  # V P                  ^ ,          V8X  d5   VP                  '       d#   VP                  '       d   \         P                  # V\         P                  J d#   V P                  '       d   \         P                  # \        WRR7      # r   )r   r   r0   r$   r4   r8   r   r   r   r-   r   r   s   &&r&   r   ceiling.__gt__  s    %99Q<yy|e++5===yy|eEl2299Q<5 U]]]u7J7J7J66MA&&&4>>>66M$..r)   c                	<   \        V4      pV P                  ^ ,          P                  '       ds   VP                  '       d   V P                  ^ ,          V^,
          8  # VP                  '       d2   VP                  '       d    V P                  ^ ,          \        V4      8  # V P                  ^ ,          V8X  d#   VP                  '       d   \         P                  # V\         P                  J d#   V P                  '       d   \         P                  # \        WRR7      # r   )
r   r   r0   r$   r4   r8   r   r   r-   r   r   s   &&r&   r   ceiling.__ge__  s    %99Q<yy|eai//5===yy|eEl2299Q<5 U]]]66MA&&&4>>>66M$..r)   c                	R   \        V4      pV P                  ^ ,          P                  '       dl   VP                  '       d   V P                  ^ ,          V8*  # VP                  '       d2   VP                  '       d    V P                  ^ ,          \        V4      8*  # V P                  ^ ,          V8X  d5   VP                  '       d#   VP                  '       d   \         P                  # V\         P                  J d#   V P                  '       d   \         P                  # \        WRR7      # r   )r   r   r0   r$   r4   r8   r   r   r   r-   r   r   r   s   &&r&   r   ceiling.__le__  s    %99Q<yy|u,,5===yy|uU|3399Q<5 U]]]u7J7J7J77NAJJ4>>>66M$..r)   rW   NrJ   )rX   rY   rZ   r[   r\   r5   r^   r+   r,   r   r   r   r   r   r   r   r   r   r   r_   rW   r)   r&   r9   r9   )  sg    "F D: : ) )><*0 (+////r)   r9   c                    \        V P                  \        4      V4      ;'       g     \        V P                  \        4      V4      # r"   )r   r   r8   r   r   s   &&r&   r   r     s0    U#S)IIU3;;t3DS-IIr)   c                      ] tR tRtRt]R 4       tR tR tR t	R t
R tR	 tR
 tR tR tR tR tR tR tR tRR ltRtR# )r   i  a  Represents the fractional part of x

For real numbers it is defined [1]_ as

.. math::
    x - \left\lfloor{x}\right\rfloor

Examples
========

>>> from sympy import Symbol, frac, Rational, floor, I
>>> frac(Rational(4, 3))
1/3
>>> frac(-Rational(4, 3))
2/3

returns zero for integer arguments

>>> n = Symbol('n', integer=True)
>>> frac(n)
0

rewrite as floor

>>> x = Symbol('x')
>>> frac(x).rewrite(floor)
x - floor(x)

for complex arguments

>>> r = Symbol('r', real=True)
>>> t = Symbol('t', real=True)
>>> frac(t + I*r)
I*frac(r) + frac(t)

See Also
========

sympy.functions.elementary.integers.floor
sympy.functions.elementary.integers.ceiling

References
===========

.. [1] https://en.wikipedia.org/wiki/Fractional_part
.. [2] https://mathworld.wolfram.com/FractionalPart.html

c                	  a a ^ RI Ho VV 3R lp\        P                  \        P                  rC\        P
                  ! V4       F  pVP                  '       g(   \        P                  V,          P                  '       dE   \        V4      pVP                  \        P                  4      '       g   WF,          pKv  W5,          pK  W5,          pK  	  V! V4      pV! V4      pV\        P                  V,          ,           # )r   r   c                  < V \         P                  \         P                  39   d
   S! ^ ^4      # V P                  '       d   \         P                  # V P
                  '       d[   V \         P                  J d   \         P                  # V \         P                  J d   \         P                  # V \        V 4      ,
          # S! V RR7      # r   )	r   r   r   r$   r2   r4   r   ComplexInfinityr8   )r;   r   r:   s   &r&   _evalfrac.eval.<locals>._eval%  s    qzz1#5#566"1a((~~~vv}}}!%%<55LA---55Ls++sU++r)   )r   r   r   r2   r   r3   r.   r/   r0   r   r1   )r:   r;   r   realimagrB   r=   r   s   f&     @r&   rD   	frac.eval!  s    A	, VVQVVds#A ~~~!//!"3!<!<!<qEuuQ__--IDID	 $ T{T{aood***r)   c                	&    V\        V4      ,
          # r"   r   r   s   &&,r&   r   frac._eval_rewrite_as_floorD  s    U3Zr)   c                	(    V\        V) 4      ,           # r"   r   r   s   &&,r&   r   frac._eval_rewrite_as_ceilingG  s    WcT]""r)   c                	    R # )TrW   rK   s   &r&   rM   frac._eval_is_finiteJ  s    r)   c                	<    V P                   ^ ,          P                  # rJ   )r   is_extended_realrK   s   &r&   rQ   frac._eval_is_realM  s    yy|,,,r)   c                	<    V P                   ^ ,          P                  # rJ   )r   r.   rK   s   &r&   _eval_is_imaginaryfrac._eval_is_imaginaryP  s    yy|(((r)   c                	<    V P                   ^ ,          P                  # rJ   )r   r$   rK   s   &r&   rU   frac._eval_is_integerS  s    yy|&&&r)   c                	    \        V P                  ^ ,          P                  V P                  ^ ,          P                  .4      # rJ   )r   r   rs   r$   rK   s   &r&   _eval_is_zerofrac._eval_is_zeroV  s.    1--tyy|/F/FGHHr)   c                	    R # )FrW   rK   s   &r&   r   frac._eval_is_negativeY  s    r)   c                	    V P                   '       dJ   \        V4      pVP                  '       d   \        P                  # V P                  V4      pVe   V'       * # \        WRR7      # NFr   )r   r   is_extended_nonpositiver   r   _value_one_or_morer   rL   r   ress   && r&   r   frac.__ge__\  sU       UOE,,,vv))%0Cx$..r)   c                	    V P                   '       dJ   \        V4      pV P                  V4      pVe   V'       * # VP                  '       d   \        P
                  # \        WRR7      # r  )r   r   r  is_extended_negativer   r   r   r  s   && r&   r   frac.__gt__h  sU       UOE))%0Cx)))vv$..r)   c                	    V P                   '       dE   \        V4      pVP                  '       d   \        P                  # V P                  V4      pVe   V# \        WRR7      # r  )r   r   r  r   r   r  r   r  s   && r&   r   frac.__le__t  sS       UOE)))ww))%0C
$..r)   c                	    V P                   '       dE   \        V4      pVP                  '       d   \        P                  # V P                  V4      pVe   V# \        WRR7      # r  )r   r   r  r   r   r  r   r  s   && r&   r   frac.__lt__  sS       UOE,,,ww))%0C
$..r)   c                	$   VP                   '       d~   VP                  '       d4   V^8  pV'       d'   \        V\        4      '       g   \        P
                  # VP                  '       d%   VP                  '       d   \        P
                  # R# R# R# )   N)r   r4   r7   r   r   r   r$   rt   r  s   && r&   r  frac._value_one_or_more  se    !!!qjz#z::66ME$5$5$5vv %6 "r)   c                	   ^ RI Hp V P                  ^ ,          pVP                  V^ 4      pV P                  V^ 4      pVP                  '       db   VP
                  '       dN   VP                  WR7      pVP                  '       d   \        P                  # WV,
          P                  WVR7      # V# V\        P                  \        P                  \        P                  39   d
   V! ^ ^4      # VP                  WVR7      # )r   r   r   r   )r   r   r   r   r-   rs   r   rv   r   rw   r   r   r   r   r   s	   &&&&     r&   r   frac._eval_as_leading_term  s    Aiilxx1~IIaO>>>yyywwqw,###55L
33At3LLa''Q5G5GHHq!$$""1d";;r)   c                	   ^ RI Hp V P                  ^ ,          pVP                  V^ 4      pV P                  V^ 4      pVP                  '       d<   ^ RIHp	 V^ 8:  d   V! ^V^ 34      p
V
# V	! ^ ^4      V! W,          V^ 34      ,           p
V
# Wg,
          P                  WW4R7      pVP                  '       dM   VP                  WR7      pYP                  '       d   \        P                  M\        P                  ,          pV# W,          pV# )r   r   r   r   r   )r   r   r   r   r   r   r   r   rs   r   rv   r   rw   r2   )rL   r%   r   r   r   r   r;   r   rC   r   r   r  r   s   &&&&&        r&   r   frac._eval_nseries  s    ,iilxx1~IIaOE$%Fa!Q AH 1<Aq0AE!$QRTUPVDW0WAH:,,Q,HCyyywwqw, 0 0 0quuaff< J Jr)   rW   NrJ   )rX   rY   rZ   r[   r\   r^   rD   r   r   rM   rQ   r  rU   r  r   r   r   r   r   r  r   r   r_   rW   r)   r&   r   r     sn    /`  +  +D #-)'I
/
/
/
/<$ r)   r   c                    V P                  \        4      V8X  g   V P                  \        4      V8X  d   R # VP                  '       d   R# V P	                  V4      pVe   R# R# )TFN)r   r8   r9   r  r  )r   r   r  s   && r&   r   r     sS    Ec!	W		$


 
 
%C
 r)   N))
__future__r   sympy.core.basicr   sympy.core.exprr   
sympy.corer   r   sympy.core.evalfr   r	   sympy.core.functionr
   sympy.core.logicr   r   sympy.core.numbersr   r   sympy.core.relationalr   r   r   r   r   r   r   r   sympy.core.sympifyr   $sympy.functions.elementary.complexesr   r   sympy.multipledispatchr   r   r8   r   r9   r   rW   r)   r&   <module>r-     s    " "    A / 0 2 Q Q Q ' 7 +I$O I$X/M /D 
%% %
/m /D 
'5J JH? HV 
$
 
r)   