
    ΅i                     |   S r SSKJr  SSKJrJr  SSKr " S S\5      r0 \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,                  S_\R.                  S_rS\S\S\R4                  4S jrS\R8                  S\\\   -  S\4S jrS\R>                  S\\\   -  S\4S jr g)a  
This file contains canonical definitions for our symbol naming conventions,
across torch.fx.experimental.symbolic_shapes and torch._inductor.  The
intention is:

1. To make it easily greppable where all the sites we use a prefix are
2. Make it possible to easily tell if we can introduce a new prefix without
   introducing a conflict

You can occasionally test if prefixes have been hardcoded by renaming prefixes
in this file and seeing what breaks.
    )Iterable)autoEnumNc                       \ rS rSr\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r	\" 5       r
\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       rSrg)SymT    N)__name__
__module____qualname____firstlineno__r   SIZEFLOATUNBACKED_INTUNBACKED_FLOATTMPINDIRECTPRECOMPUTED_SIZEINDEXR0_INDEXR1_INDEXTEMPLATE_INDEXXBLOCKYBLOCKZBLOCKVIEWHALIDE__static_attributes__r	       S/home/james-whalen/.local/lib/python3.13/site-packages/torch/utils/_sympy/symbol.pyr   r      s}    6DFE6LVN &CvH v FE vHvH
 VNVFVFVF6DVFr   r   suzfzuftmppsir0_r1_idxxyzindirectviewhprefixreturnc                 F    [         R                  " [        U     U 340 UD6$ N)sympySymbol
prefix_str)r1   r*   kwargss      r    make_symbolr9   S   s%    <<:f-.se4???r   symc                 &   [        U [        R                  5      (       d  [        S5      eU R                  R                  5       n[        U[        5      (       a  UR                  [        U   5      $ UR                  [        S U 5       5      5      $ )Nzexpected sympy.Symbolc              3   4   #    U  H  n[         U   v   M     g 7fr4   )r7   ).0ps     r    	<genexpr>!symbol_is_type.<locals>.<genexpr>a   s     (G1As   )

isinstancer5   r6   AssertionErrornamelowerr   
startswithr7   tuple)r:   r1   name_strs      r    symbol_is_typerH   Z   sn    c5<<((455xx~~H&$"":f#566""5(G(G#GHHr   ec                 B   ^ [        U4S jU R                   5       5      $ )Nc              3   <   >#    U  H  n[        UT5      v   M     g 7fr4   )rH   )r=   vr1   s     r    r?   &free_symbol_is_type.<locals>.<genexpr>e   s     A.Q~a((.s   )anyfree_symbols)rI   r1   s    `r    free_symbol_is_typerP   d   s    A!..AAAr   )!__doc__collections.abcr   enumr   r   r5   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r7   intr6   r9   BasicboolrH   ExprrP   r	   r   r    <module>rX      s   %  "4 "NIIss 	JJ 	 	HHe 	4 	JJ 	MM5 	MM5 	 	KK 	KK  	KK!" 	MM:#$ 	IIv%& 	KK'
.@ @3 @U\\ @I ITHTN-B It IB5:: Bthtn/D B Br   