
    sg                     (   d dl mZmZmZ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mZmZmZ d dl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$ edd      Z% edd      Z& edd      Z'd Z(d Z)d Z*y)    )Inanoopi)EqNe)S)Symbolsymbols)adjoint	conjugatesign	transpose)sqrt)	Piecewise)
DiracDelta	Heaviside)SingularityFunction)signsimp)raises)	unchanged)ArgumentIndexErrorzx ytT)nonzeroj)positivek)negativec                     t        d      dk(  sJ t        d      dk(  sJ t        t               dk(  sJ t        dd      dk(  sJ t        t        d      t        t              k(  sJ t        t              dk(  sJ t        t              dk(  sJ t        t
              dk(  sJ t        t              t        u sJ t        d      j                  t         u sJ t        t              j                  t         u sJ t        t        t                    t        t              k(  sJ t        t        t        t        z
              t        t        t        z
        k(  sJ t        t        t                    t        t              k(  sJ t        t        t        t        z
              t        t        t        z
        k(  sJ t        t        t                    t        t              k(  sJ t        t        t        t        z
              t        t        t        z
        k(  sJ t        t              j                  t              t        t        d      k(  sJ t        t        d      j                  t              t        t        d      k(  sJ t        t              j                  t              du sJ t        dt        z        j                  t              du sJ t        t        dz        j                  t              d	u sJ t        t        t                    j                  t              d	u sJ t        t              j                  t              d	u sJ t        t        t        z        j                  dt        
      t        t              t!        t              z  k(  sJ t        t        t        z        j                  dt        
      t        t              t!        t              z  k(  sJ t        t        dz  t        z        j                  dt        
      t        t        dz  t        z        k(  sJ t        t              j                  dt        
      t        t              k(  sJ t        t        dz
  t        dz
  z  t        dz
  z        j                  dt        
      t        t        dz
        dz  t        t        dz
        z   t        t        dz
        dz  z   k(  sJ t        dt        z        t        t              k7  sJ t        t              t        t               k(  sJ t        t         d      t        t        d      k(  sJ t        t         d      t        t        d       k(  sJ t        t"         t        z        t        t"        t        z        k(  sJ t        t        t        z
        t        t        t        z
        k7  sJ t%        t        t        t        z
        t        t        t        z
        z
        dk(  sJ t        t        t        z        j                  dt        
      t        t              t!        t              z  k(  sJ t        t        t        z        j                  dt        
      t        t              t!        t              z  k(  sJ t        t        dz  t        z        j                  dt        
      t        t        dz  t        z        k(  sJ t        t              j                  dt        
      t        t              k(  sJ t        t        dz
  t        dz
  z  t        dz
  z        j                  d      t        t        dz
        dz  t        t        dz
        z   t        t        dz
        dz  z   k(  sJ t'        t(        d        t'        t*        d        t'        t*        d        t'        t*        d        y )N   r   gffffff@         T   F)
diracdeltawrt)r%   c                  >    t        t              j                  d      S Nr#   )r   xfdiff     e/var/www/html/venv/lib/python3.12/site-packages/sympy/functions/special/tests/test_delta_functions.py<lambda>z!test_DiracDelta.<locals>.<lambda>P   s    z!}':':1'= r,   c                  "    t        t        d      S )N)r   r)   r+   r,   r-   r.   z!test_DiracDelta.<locals>.<lambda>Q   s    z!R0 r,   c                       t        t              S Nr   r   r+   r,   r-   r.   z!test_DiracDelta.<locals>.<lambda>R   s
    z!} r,   c                  ,    t        ddt        z  z         S Nr#   r$   r3   r+   r,   r-   r.   z!test_DiracDelta.<locals>.<lambda>S   s    z!ac'2 r,   )r   r   r)   ir   r   r   funcr   yr   r   diff	is_simpler   expandabsr   r   r   r   
ValueErrorr+   r,   r-   test_DiracDeltar>      s   a=Ac?arc?aaq   az!},,,a=Aa=Aa=Ac?c!!!a=+++a=+++ :a=!Z]222:a!e$%AE)::::Z]#z!}444ZA&':a!e+<<<<Z]#z!}444ZA&':a!e+<<<<a=a Jq!$4444a  #z!Q'7777a=""1%---ac?$$Q'4///ad%%a(E111d1g((+u444a=""1%...ac?!!Tq!9Z]3q6=QQQQac?!!Tq!9Z]3q6=QQQQad1f$$!$<
1a4PQ6@RRRRa=4Q7:a=HHHq1uq1uoq1u-.5515M1q5!jQ//*QU2CA2EEG G G ac?jm+++a=JrN***qb!
1a 0000qb!Aq!1 1111rc!e
2a4 0000a!e
1q5 1111Jq1u%
1q5(99:a???ac?!!Tq!9Z]3q6=QQQQac?!!Tq!9Z]3q6=QQQQad1f$$!$<
1a4PQ6@RRRRa=4Q7:a=HHHq1uq1uoq1u-.555Fq1ua*QU"33jQ6G6IIK K K =>
:01
:,-
:23r,   c                  ^   t        d      dk(  sJ t        d      dk(  sJ t        d      t        j                  k(  sJ t        dt              t        k(  sJ t	        t         t        t
              sJ t        dt
              t
        k(  sJ t        t        d      } t        t        t        j                        }t        t        d      }| j                  | j                  cxk(  rt        dfk(  sJ  J |j                  |j                  cxk(  rt        dfk(  sJ  J |j                  t        t        j                  fk(  sJ |j                  t        fk(  sJ t        t        t                    t        t              k(  sJ t        t        t        t        z
              t        t        t        z
        k(  sJ t        t        t                    t        t              k(  sJ t        t        t        t        z
              t        t        t        z
        k(  sJ t        t        t                    t        t              k(  sJ t        t        t        t        z
              t        t        t        z
        k(  sJ t        t              j                  t              t        t              k(  sJ t        t        t        z         j                  du sJ t        t        t        z        j                  du sJ t!        t"        d        t!        t$        d        t!        t$        d        y )Nr   r    Tc                  >    t        t              j                  d      S r(   )r   r)   r*   r+   r,   r-   r.   z test_heaviside.<locals>.<lambda>s   s    y|'9'9!'< r,   c                       t        t              S r2   r   r   r+   r,   r-   r.   z test_heaviside.<locals>.<lambda>t   s
    y| r,   c                  ,    t        ddt        z  z         S r5   rC   r+   r,   r-   r.   z test_heaviside.<locals>.<lambda>u   s    yQqS1 r,   )r   r	   Halfr)   r   r   argspargsr   r8   r   r   r9   r   r   is_Functionr   r   r=   )h0h12h1s      r-   test_heavisiderL   V   sQ   R=AQ<1Q<166!!!Q?aYq#&&&Q###
Aq/B
Aqvv
C
Aq/B77bhh(1a&(((((77bhh(1a&(((((88166{"""999Q< IaL0009QU#$	!a%(8888Yq\"il222Yq1u%&)AE*::::Yq\"il222Yq1u%&)AE*::::Q<Q:a=000QU''4///QqS>%%---
<=
:+,
:12r,   c                     t        dd      t        d      }} t        |       j                  t              t        d| dk  ft        d      t	        | d      fd      k(  sJ t        |      j                  t              t        d|dk  ft        d      t	        |d      fd      k(  sJ t        | |      j                  t              t        d| dk  f|t	        | d      fd      k(  sJ t        | d      j                  t              t        d| dk  fd      k(  sJ t        | d      j                  t              t        d| dk  fd      k(  sJ t        | t
              j                  t              t        d| dk  ft
        t	        | d      fd      k(  sJ t        |       j                  t              t        | t        d            j                  t              cxk(  rt        t        |       d	z  t        d      d	z  z   t	        t        d      t        d      d	z        ft        t        |       d	z  t        d      d	z  z   t        | d      ft        d      df      df      k(  sJ  J t        |      j                  t              t        |      k(  sJ t        | t        j                        j                  t              t        |       dz   d	z  k(  sJ t        | |      j                  t              t        t        |       d	z  t        d      d	z  z   t	        |t        d      d	z        ft        t        |       d	z  t        d      d	z  z   t        | d      f|df      df      k(  sJ t        |      j                  t              t        t        d      t	        |d      fd
      k(  sJ t        |d      j                  t              t        |d      k(  sJ t        | dz
        j                  t              t        t        d      t	        | dz
  d      fd
      k(  sJ | t        | dz
        z  j                  t              | t        | dd      z  k(  sJ d| z  |z  t        |d      j                  t              z  d| z  |z  t        |dd      z  k(  sJ t        d      j                  t              t        ddd      k(  sJ t        dd      j                  t              t        ddd      k(  sJ t        |       j                  t              t        | dd      k(  sJ d| z  |z  t        |dz         j                  t              z  d| z  |z  t        |dd      z  k(  sJ | dz
  dz  t        | dz
        z  j                  t              | dz
  dz  t        | dd      z  k(  sJ t        d      j                  t              t        j                  k(  sJ y )Nr)   T)realr8   r   )r    Tr    )H0r#   )r   Tr!   
   r0   r$   )r
   r   rewriter   r   r   r   r	   r   rE   r   r   )r)   r8   s     r-   test_rewriterS   x   s   #D!6#;qAQ<	*1a!e*y|R1X6	BD D DQ<	*1a!e*y|R1X6	BD D DQ?""9-1a!e*q"Q(mY79 9 9Q?""9-1a1f+y)+ + +Q?""9-1a!e*i(* * *Q$$Y/1a!e*sBq!Hoy9; ; ; Q<%!	!%--d3
!WQY1aIaL!A$q&!9:aQqT!V#R1X.1t0DFGKM	

 
 
 
 
 Q<%1555Q''-$q'!)Q>>>Q?""4(!WQY1aAqtAv/aQqT!V#R1X.D	;<@B	

 
 
 a=  +y*Q-Aq9RT]/^^^^a##I.*Q2BBBBa!e$$Y/:a="QUA,/;= = = jR  ))*=>!DWXY[]_aDbBbbbbQ3q5Aq!))*=>>!A#a%H[\]_`bdHeBeeeea=  !459LQPQSU9VVVVa##$78<OPQSTVX<YYYYQ< 348KAqRS8TTTTQ3q51q5!))*=>>!A#a%H[\]_acdHeBeeeeUQJyQ''001DE!a%RSTghiklnoTpIppppQ< 34>>>r,   N)+sympy.core.numbersr   r   r   r   sympy.core.relationalr   r   sympy.core.singletonr	   sympy.core.symbolr
   r   $sympy.functions.elementary.complexesr   r   r   r   (sympy.functions.elementary.miscellaneousr   $sympy.functions.elementary.piecewiser   'sympy.functions.special.delta_functionsr   r   -sympy.functions.special.singularity_functionsr   sympy.simplify.simplifyr   sympy.testing.pytestr   sympy.core.exprr   sympy.core.functionr   r)   r8   r6   r   r   r>   rL   rS   r+   r,   r-   <module>ra      sx    / / * " / V V 9 : K M , ( % 2 u~1CC$C$:4z3D-?r,   