%PDF- %PDF-
| Direktori : /lib64/python3.9/site-packages/numpy/lib/__pycache__/ |
| Current File : //lib64/python3.9/site-packages/numpy/lib/__pycache__/index_tricks.cpython-39.opt-1.pyc |
a
z[ycow � @ s� d dl Z d dlZd dlZd dlZd dlm mZ d dlmZm Z m
Z
mZmZm
Z
mZ d dlmZmZ d dlmZ ddlmZ d dlmZmZ d dlmZ d dlmZmZ d d lmZ e j ej!d
d�Z!g d�Z"d
d� Z#e!e#�dd� �Z$G dd� d�Z%G dd� de%�Z&e&� Z'G dd� de%�Z(e(� Z)G dd� d�Z*G dd� de*�Z+e+� Z,G dd� de*�Z-e-� Z.ed
�G dd� d��Z/ed
�G dd � d ��Z0G d!d"� d"�Z1e1d#d$�Z2e1d%d$�Z3d1d&d'�Z4e!e4�d2d(d)��Z5ed
�d3d+d,��Z6d-d.� Z7e!e7�d/d0� �Z8dS )4� N)�asarray�
ScalarType�array�alltrue�cumprod�arange�ndim)�find_common_type�
issubdtype� )�diff)�ravel_multi_index�
unravel_index)�
set_module)� overrides�linspace)�
as_stridedZnumpy)�module)r
r �mgrid�ogrid�r_�c_�s_� index_exp�ix_�ndenumerate�ndindex�
fill_diagonal�diag_indices�diag_indices_fromc G s | S �N� )�argsr! r! �</usr/lib64/python3.9/site-packages/numpy/lib/index_tricks.py�_ix__dispatcher s r$ c G s� g }t | �}t| �D ]�\}}t|tj�sFt|�}|jdkrF|�tj�}|j dkrXt
d��t|jtj
�rp|�� \}|�d| |jf d|| d �}|�|� qt|�S )a5
Construct an open mesh from multiple sequences.
This function takes N 1-D sequences and returns N outputs with N
dimensions each, such that the shape is 1 in all but one dimension
and the dimension with the non-unit shape value cycles through all
N dimensions.
Using `ix_` one can quickly construct index arrays that will index
the cross product. ``a[np.ix_([1,3],[2,5])]`` returns the array
``[[a[1,2] a[1,5]], [a[3,2] a[3,5]]]``.
Parameters
----------
args : 1-D sequences
Each sequence should be of integer or boolean type.
Boolean sequences will be interpreted as boolean masks for the
corresponding dimension (equivalent to passing in
``np.nonzero(boolean_sequence)``).
Returns
-------
out : tuple of ndarrays
N arrays with N dimensions each, with N the number of input
sequences. Together these arrays form an open mesh.
See Also
--------
ogrid, mgrid, meshgrid
Examples
--------
>>> a = np.arange(10).reshape(2, 5)
>>> a
array([[0, 1, 2, 3, 4],
[5, 6, 7, 8, 9]])
>>> ixgrid = np.ix_([0, 1], [2, 4])
>>> ixgrid
(array([[0],
[1]]), array([[2, 4]]))
>>> ixgrid[0].shape, ixgrid[1].shape
((2, 1), (1, 2))
>>> a[ixgrid]
array([[2, 4],
[7, 9]])
>>> ixgrid = np.ix_([True, True], [2, 4])
>>> a[ixgrid]
array([[2, 4],
[7, 9]])
>>> ixgrid = np.ix_([True, True], [False, False, True, False, True])
>>> a[ixgrid]
array([[2, 4],
[7, 9]])
r r z!Cross index must be 1 dimensional)r )�len� enumerate�
isinstance�_nx�ndarrayr �size�astypeZintpr �
ValueErrorr
�dtypeZbool_ZnonzeroZreshape�append�tuple)r"