§
    �Åj%  ã                   ód   — d dl Z d dlmZ d dlmZmZmZ dZ G d„ d¦  «        Zd„ Z	d„ Z
d	„ Zd
„ ZdS )é    N)ÚEinopsError)ÚAnonymousAxisÚParsedExpressionÚ	_ellipsiszAlex Rogozhnikovc                   ó    — e Zd Zdefd„Zd„ ZdS )ÚAnonymousAxisPlaceholderÚvaluec                 óL   — || _         t          | j         t          ¦  «        sJ ‚d S ©N)r	   Ú
isinstanceÚint)Úselfr	   s     úJC:\Projects\Historical\venv\Lib\site-packages\einops/tests/test_parsing.pyÚ__init__z!AnonymousAxisPlaceholder.__init__
   s'   € ØˆŒ
Ý˜$œ*¥cÑ*Ô*Ð*Ð*Ð*Ð*Ð*ó    c                 óL   — t          |t          ¦  «        o| j        |j        k    S r   )r   r   r	   )r   Úothers     r   Ú__eq__zAnonymousAxisPlaceholder.__eq__   s    € Ý˜%¥Ñ/Ô/ÐM°D´JÀ%Ä+Ò4MÐMr   N)Ú__name__Ú
__module__Ú__qualname__r   r   r   © r   r   r   r   	   sC   € € € € € ð+˜cð +ð +ð +ð +ðNð Nð Nð Nð Nr   r   c                  óâ   — t          d¦  «        t          d¦  «        }} | |k    sJ ‚t          d¦  «        t          d¦  «        }}| |k    r||k    sJ ‚| |k    r||k    sJ ‚| d|g|d|gk    sJ ‚d S )NÚ2é   é   )r   r   )ÚaÚbÚcÚds       r   Útest_anonymous_axesr!      s‘   € Ý˜ÑÔ�}¨SÑ1Ô1€q€AØ�Š6ˆ6ˆ6ˆ6Ý# AÑ&Ô&Õ(@ÀÑ(CÔ(C€q€AØ�Š6ˆ6�a˜1’f�f�fÐØ�Š6ˆ6�a˜1’f�f�fÐØˆq�!ˆ9˜˜A˜q˜	Ò!Ð!Ð!Ð!Ð!Ð!r   c                  óŒ   — dD ]} t          j        | ¦  «        sJ ‚Œdddddddt          fD ]} t          j        | ¦  «        rJ ‚Œd S )	N)r   r   ÚhÚdxÚh1ÚzzÚi9123ÚsomelongnameÚAlexÚ	camelCaseÚu_n_d_e_r_scoreÚunreasonablyLongAxisNameÚ Ú2bÚ12Ú_startWithUnderscoreÚendWithUnderscore_Ú_z...)r   Úcheck_axis_namer   )Únames    r   Útest_elementary_axis_namer5      sw   € ðð 6ð 6ˆõ  Ô/°Ñ5Ô5Ð5Ð5Ð5Ð5à�T˜4Ð!7Ð9MÈsÐTYÕ[dÐeð :ð :ˆÝ#Ô3°DÑ9Ô9Ð9Ð9Ð9Ð9ð:ð :r   c                  óâ  — t          d¦  «         t          j        t          ¦  «        5  t          d¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          d¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          d¦  «         d d d ¦  «         n# 1 swxY w Y   t          d¦  «         t          j        t          ¦  «        5  t          d¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          d¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          d¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          d	¦  «         d d d ¦  «         n# 1 swxY w Y   t          d
¦  «         t          j        t          ¦  «        5  t          d¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          d¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          d¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz... a b c dz... a b c d ...z... a b c (d ...)z(... a) b c (d ...)z(a) b c (d ...)z(a)) b c (d ...)z(a b c (d ...)z(a) (()) b c (d ...)z(a) ((b c) (d ...))u&   camelCase under_scored cApiTaLs ÃŸ ...Ú1aÚ_prez...prezpre...)r   ÚpytestÚraisesr   r   r   r   Útest_invalid_expressionsr;   0   s9  € å�]Ñ#Ô#Ð#Ý	Œ•{Ñ	#Ô	#ð ,ð ,ÝÐ*Ñ+Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,å	Œ•{Ñ	#Ô	#ð .ð .ÝÐ,Ñ-Ô-Ð-ð.ð .ð .ñ .ô .ð .ð .ð .ð .ð .ð .øøøð .ð .ð .ð .å	Œ•{Ñ	#Ô	#ð 0ð 0ÝÐ.Ñ/Ô/Ð/ð0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0õ Ð&Ñ'Ô'Ð'Ý	Œ•{Ñ	#Ô	#ð -ð -ÝÐ+Ñ,Ô,Ð,ð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -å	Œ•{Ñ	#Ô	#ð +ð +ÝÐ)Ñ*Ô*Ð*ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +å	Œ•{Ñ	#Ô	#ð 1ð 1ÝÐ/Ñ0Ô0Ð0ð1ð 1ð 1ñ 1ô 1ð 1ð 1ð 1ð 1ð 1ð 1øøøð 1ð 1ð 1ð 1å	Œ•{Ñ	#Ô	#ð 0ð 0ÝÐ.Ñ/Ô/Ð/ð0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0õ Ð=Ñ>Ô>Ð>Ý	Œ•{Ñ	#Ô	#ð ð Ý˜ÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å	Œ•{Ñ	#Ô	#ð !ð !Ý˜Ñ Ô Ð ð!ð !ð !ñ !ô !ð !ð !ð !ð !ð !ð !øøøð !ð !ð !ð !å	Œ•{Ñ	#Ô	#ð #ð #Ý˜Ñ"Ô"Ð"ð#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #å	Œ•{Ñ	#Ô	#ð #ð #Ý˜Ñ"Ô"Ð"ð#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #ð #ð #sÅ   ©AÁA	ÁA	Á)BÂB	ÂB	Â)CÃC	ÃC	Ã8DÄDÄDÄ8EÅEÅEÅ8FÆFÆFÆ8GÇGÇGÈH#È#H'È*H'ÉI#É#I'É*I'ÊJ#Ê#J'Ê*J'ËK$Ë$K(Ë+K(c            	      óD  — t          d¦  «        } | j        h d£k    sJ ‚| j        dgdgdgdggk    sJ ‚| j        rJ ‚| j        rJ ‚t          d¦  «        } | j        t          ¦   «         k    sJ ‚| j        g g g g gk    sJ ‚| j        rJ ‚| j        rJ ‚t          d¦  «        } | j        t          ¦   «         k    sJ ‚| j        g g g g gk    sJ ‚| j        rJ ‚| j        rJ ‚t          }t          d	¦  «        } t          | j        ¦  «        d
k    rd„ | j        D ¦   «         h d£k    sJ ‚| j         |d¦  «        g |d
¦  «         |d¦  «        ggk    sJ ‚| j        sJ ‚| j        rJ ‚t          d¦  «        } t          | j        ¦  «        dk    rd„ | j        D ¦   «         ddhk    sJ ‚| j         |d¦  «        gg  |d¦  «        gg gk    sJ ‚t          d¦  «        } t          | j        ¦  «        dk    sJ ‚| j                             dt          ddh¦  «         
                    ¦   «         dk    sJ ‚| j        dgt          dg |d¦  «        gd |d¦  «        ggk    sJ ‚| j        sJ ‚| j        sJ ‚| j        rJ ‚t          d¦  «        } t          | j        ¦  «        dk    sJ ‚| j                             dt          ddh¦  «         
                    ¦   «         dk    sJ ‚| j        dt          d |d¦  «        gdg |d¦  «        ggk    sJ ‚| j        sJ ‚| j        sJ ‚| j        sJ ‚d S )Nza1  b1   c1    d1>   Úa1Úb1Úc1Úd1r=   r>   r?   r@   z() () () ()z1 1 1 ()z5 (3 4)r   c                 ó   — h | ]	}|j         ’Œ
