§
    Ì²Åji7  ã                   ó$  — d dl Z d dlZd dlmZ d dlZd dlZd dlmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ  G d„ d¦  «        Z G d„ de¦  «        Z G d„ d	e¦  «        Zd
ej        dej        dej        fd„Z G d„ d¦  «        Z dS )é    N)ÚUnion)Ú_keep_floatÚBitwiseFn_bitwise_andÚBitwiseFn_bitwise_orÚFloatPowÚFloatTrueDivÚFloorDivÚ
IntTrueDivÚMaxÚMinÚModÚOpaqueUnaryFn_expÚOpaqueUnaryFn_logÚOpaqueUnaryFn_log2ÚOpaqueUnaryFn_sqrtÚPowByNaturalÚRoundDecimalÚ
RoundToIntÚToFloatÚ
TruncToIntc                   ó”  — e Zd Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Z	ed„ ¦   «         Z
ed„ ¦   «         Zed„ ¦   «         Zed	„ ¦   «         Zed
„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Z ed„ ¦   «         Z!ed„ ¦   «         Z"ed„ ¦   «         Z#ed „ ¦   «         Z$ed!„ ¦   «         Z%ed"„ ¦   «         Z&ed#„ ¦   «         Z'ed$„ ¦   «         Z(ed%„ ¦   «         Z)ed&„ ¦   «         Z*ed'„ ¦   «         Z+ed(„ ¦   «         Z,ed)„ ¦   «         Z-d*S )+ÚReferenceAnalysisc                 ó*   — t          j        | ¦  «        S ©N)ÚsympyÚsympify©ÚcÚdtypes     úMC:\Projects\Historical\venv\Lib\site-packages\torch/utils/_sympy/reference.pyÚconstantzReferenceAnalysis.constant'   ó   € åŒ}˜QÑÔÐó    c                 ó   — | |z  S r   © ©ÚaÚbs     r    Úor_zReferenceAnalysis.or_+   ó   € à�1‰uˆr#   c                 ó   — | |z  S r   r%   r&   s     r    Úand_zReferenceAnalysis.and_/   r*   r#   c                 ó    — t          | t          j        ¦  «        st          |t          j        ¦  «        rt          j        | |¦  «        S | |k    S r   )Ú
isinstancer   ÚExprÚEqr&   s     r    ÚeqzReferenceAnalysis.eq3   sB   € å�a�œÑ$Ô$ð 	"­
°1µe´jÑ(AÔ(Að 	"Ý”8˜A˜q‘>”>Ð!Ø�AŠvˆr#   c                 óT   — |                       |                      ||¦  «        ¦  «        S r   )Únot_r1   ©Úclsr'   r(   s      r    ÚnezReferenceAnalysis.ne9   s    € à�xŠx˜Ÿš˜q !™œÑ%Ô%Ð%r#   c                 ó   — | |k     S r   r%   r&   s     r    ÚltzReferenceAnalysis.lt=   ó   € à�1Šuˆr#   c                 ó   — | |k    S r   r%   r&   s     r    ÚgtzReferenceAnalysis.gtA   r9   r#   c                 ó   — | |k    S r   r%   r&   s     r    ÚlezReferenceAnalysis.leE   ó   € à�AŠvˆr#   c                 ó   — | |k    S r   r%   r&   s     r    ÚgezReferenceAnalysis.geI   r>   r#   c                 ó6   — t          | t          ¦  «        rJ ‚|  S r   )r.   Úbool©r'   s    r    r3   zReferenceAnalysis.not_M   s   € å˜a¥Ñ&Ô&Ð&Ð&Ð&Øˆrˆ	r#   c                 ó"   — t          d| ¦  «        S )Ng      ð?©r   ©Úxs    r    Ú
reciprocalzReferenceAnalysis.reciprocalR   s   € å˜C Ñ#Ô#Ð#r#   c                 ó"   — t          | d¦  «        S )Né   ©r   rF   s    r    ÚsquarezReferenceAnalysis.squareV   ó   € å˜A˜qÑ!Ô!Ð!r#   c                 ó    — t          | ¦  «        S r   )r   ©rG   r   s     r    Útrunc_to_intzReferenceAnalysis.trunc_to_intZ   ó   € å˜!‰}Œ}Ðr#   c                 ó*   — t          j        | ¦  «        S r   )r   ÚceilingrO   s     r    Úceil_to_intzReferenceAnalysis.ceil_to_int^   r"   r#   c                 ó*   — t          j        | ¦  «        S r   )r   ÚfloorrO   s     r    Úfloor_to_intzReferenceAnalysis.floor_to_intb   s   € åŒ{˜1‰~Œ~Ðr#   c                 óF   —  t          t          j        ¦  «        | ¦  «        S r   )r   r   rV   rF   s    r    rV   zReferenceAnalysis.floorf   s   € à'�{�5œ;Ñ'Ô'¨Ñ*Ô*Ð*r#   c                 óF   —  t          t          j        ¦  «        | ¦  «        S r   )r   r   rS   rF   s    r    ÚceilzReferenceAnalysis.ceilj   s   € à)�{�5œ=Ñ)Ô)¨!Ñ,Ô,Ð,r#   c                 óf   — |t           j        k    rt          | ¦  «        S t          d|› d�¦  «        ‚©Nz	to_dtype z NYI)ÚtorchÚfloat64r   ÚNotImplementedErrorrO   s     r    Úto_dtypezReferenceAnalysis.to_dtypen   s5   € à•E”MÒ!Ð!Ý˜1‘:”:ÐÝ!Ð"9¨eÐ"9Ð"9Ð"9Ñ:Ô:Ð:r#   c                 ó"   — t          | |¦  «        S r   )r   ©rG   Úys     r    ÚmodzReferenceAnalysis.modt   ó   € å�1�a‰yŒyÐr#   c                 ó    — t          | ¦  «        S r   )ÚabsrF   s    r    rg   zReferenceAnalysis.absx   s   € å�1‰vŒvˆr#   c                 ó   — |  S r   r%   rF   s    r    ÚnegzReferenceAnalysis.neg|   s	   € àˆrˆ	r#   c                 ó"   — t          | |¦  «        S r   rE   r&   s     r    ÚtruedivzReferenceAnalysis.truediv€   rM   r#   c                 ó"   — t          | |¦  «        S r   )r
   r&   s     r    Úint_truedivzReferenceAnalysis.int_truediv„   s   € å˜!˜QÑÔÐr#   c                 ó"   — t          | |¦  «        S r   )r	   r&   s     r    ÚfloordivzReferenceAnalysis.floordivˆ   s   € å˜˜1‰~Œ~Ðr#   c                 ó    — t          d¦  «        ‚)NzTODO: truncdiv©r_   r&   s     r    ÚtruncdivzReferenceAnalysis.truncdivŒ   s   € å!Ð"2Ñ3Ô3Ð3r#   c                 óH   —  t          t          j        ¦  «        | |¦  «        S r   )r   ÚoperatorÚaddr&   s     r    ru   zReferenceAnalysis.add�   ó   € à(�{�8œ<Ñ(Ô(¨¨AÑ.Ô.Ð.r#   c                 ó   — t          j        |Ž S r   )r   ÚAdd)r5   Úargss     r    Úsym_sumzReferenceAnalysis.sym_sum”   s   € åŒy˜$ÐÐr#   c                 óH   —  t          t          j        ¦  «        | |¦  «        S r   )r   rt   Úmulr&   s     r    r|   zReferenceAnalysis.mul˜   rv   r#   c                 óH   —  t          t          j        ¦  «        | |¦  «        S r   )r   rt   Úsubr&   s     r    r~   zReferenceAnalysis.subœ   rv   r#   c                 ó    — t          | ¦  «        S r   )r   rF   s    r    ÚexpzReferenceAnalysis.exp    ó   € å  Ñ#Ô#Ð#r#   c                 ó    — t          | ¦  «        S r   )r   rF   s    r    ÚlogzReferenceAnalysis.log¤   r�   r#   c                 ó    — t          | ¦  «        S r   )r   rF   s    r    Úlog2zReferenceAnalysis.log2¨   ó   € å! !Ñ$Ô$Ð$r#   c                 ó    — t          | ¦  «        S r   )r   rF   s    r    ÚsqrtzReferenceAnalysis.sqrt¬   r†   r#   c                 ó>   —  t          t          ¦  «        | |¦  «        S r   )r   r   r&   s     r    ÚpowzReferenceAnalysis.pow°   s   € à$�{�8Ñ$Ô$ Q¨Ñ*Ô*Ð*r#   c                 ó"   — t          | |¦  «        S r   rK   r&   s     r    Úpow_by_naturalz ReferenceAnalysis.pow_by_natural´   rM   r#   c                 ó"   — t          | |¦  «        S r   )r   r&   s     r    ÚminimumzReferenceAnalysis.minimum¸   re   r#   c                 ó"   — t          | |¦  «        S r   )r   r&   s     r    ÚmaximumzReferenceAnalysis.maximum¼   re   r#   c                 ó    — t          | ¦  «        S r   )r   ©r'   r   s     r    Úround_to_intzReferenceAnalysis.round_to_intÀ   rQ   r#   c                 ó"   — t          | |¦  «        S r   )r   r&   s     r    Úround_decimalzReferenceAnalysis.round_decimalÄ   rM   r#   c                 ó"   — t          | |¦  «        S r   )r   r&   s     r    Úbitwise_andzReferenceAnalysis.bitwise_andÈ   s   € å$ Q¨Ñ*Ô*Ð*r#   c                 ó"   — t          | |¦  «        S r   )r   r&   s     r    Ú
bitwise_orzReferenceAnalysis.bitwise_orÌ   s   € å# A qÑ)Ô)Ð)r#   N).Ú__name__Ú
__module__Ú__qualname__Ústaticmethodr!   r)   r,   r1   Úclassmethodr6   r8   r;   r=   r@   r3   rH   rL   rP   rT   rW   rV   rZ   r`   rd   rg   ri   rk   rm   ro   rr   ru   rz   r|   r~   r€   rƒ   r…   rˆ   rŠ   rŒ   rŽ   r�   r“   r•   r—   r™   r%   r#   r    r   r   &   se  € € € € € Øð ð  ñ „\ð ð ðð ñ „\ðð ðð ñ „\ðð ðð ñ „\ðð
 ð&ð &ñ „[ð&ð ðð ñ „\ðð ðð ñ „\ðð ðð ñ „\ðð ðð ñ „\ðð ðð ñ „\ðð ð$ð $ñ „\ð$ð ð"ð "ñ „\ð"ð ðð ñ „\ðð ð ð  ñ „\ð ð ðð ñ „\ðð ð+ð +ñ „\ð+ð ð-ð -ñ „\ð-ð ð;ð ;ñ „\ð;ð
 ðð ñ „\ðð ðð ñ „\ðð ðð ñ „\ðð ð"ð "ñ „\ð"ð ð ð  ñ „\ð ð ðð ñ „\ðð ð4ð 4ñ „\ð4ð ð/ð /ñ „\ð/ð ð ð  ñ „[ð ð ð/ð /ñ „\ð/ð ð/ð /ñ „\ð/ð ð$ð $ñ „\ð$ð ð$ð $ñ „\ð$ð ð%ð %ñ „\ð%ð ð%ð %ñ „\ð%ð ð+ð +ñ „\ð+ð ð"ð "ñ „\ð"ð ðð ñ „\ðð ðð ñ „\ðð ðð ñ „\ðð ð"ð "ñ „\ð"ð ð+ð +ñ „\ð+ð ð*ð *ñ „\ð*ð *ð *r#   r   c                   ó  — e Zd Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Z	ed„ ¦   «         Z
ed„ ¦   «         Zed„ ¦   «         Zed	„ ¦   «         Zed
„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         ZdS )ÚPythonReferenceAnalysisc                 óÔ   — |t           j        u rt          | ¦  «        S |t           j        u rt	          | ¦  «        S |t           j        u rt          | ¦  «        S t          d|› �¦  «        ‚)Núunrecognized dtype )r]   Úint64ÚintÚdoubleÚfloatrB   ÚAssertionErrorr   s     r    r!   z PythonReferenceAnalysis.constantÕ   sa   € à•E”KÐÐÝ�q‘6”6ˆMØ•e”lÐ"Ð"Ý˜‘8”8ˆOØ•e”jÐ Ð Ý˜‘7”7ˆNå Ð!>°uÐ!>Ð!>Ñ?Ô?Ð?r#   c                 ó*   — t          j        | ¦  «        S r   )r]   Úsym_notrC   s    r    r3   zPythonReferenceAnalysis.not_à   r"   r#   c                 ó"  — t          |¦  «        dk    rdS t          |¦  «        dk    r|d         S |                      |d         |d         ¦  «        }t          dt          |¦  «        ¦  «        D ]}|                      |||         ¦  «        }Œ|S )Nr   é   rJ   )Úlenru   Úrange)r5   ry   ÚaccÚis       r    rz   zPythonReferenceAnalysis.sym_sumä   s†   € åˆt‰9Œ9˜Š>ˆ>Ø�1Ýˆt‰9Œ9˜Š>ˆ>Ø˜”7ˆNØ�gŠg�d˜1”g˜t AœwÑ'Ô'ˆÝ�q�#˜d™)œ)Ñ$Ô$ð 	(ð 	(ˆAØ—'’'˜#˜t AœwÑ'Ô'ˆCˆCØˆ
r#   c                 ó   — | |z  S r   r%   r&   s     r    ro   z PythonReferenceAnalysis.floordivï   s   € à�A‰vˆr#   c                 ó   — | |z  S r   r%   rb   s     r    rd   zPythonReferenceAnalysis.modó   r*   r#   c                 ó   — | |z  S r   r%   r&   s     r    rr   z PythonReferenceAnalysis.truncdiv÷   r*   r#   c                 óp   — |t           j        k    rt          j        | ¦  «        S t          d|› d�¦  «        ‚r\   )r]   r^   Ú	sym_floatr_   rO   s     r    r`   z PythonReferenceAnalysis.to_dtypeû   s9   € à•E”MÒ!Ð!Ý”? 1Ñ%Ô%Ð%Ý!Ð"9¨eÐ"9Ð"9Ð"9Ñ:Ô:Ð:r#   c                 ó    — t          d¦  «        ‚)Nz!exp is not valid shape sympy expr©r§   rF   s    r    r€   zPythonReferenceAnalysis.exp  ó   € åÐ@ÑAÔAÐAr#   c                 ó    — t          d¦  «        ‚)Nz!log is not valid shape sympy exprr¶   rF   s    r    rƒ   zPythonReferenceAnalysis.log  r·   r#   c                 ó*   — t          j        | ¦  «        S r   )r]   Ú	_sym_log2rF   s    r    r…   zPythonReferenceAnalysis.log2	  ó   € åŒ˜qÑ!Ô!Ð!r#   c                 ó*   — t          j        | ¦  «        S r   )r]   Ú	_sym_sqrtrF   s    r    rˆ   zPythonReferenceAnalysis.sqrt  r»   r#   c                 ó,   — t          j        | |¦  «        S r   )r]   Úsym_minr&   s     r    rŽ   zPythonReferenceAnalysis.minimum  ó   € åŒ}˜Q Ñ"Ô"Ð"r#   c                 ó,   — t          j        | |¦  «        S r   )r]   Úsym_maxr&   s     r    r�   zPythonReferenceAnalysis.maximum  rÀ   r#   c                 ó*   — t          j        | ¦  «        S r   )ÚmathrV   rO   s     r    rW   z$PythonReferenceAnalysis.floor_to_int  s   € åŒz˜!‰}Œ}Ðr#   c                 ó*   — t          j        | ¦  «        S r   )rÄ   rZ   rO   s     r    rT   z#PythonReferenceAnalysis.ceil_to_int  s   € åŒy˜‰|Œ|Ðr#   c                 óD   — t          t          j        | ¦  «        ¦  «        S r   )r¦   rÄ   rV   rF   s    r    rV   zPythonReferenceAnalysis.floor!  s   € å•T”Z ‘]”]Ñ#Ô#Ð#r#   c                 óD   — t          t          j        | ¦  «        ¦  «        S r   )r¦   rÄ   rZ   rF   s    r    rZ   zPythonReferenceAnalysis.ceil%  s   € å•T”Y˜q‘\”\Ñ"Ô"Ð"r#   c                 ó   — | |z  S r   r%   r&   s     r    rk   zPythonReferenceAnalysis.truediv)  r*   r#   c                 ó   — | |z  S r   r%   r&   s     r    rŠ   zPythonReferenceAnalysis.pow-  s   € à�!‰tˆr#   c                 ó   — | |z  S r   r%   r&   s     r    rŒ   z&PythonReferenceAnalysis.pow_by_natural1  s   € ð
 �!‰tˆr#   c                 ó    — t          | ¦  «        S r   ©Úroundr’   s     r    r“   z$PythonReferenceAnalysis.round_to_int8  s   € å�Q‰xŒxˆr#   c                 ó$   — t          | |¬¦  «        S )N)ÚndigitsrÌ   r&   s     r    r•   z%PythonReferenceAnalysis.round_decimal<  s   € å�Q Ð"Ñ"Ô"Ð"r#   c                 ó   — | |z  S r   r%   r&   s     r    r—   z#PythonReferenceAnalysis.bitwise_and@  r*   r#   c                 ó   — | |z  S r   r%   r&   s     r    r™   z"PythonReferenceAnalysis.bitwise_orD  r*   r#   N)rš   r›   rœ   r�   r!   r3   rž   rz   ro   rd   rr   r`   r€   rƒ   r…   rˆ   rŽ   r�   rW   rT   rV   rZ   rk   rŠ   rŒ   r“   r•   r—   r™   r%   r#   r    r    r    Ô   s£  € € € € € Øð@ð @ñ „\ð@ð ð ð  ñ „\ð ð ðð ñ „[ðð ðð ñ „\ðð ðð ñ „\ðð ðð ñ „\ðð ð;ð ;ñ „\ð;ð
 ðBð Bñ „\ðBð ðBð Bñ „\ðBð ð"ð "ñ „\ð"ð ð"ð "ñ „\ð"ð ð#ð #ñ „\ð#ð ð#ð #ñ „\ð#ð ðð ñ „\ðð ðð ñ „\ðð ð$ð $ñ „\ð$ð ð#ð #ñ „\ð#ð ðð ñ „\ðð ðð ñ „\ðð ðð ñ „\ðð ðð ñ „\ðð ð#ð #ñ „\ð#ð ðð ñ „\ðð ðð ñ „\ðð ð r#   r    c                   ó$   — e Zd Zed„ ¦   «         ZdS )Ú OptimizedPythonReferenceAnalysisc                 ó*   — t          j        | ¦  «        S r   )r]   rz   )ry   s    r    rz   z(OptimizedPythonReferenceAnalysis.sym_sumL  s   € åŒ}˜TÑ"Ô"Ð"r#   N)rš   r›   rœ   r�   rz   r%   r#   r    rÓ   rÓ   K  s-   € € € € € Øð#ð #ñ „\ð#ð #ð #r#   rÓ   rG   r   Úreturnc                 óV   — t           j        j        j                             | |¦  «        S r   )r]   ÚopsÚprimsÚconvert_element_typeÚdefaultrO   s     r    Ú	_to_dtyperÛ   Q  s   € ÝŒ9Œ?Ô/×7Ò7¸¸5ÑAÔAÐAr#   c                   óD  — e Zd Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Z	e
