https://t.me/RX1948
Server : Apache
System : Linux iad1-shared-b8-43 6.6.49-grsec-jammy+ #10 SMP Thu Sep 12 23:23:08 UTC 2024 x86_64
User : dh_edsupp ( 6597262)
PHP Version : 8.2.26
Disable Function : NONE
Directory :  /lib/python3/dist-packages/numpy/lib/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib/python3/dist-packages/numpy/lib/__pycache__/utils.cpython-310.pyc
o

6��at��@sjddlZddlZddlZddlZddlZddlZddlmZmZm	Z	ddl
mZddlm
Z
mZmZddlZgd�Zdd�Zdd	�ZGd
d�d�Zdd
�Zdd�Zdd�Zdd�Zd1dd�Zdd�Zdadad2dd�Zejfdd�Z ed�ddejdfdd��Z!ed�ejfd d!��Z"iZ#e�$d"ej%�Z&ed�	$	d3d%d&��Z'd'd(�Z(d)d*�Z)d+d,�Z*d-d.�Z+d/d0�Z,dS)4�N)�issubclass_�issubsctype�
issubdtype)�
set_module)�ndarray�ufunc�asarray)rrr�	deprecate�deprecate_with_doc�get_include�info�source�who�lookfor�byte_bounds�	safe_evalcCsXddl}|jdurtj�tj�|j�dd�}|Sddlm}tj�tj�|j�d�}|S)a�
    Return the directory that contains the NumPy \*.h header files.

    Extension modules that need to compile against NumPy should use this
    function to locate the appropriate include directory.

    Notes
    -----
    When using ``distutils``, for example in ``setup.py``.
    ::

        import numpy as np
        ...
        Extension('extension_name', ...
                include_dirs=[np.get_include()])
        ...

    rN�core�include)	�numpy�show_config�os�path�join�dirname�__file__�
numpy.corer)r�dr�r�1/usr/lib/python3/dist-packages/numpy/lib/utils.pyrs
�rcCs
||_|S�N)�__name__)�func�namerrr�_set_function_name1sr#c@s"eZdZdZddd�Zdd�ZdS)�
_Deprecatez�
    Decorator class to deprecate old functions.

    Refer to `deprecate` for details.

    See Also
    --------
    deprecate

    NcCs||_||_||_dSr)�old_name�new_name�message)�selfr%r&r'rrr�__init__Bs
z_Deprecate.__init__csv|j}|j}|j}|durz�j}Wnty�j}Ynw|dur(d|�nd||f�|dur8�d|7���fdd�}t||�}�j}|durN�}nR|���d�}	t	|	dd��}
|	d�
�rj|
d	|}n't|	d�d}|	dd�D]}t|�|
kr�n	|t|�d7}qx||d�}t�
�d	|
��d
��|g�}||_z�j}
Wn
ty�Y|Sw|j�|
�|S)z:
        Decorator call.  Refer to ``decorate``.

        Nz`%s` is deprecated!z%`%s` is deprecated, use `%s` instead!�
cstj�tdd��|i|��S)z1`arrayrange` is deprecated, use `arange` instead!�)�
stacklevel)�warnings�warn�DeprecationWarning)�args�kwds��depdocr!rr�newfunc^sz$_Deprecate.__call__.<locals>.newfunc�r� z

)r%r&r'r �AttributeErrorr#�__doc__�
expandtabs�split�_get_indent�lstrip�len�textwrap�indentr�__dict__�update)r(r!r0�kwargsr%r&r'r4�doc�linesr?�skip�linerrr2r�__call__GsT

�
�

�z_Deprecate.__call__)NNN)r �
__module__�__qualname__r8r)rGrrrrr$6s
r$cCsDtj}|D]}t|���}|rt|t|�|�}q|tjkr d}|S)zU
    Determines the leading whitespace that could be removed from all the lines.
    r)�sys�maxsizer=r<�min)rDr?rF�contentrrrr;�s�
