
    Kh                       % S r SSKJr  SSKJrJrJrJrJrJ	r	  SSK
r
SSKrSSKJr  SSKJr   " S S\5      r\" \R&                  \R&                  R(                  \R*                  5      r\" \R.                  \R.                  R(                  \5      \" \R0                  \R0                  R(                  \5      \" \R2                  SS5      \S.r\
R6                  R9                  S	\R;                  5       \R=                  5       S
9SS j5       r\
R6                  R9                  S	\R;                  5       \R=                  5       S
9SS j5       r \
R6                  R9                  S	\R;                  5       \R=                  5       S
9SS j5       r!\
R6                  R9                  S	\R;                  5       \R=                  5       S
9SS j5       r"SS jr#\RH                  \RJ                  " S5      4\RL                  \RN                  " S5      4\RP                  \RN                  " S5      4\RR                  S/4S.r*S\+S'   \
R6                  R9                  S\*RY                  5       \*R=                  5       S
9 " S S5      5       r-g)z)Test the runtime usage of `numpy.typing`.    )annotations)get_type_hintsUnion
NamedTupleget_args
get_originAnyNc                  4    \ rS rSr% S\S'   S\S'   S\S'   Srg	)
TypeTup   typetypztuple[type, ...]argszNone | typeorigin N)__name__
__module____qualname____firstlineno____annotations____static_attributes__r       Q/var/www/html/env/lib/python3.13/site-packages/numpy/typing/tests/test_runtime.pyr   r      s    	I
r   r   r   )	ArrayLike	DTypeLikeNBitBaseNDArrayzname,tup)idsc                V    UR                   UR                  p2[        U5      nXC:X  d   eg)zTest `typing.get_args`.N)r   r   r   nametupr   refouts        r   test_get_argsr%   $   s&     ww
3-C::r   c                V    UR                   UR                  p2[        U5      nXC:X  d   eg)zTest `typing.get_origin`.N)r   r   r   r    s        r   test_get_originr'   ,   s&     ww


S/C::r   c                v    UR                   nS nUSS.Ul        [        U5      nU[        S5      S.nXE:X  d   eg)zTest `typing.get_type_hints`.c                    g Nr   as    r   func!test_get_type_hints.<locals>.func;       r   Nr,   returnr   r   r   r   )r!   r"   r   r-   r$   r#   s         r   test_get_type_hintsr3   4   sA     ''C !$5D

CtDz
*C::r   c                ~    SU  3UR                   p2S nUSS.Ul        [        U5      nU[        S5      S.nXV:X  d   eg)zATest `typing.get_type_hints` with string-representation of types.znpt.c                    g r*   r   r+   s    r   r-   %test_get_type_hints_str.<locals>.funcJ   r/   r   Nr0   r2   )r!   r"   typ_strr   r-   r$   r#   s          r   test_get_type_hints_strr8   C   sI     $=#''S !(D9D

CtDz
*C::r   c                 l    [         R                  5       n [        [        R                  5      nX:X  d   eg)zCTest that ``TYPES.keys()`` and ``numpy.typing.__all__`` are synced.N)TYPESkeyssetnpt__all__)r;   r#   s     r   	test_keysr?   R   s%    ::<D
ckk
C;;r      
   )_SupportsDType_SupportsArray_SupportsArrayFunc_NestedSequencez#dict[str, tuple[type[Any], object]]	PROTOCOLSzcls,objc                  (    \ rS rSrSS jrSS jrSrg)TestRuntimeProtocola   c                N    [        X!5      (       d   e[        S U5      (       a   eg r*   )
isinstanceselfclsobjs      r   test_isinstance#TestRuntimeProtocol.test_isinstancec   s)    #####dC(((((r   c                    U[         R                  L a  [        R                  " S5        [	        [        U5      U5      (       d   e[	        [        S 5      U5      (       a   eg )Nz<Protocols with non-method members don't support issubclass())_nptrB   pytestxfail
issubclassr   rL   s      r   test_issubclass#TestRuntimeProtocol.test_issubclassg   sR    $%%%LLN $s)S))))d4j#.....r   r   N)rN   z	type[Any]rO   objectr1   None)r   r   r   r   rP   rW   r   r   r   r   rH   rH   a   s    )/r   rH   )r!   r   r"   r   r1   rZ   )r1   rZ   ).__doc__
__future__r   typingr   r   r   r   r   r	   rT   numpynpnumpy.typingr=   numpy._typing_typingrS   r   r   __args__ndarray
NDArrayTupr   r   r   r:   markparametrizeitemsr;   r%   r'   r3   r8   r?   rB   int64rC   arangerD   rE   rF   r   valuesrH   r   r   r   <module>rl      s%   / "     j  S[[#++"6"6

C
 (>(>F(>(>Fb$/		 U[[]

E F U[[]

E F U[[]

E F U[[]

E F **BHHQK8**BIIbM:22BIIbMB,,qc2	2	.  I$4$4$6INN<LM/ / N/r   