d„ ¦   «         Zed„ ¦   «         Zed	„ ¦   «         Zed
„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Z ed„ ¦   «         Z!ed„ ¦   «         Z"ed„ ¦   «         Z#ed „ ¦   «         Z$ed!„ ¦   «         Z%ed"„ ¦   «         Z&ed#„ ¦   «         Z'ed$„ ¦   «         Z(ed%„ ¦   «         Z)ed&„ ¦   «         Z*ed'„ ¦   «         Z+ed(„ ¦   «         Z,ed)„ ¦   «         Z-ed*„ ¦   «         Z.ed+„ ¦   «         Z/ed,„ ¦   «         Z0ed-„ ¦   «         Z1ed.„ ¦   «         Z2ed/„ ¦   «         Z3ed0„ ¦   «         Z4ed1„ ¦   «         Z5d2S )3ÚTensorReferenceAnalysisc                 ó0  — |t           j        u rt          | ¦  «        }nN|t           j        u rt	          | ¦  «        }n0|t           j        u rt          | ¦  «        }nt          d|› �¦  «        ‚t           j        j        j	         
                    ||¬¦  «        S )Nr¢   )r   )r]   r£   r¤   r¥   r¦   rB   r§   r×   ÚatenÚscalar_tensorrÚ   )r   r   Úds      r    r!   z TensorReferenceAnalysis.constantf  s‰   € ð •E”KÐÐÝ�A‘”ˆAˆAØ•e”lÐ"Ð"Ý�a‘”ˆAˆAØ•e”jÐ Ð Ý�Q‘”ˆAˆAå Ð!>°uÐ!>Ð!>Ñ?Ô?Ð?ÝŒyŒ~Ô+×3Ò3°A¸UÐ3ÑCÔCÐCr#   c                 óV   — t           j        j        j                             | |¦  «        S r   )r]   r×   rß   Ú
