
    sgi                         d dl mZmZ d dl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 d dlmZ d d	lmZ d d
l mZ d dlmZ  ed      \  ZZZZd Z d Z!d Z"d Z#d Z$y)    )
Derivativediff)FloatInanoopi)Eq)Symbolsymbols)	Piecewise)
DiracDelta	Heaviside)SingularityFunction)O)	unchanged)ArgumentIndexError)raiseszx y a nc                     t        t        dd      j                         dt        t        dd      z  k(  sJ t        t        dd      j                         t        t        dd      k(  sJ t        t        dd      j                         t        t        dd      k(  sJ t        t        dd      j                         t        t        dd      k(  sJ t        t        dd      j                         t        t        dd      k(  sJ t        t        dd	      j	                  t              d	t        t        dd
      z  k(  sJ t        t        dd      j	                  t              t        t        dd      k(  sJ t        t        dd      j	                  t              t        t        dd      k(  sJ t        t        dd      j	                  t        d	      t        t        dd      k(  sJ t        dd      } t        t        t        |       j                         | t        t        t        | d
z
        z  k(  sJ t        t        t        |       j	                  t              | t        t        t        | d
z
        z  k(  sJ dt        t        t        |       z  dt        t        t        d      z  z   dt        t        t        d      z  z   }| dz  t        t        t        | d
z
        z  dt        t        t        d      z  z   dt        t        t        d      z  z
  }t	        |t              |k(  sJ t        t        dd      j	                  d      t        t        t        dd      t              k(  sJ t        t        d        y )N      r            nTpositive   
   F)evaluatec                  B    t        t        dd      j                  d      S )Nr   r   r   )r   xfdiff     k/var/www/html/venv/lib/python3.12/site-packages/sympy/functions/special/tests/test_singularity_functions.py<lambda>ztest_fdiff.<locals>.<lambda>)   s    ':1a'C'I'I!'L r*   )
r   r'   r(   yr   r   ar   r   r   )r   expr_inexpr_outs      r+   
test_fdiffr1      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                     t        t        t        t              j                  t         k(  sJ t        t         t        dt              sJ t        ddd      dk(  sJ t        ddd      dk(  sJ t        ddd      dk(  sJ t        ddd      dk(  sJ t        t        dd	      dd      dk(  sJ t        ddd
      t        u sJ t        ddd
      dk(  sJ t        ddd
      dk(  sJ t        ddd      dk(  sJ t        ddd      dk(  sJ t        ddd      t        u sJ t        ddd      dk(  sJ t        ddd      t        u sJ t        ddd      dk(  sJ t        ddd      t        u sJ t        ddd      j                  d      t        dd      k(  sJ t        dt        d      t         dz   dz  k(  sJ t        t        t        t              t        u sJ t        t        t        d      t        u sJ t        t        t        t              t        u sJ t        t        d        t        t        d        t        t        d        y )Nr   r"   r   r   r   r   zT)zeror      r   r   r      r   gffffff@z40.8415c                  4    t        t        t        t              S )N)r   r'   r.   r   r)   r*   r+   r,   ztest_eval.<locals>.<lambda>D   s    21a; r*   c                  :    t        dt        z  t        t              S )Nr   )r   r   r   r)   r*   r+   r,   ztest_eval.<locals>.<lambda>E   s    21Q31= r*   c                  ,    t        t        t        d      S )N)r   r'   r.   r)   r*   r+   r,   ztest_eval.<locals>.<lambda>F   s    21a< r*   )r   r'   r.   r   funcr   r   r   evalfr   r	   r   r   
ValueErrorr)   r*   r+   	test_evalr?   ,   sE   q!Q',,0CCCC(!Q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                     t        dd      } t        t        dd      j                  t              dk(  sJ t        t        dd      j                  t              dk(  sJ t        t        dd      j                  t              dk(  sJ t        t        dd      j                  t        d	
      dk(  sJ t        t        dd	      j                  t              dk(  sJ t        t        dd      j                  t              dk(  sJ t        t        dd      j                  t              dk(  sJ t        t        dd      j                  t              dk(  sJ t        t        | z   dd      dz  t        t        | z   | dz  d      z
  t        t        | z   | d      dz  z   j                  t              t         dz  k(  sJ y )NlTr    r"   r   r   r   r   r   )cdirr   r   )r   r   r'   as_leading_termrA   s    r+   test_leading_termrE   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                     t        dd      } t        t        dd      j                  t              t        dz  dt        z  z   dz   k(  sJ t        t        dd	      j                  t              t        dz   k(  sJ t        t        d
d
      j                  t              d	k(  sJ t        t        d
d
      j                  t        d      d
k(  sJ t        t        d
d      j                  t              d
k(  sJ t        t        d
d      j                  t              d
k(  sJ t        t        d
d      j                  t              d
k(  sJ t        t        d
d      j                  t              d
k(  sJ t        t        | z   d
d	      dz  t        t        | z   | dz  d	      z
  t        t        | z   | d	      dz  z   j	                  t              t         dz  t        t        dz        z   k(  sJ y )NrA   Tr    r   r   r   	   r   r   r   -)dirr   r   )r   r   r'   seriesnseriesr   rD   s    r+   test_seriesrL   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                     t        t        dd      j                  t              t        t        dz
  dz  t        dz
  dk\  fd      k(  sJ t        t        dd      j                  t              t        dt        dz   dk\  fd      k(  sJ t        t        dd	      j                  t              t        t        t        t        dz
  d      fd      k(  sJ t        t        dd
      j                  t              t        t        t        t        d      fd      k(  sJ t        dd      } t        t        t        |       j                  t              }|t        t        t        z
  | z  t        t        z
  dk\  fd      k(  sJ |j                  t        t              j                  | d      dk(  sJ t        t        dd      t        t        dd	      z   t        t        dd
      z
  }t        dz
  dz  t        t        dz
  d      z  t        t        dz         z   t        t        d      z
  }|j                  t              |k(  sJ |j                  t              |k(  sJ |j                  d      |k(  sJ t        t        t        |       t        t        t        d	      z   t        t        t        d
      z
  }t        t        z
  | z  t        t        t        z
  d      z  t        t        t        z
        z   t        t        t        z
  d      z   }|j                  t              |k(  sJ |j                  t              |k(  sJ |j                  d      |k(  sJ y )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   pr/   r0   s       r+   test_rewriterS   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   r1   r?   rE   rL   rS   r)   r*   r+   <module>r^      sY    2 6 6 $ / : K M   & 2 'Y
1aN4>:IK>r*   