
    Qii                         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$dS )    )
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                                          dt          t          dd          z  k    sJ t          t          dd                                          t          t          dd          k    sJ t          t          dd                                          t          t          dd          k    sJ t          t          dd                                          t          t          dd          k    sJ t          t          dd                                          t          t          dd          k    sJ t          t          dd	                              t                    d	t          t          dd
          z  k    sJ t          t          dd                              t                    t          t          dd          k    sJ t          t          dd                              t                    t          t          dd          k    sJ t          t          dd                              t          d	          t          t          dd          k    sJ t          dd          } t          t          t          |                                           | t          t          t          | d
z
            z  k    sJ t          t          t          |                               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                              d          t          t          t          dd          t                    k    sJ t          t          d            d S )N      r            nTpositive   
   F)evaluatec                  T    t          t          dd                              d          S )Nr   r   r   )r   xfdiff     /var/www/development/aibuddy-work/election-extract/venv/lib/python3.11/site-packages/sympy/functions/special/tests/test_singularity_functions.py<lambda>ztest_fdiff.<locals>.<lambda>)   s!    ':1a'C'C'I'I!'L'L r*   )
r   r'   r(   yr   r   ar   r   r   )r   expr_inexpr_outs      r+   
test_fdiffr1      s   q!Q''--//15HAq5Q5Q3QQQQQq!R((..004G1b4Q4QQQQQq!R((..004G1b4Q4QQQQQq!R((..004G1b4Q4QQQQQq!Q''--//3Fq!R3P3PPPPPq!Q'',,Q//15HAq5Q5Q3QQQQQq"b))..q115HBPR5S5SSSSSq!Q'',,Q//3Fq!R3P3PPPPPq!Q'',,Q226I!QPR6S6SSSSSsT"""Aq!Q''--//15HAqSTu5U5U3UUUUUq!Q'',,Q//15HAqSTu5U5U3UUUUU#Aq!,,,q1DQ21N1N/NNQTUhijlmopUqUqQqqGs&q!QU333a8KAqRT8U8U6UUXZ[noprsuw[x[xXxxHx''''q#q))...>>&q#q111557 7 7 7 LLMMMM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                              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            d S )Nr   r"   r   r   r   r   zT)zeror      r   r   r      r   gffffff@z40.8415c                  B    t          t          t          t                    S )N)r   r'   r.   r   r)   r*   r+   r,   ztest_eval.<locals>.<lambda>D   s    21a;; r*   c                  H    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                  8    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?   ,   s   q!Q'',0CCCCC(!Q22222q!Q''1,,,,q!Q''1,,,,q!Q''1,,,,q!Q''1,,,,vc555q!<<A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4h8L8LLLLLsB**sSy1n<<<<q!S))S0000q#q))S0000sAq))S0000
:;;<<<
:==>>>
:<<=====r*   c                  f   t          dd          } t          t          dd                              t                    dk    sJ t          t          dd                              t                    dk    sJ t          t          dd                              t                    dk    sJ t          t          dd                              t          d	
          dk    sJ t          t          dd	                              t                    dk    sJ t          t          dd                              t                    dk    sJ t          t          dd                              t                    dk    sJ t          t          dd                              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                       t                    t           dz  k    sJ d S )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CCqH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 I I Ir*   c                     t          dd          } t          t          dd                              t                    t          dz  dt          z  z   dz   k    sJ t          t          dd	                              t                    t          dz   k    sJ t          t          d
d
                              t                    d	k    sJ t          t          d
d
                              t          d          d
k    sJ t          t          d
d                              t                    d
k    sJ t          t          d
d                              t                    d
k    sJ t          t          d
d                              t                    d
k    sJ t          t          d
d                              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                       t                    t           dz  t          t          dz            z   k    sJ d S )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((//22adQqSj1nDDDDq"a((//22a!e;;;;q!Q''..q11Q6666q!Q''..qc.::a????q!R((//22a7777q!R((//22a7777q!R((//22a7777q!R((//22a7777Aq!,,Q.
a!eQqS!
,
,-
a!eQ
*
*1
,-.5gajjQBqD1QT77NK K K K K Kr*   c                  X   t          t          dd                              t                    t          t          dz
  dz  t          dz
  dk    fd          k    sJ t          t          dd                              t                    t          dt          dz   dk    fd          k    sJ t          t          dd	                              t                    t          t          t          t          dz
  d          fd          k    sJ t          t          dd
                              t                    t          t          t          t          d          fd          k    sJ t          dd          } t          t          t          |                               t                    }|t          t          t          z
  | z  t          t          z
  dk    fd          k    sJ |                    t          t                                        | 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
  }|                    t                    |k    sJ |                    t                    |k    s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   }|                    t                    |k    sJ |                    t                    |k    sJ |                    d          |k    sJ d S )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68 8 8 8q#q))11)<<1a"fk"I..0 0 0 0q!R((00;;2r!a%||$i002 2 2 2q!R((00;;2r!Qxx.),,. . . . 	s%%%AAq!$$,,Y77AAEA:q1uz*I668 8 8 866!Q<<Q""a''''!!Q**-@B-K-KKNabcefhjNkNkkGAz)AE1---
1q50A0AAJqRSDTDTTH??9%%1111??:&&(2222??011X====!!Q**-@Ar-J-JJM`abdegiMjMjjGAz)AE1---
1q50A0AAJqSTuVWDXDXXH??9%%1111??:&&(2222??01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^      sl   2 2 2 2 2 2 2 2 6 6 6 6 6 6 6 6 6 6 6 6 6 6 $ $ $ $ $ $ / / / / / / / / : : : : : : K K K K K K K K M M M M M M             & % % % % % 2 2 2 2 2 2 ' ' ' ' ' 'WY
1aN N N4> > >:I I IK K K> > > > >r*   