Ë
    7Š·j*  ã                   ó¼  — U d Z ddlmZmZmZmZmZmZmZ ddl	Z	ddl
ZddlmZ ddlmZ  G d„ de«      Zej%                  ej&                  «      ej%                  ej(                  «       eej*                  dd«      ej%                  ej,                  «      dœZe	j0                  j3                  dej5                  «       ej7                  «       ¬	«      d
ededdfd„«       Ze	j0                  j3                  dej5                  «       ej7                  «       ¬	«      d
ededdfd„«       Ze	j0                  j3                  dej5                  «       ej7                  «       ¬	«      d
ededdfd„«       Ze	j0                  j3                  dej5                  «       ej7                  «       ¬	«      d
ededdfd„«       Z dd„Z!ejD                   ejF                  d«      fejH                   ejF                  d«      fejJ                  dgfdœZ&e'e(e)ee   e*f   f   e+d<   e	j0                  j3                  de&jY                  «       e&j7                  «       ¬	«       G d„ d«      «       Z-y)z)Test the runtime usage of `numpy.typing`.é    )ÚAnyÚ
NamedTupleÚSelfÚTypeAliasTypeÚget_argsÚ
get_originÚget_type_hintsNc                   óV   — e Zd ZU eed<   eedf   ed<   edz  ed<   ededefd„«       Z	y)	ÚTypeTupÚtyp.ÚargsNÚoriginÚaliasÚreturnc                óT   — |j                   } | |t        |«      t        |«      ¬«      S )N)r   r   r   )Ú	__value__r   r   )Úclsr   Útps      úU/root/workspace/.venv/lib/python3.12/site-packages/numpy/typing/tests/test_runtime.pyÚfrom_type_aliaszTypeTup.from_type_alias   s$   € ð �_‰_ˆÙ�r¤¨£´ZÀ³^ÔDÐDó    )
Ú__name__Ú
__module__Ú__qualname__ÚtypeÚ__annotations__ÚtupleÚclassmethodr   r   r   © r   r   r   r      sD   … Ø	ƒIØ
��c�	Ñ
ÓØ�4‰KÓàðE Mð E¸ò Eó ñEr   r   r   )Ú	ArrayLikeÚ	DTypeLikeÚNBitBaseÚNDArrayzname,tup)ÚidsÚnameÚtupr   c                 óX   — |j                   |j                  }}t        |«      }||k(  sJ ‚y)zTest `typing.get_args`.N)r   r   r   ©r%   r&   r   ÚrefÚouts        r   Útest_get_argsr+   )   s*   € ð �w‰w˜Ÿ™ˆ€CÜ
�3‹-€CØ�#Š:Ð‰:r   c                 óX   — |j                   |j                  }}t        |«      }||k(  sJ ‚y)zTest `typing.get_origin`.N)r   r   r   r(   s        r   Útest_get_originr-   1   s*   € ð �w‰w˜Ÿ
™
ˆ€CÜ
�S‹/€CØ�#Š:Ð‰:r   c                 ól   — |j                   }d|ddfd„}t        |«      }|t        d«      dœ}||k(  sJ ‚y)zTest `typing.get_type_hints`.Úar   Nc                  ó   — y ©Nr   ©r/   s    r   Úfuncz!test_get_type_hints.<locals>.func>   ó   � r   ©r/   r   )r   r	   r   )r%   r&   r   r3   r*   r)   s         r   Útest_get_type_hintsr6   9   s>   € ð �'‰'€Cà"�Ð"˜Ó"ä
˜Ó
€CØœt D›zÑ
*€CØ�#Š:Ð‰:r   c                 ó¤   — d| › �|j                   }}d|ddfd„}t        |«      }t        t        t	        | «      «      t        d«      dœ}||k(  sJ ‚y)zATest `typing.get_type_hints` with string-representation of types.znpt.r/   r   Nc                  ó   — y r1   r   r2   s    r   r3   z%test_get_type_hints_str.<locals>.funcJ   r4   r   r5   )r   r	   ÚgetattrÚnptÚstrr   )r%   r&   Útyp_strr   r3   r*   r)   s          r   Útest_get_type_hints_strr=   E   sS   € ð ˜$˜�= #§'¡'ˆS€Gà&�Ð&˜DÓ&ä
˜Ó
€CÜœœS ›YÓ'´4¸³:Ñ
>€CØ�#Š:Ð‰:r   c                  ól   — t         j                  «       } t        t        j                  «      }| |k(  sJ ‚y)zCTest that ``TYPES.keys()`` and ``numpy.typing.__all__`` are synced.N)ÚTYPESÚkeysÚsetr:   Ú__all__)r@   r)   s     r   Ú	test_keysrC   Q   s'   € ä�:‰:‹<€DÜ
Œc�k‰kÓ
€CØ�3Š;Ð‰;r   é
   é   )Ú_SupportsArrayÚ_SupportsArrayFuncÚ_NestedSequenceÚ	PROTOCOLSzcls,objc                   ó@   — e Zd Zdee   deddfd„Zdee   deddfd„Zy)ÚTestRuntimeProtocolr   Úobjr   Nc                 ó<   — t        ||«      sJ ‚t        d |«      rJ ‚y r1   )Ú
