§
    ÇÁ³gË  ã                  ó  — U d Z ddlmZ ddl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ej        ej        j        ej        ¦  «        Z eej        ej        j        e¦  «         eej        ej        j        e¦  «         eej        dd¦  «        edœZe
j                             d	e                     ¦   «         e                     ¦   «         ¬
¦  «        dd„¦   «         Ze
j                             d	e                     ¦   «         e                     ¦   «         ¬
¦  «        dd„¦   «         Z e
j                             d	e                     ¦   «         e                     ¦   «         ¬
¦  «        dd„¦   «         Z!e
j                             d	e                     ¦   «         e                     ¦   «         ¬
¦  «        dd„¦   «         Z"dd„Z#ej$         ej%        d¦  «        fej&         ej'        d¦  «        fej(         ej'        d¦  «        fej)        dgfdœZ*de+d<   e
j                             de* ,                    ¦   «         e*                     ¦   «         ¬
¦  «         G d„ d¦  «        ¦   «         Z-dS )z)Test the runtime usage of `numpy.typing`.é    )Úannotations)Úget_type_hintsÚUnionÚ
NamedTupleÚget_argsÚ
get_originÚAnyNc                  ó.   — e Zd ZU ded<   ded<   ded<   dS )ÚTypeTupÚtypeÚtypztuple[type, ...]ÚargszNone | typeÚoriginN)Ú__name__Ú
__module__Ú__qualname__Ú__annotations__© ó    ú]/var/www/html/mpstechhub/venv/lib/python3.11/site-packages/numpy/typing/tests/test_runtime.pyr   r      s3   € € € € € € Ø€I€I�IØÐÐÑØÐÐÑÐÐr   r   r   )Ú	ArrayLikeÚ	DTypeLikeÚNBitBaseÚNDArrayzname,tup)ÚidsÚnamer   ÚtupÚreturnÚNonec                óP   — |j         |j        }}t          |¦  «        }||k    sJ ‚dS )zTest `typing.get_args`.N)r   r   r   ©r   r   r   ÚrefÚouts        r   Útest_get_argsr$   $   s-   € ð Œw˜œˆ€CÝ
�3‰-Œ-€CØ�#Š:ˆ:ˆ:ˆ:ˆ:ˆ:r   c                óP   — |j         |j        }}t          |¦  «        }||k    sJ ‚dS )zTest `typing.get_origin`.N)r   r   r   r!   s        r   Útest_get_originr&   ,   s-   € ð Œw˜œ
ˆ€CÝ
�S‰/Œ/€CØ�#Š:ˆ:ˆ:ˆ:ˆ:ˆ:r   c                ó€   — |j         }d„ }|ddœ|_        t          |¦  «        }|t          d¦  «        dœ}||k    sJ ‚dS )zTest `typing.get_type_hints`.c                ó   — d S ©Nr   ©Úas    r   Úfuncz!test_get_type_hints.<locals>.func;   ó   € € € r   N©r+   r   ©r   r   r   r   )r   r   r   r,   r#   r"   s         r   Útest_get_type_hintsr0   4   sW   € ð Œ'€Cð ÐÐØ!$°Ð5Ð5€DÔå
˜Ñ
Ô
€CØ�t D™zœzÐ
*Ð
*€CØ�#Š:ˆ:ˆ:ˆ:ˆ:ˆ:r   c                óŠ   — d| › �|j         }}d„ }|ddœ|_        t          |¦  «        }|t          d¦  «        dœ}||k    sJ ‚dS )zATest `typing.get_type_hints` with string-representation of types.znpt.c                ó   — d S r)   r   r*   s    r   r,   z%test_get_type_hints_str.<locals>.funcJ   r-   r   Nr.   r/   )r   r   Útyp_strr   r,   r#   r"   s          r   Útest_get_type_hints_strr4   C   sa   € ð !˜$�=�= #¤'ˆS€Gð ÐÐØ!(°DÐ9Ð9€DÔå
˜Ñ
Ô
€CØ�t D™zœzÐ
*Ð
*€CØ�#Š:ˆ:ˆ:ˆ:ˆ:ˆ:r   c                 óz   — t                                ¦   «         } t          t          j        ¦  «        }| |k    sJ ‚dS )zCTest that ``TYPES.keys()`` and ``numpy.typing.__all__`` are synced.N)ÚTYPESÚkeysÚsetÚnptÚ__all__)r7   r"   s     r   Ú	test_keysr;   R   s/   € å�:Š:‰<Œ<€DÝ
�cŒkÑ
Ô
€CØ�3Š;ˆ;ˆ;ˆ;ˆ;ˆ;r   é   é
   )Ú_SupportsDTypeÚ_SupportsArrayÚ_SupportsArrayFuncÚ_NestedSequencez#dict[str, tuple[type[Any], object]]Ú	PROTOCOLSzcls,objc                  ó   — e Zd Zd
