
    Vhw                    L   d Z ddlmZ ddlZddlZddlZddlmZmZ ddl	m
Z
 erddlmZ g dZ ed	      Z e
ej                  d
      dd       Z e
ej                   d
      dd       Z e
ej"                  d
      ddd       Z e
ej$                  d
      ddd       Zy)z
Python polyfills for builtins
    )annotationsN)TYPE_CHECKINGTypeVar   )substitute_in_graph)Iterable)allany	enumeratesum_TT)can_constant_fold_throughc                   | D ]  }|r y y)NFT iterableelems     P/home/dcms/DCMS/lib/python3.12/site-packages/torch/_dynamo/polyfills/builtins.pyr	   r	      s          c                   | D ]  }|s y y)NTFr   r   s     r   r
   r
   &   s      r   )is_embedded_typec              #     K   t        |t              s!t        t        |      j                  d      | D ]  }||f |dz  } y w)Nz+ object cannot be interpreted as an integer   )
isinstanceint	TypeErrortype__name__)r   startxs      r   r   r   .   sV     eS!E{##&&QR
 	
  Qh
s   AAc               L    t        j                  t        j                  | |      S )N)	functoolsreduceoperatoradd)r   r   s     r   r   r   :   s    HLL(E::r   )r   zIterable[object]returnbool)r   )r   Iterable[_T]r   r   r&   zIterable[tuple[int, _T]])r   r   r   r(   r&   r   )__doc__
__future__r   builtinsr"   r$   typingr   r   
decoratorsr   collections.abcr   __all__r   r	   r
   r   r   r   r   r   <module>r0      s    #    ) , ( T] X\\TB C X\\TB C X''$? @ X\\TB; C;r   