r;cOs8|r|d}|dd�}t|i|��|�St|i|��S)a�
    Issues a DeprecationWarning, adds warning to `old_name`'s
    docstring, rebinds ``old_name.__name__`` and returns the new
    function object.

    This function may also be used as a decorator.

    Parameters
    ----------
    func : function
        The function to be deprecated.
    old_name : str, optional
        The name of the function to be deprecated. Default is None, in
        which case the name of `func` is used.
    new_name : str, optional
        The new name for the function. Default is None, in which case the
        deprecation message is that `old_name` is deprecated. If given, the
        deprecation message is that `old_name` is deprecated and `new_name`
        should be used instead.
    message : str, optional
        Additional explanation of the deprecation.  Displayed in the
        docstring after the warning.

    Returns
    -------
    old_func : function
        The deprecated function.

    Examples
    --------
    Note that ``olduint`` returns a value after printing Deprecation
    Warning:

    >>> olduint = np.deprecate(np.uint)
    DeprecationWarning: `uint64` is deprecated! # may vary
    >>> olduint(6)
    6

    rr5N�r$)r0rB�fnrrrr	�s
,r	cCs
t|d�S)a�
    Deprecates a function and includes the deprecation in its docstring.

    This function is used as a decorator. It returns an object that can be
    used to issue a DeprecationWarning, by passing the to-be decorated
    function as argument, this adds warning to the to-be decorated function's
    docstring and returns the new function object.

    See Also
    --------
    deprecate : Decorate a function such that it issues a `DeprecationWarning`

    Parameters
    ----------
    msg : str
        Additional explanation of the deprecation. Displayed in the
        docstring after the warning.

    Returns
    -------
    obj : object

    )r'rN)�msgrrrr
�s
r
c
Cs�|j}|dd}|d}|d}t|�jj}|}}|dur*||j|7}||fSt||�D]\}}	|	dkr@||d|	7}q/||d|	7}q/||7}||fS)a#
    Returns pointers to the end-points of an array.

    Parameters
    ----------
    a : ndarray
        Input array. It must conform to the Python-side of the array
        interface.

    Returns
    -------
    (low, high) : tuple of 2 integers
        The first integer is the first byte of the array, the second
        integer is just past the last byte of the array.  If `a` is not
        contiguous it will not use every byte between the (`low`, `high`)
        values.

    Examples
    --------
    >>> I = np.eye(2, dtype='f'); I.dtype
    dtype('float32')
    >>> low, high = np.byte_bounds(I)
    >>> high - low == I.size*I.itemsize
    True
    >>> I = np.eye(2); I.dtype
    dtype('float64')
    >>> low, high = np.byte_bounds(I)
    >>> high - low == I.size*I.itemsize
    True

    �datar�strides�shapeNr5)�__array_interface__r�dtype�itemsize�size�zip)
�a�ai�a_data�astrides�ashape�bytes_a�a_low�a_highrS�striderrrr�s �rc
Cs<|durt��j}|j}g}i}|��D]D}t||t�rX||}t|�}||��vr6|d||}d}n|||<|}d}d�t	t
|j��}	t
|j�}
|�
||	|
|jj|g�qd}d}d}
d}tt|��D]<}||}|t|d�kr{t|d�}|t|d�kr�t|d�}|
t|d�kr�t|d�}
|dr�|t|d�7}qgt|�dkr�td|�}td|�}td|
�}d	|d
|d
|d
f}t|ddt|�d
d�tt|��D]9}||}td|dd
|t|d�d|dd
|t|d�d
|dd
|t|d�d
|df�q�td|�dS)a%
    Print the NumPy arrays in the given dictionary.

    If there is no dictionary passed in or `vardict` is None then returns
    NumPy arrays in the globals() dictionary (all NumPy arrays in the
    namespace).

    Parameters
    ----------
    vardict : dict, optional
        A dictionary possibly containing ndarrays.  Default is globals().

    Returns
    -------
    out : None
        Returns 'None'.

    Notes
    -----
    Prints out the name, shape, bytes and type of all of the ndarrays
    present in `vardict`.

    Examples
    --------
    >>> a = np.arange(10)
    >>> b = np.ones(20)
    >>> np.who()
    Name            Shape            Bytes            Type
    ===========================================================
    a               10               80               int64
    b               20               160              float64
    Upper bound on total bytes  =       240

    >>> d = {'x': np.arange(2.0), 'y': np.arange(3.0), 'txt': 'Some str',
    ... 'idx':5}
    >>> np.who(d)
    Name            Shape            Bytes            Type
    ===========================================================
    x               2                16               float64
    y               3                24               float64
    Upper bound on total bytes  =       40

    Nz (%s)rr5z x r+��
