Ë
    óÿæi´2  ã                  óÔ  — U d dl 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mZmZmZ d dlmZ d d	l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$ d dl%m&Z&m'Z' d dl(m)Z)m*Z* d dl+m,Z, d dl-m.Z. d dl/m0Z0m1Z1 d dlm2Z2 d dl3m4Z4m5Z5 d dl6m7Z7 d dl8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z? d dl@mAZA d dlBmCZC  ed«      \  ZDZEde2iZFdeGd<    eHdeF«       dOd „ZId!„ ZJd"„ ZKd#„ ZLd$„ ZMd%„ ZNd&„ ZOd'„ ZPd(„ ZQd)„ ZRd*„ ZSd+„ ZTd,„ ZUd-„ ZVd.„ ZWd/„ ZXd0„ ZYd1„ ZZd2„ Z[d3„ Z\d4„ Z]d5„ Z^d6„ Z_d7„ Z`d8„ Zad9„ Zbd:„ Zcd;„ Zdd<„ Zed=„ Zfd>„ Zgd?„ Zhd@„ ZidA„ ZjdB„ ZkdC„ ZldD„ ZmdE„ ZndF„ ZodG„ ZpdH„ ZqdI„ ZrdJ„ ZsdK„ ZtdL„ ZudM„ ZvdN„ Zwy)Pé    )Úannotations)ÚAny)ÚGROUND_TYPES)ÚraisesÚwarns_deprecated_sympy)ÚQ)ÚFunctionÚWildFunction)ÚAlgebraicNumberÚFloatÚIntegerÚRational)ÚS)ÚDummyÚSymbolÚWildÚsymbols)Úsympify)ÚAbs)ÚrootÚsqrt)Úsin)Ú	Heaviside)ÚfalseÚtrue)ÚMatrixÚones)ÚMatrixSymbol)ÚImmutableDenseMatrix)ÚCycleÚPermutation)ÚStr)ÚPointÚEllipse)Úsrepr)ÚringÚfieldÚZZÚQQÚlexÚgrlexÚPoly)ÚDMP)ÚFiniteExtensionúx,yr"   zdict[str, Any]ÚENVzfrom sympy import *Nc                óš   — |€t         }n t         j                  «       }t        ||«       t        | fi |¤Ž|k(  sJ ‚t	        ||«      | k(  sJ ‚y)z†
    sT := sreprTest

    Tests that srepr delivers the expected string and that
    the condition eval(srepr(expr))==expr holds.
    N)r0   ÚcopyÚexecr%   Úeval)ÚexprÚstringÚimport_stmtÚkwargsÚENV2s        ús/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/sympy/printing/tests/test_repr.pyÚsTr;   $   sQ   € ð ÐÜ‰ä�x‰x‹zˆÜˆ[˜$Ôä�Ñ ˜Ñ  FÒ*Ð*Ð*Ü�˜Ó Ò%Ð%Ñ%ó    c                 óV   —  G d„ dt         «      } t         | t        «      «      dk(  sJ ‚y )Nc                  ó   — e Zd Zd„ Zy)útest_printmethod.<locals>.Rc                óD   — d|j                  | j                  d   «      z  S )Nzfoo(%s)r   )Ú_printÚargs)ÚselfÚprinters     r:   Ú
