
    Цi                     b    S SK Jr  S SK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 rS rS	 rg
)    )Functionsympify)tanh)cossin)limit)xc                      " S S[         5      n U " [        5      R                  [        SS5      [        [        5      R                  [        SS5      :X  d   e[	        U " [        5      [        -  [        S5      S:X  d   eg)zCreate our new "sin" function.c                   .    \ rS rSrSS jr\S 5       rSrg)*test_function_series1.<locals>.my_function   c                 2    [        U R                  S   5      $ Nr   )r   argsselfargindexs     n/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/sympy/functions/elementary/tests/test_interface.pyfdiff0test_function_series1.<locals>.my_function.fdiff   s    tyy|$$    c                 <    [        U5      nUS:X  a  [        S5      $ g r   r   clsargs     r   eval/test_function_series1.<locals>.my_function.eval   !    #,Caxqz! r    N   __name__
__module____qualname____firstlineno__r   classmethodr   __static_attributes__r    r   r   my_functionr      s    	% 
	" 
	"r   r*   r   
   r"   N)r   r
   seriesr   r	   )r*   s    r   test_function_series1r-      sb    	"h 	" q>  Ar*c!fmmAq".EEEEQ!1a(A---r   c                       " S S[         5      n U " [        5      R                  [        SS5      [        [        5      R                  [        SS5      :X  d   eg)zCreate our new "cos" function.c                   .    \ rS rSrSS jr\S 5       rSrg)+test_function_series2.<locals>.my_function2!   c                 4    [        U R                  S   5      * $ r   )r   r   r   s     r   r   1test_function_series2.<locals>.my_function2.fdiff#   s    		!%%%r   c                 <    [        U5      nUS:X  a  [        S5      $ g )Nr   r"   r   r   s     r   r   0test_function_series2.<locals>.my_function2.eval&   r   r   r    Nr!   r#   r    r   r   my_function2r0   !   s    	& 
	" 
	"r   r6   r   r+   N)r   r
   r,   r   )r6   s    r   test_function_series2r7      sB    	"x 	" ?!!!Q+s1v}}Q2/FFFFr   c                     ^  " U4S jS[         5      m[        [        5      n T" [        5      nU R                  [        SS5      UR                  [        SS5      :X  d   eg)aC  
Test our easy "tanh" function.

This test tests two things:
  * that the Function interface works as expected and it's easy to use
  * that the general algorithm for the series expansion works even when the
    derivative is defined recursively in terms of the original function,
    since tanh(x).diff(x) == 1-tanh(x)**2
c                   6   > \ rS rSrSU 4S jjr\S 5       rSrg)%test_function_series3.<locals>.mytanh;   c                 :   > ST" U R                   S   5      S-  -
  $ )Nr"   r      )r   )r   r   mytanhs     r   r   +test_function_series3.<locals>.mytanh.fdiff=   s     vdiil+Q...r   c                 <    [        U5      nUS:X  a  [        S5      $ g r   r   r   s     r   r   *test_function_series3.<locals>.mytanh.eval@   r   r   r    Nr!   r#   )r>   s   r   r>   r:   ;   s    	/ 
	" 
	"r   r>   r      N)r   r   r
   r,   )efr>   s     @r   test_function_series3rE   0   sK    	" 	" 	QAq	A88Aq!Aq 1111r   N)sympy.core.functionr   sympy.core.sympifyr   %sympy.functions.elementary.hyperbolicr   (sympy.functions.elementary.trigonometricr   r   sympy.series.limitsr	   	sympy.abcr
   r-   r7   rE   r    r   r   <module>rL      s)    ) & 6 ? % .&G$2r   