zName %s Shape %s Bytes %s Typer6r*�=�z%s %s %s %s %s %s %s�z'
Upper bound on total bytes  =       %d)rJ�	_getframe�f_back�	f_globals�keys�
isinstancer�idr�map�strrS�nbytes�appendrUr"�ranger=�int�max�print)�vardict�frame�sta�cacher"�var�idv�namestr�original�shapestr�bytestr�maxname�maxshape�maxbyte�
totalbytes�k�val�sp1�sp2�sp3�prvalrrrrsf,

���


  
�rc
Cs�t|�}|}|}d}|�|�}|D]4}||krd}	n|}	|t|�t|	�}||kr?|dt|�}|dd|d|}q||	|}q|S)Nz, �r5z,
r6r+)r=r:)
r"�	arguments�width�
firstwidthr��newstr�sepstr�arglist�argument�addstrrrr�_split_line�s
r�rcCs�t|t�t�g�}|j|ji}|jg}|jg}	t|�dkr#	||fS|�d�}|��D]&}t||t	j
�rR||j}||vrR||j}|�|�|�|�|||<q,q)NTr)�
__import__�globals�localsr r@r=�poprjrk�types�
ModuleTyperp)�module�thedict�dictlist�
totraverse�thisdict�x�modname�moddictrrr�
_makenamedict�s&

�



��r�c
Cstd}d}dd�}t|dt|��}t|d|�}|j}|jj}td||d�td|j|d�td	||d�td
|j|d�td||jj	�|d�td||jj
�|d�td
|jj|d�tdt|j
jj�|f|d�tdd|d�|dvr�td|tj|f|d�d}	n#|dkr�td||f|d�tjdk}	ntd||f|d�tjdk}	td||	�|d�td|j|d�dS)aOProvide information about ndarray obj.

    Parameters
    ----------
    obj : ndarray
        Must be ndarray, not checked.
    output
        Where printed output goes.

    Notes
    -----
    Copied over from the numarray module prior to its removal.
    Adapted somewhat as only numpy is an option now.

    Called by info.

    r�cSs|Srr)r�rrr�<lambda>�sz_info.<locals>.<lambda>�	__class__r zclass: ��filezshape: z	strides: z