_sympyreprz&test_printmethod.<locals>.R._sympyrepr7   s   € Ø˜wŸ~™~¨d¯i©i¸©lÓ;Ñ;Ð;r<   N)Ú__name__Ú
__module__Ú__qualname__rE   © r<   r:   ÚRr?   6   s   „ ó	<r<   rJ   zfoo(Symbol('x')))r   r%   Úx)rJ   s    r:   Útest_printmethodrL   5   s'   € ô<ŒCô <ô ‘”1“‹;Ð,Ò,Ð,Ñ,r<   c                 óÜ   — t        t        t        z   d«       t        t        dz  dz   d¬«      dk(  sJ ‚t        t        dz  dz   d¬«      dk(  sJ ‚t        t	        d	d
¬«      d¬«      dk(  sJ ‚y )NzAdd(Symbol('x'), Symbol('y'))é   é   r*   ©Úorderz-Add(Pow(Symbol('x'), Integer(2)), Integer(1))Úoldz-Add(Integer(1), Pow(Symbol('x'), Integer(2)))z	x + 3 - 2F©ÚevaluateÚnonez:Add(Symbol('x'), Integer(3), Mul(Integer(-1), Integer(2)))©r;   rK   Úyr%   r   rI   r<   r:   Útest_AddrX   <   sw   € Ü„qŒ1�uÐ-Ô.Ü”�A‘˜‘ Ô'Ð+ZÒZÐZÐZÜ”�A‘˜‘ Ô'Ð+ZÒZÐZÐZÜ”˜¨uÔ5¸VÔDð  IEò  Eð  Eñ  Er<   c                 ó|   — ddl m}  ddlm} | |fD ])  } |t	        d«      Ž }t        t        |«      «      |k(  rŒ)J ‚ y )Nr   )ÚAdd)ÚMulzx:256)Úsympy.core.addrZ   Úsympy.core.mulr[   r   r4   r%   )rZ   r[   Úopr5   s       r:   Ú#test_more_than_255_args_issue_10259r_   C   s<   € Ý"Ý"Ø�C‹jˆÙ”7˜7Ó#Ð$ˆÜ”E˜$“KÓ  DÓ(Ð(Ð(ñ r<   c                 ó¾   — t         t        d«      t        «      d«       t        t        d«      d«       t        t        t        «      d«       t        t        d«       y )NÚfzFunction('f')(Symbol('x'))zFunction('f')zsin(Symbol('x'))r   )r;   r	   rK   r   rI   r<   r:   Útest_Functionrb   K   s>   € Ü€}„x�ƒ}”QÓÐ5Ô6ä„x�ƒ}�oÔ&ä„sŒ1ƒvÐ!Ô"Ü„sˆE…Nr<   c                 ój   — t        t        t        «      d«       t        t        t        d«      d«       y )NzHeaviside(Symbol('x'))rO   z"Heaviside(Symbol('x'), Integer(1)))r;   r   rK   rI   r<   r:   Útest_Heavisiderd   T   s"   € Ü„y”ƒ|Ð-Ô.Ü„y”�AƒÐ<Õ=r<   c                 ór   — t        t        dd«      d«       t        t        t        dd«      dd«      d«       y )Nr   zPoint2D(Integer(0), Integer(0))é   rO   z@Ellipse(Point2D(Integer(0), Integer(0)), Integer(5), Integer(1)))r;   r#   r$   rI   r<   r:   Útest_Geometryrg   Y   s0   € Ü„uˆQ�ƒ{Ð5Ô6Ü„wŒu�Q˜‹{˜A˜qÓ!ØIõKr<   c                 ó°  — t        t        j                  d«       t        t        j                  d«       t        t        j                  d«       t        t        j
                  d«       t        t        j                  d«       t        t        j                  d«       t        t        j                  d«       t        t        j                  d«       t        t        j                  d	«       t        t        j                  d
«       t        t        j                  d«       t        t        j                  d«       t        t        j                  d«       t        t        j                  d«       t        t        j                   d«       t        t        j"                  d«       t        t        j$                  d«       t        t        j&                  d«       t        t        j(                  d«       t        t        j*                  d«       t        t        j,                  d«       t        t        j.                  d«       t        t        j0                  d«       y )NÚCatalanÚzooÚ
EulerGammaÚEÚGoldenRatioÚTribonacciConstantzRational(1, 2)ÚIÚooÚnanz-oozInteger(-1)z
Integer(1)Úpiz
Integer(0)Ú	ComplexesÚEmptySequenceÚEmptySetÚNaturalsÚ	Naturals0Ú	RationalsÚRealsÚUniversalSet)r;   r   ri   ÚComplexInfinityrk   ÚExp1rm   rn   ÚHalfÚImaginaryUnitÚInfinityÚNaNÚNegativeInfinityÚNegativeOneÚOneÚPiÚZerors   rt   ru   rv   rw   rx   ry   rz   rI   r<   r:   Útest_Singletonsr†   `   sJ  € Ü„q‡y�y�)ÔÜ„q×Ñ˜%Ô Ü„q‡|�|�\Ô"Ü„q‡v�vˆs„OÜ„q‡}�}�mÔ$Ü„q×ÑÐ1Ô2Ü„q‡v�vÐÔ Ü„q‡�˜ÔÜ„q‡z�z�4ÔÜ„q‡u�uˆeÔÜ„q×Ñ˜5Ô!Ü„q‡}�}�mÔ$Ü„q‡u�uˆlÔÜ„q‡t�tˆT„NÜ„q‡v�vˆ|ÔÜ„q‡{�{�KÔ Ü„q‡�˜Ô(Ü„q‡z�z�:Ôä„q‡z�z�:ÔÜ„q‡{�{�KÔ Ü„q‡{�{�KÔ Ü„q‡w�w�ÔÜ„q‡~�~�~Õ&r<   c                 ó.   — t        t        d«      d«       y )Né   z
Integer(4))r;   r   rI   r<   r:   Útest_Integerr‰   {   s   € Ü„wˆqƒz�<Õ r<   c                 ó:   — t        t        t        d«      gd«       y )Nrˆ   z[Symbol('x'), Integer(4)])r;   rK   r   rI   r<   r:   Ú	test_listr‹      s   € ÜŒŒ7�1‹:€Ð3Õ4r<   c            	     ó   — t         dft        dffD ]{  \  } }t         | t        dz  dgt        t        t        z   gg«      d|z  «       t         | «       d|z  «       t         | t        dz  dgt        t        t        z   gg«      d|z  «       Œ} y )NÚMutableDenseMatrixr   rO   zM%s([[Symbol('x'), Integer(1)], [Symbol('y'), Add(Symbol('x'), Symbol('y'))]])z%s([]))r   r   r;   rK   rW   )ÚclsÚnames     r:   Útest_Matrixr�   ƒ   s˜   € ÜÐ3Ð4Ô7KÐMcÐ6dÓe‰	ˆˆTÜ
‰3”�B‘˜�
œQ¤¤A¡˜JÐ'Ó(ØZÐ]aÑaô	cô 	‰3‹5�(˜T‘/Ô"ä
‰3”�B‘˜�
œQ¤¤A¡˜JÐ'Ó(Ð*yð  }Añ  +Aõ  	Bñ fr<   c                 óˆ   — t        t        dd«      d«       t        t        dd«      d«       t        t        dd«      d«       y )Nr   é   zMutableDenseMatrix(0, 3, [])rˆ   zMutableDenseMatrix(4, 0, [])zMutableDenseMatrix([]))r;   r   rI   r<   r:   Útest_empty_Matrixr“   �   s5   € Ü„tˆAˆqƒzÐ1Ô2Ü„tˆAˆqƒzÐ1Ô2Ü„tˆAˆqƒzÐ+Õ,r<   c                 ó\   — t        t        dd«      d«       t        t        dd«      d«       y )NrO   r’   zRational(1, 3)éÿÿÿÿzRational(-1, 3))r;   r   rI   r<   r:   Útest_Rationalr–   “   s$   € Ü„x��1ƒ~Ð'Ô(Ü„x��AƒÐ)Õ*r<   c                 ó   — t        t        dd¬«      d«       t        t        dd¬«      d«       t        t        dd	¬«      d
«       t        t        dd¬«      d«       t        t        dd¬«      d«       t        t        dd¬«      d«       t        t        dd¬«      d
«       t        t        dd¬«      d«       t        t        dd«      d«       y )Nz1.23r’   )ÚdpszFloat('1.22998', precision=13)z
1.23456789é	   z$Float('1.23456788994', precision=33)z1.234567890123456789é   z.Float('1.234567890123456789013', precision=66)z0.60038617995049726é   z*Float('0.60038617995049726', precision=53)é   )Ú	precisioné!   éB   é5   )r;   r   rI   r<   r:   Ú
test_Floatr¡   ˜   s¹   € Ü„uˆV˜ÔÐ=Ô>Ü„uˆ\˜qÔ!Ð#IÔJÜ„uÐ#¨Ô,Ø7ô9ä„uÐ"¨Ô+Ø3ô5ô „uˆV˜rÔ"Ð$DÔEÜ„uˆ\ RÔ(Ø-ô/ä„uÐ#¨rÔ2Ø7ô9ä„uÐ"¨bÔ1Ø3ô5ô „uÐ" BÓ'Ø3õ5r<   c                 ór   — t        t        d«       t        t        d«       t        t        dd¬«      d«       y )NúSymbol('x')zSymbol('y')rK   T)ÚnegativezSymbol('x', negative=True))r;   rK   rW   r   rI   r<   r:   Útest_Symbolr¥   ¬   s(   € Ü„qˆ-ÔÜ„qˆ-ÔÜ„vˆc˜DÔ!Ð#?Õ@r<   c                 ó†   — t        ddd¬«      } d}d}t        | «      ||fv sJ ‚t        t        | «      t        «      | k(  sJ ‚y )NrK   r   rO   )r¤   Úintegerz)Symbol('x', integer=True, negative=False)z)Symbol('x', negative=False, integer=True))r   r%   r4   r0   )rK   Ús1Ús2s      r:   Útest_Symbol_two_assumptionsrª   ²   sI   € Üˆs˜Q¨Ô*€Aà	4€BØ	4€BÜ�‹8˜˜B�xÑÐÐÜ”�a“œ#Ó !Ò#Ð#Ñ#r<   c                 óæ   — t        t        d«      d«       t        t        dd¬«      d«       t        t        dd¬«      d«       t        t        dd¬«      d«       t        t        dd	¬«      d«       y )
NrK   r£   F)ÚcommutativezSymbol('x', commutative=False)r   TzSymbol('x', commutative=True)rO   )r;   r   rI   r<   r:   Ú,test_Symbol_no_special_commutative_treatmentr­   »   sX   € Ü„vˆcƒ{�MÔ"Ü„vˆc˜uÔ%Ð'GÔHÜ„vˆc˜qÔ!Ð#CÔDÜ„vˆc˜tÔ$Ð&EÔFÜ„vˆc˜qÔ!Ð#BÕCr<   c                 ó2   — t        t        dd¬«      d«       y )NrK   T)ÚevenzWild('x', even=True))r;   r   rI   r<   r:   Ú	test_Wildr°   Ã   s   € Ü„tˆC�dÔÐ3Õ4r<   c                 ó^   — t        d«      } t        | dt        | j                  «      z  «       y )NÚdzDummy('d', dummy_index=%s))r   r;   ÚstrÚdummy_index)r²   s    r:   Ú
test_Dummyrµ   Ç   s$   € Üˆc‹
€AÜ€qÐ
&¬¨Q¯]©]Ó);Ñ
;Õ<r<   c                 óÒ   — t        dd¬«      } | t        t        | «      «      k(  sJ ‚dt        | j                  «      z  }dt        | j                  «      z  }t        | «      ||fv sJ ‚y )Nr²   T)Únonzeroz(Dummy('d', dummy_index=%s, nonzero=True)z(Dummy('d', nonzero=True, dummy_index=%s))r   r4   r%   r³   r´   )r²   r¨   r©   s      r:   Útest_Dummy_assumptionr¸   Ì   s`   € Üˆc˜4Ô €AØ””U˜1“X“ÒÐÐØ	3´c¸!¿-¹-Ó6HÑ	H€BØ	3´c¸!¿-¹-Ó6HÑ	H€BÜ�‹8˜˜B�xÑÐÑr<   c                 óŠ   — t        dd¬«      } | j                  «       }t        |«      dt        |j                  «      z  k(  sJ ‚y )NÚnT©r§   zDummy('n', dummy_index=%s))r   Úas_dummyr%   r³   r´   )rº   r²   s     r:   Útest_Dummy_from_Symbolr½   Ô   sC   € äˆs˜DÔ!€AØ	�
‰
‹€AÜ�ó 
Ø)¬C°·±Ó,>Ñ>ò?ð ?ñ ?r<   c                 óR   — t        t        fd«       t        t        t        fd«       y )Nz(Symbol('x'),)z(Symbol('x'), Symbol('y')))r;   rK   rW   rI   r<   r:   Ú
test_tupler¿   Ü   s   € ÜŒ€tÐÔÜŒŒ1€vÐ+Õ,r<   c                 ó.   — t        t        d«      d«       y )NÚwzWildFunction('w'))r;   r
   rI   r<   r:   Útest_WildFunctionrÂ   á   s   € Ü„|�CÓÐ-Õ.r<   c                 ó&   — t        t        d„ «       y )Nc                 ó$   — t        t        d¬«      S )NÚgarbage)Úmethod)r%   rK   rI   r<   r:   Ú<lambda>ztest_settins.<locals>.<lambda>æ   s   € œe¤A¨iÕ8r<   )r   Ú	TypeErrorrI   r<   r:   Útest_settinsrÉ   å   s   € Ü
