
    Kh(                     `    S r SSKJrJrJrJrJrJrJrJ	r	J
r
JrJrJrJrJrJr   " S S5      rg)z
Array API Inspection namespace

This is the namespace for inspection functions as defined by the array API
standard. See
https://data-apis.org/array-api/latest/API_specification/inspection.html for
more details.

    )dtypeboolintpint8int16int32int64uint8uint16uint32uint64float32float64	complex64
complex128c                   L    \ rS rSrSrSrS rS rSS.S jrSSS	.S
 jrS r	Sr
g)__array_namespace_info__   aO  
Get the array API inspection namespace for NumPy.

The array API inspection namespace defines the following functions:

- capabilities()
- default_device()
- default_dtypes()
- dtypes()
- devices()

See
https://data-apis.org/array-api/latest/API_specification/inspection.html
for more details.

Returns
-------
info : ModuleType
    The array API inspection namespace for NumPy.

Examples
--------
>>> info = np.__array_namespace_info__()
>>> info.default_dtypes()
{'real floating': numpy.float64,
 'complex floating': numpy.complex128,
 'integral': numpy.int64,
 'indexing': numpy.int64}

numpyc                     SSS.$ )a  
Return a dictionary of array API library capabilities.

The resulting dictionary has the following keys:

- **"boolean indexing"**: boolean indicating whether an array library
  supports boolean indexing. Always ``True`` for NumPy.

- **"data-dependent shapes"**: boolean indicating whether an array
  library supports data-dependent output shapes. Always ``True`` for
  NumPy.

See
https://data-apis.org/array-api/latest/API_specification/generated/array_api.info.capabilities.html
for more details.

See Also
--------
__array_namespace_info__.default_device,
__array_namespace_info__.default_dtypes,
__array_namespace_info__.dtypes,
__array_namespace_info__.devices

Returns
-------
capabilities : dict
    A dictionary of array API library capabilities.

Examples
--------
>>> info = np.__array_namespace_info__()
>>> info.capabilities()
{'boolean indexing': True,
 'data-dependent shapes': True}

T)zboolean indexingzdata-dependent shapes selfs    G/var/www/html/env/lib/python3.13/site-packages/numpy/_array_api_info.pycapabilities%__array_namespace_info__.capabilities?   s    L !%%)
 	
    c                     g)a  
The default device used for new NumPy arrays.

For NumPy, this always returns ``'cpu'``.

See Also
--------
__array_namespace_info__.capabilities,
__array_namespace_info__.default_dtypes,
__array_namespace_info__.dtypes,
__array_namespace_info__.devices

Returns
-------
device : str
    The default device used for new NumPy arrays.

Examples
--------
>>> info = np.__array_namespace_info__()
>>> info.default_device()
'cpu'

cpur   r   s    r   default_device'__array_namespace_info__.default_devicek   s    2 r   N)devicec                    US;  a  [        SU 35      e[        [        5      [        [        5      [        [        5      [        [        5      S.$ )a{  
The default data types used for new NumPy arrays.

For NumPy, this always returns the following dictionary:

- **"real floating"**: ``numpy.float64``
- **"complex floating"**: ``numpy.complex128``
- **"integral"**: ``numpy.intp``
- **"indexing"**: ``numpy.intp``

Parameters
----------
device : str, optional
    The device to get the default data types for. For NumPy, only
    ``'cpu'`` is allowed.

Returns
-------
dtypes : dict
    A dictionary describing the default data types used for new NumPy
    arrays.

See Also
--------
__array_namespace_info__.capabilities,
__array_namespace_info__.default_device,
__array_namespace_info__.dtypes,
__array_namespace_info__.devices

Examples
--------
>>> info = np.__array_namespace_info__()
>>> info.default_dtypes()
{'real floating': numpy.float64,
 'complex floating': numpy.complex128,
 'integral': numpy.int64,
 'indexing': numpy.int64}

r   N<Device not understood. Only "cpu" is allowed, but received: )real floatingcomplex floatingintegralindexing)
ValueErrorr   r   r   r   )r   r"   s     r   default_dtypes'__array_namespace_info__.default_dtypes   sR    P &8 
 #7^ %j 1dd	
 	
r   )r"   kindc                H   US;  a  [        SU 35      eUc  [        [        5      [        [        5      [        [        5      [        [
        5      [        [        5      [        [        5      [        [        5      [        [        5      [        [        5      [        [        5      [        [        5      [        [        5      [        [        5      S.$ US:X  a  S[        0$ US:X  a;  [        [        5      [        [        5      [        [
        5      [        [        5      S.$ US:X  a;  [        [        5      [        [        5      [        [        5      [        [        5      S.$ US	:X  as  [        [        5      [        [        5      [        [
        5      [        [        5      [        [        5      [        [        5      [        [        5      [        [        5      S
.$ US:X  a  [        [        5      [        [        5      S.$ US:X  a  [        [        5      [        [        5      S.$ US:X  a  [        [        5      [        [        5      [        [
        5      [        [        5      [        [        5      [        [        5      [        [        5      [        [        5      [        [        5      [        [        5      [        [        5      [        [        5      S.$ [        U[         5      (       a+  0 nU H!  nUR#                  U R%                  US95        M#     U$ [        SU< 35      e)a  
The array API data types supported by NumPy.

Note that this function only returns data types that are defined by
the array API.

Parameters
----------
device : str, optional
    The device to get the data types for. For NumPy, only ``'cpu'`` is
    allowed.
kind : str or tuple of str, optional
    The kind of data types to return. If ``None``, all data types are
    returned. If a string, only data types of that kind are returned.
    If a tuple, a dictionary containing the union of the given kinds
    is returned. The following kinds are supported:

    - ``'bool'``: boolean data types (i.e., ``bool``).
    - ``'signed integer'``: signed integer data types (i.e., ``int8``,
      ``int16``, ``int32``, ``int64``).
    - ``'unsigned integer'``: unsigned integer data types (i.e.,
      ``uint8``, ``uint16``, ``uint32``, ``uint64``).
    - ``'integral'``: integer data types. Shorthand for ``('signed
      integer', 'unsigned integer')``.
    - ``'real floating'``: real-valued floating-point data types
      (i.e., ``float32``, ``float64``).
    - ``'complex floating'``: complex floating-point data types (i.e.,
      ``complex64``, ``complex128``).
    - ``'numeric'``: numeric data types. Shorthand for ``('integral',
      'real floating', 'complex floating')``.

Returns
-------
dtypes : dict
    A dictionary mapping the names of data types to the corresponding
    NumPy data types.

See Also
--------
__array_namespace_info__.capabilities,
__array_namespace_info__.default_device,
__array_namespace_info__.default_dtypes,
__array_namespace_info__.devices

Examples
--------
>>> info = np.__array_namespace_info__()
>>> info.dtypes(kind='signed integer')
{'int8': numpy.int8,
 'int16': numpy.int16,
 'int32': numpy.int32,
 'int64': numpy.int64}

r$   r%   )r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   zsigned integer)r   r   r   r	   zunsigned integer)r
   r   r   r   r(   )r   r   r   r	   r
   r   r   r   r&   )r   r   r'   )r   r   numeric)r   r   r   r	   r
   r   r   r   r   r   r   r   )r-   zunsupported kind: )r*   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   
isinstancetupleupdatedtypes)r   r"   r-   resks        r   r3   __array_namespace_info__.dtypes   sT   n &8  <dduuuu--- > >"9-#J/  6>D>!##duuu	  %%u---	  :duuuu---	 	 ?" > >  %%"9-#J/  9duuuu--- > >"9-#J/  dE""C

4;;A;./ J-dX677r   c                     S/$ )a  
The devices supported by NumPy.

For NumPy, this always returns ``['cpu']``.

Returns
-------
devices : list of str
    The devices supported by NumPy.

See Also
--------
__array_namespace_info__.capabilities,
__array_namespace_info__.default_device,
__array_namespace_info__.default_dtypes,
__array_namespace_info__.dtypes

Examples
--------
>>> info = np.__array_namespace_info__()
>>> info.devices()
['cpu']

r   r   r   s    r   devices __array_namespace_info__.devicesA  s    2 wr   r   )__name__
__module____qualname____firstlineno____doc__r   r    r+   r3   r8   __static_attributes__r   r   r   r   r      s7    > J*
X6 (, 2
h  $$ E8Nr   r   N)r>   numpy._corer   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   <module>rA      s/       &} }r   