itemsize: z	aligned: zcontiguous: z	fortran: zdata pointer: %s%szbyteorder: r6)�endr�)�|rdz%s%s%sF�>z%sbig%s�bigz
%slittle%s�littlez
byteswap: ztype: %sN)�getattr�typerRrU�	byteorderrtrSrV�flags�aligned�
contiguous�fortran�hex�ctypes�_as_parameter_�valuerJ)
�obj�output�extra�tic�bp�cls�nmrR�endian�byteswaprrr�_info�s:�
r��Lc	CsFddl}ddl}t|d�st|d�r|j}nt|d�r|j}|dur(tt�dSt|t�r5t||d�dSt|t	�r�t
durDt|�\a
ad}g}tD]A}z6t
||}	t
|	�|vrbtd||d�n|�t
|	��td	||d�t|	�td
||d�|d7}WqJty�YqJw|dkr�td||d�dStd
||d�dS|�|�s�|�|�r�|j}
z	t	|�|��}Wnty�d}Ynwt|
|�|kr�t|
||�}n|
|}td|d|d�t|�|�|d�dS|�|��r�|j}
z	t	|�|��}Wnt�yd}Ynwt|
|�|k�rt|
||�}n|
|}td|d|d�|�|�}
|
du�rFt|d��rEt|�|j�|d�n	t|�|�|d�|�|�}dd�|D�}|�r�td|d�|D]'}t||d�}|du�r�|�|�|��p|d�\}}td||f|d��qfdSdSt|d��r�t|�|�|d�dSdS)a�
    Get help information for a function, class, or module.

    Parameters
    ----------
    object : object or str, optional
        Input object or name to get information about. If `object` is a
        numpy object, its docstring is given. If it is a string, available
        modules are searched for matching objects.  If None, information
        about `info` itself is returned.
    maxwidth : int, optional
        Printing width.
    output : file like object, optional
        File like object that the output is written to, default is
        ``stdout``.  The object has to be opened in 'w' or 'a' mode.
    toplevel : str, optional
        Start search at this level.

    See Also
    --------
    source, lookfor

    Notes
    -----
    When used interactively with an object, ``np.info(obj)`` is equivalent
    to ``help(obj)`` on the Python prompt or ``obj?`` on the IPython
    prompt.

    Examples
    --------
    >>> np.info(np.polyval) # doctest: +SKIP
       polyval(p, x)
         Evaluate the polynomial p at x.
         ...

    When using a string for `object` it is possible to get multiple results.

    >>> np.info('fft') # doctest: +SKIP
         *** Found in numpy ***
    Core FFT routines
    ...
         *** Found in numpy.fft ***
     fft(a, n=None, axis=-1)
    ...
         *** Repeat reference found in numpy.fft.fftpack ***
         *** Total of 3 references found. ***

    rN�_ppimport_importer�_ppimport_module�_ppimport_attr)r�z+
     *** Repeat reference found in %s *** r�z     *** Found in %s ***�-r5zHelp for %s not found.z+
     *** Total of %d references found. ***z()r6r*r)cSsg|]
}|ddkr|�qS)r�_r)�.0�methrrr�
<listcomp>hszinfo.<locals>.<listcomp>z

Methods:
�Nonez  %s  --  %sr8)�pydoc�inspect�hasattrr�r�rrkrr�rn�	_namedictr��	_dictlistrlrtrp�KeyError�
isfunction�ismethodr �	signature�	Exceptionr=r��getdoc�isclassr)�
allmethodsr��splitdoc)�object�maxwidthr��toplevelr�r��numfound�objlistr{r�r"r��argstr�doc1�methods�public_methodsr��thisobj�methstr�otherrrrr�s�4
�


����
���

�

���rcCsXddl}ztd|�|�|d�t|�|�|d�WdSty+td|d�YdSw)a�
    Print or write to a file the source code for a NumPy object.

    The source code is only returned for objects written in Python. Many
    functions and classes are defined in C and will therefore not return
    useful information.

    Parameters
    ----------
    object : numpy object
        Input object. This can be any object (function, class, module,
        ...).
    output : file object, optional
        If `output` not supplied then source code is printed to screen
        (sys.stdout).  File object must be created with either write 'w' or
        append 'a' modes.

    See Also
    --------
    lookfor, info

    Examples
    --------
    >>> np.source(np.interp)                        #doctest: +SKIP
    In file: /usr/lib/python2.6/dist-packages/numpy/lib/function_base.py
    def interp(x, xp, fp, left=None, right=None):
        """.... (full docstring printed)"""
        if isinstance(x, (float, int, number)):
            return compiled_interp([x], xp, fp, left, right).item()
        else:
            return compiled_interp(x, xp, fp, left, right)

    The source code is only returned for objects written in Python.

    >>> np.source(np.array)                         #doctest: +SKIP
    Not available for this object.

    rNzIn file: %s