Œ9Ñ8Õ9r<   c                 ó¾   — t        dt        dz  z  t        z  d«       t        dt        dz  z  t        z  d¬«      dk(  sJ ‚t        t	        dd¬«      d	¬«      d
k(  sJ ‚y )Nr’   z:Mul(Integer(3), Pow(Symbol('x'), Integer(3)), Symbol('y'))rR   rP   z:Mul(Integer(3), Symbol('y'), Pow(Symbol('x'), Integer(3)))z(x+4)*2*x*7FrS   rU   zFMul(Add(Symbol('x'), Integer(4)), Integer(2), Symbol('x'), Integer(7))rV   rI   r<   r:   Útest_MulrË   é   se   € Ü€qŒˆA‰�vŒa�xÐMÔNÜ�”1�a‘4‘œ‘ Ô'Ð+gÒgÐgÐgÜ”˜°Ô7¸vÔFð  KSò  Sð  Sñ  Sr<   c                 ó†   — t        t        d«      «      } t        | d«       t        t        dd«      «      } t        | d«       y )NrN   zJAlgebraicNumber(Pow(Integer(2), Rational(1, 2)), [Integer(1), Integer(0)])éþÿÿÿr’   zKAlgebraicNumber(Pow(Integer(-2), Rational(1, 3)), [Integer(1), Integer(0)]))r   r   r;   r   )Úas    r:   Útest_AlgebraicNumberrÏ   ï   s6   € Üœ˜Q›Ó €AÜ€qÐ
VÔWÜœ˜R ›Ó$€AÜ€qÐ
WÕXr<   c                 óî   — t        t        dt        t        «      d   «      dk(  sJ ‚t        t        dt        t
        «      d   «      dk(  sJ ‚t        t        dt        d   t        «      d   «      dk(  sJ ‚y )	NrK   r   z!PolyRing((Symbol('x'),), ZZ, lex)r/   z/PolyRing((Symbol('x'), Symbol('y')), QQ, grlex)úx,y,zÚtz=PolyRing((Symbol('x'), Symbol('y'), Symbol('z')), ZZ[t], lex))r%   r&   r(   r*   r)   r+   rI   r<   r:   Útest_PolyRingrÓ   ö   sl   € Ü”�cœ2œsÓ# AÑ&Ó'Ð+NÒNÐNÐNÜ”�eœR¤Ó'¨Ñ*Ó+Ð/`Ò`Ð`Ð`Ü”�gœr #™w¬Ó,¨QÑ/Ó0Ð4sÒsÐsÑsr<   c                 óî   — t        t        dt        t        «      d   «      dk(  sJ ‚t        t        dt        t
        «      d   «      dk(  sJ ‚t        t        dt        d   t        «      d   «      dk(  sJ ‚y )	NrK   r   z"FracField((Symbol('x'),), ZZ, lex)r/   z0FracField((Symbol('x'), Symbol('y')), QQ, grlex)rÑ   rÒ   z>FracField((Symbol('x'), Symbol('y'), Symbol('z')), ZZ[t], lex))r%   r'   r(   r*   r)   r+   rI   r<   r:   Útest_FracFieldrÕ   ü   sl   € Ü”�sœB¤Ó$ QÑ'Ó(Ð,PÒPÐPÐPÜ”�uœb¤%Ó(¨Ñ+Ó,Ð0bÒbÐbÐbÜ”�w¤ 3¡¬Ó-¨aÑ0Ó1Ð5uÒuÐuÑur<   c                 ód   — t        dt        «      \  } }}t        d|dz  z  |z  dz   «      dk(  sJ ‚y )Nr/   r’   rN   rO   zVPolyElement(PolyRing((Symbol('x'), Symbol('y')), ZZ, lex), [((2, 1), 3), ((0, 0), 1)]))r&   r(   r%   )rJ   rK   rW   s      r:   Útest_PolyElementr×     s7   € Ü�5œ"‹o�G€A€qˆ!Ü��1�a‘4‘˜‘˜A‘ÓÐ"zÒzÐzÑzr<   c                 óv   — t        dt        «      \  } }}t        d|dz  z  |z  dz   ||dz  z
  z  «      dk(  sJ ‚y )Nr/   r’   rN   rO   ztFracElement(FracField((Symbol('x'), Symbol('y')), ZZ, lex), [((2, 1), 3), ((0, 0), 1)], [((1, 0), 1), ((0, 2), -1)]))r'   r(   r%   )ÚFrK   rW   s      r:   Útest_FracElementrÚ     sQ   € Ü�Eœ2Ó�G€A€qˆ!Ü�!�A�q‘D‘&˜‘(˜Q‘,  Q¨¡T¡Ñ*Ó+ð  0fò  fð  fñ  fr<   c                 ó¶   — t        t        j                  t        «      «      dk(  sJ ‚t        t        j                  t        t        t
        ¬«      «      dk(  sJ ‚y )Nz1FractionField(FracField((Symbol('x'),), QQ, lex))rP   z?FractionField(FracField((Symbol('x'), Symbol('y')), QQ, grlex)))r%   r)   Ú
