U
    b`                     @  s  d Z ddlmZ ddddddgZdd	lZdd
lmZmZmZm	Z	m
Z
mZmZmZ ddlmZ ddlmZmZmZmZmZmZmZmZmZmZmZ edddZG dd dee Zed Zesejdkree
eeeeeeeeeef
  Z neZ eZ!eZ"G dd deZ#d	S )a  
This file defines the types for type annotations.

These names aren't part of the module namespace, but they are used in the
annotations in the function signatures. The functions in the module are only
valid for inputs that match the given type annotations.
    )annotationsArrayDeviceDtypeSupportsDLPackSupportsBufferProtocol	PyCapsuleN)AnyLiteralSequenceTypeUnionTYPE_CHECKINGTypeVarProtocol   )r   )dtypeint8int16int32int64uint8uint16uint32uint64float32float64_T_coT)	covariantc                   @  s*   e Zd ZdddddZddddZd	S )
NestedSequenceintz_T_co | NestedSequence[_T_co])keyreturnc                C  s   d S N )selfr!   r$   r$   ;/tmp/pip-unpacked-wheel-cxuynqjx/numpy/array_api/_typing.py__getitem__2       zNestedSequence.__getitem__)r"   c                C  s   d S r#   r$   )r%   r$   r$   r&   __len__3   r(   zNestedSequence.__len__N)__name__
__module____qualname__r'   r)   r$   r$   r$   r&   r   1   s   r   cpu)   	   c                   @  s"   e Zd ZdddddddZdS )	r   .)streamNoner   )r0   r"   c               C  s   d S r#   r$   )r%   r0   r$   r$   r&   
__dlpack__J   r(   zSupportsDLPack.__dlpack__N)r*   r+   r,   r2   r$   r$   r$   r&   r   I   s   )$__doc__
__future__r   __all__systypingr	   r
   r   r   r   r   r   r   Z_array_objectr   Znumpyr   r   r   r   r   r   r   r   r   r   r   r   r   r   version_infor   r   r   r   r$   r$   r$   r&   <module>   sB   	(4