
    ukir                       d Z ddlmZ ddlmZ ddlZddlZddlmZ ddlm	Z	m
Z
mZ ddlmZmZmZ ddlZej$                  Ze	Zej*                   G d d	e
             Z G d
 de
      Z G d de
      Z G d de
      Zeeee	   ej$                  ef   Zeee	f   Zee   Z G d de
      Z  G d d      Z! G d dejD                        Z#eejH                  z  Z%e%e&z  ez  Z'e'dz  ee%   z  ez  ejP                  z  Z)y)a  
`jax._src.typing`: JAX type annotations
---------------------------------------

This submodule is a work in progress; when we finalize the contents here, it will be
exported at `jax.typing`. Until then, the contents here should be considered unstable
and may change without notice.

To see the proposal that led to the development of these tools, see
https://github.com/jax-ml/jax/pull/11859/.
    )annotations)SequenceN)EllipsisType)AnyProtocolUnion)	ArrayLikeArrayStaticScalarc                      e Zd Zedd       Zy)SupportsDTypec                    y N selfs    J/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/jax/_src/typing.pydtypezSupportsDType.dtype2   s    "    NreturnDType)__name__
__module____qualname__propertyr   r   r   r   r   r   0   s    " "r   r   c                      e Zd Zedd       Zy)SupportsShapec                    y r   r   r   s    r   shapezSupportsShape.shape6   s    ),r   N)r   ztuple[int, ...])r   r   r   r   r    r   r   r   r   r   5   s    , ,r   r   c                      e Zd Zedd       Zy)SupportsSizec                    y r   r   r   s    r   sizezSupportsSize.size:       r   Nr   int)r   r   r   r   r$   r   r   r   r"   r"   9        r   r"   c                      e Zd Zedd       Zy)SupportsNdimc                    y r   r   r   s    r   ndimzSupportsNdim.ndim>   r%   r   Nr&   )r   r   r   r   r,   r   r   r   r*   r*   =   r(   r   r*   c                  0    e Zd Zedd       Zedd       Zy)DuckTypedArrayc                     y r   r   r   s    r   r   zDuckTypedArray.dtypeU   r%   r   c                     y r   r   r   s    r   r    zDuckTypedArray.shapeW   r%   r   Nr   )r   Shape)r   r   r   r   r   r    r   r   r   r.   r.   T   s      r   r.   c                      e Zd Zd Zy)DeprecatedArgc                     y)N
Deprecatedr   r   s    r   __repr__zDeprecatedArg.__repr__f   s    r   N)r   r   r   r6   r   r   r   r3   r3   e   s    r   r3   c                      e Zd ZdZdZdZy)DLDeviceType      
   N)r   r   r   kDLCPUkDLCUDAkDLROCMr   r   r   r8   r8   j   s    &''r   r8   )*__doc__
__future__r   collections.abcr   enumtypingtypesr   r   r   r   jax._src.basearrayr	   r
   r   numpynpr   r   ExtendedDTyperuntime_checkabler   r   r"   r*   strtype	DTypeLiker'   DimSizer1   r.   r3   IntEnumr8   integerAnyIntsliceStaticIndexndarrayIndexr   r   r   <module>rU      s)  
 # $    ' ' 
 
  #H # #-H - 8   8   s)((	 S/ X  " 
4<< 
 
rzz	un|+dXf--5

Br   