Ë
    óÿæi(  ã                   ó¼   — d dl mZmZ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mZ d dlmZ d dlmZ d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z y)é    )ÚpurestrÚstyleofÚ	attrprintÚdotnodeÚdotedgesÚdotprint)ÚBasic)ÚExpr)ÚFloatÚInteger)ÚS)ÚSymbolÚsymbols)Úsrepr)Úxc                  óˆ  — t        t        d«      «      dk(  sJ ‚t        t        t        d«      t        d«      «      «      dk(  sJ ‚t        t	        d«      «      dk(  sJ ‚t        t        d«      d¬«      d	k(  sJ ‚t        t        t        d«      t        d«      «      d¬«      d
k(  sJ ‚t        t	        d«      d¬«      dk(  sJ ‚y )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   ó    úr/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/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˜“8 tÔ,Ø*ò+ð +ñ +r   c                  ó°   — t         dddœft        ddifg} t        t        t        d«      «      | «      dddœk(  sJ ‚t        t        dz   | «      dddœk(  sJ ‚y )NÚblueÚellipse©ÚcolorÚshaper"   Úblackr   )r	   r
   r   r   r   )Ústyless    r   Útest_styleofr&      sc   € Ü °Ñ;Ð<Ü�w Ð(Ð)ð+€Fä”5œ˜1›“; Ó'°VÀiÑ+PÒPÐPÐPä”1�q‘5˜&Ó!¨wÀÑ%KÒKÐKÑKr   c                  ó*   — t        dddœ«      dk(  sJ ‚y )Nr   r    r!   z!"color"="blue", "shape"="ellipse")r   r   r   r   Útest_attrprintr(       s!   € Ü˜v°	Ñ:Ó;Ø.ò/ð /ñ /r   c                  ó  — t        t        d¬«      dk(  sJ ‚t        t        dz   d¬«      dk(  sJ t        t        dz   d¬«      «       ‚t        t        t        dz  z   d¬«      dk(  sJ ‚t        t        t        dz  z   d¬«      d	k(  sJ ‚y )
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¨   € ä”1˜UÔ#ØLòMð Mð Mä”1�Q‘3˜uÔ%ð	?ò?ð ô 	”�!‘˜1Ôóð ?ô
 ”1”q˜!‘t‘8 EÔ*ð	?ò?ð ?ð ?ô ”1”q˜!‘t‘8 DÔ)ð	?ò?ð ?ñ ?r   c                  ó”   — t        t        t        dz   d¬«      «      ddgk(  sJ ‚t        t        t        dz   d¬«      «      ddgk(  sJ ‚y )	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^   € Ü”(œ1˜Q™3 uÔ-Ó.Ø;Ø>ð3ò ð ð ô ”(œ1˜q™5¨Ô.Ó/ØCØFð4ò ð ñ r   c            
      óp  ‡— t        t        dz   d¬«      Št        ˆfd„t        t        dz   d¬«      D «       «      sJ ‚t        ˆfd„t        t	        d«      t        dz   fD � cg c]  } t        | d¬«      ‘Œ c} D «       «      sJ ‚d‰v sJ ‚t        t        t        dz  z   d¬«      Št        ˆfd„t        t        t        dz  z   d¬«      D «       «      sJ ‚t        ˆfd„t        t	        d«      t        dz  fD � cg c]  } t        | d¬«      ‘Œ c} D «       «      sJ ‚d‰v sJ ‚t        t        t        dz  z   d	¬«      Št        ˆfd
