File: //usr/local/lib/python3.10/dist-packages/numpy/lib/__pycache__/stride_tricks.cpython-310.pyc
o
���g�E � @ s� d Z ddlZddlmZ ddlmZmZ g d�ZG dd� d�Z dd � Z
d$dd
�Zd%ddd�dd�Zee�d%d
d
d�dd��Z
dd� Zd%dd�Zeedd�d&dd��Zdd� Zed�dd� �Zdd�d d!�Zeedd�d
d�d"d#��ZdS )'z�
Utilities that manipulate strides to achieve desirable effects.
An explanation of strides can be found in the "ndarray.rst" file in the
NumPy reference guide.
� N)�normalize_axis_tuple)�array_function_dispatch�
set_module)�broadcast_to�broadcast_arrays�broadcast_shapesc @ s e Zd ZdZddd�ZdS )�
DummyArrayz�Dummy object that just exists to hang __array_interface__ dictionaries
and possibly keep alive a reference to a base array.
Nc C s || _ || _d S �N)�__array_interface__�base)�self� interfacer � r �B/usr/local/lib/python3.10/dist-packages/numpy/lib/stride_tricks.py�__init__ s
zDummyArray.__init__r )�__name__�
__module__�__qualname__�__doc__r r r r r r s r c C s4 t | �t |�ur|jt | �d�}|jr|�| � |S )N)�type)r �view�__array_finalize__)�original_array� new_arrayr r r �_maybe_view_as_subclass s
r FTc C s~ t j| d|d�} t| j�}|durt|�|d<