r�zNot available for this object.)r�rt�
getsourcefile�	getsourcer�)r�r�r�rrrr
ws)�r
z[a-z0-9_]+\(.*[,=].*\)TFc	s�ddl}t|||��g}t|�������sdS���D] \}\}}	}
|	dvr(q|���t�fdd��D��r<|�|�qddddd����fd	d
����fdd�}|j|d
�dd�	��}|dt
|�g}
|ddd�D]=}�|\�}	}dd�����d�D�}z|d��}t�
|�r�|d��}Wnty�d}Ynw|
�d||f�qn|s�|
�d�|dur�|�d�	|
��dSt
|
�dkr�|��}|d�	|
��dStd�	|
��dS)a�
    Do a keyword search on docstrings.

    A list of objects that matched the search is displayed,
    sorted by relevance. All given keywords need to be found in the
    docstring for it to be returned as a result, but the order does
    not matter.

    Parameters
    ----------
    what : str
        String containing words to look for.
    module : str or list, optional
        Name of module(s) whose docstrings to go through.
    import_modules : bool, optional
        Whether to import sub-modules in packages. Default is True.
    regenerate : bool, optional
        Whether to re-generate the docstring cache. Default is False.
    output : file-like, optional
        File-like object to write the output to. If omitted, use a pager.

    See Also
    --------
    source, info

    Notes
    -----
    Relevance is determined only roughly, by checking if the keywords occur
    in the function name, at the start of a docstring, etc.

    Examples
    --------
    >>> np.lookfor('binary representation') # doctest: +SKIP
    Search results for 'binary representation'
    ------------------------------------------
    numpy.binary_repr
        Return the binary representation of the input number as a string.
    numpy.core.setup_common.long_double_representation
        Given a binary dump as given by GNU od -b, look for long double
    numpy.base_repr
        Return a string representation of a number in the given base system.
    ...

    rN)r�r�c3s�|]}|�vVqdSrr�r��w)rCrr�	<genexpr>�s�zlookfor.<locals>.<genexpr>i�����)r!�classr�r�cs�d}d�|�����d�dd���|t�fdd��D��7}|t�fdd��D��7}|t��d7}|��|d�7}|��d	�d
7}|t|dd�7}|S)
Nrr*rfc�g|]}|�vrd�qS)��rr�)�	first_docrrr��z.lookfor.<locals>.relevance.<locals>.<listcomp>cr�)�rr�)r"rrr�r�rer��.rc�di����)	r�lower�stripr:�sumr=�get�countrs)r"�docstr�kind�index�r)�kind_relevance�whats)r�r"r�	relevance�s zlookfor.<locals>.relevancecs�|g�|�R�Srr)rY)rxr�rr�relevance_valuesz lookfor.<locals>.relevance_value)�keyzSearch results for '%s'r6r����cSsg|]
}|��r|���qSr)r�)r�rFrrrr�s�zlookfor.<locals>.<listcomp>r*r5r�z	%s
    %szNothing found.rc)r��_lookfor_generate_cachernr�r:�items�allrp�sortrr=r��_function_signature_re�search�
IndexError�write�getpagerrt)�whatr��import_modules�
regenerater�r��foundr"�	docstringr�r�r��s�	help_text�ix�doclinesr��pagerr)rxrCr�r�r�rr�sR/
��
��
rc
Cs�ddl}ddlm}|durd}t|t�r-zt|�Wnty&iYSwtj|}nt|t	�s7t|t
�rIi}|D]}|�t|||��q;|St
|�tvrW|sWtt
|�Si}|tt
|�<i}d}|j|fg}	|	�r�|	�d�\}
}t
|�|vrzqid|t
|�<|d7}d}|�|��r�d}z|j}
Wnty�d}
Ynw|�rt|d	��r|jD]l}t�|�D]d}tj�||�}tj�||d
�}tj�|�r�|�d�r�|dd�}n
tj�|�r�|}nq�|d
kr�q�z(tj}tj}z|�t_|�t_td|
|f�W|t_|t_n|t_|t_wWq�t�yYq�wq�t|�D]f\}}zt |dd|
|f�}t |dd�}Wnt!�yDd|
|f}d}Ynwd|v�rS|�rSd||f}|�"|
d��sdt|t#��rbn�q|�|��sv|
du�sv||
v�sv�q|	�$d|
|f|f��qn&|�%|��r�d}t|�D]\}}|	�$d|
|f|f��q�nt|d��r�d}z|�&|�}Wnt!�y�d}Ynw|du�r�|||f||
<|	sl|S)a�
    Generate docstring cache for given module.

    Parameters
    ----------
    module : str, None, module
        Module for which to generate docstring cache
    import_modules : bool
        Whether to import sub-modules in packages.
    regenerate : bool
        Re-generate the docstring cache

    Returns
    -------
    cache : dict {obj_full_name: (docstring, kind, index), ...}
        Docstring cache for the module, either cached one (regenerate=False)
        or newly generated.

    rN)�StringIOrTr5r�r��__path__z__init__.pyz.py���r)z%s.%sr rHr�r�rGr!)'r��iorrkrnr��ImportErrorrJ�modules�list�tuplerArrl�_lookfor_cachesr r��ismodule�__all__r7r�rr�listdirrr�isfile�endswith�stdout�stderr�
