ó
    ‰*£h»  ã                   ó&   • S SK JrJr  S SKJr  S rg)é    )ÚSingularityFunctionÚ
DiracDelta)Ú	integratec                 óÈ  • U R                  [        5      (       d  g[        U [        5      (       a[  U R                  u  pnUR                  (       d  UR
                  (       a  [        XUS-   5      US-   -  $ US;   a  [        XUS-   5      $ U R                  (       d  U R                  (       a5  U R                  [        5      n[        XA5      nUR                  [        5      $ g)aÉ  
This function handles the indefinite integrations of Singularity functions.
The ``integrate`` function calls this function internally whenever an
instance of SingularityFunction is passed as argument.

Explanation
===========

The idea for integration is the following:

- If we are dealing with a SingularityFunction expression,
  i.e. ``SingularityFunction(x, a, n)``, we just return
  ``SingularityFunction(x, a, n + 1)/(n + 1)`` if ``n >= 0`` and
  ``SingularityFunction(x, a, n + 1)`` if ``n < 0``.

- If the node is a multiplication or power node having a
  SingularityFunction term we rewrite the whole expression in terms of
  Heaviside and DiracDelta and then integrate the output. Lastly, we
  rewrite the output of integration back in terms of SingularityFunction.

- If none of the above case arises, we return None.

Examples
========

>>> from sympy.integrals.singularityfunctions import singularityintegrate
>>> from sympy import SingularityFunction, symbols, Function
>>> x, a, n, y = symbols('x a n y')
>>> f = Function('f')
>>> singularityintegrate(SingularityFunction(x, a, 3), x)
SingularityFunction(x, a, 4)/4
>>> singularityintegrate(5*SingularityFunction(x, 5, -2), x)
5*SingularityFunction(x, 5, -1)
>>> singularityintegrate(6*SingularityFunction(x, 5, -1), x)
6*SingularityFunction(x, 5, 0)
>>> singularityintegrate(x*SingularityFunction(x, 0, -1), x)
0
>>> singularityintegrate(SingularityFunction(x, 1, -1) * f(x), x)
f(1)*SingularityFunction(x, 1, 0)

Né   )éÿÿÿÿéþÿÿÿéýÿÿÿéüÿÿÿ)Úhasr   Ú
isinstanceÚargsÚis_positiveÚis_zeroÚis_MulÚis_PowÚrewriter   r   )ÚfÚxÚaÚnÚexprs        Úa/home/mande/repo/quber/.venv/lib/python3.13/site-packages/sympy/integrals/singularityfunctions.pyÚsingularityintegrater      s¬   € ðV �5‰5Ô$×%Ñ%Øä�!Ô(×)Ñ)Ø—&‘&‰ˆˆaØ�=�=˜AŸIŸIÜ& q¨Q°©UÓ3°Q¸±UÑ;Ð;ØÐ"Ó"Ü& q¨Q°©UÓ3Ð3à‡x‡x�1—8—8à�y‰yœÓ$ˆÜ˜Ó!ˆØ�|‰|Ô/Ó0Ð0Øó    N)Úsympy.functionsr   r   Úsympy.integralsr   r   © r   r   Ú<module>r      s   ðß ;Ý %ó:r   