
    \h                     T    S r SSKJr  SSKJr  SSKJr  SSKJr  \" S5      S 5       r	g)	zZ
This module implements the Residue function and related tools for working
with residues.
    )Mul)S)sympify)timethisresiduec                    SSK Jn  SSKJn  [	        U 5      n US:w  a  U R                  XU-   5      n S H>  nU R                  XS9nUR                  U5      (       a  UR                  5       S:  d  M>    O   U" WR                  5       U5      nUR                  (       a  UR                  nOU/n[        R                  nU H}  n	U	R                  U5      u  p[        U6 nU[        R                   U4;   d:  UR"                  (       a  UR$                  R&                  (       d  [)        SU-  5      eUSU-  :X  d  My  X-  nM     U$ )a  
Finds the residue of ``expr`` at the point x=x0.

The residue is defined as the coefficient of ``1/(x-x0)`` in the power series
expansion about ``x=x0``.

Examples
========

>>> from sympy import Symbol, residue, sin
>>> x = Symbol("x")
>>> residue(1/x, x, 0)
1
>>> residue(1/x**2, x, 0)
0
>>> residue(2/sin(x), x, 0)
2

This function is essential for the Residue Theorem [1].

References
==========

.. [1] https://en.wikipedia.org/wiki/Residue_theorem
r   )Order)collect)r                      )nzterm of unexpected form: %sr   )sympy.series.orderr	   sympy.simplify.radsimpr
   r   subsnserieshasgetnremoveOis_Addargsr   Zeroas_coeff_mulr   Oneis_Powexp
is_IntegerNotImplementedError)exprxx0r	   r
   r   sr   resargcms               M/var/www/auris/envauris/lib/python3.13/site-packages/sympy/series/residues.pyr   r      s   N ).4=D	QwyyF#$LLL uuU||qvvx1} % 			QAxxvvs
&&C"GaeeQZAHH1A1A%&Ca&GHH!8HC  J    N)
__doc__sympy.core.mulr   sympy.core.singletonr   sympy.core.sympifyr   sympy.utilities.timeutilsr   r    r+   r*   <module>r2      s1   
  " & . 
)< <r+   