BaseException�_getmembersr��	NameError�
startswithrrpr�r�)r�rrr�rrx�mod�seenr��stackr"�itemr��_all�pth�mod_path�this_py�init_py�	to_import�
old_stdout�
old_stderr�n�v�	item_name�mod_namerCrrrr.s�
�
�
�
����� ���
�SrcsDddl}z|���}W|Sty!�fdd�t��D�}Y|Sw)Nrcs$g|]}t�|�r|t�|�f�qSr)r�r�)r�r��r+rrr��s�z_getmembers.<locals>.<listcomp>)r��
getmembersr��dir)r+r��membersrr8rr%�s��r%cCsddl}|�|�S)a�
    Protected string evaluation.

    Evaluate a string containing a Python literal expression without
    allowing the execution of arbitrary non-literal code.

    Parameters
    ----------
    source : str
        The string to evaluate.

    Returns
    -------
    obj : object
       The result of evaluating `source`.

    Raises
    ------
    SyntaxError
        If the code has invalid Python syntax, or if it contains
        non-literal code.

    Examples
    --------
    >>> np.safe_eval('1')
    1
    >>> np.safe_eval('[1, 2, 3]')
    [1, 2, 3]
    >>> np.safe_eval('{"foo": ("bar", 10.0)}')
    {'foo': ('bar', 10.0)}

    >>> np.safe_eval('import os')
    Traceback (most recent call last):
      ...
    SyntaxError: invalid syntax

    >>> np.safe_eval('open("/home/user/.ssh/id_dsa").read()')
    Traceback (most recent call last):
      ...
    ValueError: malformed node or string: <_ast.Call object at 0x...>

    rN)�ast�literal_eval)r
r<rrrr�s,
rcCs�|jdkr|St�|jd|d��}tj�|�r|�d�}|jdkr?|dkr=|dur6|j�	tj
�|d<|}|S|j�	tj
�}|St�|���dkrMtj
||<|S)a@
    Utility function to check median result from data for NaN values at the end
    and return NaN in that case. Input result can also be a MaskedArray.

    Parameters
    ----------
    data : array
        Input data to median function
    result : Array or MaskedArray
        Result of median function
    axis : int
        Axis along which the median was computed.
    out : ndarray, optional
        Output array in which to place the result.

    Returns
    -------
    median : scalar or ndarray
        Median or NaN in axes which contained NaN in the input.
    rr)�axisFTN.)
rW�np�isnan�take�ma�
isMaskedArray�filled�ndimrUr��nan�
count_nonzero�ravel)rQ�resultr>�outr4rrr�_median_nancheck�s 


��
rKcCsrddlm}m}m}t|�dkrt|�dkrdSd�|�}|D]}||r.|d|�d�7}q|d|�d�7}q|S)a�
    Returns a string contains the supported CPU features by the current build.

    The string format can be explained as follows:
        - dispatched features that are supported by the running machine
          end with `*`.
        - dispatched features that are "not" supported by the running machine
          end with `?`.
        - remained features are representing the baseline.
    r)�__cpu_features__�__cpu_baseline__�__cpu_dispatch__r�r6�*�?)�numpy.core._multiarray_umathrLrMrNr=r)rLrMrN�enabled_features�featurerrr�	_opt_infos
rTr)r)NTFN)-rrJr>r��rer-�numpy.core.numerictypesrrr�numpy.core.overridesrrrrrrr?rrr#r$r;r	r
rrr�r�r�r�r"r�rr
r�compile�Irrrr%rrKrTrrrr�<module>sRL5
9i
33�{
0&

https://t.me/RX1948 - 2025