logical_orrÚ   r&   s     r    r)   zTensorReferenceAnalysis.or_s  s   € åŒyŒ~Ô(×0Ò0°°AÑ6Ô6Ð6r#   c                 óV   — t           j        j        j                             | |¦  «        S r   )r]   r×   rß   Úlogical_andrÚ   r&   s     r    r,   zTensorReferenceAnalysis.and_w  s   € åŒyŒ~Ô)×1Ò1°!°QÑ7Ô7Ð7r#   c                 óL   — t           j        j                             | |¦  «        S r   )r]   r×   rß   r—   r&   s     r    r—   z#TensorReferenceAnalysis.bitwise_and{  s   € åŒyŒ~×)Ò)¨!¨QÑ/Ô/Ð/r#   c                 óL   — t           j        j                             | |¦  «        S r   )r]   r×   rß   r™   r&   s     r    r™   z"TensorReferenceAnalysis.bitwise_or  s   € åŒyŒ~×(Ò(¨¨AÑ.Ô.Ð.r#   c                 óV   — t           j        j        j                             | |¦  «        S r   )r]   r×   rß   r1   ÚTensorr&   s     r    r1   zTensorReferenceAnalysis.eqƒ  ó   € åŒyŒ~Ô ×'Ò'¨¨1Ñ-Ô-Ð-r#   c                 óV   — t           j        j        j                             ||¦  «        S r   )r]   r×   rß   r6   ré   r4   s      r    r6   zTensorReferenceAnalysis.ne‡  rê   r#   c                 óV   — t           j        j        j                             | |¦  «        S r   )r]   r×   rß   r8   ré   r&   s     r    r8   zTensorReferenceAnalysis.lt‹  rê   r#   c                 óV   — t           j        j        j                             | |¦  «        S r   )r]   r×   rß   r;   ré   r&   s     r    r;   zTensorReferenceAnalysis.gt�  rê   r#   c                 óV   — t           j        j        j                             | |¦  «        S r   )r]   r×   rß   r=   ré   r&   s     r    r=   zTensorReferenceAnalysis.le“  rê   r#   c                 óV   — t           j        j        j                             | |¦  «        S r   )r]   r×   rß   r@   ré   r&   s     r    r@   zTensorReferenceAnalysis.ge—  rê   r#   c                 óT   — t           j        j        j                             | ¦  «        S r   )r]   r×   rß   Úlogical_notrÚ   rC   s    r    r3   zTensorReferenceAnalysis.not_›  s   € åŒyŒ~Ô)×1Ò1°!Ñ4Ô4Ð4r#   c                 óT   — t           j        j        j                             | ¦  «        S r   )r]   r×   rß   rH   rÚ   rF   s    r    rH   z"TensorReferenceAnalysis.reciprocalŸ  s   € åŒyŒ~Ô(×0Ò0°Ñ3Ô3Ð3r#   c                 óT   — t           j        j        j                             | ¦  «        S r   )r]   r×   rß   rL   rÚ   rF   s    r    rL   zTensorReferenceAnalysis.square£  s   € õ ŒyŒ~Ô$×,Ò,¨QÑ/Ô/Ð/r#   c                 óp   — t          t          j        j        j                             | ¦  «        |¦  «        S r   )rÛ   r]   r×   rß   ÚtruncrÚ   rO   s     r    rP   z$TensorReferenceAnalysis.trunc_to_int¨  ó'   € å�œœÔ-×5Ò5°aÑ8Ô8¸%Ñ@Ô@Ð@r#   c                 óp   — t          t          j        j        j                             | ¦  «        |¦  «        S r   )rÛ   r]   r×   rß   rZ   rÚ   rO   s     r    rT   z#TensorReferenceAnalysis.ceil_to_int¬  s'   € å�œœÔ,×4Ò4°QÑ7Ô7¸Ñ?Ô?Ð?r#   c                 óp   — t          t          j        j        j                             | ¦  «        |¦  «        S r   )rÛ   r]   r×   rß   rV   rÚ   rO   s     r    rW   z$TensorReferenceAnalysis.floor_to_int°  rö   r#   c                 óT   — t           j        j        j                             | ¦  «        S r   )r]   r×   rß   rV   rÚ   rF   s    r    rV   zTensorReferenceAnalysis.floor´  ó   € åŒyŒ~Ô#×+Ò+¨AÑ.Ô.Ð.r#   c                 óT   — t           j        j        j                             | ¦  «        S r   )r]   r×   rß   rZ   rÚ   rF   s    r    rZ   zTensorReferenceAnalysis.ceil¸  ó   € åŒyŒ~Ô"×*Ò*¨1Ñ-Ô-Ð-r#   c                 ó"   — t          | |¦  «        S r   )rÛ   rO   s     r    r`   z TensorReferenceAnalysis.to_dtype¼  s   € å˜˜EÑ"Ô"Ð"r#   c                 ó    — t          d¦  «        ‚)Nz8no C-style modulus operation available from frontend atmrq   rb   s     r    rd   zTensorReferenceAnalysis.modÀ  s   € õ "ØFñ
ô 
ð 	
r#   c                 óT   — t           j        j        j                             | ¦  «        S r   )r]   r×   rß   rg   rÚ   rF   s    r    rg   zTensorReferenceAnalysis.absÇ  ó   € åŒyŒ~Ô!×)Ò)¨!Ñ,Ô,Ð,r#   c                 óT   — t           j        j        j                             | ¦  «        S r   )r]   r×   rß   ri   rÚ   rF   s    r    ri   zTensorReferenceAnalysis.negË  r   r#   c                 óV   — t           j        j        j                             | |¦  «        S r   )r]   r×   rß   Útrue_divideré   r&   s     r    rk   zTensorReferenceAnalysis.truedivÏ  s   € åŒyŒ~Ô)×0Ò0°°AÑ6Ô6Ð6r#   c                 ó    — t          d¦  «        ‚)Nz8Python int truediv difficult to implement in PyTorch atm)r_   r]   r×   rß   r  rÚ   rÛ   r^   r&   s     r    rm   z#TensorReferenceAnalysis.int_truedivÓ  ó   € å!ØFñ
ô 
ð 	
r#   c                 óZ   — t           j        j        j                             | |d¬¦  «        S )NrV   )Úrounding_mode)r]   r×   rß   ÚdivÚTensor_moder&   s     r    ro   z TensorReferenceAnalysis.floordivà  s$   € åŒyŒ~Ô!×-Ò-¨a°À'Ð-ÑJÔJÐJr#   c                 ó    — t          d¦  «        ‚)Nz9no C-style truncdiv operation available from frontend atmrq   r&   s     r    rr   z TensorReferenceAnalysis.truncdivä  s   € å!ØGñ
ô 
ð 	
r#   c                 óV   — t           j        j        j                             | |¦  «        S r   )r]   r×   rß   ru   ré   r&   s     r    ru   zTensorReferenceAnalysis.addê  ó   € åŒyŒ~Ô!×(Ò(¨¨AÑ.Ô.Ð.r#   c                 óV   — t           j        j        j                             | |¦  «        S r   )r]   r×   rß   r|   ré   r&   s     r    r|   zTensorReferenceAnalysis.mulî  r  r#   c                 óV   — t           j        j        j                             | |¦  «        S r   )r]   r×   rß   r~   ré   r&   s     r    r~   zTensorReferenceAnalysis.subò  r  r#   c                 óT   — t           j        j        j                             | ¦  «        S r   )r]   r×   rß   r€   rÚ   rF   s    r    r€   zTensorReferenceAnalysis.expö  r   r#   c                 óT   — t           j        j        j                             | ¦  «        S r   )r]   r×   rß   rƒ   rÚ   rF   s    r    rƒ   zTensorReferenceAnalysis.logú  r   r#   c                 óT   — t           j        j        j                             | ¦  «        S r   )r]   r×   rß   r…   rÚ   rF   s    r    r…   zTensorReferenceAnalysis.log2þ  rü   r#   c                 óT   — t           j        j        j                             | ¦  «        S r   )r]   r×   rß   rˆ   rÚ   rF   s    r    rˆ   zTensorReferenceAnalysis.sqrt  rü   r#   c                 óT   — t           j        j        j                             | ¦  «        S r   )r]   r×   rß   ÚsinrÚ   rF   s    r    r  zTensorReferenceAnalysis.sin  r   r#   c                 óT   — t           j        j        j                             | ¦  «        S r   )r]   r×   rß   ÚcosrÚ   rF   s    r    r  zTensorReferenceAnalysis.cos
  r   r#   c                 óT   — t           j        j        j                             | ¦  «        S r   )r]   r×   rß   ÚtanhrÚ   rF   s    r    r  zTensorReferenceAnalysis.tanh  rü   r#   c                 óT   — t           j        j        j                             | ¦  «        S r   )r]   r×   rß   ÚsinhrÚ   rF   s    r    r  zTensorReferenceAnalysis.sinh  rü   r#   c                 óT   — t           j        j        j                             | ¦  «        S r   )r]   r×   rß   ÚcoshrÚ   rF   s    r    r  zTensorReferenceAnalysis.cosh  rü   r#   c                 óT   — t           j        j        j                             | ¦  «        S r   )r]   r×   rß   ÚtanrÚ   rF   s    r    r  zTensorReferenceAnalysis.tan  r   r#   c                 óT   — t           j        j        j                             | ¦  «        S r   )r]   r×   rß   ÚacosrÚ   rF   s    r    r   zTensorReferenceAnalysis.acos  rü   r#   c                 óT   — t           j        j        j                             | ¦  «        S r   )r]   r×   rß   ÚatanrÚ   rF   s    r    r"  zTensorReferenceAnalysis.atan"  rü   r#   c                 óT   — t           j        j        j                             | ¦  «        S r   )r]   r×   rß   ÚasinrÚ   rF   s    r    r$  zTensorReferenceAnalysis.asin&  rü   r#   c                 óV   — t           j        j        j                             | |¦  «        S r   ©r]   r×   rß   rŠ   ÚTensor_Tensorr&   s     r    rŠ   zTensorReferenceAnalysis.pow*  s   € åŒyŒ~Ô!×/Ò/°°1Ñ5Ô5Ð5r#   c                 óV   — t           j        j        j                             | |¦  «        S r   r&  r&   s     r    rŒ   z&TensorReferenceAnalysis.pow_by_natural.  s!   € õ ŒyŒ~Ô!×/Ò/°°1Ñ5Ô5Ð5r#   c                 óV   — t           j        j        j                             | |¦  «        S r   )r]   r×   rß   rŽ   rÚ   r&   s     r    rŽ   zTensorReferenceAnalysis.minimum3  ó   € åŒyŒ~Ô%×-Ò-¨a°Ñ3Ô3Ð3r#   c                 óV   — t           j        j        j                             | |¦  «        S r   )r]   r×   rß   r�   rÚ   r&   s     r    r�   zTensorReferenceAnalysis.maximum7  r*  r#   c                 óT   — t           j        j        j                             | ¦  «        S r   )r]   r×   rß   rÍ   rÚ   r’   s     r    r“   z$TensorReferenceAnalysis.round_to_int;  rú   r#   c                 ó    — t          d¦  «        ‚)Nz8round decimal doesn't support Tensor second argument atmrq   r&   s     r    r•   z%TensorReferenceAnalysis.round_decimal?  r  r#   N)6rš   r›   rœ   r�   r!   r)   r,   r—   r™   r1   rž   r6   r8   r;   r=   r@   r3   rH   rL   rP   rT   rW   rV   rZ   r`   rd   rg   ri   rk   rm   ro   rr   ru   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Ý   c  sN  € € € € € ð ð
Dð 
Dñ „\ð
Dð ð7ð 7ñ „\ð7ð ð8ð 8ñ „\ð8ð ð0ð 0ñ „\ð0ð ð/ð /ñ „\ð/ð ð.ð .ñ „\ð.ð ð.ð .ñ „[ð.ð ð.ð .ñ „\ð.ð ð.ð .ñ „\ð.ð ð.ð .ñ „\ð.ð ð.ð .ñ „\ð.ð ð5ð 5ñ „\ð5ð ð4ð 4ñ „\ð4ð ð0ð 0ñ „\ð0ð ðAð Añ „\ðAð ð@ð @ñ „\ð@ð ðAð Añ „\ðAð ð/ð /ñ „\ð/ð ð.ð .ñ „\ð.ð ð#ð #ñ „\ð#ð ð
ð 
ñ „\ð
ð ð-ð -ñ „\ð-ð ð-ð -ñ „\ð-ð ð7ð 7ñ „\ð7ð ð

ð 

ñ „\ð

ð ðKð Kñ „\ðKð ð
ð 
ñ „\ð
ð
 ð/ð /ñ „\ð/ð ð/ð /ñ „\ð/ð ð/ð /ñ „\ð/ð ð-ð -ñ „\ð-ð ð-ð -ñ „\ð-ð ð.ð .ñ „\ð.ð ð.ð .ñ „\ð.ð ð-ð -ñ „\ð-ð ð-ð -ñ „\ð-ð ð.ð .ñ „\ð.ð ð.ð .ñ „\ð.ð ð.ð .ñ „\ð.ð ð-ð -ñ „\ð-ð ð.ð .ñ „\ð.ð ð.ð .ñ „\ð.ð ð.ð .ñ „\ð.ð ð6ð 6ñ „\ð6ð ð6ð 6ñ „\ð6ð ð4ð 4ñ „\ð4ð ð4ð 4ñ „\ð4ð ð/ð /ñ „\ð/ð ð
ð 
ñ „\ð
ð 
ð 
r#   rÝ   )!rÄ   rt   Útypingr   r   r]   Útorch.utils._sympy.functionsr   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    ú<module>r0     s  ðà €€€Ø €€€Ø Ð Ð Ð Ð Ð à €€€à €€€ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð:h*ð h*ð h*ð h*ð h*ñ h*ô h*ð h*ð\rð rð rð rð rÐ/ñ rô rð rðn#ð #ð #ð #ð #Ð'>ñ #ô #ð #ðB�”ð B e¤kð B°e´lð Bð Bð Bð Bð$`
ð `
ð `
ð `
ð `
ñ `
ô `
ð `
ð `
ð `
r#   