
    bi                     J    S SK Jr  S SKJrJr  S SKJr  \ " S S5      5       rg)    )	dataclass)ListAny)validate_block_shapec                       \ rS rSr% \\S'   \\   \S'   \\   \S'   \\   \S'   Sr\	\S'   S r
\SS	\S\\   4S
 jj5       rSrg)TensorDescriptor   baseshapestridesblock_shapezeropaddingc                 ~   [        U R                  5      n[        U R                  5      U:X  d
   SU  35       e[        U R                  5      U:X  d
   SU  35       eUS:  d   S5       eUS::  d   S5       e[	        U R
                  5      nUR                  S;  a(  U R
                  R                  5       S-  S:X  d   S5       e[        U R                  5        U R
                  R                  R                  nU R                  S S	  H  nXC-  S-  S:X  a  M   S
5       e   U R                   H  nUS:  a  M   S5       e   U R                  S	   S:X  d   S5       eU R                  S:X  d  U R                  S:X  d   S5       eU R                  S:X  a-  U R
                  R                  R                  (       d   S5       eg g )Nzrank mismatch: r   zrank must not be zero   zrank cannot be more than 5)
FakeTensorFunctionalTensor   zbase must be 16-byte alignedzstrides must be 16-byte alignedzshape must be positive   z!Last dimension must be contiguousr   nanzIllegal value for paddingzAPadding option `nan` is only supported for floating point tensors)lenr   r   r   typer
   __name__data_ptrr   dtypeitemsizer   is_floating_point)selfrankty
elem_bytesstride	shape_dims         X/home/james-whalen/.local/lib/python3.13/site-packages/triton/tools/tensor_descriptor.py__post_init__TensorDescriptor.__post_init__   s   4::4<< D(BOD6*BB(4##$,Fv.FF,ax000xqy666y$))_;;@@99%%'",1Q3QQ1T--.YY__--
ll3B'F'2-2U4UU2 (Iq=:"::= $||B1$I&II$||v%)>[@[[><<5 99??44y6yy4 !    tensorc                 L    [        X R                  U R                  5       X5      $ )N)r   r   r#   )r)   r   r   s      r%   from_tensorTensorDescriptor.from_tensor"   s    fmmo{\\r(    N)r   )r   
__module____qualname____firstlineno__r   __annotations__r   intr   strr&   staticmethodr+   __static_attributes__r-   r(   r%   r   r      s_    
I9#YcGSz( ]C ]d3i ] ]r(   r   N)dataclassesr   typingr   r   triton._utilsr   r   r-   r(   r%   <module>r9      s*    !  . ] ] ]r(   