S r   ©r	   ©Ú.0Úis     r   ú	<setcomp>z(test_parse_expression.<locals>.<setcomp>g   ó   € Ð,QÐ,QÐ,Q¸¨Q¬WÐ,QÐ,QÐ,Qr   >   r   é   é   rI   rH   z5 1 (1 4) 1r   c                 ó   — h | ]	}|j         ’Œ
S r   rB   rC   s     r   rF   z(test_parse_expression.<locals>.<setcomp>m   rG   r   zname1 ... a1 12 (name2 14)é   Úname1Úname2é   é   z(name1 ... a1 12) name2 14)r   ÚidentifiersÚcompositionÚhas_non_unitary_anonymous_axesÚhas_ellipsisÚsetr   ÚlenÚ
differencer   Ú__len__Úhas_ellipsis_parenthesized)ÚparsedÚaaps     r   Útest_parse_expressionr[   Q   só  € ÝÐ1Ñ2Ô2€FØÔÐ!9Ð!9Ð!9Ò9Ð9Ð9Ð9ØÔ 4 &¨4¨&°4°&¸4¸&Ð!AÒAÐAÐAÐAØÔ4Ð4Ð4Ð4ØÔ"Ð"Ð"Ð"å˜mÑ,Ô,€FØÔ¥¡¤Ò&Ð&Ð&Ð&ØÔ " b¨"¨bÐ!1Ò1Ð1Ð1Ð1ØÔ4Ð4Ð4Ð4ØÔ"Ð"Ð"Ð"å˜jÑ)Ô)€FØÔ¥¡¤Ò&Ð&Ð&Ð&ØÔ " b¨"¨bÐ!1Ò1Ð1Ð1Ð1ØÔ4Ð4Ð4Ð4ØÔ"Ð"Ð"Ð"å
"€Cå˜iÑ(Ô(€FÝˆvÔ!Ñ"Ô" aÒ'Ð'Ð,QÐ,Q¸fÔ>PÐ,QÑ,QÔ,QÐU^ÐU^ÐU^Ò,^Ð,^Ð,^Ð^ØÔ 3 3 q¡6¤6 (¨S¨S°©V¬V°S°S¸±V´VÐ,<Ð!=Ò=Ð=Ð=Ð=ØÔ0Ð0Ð0Ð0ØÔ"Ð"Ð"Ð"å˜mÑ,Ô,€FÝˆvÔ!Ñ"Ô" aÒ'Ð'Ð,QÐ,Q¸fÔ>PÐ,QÑ,QÔ,QÐVWÐYZÐU[Ò,[Ð,[Ð,[Ð[ØÔ 3 3 q¡6¤6 (¨B°°°Q±´°¸"Ð!=Ò=Ð=Ð=Ð=åÐ:Ñ;Ô;€FÝˆvÔ!Ñ"Ô" aÒ'Ð'Ð'Ð'ØÔ×(Ò(¨'µ9¸dÀGÐ)LÑMÔM×UÒUÑWÔWÐ[\Ò\Ð\Ð\Ð\ØÔ 7 )­Y¸¸ÀÀÀRÁÄÀ	ÈGÐUXÐUXÐY[ÑU\ÔU\ÐK]Ð!^Ò^Ð^Ð^Ð^ØÔ0Ð0Ð0Ð0ØÔÐÐÐØÔ0Ð0Ð0Ð0åÐ:Ñ;Ô;€FÝˆvÔ!Ñ"Ô" aÒ'Ð'Ð'Ð'ØÔ×(Ò(¨'µ9¸dÀGÐ)LÑMÔM×UÒUÑWÔWÐ[\Ò\Ð\Ð\Ð\ØÔ 7­I°t¸S¸SÀ¹W¼WÐ"EÈÀyÐSVÐSVÐWYÑSZÔSZÐR[Ð!\Ò\Ð\Ð\Ð\ØÔ0Ð0Ð0Ð0ØÔÐÐÐØÔ,Ð,Ð,Ð,Ð,Ð,r   )r9   Úeinopsr   Úeinops.parsingr   r   r   Ú
__author__r   r!   r5   r;   r[   r   r   r   ú<module>r_      sº   ðØ €€€à Ð Ð Ð Ð Ð Ø EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ Eà€
ðNð Nð Nð Nð Nñ Nô Nð Nð"ð "ð "ð:ð :ð :ð*#ð #ð #ðB--ð --ð --ð --ð --r   