ó
    “~i…  ã                   ód   • S SK Jr  S SKJrJr  S SKJrJrJr  S SK	J
r
  S/r\ " S S5      5       rg)é    )Ú	dataclass)ÚListÚAny)Úvalidate_block_shapeÚcanonicalize_dtypeÚget_primitive_bitwidth)ÚNVMMASharedLayoutÚTensorDescriptorc                   ó˜   • \ rS rSr% \\S'   \\   \S'   \\   \S'   \\   \S'   \\S'   Sr	\
\S'   S	 r\SS
\S\\   S\4S jj5       rSrg)r
   é	   ÚbaseÚshapeÚstridesÚblock_shapeÚlayoutÚ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                  R                  5       S-  S:X  d   S5       e[        U R                  5        [        U R                  R                  5      n[        U5      S-  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                  [        5      (       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é   zbase must be 16-byte alignedé   éÿÿÿÿzstrides must be 16-byte alignedzshape must be positiveé   z!Last dimension must be contiguousz Layout must be NVMMASharedLayoutr   ÚnanzIllegal value for paddingzAPadding option `nan` is only supported for floating point tensors)Úlenr   r   r   r   Údata_ptrr   r   Údtyper   Ú
isinstancer   r	   r   Úis_floating_point)ÚselfÚrankÚ	dtype_strÚ
elem_bytesÚstrideÚ	shape_dims         Úd/home/mande/repo/quber/.venv/lib/python3.13/site-packages/triton/experimental/gluon/nvidia/hopper.pyÚ__post_init__ÚTensorDescriptor.__post_init__   s­  € Ü�4—:‘:‹ˆÜ�4—<‘<Ó  DÓ(ÐB¨O¸D¸6Ð*BÓBÐ(Ü�4×#Ñ#Ó$¨Ó,ÐF°À¸vÐ.FÓFÐ,Ø�a‹xÐ0Ð0Ó0ˆxØ�q‹yÐ6Ð6Ó6ˆyØ�y‰y×!Ñ!Ó# bÑ(¨AÓ-ÐMÐ/MÓMÐ-Ü˜T×-Ñ-Ô.Ü& t§y¡y§¡Ó7ˆ	Ü+¨IÓ6¸!Ñ;ˆ
Ø—l‘l 3 BÓ'ˆFØÑ'¨2Ñ-°Õ2ÐUÐ4UÓUÐ2ñ (àŸœˆIØ˜q•=Ð:Ð":Ó:�=ñ $à�|‰|˜BÑ 1Ó$ÐIÐ&IÓIÐ$Ü˜$Ÿ+™+Ô'8×9Ñ9Ð]Ð;]Ó]Ð9Ø�|‰|˜vÓ%¨¯©¸Ó)>Ð[Ð@[Ó[Ð>Ø�<‰<˜5Ó Ø—9‘9—?‘?×4×4ÐyÐ6yÓyÑ4ð !ó    Útensorc                 óR   • [        U U R                  U R                  5       UUU5      $ )N)r
   r   r$   )r*   r   r   r   s       r&   Úfrom_tensorÚTensorDescriptor.from_tensor&   s+   € äØØ�L‰LØ�M‰M‹OØØØó
ð 	
r)   © N)r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   Ú__annotations__r   Úintr	   r   Ústrr'   Ústaticmethodr,   Ú__static_attributes__r.   r)   r&   r
   r
   	   si   ‡ à
ƒIØ�‰9ÓØ�#‰YÓØ�c‘ÓØÓØ€GˆSÓòzð( ñ
˜Cð 
¨d°3©ið 
ÐARô 
ó ó
r)   N)Údataclassesr   Útypingr   r   Útriton._utilsr   r   r   Ú+triton.experimental.gluon.language._layoutsr	   Ú__all__r
   r.   r)   r&   Ú<module>r=      s5   ðÝ !ß ß ZÑ ZÝ IàÐ
€ð ÷%
ð %
ó ñ%
r)   