
    hi                         S SK JrJr  S SKJrJrJrJrJr  S SK	J
r
  S SKJrJr  S SKJr  S SKJrJr  S SKJr  S SKJr  S S	KJr  S S
K Jr  S SKJr  \" S5      u  rrrrS r S r!S r"S r#S r$g)    )
Derivativediff)FloatInanoopi)Eq)Symbolsymbols)	Piecewise)
DiracDelta	Heaviside)SingularityFunction)O)	unchanged)ArgumentIndexError)raiseszx y a nc                     [        [        SS5      R                  5       S[        [        SS5      -  :X  d   e[        [        SS5      R                  5       [        [        SS5      :X  d   e[        [        SS5      R                  5       [        [        SS5      :X  d   e[        [        SS5      R                  5       [        [        SS5      :X  d   e[        [        SS5      R                  5       [        [        SS5      :X  d   e[        [        SS	5      R	                  [        5      S	[        [        SS
5      -  :X  d   e[        [        SS5      R	                  [        5      [        [        SS5      :X  d   e[        [        SS5      R	                  [        5      [        [        SS5      :X  d   e[        [        SS5      R	                  [        S	5      [        [        SS5      :X  d   e[        SSS9n [        [        [        U 5      R                  5       U [        [        [        U S
-
  5      -  :X  d   e[        [        [        U 5      R	                  [        5      U [        [        [        U S
-
  5      -  :X  d   eS[        [        [        U 5      -  S[        [        [        S5      -  -   S[        [        [        S5      -  -   nU S-  [        [        [        U S
-
  5      -  S[        [        [        S5      -  -   S[        [        [        S5      -  -
  n[	        U[        5      U:X  d   e[        [        SS5      R	                  SS9[        [        [        SS5      [        5      :X  d   e[        [        S 5        g )N      r            nTpositive   
   F)evaluatec                  B    [        [        SS5      R                  S5      $ )Nr   r   r   )r   xfdiff     r/var/www/fran/franai/venv/lib/python3.13/site-packages/sympy/functions/special/tests/test_singularity_functions.py<lambda>test_fdiff.<locals>.<lambda>)   s    ':1a'C'I'I!'Lr*   )
r   r'   r(   yr   r   ar   r   r   )r   expr_inexpr_outs      r+   
test_fdiffr2      s   q!Q'--/15HAq5Q3QQQQq!R(..04G1b4QQQQq!R(..04G1b4QQQQq!R(..04G1b4QQQQq!Q'--/3Fq!R3PPPPq!Q',,Q/15HAq5Q3QQQQq"b)..q15HBPR5SSSSq!Q',,Q/3Fq!R3PPPPq!Q',,Q26I!QPR6SSSSsT"Aq!Q'--/15HAqSTu5U3UUUUq!Q',,Q/15HAqSTu5U3UUUU#Aq!,,q1DQ21N/NNQTUhijlmopUqQqqGs&q!QU33a8KAqRT8U6UUXZ[noprsuw[xXxxHx'''q#q)...>&q#q1157 7 7 LMr*   c                     [        [        [        [        5      R                  [         :X  d   e[        [         [        S[        5      (       d   e[        SSS5      S:X  d   e[        SSS5      S:X  d   e[        SSS5      S:X  d   e[        SSS5      S:X  d   e[        [        SSS	9SS5      S:X  d   e[        SSS
5      [        L d   e[        SSS
5      S:X  d   e[        SSS
5      S:X  d   e[        SSS5      S:X  d   e[        SSS5      S:X  d   e[        SSS5      [        L d   e[        SSS5      S:X  d   e[        SSS5      [        L d   e[        SSS5      S:X  d   e[        SSS5      [        L d   e[        SSS5      R                  S5      [        SS5      :X  d   e[        S[        S5      [        * S-   S-  :X  d   e[        [        [        [        5      [        L d   e[        [        [        S5      [        L d   e[        [        [        [        5      [        L d   e[        [        S 5        [        [        S 5        [        [        S 5        g )Nr   r"   r   r   r   r   zT)zeror      r   r   r      r   gffffff@z40.8415c                  4    [        [        [        [        5      $ )N)r   r'   r/   r   r)   r*   r+   r,   test_eval.<locals>.<lambda>D   s    21a;r*   c                  :    [        S[        -  [        [        5      $ )Nr   )r   r   r   r)   r*   r+   r,   r:   E   s    21Q31=r*   c                  ,    [        [        [        S5      $ )N)r   r'   r/   r)   r*   r+   r,   r:   F   s    21a<r*   )r   r'   r/   r   funcr   r   r   evalfr   r	   r   r   
ValueErrorr)   r*   r+   	test_evalrA   ,   sH   q!Q',,0CCCC(!Q2222q!Q'1,,,q!Q'1,,,q!Q'1,,,q!Q'1,,,vc5q!<AAAq!R(B...q!R(A---q!R(A---q!R(A---q!R(A---q!R(B...q!R(A---q!R(B...q!R(A---q!R(B...Q*11!4h8LLLLsB*sSy1n<<<q!S)S000q#q)S000sAq)S000
:;<
:=>
:<=r*   c                     [        SSS9n [        [        SS5      R                  [        5      S:X  d   e[        [        SS5      R                  [        5      S:X  d   e[        [        SS5      R                  [        5      S:X  d   e[        [        SS5      R                  [        S	S
9S:X  d   e[        [        SS	5      R                  [        5      S:X  d   e[        [        SS5      R                  [        5      S:X  d   e[        [        SS5      R                  [        5      S:X  d   e[        [        SS5      R                  [        5      S:X  d   e[        [        U -   SS5      S-  [        [        U -   U S-  S5      -
  [        [        U -   U S5      S-  -   R                  [        5      [        * S-  :X  d   eg )NlTr    r"   r   r   r   r   r   )cdirr   r   )r   r   r'   as_leading_termrC   s    r+   test_leading_termrG   I   s   sT"Aq!Q'77:a???q"a(88;q@@@q!Q'77:a???q!Q'777CqHHHq!R(88;q@@@q!R(88;q@@@q!R(88;q@@@q!R(88;q@@@Aq!,Q.
a!eQqS!
,-
a!eQ
*1
,-.=oa.@QBqDI I Ir*   c                     [        SSS9n [        [        SS5      R                  [        5      [        S-  S[        -  -   S-   :X  d   e[        [        SS	5      R                  [        5      [        S-   :X  d   e[        [        S
S
5      R                  [        5      S	:X  d   e[        [        S
S
5      R                  [        SS9S
:X  d   e[        [        S
S5      R                  [        5      S
:X  d   e[        [        S
S5      R                  [        5      S
:X  d   e[        [        S
S5      R                  [        5      S
:X  d   e[        [        S
S5      R                  [        5      S
:X  d   e[        [        U -   S
S	5      S-  [        [        U -   U S-  S	5      -
  [        [        U -   U S	5      S-  -   R	                  [        5      [        * S-  [        [        S-  5      -   :X  d   eg )NrC   Tr    r   r   r   	   r   r   r   -)dirr   r   )r   r   r'   seriesnseriesr   rF   s    r+   test_seriesrN   X   s   sT"Aq"a(//2adQqSj1nDDDq"a(//2a!e;;;q!Q'..q1Q666q!Q'..qc.:a???q!R(//2a777q!R(//2a777q!R(//2a777q!R(//2a777Aq!,Q.
a!eQqS!
,-
a!eQ
*1
,-.5gajQBqD1QT7NK K Kr*   c                     [        [        SS5      R                  [        5      [        [        S-
  S-  [        S-
  S:  4S5      :X  d   e[        [        SS5      R                  [        5      [        S[        S-   S:  4S5      :X  d   e[        [        SS	5      R                  [        5      [        [        [        [        S-
  S5      4S5      :X  d   e[        [        SS
5      R                  [        5      [        [        [        [        S5      4S5      :X  d   e[        SSS9n [        [        [        U 5      R                  [        5      nU[        [        [        -
  U -  [        [        -
  S:  4S5      :X  d   eUR                  [        [        5      R                  U S5      S:X  d   e[        [        SS5      [        [        SS	5      -   [        [        SS
5      -
  n[        S-
  S-  [        [        S-
  S5      -  [        [        S-   5      -   [        [        S5      -
  nUR                  [        5      U:X  d   eUR                  [        5      U:X  d   eUR                  S5      U:X  d   e[        [        [        U 5      [        [        [        S	5      -   [        [        [        S
5      -
  n[        [        -
  U -  [        [        [        -
  S5      -  [        [        [        -
  5      -   [        [        [        -
  S5      -   nUR                  [        5      U:X  d   eUR                  [        5      U:X  d   eUR                  S5      U:X  d   eg )Nr   r   r   )r   Tr#   r   r$   r   r   r   r   T)nonnegativer   r"   HeavisideDiracDelta)r   r'   rewriter   r   r
   r   r/   subsr   r   )r   pr0   r1   s       r+   test_rewriterU   g   s   q!Q'//	:AEA:q1uz*I68 8 8q#q)11)<1a"fk"I.0 0 0q!R(00;2r!a%|$i02 2 2q!R(00;2r!Qx.),. . . 	s%AAq!$,,Y7AAEA:q1uz*I68 8 866!Q<Q"a'''!!Q*-@B-KKNabcefhjNkkGAz)AE1--
1q50AAJqRSDTTH??9%111??:&(222??01X===!!Q*-@Ar-JJM`abdegiMjjGAz)AE1--
1q50AAJqSTuVWDXXH??9%111??:&(222??01X===r*   N)%sympy.core.functionr   r   sympy.core.numbersr   r   r   r   r	   sympy.core.relationalr
   sympy.core.symbolr   r   $sympy.functions.elementary.piecewiser   'sympy.functions.special.delta_functionsr   r   -sympy.functions.special.singularity_functionsr   sympy.series.orderr   sympy.core.exprr   r   sympy.testing.pytestr   r'   r.   r/   r   r2   rA   rG   rN   rU   r)   r*   r+   <module>r`      sY    2 6 6 $ / : K M   & 2 'Y
1aN4>:IK>r*   