Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
symbolic.cpython-313.pyc396 linesDownload Raw Back to __pycache__
1�

2z�j,����SrS/rSSKrSSKrSSKJr SSKJr "SS\5r"SS	\5r	"S3S\5r4"SS
\5r"SS\5r
"SS\5r\4r\\4rSr"SS\5rSr"SS5rSrSrSrS9SjrS9SjrS9SjrS:SjrSrS;Sjr S r!S!r"S"r#S#r$S$r%S%r&S&r'S'r(S(r)S)r*S*r+S+r,S,r-S-r.S.r/\/"5r0S/r1S0r2S1r3S2r4S3r5\Rl4S4jr7"S5S65r8"S7S85r9g)<a�Fortran/C symbolic expressions5 6References:7- J3/21-007: Draft Fortran 202x. https://j3-fortran.org/doc/year/21/21-007.pdf8 9Copyright 1999 -- 2011 Pearu Peterson all rights reserved.10Copyright 2011 -- present NumPy Developers.11Permission to use, modify, and distribute this software is given under the12terms of the NumPy License.13 14NO WARRANTY IS EXPRESSED OR IMPLIED.  USE AT YOUR OWN RISK.15�Expr�N)�Enum)�gcdc�$�\rSrSrSrSrSrSrSrg)�Language�$z*16Used as Expr.tostring language argument.17r���N)	�__name__�18__module__�__qualname__�__firstlineno__�__doc__�Python�Fortran�C�__static_attributes__r��YD:\code\apps\devtools\python\user_packages\Python313\site-packages\numpy/f2py/symbolic.pyrr$s����F��G�	�Arrc�T�\rSrSrSrSrSrSrSrSr	Sr19S	rS20rSr
SrS
rSrSrSrSrSrg)�Op�-z21Used as Expr op attribute.22�23�����(�d������i,i�i�i�i�rN)rr
rrr�INTEGER�REAL�COMPLEX�STRING�ARRAY�SYMBOL�TERNARY�APPLY�INDEXING�CONCAT�24RELATIONAL�TERMS�FACTORS�REF�DEREFrrrrrr-sT����G�
�D��G�
�F��E�
�F��G��E��H�
�F��J��E��G�25�C��Errc�z�\rSrSrSrSrSrSrSrSr	Sr26\\R4S	j5r\R4S27jrSrg)
�RelOp�Bz@28Used in Op.RELATIONAL expression to specify the function part.29r	r30����c���U[RLan[R[R[R31[R[R[RS.UR5$[R[R[R32[R[R[RS.U$)N)�.eq.�.ne.�.lt.�.le.�.gt.�.ge.)�==�!=�<�<=�>�>=)33rrr4�EQ�NE�LT�LE�GT�GE�lower)�cls�s�languages   r�34fromstring�RelOp.fromstringMs����x�'�'�'�!�H�H�e�h�h�!�H�H�e�h�h�!�H�H�e�h�h�8�89���	�C�
C��h�h�e�h�h�U�X�X��h�h�U�X�X�U�X�X�?�?@�B�	Brc��U[RLae[RS[RS[R35S[RS[RS[RS0U$[RS[RS[R36S	[RS37[RS[RS0U$)
Nr;r<r=r>r?r@rArBrCrDrErF)	rrr4rGrHrIrJrKrL��selfrPs  r�tostring�RelOp.tostringVs����x�'�'�'��H�H�f�e�h�h���H�H�f�e�h�h���H�H�f�e�h�h��8�8<�>�
>����$����$����#�u�x�x�����#�u�x�x��/�/3�5�	5rrN)rr
rrrrGrHrIrJrKrL�classmethodrrrQrVrrrrr4r4BsP���38�B�	39�B�	40�B�	41�B�	42�B�	43�B��$,�J�J�B��B�!)�44�45�5rr4c�4�\rSrSrSrSrSrSrSrSr	Sr46S	rS47rg)�ArithOp�`z;48Used in Op.APPLY expression to specify the function part.49r	r50r6r7r8r9�rN)
rr
rrr�POS�NEG�ADD�SUB�MUL�DIV�POWrrrrrZrZ`s,����C�51�C�52�C�53�C�54�C�55�C�56�CrrZc��\rSrSrSrg)�OpError�mrN�rr
rrrrrrrerem���rrec�L�\rSrSrSrSrSrSrSrSr	Sr57S	rS58rSr
SrS
rSrSrSrg)�59Precedence�qz,60Used as Expr.tostring precedence argument.61rr	r62r6r7r9r\�r�
�rr rN)rr
rrr�ATOM�POWER�UNARY�PRODUCT�SUMrIrG�LAND�LORr*�ASSIGN�TUPLE�NONErrrrrjrjqsJ���
�D�
�E�
�E��G�63�C�	64�B�	65�B�
�D�66�C��G�
�F��E��Drrjc�Z�URU5nUcX U'gX2-nU(aX0U'gX	g�N)�get)�d�k�v�cs    r�67_pairs_addr��s1��	���a��A��y��!��
�E����a�D��rc��\rSrSrSrg)�ExprWarning�rNrgrrrr�r��rhrr�c�8�[R"U[SS9 g)Nr68)�69stacklevel)�warnings�warnr�)�messages r�ewarnr��s���M�M�'�;�1�5rc�,�\rSrSrSr\\R4Sj5rSr	Sr70SrSrSr
S	rS71rSrSr\R&\R(4S
jrSrSrSrSrSrSrSrSrSrSrSr Sr!Sr"Sr#Sr$Sr%Sr&Sr'S r(S!r)S"r*S#r+g$)%r�z_Represents a Fortran expression as an op-data pair.72 73Expr instances are hashable and sortable.74c��[XS9$)z/Parse a Fortran expression to an Expr.75        �rP)rQ)rOrPs  r�parse�76Expr.parse�s���!�/�/rc�`�[U[5(deU[RLag[U[5(a[	U5S:Xde[US[775(de[US[78[45(dU5eGO�U[RLag[U[5(a[	U5S:Xde[US[5(de[US[79[45(dU5eGOU[RLa([U[5(a[	U5S:XdeGO�U[RLa�[U[5(a[	U5S:Xde[US[5(aUSSS[	US5S-802S;de[US[81[45(dU5eGODU[RLa[U5ceGO!U[R[R4;a7[U[5(de[SU55(dU5eGO�U[R [R"4;a[U[$5(deGO�U[R&Lam[U[5(a[	U5S:Xde[US5ce[US[5(de[US[$5(deGO	U[R(La8[U[5(a[	U5S:Xde[US5ceO�U[R*La'[U[5(a[	U5S:XdeO�U[R,[R.4;a[U[05(deOHU[R2La'[U[5(a[	U5S:XdeO[5SU35eXlX lg)Nr82rr	)z""z''z@@c3�B# �UHn[U[5v� M g7frz)�83isinstancer)�.0�items  r�	<genexpr>� Expr.__init__.<locals>.<genexpr>�s���?�$�$�z�$��-�-�$�s�r6z$unknown op or missing sanity check: )r�rr$�tuple�len�int�strr%�floatr&r'r)�hashr(r-�allr/r0�dictr+r,r*r1r2rr.�NotImplementedError�op�data)rUr�r�s   r�__init__�
Expr.__init__�sd���"�b�!�!�!�!�������d�E�*�*�s�4�y�A�~�=�=��d�1�g�s�+�+�+�+��d�1�g��S�z�2�2�8�D�8�2�
�2�7�7�]��d�E�*�*�s�4�y�A�~�=�=��d�1�g�u�-�-�-�-��d�1�g��S�z�2�2�8�D�8�2�
�2�:�:�
��d�E�*�*�s�4�y�A�~�=�=�~�
�2�9�9�_��d�E�*�*�s�4�y�A�~�=�=��t�A�w��,�,��Q�� 2�#�d�1�g�,��"2� 2�3�7I�I�
K�J��d�1�g��S�z�2�2�8�D�8�2�
�2�9�9�_���:�)�)�)�
�B�H�H�b�i�i�(�
(��d�E�*�*�*�*��?�$�?�?�?�E��E�?�
�B�H�H�b�j�j�)�
)��d�D�)�)�)�)�
�2�8�8�^��d�E�*�*�s�4�y�A�~�=�=���Q��=�,�,�,��d�1�g�u�-�-�-�-��d�1�g�t�,�,�,�,�
�2�;�;�
��d�E�*�*�s�4�y�A�~�=�=���Q��=�,�,�,�
�2�:�:�
��d�E�*�*�s�4�y�A�~�=�=�~�
�B�F�F�B�H�H�%�
%��d�D�)�)�)�)�
�2�=�=�
 ��d�E�*�*�s�4�y�A�~�=�=�~�%�6�r�d�;�=�
=����	rc��[U[5=(a8 URURL=(a URUR:H$rz)r�rr�r��rU�others  r�__eq__�Expr.__eq__�s;���5�$�'�,��G�G�u�x�x�'�,��I�I����+�	-rc��UR[R[R4;a-[	[URR555nOiUR[RLa@URSS[	[URSR555-nOURn[URU45$�Nr84)85r�rr/r0r��sortedr��itemsr+r�)rUr�s  r�__hash__�
Expr.__hash__�s����7�7�r�x�x����,�,����	�	��� 1�2�3�D�
�W�W����
 ��9�9�R�a�=�5���	�	�!��0B�0B�0D�)E�#F�F�D��9�9�D��T�W�W�d�O�$�$rc�|�[U[5(Ga�URURLa-URRURR:$UR[R86[R4;aY[[URR555[[URR555:$UR[RLa�URSSURSS:waURSSURSS:$[[URSR555[[URSR555:$URUR:$[$r�)
r�rr��valuerr/r0r�r�r�r�r+�NotImplementedr�s  r�__lt__�Expr.__lt__�s;���e�T�"�"��w�w�e�h�h�&��w�w�}�}�u�x�x�~�~�5�5��w�w�2�8�8�R�Z�Z�0�0��f�T�Y�Y�_�_�%6�7�8���u�z�z�'7�'7�'9� :�;�<�=��w�w�"�(�(�"��9�9�R�a�=�E�J�J�r��N�2��9�9�R�a�=�5�:�:�b�q�>�9�9��V�D�I�I�a�L�$6�$6�$8�9�:�U��5�:�:�a�=�.�.�0�1�>3�3�3��9�9�u�z�z�)�)��rc� �X:H=(d X:$rzrr�s  r�__le__�Expr.__le__s��D�M�$A�T�\�Arc��X::+$rzrr�s  r�__gt__�Expr.__gt__87s88���$7�7rc��X:+$rzrr�s  r�__ge__�Expr.__ge__s89���$6�6rc�h�[U5RSURSUR<S3$�N�(�, �))�typerr�r��rUs r�__repr__�
Expr.__repr__s.���t�*�%�%�&�a����y��4�9�9�-�q�A�Arc�"�UR5$rz)rVr�s r�__str__�Expr.__str__s���}�}��rc	�:^�UR[R[R4;auURSS:a[90RO[91Rn[URS5URSS:waSURS3OS-nG	O5UR[RLa?SRU4SjUR55nSU-S	-n[92RnGO�UR[RLa'[93Rn[UR5nGO�UR[RLaIURSnURSS:waURSS-U-n[94RnGO/UR[RLa?SRU4S95jUR55nSU-S-n[96RnGO�UR[RLGa$/n[URR!55H�upgUS:aS
nU*nOSnUS:XaUR#[97RTS9nO?U[%S5:Xa[U5nO$US3UR#[98R&TS9-nU(aUR)U5 OUS
:XaUR)S5 UR)U5 M� SRU5=(d SnU(a[99RO[100RnGO�UR[R*LGa�/n	/n101[URR!55GH2up�SnUS:XaUR#[102R&TS9n
O�T[,R.La�U[1SS5;a4UR#[103R&TS9n
SRU
/U-5n
O�U[1SS5;a)UR#[104R&TS9n
X�/U*--
n105M�UR#[106R2TS9n
SU
SUS	3n
O$UR#[107R4TS9SU3-n
U	(aU	R)U5 U	R)U
5 GM5 U108(a%U	(dU	S/-
n	U	SSSRU1095S	/-
n	SRU	5=(d SnU	(a[110R&O[111RnGO�UR[R6LGa#URup�nU[8R:La^T[,R.LaKUVs/sH!nUR#[112R&TS9PM# snunnUSU3n[113R&nGOUVs/sH!nUR#[114R2TS9PM# nnUUR!5VVs/sH+unnUS-UR#[115R<5-PM- snn-
nUSSRU5S	3n[116RnGOeUR[R>LasURSnURSSVs/sH!nUR#[117R2TS9PM# nnUSSRU5S3n[118RnGO�UR[R@La[URVs/sH!nUR#[119R&TS9PM# nnSRU5n[120R&nGO]UR[RBLa�URVs/sH!nUR#[121R2TS9PM# snunnnT[,R.La
SUSUSUS	3nO[T[,RDLa
SUS US!US	3nO;T[,RFLa
S"USUSUS	3nOS#URS$T35e[122RnGOvUR[RJLa=S%URR#[123RLTS9-n[124RLnGOUR[RNLa<S&URR#[125RLTS9-n[126RLnO�UR[RPLa�URunnnU[RRT[RRV4;a[127RTO[128RXnUR#UTS9nUR#UTS9nUR#TS9nUS'US'U3nO[IS(UR35eURZURZ:aSU-S	-$U$s snfs snfs snnfs snfs snfs snf))z0Return a string representation of Expr.129        rr	r7�_�r�c3�`># �UH#nUR[RTS9v� M% g7f�r�N�rVrjrw�r�r�rPs  �rr�� Expr.tostring.<locals>.<genexpr>�+����1�&/�d��-�-�130�(8�(8�8�-�L�&/���+.r�r�c3�`># �UH#nUR[RTS9v� M% g7fr�r�r�s  �rr�r�+r�r��[�]z - � + r�� * �-�0r131ri����zpow(z ** �1�/z / �=Nz // �?�:z if z else zmerge(z
tostring for z and �&�*� ztostring for op ).r�rr$r%r�rjrsror�r&�joinr)r'r(r/r�r�rV�	as_numberrr�appendr0rr�rangerwrpr+rZrbrxr,r-r*rrr�r1rqr2r.r4rGrHrIr�)rU�parent_precedencerP�132precedence�r�terms�term�coeffr��factors�tail�base�exp�factor�name�args�kwargs�arg�numer�denomr}r~�a�cond�expr1�expr2�rop�left�rights  `                          rrV�
Expr.tostrings�����7�7�r�z�z�2�7�7�+�+�,0�I�I�a�L�1�,<�*�.�.�)���
��D�I�I�a�L�!�(,�	�	�!���(9�()����1���%7�?A�C�A�
�W�W��133�134�
"��	�	�1�&*�i�i�1�1�A��a��#�
�A�#���J�
�W�W��	�	�
!�#���J��D�I�I��A�
�W�W��	�	�
!��	�	�!��A��y�y��|�q� ��I�I�a�L�3�&��*��#���J�
�W�W����
 ��	�	�1�&*�i�i�1�1�A��a��#�
�A�#���J�
�W�W����
 ��E�%�d�i�i�o�o�&7�8����1�9��B�"�F�E��B��A�:��=�=����(�=�K�D��Y�q�\�)��u�:�D�#�W�C�=�4�=�=�"�*�*�X�,9�,?�?�D���L�L��$��5�[��L�L��%����T�"�# 9�$�����%�#�A�+0����j�o�o�J�
�W�W��135�136�
"��G��D�#�D�I�I�O�O�$5�6�	�����!�8�!�]�]�:�+=�+=�4<�+�>�F�����+��e�A�r�l�*�!%���z�/A�/A�8@�"/�"B��!&���V�H�s�N�!;����c�1�
�-�!%���z�/A�/A�8@�"/�"B����C�4��/�� �!%���z�/?�/?�8@�"/�"B��#'��x�r�#��a�!8��!�]�]�:�+;�+;�4<�+�>�BF�s�e��M�F���N�N�2�&����v�&�17�2����u�$�G��C��e�j�j��&6��<�<������ �'�C�A�/6��+�+�J�O�O�J�
�W�W����
 �!%����D���w�{�{�"�x�8�:�:�'=�,0� 1�+/�C�!$���Z�-?�-?�6>�!-�!@�+/� 1���u��g�S���(��'�/�/�137�$(�)�#'�C����Z�%5�%5���I�#'��)��%+�\�\�^�5�%3�T�Q���S��1�:�:�j�o�o�#>�>�%3�5�5���f�A�d�i�i��o�.�a�0��'�_�_�138�
�W�W����
#��9�9�Q�<�D�#�y�y���}�.�,���L�L��!1�!1�H�L�E�,�
�.��&��$�)�)�D�/�*�!�,�A�#���J�
�W�W��	�	�
!�#�y�y�*�(���L�L��!3�!3�h�L�G�(�
�*����D�!�A�#�+�+�J�
�W�W��139�140�
"�,0�9�9�"6�+4�a�#$�*�*�Z�-=�-=�6>�#-�#@�+4�"6��D�%���8�:�:�%���v�Q�u�g�Q�u�g�Q�/���X�_�_�,���w�d�4�&��u�g�Q�7���X�-�-�-��U�G�2�e�W�B�t�f�A�6��)�#�D�G�G�9�E�(��<�>�>�#���J�
�W�W����
��d�i�i�(�(��)9�)9�H�(�M�M�A�#�)�)�J�
�W�W����
 ��d�i�i�(�(��)9�)9�H�(�M�M�A�#�)�)�J�
�W�W��
�
�
%�#�y�y��C��u�+.�5�8�8�U�X�X�2F�+F�*�-�-�)�}�}�
��=�=��h�=�?�D��N�N�:��N�A�E��,�,��,�1�C��&��#��a��w�'�A�%�(8����	�&B�C�C��"�"�Z�%5�%5�5���7�S�=� ����s 1��)��5��.��141*��142"6s$�(g>�(h�2h�2(h�0(h�((hc��U$rzrr�s r�__pos__�Expr.__pos__�s���rc��US-$)N�����rr�s r�__neg__�Expr.__neg__�s���b�y�rc���[U5n[U[5(Ga�URURLGaNUR[R143[R4;aM[URSURS-[URSURS55$UR[RLa,URup#URupE[X$-X5-5$UR[RLam[UR[UR55nURR5Hupx[URXx5 M [!U5$UR[RLa<UR[R144[R4;aU[U5-$UR[R145[R4;a+UR[RLa[U5U-$UR[RLa6UR[R146LaU[#XRSS9-$UR[R147La6UR[RLa[#XRSS9U-$[%U5[%U5-$[&$�Nrr	)�kind)�as_exprr�rr�rr$r%r�r��maxr&�148as_complexr/r�r�r��	normalize�as_real�as_termsr�)	rUr��r1�i1�r2�i2r�r}r~s	         r�__add__�Expr.__add__�s	�������e�T�"�"��w�w�%�(�(�"��7�7�r�z�z�2�7�7�3�3�$��	�	�!��u�z�z�!�}�4��D�I�I�a�L�%�*�*�Q�-�8�:�:��7�7�b�j�j�(�!�Y�Y�F�B�"�Z�Z�F�B�%�b�g�r�w�7�7��7�7�b�h�h�&��T�W�W�d�4�9�9�o�6�A� %�149�150� 0� 0� 2���"�1�6�6�1�0�!3�$�Q�<�'��w�w�"�*�*�$����b�j�j�"�'�'�5J�)J��j��/�/�/����R�Z�Z����1�1�e�h�h�"�*�*�6L�!�$�'�%�/�/����B�G�G�#����B�J�J�(>��g�e�)�)�A�,�?�?�?����B�J�J�&�5�8�8�r�w�w�+>��t�*�*�Q�-�8�5�@�@��D�>�H�U�O�3�3��rc�T�[U[5(a[U5U-$[$rz�r��number_typesr�r�r�s  r�__radd__�
Expr.__radd__��%���e�\�*�*��U�#�d�*�*��rc��X*-$rzrr�s  r�__sub__�Expr.__sub__�s���v��rc�T�[U[5(a[U5U-151$[$rzrr�s  r�__rsub__�
Expr.__rsub__�rrc���[U5n[U[5(Ga�URURLGa�UR[R152[R4;aM[URSURS-[URSURS55$UR[RLa6URup#URupE[X$-X5--153X%-XC--5$UR[RLam[UR[UR55nURR5Hupx[URXx5 M [!U5$UR[R"La�[UR05nURR5HCup�URR5H up�[URX�-X�-5 M" ME [!U5$UR[RLa<UR[R154[R4;aU[U5-$UR[RLa<UR[R155[R4;a[U5U-$UR[RLa6UR[R156LaU[%XRSS9-$UR[R157La6UR[RLa[%XRSS9U-$UR[R"LaU['U5-$UR[R"La['U5U-$[)U5[)U5-$[*$r)r	r�rr�rr$r%r�r�r158r&rr0r�r�r�rr/r
r�159as_factorsr�)
rUr�rrrrr�r}r~�t1�c1�t2�c2s
             r�__mul__�Expr.__mul__�s��������e�T�"�"��w�w�%�(�(�"��7�7�r�z�z�2�7�7�3�3�$�T�Y�Y�q�\�E�J�J�q�M�%A�%(����1��u�z�z�!�}�%E�G�G��W�W��160�161�*�!�Y�Y�F�B�"�Z�Z�F�B�%�b�g���&7���2�7�9J�K�K��7�7�b�j�j�(��T�W�W�d�4�9�9�o�6�A� %�162�163� 0� 0� 2���"�1�6�6�1�0�!3�$�Q�<�'��W�W����(��T�W�W�b�)�A�"&�)�)�/�/�"3���&+�j�j�&6�&6�&8�F�B�&�q�v�v�r�w���@�'9�#4�%�Q�<�'��w�w�"�*�*�$����b�j�j�"�'�'�5J�)J��j��/�/�/����R�Z�Z�'�D�G�G��164�165�B�G�G�7L�,L�!�$�'�%�/�/����B�G�G�#����B�J�J�(>��g�e�)�)�A�,�?�?�?����B�J�J�&�5�8�8�r�w�w�+>��t�*�*�Q�-�8�5�@�@��w�w�"�(�(�"��h�u�o�-�-����R�X�X�%���~��-�-��d�#�j��&7�7�7��rc�T�[U[5(a[U5U-$[$rzrr�s  r�__rmul__�
Expr.__rmul__�rrc�d�[U5n[U[5(Ga166UR[R167La�URSnUS:Xa[S5$US:XaU$US:�a|UR[RLaU[UR05nURR5HupEXR-URU'M [U5$XUS-168--$US:waX*-S-$[[RX05$[[RX5$[$)Nrr	r)r	r�rr�rr$r�r�r0r�r�as_applyrZrcr�)rUr��exponentr�r}r~s      r�__pow__�Expr.__pow__s��������e�T�"�"��x�x�2�:�:�%� �:�:�a�=���q�=�$�Q�<�'��q�=��K��a�<��w�w�"�*�*�,� ����"�-��$(�I�I�O�O�$5�D�A�()��A�F�F�1�I�%6�(��|�+��H�q�L�#9�:�:���^� �Y�/�B�6�6��B�J�J��(8�9�9��G�K�K��5�5��rc��[U5n[U[5(a#[[	[169RX55$[$rz)r	r�rrr-rZrbr�r�s  r�__truediv__�Expr.__truediv__s6�������e�T�"�"��X�g�k�k�4�?�@�@��rc�V�[U5n[U[5(aX-$[$rz�r	r�rr�r�s  r�__rtruediv__�Expr.__rtruediv__!s&�������e�T�"�"��<���rc��[U5n[U[5(a$[[[R170X455$[$rz)r	r�rrrr-r�r�s  r�__floordiv__�Expr.__floordiv__'s8�������e�T�"�"��T�"�)�)�d�]�;�<�<��rc�V�[U5n[U[5(aX-$[$rzr5r�s  r�
__rfloordiv__�Expr.__rfloordiv__/s&�������e�T�"�"��=� ��rc��[U/[[U5Q70UR5VVs0sHup4U[U5_M snnD6$s snnfrz)r-�mapr	r�)rUr�r�r}r~s     r�__call__�
Expr.__call__5sO����F�s�7�D�1�F�5;�\�\�^�D�^�T�Q�1�g�a�j�=�^�D�F�	F��Ds�Ac���[U5n[U[5(dU4n[U5S:�a[	SUS35 [[RU4U-5$)Nr	z/C-index should be a single expression but got `�`)r	r�r�r�r�rrr,)rU�indexs  r�__getitem__�Expr.__getitem__>sU�������%��'�'��F�E��u�:��>��C�E�7�!�L�M��B�K�K�$��5��1�1rc	�171^�UR[RLaqTRU5nUcU$[R172"SUR5nU(a1UR5upEUS;a[U5$US:XdXR45eU$UR[R[R[R4;aU$UR[R[R4;a3[UR[U4SjUR555$UR[R La<[#[UR[U4SjUR5555$UR[R$LaoSnURR'5H4upxUcUR)T5U-nMXgR)T5U--
nM6 Uc[+S5 [-S5$U$UR[R.LaoSnURR'5H4up�UcU	R)T5U173-nMXiR)T5U174--nM6 Uc[+S	5 [-S1755$U$UR[R0La�URup�n
[3U[5(aUR)T5n[U4SjU55nU
R'5VVs0sHup�X�R)T5_M n
nn[#[URX�U
455$UR[R4LazURSn[3U[5(aUR)T5n[U4SjURS176S55n[#[URU4U-55$UR[R6La>[U4S
jUR55n[#[URU55$UR[R8[R:4;a8[#[URURR)T555$UR[R<LaTURunnnUR)T5nUR)T5n[#[URUUU455$[?SURSU<35es snnf)ztRecursively substitute symbols with values in symbols map.177 178Symbols map is a dictionary of symbol-expression pairs.179Nz$\A(@__f2py_PARENTHESIS_(\w+)_\d+@)\Z��ROUNDDIV�SQUARE�ROUNDc3�F># �UHnURT5v� M g7frz��180substitute�r�r��symbols_maps  �rr��"Expr.substitute.<locals>.<genexpr>\s$����'>�3<�4�(,���{�'C�'C�3<���!c3�F># �UHnURT5v� M g7frzrMrOs  �rr�rQ_s%����1H�=F�T�26����1M�1M�=F�rRz?substitute: empty TERMS expression interpreted as int-literal 0rzAsubstitute: empty FACTORS expression interpreted as int-literal 1r	c3�D># �UHoRT5v� M g7frzrM�r�r�rPs  �rr�rQ}s����A�D�q���k�2�2�D��� c3�D># �UHoRT5v� M g7frzrMrUs  �rr�rQ�s����J�M�q���k�2�2�M�rVc3�D># �UHoRT5v� M g7frzrMrUs  �rr�rQ�s����J�	�1�\�\�+�6�6�	�rVzsubstitute method for z: ) r�rr)r{�re�matchr��groups�as_arrayr$r%r'r(r&rr�r-rr/r�rNr�r�r0r+r�r,r*r1r2r.r�)rUrPr��mr��parenr�r�r�r�r.�targetr�r�r}r~�func�operandsr�r�r�s `                   rrN�Expr.substituteHs&���181�7�7�b�i�i���O�O�D�)�E��}������@�$�)�)�L�A�� �x�x�z����2�2�#�E�?�*���'�7�%��7�'��L��7�7�r�z�z�2�7�7�B�I�I�6�6��K��7�7�r�x�x����,�,������'>�37�9�9�'>�">�?�
?��7�7�b�i�i���T�$�'�'�5�1H�=A�Y�Y�1H�,H�I�J�
J��7�7�b�h�h���A�#�y�y���0����9�����4�u�<�A�����5��=�=�A�	 1�182�y��'�(� ��|�#��H��7�7�b�j�j� ��A�"&�)�)�/�/�"3����9�����4��@�A�����5��A�A�A�	#4�183�y��*�+� ��|�#��H��7�7�b�h�h��#'�9�9� �F�&��&�$�'�'��*�*�;�7���A�D�A�A�D�&,�l�l�n�6�&4�d�a����k�2�2�&4�
�6��T�$�'�'�F�&�+A�B�C�C��7�7�b�k�k�!��9�9�Q�<�D��$��%�%����{�3���J�D�I�I�a�b�M�J�J�D��T�$�'�'�D�7�T�>�:�;�;��7�7�b�j�j� ��J��	�	�J�J�H��T�$�'�'�8�4�5�5��7�7�r�v�v�r�x�x�(�(��T�$�'�'�4�9�9�+?�+?��+L�M�N�N��7�7�b�m�m�#�#�y�y��C��u��?�?�;�/�D��$�$�[�1�E��T�$�'�'�C��u�+=�>�?�?�!�$:�4�7�7�)�2�d�X�"N�O�O��'6s�Uc184�n^^^�T"U/TQ70TD6nUbU$UR[R[R[R[R1854;aU$UR[R[R[R[R4;a>[[UR[UUU4SjUR5555$UR[R[R4;a�0nURR!5HXupgUR""T/TQ70TD6n[%U[5(aUR""T/TQ70TD6OUnXe;aXVU-nXuU'MZ [[URU55$UR[R&La�URSn[%U[5(aUR""T/TQ70TD6OUn	[UUU4SjURS55n186URSR!5VVs0sHupgXgR""T/TQ70TD6_M nnn[[URX�U455$UR[R(La�URSn[%U[5(aUR""T/TQ70TD6OUn[UUU4SjURSS55n[[URU4U-55$UR[R*[R,4;a=[[URURR""T/TQ70TD655$UR[R.La\URup�nUR""T/TQ70TD6nUR""T/TQ70TD6n[[URX�U455$[1SUR35es snnf)	aTraverse expression tree with visit function.187 188The visit function is applied to an expression with given args189and kwargs.190 191Traverse call returns an expression returned by visit when not192None, otherwise return a new normalized expression with193traverse-visit sub-expressions.194Nc3�P># �UHnUR"T/TQ70TD6v� M g7frz��traverse)r�r�r�r��visits  ���rr�� Expr.traverse.<locals>.<genexpr>�s+����1'�%�D��
�
�e�5�d�5�f�5�%���#&rc3�P># �UHnUR"T/TQ70TD6v� M g7frzre)r��operandr�r�rgs  ���rr�rh�s-����:�,8��%�-�-�e�E�d�E�f�E�,8�rir	r195c3�P># �UHnUR"T/TQ70TD6v� M g7frzre)r�rDr�r�rgs  ���rr�rh�s+����8�)6��"�N�N�5�B�4�B�6�B�)6�riztraverse method for )r�rr$r%r'r)r&r(r-r*rrr�r�r/r0r�rfr�r+r,r1r2r.r�)rUrgr�r��resultr�r}r~�objr`ra�196kwoperands�indicesr�r�r�s ```            rrf�
Expr.traverse�s�����t�-�d�-�f�-�����M��7�7�r�z�z�2�7�7�B�I�I�r�y�y�A�A��K�
�W�W����R�X�X�r�y�y�"�*�*�E�
E��T�$�'�'�5�1'� �I�I�1'�,'�(�)�
)��W�W����2�:�:�.�
.��D��	�	���)����J�J�u�6�t�6�v�6��"�1�d�+�+��Z�Z��7��7��7�12���9���!��A��Q��
*��T�$�'�'�4�0�1�1�
�W�W����
 ��)�)�A�,�C�!�#�t�,�,��L�L��8��8��8�25�
��:�,0�I�I�a�L�:�:�H�+/�)�)�A�,�*<�*<�*>�@�*>�$�!��Z�Z��?��?��?�?�*>�
�@��T�$�'�'�D�J�+G�H�I�I�
�W�W����
#��)�)�A�,�C� ��d�+�+��<�<��7��7��7�14�
��8�)-���1�2��8�8�G��T�$�'�'�C�6�G�+;�<�=�=�
�W�W�������*�
*��T�$�'�'�"&�)�)�"4�"4�U�"L�T�"L�V�"L�N�O�
O�
�W�W��
�
�
%�#�y�y��C�u��=�=��8��8��8�D��N�N�5�:�4�:�6�:�E��T�$�'�'�C�u�+=�>�?�?�!�$8����	�"B�C�C��%@s�"P1c�X^�/nU4U4SjjnURU5 [U5S:g$)z&Check if self contains other.197        c�J>�U(aU$UT:XaURS5 U$g)Nr	)r�)�expr�foundr�s  �rrg�Expr.contains.<locals>.visit�s'������������Q����rr)rfr�)rUr�rurgs `  r�contains�
Expr.contains�s.�����#�	�	
�
�
�e���5�z�Q��rc�H�[5nU4SjnURU5 U$)z3Return a set of symbols contained in self.198        c�b�UR[RLaURU5 ggrz)r�rr)�add)rtrus  rrg�Expr.symbols.<locals>.visit�s"���w�w�"�)�)�#��	�	�$��$r��setrf�rUrurgs   r�symbols�Expr.symbols�s&�����#�	 �	
�
�
�e���rc�P^�[5nU4U4SjjmURT5 U$)zFReturn a set of expressions used as atoms in polynomial self.199        c��>�UR[RLa&URHnUR	T5 M U$UR[R200[R4;agUR[RLaf[URS[5(aDURS[RLa#URSSR	T5 U$gUR[R[R4;aU$URU5 UR[R[R4;aU$g�Nrr	)r�rr0r�rfr/r&r+r�rZrcr$r%r{r,)rtru�brgs   �rrg�$Expr.polynomial_atoms.<locals>.visit�s�����w�w�"�*�*�$����A��J�J�u�%�#����w�w�2�8�8�R�Z�Z�0�0���w�w�"�(�(�"�z�$�)�)�A�,��'H�'H��9�9�Q�<�7�;�;�.��I�I�a�L��O�,�,�U�3��K���w�w�2�:�:�r�w�w�/�/����I�I�d�O��w�w�2�;�;����1�1���2rr}rs  @r�polynomial_atoms�Expr.polynomial_atoms�s'������#�	�(	
�
�
�e���rc���URU[S505nX-201nURU[S505n[XA-U-2025upVU[S5:wa[SUSUSUSUSU32035eXB4$)zqReturn a, b such that a * symbol + b == self.204 205If self is not linear with respect to symbol, raise RuntimeError.206rr	znot a z-linear equation: r�r�z == )rNr��as_numer_denom�RuntimeError)rU�symbolr��axr��zeror�s       r�linear_solve�Expr.linear_solves���207
�O�O�V�Y�q�\�2�3��
�X���M�M�6�9�Q�<�0�1�� ���b��1����9�Q�<�����x�0#�#$�#�S����A�3�d�4�&� B�C�
C��t�r)r�r�N),rr
rrr�staticmethodrrr�r�r�r�r�r�r�r�r�r�rjrxrrVrrrrrrr'r*r/r2r6r9r<r@rErNrfrwr�r�r�rrrrrr�s����208�"�*�*�0��0�209@�D-�210%�
�B�7�6�B��*4���"�*�*�O�b���8�211��212'�R�213�.����F�2�IP�V6D�p� ��:rc	�:�[U[5(dU$UR[RLGa0nUR214R
5H�up#US:XaM
UR[RLaUS:waX#-nSnUR[RLa3UR215R
5HupE[XXS-5 M M�[XU5 M� [U5S:Xa[S5$[U5S:XaUR
5uup#US:XaU$[[RU5$UR[RLGaaSn0nUR216R
5GHJupxUS:XaMUR[RLa'[U[5(aUS:�aXwUS-217--nSnUR[R[R4;aCUS:XaXgR218S-nM�US:�aXgR219SU--nM�[XU5 M�UR[RLa^US:�aI[U[5(a4UR220R
5Hup�[XX�-5 M GM/[XU5 GM>[XU5 GMM [U5S:XdUS:Xa"[U[5(de[U5$[U5S:XaZUR
5uupxUS:XaUnO[[RU5nUS:XaU$[[RX&05$US:Xa[[RU5$[[R[[RU5U05$UR[R LGa�UR221S["R$LGa�UR222Sup�['U5upE['U5up�[U[5(a([U[5(a[)X^5nX_-X�-p�OX^-Sp�UR[R LahUR223S["R$LaHUR224SSU-nUR225SSU
-U-n[+["R$UU5$U
R[R LahU
R226S["R$LaHU
R227SSU-U-nU
R228SSU-n[+["R$UU5$[-[/U5R2295n[/U
5R230R
5Hupx[XU*5 M 00nnUR
5HupxUS:�aUUU'MU*UU'M [1[[RU55U-n[1[[RU55U-nUR[R[R4;aUR231SS:XaU$[+["R$UU5$UR[R2LGaCUR232S/nUR233SSH�nUSnUR[R4La�UR[R4La�UR234SSS;a�UR235SSUR236SS:XaZ[7UR237SSSUR238SSS-[9UR239SUR240S55nUUS'M�UR;U5 M� [U5S:XaUS$[[R2[=U55$UR[R>Lap[A[0UR2415unnnUR[RLaUR242S(aU$U$[[R>UUU45$U$)z7Normalize Expr and apply basic evaluation methods.243    rr	Nrz"')!r�rr�rr/r�r�r&r�r�r�r0�
integer_typesr$r%rr+rZrb�
as_term_coeffrr-r�r"rr-r'�	as_stringr244r�r�r*r?)rnr|�trr#r$r�r��e�b1�e1�dividend�divisorr%r&�gr�r��lstrO�last�new_lastr�r�r�s                         rrrs����c�4� � ��245�246�v�v��������H�H�N�N�$�D�A��A�v���t�t�r�z�z�!�a�1�f��E�����t�t�r�x�x���f�f�l�l�n�F�B��q�b�f�-�-��1��#�%��q�6�Q�;��Q�<��
��V�q�[��g�g�i�G�F�Q��A�v����B�H�H�a� � �247�v�v����������H�H�N�N�$�D�A��A�v���t�t�r�x�x��J�q�-�$@�$@�Q��U��q�1�u��&�����t�t��248�249�B�G�G�,�,���6��V�V�A�Y�&�E���U��V�V�A�Y�!�^�+�E��q�Q�'�������#��q�5�Z��=�9�9�"#�&�&�,�,�.���"�1�"�&�1�#1��q�Q�'��1��#�-%�.�q�6�Q�;�%�1�*��e�\�2�2�2�2��U�#�#�
��V�q�[��g�g�i�G�F�Q��A�v�������Q�'����z�������1�*�-�-�
�a�Z���250�251�A�&�&�����4��252�253�A�#6��">�?�?�254�v�v�����c�h�h�q�k�W�[�[�8��H�H�Q�K����x�(����w�'����b�-�(�(�Z��M�-J�-J��B��A��W�b�g���W�a��
�5�5�B�H�H�������w�{�{�!:��G�G�A�J�q�M�B�&�E��G�G�A�J�q�M�B�&��+�E��G�K�K���6�6�
�5�5�B�H�H�������w�{�{�!:��G�G�A�J�q�M�B�&��+�E��G�G�A�J�q�M�B�&�E��G�K�K���6�6���B��$�$�%���r�N�'�'�-�-�/�D�A��q�a�R� �0��2�u���G�G�I�D�A��1�u���a���2��a��	�255�$�r�z�z�5�1�2�R�7���$�r�z�z�5�1�2�R�7���8�8��256�257�B�G�G�,�,����A��!�1C��L�����U�E�2�2�258�v�v������x�x��{�m�����!�"��A��r�7�D��G�G�r�y�y�(�����	�	�)��	�	�!��Q��5�0����q�	�!���	�	�!��R�(8�8�$�T�Y�Y�q�\�#�2�%6������1�2��%F�%(����1��q�v�v�a�y�%A�C��"��B���259�260�1�
���s�8�q�=��q�6�M��B�I�I�u�S�z�*�*�261�v�v����� ��C�H�H�5���e�U��7�7�b�j�j� � �I�I�a�L�5�3�e�3��B�J�J��u�e� 4�5�5��Jrc�^�[U[5(a [URUR5$[U[2625(a[
U5$[U[5(a[[U55$[U[5(a[[[U55$U$)z.Convert non-Expr objects to Expr objects.263    )
r��complexr�real�imagrr�r�r��reprr�r?r	�rns rr	r	�s���#�w����#�(�(�C�H�H�-�-��#�|�$�$���~���#�s�����c��#�#��#�u����S��#�&�'�'��Jrc�6�[[RU5$)zJReturn object as SYMBOL expression (variable or unparsed expression).264    )rrr)r�s r�	as_symbolr��s����	�	�3��rc�j�[U[5(a[[RX45$[U[2655(a[[RX45$[U[5(a0UR[R[R4;aU$[SUS35e)z/Return object as INTEGER or REAL constant.266    �cannot convert z to INTEGER or REAL constant)	r�r�rrr$r�r%r�re�rnrs  rr�r��s����#�s����B�J�J���,�,��#�u����B�G�G�c�[�)�)��#�t����6�6�b�j�j�"�'�'�*�*��J�267�O�C�5�(D�E�268F�Frc���[U[5(a[[RX45$[U[5(aUR269[RLaU$[
SUS35e)z'Return object as INTEGER constant.270    r�z to INTEGER constant)r�r�rrr$r�rer�s  r�271as_integerr��s[���#�s����B�J�J���,�,��#�t����6�6�R�Z�Z���J�272�O�C�5�(<�=�273>�>rc���[U[5(a%[[R[U5U45$[U[2745(a[[RX45$[U[5(anUR[RLaU$UR[RLa2[[R[URS5U45$[SUS35e)z$Return object as REAL constant.275    rr�z to REAL constant)276r�r�rrr%r�r�r$r�rer�s  rr
r
�s����#�s����B�G�G�e�C�j�$�/�0�0��#�u����B�G�G�c�[�)�)��#�t����6�6�R�W�W���J�
�V�V�r�z�z�
!�����%������"4�d�!;�<�<�277�O�C�5�(9�:�278;�;rc�8�[[RX45$)zBReturn object as STRING expression (string literal constant).279    )rrr'r�s  rr�r��s����	�	�C�;�'�'rc�f�[U[5(aU4n[[RU5$)z8Return object as ARRAY expression (array constant).280    )r�rrr(r�s rr\r\�s)���#�t����d������#��rc�^�[[R[U5[U545$)zDReturn object as COMPLEX expression (complex literal constant).281    )rrr&r	)r�r�s  rrr�s"����282�283�W�T�]�G�D�M�:�;�;rc
���[[RU[[	[284U55UR
5VVs0sHup4U[U5_M snn45$s snnf)zIReturn object as APPLY expression (function call, constructor, etc.)285    )rrr+r�r?r	r�)r`r�r�r}r~s     rr-r-�sR�������u�S��$�/�0�,2�L�L�N�;�N�D�A�!�W�Q�Z�-�N�;�=�>�>��;s�A"c�:�[[RXU45$)z<Return object as TERNARY expression (cond?expr1:expr2).286    )rrr*)r�r�r�s   r�287as_ternaryr��s����288�289�T�%�0�1�1rc�6�[[RU5$)z-Return object as referencing expression.290    )rrr1�rts r�as_refr��s��������rc�6�[[RU5$)z/Return object as dereferencing expression.291    )rrr2r�s r�as_derefr�s������$��rc�V�[[R[RX45$rz)rrr.r4rG�r�r�s  r�as_eqr�292�����
�
����$�6�7�7rc�V�[[R[RX45$rz)rrr.r4rHr�s  r�as_ner�r�rc�V�[[R[RX45$rz)rrr.r4rIr�s  r�as_ltr�r�rc�V�[[R[RX45$rz)rrr.r4rJr�s  r�as_ler�r�rc�V�[[R[RX45$rz)rrr.r4rKr�s  r�as_gtr�r�rc�V�[[R[RX45$rz)rrr.r4rLr�s  r�as_ger�r�rc�^�[U[5(Ga[U5nUR[R293LaU$UR[RLa@[[R294[SURS5URS05$UR[RLa@[[R295[SURS5URS05$[[R296US05$[S[U5S35e)z+Return expression as TERMS expression.297    r	rr�� to terms Expr)
r�rrr�rr/r$r�r�r%r
rer�r�s rrr"s����#�t�����n���6�6�R�X�X���J��6�6�R�Z�Z������:�a����!��#=�s�x�x��{�"K�L�L��6�6�R�W�W������7�1�c�h�h�q�k�#:�C�H�H�Q�K�"H�I�I��B�H�H�s�A�h�'�'�298�O�D��I�;�n�=�299>�>rc�V�[U[5(Ga|[U5nUR[R300LaU$UR[RLa�[UR5S:XaqURR5uupUS:Xa[[R301US05$[[R302US[RU5S05$UR[RLarURS[RLaRURS(d>[[R303URSSSURSSS05$[[R304US05$[S[U5S35e)z-Return expression as FACTORS expression.305    r	rr306rr�r�)r�rrr�rr0r/r�r�r��numberr+rZrbrer�)rnr�r�s   rr"r"1s0���#�t�����n���6�6�R�Z�Z���J��6�6�R�X�X���3�8�8�}��!�!$�����!1��
���A�:���307�308�T�1�I�6�6��B�J�J��q�$�+�+�e�2D�a�(H�I�I��F�F�b�h�h�����!�����+��X�X�a�[���309�310�S�X�X�a�[��^�Q������A���$K�L�L��B�J�J��a��)�)�311�O�D��I�;�n�=�312>�>rc�J�[U[5(Gav[U5nUR[R313La([
SURS5URS4$UR[RLa([SURS5URS4$UR[RLa:[UR5S:Xa!URR5uupX4$UR[RLaiURS[RLaI[!URSS5up4[#[RX0RSS5U4$US4$[%S['U5S35e)z0Return expression as term-coefficient pair.314    r	rr�z to term and coeff)r�rrr�rr$r�r�r%r
r/r�r�r+rZrbr�r-rer�)rnr�r�r�rs     rr�r�Fs9���#�t�����n���6�6�R�Z�Z���a����!��-�s�x�x��{�:�:��6�6�R�W�W���1�c�h�h�q�k�*�C�H�H�Q�K�7�7��6�6�R�X�X���3�8�8�}��!�!$�����!1��
���{�"��6�6�R�X�X��#�(�(�1�+����"<� ����!��Q��0�D�A��G�K�K��H�H�Q�K��N�;�Q�>�>��A�v�
�315�O�D��I�;�.@�A�316B�Brc���[U[5(Ga�[U5nUR[R317[R[R[R[R[R4;a
U[S54$UR[RLavURS[RLaIURS(d5[!["URS5upUSUS-USUS-4$U[S54$UR[R$LGa318//p!URR'5H8up4[#U5upVXT-nUR)U5 UR)U5 M: [S5[S5p�[+[-U55H;n	Xn[+[-U55Hn319X�:wdM320XRU321-nM Xu-
nX�U	-nM= UR[R322[R4;aURSS:aU*U*p�Xx4$UR[R.Lav[S5[S5p�URR'5H@up�[#U5up�US:�aX}U--nX�U--nM(US:dM0X~U*--nX�U*--nMB Xx4$[1S[3U5S35e)z+Return expression as numer-denom pair.323    r	rr324r�z to numer and denom)r�rrr�rr$r%r&r)r,r*r�r+r�rZrbr?r�r/r�r�r�r�r0rer�)rn�numers�denomsr�r��nr|r�r��i�jr�r��bnumer�bdenoms               rr�r�[sw���#�t�����n���6�6�b�j�j�"�'�'�2�:�:�r�y�y��k�k�2�:�:�/�/��	�!��$�$�
�V�V�r�x�x�
��x�x��{�g�k�k�)�#�(�(�1�+�!$�^�S�X�X�a�[�!A����a�y�6�!�9�,�f�Q�i�&��)�.C�C�C��	�!��$�$�
�V�V�r�x�x�
���F�"�x�x�~�~�/���%�d�+����I���
�
�a� ��
�
�a� �	 0�325%�Q�<��1��5��3�v�;�'���I���s�6�{�+�A��v��A�Y���,��326�����"��
(��x�x�B�J�J����0�0�U�Z�Z��]�Q�5F� %�v��v�u��<��
�V�V�r�z�z�
!�$�Q�<��1��5������(���!/��!2����q�5��q�[�(�E��q�[�(�E���U����^�+�E����^�+�E�)��<��327�O�D��I�;�.A�B�328C�Crc#�&# �SnUS-
nUv� M7fr�r)�counters r�_counterr��s ����G�329��1����
��s�c�^�0mU4Sjn[R"SRSSSS9X5nSU;deSU;deUT4$)	z_Replace quoted substrings of input string.330 331Return a new string and a mapping of replacements.332c�>�UR5SSupU(aUSSnSSS.USnUSUS[R5S	3nUTU'U$)333Nr334r�SINGLE�DOUBLE)�'�"rz@__f2py_QUOTES_r��@)r[�COUNTER�__next__)r]rr��pr}r|s     �r�repl�eliminate_quotes.<locals>.repl�sg����h�h�j��!�n�������9�D���*�5��8�4���f�O�A�3�a��(8�(8�(:�';�1�=����!���rz+({kind}_|)({single_quoted}|{double_quoted})z335\w[\w\d_]*z('([^'\\]|(\\.))*')z("([^"\\]|(\\.))*"))r�
single_quoted�
double_quotedr�r�)rY�sub�format)rOr��new_sr|s   @r�eliminate_quotesr��sh���336	�A��
�F�F�A�H�H�
�,�,�I�.�	
�	
�E��e�����e�����!�8�Orc��UR5H9up#USURS5nU(aUS-
nURX$U-5nM; U$)z!Inverse of eliminate_quotes.337    Nr�r�)r��find�replace)rOr|r}r~rs     r�
insert_quotesr��sN�����	�����!�&�&��+�����C�K�D�
�I�I�a���"��	�338
�Hrc��Sup[U5nSH)upEURU5nUS:XaMXc:dM%UnXEp!M+ UcU04$UnURX&5nUS:Xa[SX-SU<35eURXS-U5URX&S-U5:wa\URX'S-5nUS:Xa[SX-SU<35eURXS-U5URX&S-U5:waM\SS	S339SS.UnS
US[R5S3n	X[U5-Un340[
X[U5-S5up�X�U	'USUU	-U-U4$)zrReplace substrings of input that are enclosed in parenthesis.341 342Return a new string and a mapping of replacements.343)NN))�(/�/)z()z{}z[]rNzMismatch of z parenthesis in r	rKrJ�CURLYrI)r�r��{r��@__f2py_PARENTHESIS_r�r�)r�r��344ValueError�countr�r��replace_parenthesis)
rOr�r��mn_i�left_�right_r�r�r�r}r~r�r|s
             rr�r��s����K�D��q�6�D� �
��
�F�F�5�M����7���8��D��%� ��|��"�u���A�	���u��A��B�w��<���~�5E�a�U�K�L�L�345�'�'�$�A��q�346!�Q�W�W�U��E�1�%=�347=�
�F�F�5�a�%� ����7��|�D�L�>�9I�!��O�P�P��'�'�$�A��q�348!�Q�W�W�U��E�1�%=�349=�350�H�7�*�E�d�K�A�351�q�c��7�#3�#3�#5�"6�a�8�A�	�c�$�i�-���A��q�S��Z���1�2�D�A��a�D��R�a�5�1�9�q�=�!��rc�d�URS5(dU5eURS5S$)Nr�r�r7)�352startswith�split)rOs r�_get_parenthesis_kindr��s/���<�<�.�/�/�2��2�/��7�7�3�<��?�rc��UR5H;up#[U5nSSSSS.UnSSSS	S.UnURX%U-U-5nM= U$)353z$Inverse of replace_parenthesis.354    r�r�r�r�)rKrJr�rIr�r��}r�)r�r�r�)rOr|r}r~r�r�r�s       r�unreplace_parenthesisr��sd�����	���!�!�$����c�t�L�Q�O����s��M�a�P��
�I�I�a���E�)�*��	�355
�Hrc��[US9RU5n[U[5(aU$[	SUSUS35e)z�Create an expression from a string.356 357This is a "lazy" parser, that is, only arithmetic operations are358resolved, non-arithmetic operations are treated as symbols.359r�zfailed to parse `z` to Expr instance: got `rC)�_FromStringWorkerr�r�rr�)rOrPr�s   rrQrQ�sG��	�8�,�2�2�1�5�A��!�T�����360�(���+D�Q�C�q�I�361J�Jrc�&�\rSrSrSrSrSrSrg)�_Pairic��XlX lgrzr�)rUr�r�s   rr��_Pair.__init__s���	��362rc���URURp2[U[5(aUR	U5n[U[5(aUR	U5n[X#5$rz)r�r�r�rrNr)rUrPr�r�s    rrN�_Pair.substitutesT���i�i����e��d�D�!�!��?�?�;�/�D��e�T�"�"��$�$�[�1�E��T�!�!rc�f�[U5RSURSURS3$r�)r�rr�r�r�s rr��_Pair.__repr__s.���t�*�%�%�&�a��	�	�{�"�T�Z�Z�L��B�Brr�N)rr
rrr�rNr�rrrrrrs���"�Crrc�J�\rSrSr\R3634SjrSrSrSSjr	Sr364g)	ric�,�SUlSUlXlgrz)�original�365quotes_maprPrTs  rr��_FromStringWorker.__init__s����
���� �
rc�,�[XR5$rz)r�r
)rUrOs  r�finalize_string�!_FromStringWorker.finalize_strings���Q���0�0rc�T�Xl[U5uo lURU5$rz)rr�r
�process)rU�inp�unquoteds   rr��_FromStringWorker.parse!s%���
�$4�S�$9�!��/��|�|�H�%�%rc	�^^^^�[U[[45(a[U5"UU4SjU55$[U[5(d[U5U45e[U5unmUR
5nUU4SjmSU;atT"URS55nTS:Xa[TRU55$TS:Xa&[U5S:Xa[TRU56$[STSU35e[R"S	U5nU(aeTS:XdT5eT"UR55upgnTRU5nTRU5nTRU5n[XgU5$TR ["R$La'[R"S366U[R&5nO[R"SU5nU(a�UR5up�nTR ["R$LaSU367-S-n368TRT"X�455up�[(R+U369TR S
9n370[-[.R0X�U45$[R"SU5nU(a5UR5up�T"U
5n
[3UTRU
55$[R"SU5n[U5S:�a�TRT"US=(d S55n[5USSS2USSS25HGunnTRT"U55nUR
5nUS:XaUU-
nM:US:XdeUU-nMI U$TR ["R$LaOSU;aIT"URS55n[-[.R6[TRU555$[R"STR ["R8LaUOUR;SS55n[U5S:�a�T"U5nTR ["R8La"UVs/sHnUR;SS5PM nnTRUS5n[5USSS2USSS25HAunnTRU5nUR
5nUS:XaUU-nM4US:XdeUU-nMC U$UR=S5(aM[.R>[.R@S.USnTRT"USS55n[-UU5$TR ["R8LagSU;aa[[CT"URS5555nTRUS5nUSSHnTRU5nUU-nM U$[R"SRESSS 9U5nU(aYUR5un
nnU(a URG5(a[IU5n[K[IU
5U=(d S!5$[R"S"RES#S$SS%9U5nU(a�UR5un
 nnU(a URG5(a[IU5nU
RM5n
S&U
;a.[O[QU
R;S&S'55U=(d S(5$[O[QU
5U=(d S!5$UTRR;a6USURUS)5n[WTRRUU=(d S5$UT;at[YU5nTRT"TU5US*:XaSOS5nUS*:Xa[U[,5(aU$US+;a#[U[,5(aU4n[[U5$[R"S,U5nU(a�UR5unnnTRT"U55nTRT"U5SS-S5n[U[5(dU4nUS*:Xa_UVs0sH1n[U[25(dMUR\UR^_M3 nn[S.U55n[aU/UQ70UD6$US/:XdeUU$[R"S0U5nU(a[cU5$TReT"U55n[gS1U<S2TRhS335 [cU5$s snfs snf)4a|Parse string within the given context.371 372The context may define the result in case of ambiguous373expressions. For instance, consider expressions `f(x, y)` and374`(x, y) + (a, b)` where `f` is a function and pair `(x, y)`375denotes complex number. Specifying context as "args" or376"expr", the subexpression `(x, y)` will be parse to an377argument list or to a complex number, respectively.378c3�H># �UHnTRUT5v� M g7frz)r)r��s_�contextrUs  ��rr��,_FromStringWorker.process.<locals>.<genexpr>1s����A�q��4�<�<��G�4�4�q�s�"c�>�[U[[45(a[U5"[	TU55$[UT5$rz)r��listr�r�r?r�)r��raw_symbols_map�restores ��rr�*_FromStringWorker.process.<locals>.restore9s6����!�d�E�]�+�+��A�w�s�7�A��/�/�(��O�<�<r�,r�rtr379z&parsing comma-separated list (context=z): z\A([^?]+)[?]([^:]+)[:](.+)\Zz+\A(.+)\s*[.](eq|ne|lt|le|gt|ge)[.]\s*(.+)\Zz7\A(.+)\s*([=][=]|[!][=]|[<][=]|[<]|[>][=]|[>])\s*(.+)\Z�.r�z\A(\w[\w\d_]*)\s*[=](.*)\Zz((?<!\d[edED])[+-])r	rr�N�+r�z//z(?<=[@\w\d_])\s*([*]|/)z**z@__f2py_DOUBLE_STAR@r�r�)r�r�z\A({digit_string})({kind}|)\Zz\d+z_(\d+|\w[\w\d_]*))�digit_stringrr7z7\A({significant}({exponent}|)|\d+{exponent})({kind}|)\Zz[.]\d+|\d+[.]\d*z[edED][+-]?\d+)�significantr.rr|r��r�rKrHz4\A(.+)\s*(@__f2py_PARENTHESIS_(ROUND|SQUARE)_\d+@)\Zrc3�T# �UHn[U[5(aMUv� M  g7frz)r�r)r�r�s  rr�r�s���I��1�J�q�%�4H�Q�Q��s�(�	(rJz\A\w[\w\d_]*\Zzfromstring: treating z as symbol (original=r�)5r�rr�r�r�r��stripr�rr�rr�rYrZr[r�rPrr�Ir4rQrrr.r�zipr-rr�r�r2r1�reversedr��isdigitr�r�rMr
r�r
r�r�r�r\r�r�r-r�rr�r)rUrOrr�rar]�operr�r�r�r�r��keynamer�rmr�rkr�rr^r�r_r�r�r�rrs` `                      @@rr�_FromStringWorker.process&sO����a�$���'�'���7�A�q�A�A�A��!�S�!�!�/�D��G�Q�<�/�!�1��3���?�
�G�G�I��	=��!�8��q�w�w�s�|�,�H��&� ��T�\�\�(�3�4�4��&� ��x�=�A�%�%�t�|�|�H�'=�>�>�%�8��	��Q�C�H�J�
J�
�H�H�4�a�8����f�$�-�g�-�$�!(�����!4��D���<�<��%�D��L�L��'�E��L�L��'�E��d�5�1�1��=�=�H�,�,�,����>��2�4�4�I�A����J�A�O�A�� �x�x�z��D�u��}�}�� 0� 0�0��C�i�#�o���,�,�w��}�'=�>�K�D��"�"�3����"�?�C���
�
��5�'9�:�:�
�H�H�2�A�6����X�X�Z�N�G��E�N�E���$�,�,�u�"5�6�6��8�8�2�A�6���x�=�1���\�\�'�(�1�+�*<��"=�>�F�"�8�A�D�q�D�>�8�A�D�q�D�>�B���G��,�,�w�w�'7�8���X�X�Z����9��g�%�F���9�$�9��g�%�F� C��M��=�=�H�,�,�,�����q�w�w�t�}�-�H���	�	��d�l�l�8�4�5�7�
7��8�8�6�"&�-�-�8�:�:�"=�Q�"#�)�)�D�2H�"I�L���x�=�1���x�(�H��}�}�H�J�J�.�+3�5�+3��$�O�O�,B�D�I�+3��5��\�\�(�1�+�.�F�"�8�A�D�q�D�>�8�A�D�q�D�>�B���G��,�,�w�/���X�X�Z����9��g�%�F���9�$�9��g�%�F� C��M�
�<�<�380�#�#��x�x�b�f�f�-�a��d�3�B��l�l�7�1�Q�R�5�>�2�G���G�$�$��=�=��381�382�*�t�q�y��H�W�Q�W�W�T�]�%;�<�=�H��\�\�(�1�+�.�F�#�A�B�<���,�,�w�/�� �F�*��(��M�
�H�H�5�<�<��%�=�'�()�
+��
��X�X�Z�N�E�1�d��������4�y���c�%�j�$�)�!�4�4�
�H�H�O��f�%8�"3�2��4�67�	
8��383
� !���384��E�1�a���������4�y���K�K�M�E��e�|��u�U�]�]�3��%<�=�t�y�q�I�I��5��<����3�3�
������\�a�f�f�S�k�?�D��T�_�_�Q�/����;�;�
���)�!�,�E��L�L����);�!<�+0�G�+;���I�E�����e�T�*�*� �L��.�.��e�T�*�*�"�H�E����&�
�H�H�L��
���"#�(�(�*��F�D�%��\�\�'�&�/�2�F��<�<���
�a�� 3�V�<�D��d�E�*�*��u�����37�7�4�a�!+�A�u�!5�*�!�&�&�!�'�'�/�4��7��I��I�I����8��8��8�8���(�(�(��d�|�#�
�H�H�&��*����Q�<��
� � ����,��
�#�A�5�(=�d�m�m�_�A�N�	P���|���Q5��h7s�d<�,e�	e)rPrr
Nr�)rr
rrrrr�rr�rrrrrrrs�� (�385�386�!�3871�&�388Hrr)r7)r	)r):r�__all__rYr��enumr�mathrrrr4rZ�	Exceptionrerjr�r�r�rr��UserWarningr�r�rrr	r�r�r�r
r�r\rr-r�r�r�r�r�r�r�r�r�rr"r�r�r�r�r�r�r�r�r�rrQrrrrr�<module>r5sf���4�(��389����390�t�391����*5�D�5�<392�d�393�	�i�	����&��
��U�|��394�	�+�	�6�v	�v	�rF�R
�  �395G�?�<�(��<�>�2�� �8�8�8�8�8�8�?�?�*C�**D�Z��*���:
�*�Z�396
�$�:�:�	K�C�C�&W�Wr
codekingpro/portable-devtools · Team Ai