
    \h(                         S SK Jr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  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 rS r g)    )purestrstyleof	attrprintdotnodedotedgesdotprint)Basic)Expr)FloatInteger)S)Symbolsymbols)srepr)xc                     [        [        S5      5      S:X  d   e[        [        [        S5      [        S5      5      5      S:X  d   e[        [	        S5      5      S:X  d   e[        [        S5      SS9S	:X  d   e[        [        [        S5      [        S5      5      SS9S
:X  d   e[        [	        S5      SS9S:X  d   eg )Nr   Symbol('x')      Basic(Integer(1), Integer(2))Float('2.0', precision=53)T)	with_args)r    )r   )z
Integer(1)
Integer(2))r   r   )r   r   r	   r   r   r       U/var/www/auris/envauris/lib/python3.13/site-packages/sympy/printing/tests/test_dot.pytest_purestrr      s    6#;=00051qt$%)HHHH58 <<<<6#;$/3FFFF51qt$5KL L L58t,*+ + +r   c                      [         SSS.4[        SS04/n [        [        [        S5      5      U 5      SSS.:X  d   e[        [        S-   U 5      SSS.:X  d   eg )Nblueellipsecolorshaper"   blackr   )r	   r
   r   r   r   )styless    r   test_styleofr&      sc    ;<w()+F51;'Vi+PPPP1q5&!w%KKKKr   c                  ,    [        SSS.5      S:X  d   eg )Nr   r    r!   z!"color"="blue", "shape"="ellipse")r   r   r   r   test_attrprintr(       s!    v	:;./ / /r   c                      [        [        SS9S:X  d   e[        [        S-   SS9S:X  d   [        [        S-   SS95       e[        [        [        S-  -   SS9S:X  d   e[        [        [        S-  -   SS9S	:X  d   eg )
NFrepeatz@"Symbol('x')" ["color"="black", "label"="x", "shape"="ellipse"];r   zS"Add(Integer(2), Symbol('x'))" ["color"="black", "label"="Add", "shape"="ellipse"];r   ze"Add(Symbol('x'), Pow(Symbol('x'), Integer(2)))" ["color"="black", "label"="Add", "shape"="ellipse"];Tzh"Add(Symbol('x'), Pow(Symbol('x'), Integer(2)))_()" ["color"="black", "label"="Add", "shape"="ellipse"];)r   r   r   r   r   test_dotnoder,   $   s    1U#LM M M1Q3u%	??  	!1 ?
 1q!t8E*	?? ? ? 1q!t8D)	?? ? ?r   c                      [        [        [        S-   SS95      SS/:X  d   e[        [        [        S-   SS95      SS/:X  d   eg )	Nr   Fr*   z/"Add(Integer(2), Symbol('x'))" -> "Integer(2)";z0"Add(Integer(2), Symbol('x'))" -> "Symbol('x')";Tz7"Add(Integer(2), Symbol('x'))_()" -> "Integer(2)_(0,)";z8"Add(Integer(2), Symbol('x'))_()" -> "Symbol('x')_(1,)";)sortedr   r   r   r   r   test_dotedgesr/   4   s^    (1Q3u-.;>3    (1q5./CF4   r   c                    ^ [        [        S-   SS9m[        U4S j[        [        S-   SS9 5       5      (       d   e[        U4S j[        [	        S5      [        S-   4 V s/ s H  n [        U SS9PM     sn  5       5      (       d   eST;   d   e[        [        [        S-  -   SS9m[        U4S j[        [        [        S-  -   SS9 5       5      (       d   e[        U4S j[        [	        S5      [        S-  4 V s/ s H  n [        U SS9PM     sn  5       5      (       d   eST;   d   e[        [        [        S-  -   S	S9m[        U4S
 j[        [        [        S-  -   S	S9 5       5      (       d   e[        U4S j[        [        S-  -   4 V s/ s H  n [        U SS9PM     sn  5       5      (       d   e[        [        [        -  S	S9m[        U4S j[        [        [        -  S	S9 5       5      (       d   e[        U4S j[        [        SS9[        [        SS94 5       5      (       d   eST;   d   eg s  sn f s  sn f s  sn f )Nr   Fr*   c              3   ,   >#    U  H	  oT;   v   M     g 7fNr   .0etexts     r   	<genexpr> test_dotprint.<locals>.<genexpr>@        >"=QDy"=   c              3   ,   >#    U  H	  oT;   v   M     g 7fr2   r   r4   nr6   s     r   r7   r8   A   s      +*aT	 *r:   digraphc              3   ,   >#    U  H	  oT;   v   M     g 7fr2   r   r3   s     r   r7   r8   G   s     A"@QDy"@r:   c              3   ,   >#    U  H	  oT;   v   M     g 7fr2   r   r<   s     r   r7   r8   H   s      ,+aT	 +r:   Tc              3   ,   >#    U  H	  oT;   v   M     g 7fr2   r   r3   s     r   r7   r8   N   s     @"?QDy"?r:   c              3   ,   >#    U  H	  oT;   v   M     g 7fr2   r   r<   s     r   r7   r8   O   s      ! aT	  r:   r   )posc              3   ,   >#    U  H	  oT;   v   M     g 7fr2   r   r3   s     r   r7   r8   T   r9   r:   c              3   ,   >#    U  H	  oT;   v   M     g 7fr2   r   r<   s     r   r7   r8   U   s      IGaT	Gr:   )r   )r   )r   r   allr   r   r   )exprr6   s    @r   test_dotprintrH   >   sH   AaC&D>(1Q3u"=>>>>> +
AaC(*(D $D7(*+ + + + + AadF5)DA(1QT6%"@AAAAA ,
AqD)+)D $D7)+, , , , , AadF4(D@(1QT6$"?@@@@@ !AXJ D $Db1 ! ! ! ! ! AqD&D>(1a4"=>>>>> I#A40'!2FGI I I I I+*+ s   #I
I
I
c                      [        S[        -  S-   SS9n [        S[        -  S-   5      U ;   d   e[        [        5      U ;  d   e[        S[        -  S-   5      n SU ;  d   eg )N   r   r   )depthrK   )r   r   r   r6   s    r   test_dotprint_depthrM   Y   sa    AaCE#D1Q3q5>T!!!1:T!!!AaCE?D$r   c                  V    SSK Jn   [        S5      n[        U " SX5      5      S:X  d   eg )Nr   )MatrixSymbolr=   Xa  digraph{

# Graph style
"ordering"="out"
"rankdir"="TD"

#########
# Nodes #
#########

"MatrixSymbol(Str('X'), Symbol('n'), Symbol('n'))_()" ["color"="black", "label"="MatrixSymbol", "shape"="ellipse"];
"Str('X')_(0,)" ["color"="blue", "label"="X", "shape"="ellipse"];
"Symbol('n')_(1,)" ["color"="black", "label"="n", "shape"="ellipse"];
"Symbol('n')_(2,)" ["color"="black", "label"="n", "shape"="ellipse"];

#########
# Edges #
#########

"MatrixSymbol(Str('X'), Symbol('n'), Symbol('n'))_()" -> "Str('X')_(0,)";
"MatrixSymbol(Str('X'), Symbol('n'), Symbol('n'))_()" -> "Symbol('n')_(1,)";
"MatrixSymbol(Str('X'), Symbol('n'), Symbol('n'))_()" -> "Symbol('n')_(2,)";
})"sympy.matrices.expressions.matexprrO   r   r   )rO   r=   s     r   test_Matrix_and_non_basicsrR   `   s1    ?sALa+,  r   c                  N    [        [        S-   [        S9n SU ;   d   eSU ;   d   eg )Nr   )	labelfuncr   r   )r   r   r   rL   s    r   test_labelfuncrU   }   s.    AEU+DD   4r   c                      [        SSS9u  p[        X-   5      [        X-   5      :X  d   e[        X-  5      [        X-  5      :w  d   eg )Nzx yF)commutative)r   r   )r   ys     r   test_commutativerY      sD    5e,DAAE?hquo---AC=HQSM)))r   N)!sympy.printing.dotr   r   r   r   r   r   sympy.core.basicr	   sympy.core.exprr
   sympy.core.numbersr   r   sympy.core.singletonr   sympy.core.symbolr   r   sympy.printing.reprr   	sympy.abcr   r   r&   r(   r,   r/   rH   rM   rR   rU   rY   r   r   r   <module>rb      sW     "   / " / % 	+L/? 6: *r   