frac_fieldrK   rW   r+   rI   r<   r:   Útest_FractionFieldrÝ     sO   € Ü”—‘œqÓ!Ó"Ø;ò<ð <ð <ä”—‘œq¤!¬5Ô1Ó2ØIòJð Jñ Jr<   c                 ó"  — t        t        j                  t        «      «      dk(  sJ ‚t        t        t           j                  t        «      «      dk(  sJ ‚t        t        j                  t        «      j                  t        «      «      dk(  sJ ‚y )Nz%GlobalPolynomialRing(ZZ, Symbol('x'))z(GlobalPolynomialRing(ZZ[x], Symbol('y'))zTGlobalPolynomialRing(FractionField(FracField((Symbol('x'),), QQ, lex)), Symbol('y')))r%   r(   Úold_poly_ringrK   rW   r)   rÜ   rI   r<   r:   Útest_PolynomialRingBaserà     s�   € Ü”×!Ñ!¤!Ó$Ó%Ø/ò0ð 0ð 0ä””A‘×$Ñ$¤QÓ'Ó(Ø2ò3ð 3ð 3ä”—‘œqÓ!×/Ñ/´Ó2Ó3Ø^ò_ð _ñ _r<   c                 óþ   — t        ddgt        «      }  t        j                  t        «      ddg«      }t        dk7  r!t        | «      dk(  sJ ‚t        |«      dk(  sJ ‚y t        | «      dk(  sJ ‚t        |«      dk(  sJ ‚y )NrO   rN   ÚflintzDMP_Python([1, 2], ZZ)zDUP_Flint([1, 2], ZZ))r-   r(   rß   rK   r   r%   )Úp1Úp2s     r:   Útest_DMPrå     s€   € Ü	ˆa�ˆV”R‹€BØ	Œ×	Ñ	œ!Ó	˜a ˜VÓ	$€BÜ�wÒÜ�R‹yÐ4Ò4Ð4Ð4Ü�R‹yÐ4Ò4Ð4Ñ4ä�R‹yÐ3Ò3Ð3Ð3Ü�R‹yÐ3Ò3Ð3Ñ3r<   c                 óf   — t        t        t        t        dz  dz   t        «      «      «      dk(  sJ ‚y )NrN   rO   z/FiniteExtension(Poly(x**2 + 1, x, domain='ZZ')))r%   r.   r,   rK   rI   r<   r:   Útest_FiniteExtensionrç   '  s0   € Ü”¤¤a¨¡d¨Q¡h´Ó!2Ó3Ó4Ø9ò:ð :ñ :r<   c                 óš   — t        t        t        dz  dz   t        «      «      } t        dk7  rd}nd}t	        | j
                  «      |k(  sJ ‚y )NrN   rO   râ   zPExtElem(DMP_Python([1, 0], ZZ), FiniteExtension(Poly(x**2 + 1, x, domain='ZZ')))zOExtElem(DUP_Flint([1, 0], ZZ), FiniteExtension(Poly(x**2 + 1, x, domain='ZZ'))))r.   r,   rK   r   r%   Ú	generator)ÚAÚanss     r:   Útest_ExtensionElementrì   ,  sD   € ÜœœQ ™T A™X¤qÓ)Ó*€AÜ�wÒØ`‰à_ˆÜ�—‘Ó Ò$Ð$Ñ$r<   c                 óT   — t        t        «      dk(  sJ ‚t        t        «      dk(  sJ ‚y )Nr   r   )r%   r   r   rI   r<   r:   Útest_BooleanAtomrî   4  s&   € Ü”‹;˜&Ò Ð Ð Ü”‹<˜7Ò"Ð"Ñ"r<   c                 ó8   — t        t        j                  d«       y )NÚIntegers)r;   r   rð   rI   r<   r:   Útest_Integersrñ   9  ó   € Ü„q‡z�z�:Õr<   c                 ó8   — t        t        j                  d«       y )Nrv   )r;   r   rv   rI   r<   r:   Útest_Naturalsrô   =  rò   r<   c                 ó8   — t        t        j                  d«       y )Nrw   )r;   r   rw   rI   r<   r:   Útest_Naturals0rö   A  s   € Ü„q‡{�{�KÕ r<   c                 ó8   — t        t        j                  d«       y )Nry   )r;   r   ry   rI   r<   r:   Ú
test_Realsrø   E  s   € Ü„q‡w�w�Õr<   c                 ó¦   — t        dd¬«      } t        d| | «      }t        d| | «      }t        |d«       t        ||z  d«       t        ||z   d«       y )	Nrº   Tr»   rê   ÚBzLMatrixSymbol(Str('A'), Symbol('n', integer=True), Symbol('n', integer=True))z¢MatMul(MatrixSymbol(Str('A'), Symbol('n', integer=True), Symbol('n', integer=True)), MatrixSymbol(Str('B'), Symbol('n', integer=True), Symbol('n', integer=True)))z¢MatAdd(MatrixSymbol(Str('A'), Symbol('n', integer=True), Symbol('n', integer=True)), MatrixSymbol(Str('B'), Symbol('n', integer=True), Symbol('n', integer=True))))r   r   r;   )rº   rê   rú   s      r:   Útest_matrix_expressionsrû   I  s_   € Ü�˜TÔ"€AÜ�S˜!˜QÓ€AÜ�S˜!˜QÓ€AÜ€qÐ
XÔYÜ€qˆ�sð  qô  rÜ€qˆ1�uð  sõ  tr<   c                 ó8   — t        t        dd«      «      dk(  sJ ‚y )NrO   rN   zCycle(1, 2))r%   r    rI   r<   r:   Ú
test_Cyclerý   R  s   € ô
 ”�q˜!“Ó Ò.Ð.Ñ.r<   c                 óN  — d} t         t        dd«      dd«      d| d¬«       t         t        dd«      dd«      d	| d
¬«       t        «       5  t        j                  }dt        _        t         t        dd«      dd«      d| «       |t        _        d d d «       y # 1 sw Y   y xY w)Nz+from sympy.combinatorics import PermutationrO   rN   r’   rˆ   zPermutation([0, 2, 1, 4, 3])F)Úperm_cycliczPermutation(1, 2)(3, 4)T)r;   r!   r   Úprint_cyclic)r7   Úold_print_cyclics     r:   Útest_Permutationr  Z  s•   € Ø?€KÜÐ„{�1�aÓ˜˜AÓÐ >ÀÐY^Õ_ÜÐ„{�1�aÓ˜˜AÓÐ 9¸;ÐTXÕYä	Õ	!Ü&×3Ñ3ÐØ#(ŒÔ Ü
ÐŒ;�q˜!Ó˜Q Ó"Ð$BÀKÔPØ#3ŒÔ ÷	 
"×	!Ñ	!ús   ÁABÂB$c                 óº   — ddl m} m}m} i }t	        |«      dk(  sJ ‚| |i}t	        |«      dk(  sJ ‚| |||i}t	        |«      dv sJ ‚| ||ii}t	        |«      dk(  sJ ‚y )Nr   )rK   rW   Úzz{}z{Symbol('x'): Symbol('y')})z4{Symbol('x'): Symbol('y'), Symbol('y'): Symbol('z')}z4{Symbol('y'): Symbol('z'), Symbol('x'): Symbol('y')}z){Symbol('x'): {Symbol('y'): Symbol('z')}})Ú	sympy.abcrK   rW   r  r%   )rK   rW   r  r²   s       r:   Ú	test_dictr  e  s…   € ß!Ñ!Ø
€AÜ�‹8�tÒÐÐØ	
ˆAˆ€AÜ�‹8Ð3Ò3Ð3Ð3Ø	
ˆAˆq�!ˆ€AÜ�‹8ð ñ ð ð ð 
ˆQ�ˆFˆ€AÜ�‹8ÐBÒBÐBÑBr<   c                 ón   — ddl m} m} t        «       }t	        |«      dk(  sJ ‚| |h}t	        |«      dv sJ ‚y )Nr   )rK   rW   zset())z{Symbol('x'), Symbol('y')}z{Symbol('y'), Symbol('x')})r  rK   rW   Úsetr%   )rK   rW   Úss      r:   Útest_setr
  s  s:   € ßÜ‹€AÜ�‹8�wÒÐÐØ	
ˆAˆ€AÜ�‹8ÐSÑSÐSÑSr<   c                 ó8   — t        t        j                  d«       y )NzQ.even)r;   r   r¯   rI   r<   r:   Útest_Predicater  z  s   € Ü„q‡v�vˆxÕr<   c                 óT   — t        t        j                  t        d«      «      d«       y )Nr  z%AppliedPredicate(Q.even, Symbol('z')))r;   r   r¯   r   rI   r<   r:   Útest_AppliedPredicater  }  s   € Ü„q‡v�vŒf�S‹kÓÐCÕDr<   )N)xÚ
__future__r   Útypingr   Úsympy.external.gmpyr   Úsympy.testing.pytestr   r   Úsympy.assumptions.askr   Úsympy.core.functionr	   r
   Úsympy.core.numbersr   r   r   r   Úsympy.core.singletonr   Úsympy.core.symbolr   r   r   r   Úsympy.core.sympifyr   Ú$sympy.functions.elementary.complexesr   Ú(sympy.functions.elementary.miscellaneousr   r   Ú(sympy.functions.elementary.trigonometricr   Ú'sympy.functions.special.delta_functionsr   Úsympy.logic.boolalgr   r   Úsympy.matrices.denser   r   Ú"sympy.matrices.expressions.matexprr   Úsympy.matrices.immutabler   Úsympy.combinatoricsr    r!   r"   Úsympy.geometryr#   r$   Úsympy.printingr%   Úsympy.polysr&   r'   r(   r)   r*   r+   r,   Úsympy.polys.polyclassesr-   Úsympy.polys.agca.extensionsr.   rK   rW   r0   Ú__annotations__r3   r;   rL   rX   r_   rb   rd   rg   r†   r‰   r‹   r�   r“   r–   r¡   r¥   rª   r­   r°   rµ   r¸   r½   r¿   rÂ   rÉ   rË   rÏ   rÓ   rÕ   r×   rÚ   rÝ   rà   rå   rç   rì   rî   rñ   rô   rö   rø   rû   rý   r  r  r
  r  r  rI   r<   r:   Ú<module>r(     s€  ðÞ "Ý å ,ß ?Ý #ß 8ß JÓ JÝ "ß <Ó <Ý &Ý 4ß AÝ 8Ý =ß -ß /Ý ;Ý 9ß 2Ý !ß )Ý  ß =× =Ñ =Ý 'Ý 7áˆuƒ~�€€1ð ˜c�l€€^Ó "Ù Ð˜CÔ  ó&ò"-òEò)òò>ò
Kò'ò6!ò5òBò-ò+ò
5ò(Aò$òDò5ò=ò
 ò?ò-ò
/ò:òSòYòtòvò{ò
fò
Jò_ò4ò:ò
%ò#ò
òò!òòtò/ò	4òCòTòóEr<   