„t        t        t        dz  z   d	¬«      D «       «      sJ ‚t        ˆfd„t        t        dz  z   fD � cg c]  } t        | d¬«      ‘Œ c} D «       «      sJ ‚t        t        t        z  d	¬«      Št        ˆfd„t        t        t        z  d	¬«      D «       «      sJ ‚t        ˆfd„t        t        d¬«      t        t        d¬«      fD «       «      sJ ‚d‰v sJ ‚y c c} w c c} w c c} w )Nr   Fr*   c              3   ó&   •K  — | ]  }|‰v –— Œ
 y ­w©Nr   ©Ú.0ÚeÚtexts     €r   Ú	<genexpr>z test_dotprint.<locals>.<genexpr>@   ó   øè ø€ Ð>Ñ"=˜Qˆq�DŒyÑ"=ùó   ƒc              3   ó&   •K  — | ]  }|‰v –— Œ
 y ­wr2   r   ©r4   Únr6   s     €r   r7   z test_dotprint.<locals>.<genexpr>A   s   øè ø€ ð +ñ*�aˆˆTŒ	ñ *ùr9   Údigraphc              3   ó&   •K  — | ]  }|‰v –— Œ
 y ­wr2   r   r3   s     €r   r7   z test_dotprint.<locals>.<genexpr>G   s   øè ø€ ÐAÑ"@˜Qˆq�DŒyÑ"@ùr9   c              3   ó&   •K  — | ]  }|‰v –— Œ
 y ­wr2   r   r;   s     €r   r7   z test_dotprint.<locals>.<genexpr>H   s   øè ø€ ð ,ñ+�aˆˆTŒ	ñ +ùr9   Tc              3   ó&   •K  — | ]  }|‰v –— Œ
 y ­wr2   r   r3   s     €r   r7   z test_dotprint.<locals>.<genexpr>N   s   øè ø€ Ð@Ñ"?˜Qˆq�DŒyÑ"?ùr9   c              3   ó&   •K  — | ]  }|‰v –— Œ
 y ­wr2   r   r;   s     €r   r7   z test_dotprint.<locals>.<genexpr>O   s   øè ø€ ð !ñ �aˆˆTŒ	ñ  ùr9   r   )Úposc              3   ó&   •K  — | ]  }|‰v –— Œ
 y ­wr2   r   r3   s     €r   r7   z test_dotprint.<locals>.<genexpr>T   r8   r9   c              3   ó&   •K  — | ]  }|‰v –— Œ
 y ­wr2   r   r;   s     €r   r7   z test_dotprint.<locals>.<genexpr>U   s   øè ø€ ð IÙG�aˆˆTŒ	ÑGùr9   )r   )r   )r   r   Úallr   r   r   )Úexprr6   s    @r   Útest_dotprintrG   >   s'  ø€ Ü”A�a‘C Ô&€DÜÓ>¤(¬1¨Q©3°uÕ"=Ó>Ô>Ð>Ð>Üó +äœ ›
¤A a¡CÑ(ó*Ù(ˆDô $ D°Ö7Ø(ò*ó+ô +ð +ð +ð ˜ÑÐÐä”A”a˜‘d‘F 5Ô)€DÜÓA¤(¬1¬Q°©T©6¸%Õ"@ÓAÔAÐAÐAÜó ,äœ ›
¤A q¡DÑ)ó+Ù)ˆDô $ D°Ö7Ø)ò+ó,ô ,ð ,ð ,ð ˜ÑÐÐä”A”a˜‘d‘F 4Ô(€DÜÓ@¤(¬1¬Q°©T©6¸$Õ"?Ó@Ô@Ð@Ð@Üó !äœ˜A™‘X‘Jó ÙˆDô $ D¨bÖ1Øò ó!ô !ð !ð !ô ”A”q‘D Ô&€DÜÓ>¤(¬1¬a©4¸Õ"=Ó>Ô>Ð>Ð>Üó IÜ#¤A¨4Ô0´'¼!ÀÔ2FÑGóIô Ið Ið Ià˜ÑÐÑùò+*ùò+ùò s   Á"H)
Ã8H.
ÆH3
c                  óÀ   — t        dt        z  dz   d¬«      } t        dt        z  dz   «      | v sJ ‚t        t        «      | vsJ ‚t        dt        z  dz   «      } d| vsJ ‚y )Né   r   r   )ÚdepthrJ   )r   r   r   ©r6   s    r   Útest_dotprint_depthrL   Y   sa   € Ü�A”a‘C˜‘E Ô#€DÜ�1”Q‘3�q‘5‹>˜TÑ!Ð!Ð!Ü”1‹:˜TÑ!Ð!Ð!Ü�A”a‘C˜‘E‹?€DØ˜$ÑÐÑr   c                  óV   — ddl m}  t        d«      }t         | d||«      «      dk(  sJ ‚y )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.matexprrN   r   r   )rN   r<   s     r   Útest_Matrix_and_non_basicsrQ   `   s3   € Ý?Üˆs‹€AÜ‘L  a¨Ó+Ó,ðòð ñ r   c                  óL   — t        t        dz   t        ¬«      } d| v sJ ‚d| v sJ ‚y )Nr   )Ú	labelfuncr   r   )r   r   r   rK   s    r   Útest_labelfuncrT   }   s.   € Ü”A˜‘E¤UÔ+€DØ˜DÑ Ð Ð Ø˜4ÑÐÑr   c                  ó    — t        dd¬«      \  } }t        | |z   «      t        || z   «      k(  sJ ‚t        | |z  «      t        || z  «      k7  sJ ‚y )Nzx yF)Úcommutative)r   r   )r   Úys     r   Útest_commutativerX   ƒ   sN   € Ü�5 eÔ,�D€A€qÜ�A˜‘E‹?œh q¨1¡u›oÒ-Ð-Ð-Ü�A�a‘C‹=œH Q q¡S›MÒ)Ð)Ñ)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/   rG   rL   rQ   rT   rX   r   r   r   Ú<module>ra      sW   ð÷÷ å "Ý  ß /Ý "ß /Ý %Ý ò	+òLò/ò?ò òò6òò: ó*r   