d„Zd
d„Zd	S )ÚTestRuntimeProtocolÚclsú	type[Any]ÚobjÚobjectr   r   c                óN   — t          ||¦  «        sJ ‚t          d |¦  «        rJ ‚d S r)   )Ú
isinstance©ÚselfrE   rG   s      r   Útest_isinstancez#TestRuntimeProtocol.test_isinstancec   s4   € Ý˜#˜sÑ#Ô#Ð#Ð#Ð#Ý˜d CÑ(Ô(Ð(Ð(Ð(Ð(Ð(r   c                óÆ   — |t           j        u rt          j        d¦  «         t	          t          |¦  «        |¦  «        sJ ‚t	          t          d ¦  «        |¦  «        rJ ‚d S )Nz<Protocols with non-method members don't support issubclass())Ú_nptr>   ÚpytestÚxfailÚ
issubclassr   rK   s      r   Útest_issubclassz#TestRuntimeProtocol.test_issubclassg   sg   € Ø•$Ô%Ð%Ð%ÝŒLØNñô ð õ �$˜s™)œ) SÑ)Ô)Ð)Ð)Ð)Ý�d 4™jœj¨#Ñ.Ô.Ð.Ð.Ð.Ð.Ð.r   N)rE   rF   rG   rH   r   r   )r   r   r   rM   rS   r   r   r   rD   rD   a   s<   € € € € € ð)ð )ð )ð )ð/ð /ð /ð /ð /ð /r   rD   )r   r   r   r   r   r   )r   r   ).Ú__doc__Ú
__future__r   Útypingr   r   r   r   r   r	   rP   ÚnumpyÚnpÚnumpy.typingr9   Únumpy._typingÚ_typingrO   r   r   Ú__args__ÚndarrayÚ
NDArrayTupr   r   r   r6   ÚmarkÚparametrizeÚitemsr7   r$   r&   r0   r4   r;   r>   Úint64r?   Úaranger@   rA   rB   r   ÚvaluesrD   r   r   r   ú<module>re      sZ  ðØ /Ð /Ð /à "Ð "Ð "Ð "Ð "Ð "ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð €€€Ø Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð ðð ð ð ð ˆjñ ô ð ð ˆW�S”[ #¤+Ô"6¸¼
ÑCÔC€
ð �˜œ¨¬Ô(>ÀÑFÔFØ�˜œ¨¬Ô(>ÀÑFÔFØ�˜œ b¨$Ñ/Ô/Øð		ð 	€ð „×Ò˜ U§[¢[¡]¤]¸¿
º
¹¼ÐÑEÔEðð ð ñ FÔEðð „×Ò˜ U§[¢[¡]¤]¸¿
º
¹¼ÐÑEÔEðð ð ñ FÔEðð „×Ò˜ U§[¢[¡]¤]¸¿
º
¹¼ÐÑEÔEðð ð ñ FÔEðð „×Ò˜ U§[¢[¡]¤]¸¿
º
¹¼ÐÑEÔEðð ð ñ FÔEððð ð ð ð Ô*¨H¨B¬H°Q©K¬KÐ8ØÔ*¨I¨B¬I°b©M¬MÐ:ØÔ2°I°B´I¸b±M´MÐBØÔ,¨q¨cÐ2ð	2ð 2€	ð ð ð ñ ð „×Ò˜ I×$4Ò$4Ñ$6Ô$6¸I¿NºNÑ<LÔ<LÐÑMÔMð/ð /ð /ð /ð /ñ /ô /ñ NÔMð/ð /ð /r   