
    \h"                     <   S SK Jr  S SKJr  S SKJr  S SKJrJrJ	r	J
r
  S SKJr  S SK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  S S
KJrJr  S SKJrJrJr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*S r+S r,S r-S r.S r/S r0S r1S r2S r3S r4S r5S r6S r7g)     )Q)refine)Expr)IRationalnanpi)S)Symbol)Absargimresign)exp)sqrt)atanatan2)wxyz)EqNe)	Piecewise)MatrixSymbolc                     [        [        [        5      [        R                  " [        5      5      [        :X  d   e[        S[        [        5      -   [        R                  " [        5      5      S[        -   :X  d   e[        [        [        5      [        R
                  " [        5      5      [        * :X  d   e[        S[        [        5      -   [        R
                  " [        5      5      S[        -
  :X  d   e[        [        [        S-  5      5      [        S-  :w  d   e[        [        [        S-  5      [        R                  " [        5      5      [        S-  :X  d   eg N      )r   r   r   r   positivenegativereal     [/var/www/auris/envauris/lib/python3.13/site-packages/sympy/assumptions/tests/test_refine.pytest_Absr'      s    #a&!**Q-(A---!c!f*ajjm,A555#a&!**Q-(QB...!c!f*ajjm,A555#ad)1$$$#ad)QVVAY'1a4///r%   c                  2
   [        S[        -  [        R                  " [        5      5      S:X  d   e[        S[        -  [        R                  " [        5      5      S:X  d   e[        S[        -  [        R                  " [        5      5      S[        -  :X  d   e[        [        [        S-  5      5      [        [        5      :w  d   e[        [        [        S-  5      [        R                  " [        5      5      [        [        5      :w  d   e[        [        [        S-  5      [        R                  " [        5      5      [        [        5      :X  d   e[        [        [        S-  5      [        R                  " [        5      5      [        :X  d   e[        [        S-  [        SS5      -  5      [        :w  d   e[        [        S-  [        SS5      -  [        R                  " [        5      5      [        :w  d   e[        [        S-  [        SS5      -  [        R                  " [        5      5      [        :X  d   e[        [        S[        -  5      [        R                  " [        5      5      S[        [        5      -  :w  d   e[        [        S[        -  5      [        R                  " [        5      5      S[        [        5      -  :X  d   e[        S[        [        -   -  [        R                  " [        5      5      S[        -  :X  d   e[        S[        [        -   [        -   -  [        R                  " [        5      [        R                  " [        5      -  5      S[        -  :X  d   e[        S[        [        -   S-   -  [        R                  " [        5      5      S[        -  :X  d   e[        S[        [        -   S-   -  [        R                  " [        5      5      S[        S-   -  :X  d   e[        S[        S-   -  5      S[        S-   -  :X  d   e[        SS[        -  S-  [        R                  -
  -  [        R                  " [        5      5      S[        -  :X  d   e[        SS[        -  S-  [        R                  -   -  [        R                  " [        5      5      S[        S-   -  :X  d   e[        SS[        -  S-  S[        R                  -  -   -  [        R                  " [        5      5      S[        S-   -  :X  d   eg )Nr   r          )r   r   r   evenoddr   r   complexr#   r!   r   r   r   r
   Halfintegerr$   r%   r&   	test_pow1r2      sq   2'166!9%***2'1558$***2'166!9%A--- $q!t*Q'''$q!t*aiil+s1v555$q!t*affQi(CF222$q!t*ajjm,1111a4(1a.()Q...1a4(1a.(!&&)49991a4(1a.(!**Q-8A===$qs)QVVAY'1T!W9444$qs)QZZ]+qay888 2Q-+Qw6662Q#QUU1Xa%89b1WDDD2Q#QUU1X.2'9992Q#QUU1X.2Q-???2Q- R1q5M111 2"qQVV+,aiil;QwFFF2"qQVV+,aiil;a!e}LLL2"qQqvvX-.		!="ANNNr%   c                     [        SS[        -  S-  S[        R                  -  -
  -  [        R
                  " [        5      5      S[        S-   -  :X  d   e[        SS[        -  S-  S[        R                  -  -
  -  [        R
                  " [        5      5      S[        -  :X  d   e[        [        [        5      S-  [        R                  " [        5      5      [        S-  :X  d   e[        [        [        5      S-  [        R                  " [        5      5      [        [        5      S-  :X  d   e[        [        [        5      S-  5      [        [        5      S-  :X  d   eg )Nr)   r       r   	   r+   )r   r   r
   r0   r   r1   r   r#   r$   r%   r&   	test_pow2r6   :   s    2"qQqvvX-.		!="ANNN2"qQqvvX-.		!="qHHH #a&!)QVVAY'1a4///#a&!)QVVAY'3q619444#a&!)A	)))r%   c            
         [        SSS9n [        [        [        [        -  S-  U -  5      5      S:X  d   e[        [        [        [        -  S-  U [
        R                  -   -  5      5      S:X  d   e[        [        [        [        -  S-  U [        SS5      -   -  5      5      [        :X  d   e[        [        [        [        -  S-  U [        SS5      -   -  5      5      [        * :X  d   eg )	Nr   T)r1   r    r   r)      r+   )r   r   r   r	   r   r
   r0   r   r   s    r&   test_expr:   D   s    sD!A#bd1fQh- A%%%#bd1fa!&&j)*+r111#bd1fa(1a.0123q888#bd1fa(1a.0123r999r%   c            	         [        [        S[        S:  4S5      [        S:  5      S:X  d   e[        [        S[        S:  4S5      [        S:  ) 5      S:X  d   e[        [        S[        S:  4S5      [        S:  5      [        S[        S:  4S5      :X  d   e[        [        S[        S:  4S5      [        S:  5      S:X  d   e[        [        S[        S:  4S5      [        S:  ) 5      S:X  d   e[        [        S[        S:  4S5      [        S:  5      [        S[        S:  4S5      :X  d   e[        [        S[        S:*  4S5      [        S:*  5      S:X  d   e[        [        S[        S:*  4S5      [        S:*  ) 5      S:X  d   e[        [        S[        S:*  4S5      [        S:*  5      [        S[        S:*  4S5      :X  d   e[        [        S[        S:  4S5      [        S:  5      S:X  d   e[        [        S[        S:  4S5      [        S:  ) 5      S:X  d   e[        [        S[        S:  4S5      [        S:  5      [        S[        S:  4S5      :X  d   e[        [        S[	        [        S5      4S5      [	        [        S5      5      S:X  d   e[        [        S[	        [        S5      4S5      [	        S[        5      5      S:X  d   e[        [        S[	        [        S5      4S5      [	        [        S5      ) 5      S:X  d   e[        [        S[	        [        S5      4S5      [	        S[        5      ) 5      S:X  d   e[        [        S[	        [        S5      4S5      [	        [        S5      5      [        S[	        [        S5      4S5      :X  d   e[        [        S[        [        S5      4S5      [        [        S5      5      S:X  d   e[        [        S[        [        S5      4S5      [        [        S5      ) 5      S:X  d   e[        [        S[        [        S5      4S5      [        [        S5      5      [        S[        [        S5      4S5      :X  d   eg )Nr   r   )r+   Tr+   )r   r   r   r   r   r   r$   r%   r&   test_Piecewiser<   L   s   )QAJ	2QU<AAA)QAJ	2a!eH=BBB)QAJ	2QU<1a!e*i() ) ))QAJ	2QU<AAA)QAJ	2a!eH=BBB)QAJ	2QU<1a!e*i() ) ))QQK3a1f>!CCC)QQK3qAvY?1DDD)QQK3a1f>1a1f+y)* * *)QQK3a1f>!CCC)QQK3qAvY?1DDD)QQK3a1f>1a1f+y)* * *)Q1aM951aB  )Q1aM951aB  )Q1aM95Aq{C  )Q1aM95Aq{C  )Q1aM951aBaAq]I./ / /)Q1aM951aB  )Q1aM95Aq{C  )Q1aM951aBaAq]I./ / /r%   c                  \   [        [        [        [        5      [        R
                  " [        5      [        R                  " [        5      -  5      [        [        [        -  5      :X  d   e[        [        [        [        5      [        R                  " [        5      [        R                  " [        5      -  5      [        [        [        -  5      :X  d   e[        [        [        [        5      [        R                  " [        5      [        R                  " [        5      -  5      [        [        [        -  5      [        -
  :X  d   e[        [        [        [        5      [        R                  " [        5      [        R                  " [        5      -  5      [        [        [        -  5      [        -   :X  d   e[        [        [        [        5      [        R                  " [        5      [        R                  " [        5      -  5      [        :X  d   e[        [        [        [        5      [        R                  " [        5      [        R                  " [        5      -  5      [        S-  :X  d   e[        [        [        [        5      [        R                  " [        5      [        R                  " [        5      -  5      [        * S-  :X  d   e[        [        [        [        5      [        R                  " [        5      [        R                  " [        5      -  5      [        L d   eg )Nr    )r   r   r   r   r   r#   r!   r   r"   r	   zeror   r$   r%   r&   
test_atan2r?   o   s   %1+qvvay1::a=89T!A#YFFF%1+qzz!}qzz!}<=acJJJ%1+qzz!}qzz!}<=acROOO%1+qzz!}qzz!}<=acROOO%1+qvvay1::a=89R???%1+qzz!}qvvay89RTAAA%1+qzz!}qvvay89bSUBBB%1+qvvay166!945<<<r%   c                     [        [        [        5      [        R                  " [        5      5      [        :X  d   e[        [        [        5      [        R
                  " [        5      5      [        R                  L d   e[        [        [        [        -   5      [        R                  " [        5      [        R                  " [        5      -  5      [        [        -   :X  d   e[        [        [        [        -   5      [        R                  " [        5      [        R
                  " [        5      -  5      [        :X  d   e[        [        [        [        -  5      [        R                  " [        5      [        R                  " [        5      -  5      [        [        -  :X  d   e[        [        [        [        -  5      [        R                  " [        5      [        R
                  " [        5      -  5      S:X  d   e[        [        [        [        -  [        -  5      [        R                  " [        5      [        R                  " [        5      -  [        R                  " [        5      -  5      [        [        -  [        -  :X  d   eg )Nr   )
r   r   r   r   r#   	imaginaryr
   Zeror   r   r$   r%   r&   test_rerC   z   sc   "Q%#q((("Q%Q(AFF222"QqS'166!9qvvay01QU:::"QqS'166!9q{{1~56!;;;"QqS'166!9qvvay01QU:::"QqS'166!9q{{1~56!;;;"QqSU)QVVAY2QVVAY>?1q519LLLr%   c                     [        [        [        5      [        R                  " [        5      5      [
        * [        -  :X  d   e[        [        [        5      [        R                  " [        5      5      [        R                  L d   e[        [        [        [        -   5      [        R                  " [        5      [        R                  " [        5      -  5      [
        * [        -  [
        [        -  -
  :X  d   e[        [        [        [        -   5      [        R                  " [        5      [        R                  " [        5      -  5      [
        * [        -  :X  d   e[        [        [        [        -  5      [        R                  " [        5      [        R                  " [        5      -  5      [
        * [        -  [        -  :X  d   e[        [        [        [        -  5      [        R                  " [        5      [        R                  " [        5      -  5      S:X  d   e[        [        S[        -  5      [        R                  " [        5      5      [
        * [        -  :X  d   e[        [        [        [        -  [        -  5      [        R                  " [        5      [        R                  " [        5      -  [        R                  " [        5      -  5      [
        * [        -  [        -  [        -  :X  d   eg )Nr   r   )r   r   r   r   rA   r   r#   r
   rB   r   r   r$   r%   r&   test_imrE      s   "Q%Q(QBqD000"Q%#qvv---"QqS'1;;q>AKKN:;r!taczIII"QqS'166!9q{{1~561"Q$>>>"QqS'1;;q>AFF1I561"Q$q&@@@"QqS'1;;q>AKKN:;q@@@"QqS'1;;q>*qbd222"QqSU)Q[[^akk!n<
++a. RT!VAX& & &r%   c                     [        [        S[        [        [        -  -   -  5      [
        R                  " [        5      [
        R                  " [        5      -  5      [        [        S-  [        S-  -   -  :X  d   e[        [        S[        [        [        -  -   -  5      [
        R                  " [        5      [
        R                  " [        5      -  5      [        * [        S-  [        S-  -   -  :X  d   e[        [        [        [        [        -  -   [        [        [        -  -   -  5      [
        R                  " [        5      [
        R                  " [        5      -  [
        R                  " [        5      -  [
        R                  " [        5      -  5      [        [        -  [        [        -  -
  :X  d   e[        [        [        [        [        -  -   [        [        [        -  -   -  5      [
        R                  " [        5      [
        R                  " [        5      -  [
        R                  " [        5      -  [
        R                  " [        5      -  5      [        [        -  [        [        -  -   :X  d   eg r   )
r   r   r   r   r   r   r#   r   r   r   r$   r%   r&   test_complexrG      s   "QAaC[/166!9qvvay#89	1a4!Q$;  "QAaC[/166!9qvvay#89	
AqD1a4K  "a!A#g!ac'*+QVVAY-BQVVAY-N
&&). !ac	" " ""a!A#g!ac'*+QVVAY-BQVVAY-N
&&). !ac	" " "r%   c                     [        SSS9n [        [        U 5      [        R                  " U 5      5      S:X  d   e[        [        U 5      [        R
                  " U 5      5      S:X  d   e[        [        U 5      [        R                  " U 5      5      S:X  d   e[        [        U 5      S5      [        U 5      :X  d   e[        [        [        U 5      5      [        R                  " U 5      5      S:X  d   e[        SSS9n [        [        U 5      [        R                  " [        U 5      5      5      [        R                  :X  d   e[        [        U 5      [        R
                  " [        U 5      5      5      [        R                  * :X  d   e[        [        U 5      S5      [        U 5      :X  d   e[        SSS9n [        [        U 5      [        R                  " U 5      5      S:X  d   eg )	Nr   Tr#   r   r)   r   )rA   r/   )r   r   r   r   r!   r"   r>   r   nonzeror   r
   ImaginaryUnitr9   s    r&   	test_signrM      s`   s4 A$q'1::a=)Q...$q'1::a=)R///$q'166!9%***$q'4 DG+++$s1v,		!-222sd#A$q'1::be,-@@@$q'1::be,-!//1AAAA$q'4 DG+++sD!A$q'166!9%***r%   c                      [        SSS9n [        [        U 5      [        R                  " U 5      5      S:X  d   e[        [        U 5      [        R
                  " U 5      5      [        :X  d   eg )Nr   TrJ   r   )r   r   r   r   r!   r"   r	   r9   s    r&   test_argrO      sP    sd#A#a&!**Q-(A---#a&!**Q-(B...r%   c                     ^  " U4S jS[         5      mT" 5       n SU l        U R                  [        U 5      R                  :X  d   eg )Nc                   2   > \ rS rSrS r\U 4S j5       rSrg)test_func_args.<locals>.MyClass   c                     SU l         g )N 	my_member)selfargss     r&   __init__(test_func_args.<locals>.MyClass.__init__   s	    DNr%   c                    >^  UU 4S jnU$ )Nc                  4   > T" U 6 nTR                   Ul         U$ )NrV   )rY   objMyClassrX   s     r&   my_func5test_func_args.<locals>.MyClass.func.<locals>.my_func   s    tn $
r%   r$   )rX   r`   r_   s   ` r&   func$test_func_args.<locals>.MyClass.func   s     Nr%   rV   N)__name__
__module____qualname____firstlineno__rZ   propertyrb   __static_attributes__)r_   s   r&   r_   rR      s    	  
	 
	r%   r_   zA very important value)r   rW   r   )r   r_   s    @r&   test_func_argsrj      s;    $  		A*AK;;&)-----r%   c                     [        [        S[        S:  4S5      [        R                  " [        5      5      S:X  d   e[        [        S[        S:  4S5      [        R
                  " [        5      5      S:X  d   e[        [        S[        S:  4S5      [        R                  " [        5      5      S:X  d   e[        [        S[        S:  4S5      [        R
                  " [        5      5      S:X  d   eg )Nr   r   )r   T)r   r   r   r   r!   r"   r$   r%   r&   test_issue_refine_9384rl      s    )QAJ	2AJJqMBaGGG)QAJ	2AJJqMBaGGG)QAJ	2AJJqMBaGGG)QAJ	2AJJqMBaGGGr%   c                  T     " S S[         5      n U " 5       n[        U5      (       d   eg )Nc                       \ rS rSrS rSrg)"test_eval_refine.<locals>.MockExpr   c                     g)NTr$   )rX   assumptionss     r&   _eval_refine/test_eval_refine.<locals>.MockExpr._eval_refine   s    r%   r$   N)rd   re   rf   rg   rs   ri   r$   r%   r&   MockExprro      s    	r%   ru   )r   r   )ru   mock_objs     r&   test_eval_refinerw      s(    4  zH(r%   c                  D   [        [        [        [        -  5      [        R
                  " [        5      5      n [        [        [        [        -  [        -  5      [        R
                  " [        5      5      nU [        [        [        5      -  :X  d   eU[        [        [        [        -  5      -  :X  d   e[        SSS9n[        [        [        US-  -  [        -  5      [        R
                  " [        5      5      nU[        US-  -  [        [        5      -  :X  d   eg )Ny1TrI   r    )r   r   r   r   r   r!   r   r   )expr1expr2ry   expr3s       r&   test_refine_issue_12724r}      s    3q1u:qzz!}-E3q1uqy>1::a=1EAAJAAE
N"""	T	"B3q2q5y1}%qzz!}5EAAIA&&&&r%   c                     [        SSS5      n [        SSS9n[        SSS9n[        U S   [        R                  " U 5      5      U S   :X  d   e[        U S   [        R                  " U 5      5      U S   :X  d   e[        XU4   [        R                  " U 5      5      XU4   :X  d   e[        XU4   [        R                  " U 5      5      XU4   :X  d   eg )	Nr   r+   iT)r!   j)r   r   )r   r   )r   r   r   r   	symmetric)r   r   r   s      r&   test_matrixelementr      s    S!QAst$Ast$A!D'1;;q>*ag555!D'1;;q>*ag555!qD'1;;q>*a1g555!qD'1;;q>*a1g555r%   N)8sympy.assumptions.askr   sympy.assumptions.refiner   sympy.core.exprr   sympy.core.numbersr   r   r   r	   sympy.core.singletonr
   sympy.core.symbolr   $sympy.functions.elementary.complexesr   r   r   r   r   &sympy.functions.elementary.exponentialr   (sympy.functions.elementary.miscellaneousr   (sympy.functions.elementary.trigonometricr   r   	sympy.abcr   r   r   r   sympy.core.relationalr   r   $sympy.functions.elementary.piecewiser   "sympy.matrices.expressions.matexprr   r'   r2   r6   r:   r<   r?   rC   rE   rG   rM   rO   rj   rl   rw   r}   r   r$   r%   r&   <module>r      s    # +   5 5 " $ I I 6 9 B     ( : ;0O>*: /F=M	&"+ /
.&H'6r%   