isinstance©Úselfr   rL   s      r   Útest_isinstancez#TestRuntimeProtocol.test_isinstancea   s%   € Ü˜#˜sÔ#Ð#Ð#Ü˜d CÔ(Ð(Ð(Ð(r   c                 ó`   — t        t        |«      |«      sJ ‚t        t        d «      |«      rJ ‚y r1   )Ú
issubclassr   rO   s      r   Útest_issubclassz#TestRuntimeProtocol.test_issubclasse   s-   € Üœ$˜s›) SÔ)Ð)Ð)Üœd 4›j¨#Ô.Ð.Ð.Ð.r   )r   r   r   r   r   ÚobjectrQ   rT   r   r   r   rK   rK   _   s>   „ ð) 4¨¡9ð )°6ð )¸dó )ð/ 4¨¡9ð /°6ð /¸dô /r   rK   )r   N).Ú__doc__Útypingr   r   r   r   r   r   r	   ÚpytestÚnumpyÚnpÚnumpy._typingÚ_typingÚ_nptÚnumpy.typingr:   r   r   r    r!   r"   r#   r?   ÚmarkÚparametrizeÚitemsr@   r   r+   r-   r6   r=   rC   rF   ÚarangerG   rH   rI   Údictr;   r   rU   r   ÚvaluesrK   r   r   r   ú<module>re      s_  ðÚ /÷÷ ñ ó ã Ý Ý ô
Eˆjô 
Eð ×(Ñ(¨¯©Ó7Ø×(Ñ(¨¯©Ó7Ù˜Ÿ™ b¨$Ó/Ø×&Ñ& s§{¡{Ó3ñ		€ð ‡�×Ñ˜ U§[¡[£]¸¿
¹
»ÐÓEð˜ð  7ð ¨tò ó Fðð ‡�×Ñ˜ U§[¡[£]¸¿
¹
»ÐÓEð˜$ð  Wð °ò ó Fðð ‡�×Ñ˜ U§[¡[£]¸¿
¹
»ÐÓEð˜dð ¨ð °Tò ó Fðð ‡�×Ñ˜ U§[¡[£]¸¿
¹
»ÐÓEð $ð ¨Wð ¸ò ó Fðóð ×*Ñ*¨I¨B¯I©I°b«MÐ:Ø×2Ñ2°I°B·I±I¸b³MÐBØ×,Ñ,¨q¨cÐ2ñ2€	ˆ4��U˜4 ™9 fÐ,Ñ-Ð-Ñ.ó ð ‡�×Ñ˜ I×$4Ñ$4Ó$6¸I¿N¹NÓ<LÐÓM÷/ð /ó Nñ/r   