403Webshell
Server IP : 209.209.40.120  /  Your IP : 216.73.217.112
Web Server : Microsoft-IIS/10.0
System : Windows NT NEWWWW 10.0 build 17763 (Windows Server 2019) i586
User : NEWWWW$ ( 0)
PHP Version : 8.3.30
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Python312/Lib/site-packages/numpy/lib/tests/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python312/Lib/site-packages/numpy/lib/tests/__pycache__/test_function_base.cpython-312.pyc
�

	�g�����ddlZddlZddlZddlZddlmZddlZddlZddlZddl	m
Z
ddlmZ
ddlmZddlZddlmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0ddl1m2Z2ddl3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@ddlAmBcmCZDddlEmFZFdd	lGmHZHd
�ZId�ZJGd�d
�ZKGd�d�ZLGd�d�ZMGd�d�ZNej�j�dgd��d��ZQGd�d�ZRGd�d�ZSGd�d�ZTGd�d�ZUGd�d �ZVGd!�d"�ZWGd#�d$�ZXGd%�d&�ZYGd'�d(�ZZGd)�d*�Z[d+�Z\Gd,�d-�Z]Gd.�d/�Z^Gd0�d1�Z_Gd2�d3�Z`Gd4�d5�ZaGd6�d7�Zbdmd8�Zcdnd9�ZdGd:�d;�ZeGd<�d=�ZfGd>�d?�ZgGd@�dA�Zhej�j�ddBej�dCzej�dDz�ej�j�dEgdF��GdG�dH���ZjGdI�dJ�ZkGdK�dL�ZlGdM�dN�ZmGdO�dP�ZnGdQ�dR�ZoGdS�dT�ZpGdU�dV�ZqGdW�dX�ZrGdY�dZ�ZsGd[�d\�ZtGd]�d^�ZuGd_�d`�ZvGda�db�Zwgdc�ZxddgZyGde�df�ZzGdg�dh�Z{Gdi�dj�Z|Gdk�dl�Z}y)o�N)�Fraction)�arrays)�partial)�ma�angle�average�bartlett�blackman�corrcoef�cov�delete�diff�digitize�extract�flipud�gradient�hamming�hanning�i0�insert�interp�kaiser�meshgrid�	piecewise�place�rot90�select�setxor1d�sinc�	trapezoid�
trim_zeros�unwrap�unique�	vectorize)�	AxisError)
�assert_�assert_equal�assert_array_equal�assert_almost_equal�assert_array_almost_equal�
assert_raises�assert_allclose�assert_warns�assert_raises_regex�suppress_warnings�HAS_REFCOUNT�IS_WASM�NOGIL_BUILD)�rand)�normalize_axis_tuplec�p�tj|�}tjj||�}|S�N)�np�arange�add�outer)�n�datas  �DC:\Python312\Lib\site-packages\numpy/lib/tests/test_function_base.py�get_matr> s(��
�9�9�Q�<�D�
�6�6�<�<��d�#�D��K�c��tjtj||�jtj�}||_||_|S)za
    Like real + 1j * imag, but behaves as expected when imag contains non-finite
    values
    )r7�zeros�	broadcast�shape�
complex128�real�imag)rErF�rets   r=�
_make_complexrH&s<��

�(�(�2�<�<��d�+�1�1�2�=�=�
A�C��C�H��C�H��Jr?c��eZdZd�Zd�Zd�Zy)�	TestRot90c���ttttjd��ttttjd�d��ttttjd�d��ttttjd�d��ttttjd�d��gd�gd	�g}d
dgddgd
dgg}gd�gd�g}dd
gddgdd
gg}gd�gd	�g}tddd�D]}t
t||��|��tddd�D]}t
t||��|��tddd�D]}t
t||��|��td
dd�D]}t
t||��|��t
tt|d��d��|�t
t|dd��t|dd���y)N���rNrN�r�rN��axes�rNrN�rrN�rPrP)���rP��rL�rNrYrPrrX�rYrLrX�rNrPr����
)�krV����rrP�rPr�r^rR)r+�
ValueErrorrr7�ones�ranger')�self�a�b1�b2�b3�b4r^s       r=�
test_basiczTestRot90.test_basic2s����j�%������4��j�%�����)9��H��j�%������e�D��j�%������e�D��j�%�����)9��G�
�
�
���!�f��!�f��!�f��������!�f��!�f��!�f��������r�2�q�!�	,�A���q�A���+�	,��r�2�q�!�	,�A���q�A���+�	,��r�2�q�!�	,�A���q�A���+�	,��q�"�a��	,�A���q�A���+�	,�	�U�5���/�e�<�a�@��U�1���.��a�2�E�0J�Kr?c���tjd�}tt|�jd�tt|d��t|d���tt|d��t|d���y)N)�2�(rX)rornrXrTrQ�rr_�rPrN�rVr_)r7rdr'rrC�rfrgs  r=�	test_axeszTestRot90.test_axesRsR���G�G�K� ���U�1�X�^�^�[�1��U�1�5�)�5���+@�A��U�1�5�)�5���+A�Br?c	���tjd�jd�}ddgddggddgd	d
ggg}ddgddggd
dgd	dggg}d	dgddggd
dgddggg}d	d
gddggddgddggg}tt	|d��|�tt	|d
��|�tt	|d��|�tdd
�D])}tt	||d��t	||dz
d����+y)N�rMrNrX��rrPrLrYr`rQrarq)rNrrb)r7r8�reshaper'rre)rfrg�
a_rot90_01�
a_rot90_12�
a_rot90_20�
a_rot90_10r^s       r=�test_rotation_axeszTestRot90.test_rotation_axesXsD���I�I�a�L� � ��)���1�v��1�v���1�v��1�v�� �
��1�v��1�v���1�v��1�v�� �
��1�v��1�v���1�v��1�v�� �
��1�v��1�v���1�v��1�v�� �
�
	�U�1�6�*�J�7��U�1�6�*�J�7��U�1�6�*�J�7��q���	@�A���q�A�F�3��z�Q�q�S�v�>�
@�	@r?N)�__name__�
__module__�__qualname__rlrtr~�r?r=rJrJ1s��L�@C�@r?rJc�B�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zy
)�TestFlipc��tttjtjd�d��tttjtjd�d��tttjtjd�d��tttjtjd�d��y)NrLrP��axis�rLrLrNr\�rrX)r+r%r7�fliprd�rfs r=rtzTestFlip.test_axeswsj���i����"�'�'�!�*�1�=��i����"�'�'�&�/��B��i����"�'�'�&�/��C��i����"�'�'�&�/��Gr?c���td�}|dd�ddd�f}ttj|d�|�gd�gd�g}gd�gd�g}ttj|d�|�y)NrLr_rPrOrWr[rZ�r>r'r7r��rfrg�bs   r=�
test_basic_lrzTestFlip.test_basic_lr}s^���A�J��
�a��2��g�J���R�W�W�Q��]�A�&�
�
�
��
�
�
���R�W�W�Q��]�A�&r?c���td�}|ddd�dd�f}ttj|d�|�gd�gd�g}gd�gd�g}ttj|d�|�y)NrLr_rrOrWr�r�s   r=�
test_basic_udzTestFlip.test_basic_ud�s^���A�J��
�d��d�A�g�J���R�W�W�Q��]�A�&�
�
�
��
�
�
���R�W�W�Q��]�A�&r?c���tjddgddggddgddggg�}tjddgddggddgddggg�}ttj|d�|�y�	NrrPrNrXrLrYrwrx�r7�arrayr'r�r�s   r=�test_3d_swap_axis0zTestFlip.test_3d_swap_axis0�����H�H��1�v��1�v���1�v��1�v�� �
!��

�H�H��1�v��1�v���1�v��1�v�� �
!��
	�R�W�W�Q��]�A�&r?c���tjddgddggddgddggg�}tjddgddggddgddggg�}ttj|d�|�yr�r�r�s   r=�test_3d_swap_axis1zTestFlip.test_3d_swap_axis1�r�r?c���tjddgddggddgddggg�}tjddgddggddgddggg�}ttj|d�|�yr�r�r�s   r=�test_3d_swap_axis2zTestFlip.test_3d_swap_axis2�r�r?c
�,�tjd�jdddd�}t|j�D]U}ttj||�tj|jd|��j|d���Wy)N�xrNrXrLrYr)	r7r8ryre�ndimr'r�r�swapaxes)rfrg�is   r=�test_4dzTestFlip.test_4d�ss���I�I�m�$�,�,�Q��1�a�8���q�v�v��	E�A������A�����1�:�:�a��#3�4�=�=�a��C�
E�	Er?c��tjgd�gd�g�}tjgd�gd�g�}ttj|�|�y)N�rPrNrX�rLrYrw)rwrYrL�rXrNrPr�r�s   r=�test_default_axiszTestFlip.test_default_axis�sD���H�H�i��!�
"���H�H�i��!�
"���R�W�W�Q�Z��#r?c��tjddgddggddgddggg�}ttj|d	�
�|�tjddgddggddgddggg�}ttj|d�
�|�tjddgddggddgddggg�}ttj|d�
�|�y)
NrrPrNrXrLrYrwrxr�r�rTrqr��rfrgr��cs    r=�test_multiple_axeszTestFlip.test_multiple_axes�s����H�H��1�v��1�v���1�v��1�v�� �
!��
	�R�W�W�Q�R�(�!�,��H�H��1�v��1�v���1�v��1�v�� �
!��
	�R�W�W�Q�V�,�a�0��H�H��1�v��1�v���1�v��1�v�� �
!��
	�R�W�W�Q�V�,�a�0r?N)rr�r�rtr�r�r�r�r�r�r�r�r�r?r=r�r�us1��H�'�'�'�'�'�E�$�1r?r�c��eZdZd�Zd�Zy)�TestAnyc���gd�}gd�}gd�}ttj|��ttj|��ttj|��y)N�rrrPr�rrrr)rPrrPr)r&r7�any�rf�y1�y2�y3s    r=rlzTestAny.test_basic�sC��
��
��
������r�
������r�
���B�F�F�2�J��r?c���gd�gd�gd�g}ttj|��ttj|d��gd��ttj|d��gd��y)N�rrr�rrPr�rPrPrrr�rP�rrPrP)r&r7r�r(�rfr�s  r=�test_ndzTestAny.test_nd�sH����I�
.������r�
���2�6�6�"�1�-�y�9��2�6�6�"�1�-�y�9r?N�rr�r�rlr�r�r?r=r�r��s�� �:r?r�c��eZdZd�Zd�Zy)�TestAllc�8�gd�}gd�}gd�}ttj|��ttj|��ttj|��ttjtj|���y)N)rrPrPrr��rPrPrPrP)r&r7�allr�r�s    r=rlzTestAll.test_basic�s`��
��
��
���B�F�F�2�J�������r�
���B�F�F�2�J������������}�%�&r?c���gd�gd�gd�g}ttj|��ttj|d��gd��ttj|d��gd��y)N�rrrPr��rPrPrPrr�rP)r&r7r�r(r�s  r=r�zTestAll.test_nd�sJ����I�
.���B�F�F�2�J����2�6�6�"�1�-�y�9��2�6�6�"�1�-�y�9r?Nr�r�r?r=r�r��s��'�:r?r��dtype)�i8�U10�objectzdatetime64[ms]c��tjd|��}tj|�jtjk(sJ�tj
|�jtjk(sJ�y)NrX�r�)r7rdr�r��boolr�)r��arrs  r=�test_any_and_all_result_dtyper��sR��
�'�'�!�5�
!�C�
�6�6�#�;������'�'�'�
�6�6�#�;������'�'�'r?c��eZdZd�Zd�Zd�Zy)�TestCopyc���tjddgddgg�}tj|�}t||�d|d<t	|dd�t	|dd�y)NrPrNrXrL�
)rr)r7r��copyr(r')rfrg�a_copys   r=rlzTestCopy.test_basicsY���H�H�q�!�f�q�!�f�%�&���������1�f�%���t���Q�t�W�a� ��V�D�\�2�&r?c��tjddgddgg�}t|jj�t|jj
�tjddgddggd��}t|jj�t|jj
�tj|�}t|jj�t|jj
�tj|�}t|jj�t|jj
�y)NrPrNrXrL�F��order)r7r�r&�flags�c_contiguous�f_contiguousr�)rfrg�a_fortr��a_fort_copys     r=�
test_orderzTestCopy.test_orders���
�H�H�q�!�f�q�!�f�%�&������$�$�%��A�G�G�(�(�(�)����A�q�6�A�q�6�*�#�6���F�L�L�-�-�-�.�����)�)�*�����������)�)�*��F�L�L�-�-�-�.��g�g�f�o���K�%�%�2�2�2�3���!�!�.�.�/r?c�`�tjd�}ttjt	j
|d����ttjt	j
|d����ttjt	j
|���y)NrYF)�subokT)rrdr&�
isMaskedArrayr7r�)rf�mxs  r=�
test_subokzTestCopy.test_subok!sl��
�W�W�Q�Z���B�$�$�R�W�W�R�u�%=�>�>�?��� � �����4�!8�9�:��B�$�$�R�W�W�R�[�1�1�2r?N)rr�r�rlr�r�r�r?r=r�r�s��'�0�"3r?r�c���eZdZd�Zej
j
dgd�ddggd�dgdgfgd	�gd
�gdgd�gd
dggd�ggd�gfg�d��Zd�Zd�Z	d�Z
d�Zd�Zd�Z
d�Zy)�TestAveragec�|�tjgd��}tt|d��dk(�tjgd��}tt|d��dk(�gd�}tt|d��dk(�tjd�}d|d	<d
|d<t|j
d�t|d��t|j
d�t|d��td
d
�}t|j
d�t|d��t|j
d�t|d��y)Nr�rr��@���?r��@)�r�r�r�r�r`rNrarPrY)r7r�r&rrdr)�meanr3)rfr�r�r��y4�y5s      r=rlzTestAverage.test_basic+s���
�X�X�i�
 ������#�r�)�*�
�X�X�l�
#������#�r�)�*�
������#�r�)�*�
�W�W�V�_����4����4���B�G�G�A�J���A��7��B�G�G�A�J���A��7�
�!�Q�Z���B�G�G�A�J���A��7��B�G�G�A�J���A��7r?z<x, axis, expected_avg, weights, expected_wavg, expected_wsumr�Nr�)rXrLrP��?� @)rPrNrY)rPrw�r)r��@r�rPrX)r��@�#@�rLrLrLc� �tj||d��}|jtj|�k(sJ�t||�tj|||d��}|jtj|�k(sJ�t||�tj|||dd��\}}	|jtj|�k(sJ�t||�|	jtj|�k(sJ�t|	|�y)NT�r��keepdims)r��weightsr�)r�r��returnedr�)r7rrCr()
rf�xr��expected_avgr��
expected_wavg�
expected_wsum�avg�wavg�wsums
          r=�test_basic_keepdimszTestAverage.test_basic_keepdims=s����j�j����5���y�y�B�H�H�\�2�2�2�2��3��-��z�z�!�$��$�G���z�z�R�X�X�m�4�4�4�4��4��/��Z�Z���g��)-�/�
��d��z�z�R�X�X�m�4�4�4�4��4��/��z�z�R�X�X�m�4�4�4�4��4��/r?c��tjd�}tjd�}t||��}tjd�dzj�dztjd�j�z}t	||�tj
gd�gd�g�}ddg}t||d�	�}tj
gd
��}t	||�gd�}t||d�	�}tj
dd
g�}t	||�t
jtd��5t||��ddd�gd�gd�g}tj
dd
g�}tt||d�	�|�tt||��d�td�jtj�}	td�jtj�}
ttj|	|
��j tj"|	|
�k(�tj
gd��j%dd�}tj
gd��j%dd�}tj||dd��}tj
gd��}t||�tj||dd��}tj
dgdgdgg�}t||�y#1swY���xYw)Nr��r�rNr�r�r�rPr�r�r�)r�r�r�r�r��@z:Axis must be specified when shapes of a and weights differ��match)rrrNr�rY�rNrXrLrXF)r�r�r�)r�r�r�Tr�r�)r7r8r�sumr)r��pytest�raises�	TypeErrorr(r'r3�astype�float32�float64r&r��result_typery)rf�y�w�actual�desiredr��w0�w1�w2r��w3r�s            r=�test_weightszTestAverage.test_weightsTsD���I�I�b�M���I�I�b�M����A�&���9�9�R�=�A�%�*�*�,�r�1�B�I�I�b�M�4E�4E�4G�G���F�G�,�
�X�X�y�)�,�
-����V����R�a�0���(�(�<�(���F�G�,�
����R�a�0���(�(�B��8�$���F�G�,��]�]��+�,�	$�
�B��#�		$���
#���(�(�B��8�$���7�2�r��:�G�D��W�R��,�b�1�
�!�W�^�^�B�J�J�
'��
�!�W�^�^�B�J�J�
'����
�
�2�r�*�0�0�B�N�N�2�r�4J�J�K�
�H�H�Y��'�'��1�-���H�H�Y��'�'��1�-�����A�q�q�5�A���(�(�<�(���6�7�+����A�q�q�4�@���(�(�R�D�2�$���-�.���6�7�+�7	$�	$�s�1K1�1K;c��tjd�jddd�}tjgd��jddd�}|dd�dd�df}t	|d|��}tjgd��}t||�|d	dd�dd�f}t	|d
|��}tjddg�}t||�|dd�ddd�f}t	|d
|��}tjddg�}t||�t
jtd��5t	|d|��ddd�t
jtd��5t	|d|��ddd�t	|d|��}t	|d|j��}t||�t	|d|��}t|jdk(�y#1swY��xYw#1swY�nxYw)N�rNrX)r�r�r���?rr�r�rrr�r�r�rr`)r�r���@r��"@rPrqg@g� @rT�@g@zHShape of weights must be consistent with shape of a along specified axisrrOra)r7r8ryr�rr)rrrc�Tr&r�)rfrr�subw0rr�subw1�subw2s        r=�$test_weight_and_input_dims_differentz0TestAverage.test_weight_and_input_dims_different�s����I�I�b�M�!�!�!�Q��*���H�H�E�F�
�W�Q��1�
�	
��!�Q��'�
������7���(�(�<�(���F�G�,��!�Q��'�
������7���(�(�D�$�<�(���F�G�,��!�Q��'�
������7���(�(�D�$�<�(���F�G�,��]�]��8�9�	6�
�A�I�u�5�		6��]�]��8�9�	3�
�A�F�E�2�		3�����7���!�&�%�'�'�:���F�G�,����A�6������q� �!�'	6�	6��	3�	3�s�!G�G�G�Gc��tjgd�gd�g�}t|d��\}}t|d�t|dd��\}}t	|tjgd���t|dd��\}}t	|tjd	d	g��dd
g}t||dd��\}}t	|tjgd���gd�}t||dd��\}}t	|tjddg��gd
�gd�g}t||dd��\}}t	|tjddg��y)Nr�r�T)r�rr)r�r�r�rPr�rN)r�r�r�)r�r�r�r�r�)r7r�rr'r()rfrr��sclrrrs       r=�
test_returnedzTestAverage.test_returned�s���H�H�i��+�,���1�t�,���S��S�"���1�a�$�/���S��3����� 6�7��1�a�$�/���S��3����"�b�� 2�3���V���1�b�q�4�@���S��3����� 6�7�
���1�b�q�4�@���S��3����"�b�� 2�3���
#���1�b�q�4�@���S��3����"�b�� 2�3r?c��Gd�dtj�}tjddgddgg�j|�}tjddgddgg�j|�}t	ttj|��|�t	ttj||���|�y)Nc��eZdZy)�-TestAverage.test_subclasses.<locals>.subclassN�rr�r�r�r?r=�subclassr,����r?r.rPrNrXrLr)r7�ndarrayr��viewr'�typer)rfr.rgrs    r=�test_subclasseszTestAverage.test_subclasses�s���	�r�z�z�	��H�H�q��e�Q�q�E�]�#�(�(��2���H�H�q��e�Q�q�E�]�#�(�(��2���T�"�*�*�Q�-�(�(�3��T�"�*�*�Q��2�3�X�>r?c��gd�}|D]~\}}}tjddgddgg|��}tjddgddgg|��}ttj||��jtj|����y)N))�i4r5�f8)r5�f4r6)r7r5r6)r7r7r7)r7r6r6rPrNrXrLr�r)r7r�r'rr�)rf�typs�at�wt�rtrgrs       r=�test_upcastingzTestAverage.test_upcasting�s{��9���	G�J�B��B����1�Q�%��1���b�1�A����1�Q�%��1���b�1�A�����A�q�1�7�7����"��F�	Gr?c��tjtd�D�cgc]}tj|���c}�}tjtd�D�cgc]}tjd���c}�}||j�z}t
|jd�t||���ycc}wcc}w)Nr�rPrr)	r7r�re�decimal�Decimalr
r)r�r)rfr�rg�_rs     r=�test_object_dtypezTestAverage.test_object_dtype�s~���H�H�%��)�<�Q�g�o�o�a�(�<�=���H�H�%��)�<�Q�g�o�o�a�(�<�=��	�Q�U�U�W����A�F�F�1�I�w�q�!�'<�=��=��<s�B9�B>c��tjtdd�tdd�g�}ttj|�tdd��y)NrPrYrXrN)r7r�rr'rrss  r=� test_average_class_without_dtypez,TestAverage.test_average_class_without_dtype�s9���H�H�h�q�!�n�h�q�!�n�5�6���R�Z�Z��]�H�Q��N�3r?)rr�r�rlr�mark�parametrizerrr&r)r3r<rArCr�r?r=r�r�)s���8�$�[�[���F�
�T�C�5�)�d�V�c�U�	;��j�
!�1��&7��a�&�?�#�i�[�
2�	3��0�
�0�".,�`("�T4�4?�G�>�4r?r�c�$�eZdZejgd��ejgd��ejgd��gZejgd��ejgd��ejgd��gZdd�Zd�Zd	�Z	d
�Z
d�Zd�Zd
�Z
y)�
TestSelectr�r��rxrv�	)FFF�FTF�FFTc��g}tt|��D]2}|t||�D��cgc]\}}||s�||��c}}xs|gz
}�4|Scc}}wr6)re�len�zip)rf�cond�values�default�output�m�V�Cs        r=�_selectzTestSelect._select�s]�����s�4�y�!�	P�A���F�D�(9�B���1�Q�q�T�q��t�B�O�w�i�O�F�	P��
��Cs
�
A
�A
c���|j}|j}tt||d��|j	||d���tt
|�d�tt
|�d�y)N��rQrX)�choices�
conditionsr(rrVr'rM�rfrZr[s   r=rlzTestSelect.test_basic�sX���,�,���_�_�
��6�*�g�r�B��<�<�
�G�R�<�H�	J�	�S��\�1�%��S��_�a�(r?c�F�tjd�tjgd��g}dtjd�jdd�g}t	t||�tjd��ttdgdgdg�	�jd
�y)NTrJrPrrLrX�rLrXrrY�rP)	r7r�r8ryr(rrdr'rC�rfr[rZs   r=�test_broadcastingzTestSelect.test_broadcasting�su���h�h�t�n�b�h�h�/C�&D�E�
��b�i�i��m�+�+�A�q�1�2���6�*�g�6������H��V�T�F�Q�C�!��5�;�;�T�Br?c	�D�tt|j|jd�jt
j�|jD�cgc]!}|jt
j���#}}tt|j|�jt
j�tjdddt
jddg�}tj|�}tt|g|g�dddt
jddg�ycc}w)N��?rPrNrXrYrxr)r'rr[rZr�r7rDr�int8r��nan�isnan)rf�choicerZ�drSs     r=�test_return_dtypezTestSelect.test_return_dtypes����V�D�O�O�T�\�\�2�>�D�D��]�]�	$�9=���E�f�6�=�=����)�E��E��V�D�O�O�W�5�;�;�R�W�W�E��H�H�a��A�r�v�v�q�!�,�-���H�H�Q�K���V�Q�C�!��%��1�a�����A�'>�?��Fs�&Dc�^�tttggd�tttgg�y)N�@)r+rcrr�s r=�test_deprecated_emptyz TestSelect.test_deprecated_emptys ���j�&�"�b�"�5��j�&�"�b�1r?c�R�|j}|jdd}|djtj�|d<ttt||�|djtj�|d<ttt||�ttt||�y�Nr)	rZr[rr7�int_r+r
r�uint8r\s   r=�test_non_bool_deprecationz$TestSelect.test_non_bool_deprecations{���,�,���_�_�Q�'�
�"�1�
�,�,�R�W�W�5�
�1�
��i���W�=�"�1�
�,�,�R�X�X�6�
�1�
��i���W�=��i���W�=r?c��tjdg�gdz}tjdg�gdz}t||�y)NF�drP)r7r�rr`s   r=�test_many_argumentszTestSelect.test_many_argumentss:���h�h��w�'�(�3�.�
��8�8�Q�C�=�/�C�'���z�7�#r?N�r)rr�r�r7r�rZr[rVrlrarirlrqrtr�r?r=rGrG�s����r�x�x�	�"��r�x�x�	�"��r�x�x�	�"�$�G��"�(�(�0�1��"�(�(�/�0��"�(�(�/�0�2�J��)�C�
@�2�>�$r?rGc�~�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	e
jjdd	d
g�d��Z
y)
�
TestInsertc
��gd�}tt|dd�gd��tt|dd�gd��tt|gd�gd��gd��tt|dgd��gd��tt|gd	�d
�gd��tt|tddd�d
�gd
��tt|gd�gd��gd��tjddgtj
��}tt|d|d�gd��tt|gg�|�tt|tjdgdz�d
�gd��tt|tjgd��d
�gd��y)Nr�rrP)rPrPrNrXrX)rPrNrXrPr�)rPrPrNrXrNrX)rPr_rXrI)rPrIrNrIrXrIr_)rIrPrIrNrIrX�r_rPrXrH)rPrvrNrxrXrIr��r�r�r�TrL)rIrPrIrNrIrXrI)TFTF)rIrPrNrIrX)r'r�slicer7r�rr�s   r=rlzTestInsert.test_basic$s�����V�A�q�!�_�l�3��V�A�q�!�_�l�3��V�A�y�)�4�6H�I��V�A�q�)�,�.@�A��V�A�z�1�-�/A�B��V�A�u�R��r�2�A�6�8J�K��V�A�z�9�5�7I�J��H�H�a��V�2�:�:�.���V�A�q�!�A�$�'��6��V�A�r�2�&��*��V�A�r�x�x���q��1�1�5�7L�M��V�A�r�x�x�(B�C�Q�G�$�	&r?c�0�gd�g}gd�gd�g}tt|ddg�gd��tt|dgd�d��|�tt|ddd��|�tt|ddd��gd�g�tjddgddgd	d	gg�}tjdd
�jd	�j
d	d	�}tj|dd�dd�ftjdd
�jd	�j
d	d	�j|dd�dd�ffd��}tt|dgdgdgd	ggd��|�tt|dggd�d��|�tt|dgd�d��|�tt|ddgdgd	ggd��|�tjd
�j
dd�}tt|dd�dd�fd|dd�dfd��|�tt|dd�dd�fd|ddd�fd��|�tjd�j
d
�}tt|d|dd�dd�d	fd��t|d|dd�dd�d	fd���tt|d|dd�ddd�fd��t|d|dd�ddd�fd���ttt|d|dd�ddd�fd	��ttt|d|dd�ddd�fd��tjd�j
d
�}tt|d|dd�dd�d	fd��t|d|dd�dd�d	fd���tt|d|dd�ddd�fd��t|d|dd�ddd�fd���y)Nr�rMrrPr�r�rN)rPrPrNrPrXrLr��r	r_rV���)r'rr7r�r8�repeatry�concatenater"r+r%)rfrg�rr�r�s     r=�
test_multidimzTestInsert.test_multidim4s:��
�K��
�
�
���V�A�q�1�#�&��5��V�A�q�)�!�4�a�8��V�A�q�!�!�,�a�0��V�A�q�!�!�,�|�n�=��H�H�q�!�f�q�!�f�q�!�f�-�.���I�I�a��O�"�"�1�%�-�-�a��3���N�N�
�q�!�A�#�v�Y��	�	�!�Q��.�.�q�1�9�9�!�Q�?�A�A�
�q�!�A�#�v�Y�
��
!��	�V�A��s�a�S�1�#��s�O�!�<�a�@��V�A��s�I�A�6��:��V�A�q�)�!�4�a�8��V�A�q�A�3���a�S�/��:�A�>��I�I�a�L� � ��A�&���V�A�a��!��e�H�a��1�a�4��q�9�1�=��V�A�b�q�b��d�G�Q��!�A�#��Q�7��;�
�I�I�b�M�!�!�)�,���V�A�q�!�A�a��F�)�"�5��A�q�!�A�a��F�)�!�4�	6��V�A�q�!�A�q��F�)�"�5��A�q�!�A�q��F�)�!�4�	6�	�i���A�q��A�q��z��B��i���A�q��A�q��z��C�
�I�I�b�M�!�!�)�,���V�A�q�!�A�q�!�G�*�2�6��A�q�!�A�q�!�G�*�1�5�	7��V�A�q�!�A�q�!�G�*�2�6��A�q�!�A�q�!�G�*�1�5�	7r?c�"�tjd�}tjt�5t|gdd��ddd�tjt�5t|gdd��ddd�y#1swY�;xYw#1swYyxYw)NrPrNrr��nonsense)r7r�rrr%rr
rss  r=�test_0dzTestInsert.test_0d^sr���H�H�Q�K��
�]�]�9�
%�	%��1�b�!�!�$�	%�
�]�]�9�
%�	.��1�b�!�*�-�	.�	.�	%�	%��	.�	.�s�A9� B�9B�Bc��Gd�dtj�}tjd�j|�}t	ttj|ddg�|��t	ttj|gg�|��t	ttj|ddgddg�|��t	ttj|tdd�ddg�|��t	ttj|tddd�g�|��tjd�j|�}t	ttj|ddg�|��y)	Nc��eZdZy)�*TestInsert.test_subclass.<locals>.SubClassNr-r�r?r=�SubClassr�fr/r?r�r�rrPrNrVr_)	r7r0r8r1r&�
isinstancerr{r��rfr�rgs   r=�
test_subclasszTestInsert.test_subclasses	��	�r�z�z�	��I�I�b�M���x�(���
�2�9�9�Q��A�3�/��:�;��
�2�9�9�Q��B�/��:�;��
�2�9�9�Q��A���A��7��B�C��
�2�9�9�Q��a���a��V�<�h�G�H��
�2�9�9�Q��a��R�(8�"�=�x�H�I��H�H�Q�K���X�&���
�2�9�9�Q��A�3�/��:�;r?c��tjgd��}tjgd�|gd��t|tjgd���y)Nr�rOrW)r7r�rr'�rfr�s  r=�test_index_array_copiedz"TestInsert.test_index_array_copiedrs3���H�H�Y���
�	�	�)�Q�	�*��Q�����+�,r?c�f�tjgd�ddg��}d}tj|d|�}t|dtj||j���dgdz}tj|ddg|�}t|ddgtj||j���y)	N))rPrg)rNr�)rXr�)�foor�)�bar�S1r�)rLrhrrNrX)r7r�rr(r�)rfrg�valr�s    r=�test_structured_arrayz TestInsert.test_structured_arrayws����H�H�3�(�-�8�
:�����I�I�a��C� ���1�Q�4����#�Q�W�W�!=�>��j�1�n���I�I�a�!�Q���%���1�a��V�9�b�h�h�s�!�'�'�&B�Cr?c��tjt�5tjgd�tj
ddg�ddg�ddd�tjt�5tjgd�tj
gt��g�ddd�y#1swY�^xYw#1swYyxYw)NrOr�r�r��r�)rr�
IndexErrorr7rr��floatr�s r=�test_index_floatszTestInsert.test_index_floats�s���
�]�]�:�
&�	A��I�I�i����3��*�!5��B�x�@�	A�
�]�]�:�
&�	@��I�I�i����"�E�!:�B�?�	@�	@�	A�	A��	@�	@�s�1B(�,3B4�(B1�4B=�idxrLr~c��tjtd��5tjgd�|gddg�ddd�y#1swYyxYw)Nz
out of boundsrrOrXrL)rrr�r7r)rfr�s  r=�test_index_out_of_boundsz#TestInsert.test_index_out_of_bounds�s;��
�]�]�:�_�
=�	0��I�I�i�#���A��/�	0�	0�	0�s�A�AN)rr�r�rlr�r�r�r�r�r�rrDrEr�r�r?r=rwrw"sQ��&� (7�T.�<�-�
D�@��[�[���U�Q��G�,�0�-�0r?rwc��eZdZd�Zy)�TestAmaxc���gd�}ttj|�d�gd�gd�gd�g}ttj|d��gd��ttj|d	��gd
��y)N�rXrLrYr�r\���r�$@�rXrr �rLr�r��rvr�r�rr�)r�r�r rP)r r�r�)r'r7�amaxr�s   r=rlzTestAmax.test_basic�sW��&���R�W�W�Q�Z��&�
�
�
�
��	�R�W�W�Q�Q�'�)9�:��R�W�W�Q�Q�'�)9�:r?N�rr�r�rlr�r?r=r�r��s��;r?r�c��eZdZd�Zy)�TestAminc���gd�}ttj|�d�gd�gd�gd�g}ttj|d��gd��ttj|d	��gd
��y)Nr�g�r�r�r�rr�)r�r�r�rP)r�r�r�)r'r7�aminr�s   r=rlzTestAmin.test_basic�sU��&���R�W�W�Q�Z��&�
�
�
�
��	�R�W�W�Q�Q�'��9��R�W�W�Q�Q�'��9r?Nr�r�r?r=r�r��s��:r?r�c��eZdZd�Zy)�TestPtpc���tjgd��}ttj|d��d�tjgd�gd�gd�g�}ttj|d��gd��ttj|d	��gd
��ttj|dd��gd�g�ttj|d
d��dgg�y)Nr�rr��.@r�r�r�)r�rrr_)rrrTr�r`r�)r7r�r'�ptpr�s   r=rlzTestPtp.test_basic�s����H�H�/�0���R�V�V�A�A�&��-��H�H�m�$�#�%�
&��	�R�V�V�A�A�&��8��R�V�V�A�B�'��9��R�V�V�A�A��5��7H�I��R�V�V�A�F�T�:�c�U�G�Dr?Nr�r�r?r=r�r��s��
Er?r�c�|�eZdZejjdejejg�d��Z	y)�
TestCumsum�cumsumc
���gd�}gd�gd�gd�g}tjtjtjtjtj
tjtjtjtjtjf
D]�}tj||�}tj||�}tjgd�|�}t||d��|�tjgd�gd�gd	�g|�}t||d��|�tjgd
�gd�gd�g|�}t||d
��|���y)N�rPrNr�r�rwrYrL�rPrNrXrL�rYrwrxrI�r�rXrLrY)rPrXr]r}��#�'rr�)rwrvr�r])�r���)rPrXrwr�)rYr�r��)r�r]��rP)
r7rdrp�int16�uint16�int32�uint32rr�	complex64rDr�r()rfr��ba�ba2�ctyperg�a2�tgts        r=rlzTestCumsum.test_basic�s��
$���\�=�9���g�g�r�x�x����2�9�9�b�h�h��i�i����R�Z�Z�����m�m�%�	8�E�����U�#�A����#�u�%�B��(�(�5�u�=�C��v�a�a�0�#�6��(�(��~�/?�@�%�I�C��v�b�q�1�3�7��(�(���1A�B�E�K�C��v�b�q�1�3�7�	8r?N)
rr�r�rrDrEr7r��cumulative_sumrlr�r?r=r�r��s5���[�[���X��	�	�2�3D�3D�'E�F�8�G�8r?r�c��eZdZd�Zy)�TestProdc��gd�}gd�gd�gd�g}tjtjtjtjtj
tjtjtjfD]�}tj||�}tj||�}|dvr@tttj|�tttj|d��st|jd��d	�t|jd��tjgd
�|��t|jd��tjgd�|����y)
Nr�r�r�r���1r�rPrr�� g�rn�$�T�r_)r}�b�X)r7r�r�r�r�rrr�rDr�r+�ArithmeticError�prodr'r()rfr�r�r�rgr�s      r=rlzTestProd.test_basic�s���
$���\�=�9���h�h��	�	�2�8�8�R�Y�Y��j�j�"�*�*�b�l�l�B�M�M�K�	E�E�����U�#�A����#�u�%�B��
�"��o�r�w�w��:��o�r�w�w��A�>��Q�V�V��V�^�U�3�"�2�7�7��7�?�#%�8�8�,=�u�#E�G�"�2�7�7��7�#3�#%�8�8�O�U�#C�E�	Er?Nr�r�r?r=r�r��s��Er?r�c�|�eZdZejjdejejg�d��Z	y)�TestCumprod�cumprodc
��gd�}gd�gd�gd�g}tjtjtjtjtj
tjtjtjfD]�}tj||�}tj||�}|dvr5tt||�tt||d�tt||��ht||d��tjgd	�|��t||d
��tjgd�gd�gd�g|��t||d��tjgd
�gd�gd�g|����y)Nr�r�r�r�r�rPr_r�)rPrNr���i(i�r�r)rYr�r�r�)rPrNrwr})rYr���r�)r�r�r�r�)
r7r�r�r�r�rrr�rDr�r+r�r()rfr�r�r�r�rgr�s       r=rlzTestCumprod.test_basic�s3��
$���\�=�9���h�h��	�	�2�8�8�R�Y�Y��j�j�"�*�*�b�l�l�B�M�M�K�	J�E�����U�#�A����#�u�%�B��
�"��o�w��:��o�w��A�>��o�w��:�"�7�1�2�#6�#%�8�8�-@�AF�$H�I�#�7�2�A�#6�#%�8�8�\�-<�->�-@�AF�$H�I�#�7�2�B�#7�#%�8�8�]�-?�-?�-A�BG�$I�J�!	Jr?N)
rr�r�rrDrEr7r��cumulative_prodrlr�r?r=r�r��s7���[�[���Y����R�5G�5G�(H�I�J�J�Jr?r�c�@�tjd�jd�}tjddgddgddggddgddgdd	ggg�}t	tj
|dd
��|�tjgd�gd
�ggd�gd�gg�}t	tj|dd
��|�tjdtj��}tjddgddgddggtj��}tjdd�jd�}tj
|d|d
��t	||�tjgd��}t	tjtjddg�d
��|�y)NrvrMrrPrNrLrYr�rT)r��include_initial)rPrr)rPrNrw)rPrLr�)rPrw�*�rXrNr�rwrS)r��outr�)rPrNrL)r�)	r7r8ryr�r(r�r�rAr)r��expectedr�s   r=�test_cumulative_include_initialr��sb��
�)�)�A�,�
�
�y�
)�C��x�x�
�Q��!�Q��!�Q�� �A�q�6�A�q�6�B��8�"<���H��
���#�A�t�<�h���x�x�	�I���Z� 8���H��
���3�Q��=�x��
�(�(�6����
,�C��x�x�!�Q��!�Q��!�Q��0��
�
�C�H�
�)�)�A�q�/�
!�
!�&�
)�C����c��s�D�A��s�H�%��x�x�	�"�H��
���2�8�8�Q��F�+�T�B�H�r?c�<�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
y	)
�TestDiffc�8�gd�}tjgd��}tjgd��}tjddg�}tt|�|�tt|d��|�tt|d��|�gd	�}tjgd
��}t	t|�|�gd�}tjgd��}tjd
d
g�}tt|�|�tt|d��|�y)N)rPrLrwrxr)rXrNrPrY)r_r_rLrrYrN�r;rX)皙�����?皙����@r�g������ɿ皙������)r�皙�����?g������	�皙�����?)TTFFrJT)r7r�r(rr))rfr�r��out2�out3s     r=rlzTestDiff.test_basics������h�h�|�$���x�x��$���x�x��A�����4��7�C�(��4��Q�<��.��4��Q�<��.�'���h�h�,�-���D��G�S�)�&���h�h�+�,���x�x��t��%���4��7�C�(��4��Q�<��.r?c��tjd�}d|dd�ddd�dd�f<tjd�}d|dd�ddd�dd�f<tt	|�tjd��tt	|d��tjd��tt	|d��tjd	��tt	|d��|�tt	|d
��|�ttt|d��ttt|d��tjd
tj�}ttt|�y)N)r�r�r�rPrN)r��r�r_)r�r��r�r)rIr�r�rVrXr~g��q��?)
r7rArdr(rr+r%r�rrc)rfr��exps   r=�	test_axiszTestDiff.test_axis.s����H�H�\�"����!�Q�T��T�1�*�
��g�g�l�#����A�q�t�!�t�Q�J���4��7�B�H�H�\�$:�;��4���+�R�X�X�l�-C�D��4���?�B�H�H�[�,A�B��4���?�C�0��4���+�S�1��i��q�q�1��i��q�r�2��H�H�]�B�J�J�/���j�$��*r?c���dtddd�z}|dd�dd�dd�f|dd�dd�dd�fz
}|dd�dd�dd�f|dd�dd�dd�fz
}|dd�dd�dd�f|dd�dd�dd�fz
}|dd�dd�dd�f|dd�dd�dd�fz
}tt|�|�tt|d��|�tt|d�	�|�tt|dd�
�|�y)Nr�r�r�rPr_rNr�rr�)r;r�)r3r(r)rfr��out1r�r��out4s      r=r�zTestDiff.test_nd>s�����b�"�b�!�!����A�q�r��{�Q�q�!�S�b�S�y�\�)���A�q�!�"�H�~��Q��3�B�3�Y��/�����Q���{�Q�s��s�A�q�y�\�)���A�B��1�H�~��S�b�S�!�Q�Y��/���4��7�D�)��4��Q�<��.��4���?�D�1��4��Q�Q�/��6r?c
�0�ttd��}ttt|d��tdd�D�cgc]}t	||����}}ddgdgggg}tt	|d��|u�t
t||�d��D]�\}\}}tt|�tju�t||�t|jtj�tt|�t!dt|�|z
����ycc}w)NrXr_r�rPrYr��start)�listrer+rcrr&�	enumeraterNr2r7r0r(r'r�rorM�max)rfr�r;rRr�r�s      r=�test_nzTestDiff.test_nIs�����q��N���j�$��R�0�(-�a���4�1�$�q�A�,�4��4���F�Q�C��R�(����Q�!���!�"�"+�C��&�,A��"K�	7��A���#��D��I����+�,��s�H�-�����B�G�G�,���S��3�q�#�a�&�1�*�#5�6�		7��5s�Dc��tjddtj��}tjddgd��tjdgd��g}|j	tjgd��gdz�t|d��D]>\}}t
||�	�}t||�t|j|j��@y)
Nz
1066-10-13z
1066-10-16r�rP�timedelta64[D]rrXr�r�)
r7r8�
datetime64r��extendrrr(r'r�)rfr�r�r;r�r�s      r=�
test_timeszTestDiff.test_timesUs����I�I�l�L��
�
�F���H�H�a��V�#3�4��H�H�a�S� 0�1�
��	������"�,<�=�>��B�C����2�	/�F�A�s��q�A�,�C��s�C�(�����C�I�I�.�	/r?c	��tjddgddgddgddgd	d
ggddgddgddgddgddgg�
�}t|�}t|jdgdgdgdgdgg�t|j
dgdgdgdgdgg�t
t|�t|�u�t|d��}t|jgggggg�t|j
gggggg�t
t|�t|�u�y)NrPrNrXrLrYrwrxrvrIr�FT��maskr�)rr�rr(r<rr&r2)rfr�r�r�s    r=r�zTestDiff.test_subclassas���H�H�q�!�f�q�!�f�q�!�f�q�!�f�q�"�g�>�!�5�>�D�%�=�!�4�=�4��,����H�
I���1�g���3�8�8�q�c�A�3���a�S�1�#�%>�?��3�8�8�u�g��v�'+�f�t�f�u�g�&?�	@���S�	�T�!�W�$�%��A��|���4�9�9�r�2�r�2�r�&:�;��4�9�9�r�2�r�2�r�&:�;���T�
�d�1�g�%�&r?c���tjd�dz}tt|d��tjd��tt|dg��tjd��ttj
tj|d���|�tt|ddg��tjd��tjd�j
dd�}tj|dd�	�}ddgddgg}t||�tj|ddgdgg�	�}t||�tj|dd�	�}ddgddgg}t||�tj|dddgg�	�}t||�tttj|tjd
���ttt|dd��y)
NrYrPr)�prependr_rwrLrN)r�r�rXrXrX)rr�)r7r8r(rrdr�ryr+rcrAr%�rfr��resultr�s    r=�test_prependzTestDiff.test_prependpsi���I�I�a�L�1����4��1�-�r�w�w�q�z�:��4��A�3�/������<��2�9�9�R�W�W�Q��%:�;�Q�?��4��B��7�3�R�W�W�Q�Z�@��I�I�a�L� � ��A�&�������A�.����F�Q��F�#���6�8�,������a�S�1�#�J�7���6�8�,������A�.����F�Q��F�#���6�8�,������a��V�H�5���6�8�,��j�"�'�'�1�b�h�h�u�o�F��i��q�!�!�<r?c��tjd�}t|d��}gd�}t||�t|dg��}t||�t|ddg��}|dgz}t||�tjd�j	dd�}tj|dd��}dd	gdd
gg}t||�tj|ddgdgg��}t||�tj|dd��}ddgdd
gg}t||�tj|dddgg��}t||�tttj|tjd���ttt|dd
��y)NrYr)�append)rPrPrPrPr~rNrLrP)r�rr_r\rVrrX)rr�)	r7r8rr(ryr+rcrAr%rs    r=�test_appendzTestDiff.test_append�sM���I�I�a�L���a��"��#���6�8�,��a���$���6�8�,��a��A��'���q�c�>���6�8�,��I�I�a�L� � ��A�&�������1�-����G�a��W�%���6�8�,������Q�C�!��:�6���6�8�,������1�-����F�R��H�%���6�8�,������Q��F�8�4���6�8�,��j�"�'�'�1�R�X�X�e�_�E��i��q���;r?N)rr�r�rlr�r�rr	r�rrr�r?r=r�r�s*��/�&+� 	7�
7�
/�
'�=�0<r?r�c��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zejjd
ej dg�dgg�d��Zd
�Zy)�
TestDeletec��tjd�|_tjd�jd�j	ddd�|_y)NrYrNrP)r7r8rgrry�nd_ar�s r=�setup_methodzTestDelete.setup_method�s:�����1�����I�I�a�L�'�'��*�2�2�1�a��;��	r?c�R�t|j|�}t|j|d��}d|z}tt	||j|f�|j|��t	|ddd�df|jd|df�}t||jddd�df|��y)NrPr�zDelete failed for obj: %r)�err_msgr)r
rgrr(r)rf�indices�a_del�nd_a_del�msg�xors      r=�_check_inverse_of_slicingz$TestDelete._check_inverse_of_slicing�s����t�v�v�w�'���$�)�)�W�1�5��)�G�3���8�E�4�6�6�'�(�+<�=�t�v�v�#&�	(��x��!�Q��'����1�g�q�=�)A�B���3��	�	�!�A�q�&� 1�3�?r?c�z�gd�}gd�}|D].}|D]'}|D] }t|||�}|j|��"�)�0y)N)���rVrrPrNrLrY)r\r_rPrX)r{r")rf�lims�stepsr�stop�step�ss       r=�test_sliceszTestDelete.test_slices�sU��&�����	6�E��
6��!�6�D��e�T�4�0�A��2�2�1�5�6�
6�	6r?c�Z�|jtjddgddgg��tjt
�5t
|jdg�ddd�tjt
�5t
|jdg�ddd�|jgd��|jgd��tjt�5t
|jd�ddd�tjt�5t
|jd	�ddd�tjt�5t
|jd	gd
z�ddd�y#1swY��xYw#1swY��xYw#1swY��xYw#1swY�kxYw#1swYyxYw)NrrPrNrsi����)rr_rNrN)TFFTFTFrL)	r"r7r�rrr�r
rgrcr�s r=�
test_fancyzTestDelete.test_fancy�sC���&�&�r�x�x�!�Q��!�Q��0@�'A�B�
�]�]�:�
&�	"��4�6�6�C�5�!�	"�
�]�]�:�
&�	#��4�6�6�D�6�"�	#�	
�&�&�}�5��&�&�'H�I��]�]�:�
&�	!��4�6�6�4� �	!�
�]�]�:�
&�	"��4�6�6�5�!�	"��]�]�:�
&�	&��4�6�6�E�7�1�9�%�	&�	&�!	"�	"��	#�	#��	!�	!��	"�	"��	&�	&�s<�E0�=E=�F	�F�F!�0E:�=F�	F�F�!F*c�H�|jd�|jd�y)Nrr~)r"r�s r=�test_singlezTestDelete.test_single�s���&�&�q�)��&�&�r�*r?c��tjd�}tjt�5t|gd��ddd�tjt�5t|gd��ddd�y#1swY�:xYw#1swYyxYw)NrPrr�r�)r7r�rrr%r
r
rss  r=r�zTestDelete.test_0d�sn���H�H�Q�K��
�]�]�9�
%�	"��1�b�q�!�	"�
�]�]�9�
%�	+��1�b�z�*�	+�	+�	"�	"��	+�	+�s�A7�B�7B�Bc���Gd�dtj�}|jj|�}t	tt
|d�|��t	tt
|g�|��t	tt
|ddg�|��t	tt
|tdd��|��t	tt
|tdd��|��y)Nc��eZdZy)�*TestDelete.test_subclass.<locals>.SubClassNr-r�r?r=r�r2�r/r?r�rrPrNrV)r7r0rgr1r&r�r
r{r�s   r=r�zTestDelete.test_subclass�s���	�r�z�z�	��F�F�K�K��!���
�6�!�Q�<��2�3��
�6�!�R�=�(�3�4��
�6�!�a��V�,�h�7�8��
�6�!�U�1�a�[�1�8�<�=��
�6�!�U�1�b�\�2�H�=�>r?c�R�tjd�jddd��}t|t	dd�d��}t|jj|jj�t|jj|jj�y)	Nr�rNrYr�r��<rPr�)	r7r8ryr
r{r'r�r�r�)rfr^rSs   r=�test_array_order_preservez$TestDelete.test_array_order_preserve�ss���I�I�b�M�!�!�!�Q�c�!�2���1�e�B��o�A�.��	�Q�W�W�)�)�1�7�7�+?�+?�@��Q�W�W�)�)�1�7�7�+?�+?�@r?c�x�tjt�5tjgd�tj
ddg��ddd�tjt�5tjgd�tj
gt���ddd�y#1swY�]xYw#1swYyxYw)NrOr�r�r�)rrr�r7r
r�r�r�s r=r�zTestDelete.test_index_floats�s}��
�]�]�:�
&�	7��I�I�i����3��*�!5�6�	7�
�]�]�:�
&�	<��I�I�i����"�E�!:�;�	<�	<�	7�	7��	<�	<�s�.B$�)2B0�$B-�0B9�indexerrPc��t|jd�}t|j|�}t||�t|jdd��}t|jt	j
dg�d��}t||�y)NrPr�)r
rgr'rr7r�)rfr7�	a_del_intr�nd_a_del_intrs      r=�test_single_item_arrayz!TestDelete.test_single_item_array�sd���4�6�6�1�%�	��t�v�v�w�'���Y��&��d�i�i���3���$�)�)�R�X�X�q�c�]��;���\�8�,r?c�P�ttjd�tjdg��}t	|tjd��tjd�}tjdgt
��}tjdgt
��}t||d��}t	||�t||d��}t	||dd�dd�f�t
jt�5ttjd	�tjdgt���ddd�t
jt�5ttjd	�tjdgd
���ddd�y#1swY�axYw#1swYyxYw)NrPF�rXrPr�Tr_r�rrNzm8[ns])
r
r7rdr�r(r�rrr�r�)rf�resr��
false_mask�	true_masks     r=�test_single_item_array_non_intz)TestDelete.test_single_item_array_non_ints-���R�W�W�Q�Z����5�'�!2�3���3�����
�+�
�G�G�F�O���X�X�u�g�T�2�
��H�H�d�V�4�0�	��Q�
��,���3��"��Q�	��+���3��!�R�a�R�%��)��]�]�:�
&�	<��2�7�7�1�:�r�x�x���6�:�;�	<��]�]�:�
&�	>��2�7�7�1�:�r�x�x���8�<�=�	>�	>�	<�	<��	>�	>�s�6:F�6F�F�F%N)rr�r�rr"r*r,r.r�r�r5r�rrDrEr7r�r;rAr�r?r=rr�sn��<�@�6�&�*+�+�?�A�<��[�[���Y�����1�#����(<�=�-�>�-�>r?rc���eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
ejj!dej$ej&ej(ej*g�d
��Zejj!dej.ej0ej2ej4g�d��Zejj!dej$ej&ej(ej*g�d��Zejj!dej.ej0ej2ej4g�d��Zd�Zy)�TestGradientc��ddgddgg}tj|�}tjddgddgg�tjddgddgg�g}tt|�|�tt|�|�y)NrPrXrLr�r�r�r�)r7r�r(r�rf�vr��dxs    r=rlzTestGradient.test_basicsv����V�a��V����H�H�Q�K���h�h��R��2�r�(�+�,��h�h��R��2�r�(�+�,�.���8�A�;��+��8�A�;��+r?c
��tjtjd��}gd�}tjd�j	dd�}ttjd�d�ttjd�tjd��ttjd�|�t|d�t|tjd��t|||�t||d�t||d��ttd	t
|tj|gdzd
��d�y)NrY)r�r�r�r �&@�r���?rNrPr�z.*scalars or 1dr_)
r7r�rdr8ryrr�r.rc�stack)rfrG�	dx_uneven�f_2ds    r=�	test_argszTestGradient.test_args$s���
�Y�Y�r�w�w�q�z�
"��)�	��y�y��}�$�$�Q��*��	����1��r�"�����1��r�x�x��|�,�����1��r�"���s����r�x�x��}�%���y�)�,�	��r�1��	��r��"�	�J�(9��d�B�H�H�b�T�!�V�"�5�q�	:r?c	���tjd�jdd�}tjtjd��}ttt||tjd��ttt|dtjd��ttt|tjd�tjd��ttt||�ttt||d��ttt||||�ttt|ddd�ttt|||d��ttt|ddd��y)NrJrYrNrPr`r�)	r7r8ryr�rdr+rcrr
)rfrNr�s   r=�test_badargszTestGradient.test_badargs=s����y�y��}�$�$�Q��*���I�I�b�g�g�a�j�!��	�j�(�D�!�R�W�W�Q�Z�@��j�(�D�!�R�W�W�Q�Z�@��j�(�D�"�'�'�!�*�b�g�g�a�j�I��i��4��3��i��4���?��i��4��A�q�9��i��4��A�q�9��i��4��A�A�>��i��4��A�A�>r?c���tjgd�d��}tjgd�d��}tt|�|�t	|j
tj
d�k(�y)N)z
1910-08-16z
1910-08-11z
1910-08-10z
1910-08-12z
1910-10-12z
1910-12-12z
1912-12-12z
datetime64[D]r�)r�r\r��=i�i�r�r7r�r(rr&r��rfr�rGs   r=�test_datetime64zTestGradient.test_datetime64MsY���H�H�
7�!�
#���X�X�)�"�$��	�8�A�;��+�����B�H�H�%5�6�6�7r?c���tjjddgddggddgddgg��}t|�d}t	t|�t|��t
|j|ju�tjjd�}tjj|d<tj|d�	�t|jgd
��y)NrPrXrLFrrrYrN��
edge_order)FFTFF)r7rr�rr'r2r&�_maskr8�maskedr(r)rfr�r��x2s    r=�test_maskedzTestGradient.test_maskedYs����E�E�K�K�!�Q��!�Q��(�$�e�n�u�e�n�=�
�
?���q�k�!�n���T�#�Y��Q��(�	����s�y�y�(�)�
�U�U�\�\�!�_��������1��
���B�1�%��2�7�7�$F�Gr?c���tjddd�}|d|dz
}d|dzzd|dzzzd|zz}d|dzzd|zzdz}tjtj||d�	�|zdz
�}t	tj
|d
k�dk(�tjjd�tjtjj
d��}d|dzzd|dzzzd|zz}d|dzzd|zzdz}tjtj||d�	�|zdz
�}t	tj
|d
k�dk(�y)NrrPr�rNrXrLrwrvrYg���Q��?T)	r7�linspace�absrr&r��random�seed�sort)rfr�rGr�
analytical�	num_errors      r=�test_second_order_accuratez'TestGradient.test_second_order_accuratehsR��

�K�K��1�b�!��
�q�T�A�a�D�[��
��Q��J��Q�!�V��#�a�!�e�+����a��Z�!�a�%�'�!�+�
��F�F�B�K�K��2�!�<�z�I�Q�N�O�	�����y�4�'�(�D�0�1�	�	�	���q���G�G�B�I�I�$�$�R�(�)��
��Q��J��Q�!�V��#�a�!�e�+����a��Z�!�a�%�'�!�+�
��F�F�B�K�K��1��;�j�H�A�M�N�	�����y�4�'�(�D�0�1r?c���tjgd��}tj|d�|jdd�z}tjgd��}tjd�}tjgd�d�}tjgd�d�}tjgd	�d�}tjgd
�d�}d|fd|ffD�]\}}	t|dd
|��}
t|||d
|��}t|||d|��}t
|
|�t
||�t|
d|	j�t|
d|	�t|dd|��}
t||d|��}t|
j|jk(�t||	j�t|dd|��}
t||d|��}t|
j|jk(�t
||	���d|fd|ffD]�\}}	t|||d
|��}
t|||d|��}t
|
|�t|
d|	j�t|
d|	�t||d|��}
t|
|	j�t||d|��}
t|
|	���t|||d
d��}
t|||dd��}t
|
d|d�t
|
d|d�t|
d|j�t|
d|�t|||d
d��}
t|||dd��}t
|
d|d�t
|
d|d�t|
d|j�t|
d|�y)N)rr�r�r�r�r�)rwrPr_rP)r�rr�r�r�rr)r�rKr�r�rr�)�@rKr�r�r��)r�r��333333�?r��?r�)r�r�rkrrlgпrNr�r`)r�rZrra)r7r��tileryr8rr(r)r"r&rC)
rf�f�x_uneven�x_even�
fdx_even_ord1�
fdx_even_ord2�fdx_uneven_ord1�fdx_uneven_ord2rZ�exp_res�res1�res2�res3s
             r=�test_spacingzTestGradient.test_spacing|s)���H�H�,�-���G�G�A�u���	�	�"�a� 0�0���8�8�5�6�����2������ :�E�B�
���� =�u�E�
��'�'�">��F���'�'�"A�5�I��&'�
�$6��M�8J�#K�	.��J���A�r��*�E�D��A�v�v�!&�:�?�D��A�v�v�!%�*�>�D��t�T�*��t�T�*���Q�����3���Q���1��A�r��j�A�D��A�v�A�*�E�D��D�J�J�$�*�*�,�-���g�i�i�0��A�r��j�A�D��A�v�A�*�E�D��D�J�J�$�*�*�,�-��t�W�-�'	.�,&'��$8�1�o�:N�#O�
	/��J���A�x��!&�:�?�D��A�x��!%�*�>�D��t�T�*���Q�����3���Q���1��A�x�a�J�G�D���g�i�i�0��A�x�a�J�G�D���g�.�
	/� ��6�8�%�A�F����8�V�%�A�F���4��7�D��G�,��4��7�D��G�,��D��G�]�_�_�5��D��G�_�5���6�8�%�A�F����8�V�%�A�F���4��7�D��G�,��4��7�D��G�,��D��G�]�_�_�5��D��G�_�5r?c���ddgddgg}tj|�}tjddgddgg�tjddgddgg�g}tt|d�	�|d�tt|d�	�|d�tt|d
�	�|d�tt|d�	�|d|dg�t	t|d�	�|d|dg�t	t|d�	�t|��tt|ddd�	�|ddz|ddzg�ttt|ddd�	�ttt|d�	�ttt|d
�	�y)NrPrXrLr�r�r�r�rr�r_rarNr\)r7r�r(rr)r+r
r%rEs    r=�test_specific_axeszTestGradient.test_specific_axes�sI����V�a��V����H�H�Q�K���h�h��R��2�r�(�+�,��h�h��R��2�r�(�+�,�.���8�A�A�.��1��6��8�A�A�.��1��6��8�A�B�/��A��7��8�A�F�3�b��e�R��U�^�D�	�H�Q�T�2�R��U�B�q�E�N�C��H�Q�T�2�H�Q�K�@�	�8�A�q�!�&�9��q�E�#�I�r�!�u�S�y�1�	3�	�i��1�a���;��i��1�1�5��i��1�2�6r?c���tjgd�d��}tjgd�d��}tt|�|�t	|j
tj
d�k(�y)N)r�r\r�rrTiA�,rr�)rNrxrxrJ��wi��rUrVs   r=�test_timedelta64zTestGradient.test_timedelta64�sW���H�H�*�"�
$���X�X�(�"�$��	�8�A�;��+�����B�H�H�%5�6�6�7r?c��tjtjtjfD]W}tjgd�|��}tt
|�jtj|�j��Yy)Nr�r�)	r7�float16rrr�r'rr�r)rf�dtr�s   r=�test_inexact_dtypesz TestGradient.test_inexact_dtypes�sV���:�:�r�z�z�2�:�:�6�	>�B�����"�-�A���!��*�*�B�G�G�A�J�,<�,<�=�	>r?c�(�ttjd�d��ttjd�d��ttttjd�d��ttttjd�d��ttttjd�d��ttttjd�d��ttttjd�d��y)NrNrPrYrXr)rr7r8r+rcr�s r=�test_valueszTestGradient.test_values�s�������1��!�,�����1��!�,��j�(�B�I�I�a�L�Q�G��j�(�B�I�I�a�L�Q�G��j�(�B�I�I�a�L�Q�G��j�(�B�I�I�a�L�Q�G��j�(�B�I�I�a�L�Q�Gr?�f_dtypec�~�tjgd�|��}t|�}t|dgt	|�z�y)N)rYrLrXrNrPr�r_�r7r�rr(rM)rfr�rn�gs    r=�test_f_decreasing_unsigned_intz+TestGradient.test_f_decreasing_unsigned_int�s1��
�H�H�_�G�4���Q�K���1�r�d�3�q�6�k�*r?c���tj|�j}tjddg�}tjd|g|��}t	||�}t||dzdzgdz�y)NrPrXr_r�rN)r7�iinforr�rr()rfr��maxintr�rn�dfdxs      r=�test_f_signed_int_big_jumpz'TestGradient.test_f_signed_int_big_jump�sd�����'�"�&�&���H�H�a��V����H�H�b�&�\��1����1�~���4�6�A�:�!�"3�!4�Q�!6�7r?�x_dtypec��tjgd�|��}tjgd��}t||�}t|dgt	|�z�y)Nr�r��rrNrLrVr�)rfr�r�rnr�s     r=�test_x_decreasing_unsignedz'TestGradient.test_x_decreasing_unsignedsA��
�H�H�Y�g�.���H�H�Y�����1�~���4�"��c�!�f��-r?c��tj|�j}tj|�j}tjd|g|��}tj|dzdg�}t||�}t
|ddg�y)Nr_r�rNrr)r7r��minrr�rr()rfr��minintr�r�rnr�s       r=�test_x_signed_int_big_jumpz'TestGradient.test_x_signed_int_big_jumpsp�����'�"�&�&�����'�"�&�&���H�H�b�&�\��1���H�H�f��k�1�%�&����1�~���4�#�s��,r?c�`�tjddgddgf�}t|�tusJ�y)NrPrNrX)r7rr2�tuple�rfr>s  r=�test_return_typezTestGradient.test_return_types/���k�k�A�q�6�A�q�6�*�+���C�y�E�!�!�!r?N)rr�r�rlrOrQrWr^rgryr{r�r�r�rrDrEr7rpr�r��uint64r�rdr�r��int64r�r�r�r�r�r?r=rCrCsQ��,�:�2?� 
8�
H�2�(>6�@7�4	8�>�
H��[�[���Y����2�9�9�)+���B�I�I�)?�@�+�@�+�
�[�[���Y����"�(�(�)+���2�8�8�)=�>�8�>�8��[�[���Y����2�9�9�)+���B�I�I�)?�@�.�@�.��[�[���Y����"�(�(�)+���2�8�8�)=�>�-�>�-�"r?rCc��eZdZd�Zd�Zy)�	TestAnglec�d�dtjd�dzdtjd�zdzzdddddd	g}t|�}tjd
�tjd�dtjdztjtjdztjd
�tjtjd
�z
g}t|d
��}tj
|�dztjz}t
||d�t
||d�y)N��?@rNr�rcrPr_����?�y�@r�r�rT)�degr�r�)r7�sqrtr�arctan�pir�r*)rfr�r�yo�z�zos      r=rlzTestAngle.test_basics���
�R�W�W�Q�Z�#�%��R�W�W�Q�Z��!�(;�;�
��B��V�W�
.���!�H���I�I�i� ��I�I�c�N�A�r�u�u�q�y�"�%�%�"�%�%��#��
�Y�Y�y�
!�!�2�5�5�2�9�9�Y�+?�#?�A��
�!����
�X�X�b�\�C�
�"�%�%�
'��!�!�R��,�!�!�R��,r?c�(�tjjddtjd�dzdzg�}tjj|d<tjjtj
d�dtj
d�g�}tjj|d<t
|�}tt|�t|��t|j|j�t||�y)Nr�rPrN��?�?r�rr�)
r7rr�r�r\r�rr'r2r�rfr�r�rs    r=r�zTestAngle.test_subclass)s����E�E�K�K���B�G�G�A�J�q�L�F�$;�<�=���u�u�|�|��!���5�5�;�;��	�	�)� 4�a����3��H�I���e�e�l�l�����q����T�&�\�4��>�2��V�[�[�(�-�-�0��V�X�&r?N)rr�r�rlr�r�r?r=r�r�s��-�'r?r�c	�R�eZdZejgd��Zej
e�Zej
e	�Z
ej
e�Zd�Z
d�Zd�Zd�Zd�Zd�Zej(j+dejgd	��ejgd
��ejgd��g�d��Zd
�Zd�Zej(j+dd�d��Zej(j+dd�d��Zd�Zej(j+dd�d��Zy)�
TestTrimZeros)rrrPrrNrXrLrc���d}�fd�|D�S)N)rgr�r�rhc3�6�K�|]}t�|����y�wr6)�getattr)�.0�namerfs  �r=�	<genexpr>z'TestTrimZeros.values.<locals>.<genexpr>=s�����;����d�#�;�s�r�)rf�
attr_namess` r=rPzTestTrimZeros.values;s���)�
�;�
�;�;r?c��tjdd}|j�D]}t|�}t	|||��y)NrNr_�r7�s_rPr!r(�rf�slcr�r>s    r=rlzTestTrimZeros.test_basic?s=���e�e�A�b�k���;�;�=�	.�C��S�/�C��s�C��H�-�	.r?c��tjdd}|j�D]}t|d��}t	|||�� y)Nr_r���trimr�r�s    r=�test_leading_skipzTestTrimZeros.test_leading_skipEs@���e�e�C�R�j���;�;�=�	.�C��S�s�+�C��s�C��H�-�	.r?c��tjdd}|j�D]}t|d��}t	|||�� y)NrNr�r�r�r�s    r=�test_trailing_skipz TestTrimZeros.test_trailing_skipKs@���e�e�A�B�i���;�;�=�	.�C��S�s�+�C��s�C��H�-�	.r?c���|j�D]]}tj||j��}t	|d��}t|�dk(sJ�t	|d��}t|�dk(r�]J�y)Nr��Br�rrn)rPr7�
zeros_liker�r!rM)rf�_arrr�rvrws     r=�
test_all_zerozTestTrimZeros.test_all_zeroQsc���K�K�M�	"�D��-�-��D�J�J�7�C��c��,�D��t�9��>�!�>��c��,�D��t�9��>�!�>�	"r?c�\�tjd�}t|�}t||�yrn�r7rAr!r(�rfr�r>s   r=�test_size_zerozTestTrimZeros.test_size_zero[s"���h�h�q�k����o���3��$r?r�)rlr)rlr)rlrc�^�tjdd}t|�}t|||�y)NrPrN)r7r�r!r()rfr�r�r>s    r=�
test_overflowzTestTrimZeros.test_overflow`s*���e�e�A�a�j����o���3��C��)r?c�`�tjgd��}t|�}t||�y)N)NrPN�r7r�r!r(r�s   r=�test_no_trimzTestTrimZeros.test_no_trimks#���h�h��'����o���3��$r?c�n�t|jj��}t|t�sJ�yr6)r!rg�tolistr�rr�s  r=�test_list_to_listzTestTrimZeros.test_list_to_listps&���������)���#�t�$�$�$r?r�)rrPrNrXr�c��tjd|z�}tj|ddd��}t|d��}t	||�y)N�rN�rNrP�constantr)�mode�constant_valuesr�)r7rd�padr!r()rfr�rgr�r>s     r=�
test_nd_basiczTestTrimZeros.test_nd_basicts>���G�G�D�4�K� ���F�F�1�f�:�q�A�����&���1�c�"r?�rrPrNrXc��tjd|z�}t|d��}t|tjd|z��y)N�rXr�rur�)rfr�rgr>s    r=�test_allzerozTestTrimZeros.test_allzero{s7���H�H�T�D�[�!�����&���3������� 5�6r?c��tjgd��}t|d��}t|gd��t|d��}t|gd��y)N)rrPrNrrnr�)rPrNrr�rOr��rfrgr>s   r=�
test_trim_argzTestTrimZeros.test_trim_arg�s<���H�H�\�"�����%���3�	�*����%���3�	�*r?r�)�front�c��|j}tjtd��5t	||��ddd�y#1swYyxYw)Nz#unexpected character\(s\) in `trim`rr�)rgrrrcr!)rfr�r�s   r=�test_unexpected_trim_valuez(TestTrimZeros.test_unexpected_trim_value�s9���f�f��
�]�]�:�-S�
T�	'��s��&�	'�	'�	'�s	�?�AN)rr�r�r7r�rgrr�r��complexr�r�rhrPrlr�r�r�r�rrDrEr�r�r�r�r�r�r�r�r?r=r�r�4s.������)�*�A�	�����A�	�����A�	�����A�<�.�.�.�"�%�
�[�[���
�	����-�	 �	����-�	 �	����-�	 �	"��*�
�*�
%�
%��[�[���V�%5�6�#�7�#��[�[���V�\�2�7�3�7�
+��[�[���V�]�3�'�4�'r?r�c��eZdZd�Zd�Zd�Zy)�
TestExtinsc�l�tjgd��}t|dkD|�}t|gd��y)N)rPrXrNrPrNrXrXrP)rXrNrNrXrX)r7r�rr(r�s   r=rlzTestExtins.test_basic�s+���H�H�*�+���A��E�1����1�o�.r?c���tttgd�ddgddg�tjgd���t�gd�gd��t�gd	��t�tjd
�g�t�tjdd��t�gd�dd
g�t�gd��ttd�fd��tjddg��t�ddgd�t�ddg�y)Nr�TFrrP)rPrLrXrNrYrvrx)rrPrrPrrPr�rNrLrw)rPrNrXrLrYrwrxrxrv)rPrrPrrPrrPrI)rvrNrIrLrvrwrIz!Cannot insert from an empty arrayc�"��t�gd�g�S)N)rrrrrrPr)r�rgs�r=�<lambda>z'TestExtins.test_place.<locals>.<lambda>�s���E�!�-B�B�$G�r?�12�34�9)
r+r
rr7r�r(rAr8r.rcrss @r=�
test_placezTestExtins.test_place�s����	�i��	�D�%�=�1�a�&�I��H�H�*�+��
�a�&�	�2��1�3�4�
�a����!��b�!��1�b�i�i��1�o�.�
�a�&��A��/��1�3�4��J�(K�G�	I�
�H�H�d�D�\�"��
�a�!�Q�����1�t�S�k�*r?c��td�}|dkD}|j�}t||�}t||d�t|||�t	||�y)Nr�rr)r3r�rrr()rfrgr�acr�s     r=�	test_bothzTestExtins.test_both�sM����H���3�w��
�V�V�X���D�!���
�a��q��
�a��q���1�b�!r?N)rr�r�rlr�r�r�r?r=r�r��s��/�
+�,"r?r�c�2�|tj|�zSr6��math�floor�r�rs  r=�_foo1r��s���T�Z�Z��]�?�r?c�8�|tj|�z|zSr6r�)r�rr�s   r=�_foo2r��s���T�Z�Z��]�?�Q��r?c��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d �Z"d!�Z#d"�Z$d#�Z%d$�Z&d%�Z'd&�Z(d'�Z)d(�Z*d)�Z+d*�Z,d+�Z-d,�Z.y-).�
TestVectorizec�V�d�}t|�}|gd�gd��}t|gd��y)Nc� �||kDr||z
S||zSr6r��rgr�s  r=�addsubtractz.TestVectorize.test_simple.<locals>.addsubtract�����1�u��1�u���1�u�r?�rrXrwrI�rPrXrYrx�rPrwrPrN�r$r(�rfrrnr�s    r=�test_simplezTestVectorize.test_simple�s)��	�
�k�"��
�l�L�)���1�l�+r?c�R�d�}t|�}|gd�d�}t|gd��y)Nc� �||kDr||z
S||zSr6r�rs  r=rz.TestVectorize.test_scalar.<locals>.addsubtract�rr?rrY)rYrvrPrLr	r
s    r=�test_scalarzTestVectorize.test_scalar�s)��	�
�k�"��
�l�A����1�l�+r?c�r�tjddd�}td��}||�}t||�y)Nr\rN�'c��|Sr6r��r�s r=r�z*TestVectorize.test_large.<locals>.<lambda>�����r?)r7r`r$r()rfr�rnrs    r=�
test_largezTestVectorize.test_large�s1���K�K��A�u�%���k�"��
�a�D���1�a� r?c�>�ttj�}tjddtj
ztj
dtj
zdtj
zg�}||�}tj|�}t
||�y)NrrrKrN)r$r��cosr7r�r�r*)rfrn�args�r1�r2s     r=�
test_ufunczTestVectorize.test_ufunc�se���d�h�h����x�x��C�"�%�%�K�����b�e�e��Q����Y�G�H��
�t�W��
�V�V�D�\��!�"�b�)r?c��dd�}t|�}tjgd��}||�}tjgd��}t||�||d�}tjgd��}t||�y)Nc��||zSr6r�rs  r=r�z(TestVectorize.test_keywords.<locals>.foo�����q�5�Lr?r�r	rNrWr_�r$r7r�r(�rfr�rnrrrs      r=�
test_keywordszTestVectorize.test_keywords�sd��	�
�c�N���x�x�	�"��
�t�W��
�X�X�i�
 ���2�r�"�
�t�Q�Z��
�X�X�i�
 ���2�r�"r?c��tttg��}|tjd�d�}|tjd��}t||�y�N��otypesr�r��r$r�r�r7r8r(�rfrnrrs    r=� test_keywords_with_otypes_order1z.TestVectorize.test_keywords_with_otypes_order1�sD��
�e�U�G�,���r�y�y��~�s�
#��
�r�y�y��~�
���2�r�"r?c��tttg��}|tjd��}|tjd�d�}t||�yr"r%r&s    r=� test_keywords_with_otypes_order2z.TestVectorize.test_keywords_with_otypes_order2�sD��
�e�U�G�,���r�y�y��~�
��
�r�y�y��~�s�
#���2�r�"r?c��tttg��}|tjd��}|tjd�d��}|tjd��}t||�t||�y)Nr#r�r��rr%�rfrnrr�r3s     r=� test_keywords_with_otypes_order3z.TestVectorize.test_keywords_with_otypes_order3
s`��
�e�U�G�,���r�y�y��~�
��
�r�y�y��~��
%��
�r�y�y��~�
���2�r�"��2�r�"r?c���tttg��}|dd��}|dd��}|d�}t|tdd���t|tdd���t|td��y)Nr#�������$@rs)r�r_r+�r$r�r�r'r,s     r=�+test_keywords_with_otypes_several_kwd_args1z9TestVectorize.test_keywords_with_otypes_several_kwd_args1sc��
�e�U�G�,���t�s�^��
�t�r�]��
�t�W���R��t�s�+�,��R��t�r�*�+��R��t��%r?c��tttg��}|ddd��}|ddd�}t|tddd���t|tddd��y)	Nr#rsr0r_)r�r�rrPrNrXr1r&s    r=�+test_keywords_with_otypes_several_kwd_args2z9TestVectorize.test_keywords_with_otypes_several_kwd_args2#sT��
�e�U�G�,������
#��
�q�!�Q�Z���R�����3�4��R��q�!�Q��(r?c�^�ddl}	t|j�y#t$rt�wxYwrn)rbr$�	randrange�	Exception�AssertionError)rfrbs  r=�test_keywords_no_func_codez(TestVectorize.test_keywords_no_func_code.s/��	�	!��f�&�&�'���	!� � �	!�s��,c�.�d
d�}t|�}tjgd��}||��}tjgd��}t||�|d|��}t||�||d��}tjgd	��}t||�y)NrPc��||zSr6r�rs  r=r�z5TestVectorize.test_keywords2_ticket_2100.<locals>.foo;rr?r�r�r	)r�rgrN�r�rWr_rrs      r=�test_keywords2_ticket_2100z(TestVectorize.test_keywords2_ticket_21008sy��	�
�c�N���x�x�	�"��
��Y��
�X�X�i�
 ���2�r�"�
��d�^���2�r�"�
�t�q�\��
�X�X�i�
 ���2�r�"r?c���d�}tj|ddg��}ddg}t||ddggd��	��t||ddggd��
��t||ddggd���y)Nc�v�t|�}|jd�}|r||z|jd�z}|r�|Srn)r�pop)r��p�_pr>s    r=�	mypolyvalz;TestVectorize.test_keywords3_ticket_2100.<locals>.mypolyvalKs;���a��B��&�&��)�C���A�g����q�	�)����Jr?rArP)�excludedrXrwrr�)r�rA)rA)r7r$r()rfrC�vpolyval�anss    r=�test_keywords3_ticket_2100z(TestVectorize.test_keywords3_ticket_2100Ise��	��<�<�	�S�!�H�=���!�f���3��A�q�6�Y� ?�@��3��!�Q��9� =�>��3��!�Q��� ;�<r?c�P�td��}t|ddgddg��ddg�y)Nc�(�d}|D]
}|||z}�|S�Nr�r�)�kwr>�_ks   r=rnz3TestVectorize.test_keywords4_ticket_2100.<locals>.fZs(���C��
���r�"�v�
��
��Jr?rPrNrXrLrrvr	�rfrns  r=�test_keywords4_ticket_2100z(TestVectorize.test_keywords4_ticket_2100Xs3��	�	�
�	�	�1��1�v�!�Q��0�1�a�&�9r?c�N�td��}t|ddgddg�ddg�y)Nc�,�tj|�Sr6)r7r�)rFs r=rnz3TestVectorize.test_keywords5_ticket_2100.<locals>.fes���7�7�1�:�r?rPrNrXrLrvr	rMs  r=�test_keywords5_ticket_2100z(TestVectorize.test_keywords5_ticket_2100cs3��	�	�
�	�	�1�a��V�a��V�,�q�!�f�5r?c�B�d�}t|�}t|�d�y)Nc��y�NrPr�r�r?r=r�z5TestVectorize.test_coverage1_ticket_2100.<locals>.fool���r?rPr	�rfr�rns   r=�test_coverage1_ticket_2100z(TestVectorize.test_coverage1_ticket_2100ks��	�
�c�N���1�3��"r?c��d�}t|�}t|j|j�d}t||��}t|j|�y)Nc��|S)zOriginal documentationr�rs r=r�z3TestVectorize.test_assigning_docstring.<locals>.foos����Hr?zProvided documentation)�doc)r$r'�__doc__)rfr�rnr[s    r=�test_assigning_docstringz&TestVectorize.test_assigning_docstringrsC��	�
�c�N���Q�Y�Y����,�&���c�s�#���Q�Y�Y��$r?c�f�Gd�d�}tt|�j�tjd��tjd�dz�tt|j�|�tjd��tjd�dz�y)Nc��eZdZdZd�Zy)�9TestVectorize.test_UnboundMethod_ticket_1156.<locals>.FoorNc� �||jzSr6r<rss  r=r�z=TestVectorize.test_UnboundMethod_ticket_1156.<locals>.Foo.bar�s���D�F�F�{�"r?N)rr�r�r�r�r�r?r=�Foor`�s���A�
#r?rbrIrN)r(r$r�r7r8)rfrbs  r=�test_UnboundMethod_ticket_1156z,TestVectorize.test_UnboundMethod_ticket_1156~sz��	#�	#�	�/�9�S�U�Y�Y�/��	�	�!��=��9�9�Q�<�1�,�	.��-�9�S�W�W�-�c�e�R�Y�Y�q�\�B��9�9�Q�<�1�,�	.r?c�@�td��}|tjd��}|tjdd��}td��}|tjdd��}|tjd��}t||�t||�y)Nc��|Sr6r�rs r=r�z@TestVectorize.test_execution_order_ticket_1487.<locals>.<lambda>�����r?rXr�c��|Sr6r�rs r=r�z@TestVectorize.test_execution_order_ticket_1487.<locals>.<lambda>�rfr?)r$r7r8r')rf�f1�res1a�res1b�f2�res2b�res2as       r=� test_execution_order_ticket_1487z.TestVectorize.test_execution_order_ticket_1487�sx��
�{�
#���2�9�9�Q�<� ���2�9�9�S�!�$�%��
�{�
#���2�9�9�S�!�$�%���2�9�9�Q�<� ���U�E�"��U�E�"r?c�X�tjd��}d}t|||��y)Nc��|Sr6r�rs r=r�z7TestVectorize.test_string_ticket_1892.<locals>.<lambda>����1�r?�d0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789)r7r$r')rfrnr)s   r=�test_string_ticket_1892z%TestVectorize.test_string_ticket_1892�s#���L�L��%�����Q��!��r?c���dg�t�fd��}d|_tjd�}t	||�||z�t�dt
|��y)Nrc�(���dxxdz
cc<|dzS)NrrPrNr�)r��_callss �r=rnz#TestVectorize.test_cache.<locals>.f�s����1�I��N�I���6�Mr?TrY)r$�cacher7r8r(r'rM)rfrnr�rvs   @r=�
test_cachezTestVectorize.test_cache�sV������	�	�
�	�����I�I�a�L���1�Q�4��Q��'��V�A�Y��A��'r?c��tjd��}d|_tjd�}t	||�|�y)Nc��|Sr6r�rs r=r�z+TestVectorize.test_otypes.<locals>.<lambda>�rqr?r�rY)r7r$r$r8r(�rfrnr�s   r=�test_otypeszTestVectorize.test_otypes�s2���L�L��%������I�I�a�L���1�Q�4��#r?c��ttjd�dgdgf�ttjd�dgdgf�ttjd�ddgdgf�ttjd�dgdgf�ttjd	�dgddgf�ttjd
�gd�dgf�ttjd
�dgdgf�ttjd�dgdgf�ttjd�ddgdgf�ttjd�dgdgf�ttjd�dgddgf�ttjd�gd�dgf�tt�5tjd�ddd�tt�5tjd�ddd�tt�5tjd�ddd�y#1swY�dxYw#1swY�CxYw#1swYyxYw)Nz(x)->()rr�z	(x,y)->()r�z(x),(y)->()r+z(x)->(y)z(x)->(y),()z(),(a,b,c),(d)->(d,e))r�)rgr�r�)rh)rh�ez(x )->()z( x , y )->(  )z
(x),( y) ->()z(  x)-> (y )  z (x)->( y),( )z*(  ), ( a,  b,c )  ,(  d)   ->   (d  ,  e)z
(x)(y)->()z	(x),(y)->z
((x))->(x))r'�nfb�_parse_gufunc_signaturer+rcr�s r=�test_parse_gufunc_signaturez)TestVectorize.test_parse_gufunc_signature�s"���S�0�0��;�v�h���=M�N��S�0�0��=�!�l�R�D�)�	+��S�0�0��?��v�&���-�	/��S�0�0��<��h���)�	+��S�0�0��?��h����-�	/��S�0�0�1H�I�3�j�\�B�	D�	�S�0�0��<��x�"��>N�O��S�0�0�1B�C�!�l�R�D�)�	+��S�0�0��A��v�&���-�	/��S�0�0�1A�B��h���)�	+��S�0�0�1A�B��h����-�	/��S�0�0�A�C�3�j�\�B�	D��:�
&�	6��'�'��5�	6�
�:�
&�	5��'�'��4�	5�
�:�
&�	6��'�'��5�	6�	6�		6�	6��	5�	5��	6�	6�s$�:H3�'H?�I�3H<�?I�Ic�Z�d�}t|d��}|gd�gd��}t|gd��y)Nc� �||kDr||z
S||zSr6r�rs  r=rz8TestVectorize.test_signature_simple.<locals>.addsubtract�rr?z	(),()->()��	signaturerrrr	r
s    r=�test_signature_simplez#TestVectorize.test_signature_simple�s+��	�
�k�[�9��
�l�L�)���1�l�+r?c�\�d�}t|d��}|ddgddgg�}t|ddg�y)Nc�"�|j�Sr6�r�r�s r=r�z4TestVectorize.test_signature_mean_last.<locals>.mean�s
���6�6�8�Or?z(n)->()r�rPrXrNrLr	)rfr�rnr�s    r=�test_signature_mean_lastz&TestVectorize.test_signature_mean_last�s:��	�
�d�i�0��
��1�v��1�v�����1�q�!�f�%r?c�d�d�}t|d��}|ddgddgg�}t|ddgddgg�y)	Nc�(�||j�z
Sr6r�r�s r=�centerz3TestVectorize.test_signature_center.<locals>.center�s���q�v�v�x�<�r?�(n)->(n)r�rPrXrNrLr_r	)rfr�rnr�s    r=�test_signature_centerz#TestVectorize.test_signature_center�sC��	 �
�f�
�3��
��1�v��1�v�����1��A�w��Q��0�1r?c���td�d��}|gd��}tt|t�xrt	|�dk(�t|dgd��t|dgd��y)Nc�
�||fSr6r�rs r=r�z:TestVectorize.test_signature_two_outputs.<locals>.<lambda>��
���A��r?�	()->(),()r�r�rNrrP)r$r&r�r�rMr(�rfrnr�s   r=�test_signature_two_outputsz(TestVectorize.test_signature_two_outputs�sP���&�+�>��
�i�L���
�1�e�$�4��Q��1��5��1�Q�4��+��1�Q�4��+r?c�j�ttjd��}|ddggd��}t|gd�gd�g�|ddggggd��}t|gd�gd�ggg�|ddgddgggd��}t|gd�gd�ggd�gd�gg�|ddggd�gd�g�}t|gd�gd�ggd�gd�gg�y)	Nz(a),(b)->(a,b)r�rPrNr�r�rr�)r$r7r:r(r�s   r=�test_signature_outerz"TestVectorize.test_signature_outer�s����b�h�h�*:�;��
�q�!�f�i� ���1�y�)�4�5�
��A��x�j�)�$���1��I� 6�7�8�9�
��1�v��1�v��	�*���1�	�9�5� )�9�5�7�	8�
�q�!�f�y�)�,�-���1�	�9�5� )�9�5�7�	8r?c��td�d��}|gd��}t|ddg�|gd�gd�g�}t|ddgddgg�y)	Nc��|ddS�Nr_r�rs r=r�z<TestVectorize.test_signature_computed_size.<locals>.<lambda>����#�2��r?z(n)->(m)r�r�rPrNr	rXr	r�s   r=�test_signature_computed_sizez*TestVectorize.test_signature_computed_sizesL���&�*�=��
�i�L���1�q�!�f�%�
�y�)�$�%���1��1�v��1�v�.�/r?c��d	d�}t|ddh��}t|gd��gd��t|gd�d��gd��y)
Nc��||zSr6r�rs  r=r�z2TestVectorize.test_signature_excluded.<locals>.foorr?�()->()r�)r�rDr�r	rr<r_r	rVs   r=�test_signature_excludedz%TestVectorize.test_signature_excludeds8��	�
�c�X���>���1�Y�<��3��1�Y�!�,�i�8r?c��td�ddg��}|gd��}t|jtjd��t	|gd��y)Nc��|Sr6r�rs r=r�z5TestVectorize.test_signature_otypes.<locals>.<lambda>rr?r�r�r�r$r�)r$r'r�r7r(r�s   r=�test_signature_otypesz#TestVectorize.test_signature_otypess<���k�Z���L��
�i�L���Q�W�W�b�h�h�y�1�2��1�i�(r?c���ttjd��}ttd�5|ddg�ddd�tt
d�5|dd�ddd�tt
d�5|ddggd��ddd�ttjd	��}ttd�5|dd�ddd�y#1swY��xYw#1swY�yxYw#1swY�_xYw#1swYyxYw)
Nz(n),(n)->(n)r�zwrong number of positionalrPrNzdoes not have enough dimensions�$inconsistent size for core dimensionr�r�)r$�operatorr9r.r
rcrMs  r=�test_signature_invalid_inputsz+TestVectorize.test_signature_invalid_inputss����h�l�l�n�=��
 ��,H�
I�	�
�q�!�f�I�	�
 ��=�?�	�
�a��G�	�!��B�D�	!�
�q�!�f�i� �	!�
�h�l�l�h�7��
 ��,H�
I�	�
�a��G�	�	�	�	��	�	��	!�	!��
	�	�s/�C�
C�1C�2
C)�C�C�C&�)C2c�n�td�d��}ttd�5|gd��ddd�td�d��}ttd�5|d	�ddd�td
�d��}ttd�5|d	dg�ddd�y#1swY�jxYw#1swY�GxYw#1swYyxYw)
Nc��|ddSr�r�rs r=r�z>TestVectorize.test_signature_invalid_outputs.<locals>.<lambda>,r�r?r�r�r�r�c��|Sr6r�rs r=r�z>TestVectorize.test_signature_invalid_outputs.<locals>.<lambda>1rr?r�zwrong number of outputsrPc�
�||fSr6r�rs r=r�z>TestVectorize.test_signature_invalid_outputs.<locals>.<lambda>5r�r?r�rN)r$r.rcrMs  r=�test_signature_invalid_outputsz,TestVectorize.test_signature_invalid_outputs*s����&�*�=��
 ��B�D�	�
�i�L�	�
�k�[�9��
 ��-F�
G�	�
�a�D�	�
�&�(�;��
 ��-F�
G�	�
�q�!�f�I�	�	�	�	��
	�	��	�	�s#�B�	B�?B+�B�B(�+B4c�6�tjd��}tjddgt��}t	t
d�5||�ddd�d|_t||�|�tjd�d�	�}t	t
d�5||�ddd�tjd
�dd��}t||�|�tjd�d
d��}t||�|�tjd�d
�	�}t||j�|j�tjd�dd��}t	t
d�5||�ddd�y#1swY��+xYw#1swY��xYw#1swYyxYw)Nc��|Sr6r�rs r=r�z5TestVectorize.test_size_zero_output.<locals>.<lambda>;rqr?rrYr�r$r�c��|Sr6r�rs r=r�z5TestVectorize.test_size_zero_output.<locals>.<lambda>Crqr?r�r�c��|Sr6r�rs r=r�z5TestVectorize.test_size_zero_output.<locals>.<lambda>Grqr?r�c��|Sr6r�rs r=r�z5TestVectorize.test_size_zero_output.<locals>.<lambda>Jrqr?r�c��|Sr6r�rs r=r�z5TestVectorize.test_size_zero_output.<locals>.<lambda>Mrqr?c��|gSr6r�rs r=r�z5TestVectorize.test_size_zero_output.<locals>.<lambda>Ps��A�3�r?z()->(n)znew output dimensions)	r7r$rA�intr.rcr$r(r"r{s   r=�test_size_zero_outputz#TestVectorize.test_size_zero_output9s=���L�L��%���H�H�a��V�3�'��
 ��X�
6�	�
�a�D�	�����1�Q�4��#��L�L���9��
 ��X�
6�	�
�a�D�	�
�L�L����E���1�Q�4��#��L�L��
�3�G���1�Q�4��#��L�L��
�;���1�Q�S�S�6�1�3�3�'��L�L��)�C�H��
 ��-D�
E�	�
�a�D�	�	�)	�	��	�	��	�	�s$�	E6�	F�$	F�6F�F�Fc� �Gd�dtj�}tjgd�gd�gd�g�j|�}tjgd�gd�gd�g�j|�}tjtj
d	�
�}|||�}t
t|�|�t
|gd�gd�gd
�g�tjd��}|||�}t
t|�|�t
|||z�y)Nc��eZdZy)�/TestVectorize.test_subclasses.<locals>.subclassNr-r�r?r=r.r�Ur/r?r.)r�r�r�rz)r�r�r�r�)r�r�rrz(m,m),(m)->(m)r�)r�r�r�)r�rr�)rr r�c��||zSr6r�r�s  r=r�z/TestVectorize.test_subclasses.<locals>.<lambda>cs
���1��r?)r7r0r�r1r$�matmulr'r2)rfr.rSrF�matvecr��mults       r=r3zTestVectorize.test_subclassesTs���	�r�z�z�	�
�H�H�l�"�"�$�
%�%)�T�(�^�	
�
�H�H�l�L�,�?�@�E�E�h�O�����b�i�i�3C�D���1�a�L���T�!�W�h�'��Q��|�\�B�C��|�|�,�-����A�J���T�!�W�h�'��Q��A��r?c�R�tjd��}|jdk(sJ�y)Nc��||zSr6r�rs  r=rkz#TestVectorize.test_name.<locals>.f2js���q�5�Lr?rk)r7r$r)rfrks  r=�	test_namezTestVectorize.test_namehs,��	���	�
�	��{�{�d�"�"�"r?c�R�td��}|gd�gd��}t|gd��y)Nc� �||kDr||z
S||zSr6r�rs  r=rz1TestVectorize.test_decorator.<locals>.addsubtractqs���1�u��1�u���1�u�r?rrrr	)rfrr�s   r=�test_decoratorzTestVectorize.test_decoratorps,��	�	�
�	�
��l�3���1�l�+r?c�z�td��}tjjdkr|jdk(sJ�yy)Nc��|S)�	Docstringr�rs r=rnz'TestVectorize.test_docstring.<locals>.f|s	���Hr?rNr�)r$�sysr��optimizer\rMs  r=�test_docstringzTestVectorize.test_docstring{s?��	�	�
�	��9�9����!��9�9��+�+�+�"r?c�f�d�}t|d�}tj|�}|d�dk(sJ�y)Nc��||zSr6r�r�s  r=r�z'TestVectorize.test_partial.<locals>.foo�rr?rXrPrL)rr7r$)rfr�r��vbars    r=�test_partialzTestVectorize.test_partial�s2��	��c�1�o���|�|�C� ���A�w�!�|��|r?c���tddg��d��}|gd��}t|jtjd��t	|gd��|j
dk(sJ�y)Nr�rr�c��|Sr6r�rs r=rnz8TestVectorize.test_signature_otypes_decorator.<locals>.f�rZr?r�rn)r$r'r�r7r(rr�s   r=�test_signature_otypes_decoratorz-TestVectorize.test_signature_otypes_decorator�s[��	�Z���	<�	�
=�	�
�i�L���Q�W�W�b�h�h�y�1�2��1�i�(��z�z�S� � � r?c�x�tt�5tjd��}ddd�y#1swYyxYw)NrX)�pyfunc�r+r
r7r$)rf�As  r=�test_bad_inputzTestVectorize.test_bad_input�s-��
�9�
%�	)����a�(�A�	)�	)�	)�s�0�9c��tt�5tjd�d��}ddd�y#1swYyxYw)N�stringc��y)Nr�r�r�r?r=r�z+TestVectorize.test_no_keywords.<locals>.foo�s��r?r�)rfr�s  r=�test_no_keywordszTestVectorize.test_no_keywords�s:��
�9�
%�	�
�\�\�(�
#�
�$�
�	�	�	�s�5�>c��td�dg�}|dg�}t|jtjd��y)Nc��|Sr6r�rs r=r�z?TestVectorize.test_positional_regression_9477.<locals>.<lambda>�rfr?rrN)r$r'r�r7r�s   r=�test_positional_regression_9477z-TestVectorize.test_positional_regression_9477�s4��
�{�i�[�1��
�q�c�F���Q�W�W�b�h�h�y�1�2r?c��d}tjgd�d��}ttjd�d|g��|�|�y)Nzdatetime64[ns])z
2024-01-01z
2024-01-02z
2024-01-03r�c��|Sr6r�rs r=r�z8TestVectorize.test_datetime_conversion.<locals>.<lambda>�s��!�r?z(i)->(j)r�)r7r�r(r$)rf�otyper�s   r=�test_datetime_conversionz&TestVectorize.test_datetime_conversion�sH�� ���h�h�A�-�/���8�2�<�<��z�05�w�8�8;�=�>A�	Cr?N)/rr�r�rrrrr r'r)r.r2r4r9r=rGrNrQrWr]rcrnrsrxr|r�r�r�r�r�r�r�r�r�r�r�r�r3r�r�r�r�r�r�r�r�r�r�r?r=rr�s���	,�	,�!�*�#�#�	#�
#�&�	)�!�#�"
=�	:�6�#�
%�.�	#��(�$� 6�D	,�&�2�,�8� 0�9�)�
�
��6�(#�	,�,��!�)��3�Cr?rc��eZdZGd�d�Zej
j
ed��ej
j
ed��ej
jddejfdg�d	����Zy
)�	TestLeaksc�&�eZdZdZd�Zed��Zy)�TestLeaks.Ar�c��yrnr��rfrs  r=�boundzTestLeaks.A.bound�rUr?c��yrnr�)rs r=�unboundzTestLeaks.A.unbound�s��r?N)rr�r��itersr��staticmethodr�r�r?r=r�r��s ����	�
�	�
�	r?r��Python lacks refcounts��reasonzJFunctions are immortalized if a thread is launched, making this test flakyz
name, incrr�)r�rc��ddl}t|j|�}|j�	t	j
|�}t
|jj�D]\}|j�}tjt||�dd�|_
|jtjd��}�^d}tt	j
|�||z�t
d�D]}|j��tt	j
|�|�|j�y#|j�wxYw)NrrPr�rY)�gcr�r��disabler��getrefcountrer�r7�
frompyfuncrnr8r'�collect�enable)	rfr��incrr��A_func�refcountr�rgr�s	         r=�test_frompyfunc_leakszTestLeaks.test_frompyfunc_leaks�s���	������&��
�
�
��
	����v�.�H��4�6�6�<�<�(�
)���F�F�H���m�m�G�A�t�$4�a��;����c�c�"�)�)�B�-�(��
)��A������0�(�T�/�B��1�X�
���
�
��
������0�(�;��I�I�K��B�I�I�K�s�C6D3�3EN)rr�r�r�rrD�skipifr0r2rEr�r�r�r?r=r�r��s������[�[���L�(�1I��J��[�[����!C��E��[�[���\�
�a�g�g���,���	�E�K�r?r�c��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
ejj!d�
�d��Zy)�TestDigitizec��tjdd�}tjdd�}tt||�tjd��y)Nr$rYr�r��r7r8r(r�rfr��binss   r=�test_forwardzTestDigitize.test_forward�s;���I�I�b�!����y�y��Q����8�A�t�,�b�i�i��m�<r?c��tjddd�}tjddd�}tt||�tjd��y)NrYr$r_r�r�r�r�s   r=�test_reversezTestDigitize.test_reverse�s?���I�I�a��R� ���y�y��B��#���8�A�t�,�b�i�i��m�<r?c���td�}tj|j�|j	�d�}ttjt||�dk7��y)Nr�r�r3r7r`r�rr&r�r)rfr��bins   r=�test_randomzTestDigitize.test_random�sF����H���k�k�!�%�%�'�1�5�5�7�B�/������x��3�'�1�,�-�.r?c�~�gd�}gd�}gd�}tt||�|�gd�}tt||d�|�y)N)rPrYrLr�rvr�r)rPrYr�)rPrNrPrXrNrXr)rrPrPrNrNrXrT)r(r)rfr�r�default_answer�right_answers     r=�test_right_basiczTestDigitize.test_right_basic�s:��#����.���8�A�t�,�n�=�,���8�A�t�T�2�L�Ar?c��tjdd�}tjdd�}tt||d�tjd��y)Nr$rYrLTr�r�r�s   r=�test_right_openzTestDigitize.test_right_open�s=���I�I�b�!����y�y��Q����8�A�t�T�2�B�I�I�b�M�Br?c��tjddd�}tjddd�}tt||d�tjd��y)NrYr$r_rLTr�r�r�s   r=�test_right_open_reversez$TestDigitize.test_right_open_reverse�sA���I�I�a��R� ���y�y��B��#���8�A�t�T�2�B�I�I�b�M�Br?c	���td�}tj|j�|j	�d�}ttjt||d�dk7��y)Nr�Trr�s   r=�test_right_open_randomz#TestDigitize.test_right_open_random�sH����H���{�{�1�5�5�7�A�E�E�G�R�0������x��4��.�"�4�5�6r?c��gd�}gd�}tt||d�gd��tt||d�gd��gd�}tt||d�gd��tt||d�gd	��gd
�}tt||d�gd��tt||d�gd��gd
�}ttt||�gd�}ttt||�y)N)r_rrPrNr�F)rrNrXrXT)rrrNrXr�)rXrNrr)rXrXrNrr�)rrrLrL)rrrrLr�)rPrPrrP)r(rr+rcr�s   r=�test_monotoniczTestDigitize.test_monotonics��������8�A�t�U�3�\�B��8�A�t�T�2�L�A����8�A�t�U�3�\�B��8�A�t�T�2�L�A����8�A�t�U�3�\�B��8�A�t�T�2�L�A����j�(�A�t�4����j�(�A�t�4r?c�t�gd�}gd�}ttt||�||}}ttt||�y)N)rPrNy@�?r�)r+r
rr�s   r=�test_casting_errorzTestDigitize.test_casting_errors1�������i��1�d�3���4���i��1�d�3r?c	�L�Gd�dtj�}tjd�j|�}tjdd�j|�}t	tt
||d�|��t	tt
||d�|��y)Nc��eZdZy)�(TestDigitize.test_return_type.<locals>.ANr-r�r?r=r�rr/r?r�rYrPrXFT)r7r0r8r1r&r�r)rfr�rgr�s    r=r�zTestDigitize.test_return_typesz��	��
�
�	��I�I�a�L���a� ���I�I�a��O� � ��#���J�x��1�e�4�a�8�8�9��J�x��1�d�3�Q�7�7�8r?c�X�d}ttj||dz
|dzg�d�y�NlrP�r'r7rr�s  r=�test_large_integers_increasingz+TestDigitize.test_large_integers_increasing$s(�����R�[�[��Q��U�A��E�N�3�Q�7r?z9gh-11022: np._core.multiarray._monoticity loses precisionr�c�X�d}ttj||dz|dz
g�d�yrrr�s  r=�test_large_integers_decreasingz+TestDigitize.test_large_integers_decreasing)s*��
���R�[�[��Q��U�A��E�N�3�Q�7r?N)rr�r�rrrrr
rrrrr�rrrD�xfailrr�r?r=r�r��si��=�
=�
/�
B�C�
C�
7�
5� 4�9�8�
�[�[���J��L�8�L�8r?r�c��eZdZd�Zd�Zy)�
TestUnwrapc��ttdddtjzzg�ddg�t	tj
t
ttd�dz��tjk��y)NrPrNr�rs)r(r"r7r�r&r�rr3r�s r=rzTestUnwrap.test_simple3sR���6�1�a�!�b�e�e�)�m�"4�5��1�v�>�����t�F�4��8�c�>�2�3�b�e�e�;�<�=r?c�B�ttddgd��ddg�ttjttt
d�dzd���dk��tjgd��}tj|d�}tt|d��|�tjgd	��}tj|d
�}t|d
��}t|gd��t|d
d�
�}t|gd	��|j|jk(sJ�y)NrPi���periodrNr���)r�K���r})rr(r)r*r}i��)rr(r)r*r}r��)r&�discont)
r(r"r&r7r�rr3r��modr�)rf�
simple_seq�wrap_seq�
uneven_seq�wrap_uneven�
no_discont�
sm_disconts       r=�test_periodzTestUnwrap.test_period9s����6�1�g�,�s�;�a��V�D�����t�F�4��8�d�?�3�?�@�3�F�G�H��X�X�4�5�
��6�6�*�c�*���6�(�3�7��D��X�X�9�:�
��f�f�Z��-���K��4�
��:�'B�C��K��S�A�
��:�'B�C����;�#4�#4�4�4�4r?N)rr�r�rr5r�r?r=r!r!1s��>�5r?r!�O�
AllInteger�Float�M)rrPr�c�p�eZdZdededdfd�Zdededdfd�Zdededdfd�Zdededdfd�Zdededdfd	�Z	y)
�TestFilterwindowsr�r9�returnNc��tj||��d}t|�}|dk(rtj}n.tj|j
tj�}|j
|k(sJ�t
|t|��|dkr t|tjg��y|dk(r t|tjd��yttj|d��dd�y)	Nr�r�r6rPrr��@rL)r7r�rrrr�r'rr(rdr)r
�rfr�r9�scalarr�	ref_dtypes      r=�test_hanningzTestFilterwindows.test_hanningRs������!�5�)�"�-���F�O���C�<��
�
�I����v�|�|�R�Z�Z�@�I��w�w�)�#�#�#�	�Q��q�	�"��A�:��q�"�(�(�2�,�/�
�q�[��q�"�'�'�!�*�-�����q�q� 1�5�!�<r?c��tj||��d}t|�}|dk(rtj}n.tj|j
tj�}|j
|k(sJ�t
|t|��|dkr t|tjg��y|dk(r t|tjd��yttj|d��dd�y)	Nr�r�r6rPrr�g�(\��@rL)r7r�rrrr�r'rr(rdr)r
r?s      r=�test_hammingzTestFilterwindows.test_hamminggs������!�5�)�"�-���F�O���C�<��
�
�I����v�|�|�R�Z�Z�@�I��w�w�)�#�#�#�	�Q��q�	�"��A�:��q�"�(�(�2�,�/�
�q�[��q�"�'�'�!�*�-�����q�q� 1�6�1�=r?c��tj||��d}t|�}|dk(rtj}n.tj|j
tj�}|j
|k(sJ�t
|t|��|dkr t|tjg��y|dk(r t|tjd��yttj|d��dd�y)	Nr�r�r6rPrr�g�^)��@rL)r7r�r	rrr�r'rr(rdr)r
r?s      r=�
test_bartlettzTestFilterwindows.test_bartlett|������!�5�)�"�-���V����C�<��
�
�I����v�|�|�R�Z�Z�@�I��w�w�)�#�#�#�	�Q��q�	�"��A�:��q�"�(�(�2�,�/�
�q�[��q�"�'�'�!�*�-�����q�q� 1�6�1�=r?c��tj||��d}t|�}|dk(rtj}n.tj|j
tj�}|j
|k(sJ�t
|t|��|dkr t|tjg��y|dk(r t|tjd��yttj|d��dd�y)	Nr�r�r6rPrr�g=
ףp=@rL)r7r�r
rrr�r'rr(rdr)r
r?s      r=�
test_blackmanzTestFilterwindows.test_blackman�rGr?c��tj||��d}t|d�}|dk(rtj}n.tj|j
tj�}|j
|k(sJ�t
|t|��|dkr t|tjg��y|dk(r t|tjd��yttj|d��dd�y)	Nr�r�rr6rPr�r�rX)r7r�rrrr�r'rr(rdr)r
r?s      r=�test_kaiserzTestFilterwindows.test_kaiser�s������!�5�)�"�-���6�1����C�<��
�
�I����v�|�|�R�Z�Z�@�I��w�w�)�#�#�#�	�Q��q�	�"��A�:��q�"�(�(�2�,�/�
�q�[��q�"�'�'�!�*�-�����q�q� 1�2�r�:r?)
rr�r��strr�rBrDrFrIrKr�r?r=r;r;Ls���=�#�=�#�=�$�=�*>�#�>�#�>�$�>�*>�3�>�3�>�4�>�*>�3�>�3�>�4�>�*;��;��;��;r?r;c��eZdZd�Zd�Zd�Zy)�
TestTrapezoidc���tjddd�}ttjd|dzz�tjdtj
z�zd��}t
|dd�y)	N���r�r�rjrN)rGrPrx)r7r8r r�r�r�r))rfr�r�s   r=rzTestTrapezoid.test_simple�sS���I�I�c�2�r�"���b�f�f�S�1��6�\�*�R�W�W�Q����Y�-?�?�C�H���A�q�!�$r?c�F�tjddd�}tjddd�}tjddd�}tj|�|d|dz
z}|dxxdzcc<|dxxdzcc<tj|�|d|dz
z}|dxxdzcc<|dxxdzcc<tj|�|d|dz
z}|dxxdzcc<|dxxdzcc<|dd�ddf|ddd�dfz|dddd�fz}||dd�ddfzjd��}||ddd�dfzjd��}	||dddd�fzjd��}
t	||dd�ddfd�	�}t||�t	||ddd�dfd�	�}t||	�t	||dddd�fd�	�}t||
�t	||d�	�}t||�t	||d�	�}t||	�t	||d�	�}t||
�y)
NrrPrXrNrvr]r_r�)r�r�)r7r`�	ones_liker
r r))rfr�rr��wx�wy�wz�q�qx�qy�qzr�s            r=�	test_ndimzTestTrapezoid.test_ndim�s,���K�K��1�a� ���K�K��1�a� ���K�K��1�b�!��
�\�\�!�_��!��q��t��
,��
�1���
��
�2��!���
�\�\�!�_��!��q��t��
,��
�1���
��
�2��!���
�\�\�!�_��!��q��t��
,��
�1���
��
�2��!���
�a��t�m��q��a����.��4��a�<��@���"�Q��d�]�#�#�
(�
(�a�
(�
0���"�T�1�d�]�#�#�
(�
(�a�
(�
0���"�T�4��]�#�#�
(�
(�a�
(�
0��
�a�1�Q��d�]�+�!�4���A�r�"��a�1�T�1�d�]�+�!�4���A�r�"��a�1�T�4��]�+�!�4���A�r�"�
�a�1�1�%���A�r�"��a�1�1�%���A�r�"��a�1�1�%���A�r�"r?c��tjd�}||z}|dk(}tjj||��}d}t	t||�|�tjj||��}t	t||�|�tjj||��}t	t||�|�y)NrYrNrg*@)r7r8rr�r)r )rfr�rr�ymr��xms       r=r^zTestTrapezoid.test_masked�s���
�I�I�a�L��
��E���A�v��
�U�U�[�[���[�
&�����I�b�!�,�a�0�
�U�U�[�[���[�
&���I�b�"�-�q�1�
�U�U�[�[���[�
&���I�a��,�a�0r?N)rr�r�rrZr^r�r?r=rNrN�s��%�##�J1r?rNc��eZdZd�Zd�Zy)�TestSincc��ttd�dk(�ttjddd��}t	|t|�d�y)NrrPr_rsrx)r&rr7r`r*r�rfrs  r=rzTestSinc.test_simple�s9����Q��1�������R��C�(�)��!�!�V�A�Y��2r?c���ddg}ttj|��}tt|��}tt	|��}t||�t||�y)Nrr)rr7r�rr�r()rfr�r�r�r�s     r=�test_array_likezTestSinc.test_array_like	sK��
��H��
�"�(�(�1�+�
��
�$�q�'�]��
�%��(�^���2�r�"��2�r�"r?N)rr�r�rrcr�r?r=r_r_�s��3�#r?r_c��eZdZd�Zy)�
TestUniquec���tjgd��}ttjt	|�gd�k(��tt	tjgd���tjdg�k(�gd�}ttjt	|�gd�k(��tjgd��}ttjt	|�gd�k(��y)	N)	rLrXrNrPrPrNrXrLr)rrPrNrXrL)rPrPrPrPrPrP)�widget�hamr�r�r�rh)r�r�rhrg)�@@r���?$@r�ri)r�rjrir�)r7r�r&r�r#r�s  r=rzTestUnique.test_simple
	s����H�H�0�1������v�a�y�O�3�4�5���r�x�x��0�1�R�X�X�q�c�]�B�C�9������v�a�y�$C�C�D�E��H�H�:�;������v�a�y�$A�A�B�Cr?N)rr�r�rr�r?r=rere	s��Dr?rec��eZdZd�Zd�Zy)�TestCheckFinitec��gd�}ddtjg}ddtjg}tj|�t	t
tj|�t	t
tj|�y)Nr�rPrN)r7�infre�asarray_chkfiniter+rcr�s    r=rzTestCheckFinite.test_simple	sW����
��2�6�6�N��
��2�6�6�N��
���Q���j�"�"6�"6��:��j�"�"6�"6��:r?c��gd�}tj|dtj��}t|jtjk(�y)Nr�r�)r�r�)r7rorr&r�rss  r=�test_dtype_orderz TestCheckFinite.test_dtype_order!	s4����� � ��#�R�Z�Z�@������2�:�:�%�&r?N)rr�r�rrqr�r?r=rlrl	s��;�'r?rlc	���eZdZejgd�gd�gd�g�Zejgd�gd�gd�g�Zejgd�gd�gd	�g�Zejgd
�gd�gd�gd
�gd�gd�g�Zd�Z	d�Z
d�Zd�Zd�Z
d�Zd�Zd�Zej$j'dej(ej*ej,ej.g�d��Zy)�TestCorrCoef)g����^��?g�.{�<�?g���$,�?)g���4��?gp�)��?g�J��G��?)gY�����?g������?g�ވ0v��?)gة����?gB�F�U�?g�G)t��?)g3�TB��?gL�\���?g��A��?)g>
���?gq�F�E`�?g�5��?)r��ޛ����?����r@��)rtr��p��]�4�?)rurvr�)r�rtru�?�'L�?���(��8�?���4V�}�?)rtr�rv���w�{���,H��5�?�jS�,
��?)rurvr�������)h����?��5#A���?)rwrzr}r���t��o��BC��,�)rxr{r~r�r��@��02v�?)ryr|rr�r�r�c�X�ttjgd�gd��ddgddgg�y)Nr�)rPrrPr���)r)r7rr�s r=�test_non_arrayzTestCorrCoef.test_non_array=	s'���B�K�K�	�9�=� �#�Y��r�
�3�	5r?c��t|j�}t||j�t	tjtj|�dk��t|j|j�}t||j�t	tjtj|�dk��yrJ)
rr�r)rvr&r7r�rar�rw)rf�tgt1�tgt2s   r=rzTestCorrCoef.test_simpleA	s|���������D�$�)�)�,�����r�v�v�d�|�s�*�+�,��������'���D�$�)�)�,�����r�v�v�d�|�s�*�+�,r?c�\�t�5}tjd�ttt
|jd��|jt�tt|jd��|j�tt|j|jd��|j�tt|jd��|j�tt|j|jd��|j�ddd�y#1swYyxYw)N�alwaysr_��ddofrX)r/�warnings�simplefilterr-�DeprecationWarningrr��filterr)rvr�rw�rf�sups  r=�	test_ddofzTestCorrCoef.test_ddofJ	s���
�
 �	M�C��!�!�(�+��+�X�t�v�v�B�G��J�J�)�*������b� 9�4�9�9�E���������b� A�4�9�9�M������a� 8�$�)�)�D���������a� @�$�)�)�L�	M�	M�	M�s�DD"�"D+c	��t�5}tjd�ttt
|j|jdd�ttt
|jd��|jt�tt|jd��|j�ddd�y#1swYyxYw)Nr�rPr)�bias)r/r�r�r-r�rr�r�r�r)rvr�s  r=�	test_biaszTestCorrCoef.test_biasV	s���
�
 �	E�C��!�!�(�+��+�X�t�v�v�t�v�v�q�!�L��+�X�t�v�v�A�F��J�J�)�*������a� 8�$�)�)�D�
	E�	E�	E�s�B#B7�7Cc��tjgd�gd�g�}t|�}tjddgddgg�}t||�t	tj
tj|�dk��y�Nr��rcy@rkr�r�rc)r7r�rr,r&r�ra)rfr�r>r�s    r=�test_complexzTestCorrCoef.test_complex`	sa���H�H�i��.�/���q�k���h�h��T�
�S�"�I�.�/����S�!�����r�v�v�c�{�c�)�*�+r?c���tjgd�g�}tjgd�g�}ttj||�tjddgddgg��yr�)r7r�r,r�rfr�rs   r=�test_xyzTestCorrCoef.test_xyg	sM���H�H�i�[�!���H�H�l�^�$������A�q�)�2�8�8�b�$�Z�#�r��4K�+L�Mr?c	���tjd��5tjdt�t	tt
jg��tj�t	tt
jg�jdd��t
jg�jdd��t	tt
jg�jdd��t
jtjtjgtjtjgg��ddd�y#1swYyxYw�NT��recordr�rrN)
r��catch_warningsr��RuntimeWarningr(rr7r�reryr�s r=�
test_emptyzTestCorrCoef.test_emptyl	s���
�
$�
$�D�
1�	O��!�!�(�N�;��x������5�r�v�v�>��x������(<�(<�Q��(B�C�!�x�x��|�3�3�A�q�9�
;��x������(<�(<�Q��(B�C�!�x�x�"�&�&�"�&�&�)9�B�F�F�B�F�F�;K�(L�M�
O�	O�	O�	O���D5E�Ec�2�ddgddgg}tjd��5t|�}ddd�ttjddgddgg��ttjtj|�dk��y#1swY�cxYw)Ng0��.�++g}Ô%�I�T�raise)r�r�r�)r7�errstaterr*r�r&r�ra)rfr�r�s   r=�test_extremezTestCorrCoef.test_extremeu	s|���e�_�u�f�o�.��
�[�[�W�
%�	����A�	�!�!�R�X�X��C�y�3��)�.D�%E�F�����r�v�v�a�y�C�'�(�)�	�	�s�B
�
B�	test_typec�v�|jj|�}t||��}||jk(sJ�y�Nr�)r�rrr�)rfr��cast_Ar>s    r=�test_corrcoef_dtypez TestCorrCoef.test_corrcoef_dtype|	s2�������y�)���v�Y�/���C�I�I�%�%�%r?N)rr�r�r7r�r�r�rvrwr�rr�r�r�r�r�r�rrDrE�half�single�double�
longdoubler�r�r?r=rsrs(	s�������	-�	-�	,�	.�	/�A�	����	,�	-�	,�	.�	/�A��2�8�8�	%�	$�	&�	(�)�D��2�8�8�	I�	I�	K�	M�	J�	J�	L�M�D�5�-�
M�E�,�N�
O�*��[�[���[�2�7�7�B�I�I�r�y�y�"�-�-�*X�Y�&�Z�&r?rsc��eZdZejddgddgddgg�j
Zejddgddgg�Zejgd�d��Zejgd��Z	ejd	gdgdgdgdgd
gg�j
Z
ejddgddgg�Zejd
ej��Zejgd��Zejddgddgg�Zejd
�Zejgd��Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zej<j?dej@ejBejDejFg�d��Z$d�Z%y )!�TestCovrrNrPr�r�)r�r�r�)�ndmin)rPrLrPr�r�皙�����?g������ٿrXr�)r�r�r�gUUUUUU�?gUUUUUU�)g&S��:�?g�o_��?g#�~j��?g���ZӼ�?g�Q�|�?c�V�tt|j�|j�yr6)r,r�x1rvr�s r=rlzTestCov.test_basic�	s����D�G�G��d�i�i�0r?c���tjgd�gd�g�}tjddgddgg�}tt|�|�tt|tjd���|�y)Nr�r�r�r�rcrX��aweights)r7r�r,rrd)rfr�r>s   r=r�zTestCov.test_complex�	sW���H�H�i��.�/���h�h��T�
�S�"�I�.�/����A���$���A�����
�3�S�9r?c���tjgd�g�}tjgd�g�}tt||�tjddgddgg��yr�)r7r�r,rr�s   r=r�zTestCov.test_xy�	sH���H�H�i�[�!���H�H�l�^�$����A�q�	�2�8�8�b�$�Z�#�r��,C�#D�Er?c	���tjd��5tjdt�t	tt
jg��tj�t	tt
jg�jdd��t
jg�jdd��t	tt
jg�jdd��t
jtjtjgtjtjgg��ddd�y#1swYyxYwr�)
r�r�r�r�r(rr7r�reryr�s r=r�zTestCov.test_empty�	s���
�
$�
$�D�
1�	O��!�!�(�N�;��s�2�8�8�B�<�0�"�&�&�9��s�2�8�8�B�<�#7�#7��1�#=�>�!�x�x��|�3�3�A�q�9�
;��s�2�8�8�B�<�#7�#7��1�#=�>�!�x�x�"�&�&�"�&�&�)9�B�F�F�B�F�F�;K�(L�M�
O�	O�	O�	O�r�c	�v�tjd��5tjdt�t	t|jd��tjtjtjgtjtjgg��ddd�y#1swYyxYw)NTr�r�rYr�)
r�r�r�r�r(rr�r7r�rnr�s r=�test_wrong_ddofzTestCov.test_wrong_ddof�	s~��
�
$�
$�D�
1�	>��!�!�(�N�;��s�4�7�7��3�!�x�x�"�&�&�2�6�6�'�):�+-�6�6�'�2�6�6�):�)<� =�
>�	>�	>�	>�s�BB/�/B8c��tt|j�t|jd���tjgd��}tt|j|�t|j|d���y)NF)�rowvar)g+����?g4��@���?g��&S�?g�o_��?g�J�4�?)r,r�x3r7r��rfrs  r=�test_1D_rowvarzTestCov.test_1D_rowvar�	sO����D�G�G��c�$�'�'�%�&@�A��H�H�=�>����D�G�G�Q���T�W�W�a��)F�Gr?c��tt|jd��tj|jd���y)NrPr�)r,rr�r7�varr�s r=�test_1D_variancezTestCov.test_1D_variance�	s&����D�G�G�!�,�b�f�f�T�W�W�1�.E�Fr?c�^�tt|j|j��t|j��tt|j
|j��|j�tt|j
|j��|j�|jdz}ttt|j
|��tjdtj��}ttt|j
|��tjdtj��}ttt|j
|��dtjdtj��z}ttt|j
|��y)N)�fweightsr�rNrXr�rNr_rX)r,rr]�frequencies�
x2_repeatsr�rw�unit_frequenciesrvr+r
r7rdro�RuntimeErrorrc)rf�nonintrns   r=�
test_fweightszTestCov.test_fweights�	s����D�G�G�d�.>�.>�?��D�O�O�,�	.���D�G�G�d�.>�.>�?��	�	�	#���D�G�G�d�.C�.C�D��	�	�	#��!�!�C�'���i��d�g�g��?��G�G�F�"�'�'�*���l�C����1�=��G�G�A�R�W�W�%���l�C����1�=������"�'�'�*�*���j�#�t�w�w��;r?c��tt|j|j��|j�tt|jd|jz��t|j|j���tt|j|j
��|j�tjd�}ttt|j|��tjd�}ttt|j|��dtjd�z}ttt|j|��y)Nr�r�r�rNr�rX)r,rr�r�rx�unit_weightsrvr7rdr+r�rcras  r=�
test_aweightszTestCov.test_aweights�	s�����D�G�G�d�l�l�;�T�Y�Y�G���D�G�G�c�D�L�L�.@�A��D�G�G�d�l�l�;�	=���D�G�G�d�.?�.?�@�$�)�)�L��G�G�F�O���l�C����1�=��G�G�A�J���l�C����1�=��2�7�7�1�:����j�#�t�w�w��;r?c�F�tt|j|j|j��t|j
��tt|j|j|j��|j�tt|j|j|j��|j�tt|j|j|j��|j�tt|j|jd|jz��t|j|j���tt|j|j|j��|j�y)N)r�r�r�r�)r,rr]r�r�r�r�rwr�rvr�rxr�s r=�test_unit_fweights_and_aweightsz'TestCov.test_unit_fweights_and_aweights�	s+����D�G�G�d�.>�.>�%)�%6�%6�8��D�O�O�,�	.�	��D�G�G�d�.>�.>�%)�%6�%6�8��	�	�	#�	��D�G�G�d�.C�.C�%)�%6�%6�8��	�	�	#�	��D�G�G�d�.C�.C�%)�\�\�3��	�	�	#�	��D�G�G�d�.C�.C�%(�4�<�<�%7�9��D�G�G�d�l�l�;�	=�	��D�G�G�d�.C�.C�%)�%6�%6�8��	�	�	#r?r�c�v�|jj|�}t||��}||jk(sJ�yr�)r�rrr�)rfr��cast_x1r>s    r=�test_cov_dtypezTestCov.test_cov_dtype�	s2���'�'�.�.��+���'��+���C�I�I�%�%�%r?c��tjd�}tj|dd��}tj|jdd��}t	||d��y)Nr=rT)r�r�F)�strict)r7rdrr"r,r�s    r=�
test_gh_27658zTestCov.test_gh_27658�	sC���G�G�F�O���6�6�!�!�D�1��������!�E�2������6r?N)&rr�r�r7r�r"r�rvr]r�r�rwrdror�r�rxr�r�rlr�r�r�r�r�r�r�r�r�rrDrEr�r�r�r�r�r�r�r?r=r�r��	s���	����A�q�6�A�q�6�A�q�6�*�	+�	-�	-�B��2�8�8�b�#�Y��b�	�*�+�D�	����/��	+�B��"�(�(�9�%�K�����C�5�3�%�#�����u�s�e�D�E�G�G�J��2�8�8�c�4�[�4��+�.�/�D��r�w�w�q����0���b�h�h��'�G��2�8�8�g�x�(�8�W�*=�>�?�D��2�7�7�1�:�L�	����:�	;�B�1�:�F�
O�>�H�
G�<� 
<�#�(�[�[���[�2�7�7�B�I�I�r�y�y�"�-�-�*X�Y�&�Z�&�
7r?r�c��eZdZd�Zd�Zd�Zy)�Test_I0c�|�ttd�tjd��tjgd��}tjgd��}tt|�|�tt|�|�tjddgddgd	d
gddgd
dgg�}tt|�tjddgddgddgddgddgg��tjdg�}t	|j
d�t
tjdg�tjdg��y)Nrg�ǒ#�?)gC��7��?g�m�M�?g��3a�,�?g�$WV?ۏ?r�)g�ֿN^�?gE��?g閡�1�?g�%�m?�?gD��n��@g>@���v�?g�u�ͥ��?gV�X�˳�?g�ua�&�?gB-�sJ�?g-^���?g�_��V�?g
�X��.�?gV��aX��?g�j���?gp����?g~-��@�?g��D/b�?gݦ�����?g,�Y1ؔ�?g�[!���?g�Q�L��?gW�sU+�?g���@��?g�fx�w�?r�r_r�)r)rr7r�r'rCr()rfr�r�r��i0_0s     r=rzTest_I0.test_simple�	s����s�G��H�H�'�(�	*�

�H�H�I�J���8�8�[�\���B�q�E�8�,��B��r�F�H�-��H�H�x��,�!�:�.�!�:�.�!�:�.�!�:�.�	0�
1��
	��q�E��H�H�z�:�.�!�:�.�!�:�.�!�:�.�!�:�.�	0�
1�	2��u�u�b�T�{���T�Z�Z��&��2�5�5�"��;����"���7r?c�
��tjd��G�fd�d�}ttj|��|�sJ�tj��}tj|��}t||�y)NrLc�.��eZdZW�jZd�Zy)�*Test_I0.test_non_array.<locals>.array_likec��|Sr6r�)rfr��context�
return_scalars    r=�__array_wrap__z9Test_I0.test_non_array.<locals>.array_like.__array_wrap__
s���r?N)rr�r��__array_interface__r�r�s�r=�
array_liker�
s���"#�"7�"7��
r?r�)r7r8r�rarr()rfr�r�r>rgs    @r=r�zTest_I0.test_non_array
s^����I�I�a�L��	�	��"�&�&���.�
�;�;�;��e�e�A�h���e�e�J�L�!���3��$r?c��tjddg�}tjtd��5t|�}ddd�y#1swYyxYw)Nry�?@z#i0 not supported for complex valuesr)r7r�rrr
rr�s   r=r�zTest_I0.test_complex!
sA���H�H�a��[�!��
�]�]�9�,Q�
R�	��Q�%�C�	�	�	�s�A�AN)rr�r�rr�r�r�r?r=r�r��	s��8�8%� r?r�c��eZdZd�Zd�Zy)�
TestKaiserc��ttjtdd���t	tdd�tj
g��t	tdd�tj
ddg��t	tdd�tj
gd���t	tdd�tj
gd	���y)
NrPr�rrN� ��oF�?rY)r��vT�=�?r�r�r�gg���?)�����?��Y�J�?r�r�r�)r&r7�isfiniterr)r�r�s r=rzTestKaiser.test_simple)
s�������F�1�c�N�+�,��F�1�c�N��H�H�R�L�	*��F�1�c�N��H�H�j�*�%=�>�	@��F�1�c�N��H�H�&>�?�	@�	�F�1�g�.��H�H�&>�?�	@r?c��tdd�y)NrXrL)rr�s r=�
test_int_betazTestKaiser.test_int_beta6
s���q�!�r?N)rr�r�rr�r�r?r=r�r�'
s
��@�r?r�c�N�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
y)
�TestMeshgridc
���tgd�gd��\}}t|tjgd�gd�gd�gd�g��t|tjgd�gd�gd�gd�g��y)Nr��rLrYrwrxr�)rYrYrY)rwrwrw)rxrxrx�rr(r7r��rf�X�Ys   r=rzTestMeshgrid.test_simple<
s^���)�\�2���A��1�b�h�h�	�(1�(1�(1�(3�4�	5�	�1�b�h�h�	�(1�(1�(1�(3�4�	5r?c�d�tgd��\}t|tjgd���y)Nr�r�)rfr�s  r=�test_single_inputzTestMeshgrid.test_single_inputG
s!���|�$����1�b�h�h�|�4�5r?c�V�g}tgt|��tgt|ddi��y)Nr�F)r(rr�s  r=�
test_no_inputzTestMeshgrid.test_no_inputK
s)�����2�x���/��2�x��:�E�:�;r?c	�B�gd�}gd�}t||d��\}}t|tjgd�gd�gd�g��t|tjgd�gd�gd�g��dd	g}t	t||�d
j
dk(�t	t||d��d
j
dk(�t	t|||�d
j
d
k(�t	t|||d��d
j
dk(�t
tt||d��y)Nr�r��ij��indexingr�)rNrNrNrN)rXrXrXrXrvrIrr^�rXrL)rLrXrN)rXrLrN�notvalid)rr(r7r�r&rCr+rc)rfr�rr�r�r�s      r=�
test_indexingzTestMeshgrid.test_indexingP
s�������!�Q��.���A��1�b�h�h��(4�(4�(6�7�	8�	�1�b�h�h��(4�(4�(6�7�	8�
��F�����A��q�!�'�'�6�1�2����A��-�a�0�6�6�&�@�A����A�q�!�!�$�*�*�i�7�8����A�q�4�0��3�9�9�Y�F�G��j�(�A�q�:�Fr?c	��tgd�gd�d��\}}t|tjgd�g��t|tjdgdgdgdgg��y)	Nr�r�T��sparserLrYrwrxr�r�s   r=�test_sparsezTestMeshgrid.test_sparsed
sM���)�\�$�?���A��1�b�h�h�	�{�3�4��1�b�h�h���a�S�1�#��s�';�<�=r?c�<�tttgd�gd�d��y)Nr�r�r)r)r+r
rr�s r=�test_invalid_argumentsz#TestMeshgrid.test_invalid_argumentsi
s��	�i����t�	=r?c���tjddtj��}tjddtj��}tj||�\}}t|j|jk(�t|j|jk(�tj||d��\}}t|j|jk(�t|j|jk(�tj||d��\}}t|j|jk(�t|j|jk(�y)Nrr�r�r�T)r�r)r7r8rrrr&r�)rfr�rr�r�s     r=r�zTestMeshgrid.test_return_typep
s���
�I�I�a��2�:�:�.���I�I�b�"�B�J�J�/���{�{�1�Q����1�����1�7�7�"�#�����1�7�7�"�#��{�{�1�Q�T�*���1�����1�7�7�"�#�����1�7�7�"�#��{�{�1�Q�t�,���1�����1�7�7�"�#�����1�7�7�"�#r?c��tjddg�}tjddg�}tj||dd��\}}d|ddd�f<t|ddd�fd�t|d	dd�f|�y)
Nr�r�gffffff
@g������@FT)r	r�rrP)r7r�rr')rfr�r�r�rs     r=�test_writebackzTestMeshgrid.test_writeback�
so���H�H�c�3�Z� ���H�H�c�3�Z� ���{�{�1�a��D�9���1���!�Q�$���Q�q�!�t�W�a� ��Q�q�!�t�W�a� r?c�6�tjd�tdd�D��\}}}}}d}t|j|�t|j|�t|j|�t|j|�t|j|�y)Nc3�(K�|]
}dg|z���y�w)rNr�)r�r�s  r=r�z-TestMeshgrid.test_nd_shape.<locals>.<genexpr>�
s����%C�!�q�c�A�g�%C�s�rPrw)rNrPrXrLrY)r7rrer'rC)rfrgr�r�rhr~�expected_shapes       r=�
test_nd_shapezTestMeshgrid.test_nd_shape�
sq�����%C�u�Q��{�%C�D�
��1�a��A�(���Q�W�W�n�-��Q�W�W�n�-��Q�W�W�n�-��Q�W�W�n�-��Q�W�W�n�-r?c��tjdgddggd��\}}}t|gd�ggd�gg�t|gd�ggd�gg�t|gd�ggd�gg�y)NrrPrNrWr�r�rM�r7rr'r�s    r=�test_nd_valueszTestMeshgrid.test_nd_values�
sY���+�+�q�c�A�q�6�9�5���1�a��Q�)��y�k�2�3��Q�)��y�k�2�3��Q�)��y�k�2�3r?c��tjdgddggd�d��\}}}t|gd�gd�gg�t|gd�gd	�gg�t|gd�gd�gg�y)
NrrPrNrWrrr�r�rMrr�s    r=�test_nd_indexingzTestMeshgrid.test_nd_indexing�
sX���+�+�q�c�A�q�6�9�t�D���1�a��Q�)�Y�/�0�1��Q�)�Y�/�0�1��Q�)�Y�/�0�1r?N)rr�r�rr�r�rr
rr�rrrrr�r?r=r�r�:
s:��	5�6�<�
G�(>�
=�$�0!�.�4�2r?r�c�B�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zy
)�
TestPiecewisec	�v�tddgddgdg�}t|ddg�tddgddggdg�}t|ddg�tddgtjddg�dg�}t|ddg�tddgtjddg�dg�}t|ddg�tddgtjddg�gdg�}t|ddg�tddgddggd�g�}t|ddg�t	t
dtddgddggg�t	t
dtddgddgggd��y)	NrTFrPc��yr�r�rs r=r�z+TestPiecewise.test_simple.<locals>.<lambda>�
s�r?r_z1 or 2 functions are expectedr�)rr(r7r�r.rcr�s  r=rzTestPiecewise.test_simple�
sP���q�!�f�t�U�m�a�S�1���1�q�!�f�%�
�q�!�f��e�}�o��s�3���1�q�!�f�%�
�q�!�f�b�h�h��e�}�5��s�;���1�q�!�f�%�
�q�!�f�b�h�h��1�v�.���4���1�q�!�f�%�
�q�!�f�r�x�x��A��/�0�1�#�6���1�q�!�f�%��q�!�f��t�}�o��}�=���1�q�"�g�&��J�(G���1�v���
���	4��J�(G���1�v���
��	�	;r?c�N�tddgddgddggddg�}t|ddg�y)NrPrNTFrXrL�rr(r�s  r=�test_two_conditionsz!TestPiecewise.test_two_conditions�
s3���q�!�f��e�}�u�d�m�<�q�!�f�E���1�q�!�f�%r?c�>�tdgd�gd��}t|d�y)NrX)TFF)rLrNrrL)rr'r�s  r=�$test_scalar_domains_three_conditionsz2TestPiecewise.test_scalar_domains_three_conditions�
s���a�-�y�9���Q��r?c��tddgddgdg�}t|ddg�tddgddgddg�}t|ddg�y)NrPrNTFrrXrr�s  r=�test_defaultzTestPiecewise.test_default�
sR���q�!�f�t�U�m�a�S�1���1�q�!�f�%�
�q�!�f�t�U�m�a��V�4���1�q�!�f�%r?c�J�tjd�}t||dkDddg�}t|jdk(�t|dk(�d}t|ddgddg�}t|jdk(�t|dk(�t|gd�gd	��}t|d�y)
NrXrLrrYTFrPrKr�)r7r�rr&r�r(r�s   r=r�zTestPiecewise.test_0d�
s����H�H�Q�K���a��Q���A��'������!�����Q���
���a�$����A��/������!�����Q���
�a�-�y�9���1�a� r?c	�2�d}t||dk|dkDgddg�}t|d�d}t||dk|dkD|dkz|dkDggd��}t|d�ttdt||dk|dkDgdg�ttdt||dk|dkDggd	��y)
NrXrLrrYr�rNz2 or 3 functions are expectedrPr�)rr'r(r.rcr�s   r=�test_0d_comparisonz TestPiecewise.test_0d_comparison�
s���
���a�!�q�&�!�a�%��1�a�&�1���Q���
���a�!�q�&�1�q�5�Q�!�V�"4�a�!�e�<�i�H���1�a� ��J�(G��q�1��6�1�q�5�/�A�3�	0��J�(G��q�1��6�1�q�5�/�<�	9r?c��tjd�}tj|dkD�}t||gddg�}t|d�y)NrXrPrN)r7r�rr')rfr�r�rs    r=�test_0d_0d_conditionz"TestPiecewise.test_0d_0d_condition�
s>���H�H�Q�K���H�H�Q��U�O���a�!��q�!�f�%���Q��r?c��tjgd�gd�g�}t||dk|dk\ggd��}t|tjgd�gd�g��y)N)g�g��rj)rrKrirrNry)r�r�r�)r�r�r�)r7r�rr(r�s   r=�test_multidimensional_extrafuncz-TestPiecewise.test_multidimensional_extrafunc�
sT���H�H�(�%�'�
(���a�!�a�%��a���*�5���1�b�h�h��(4�(6�7�	8r?c���Gd�dtj�}tjd�j|�}t	||dk|dk\ggd��}tt
|�|�t|gd��y)Nc��eZdZy)�/TestPiecewise.test_subclasses.<locals>.subclassNr-r�r?r=r.r-r/r?r.r�r�rL)r�r�r�)r�r�r�r�r�)r7r0r8r1rr'r2)rfr.r�r�s    r=r3zTestPiecewise.test_subclassess]��	�r�z�z�	��I�I�b�M���x�(���a�!�B�$��1���}�5���T�!�W�h�'��Q�.�/r?N)rr�r�rrr!r#r�r&r(r*r3r�r?r=rr�
s/��;�:&��&�
!�
9��8�0r?rc��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zejjd
ddg�d
��Zd�Zejj#ed��d��Zejjdddggdg�d��Zejjdej,d�d��Zd�Zd�Zy)�TestBincountc��tjtjd��}t|tjd��y)NrL)r7�bincountr8r(rdr�s  r=rzTestBincount.test_simples*���K�K��	�	�!��%���1�b�g�g�a�j�)r?c��tjtjgd���}t|tjgd���y)N)rPrYrNrLrP)rrNrPrrPrP)r7r1r�r(r�s  r=�test_simple2zTestBincount.test_simple2s-���K�K�����1�2���1�b�h�h�'9�:�;r?c��tjd�}tjgd��}tj||�}t	||�y)NrL)皙�����?�333333�?rr�)r7r8r�r1r(�rfr�rrs    r=�test_simple_weightzTestBincount.test_simple_weights8���I�I�a�L���H�H�)�*���K�K��1����1�a� r?c���tjgd��}tjgd��}tj||�}t|tjgd���y)N�rPrNrLrYrN�r5r6rr�r5)rr5rrrr��r7r�r1r(r7s    r=�test_simple_weight2z TestBincount.test_simple_weight2sC���H�H�_�%���H�H�.�/���K�K��1����1�b�h�h�'A�B�Cr?c��tjgd��}tj|d��}t|tjgd���g}tj|d��}t|tjg��y)N)rrPrrPrPrX��	minlength)rNrXrrr<r�s   r=�test_with_minlengthz TestBincount.test_with_minlength"sZ���H�H�_�%���K�K��Q�'���1�b�h�h�y�1�2����K�K��Q�'���1�b�h�h�r�l�+r?c��tjgd��}tj|d��}t|tjgd���tj|d��}t|tjgd���y)N)rrPrPrNrNrXrXrNr?)rPrNrNrNrr<r�s   r=�)test_with_minlength_smaller_than_maxvaluez6TestBincount.test_with_minlength_smaller_than_maxvalue*sW���H�H�*�+���K�K��Q�'���1�b�h�h�|�4�5��K�K��Q�'���1�b�h�h�|�4�5r?c���tjgd��}tjgd��}tj||d�}t|tjgd���y)Nr:r;rv)rr5rrrr�rrr<r7s    r=�test_with_minlength_and_weightsz,TestBincount.test_with_minlength_and_weights1sE���H�H�_�%���H�H�.�/���K�K��1�a� ���1�b�h�h�'G�H�Ir?c�|�tjgt��}tj|�}t	||�yr�)r7r�r�r1r(r�s   r=r�zTestBincount.test_empty7s)���H�H�R�s�#���K�K��N���1�a� r?c��tjgt��}tj|d��}t	|tj
dt���y)Nr�rYr?)r7r�r�r1r(rAr�s   r=�test_empty_with_minlengthz&TestBincount.test_empty_with_minlength<s7���H�H�R�s�#���K�K��Q�'���1�b�h�h�q��4�5r?r@rrXc�x�ttjg|��tj|t���y)Nr?r�)r(r7r1rAr�)rfr@s  r=�test_empty_listzTestBincount.test_empty_listAs%���2�;�;�r�Y�?��8�8�I�S�9�	;r?c���tjgt���ttd�fd��tt
d�fd��tjd��ttd�fd��tt
d�fd��y)	Nr�z"'str' object cannot be interpretedc�2��tj�d��S�N�foobarr?�r7r1rs�r=r�z<TestBincount.test_with_incorrect_minlength.<locals>.<lambda>J����B�K�K��X�$F�r?zmust not be negativec�2��tj�d��S�Nr_r?rOrs�r=r�z<TestBincount.test_with_incorrect_minlength.<locals>.<lambda>M����B�K�K��R�$@�r?rYc�2��tj�d��SrMrOrs�r=r�z<TestBincount.test_with_incorrect_minlength.<locals>.<lambda>RrPr?c�2��tj�d��SrRrOrs�r=r�z<TestBincount.test_with_incorrect_minlength.<locals>.<lambda>UrSr?)r7r�r�r.r
rcr8r�s @r=�test_with_incorrect_minlengthz*TestBincount.test_with_incorrect_minlengthFsj����H�H�R�s�#���I�@�F�	H�	�J�2�@�	B�
�I�I�a�L���I�@�F�	H�	�J�2�@�	Br?r�r�c�~�tjtjtj��}tjtjtj
��}t
d�D]}tjgd���ttjtjtj��|�ttjtjtj
��|�t
d�D]}tjgd�gd���ttjtjtj��|�ttjtjtj
��|�y)Nr�r�r�)	r�r�r7r��intpr�rer1r')rf�
intp_refcount�double_refcount�js    r=�test_dtype_reference_leaksz'TestBincount.test_dtype_reference_leaksWs������������(9�:�
��/�/�"�(�(�2�9�9�*=�>���r��	#�A��K�K�	�"�	#��S�_�_�R�X�X�b�g�g�%6�7��G��S�_�_�R�X�X�b�i�i�%8�9�?�K��r��	.�A��K�K�	�9�-�	.��S�_�_�R�X�X�b�g�g�%6�7��G��S�_�_�R�X�X�b�i�i�%8�9�?�Kr?�valsrNc��tj|�}tt�5tj|�ddd�tt�5tj|�ddd�y#1swY�7xYw#1swYyxYwr6)r7�asarrayr+rcr1)rfr]�vals_arrs   r=�test_error_not_1dzTestBincount.test_error_not_1dgsi���:�:�d�#��
�:�
&�	"��K�K��!�	"�
�:�
&�	��K�K���	�	�	"�	"��	�	�s�A1�A=�1A:�=Br�r7c��tjgd�|��}tj|�}gd�}t||�y)N�rrPrPrXrNrPrxr��rPrXrPrPrrrrPr<)rfr�rgrr�s     r=�
test_gh_28354zTestBincount.test_gh_28354ps/���H�H�*�"�5�����Q���+���6�8�,r?c�`�tjtjd�ddd��y)NrrN)r7r1r8r�s r=�test_contiguous_handlingz%TestBincount.test_contiguous_handlingws ��
���B�I�I�e�$�S�q�S�)�*r?c�p�Gd�d�}|�}tj|�}gd�}t||�y)Nc��eZdZd�Zy)�0TestBincount.test_gh_28354_array_like.<locals>.Ac�P�tjgd�tj��S)Nrcr�)r7r�r�r�s r=�	__array__z:TestBincount.test_gh_28354_array_like.<locals>.A.__array__}s���x�x� 5�R�Y�Y�G�Gr?N)rr�r�rlr�r?r=r�rj|s��
Hr?r�rd)r7r1r()rfr�rgrr�s     r=�test_gh_28354_array_likez%TestBincount.test_gh_28354_array_like{s3��	H�	H�
�C�����Q���+���6�8�,r?N)rr�r�rr3r8r=rArCrEr�rHrrDrErJrVr�r0r\rar7�	typecodesrergrmr�r?r=r/r/s���*�<�!�D�,�6�J�!�
6�
�[�[���[�1�a�&�1�;�2�;�B�"�[�[���L�(�1I��J�
L�K�
L��[�[���V��1�v�h��]�3��4���[�[���T�2�<�<��#=�>�-�?�-�+�-r?r/c��eZdZd�Zd�Zd�Zd�Zd�Zejd�d�d�d	�ggd
���d��Z
d
�Zd�Zd�Z
d�Zd�Zd�Zd�Zd�Zd�Zy)�
TestInterpc�
�tttdgg�tttddgddg�tttdddgddgd��tttdggd��tttddgddgd��y)NrrPrNr%�h)r+rcrr�s r=�test_exceptionszTestInterp.test_exceptions�sl���j�&�!�R��4��j�&�!�a�S�1�a�&�9��j�&�!�a��V�a��V�A�F��j�&�!�R��C�@��j�&�!�a�S�1�a�&��Er?c���tjddd�}tjddd�}tjddd�}ttj|||�|�y)NrrPrYrn)r7r`r)r�rfr�r�x0s    r=rlzTestInterp.test_basic�sO���K�K��1�a� ���K�K��1�a� ��
�[�[��A�r�
"���B�I�I�b�!�Q�/��4r?c��tdd�D�]�}tj|tj��}tj|tj��}tj
dd|dz
|gtj��}|ddd�}t
|||�}t
|||�}tj
gd�t��}|ddd�}	t||�t||	�t
|||d��}t
|||d��}tj
gd�t��}|ddd�}	t||�t||	�t
|||d	�
�}t
|||d	�
�}tj
gd�t��}|ddd�}	t||�t||	�t
|||dd	��}t
|||dd	��}tj
gd
�t��}|ddd�}	t||�t||	����y)NrPr�r�r_rr���left)rrPrPrPrN��right)rPrPrPrN)ryr{)rrPrPrN)	rer7r8r�rdr�rr�r')
rf�size�xp�yp�incpts�decpts�incres�decres�inctgt�dectgts
          r=�test_right_left_behaviorz#TestInterp.test_right_left_behavior�s����!�R�L� 	)�D����4�r�y�y�1�B�����R�Y�Y�/�B��X�X�r�1�d�Q�h��5�R�Y�Y�G�F��D�b�D�\�F��F�B��+�F��F�B��+�F��X�X�l�%�8�F��D�b�D�\�F����(����(��F�B���3�F��F�B���3�F��X�X�l�%�8�F��D�b�D�\�F����(����(��F�B��!�4�F��F�B��!�4�F��X�X�l�%�8�F��D�b�D�\�F����(����(��F�B���!�<�F��F�B���!�<�F��X�X�l�%�8�F��D�b�D�\�F����(����(�A 	)r?c�&�tjddd�}tjddd�}d}ttj|||�|�d}ttj|||�|�tjd�}ttj|||�|�tj
d�}ttj|||�|�tj}ttj|||�|�y)NrrPrYr6)r7r`r)rrrrerus    r=�test_scalar_interpolation_pointz*TestInterp.test_scalar_interpolation_point�s����K�K��1�a� ���K�K��1�a� ��
���B�I�I�b�!�Q�/��4�
���B�I�I�b�!�Q�/��4�
�Z�Z��^���B�I�I�b�!�Q�/��4�
�Z�Z��^���B�I�I�b�!�Q�/��4�
�V�V���B�I�I�b�!�Q�/��4r?c�l�gd�}gd�}ddtjdg}ttj|||�ddtjtjdg�ddtjdg}ttj|||�ddtjtjdg�y)N�rPrNrirXrLr�rPrNrL)r7rnr)rre)rfr�r}�fps    r=� test_non_finite_behavior_exact_xz+TestInterp.test_non_finite_behavior_exact_x�s�����
����B�F�F�A�
���B�I�I�a��R�0�1�a��������2K�L���B�F�F�A�
���B�I�I�a��R�0�1�a��������2K�Lr?c�,�tj|�Sr6)r7rrs r=r�zTestInterp.<lambda>�s��"�*�*�Q�-�r?c��t|d�Srn�rHrs r=r�zTestInterp.<lambda>��
��-��1�%�r?c��td|�Srnr�rs r=r�zTestInterp.<lambda>�r�r?c�B�t|tj|d��S)NrV)rHr7�multiplyrs r=r�zTestInterp.<lambda>�s��-��2�;�;�q�"�#5�6�r?)rEzcomplex-realzcomplex-imagzcomplex-both)�params�idsc��|jS)z( scale function used by the below tests )�param)rf�requests  r=�scz
TestInterp.sc�s���}�}�r?c
�l�ttjdtjdg|ddg��|tj��ttjddtjg|ddg��|tj��ttjdddg|tjdg��|tj��ttjdddg|dtjg��|tj��y)z test that nans are propagated rrPrr�N)r'r7rre�rfr�s  r=�test_non_finite_any_nanz"TestInterp.test_non_finite_any_nan�s����R�Y�Y�s�R�V�V�!�$4�b�q�b�9I�6J�K�R�PR�PV�PV�Z�X��R�Y�Y�s�!�R�V�V�$4�b�q�b�9I�6J�K�R�PR�PV�PV�Z�X��R�Y�Y�s�!�!�$4�b�"�&�&�b�9I�6J�K�R�PR�PV�PV�Z�X��R�Y�Y�s�!�!�$4�b�q�"�&�&�9I�6J�K�R�PR�PV�PV�Z�Xr?c
���ttjdtjtj�g|ddg��|tj��ttjdddg|tjtj�g��|tj��ttjdddg|tj�tjg��|tj��ttjdtjtj�g|ddg��|d��y)z2 Test that interp between opposite infs gives nan rrr�rPN�r'r7rrnrer�s  r=�test_non_finite_infzTestInterp.test_non_finite_inf�s����R�Y�Y�s�b�f�f�W�r�v�v�g�$6��!�"�;M�8N�O�QS�TV�TZ�TZ�Q[�\��R�Y�Y�s�1�A�$6��R�V�V�G�b�f�f�W�;M�8N�O�QS�TV�TZ�TZ�Q[�\��R�Y�Y�s�1�A�$6��R�V�V�G�b�f�f�W�;M�8N�O�QS�TV�TZ�TZ�Q[�\�	�R�Y�Y�s�b�f�f�W�r�v�v�g�$6���"�;M�8N�O�QS�TV�QW�Xr?c
���ttjdtjdg|tjdg��|tj��ttjdtjdg|tj�dg��|tj��ttjdtjdg|dtjg��|tj��ttjdtjdg|dtj�g��|tj��ttjddtj�g|tjdg��|tj��ttjddtj�g|tj�dg��|tj��ttjddtj�g|dtjg��|tj��ttjddtj�g|dtj�g��|tj��y)z@ Test that interp where both axes have a bound at inf gives nan rrPr�rNr�r�s  r=�test_non_finite_half_inf_xfz&TestInterp.test_non_finite_half_inf_xf�s����R�Y�Y�s�b�f�f�W�A�$6��R�V�V�G�"�;M�8N�O�QS�TV�TZ�TZ�Q[�\��R�Y�Y�s�b�f�f�W�A�$6��R�V�V�G�"�;M�8N�O�QS�TV�TZ�TZ�Q[�\��R�Y�Y�s�b�f�f�W�A�$6��!�b�f�f�W�;M�8N�O�QS�TV�TZ�TZ�Q[�\��R�Y�Y�s�b�f�f�W�A�$6��!�b�f�f�W�;M�8N�O�QS�TV�TZ�TZ�Q[�\��R�Y�Y�s�1�r�v�v�g�$6��R�V�V�G�"�;M�8N�O�QS�TV�TZ�TZ�Q[�\��R�Y�Y�s�1�r�v�v�g�$6��R�V�V�G�"�;M�8N�O�QS�TV�TZ�TZ�Q[�\��R�Y�Y�s�1�r�v�v�g�$6��!�b�f�f�W�;M�8N�O�QS�TV�TZ�TZ�Q[�\��R�Y�Y�s�1�r�v�v�g�$6��!�b�f�f�W�;M�8N�O�QS�TV�TZ�TZ�Q[�\r?c
�@�ttjdtjtjg|ddg��|d��ttjdtjdg|ddg��|d��ttjddtj�g|ddg��|d��ttjdtj�tj�g|ddg��|d��y)z1 Test interp where the x axis has a bound at inf rrr�rPN�r'r7rrnr�s  r=�test_non_finite_half_inf_xz%TestInterp.test_non_finite_half_inf_x�s����R�Y�Y�s�b�f�f�W�r�v�v�g�$6��A�r�7��D�b��f�M��R�Y�Y�s�b�f�f�W�a�$6��A�r�7��D�b��f�M��R�Y�Y�s�1�r�v�v�g�$6��A�r�7��D�b��e�L��R�Y�Y�s�b�f�f�W�r�v�v�g�$6��A�r�7��D�b��e�Lr?c
���ttjdddg|dtjg��|tj��ttjdddg|dtj�g��|tj���ttjdddg|tjdg��|tj��ttjdddg|tj�dg��|tj���ttjdddg|tjtjg��|tj��ttjdddg|tj�tj�g��|tj���y)z1 Test interp where the f axis has a bound at inf rrrPr�Nr�r�s  r=�test_non_finite_half_inf_fz%TestInterp.test_non_finite_half_inf_fsL���R�Y�Y�s�Q��F�B�a�"�&�&��/A�,B�C�R�����[�Q��R�Y�Y�s�Q��F�B�a�"�&�&��/A�,B�C�R�����[�Q��R�Y�Y�s�Q��F�B�����b�/A�,B�C�R�����[�Q��R�Y�Y�s�Q��F�B�����b�/A�,B�C�R�����[�Q��R�Y�Y�s�Q��F�B�����"�&�&��/A�,B�C�R�����[�Q��R�Y�Y�s�Q��F�B�����"�&�&��/A�,B�C�R�����[�Qr?c��tjddd�}tjddd�dtjddd�zdzz}d}|d|zdzz}ttj|||�|�d}d}ttj||||��|�d	}d}ttj||||�
�|�gd�}gd�}dd
tjdg}dd
tjdztjdg}ttj|||�|�gd�}gd�}gd�}gd�}ttj|||d��|�y)NrrPrYrcr6r_�@@rxr�rzr�r��@�?rLy�?�iL���iV���iG����rPr�rim��iB���i^i����)�@�?y$@@�@@y@@)y@�?r�y�!@�?y@�?r�y
@
@y@@y@@rrr%)r7r`r)rrn)	rfr�rrv�y0ryr{r}r�s	         r=�test_complex_interpzTestInterp.test_complex_interps4���K�K��1�a� ���K�K��1�a� �A����A�q�!�(<�$<�d�#B�B��
��
�1�R�4��+�
���B�I�I�b�!�Q�/��4�
�����B�I�I�b�!�Q�T�:�D�A�
�����B�I�I�b�!�Q�e�<�e�D���
����r�v�v�q�
!��
��b�f�f�T�k�2�6�6�1�-���B�I�I�a��R�0�!�4�4��
#��
(��
#���B�I�I�a��R��<�a�@r?c��tjddd�}tjddd�}tjd�}ttj|||�|�tjgd��}tjgd��}tjtjd�||�}t|d�t
t|tj��tjtjd�||d�	�}t|d
�t
t|tj��y)NrrPrYr6r�)rPr_rPr>rLr%r)	r7r`r�r)rr'r&r�r)rfr�rrvr}r�rs       r=�)test_zero_dimensional_interpolation_pointz4TestInterp.test_zero_dimensional_interpolation_point's����K�K��1�a� ���K�K��1�a� ��
�X�X�b�\���B�I�I�b�!�Q�/��4�
�X�X�i�
 ��
�X�X�j�
!�����2�8�8�A�;��B�/���V�Q���
�6�2�:�:�.�/����2�8�8�C�=�"�b��;���V�S�!��
�6�2�:�:�.�/r?c��tjddd�}tj|�}ttjtj
||�d�y)Nrr�g-C��6?r�)r7r8�sinr)rr�)rfr}r�s   r=�test_if_len_x_is_smallz!TestInterp.test_if_len_x_is_small8s<��
�Y�Y�q�"�f�
%��
�V�V�B�Z���B�I�I�b�e�e�R��4�c�:r?c�L�gd�}gd�}gd�}gd�}ttj|||d��|�tj|d��j	d	d
�}tj|d��j	d	d
�}ttj|||d��|�y)Nr�r�)rYr�rXrL)g@r���!@g@r�g
@�@g@rrr%r�r�rNr_rU)r)r7rr�ry)rfr�r}r�rs     r=r5zTestInterp.test_period=s���4��
#��
��6���B�I�I�a��R��<�a�@��H�H�Q�c�"�*�*�1�b�1���H�H�Q�c�"�*�*�1�b�1���B�I�I�a��R��<�a�@r?N)rr�r�rsrlr�r�r�r�fixturer�r�r�r�r�r�r�r�r�r5r�r?r=rprp�s���F�5�$)�L5�M��V�^�^��%�%�6�	�
�
��
��Y�Y�	]�M�R�A�80�";�
Ar?rpc�N�eZdZd�Zd�Zd�Zd�Zd�Zejjdejd�d��Z
ejd	D���cgc]}|tjf��c}}}ejejfej ej fejejfej"ej"fej$d
�ejfgzZejjddgej(d
fej*dfg�ejjddge�ejjgd�gd��d����Zejd	ejdzd
zZejjde�d��Zejjde�d��Zejjde�d��Zd�Zd�Zd�Zd�Zd�Zd�Z ejjdej*dfe!ej*d� �d!fg�d"��Z"d#�Z#d$�Z$d%�Z%d&�Z&d'�Z'd(�Z(d)�Z)ejjd*d+d,d+gg�ejjd-gd.��/�d0���Z*d1�Z+ejjd2gd3��d4��Z,d5�Z-d6�Z.ejjdd7d8g�ejjd9gd:��d;���Z/y<cc}}}w)=�TestPercentilec
��tjd�dz}ttj|d�d�ttj|d�d�ttj|d�d�tj|d	<ttj|d�tj�ttj|dd
��tj�ttj|dd��tj�ttj|ddtj
|��
�tj�y)Nrvrrr�rsr�rnr�rP�nearest��method�inverted_cdf�r�r�)r7r8r'�
percentilererRr�s  r=rlzTestPercentile.test_basicJs����I�I�a�L�3����R�]�]�1�a�(�"�-��R�]�]�1�c�*�C�0��R�]�]�1�b�)�4�0��v�v��!���R�]�]�1�a�(�"�&�&�1��R�]�]�1�a�	�:�B�F�F�C��R�]�]�1�a��?����H���M�M�!�Q�~�"$�,�,�q�/�
3��F�F�	
r?c	��td�D�cgc]}t|d���}}tj|td��}t	|td��t	t|�t�tj|td��}t	|tdd��t	t|�t�tj|td��}t	|tdd��t	t|�t�tj|td�g�}t	|tjtdd�g��t	t|�tj�ycc}w)NrvrNrrsrxrnrL)rerr7r�r'r2r�r0)rfr�r�rAs    r=�
test_fractionzTestPercentile.test_fractionYs���%*�1�X�.��X�a��^�.��.��M�M�!�X�a�[�)���Q����$��T�!�W�h�'��M�M�!�X�c�]�+���Q���A��'��T�!�W�h�'��M�M�!�X�b�\�*���Q���A��'��T�!�W�h�'��M�M�!�h�r�l�^�,���Q����(�1�a�.�!1�2�3��T�!�W�b�j�j�)��!
/s�E:c���tjd�}tj|dddd�tj|ddddd�tjd�}tj|dd|dd�y)NrYF�linearr_)r7rdr�)rfrh�os   r=�test_apizTestPercentile.test_apils\���G�G�A�J��
�
�
�a��D�$��.�
�
�
�a��D�$��x�8��G�G�D�M��
�
�
�a��D�!�U�H�5r?c�Z�tjgd�d��}tttj|d�tjgd�d��}tttj|d�tjgd�d��}tttj|d�y�N)y�?@y������@�?y�������?ffffff@�Gr�r�Dr�)r7r�r+r
r��rf�arr_cs  r=r�zTestPercentile.test_complexssk�����7�s�C���i�����s�;����7�s�C���i�����s�;����7�s�C���i�����s�;r?c��tjgd�gd�gd�gd�gd�g�}ttj|dd��gd��y)Nr�)rLrLrXrnrr�)r7r�r(r�r�s  r=�test_2DzTestPercentile.test_2D{s<���H�H�i�����	!�
"��
	�2�=�=��B�Q�7��Cr?r�r8c�L�tjdtjdddg|��}tj|dd��}tjj|tj�tjj|j|j�y)Nr���A@�D@�I@r�r�r�)r7r_rer��testingr'r�)rfr�r�r>s    r=�test_linear_nan_1Dz!TestPercentile.test_linear_nan_1D�sp���j�j�$�����d�D�9��G���m�m������	�
�
����R�V�V�,�
�
�
����	�	�3�9�9�5r?r7r6�function�quantiler�r��input_dtype�expected_dtype)r��weightedr�)
)r�Fr�)r�Tr�)�averaged_inverted_cdfF��;@)�closest_observationFr�)�interpolated_inverted_cdfFr�)�hazenFr�)�weibullF�)r�Fr�)�median_unbiasedFr�)�normal_unbiasedFg ;@c��tj|�}tjgd�|��}|rtj|�nd}	|tjur5|tj
ur|d�}tjj}
ntjj}
|||||	��}|
||j|��|dvr�|dk(rLtjjtj|�jtj�ytjjtj|�jtj|��ytjjtj|�jtj|��y)N)r�g4@r�r�r�r�z0.4r�)r�r�r6)r7r�r_rRr�r�r�r)�assert_array_almost_equal_nulpr2r'r)rfr�r�r�r�r�r�r�r�r��
test_functionrs            r=�test_linear_interpolationz(TestPercentile.test_linear_interpolation�s4��0���.�1���j�j�7�{�K��'/�"�,�,�s�#�T���"�-�-�'��2�;�;�&�'�u�-���J�J�:�:�M��J�J�E�E�M��#�x���H���f�n�1�1�(�;�<��<�<��c�!��
�
�'�'��
�
�6�(:�(@�(@�"�*�*�M��
�
�'�'��
�
�6�(:�(@�(@�(*����(=�?�
�J�J�#�#�B�J�J�v�$6�$<�$<�$&�H�H�^�$<�
>r?c���ttjtjd|��dd��d�ttjtjd|��dd��d�y)	Nr�r�rn�lowerr�rL�higherrY�r'r7r�r8�rfr�s  r=�test_lower_higherz TestPercentile.test_lower_higher�sR���R�]�]�2�9�9�R�u�#=�r�*1�3�45�	7��R�]�]�2�9�9�R�u�#=�r�*2�4�56�	8r?c���ttjtjd|��dd��d�ttjtjd|��dzd	d��d
�ttjtjd|��dd��d�ttjtjd|��d	d��d
�y)
Nr�r��3�midpointr�r>rIrPrnrYr��@r�r�s  r=�
test_midpointzTestPercentile.test_midpoint�s����R�]�]�2�9�9�R�u�#=�r�*4�6�7:�	<��R�]�]�2�9�9�Q�e�#<�q�#@�"�*4�6�78�	:��R�]�]�2�9�9�R�u�#=�r�*4�6�7:�	<��R�]�]�2�9�9�R�u�#=�r�*4�6�78�	:r?c���ttjtjd|��dd��d�ttjtjd|��dd��d�y)	Nr�r�r�r�r�rY�1rLr�r�s  r=�test_nearestzTestPercentile.test_nearest�sR���R�]�]�2�9�9�R�u�#=�r�*3�5�67�	9��R�]�]�2�9�9�R�u�#=�r�*3�5�67�	9r?c�R�tjjd�}tj|d�}tjj||j
��tj|d�}tjj||j��y)NrYrsr)r7rbr3r�r�r'rr�)rfr�rs   r=�'test_linear_interpolation_extrapolationz6TestPercentile.test_linear_interpolation_extrapolation�sh���i�i�n�n�Q������s�C�(��
�
�
�������	�2����s�A�&��
�
�
�������	�2r?c�|�tjd�dz}ttj|gd��gd��y)Nrvr)rrsrn)rr�r�)r7r8r'r�r�s  r=�
test_sequencezTestPercentile.test_sequence�s)���I�I�a�L�3����R�]�]�1�l�3�^�Dr?c��tjd�jdd�}ttj|d�gd��gd�gd�gd�g}ttj|dd	�
�|�gd�gd�gd
�g}ttj|dd�
�tj
|�j�tjd�jdddd�}ttj|d�jd�ttj|d�jd�ttj|dd	�
�jd�ttj|dd�
�jd�ttj|dd�
�jd�ttj|dd�
�jd�ttj|dd�
�jd�ttj|dd��jd�ttj|dd��jd�ttj|dd	d��jd�ttj|ddd��jd�ttj|ddd��jd�ttj|ddd��jd�ttj|ddd��jd�y)NrrXrL)rJrnrs)g@r�rI)rNrXrLrYr�)rvrIr�r�rr�)��?rKrX)r!r�rx)r�r�r�rPrrrYrw�rJrnr�)rJrnr(r�)rNrLrYrw)rNrXrYrwrN)rNrXrLrw)rXrXrYrwr�r��r�r�)r7r8ryr'r�r�r"rC)rfr��r0rs    r=r�zTestPercentile.test_axis�sh���I�I�b�M�!�!�!�Q�'���R�]�]�1�m�4�6G�H��L�.�
9���R�]�]�1�m�!�<�b�A��n�o�
>���R�]�]�1�m�!�<�b�h�h�r�l�n�n�M�
�I�I�m�$�,�,�Q��1�a�8���R�]�]�1�h�/�5�5�t�<��R�]�]�1�l�3�9�9�4�@��R�]�]�1�h�Q�7�=�=�|�L��R�]�]�1�h�Q�7�=�=�|�L��R�]�]�1�h�Q�7�=�=�|�L��R�]�]�1�h�Q�7�=�=�|�L���M�M�!�\��2�8�8�,�	H��R�]�]�1�h�*2�4�49�E�4�	A��R�]�]�1�l�*2�4�49�E�4�	A��R�]�]�1�h�Q�*2�4�49�E�<�	I��R�]�]�1�h�Q�*2�4�49�E�<�	I��R�]�]�1�h�Q�*2�4�49�E�<�	I��R�]�]�1�h�Q�*2�4�49�E�<�	I��R�]�]�1�l��*2�4�49�E�<�	Ir?c��tjd�jdd�}ttj|d�d�ttjtj|d���tjgd��}ttj|dd��|�ttj|dd��j|j�tjgd	��}ttj|dd
��|�ttj|dd
��j|j�tjd
�}ttj|d|��d�t|d�tjd�}ttj|dd|��|�t||�tjd�}ttj|dd
|��|�t||�tjd�jdd�}ttj|dd
��d�ttjtj|d���tjgd��}tj|dd
d��}t||�t|j|j�tjgd��}tj|dd
d
��}t||�t|j|j�tjd|j��}tj|dd
|��}t|d�t|d�tjd|j��}tj|dd
d|��}t||�t||�tjd|j��}tj|dd
d
|��}t||�t||�y)NrrXrLrnr��r�r�rrrr��rKr�r�rP�r��r�r�r�r�r�)r�r�)r�r�r r�r��r�r�rY�r�r�r�)r7r8ryr'r�r&�isscalarr�rCr)�emptyr�)rfr�r�rr��c0�c1r�s        r=�
test_scalar_qzTestPercentile.test_scalar_q
s����I�I�b�M�!�!�!�Q�'���R�]�]�1�b�)�3�/�����B�M�M�!�R�0�1�2�
�X�X�)�
*���R�]�]�1�b�q�1�2�6��R�]�]�1�b�q�1�7�7����B�
�X�X�'�
(���B�M�M�!�R�a�8�"�=��R�]�]�1�b�q�1�7�7����B��h�h�q�k���R�]�]�1�b�c�2�C�8��S�#���h�h�q�k���R�]�]�1�b�q�c�:�B�?��S�"���h�h�q�k���R�]�]�1�b�q�c�:�B�?��S�"��
�I�I�b�M�!�!�!�Q�'���R�]�]�1�b��9�2�>�����B�M�M�!�R�0�1�2�
�X�X�)�
*��
�]�]�1�b��q�
9���R����R�X�X�r�x�x�(�
�X�X�n�
%��
�]�]�1�b��q�
9���B��#��R�X�X�r�x�x�(��h�h�r����)���M�M�!�R��S�9���Q����S�!���h�h�q����(���M�M�!�R��a�S�A���Q����S�"���h�h�q����(���M�M�!�R��a�S�A���Q����S�"�r?c
��tttjddgdd��tttjdgd�tttjdgd�tttjdgt	td��dgz�tttjdgt	td��d	gz�y)
NrPrN�8rNr��er_rnr�)r+rcr7r�rrer�s r=�test_exceptionzTestPercentile.test_exceptionF
s����j�"�-�-�!�Q���%�	'��j�"�-�-�!��c�:��j�"�-�-�!��b�9��j�"�-�-�!��d�5��9�o���6M�N��j�"�-�-�!��d�5��9�o���6N�Or?c�H�ttjgd�d�d�y)Nr�rrP)r'r7r�r�s r=�test_percentile_listz#TestPercentile.test_percentile_listN
s���R�]�]�9�a�0�!�4r?zpercentile, with_weightsFr�r�Tc	�4�|rtnt}tjgd��}tjd|��}d}|rtj
|�nd}|||||��}||usJ�t
||||��|�tjgd�gd�g�}tjd|��}|rtj
|�nd}|||d||�	�}||usJ�t
||||d�
�|�tjd|��}|||d||�	�t
||||d�
�|�tjd
�jdd�}|rtjgd�gd�g�}	ntjgd�gd�g�}	tjd|��}
|rtj
|�nd}t
||dd|
|�	�|	�t
|
|	�tjgd�gd�g�}tjd�}
t
tj|dd|
��|�t
|
|�tjgd�gd�g�}	tjd|j��}
tj|ddd|
��}t
||	�t
|
|	�tjgd�gd�g�}tjd|j��}
tj|ddd|
��}t
||�t
|
|�y)Nr�r�r�)r�r�rr�rr)r�r�r�rr�rPrrXrLr�r�)r�r�r�r�r)rNrLr�)r�r!r�rr�rr�r)rrLrv)rPrYrI)r�r�r7r�rArRr'r8ryrr�r�)
rfr��with_weights�	out_dtyper�rrAr�r�r�r�rr�s
             r=�test_percentile_outz"TestPercentile.test_percentile_outQ
s���(�C�U�	��H�H�Y����H�H�T��+����%1�"�,�,�q�/�t���q�!��G�4���A�v�
�v��Z��1�g�6��:��H�H�i��!�
"���H�H�V�9�-��%1�"�,�,�q�/�t���q�!�!��G�<���A�v�
�v��Z��1�g�A�>��B��H�H�V�9�-���1�a�a�Q��8��Z��1�g�A�>��B��I�I�b�M�!�!�!�Q�'������<��6�7�B����+�-=�>�?�B��h�h�v�Y�/��%1�"�,�,�q�/�t����q�(���W�E�r�	
�	�S�"��
�X�X�+�->�?�
@���h�h�v����R�]�]�1�h�Q�C�@�"�E��S�"���X�X�~�|�4�
5���h�h�v�Q�W�W�-���M�M�!�X�g�A�3�G���Q����S�"��
�X�X�{�K�0�
1���h�h�v�Q�W�W�-���M�M�!�X�g�A�3�G���Q����S�"�r?c	���tjd�jdddd�}ttj|dd��j
d�ttj|dd��j
d	�ttj|dd��j
d
�ttj|dd��j
d�ttj|dd
��j
d�ttj|dd��j
d
�ttj|dd��j
d	�ttj|dd��j
d�ttj|ddd��j
d
�ttj|ddd��j
d
�ttjtj|ddgd���j
d�ttjtj|ddgd���j
d�ttjtj|ddgd���j
d�ttjtj|ddgd���j
d�y)Nr�r�rPrNrnrr�)rPrNrP)r�rNrP)r�rPrPrX)r�rPrNr_rVr\r~r�r�r�)rNrPrNrP)rNr�rNrP)rNr�rPrP)rNr�rPrN)r7r8ryr(r�rCr��rfrhs  r=�test_percentile_empty_dimz(TestPercentile.test_percentile_empty_dim�
s	���I�I�f��%�%�b�!�Q��2���2�=�=��B�Q�7�=�=�y�I��2�=�=��B�Q�7�=�=�z�J��2�=�=��B�Q�7�=�=�z�J��2�=�=��B�Q�7�=�=�z�J��2�=�=��B�R�8�>�>�
�K��2�=�=��B�R�8�>�>�
�K��2�=�=��B�R�8�>�>�
�K��2�=�=��B�R�8�>�>�	�J��2�=�=��B�Q�0:�<�<A�E�%�	'�	�2�=�=��B�R�0:�<�<A�E�%�	'�	�2�8�8�B�M�M�!�b�"�X�A�$F�G�M�M�'�	)��2�8�8�B�M�M�!�b�"�X�A�$F�G�M�M�(�	*��2�8�8�B�M�M�!�b�"�X�A�$F�G�M�M�(�	*��2�8�8�B�M�M�!�b�"�X�A�$F�G�M�M�(�	*r?c�D�tjgd��}tj|dgd��t|tjgd���tjgd��}tj|dg�t|tjgd���y)N�rNrXrLrPrnF��overwrite_input�r7r�r�r'rss  r=�test_percentile_no_overwritez+TestPercentile.test_percentile_no_overwrite�
sf���H�H�\�"��
�
�
�a�"��u�5��Q�����.�/��H�H�\�"��
�
�
�a�"����Q�����.�/r?c���tjddd��}tjtjd�|d��t	|tjddd���tjddd��j�}tjtjd�|d��t	|tjddd��j��y)Nr��Y@rY)�numr�r�)r7r`r�r8r(r�)rfrAs  r=�test_no_p_overwritez"TestPercentile.test_no_p_overwrite�
s����K�K��D�a�(��
�
�
�b�i�i��o�q��<��1�b�k�k�"�d��:�;��K�K��D�a�(�/�/�1��
�
�
�b�i�i��o�q��<��1�b�k�k�"�d��:�A�A�C�Dr?c��tjgd��}tj|dgd��}t|tjdg��tjgd�dgd��}t|tjdg��y)NrrnTrrirr�s   r=�test_percentile_overwritez(TestPercentile.test_percentile_overwrite�
s`���H�H�\�"���M�M�!�b�T�4�8���Q����#���(��M�M�,���d�C���Q����#���(r?c��tjjd��}tj|gdz�}t	tj
|dd��tj
|d��tj|dd�}t	tj
|dd	��tj
|d��|jdd
�j�}t	tj
|dd��tj
|d��|jdd
�j�}t	tj
|dd
gd��tj
|dd
gd���t	tj
|dd
gd��tj
|dd
gd���tjd�jd�}tjj|j��t	tj
|dd��dtj
|dd�dd�dd�dfj�d��t	tj
|ddgd��dd�d
ftj
|dd�dd�d
dd�fj�ddg��t	tj
|dd��dtj
|dd�dd�ddd�fj�d��t	tj
|dd��dtj
|ddd�dd�dd�fj�d��t	tj
|dd��dtj
|dd
dd�dd�fj�d��t	tj
|dd��dtj
|ddd�dd�d
fj�d��t	tj
|dd��dtj
|ddd�ddd�fj�d��y)N��G��r|r�r�r`r�r_rrrrPrprJr4rOru��rXrYrxr��Z�rrPrX�rXrPr~rN�rXrPrNr�r��rPrV�rPrXrS)r7rb�normal�dstackr'r��moveaxisr�r�r8ry�shuffle�ravel�flatten�rfr�r�rhs    r=�test_extended_axisz!TestPercentile.test_extended_axis�
s.���I�I���(��+���I�I�q�c�B�h����R�]�]�1�b�v�6��
�
�a��8L�M��K�K��2�q�!���R�]�]�1�b�x�8�"�-�-��2�:N�O�
�J�J�q�!��!�!�#���R�]�]�1�b�w�7����q�"�9M�N�
�J�J�q�!��!�!�#���R�]�]�1�r�2�h�Y�?��]�]�1�r�2�h�T�:�	<��R�]�]�1�r�2�h�T�:��]�]�1�r�2�h�Q�7�	9�
�I�I�n�%�-�-�m�<��
�	�	���!�'�'�)�$��R�]�]�1�b�	�:�1�=��]�]�1�Q�q��A�X�;�#6�#6�#8�"�=�	?��R�]�]�1�r�2�h�Y�?��1��E��]�]�1�Q�q�!�A�X�;�#6�#6�#8�2�r�(�C�	E��R�]�]�1�b�z�:�1�=��]�]�1�Q�q�!�A�X�;�#6�#6�#8�"�=�	?��R�]�]�1�b�y�9�!�<��]�]�1�Q�q��1�W�:�#5�#5�#7��<�	>��R�]�]�1�b�v�6�t�<��]�]�1�Q��!�A�X�;�#6�#6�#8�"�=�	?��R�]�]�1�b�w�7��=��]�]�1�Q�q��A�X�;�#6�#6�#8�"�=�	?��R�]�]�1�b�v�6�t�<��]�]�1�Q�q�!�A�X�;�#6�#6�#8�"�=�	?r?c�
�tjd�}tttj|dd��tttj|dd��tttj|dd��tttj|dd��tt
tj|dd��tt
tj|d	d��tt
tj|d
d��y)Nr+r�rJ)r�rV�rr�rL�rrLrU)r_r_)rXr_)r7rdr+r%r�rcrs  r=�test_extended_axis_invalidz)TestPercentile.test_extended_axis_invalid�
s����G�G�M�"���i������b�A��i������2�F��i������R�@��i������"�E��j�"�-�-���2�F��j�"�-�-���R�H��j�"�-�-���B�Gr?c��tjd�}ttj|ddd��jd�ttj|ddd��jd�ttj|ddd��jd	�ttj|dd
d��jd�ttj|ddd�
�jd�ttj|ddd��jd�ttj|ddgdd��jd�ttj|ddgdd��jd�y)Nr+rxTr�r�r`�rPrPrxr�r��rPrYrxrPr_�rXrPrxr�r�)r�r-�rPrPrxrPrP)rNrPrPrxrP)rNrPrYrxrP)r7rdr'r�rCrs  r=�
test_keepdimszTestPercentile.test_keepdims�
s.���G�G�M�"���R�]�]�1�a�d�T�B�H�H�!�	#��R�]�]�1�a�f�t�D�J�J�"�	$��R�]�]�1�a�f�t�D�J�J�!�	#��R�]�]�1�a�d�T�B�H�H�"�	$��R�]�]�1�a���E�K�K�!�	#��R�]�]�1�a�i�$�G�M�M�!�	#�	�R�]�]�1�q�!�f�9�,0�2�27�%��	J��R�]�]�1�q�!�f�6�,0�2�27�%��	Jr?rVrxrPr��NrPr_r`)r\r_��argnames�	argvaluesc����tjd��|�d�jz}n>t|�j��t	��fd�t�j�D��}tj|�|z}tj|�}tj�||d|��}||usJ�t|j|�y)Nr+r_c3�H�K�|]}|�vrdn�j|���y�w�rPN�rC�r�r��	axis_normrhs  ��r=r�z3TestPercentile.test_keepdims_out.<locals>.<genexpr>�+�����L�89�Q�)�^�������3�L���"T�r�r�r�)
r7rdr�r4r�rerCrr�r')rfrVr��	shape_outr�rrMrhs      @@r=�test_keepdims_outz TestPercentile.test_keepdims_out�
s����
�G�G�M�"���<��q�v�v�
�I�,�T�1�6�6�:�I��L�=B�1�6�6�]�L�L�I��H�H�Q�K�)�+�	��h�h�y�!�����q�!�$��3�G����}��}��V�\�\�9�-r?c	�R�tjd�}tjd�}ttj|dd|��|�ttj|ddd|��|�tjd�}ttj|dd|��|�ttj|ddd|��|�tjd	�}ttj|d
|��|�ttj|d
d|��|�y)N�rLrrrr�rr�rPr�rN)r7rArdr'r��rfr�rhs   r=�test_outzTestPercentile.test_outs����H�H�T�N���G�G�F�O���R�]�]�1�a���2�A�6��R�]�]�1�a��9�!�D�a�H��H�H�T�N���R�]�]�1�a���2�A�6��R�]�]�1�a��9�!�D�a�H��H�H�R�L���R�]�]�1�a�Q�/��3��R�]�]�1�a�	�q�A�1�Er?zmethod, weighted))r�F)r�F)r�F)r�Tc�r�|rtjd�|d�}nd|i}tjd��5tjddt
�tjd�}tjd�}tj|d	<ttj|d
d
fd|i|��|�tjd�}ttj|d
d
fd|i|��|�tjd�}ttj|d
fd|i|��|�ddd�y#1swYyxYw)Nr�r�r�r�Tr�r�r�rTr�rr�r�rPr�)
r7rdr�r��filterwarningsr�rArer'r�)rfr�r��kwargsr�rhs      r=�test_out_nanzTestPercentile.test_out_nan&s����!#�����F�C�F���'�F�
�
$�
$�D�
1�	B��#�#�H�b�.�A������A������A��f�f�A�d�G�����q�!�Q�@�A�@��@�!�D������A�����q�!�Q�@�A�@��@�!�D������A�����q�!�=��=�f�=�q�A�	B�	B�	B�s�C.D-�-D6c��
�tjdt��}tj|d<t	tj
|d�tj�t	tj
|dd��tj�t	tj
|ddgd��tjtjgdz��tjdt��jddd	�}tj|d
<tj|d<t	tj
|d�tj�t	tj
|d�jd�tj
tjdt��jddd	�dd�}tj|d<tj|d
<t	tj
|dd�|�tj
tjdt��jddd	�ddgd�}tj|dd�ddf<tj|dd�ddf<t	tj
|ddgd�|�tj
tjdt��jddd	�dd�}tj|d<tj|d
<t	tj
|dd�|�tj
tjdt��jddd	�ddgd�}tj|dd�ddf<tj|dd�ddf<t	tj
|ddgd�|�tj
tjdt��jddd	�dd�}tj|d<tj|d<t	tj
|dd�|�tj
tjdt��jddd	�ddgd�}tj|dd�df<tj|dd�df<t	tj
|ddgd�|�tj
tjdt��jddd	�ddgdd��}tj|dd�df<tj|dd�df<t	tj
|ddgdd��|�y)Nr}r�rNr6rr��333333�?rXrLr��rPrPrNr�rqrPr1rTr�r�)	r7r8r�rer'r�r�ryr�r�s   r=�test_nan_behaviorz TestPercentile.test_nan_behavior>s����I�I�b��&���v�v��!���R�]�]�1�c�*�B�F�F�3��R�]�]�1�c��2�B�F�F�;��R�]�]�1�s�C�j�q�9��X�X�r�v�v�h��l�+�	-�
�I�I�b��&�.�.�q�!�Q�7���V�V��'�
��V�V��'�
�	�R�]�]�1�c�*�B�F�F�3��R�]�]�1�c�*�/�/��3�
�M�M�"�)�)�B�e�4�<�<�Q��1�E�s�A�N���&�&��$���&�&��$���R�]�]�1�c�1�-�q�1�
�M�M�"�)�)�B�e�4�<�<�Q��1�E���*�a�
)���V�V��!�Q��'�
��V�V��!�Q��'�
��R�]�]�1�s�C�j�!�4�a�8�
�M�M�"�)�)�B�e�4�<�<�Q��1�E�s�A�N���&�&��$���&�&��$���R�]�]�1�c�1�-�q�1��M�M��I�I�b��&�.�.�q�!�Q�7�#�s��Q�
H���V�V��!�Q��'�
��V�V��!�Q��'�
��R�]�]�1�s�C�j�!�4�a�8�
�M�M��I�I�b��&�.�.�q�!�Q�7��f�
F���v�v��!���v�v��!���R�]�]�1�c�6�2�A�6��M�M�"�)�)�B�e�4�<�<�Q��1�E���*�f�
.���&�&��!�Q�$���&�&��!�Q�$���R�]�]�1�s�C�j�&�9�1�=��M�M�"�)�)�B�e�4�<�<�Q��1�E���*�f�Y�
@���&�&��!�Q�$���&�&��!�Q�$���R�]�]�
��S�z�6�)�5�67�	9r?c�B�tjtd��5tjgd�tj
�ddd�tjtd��5tjgd�tj
g�ddd�tjddd�}tj
|d<tjtd��5tjgd�|�ddd�y#1swY��xYw#1swY�|xYw#1swYyxYw)NzPercentiles must be inr)rPrNrXr�r�g�X@r�r)rrrcr7r�rer`)rfrVs  r=�
test_nan_qzTestPercentile.test_nan_q{s���
�]�]�:�-E�
F�	2��M�M�.�"�&�&�1�	2�
�]�]�:�-E�
F�	4��M�M�.�2�6�6�(�3�	4��K�K��T�2�&���v�v��!��
�]�]�:�-E�
F�	-��M�M�.�!�,�	-�	-�
	2�	2��	4�	4��	-�	-�s#�'C=�&(D	�D�=D�	D�Dzm8[D]zM8[s]�pos�rr(r�c�&�tjdd|��}d||<tj|d�}|j|k(sJ�tj|�sJ�tj|ddg�}|j|k(sJ�tj|�j�sJ�tjdd|��j
dd	�}d||d
f<tj|dd��}ttj|�gd��y�
Nrr}r��NaTr�r4�Hr_rXrPr�rJ)r7r8r�r��isnatr�ryr(�rfr�rbrgr>s     r=�test_nat_basiczTestPercentile.test_nat_basic�s���

�I�I�a��5�)����#���m�m�A�r�"���y�y�E�!�!�!��x�x��}��}��m�m�A��B�x�(���y�y�E�!�!�!��x�x��}� � �"�"�"��I�I�a��U�+�3�3�B��:����#�q�&�	��m�m�A�r��*���2�8�8�C�=�*>�?r?N)0rr�r�rlr�r�r�r�rrDrEr7rnr�rr�rr�r��H_F_TYPE_CODESr�r�r��
TYPE_CODESr�r�r�r�r�r�rrrrrrrr"r$r9r=rCrRrVr[r_rarj)r��int_typer7s000r=r�r�Hsc��

�*�&6�<�D��[�[���W�b�l�l�7�&;�<�6�=�6�')�l�l�<�&@���"� ����,���J�J��
�
�3��J�J��
�
�3��J�J��
�
�3��M�M�2�=�=�9�$�B�H�H�S�M�2�:�:�6�	8�8�N��[�[���j�*�5�!�{�{�C�0�!�}�}�d�3�5�6��[�[���m�-=�>��O��[�[���?�
!�"�">�"�P�6� ">�H���l�+�b�l�l�7�.C�C�c�I�J��[�[���W�j�1�8�2�8��[�[���W�j�1�:�2�:��[�[���W�j�1�9�2�9�3�E�"I�H.�`P�5��[�[���"�
�]�]�E�"�
�R�]�]�>�
:�D�A�	
��1��1�f*�80�E�)�?�@	H�J�(�[�[���S�1�q�!�f�+�.��[�[����
��	�
.�	�/�
.�F��[�[���/�2��B�
�B�$;9�z	-��[�[���W�w��&8�9��[�[���U�K�0�@�1�:�@��us�L r�)
r�r�r�r�r�r�r�r�r�r�r�r�r�r�c�j�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	e
jjde
jd	�d
��Ze
jjde�d��Ze
jjde�d
��Zej(ee
j,ej0dd��ej2dddd������d��Zd�Ze
jjdddg�e
jjde�e
jjdgd��d����Ze
jjdddg�e
jjde�e
jjdgd��d����Ze
jjde�e
jjdgd��d���Ze
jjde�e
jjdgd ��d!���Z e
jjde�d"��Z!e
jjde�d#��Z"d$�Z#e
jjde$e%e�e%e�z
��d%��Z&d&�Z'd'�Z(y())�TestQuantilec��||k\|z
Sr6r�)rfr�r�alphas    r=rTzTestQuantile.V�s���Q��%��r?c�|�gd�}tj|d�}tjj|dd��y)N)r�r5r�g�������?g
ףp=
�?rP)�maxulp)r7r�r��assert_array_max_ulp)rfr�rgs   r=�test_max_ulpzTestQuantile.test_max_ulp�s2�����K�K��4� ��	�
�
�'�'��4��'�:r?c���tjd�dz}ttj|d�d�ttj|d�d�ttj|d�d�y)Nrvrrr�rPr�r�)r7r8r'r�r�s  r=rlzTestQuantile.test_basic�sS���I�I�a�L�3����R�[�[��A�&��+��R�[�[��A�&��,��R�[�[��C�(�$�/r?c�j�tjdg�}tjdd�}t||d�tt	|�|j
�tjgd��}tj||�}t
||�t|j
|j
�y)NTFr)FTT)r7r�r�r'r2r�r()rfrg�tf_quant�	quant_ress    r=�test_correct_quantile_valuez(TestQuantile.test_correct_quantile_value�s}���H�H�d�V����;�;�t�U�+���X�q��t�$��T�(�^�Q�W�W�-��H�H�(�)���K�K��1�%�	��9�a�(��Y�_�_�a�g�g�.r?c	���td�D�cgc]}t|d���}}tj|d�}t	|d�t	t|�t�tj|d�}t	|tdd��t	t|�t�tj|d�}t	|d�t	t|�tj�tj|tdd��}t	|tdd��t	t|�t�tj|tdd�g�}t	|tjtdd�g��t	t|�tj�tj|tdd�gg�}t	|tjtdd�gg��t	t|�tj�tjd�}t	tj|tdd��tdd��ycc}w)	NrvrNrrPrxrr�rL)
rerr7r�r'r2rr�r0r8)rfr�r�rVs    r=r�zTestQuantile.test_fraction�s���%*�1�X�.��X�a��^�.��.��K�K��1����Q����T�!�W�h�'��K�K��1����Q���A��'��T�!�W�h�'��K�K��2����Q����T�!�W�b�j�j�)��K�K��8�A�q�>�*���Q���A��'��T�!�W�h�'��K�K��H�Q��N�+�,���Q����(�1�a�.�!1�2�3��T�!�W�b�j�j�)��K�K��X�a��^�,�-�.���Q����8�A�q�>�"2�!3�4�5��T�!�W�b�j�j�)�
�I�I�a�L���R�[�[��H�Q��N�3�X�a��^�D��7
/s�Ic�Z�tjgd�d��}tttj|d�tjgd�d��}tttj|d�tjgd�d��}tttj|d�yr�)r7r�r+r
r�r�s  r=r�zTestQuantile.test_complex�sk�����7�s�C���i����e�S�9����7�s�C���i����e�S�9����7�s�C���i����e�S�9r?c�n�tjgd��}|j�}tjtjd�|d��t||�|j
�}|j
�}tjtjd�|d��t||�y)N)rr�rlrr�r r�r�)r7r�r�r�r8r(r�)rf�p0rAs   r=r"z TestQuantile.test_no_p_overwrite�sv��
�X�X�/�
0���G�G�I��
���B�I�I�d�O�Q�z�:��1�b�!�
�Y�Y�[��
�H�H�J��
���B�I�I�d�O�Q�z�:��1�b�!r?r�r7c��tjtjddg|��dgd��}|j|k(sJ�y)NrPrNr�rr�r�)r7r�r�r�)rfr�r>s   r=�test_quantile_preserve_int_typez,TestQuantile.test_quantile_preserve_int_type�s:���k�k�"�(�(�A�q�6��7�#��!*�,���y�y�E�!�!�!r?r�c��gd�}tj|ddg|��}t|tjddg��y)N)r�r�rrrP)rVr�r�r)r7r�r'r�)rfr�r�r�s    r=�test_q_zero_onezTestQuantile.test_q_zero_one�s6�����;�;�s��A��v�>���X����"�b�� 2�3r?c�B�tjddd�}tjtjgd��dz||��}t	tj
|�|�tjgd�||��}t	tj
|�|�y)NrrPr)rrPrPrNrNrXrXrLrYrYrPrPrIrIrIrvrvrxr�r�)r�r�r�r�)r7r`r�r�r'rd)rfr�r~r�s    r=�test_quantile_monotonicz$TestQuantile.test_quantile_monotonics}��
�[�[��A�s�
#���;�;�r�x�x�)2� 3�58� 9�:<�V�M���R�W�W�X�&��1��;�;�/��F�C���R�W�W�X�&��1r?rXr')�	min_value�	max_valueF�u�<�7��u�<�7~)�allow_infinity�	allow_nanr�r�)r�rC�elements)r�c��tjddd�}tj||�}ttj|�|�y)NrrPg{�G�z�?)r7r8r�r'rd)rfr�r~r�s    r=�test_quantile_monotonic_hypoz)TestQuantile.test_quantile_monotonic_hypos9���Y�Y�q�!�T�
"���;�;�s�B�'���R�W�W�X�&��1r?c��tjgd�gd�g�}tj|dd<tj|d�}tj|�sJ�ttj|d�tj�y)N)r�rr�)r�r�r�rrPr)r7r�rer�rr')rfrgrs   r=�test_quantile_scalar_nanz%TestQuantile.test_quantile_scalar_nansa���H�H�m�\�2�3���&�&��!��Q�����Q��$���{�{�6�"�"�"��R�[�[��C�(�"�&�&�1r?r�Trq)r5r��������?c
���|r|tvrtjd�tjjd�}d}|j	|�}|r|j
dd|��nd}tj||||��}|dvrBtjtj|j|||���d	|zkDsJ�yt||z�||zk(r7|s5ttj|j|||�|�
�dd��yttj|j|||�|�
�dd
|ztj|d
|z
g�z��y)N� Weights not supported by method.���frr���low�highr|r�)r�r�rg�+����=)�atolrP)�methods_supporting_weightsr�skipr7rb�default_rng�integersr�rar�rTr�r,rr�)	rfr�r�rq�rngr;rrr�s	         r=�%test_quantile_identification_equationz2TestQuantile.test_quantile_identification_equation#s*���v�%?�?��K�K�:�;��i�i�#�#�D�)��

���J�J�q�M��4;�C�L�L�Q�R�a�L�0����K�K��5���;���[� ��6�6�"�'�'�$�&�&��A�u�"5�6�7�#��'�A�A�A�
��U��^�q�5�y�
(����
�
�4�6�6�!�Q��.��:�A�E�
�
�B�J�J�t�v�v�a��E�':�A�F����U�R�W�W�e�Q��Y�%7�8�8�
:r?c	�p�|r|tvrtjd�tjjd�}d}|j	|�}|r|j
dd|��nd}tj||||��}d}	ttj|	|z|||��|	|z�ttj|	|z|||��|	|z�|rytj|d	|z
|�
�}|dk(r�||zt||z�k(s*tj||z�t||z�d	zk(r#t|tj||d�
��yt|tj||d
�
��y|dk(r�||zt||z�k(r#t|tj||d�
��ytj||z�t||z�d	zk(r)t|tj||d	|zzd�
��yt|tj||d
�
��y|dk(r)t|tj||d	|zz|�
��y|dk(r`||zt||z�k(r)t|tj||d	|zz|�
��yt|tj|||�
��y|d
k(r#t|tj||d�
��y|dk(r#t|tj||d
�
��yt|tj|||�
��y)Nr�r�r�rr�r�r�g+@rPr�r�r�r�r�r�r�)r�rr�r7rbr�r�r�r,r��round)
rfr�r�rqr�r;rrrVr�s
          r=�'test_quantile_add_and_multiply_constantz4TestQuantile.test_quantile_add_and_multiply_constantHs����v�%?�?��K�K�:�;��i�i�#�#�D�)��

���J�J�q�M��4;�C�L�L�Q�R�a�L�0����K�K��5���;����	����A��E�5���K��A��	�	����A��E�5���K��A��	���
�[�[�!��Q��Y�v�
6�6���^�#��E�	�S��U��^�+��8�8�A��I�&�#�a�%�i�.�1�*<�<���2�;�;�q�%��#I�J���2�;�;�q�%��#H�I�
�,�
,��5�y�C��E�	�N�*���2�;�;�q�%��#I�J����!�e�)�$��A��I���(:�:���r�{�{�1�e�a��c�k�(�C�E� ��2�;�;�q�%��#H�I�
�2�
2��A�r�{�{�1�e�a��c�k�&�I�J�
�y�
 ��5�y�C��E�	�N�*���2�;�;�q�%�!�A�#�+�f�#M�N���2�;�;�q�%��#G�H�
�w�
��A�r�{�{�1�e�H�E�F�
�x�
��A�r�{�{�1�e�G�D�E�
�A�r�{�{�1�e�F�C�Dr?c��tjjd�}d}|j|�}tj|||��}tj|�}tj||||��}t||�dtj|�z}tj||||��}t||�y)Nr�r�r�r�g@ @)r7rbr�r�rRr,)	rfr�rqr�r;rrVr�qws	         r=�test_quantile_constant_weightsz+TestQuantile.test_quantile_constant_weights�s����i�i�#�#�D�)��

���J�J�q�M���K�K��5��0���L�L��O��
�[�[��E�&�!�
<����A���B�L�L��O�#��
�[�[��E�&�!�
<����A�r?)rr5rr�rPc�P�tjjd�}d}|j|�}|jdd|tj��}tj
||||��}tj
tj||�||��}t||�y)Nr�r�rr�)r�r�r|r�r�r�)r7rbr�r�r�r�rr,)	rfr�rqr�r;rrr�rVs	         r=�"test_quantile_with_integer_weightsz/TestQuantile.test_quantile_with_integer_weights�s����i�i�#�#�D�)��

���J�J�q�M���L�L�Q�R�a�r�x�x�L�@��
�[�[��E�&�!�
<���K�K��	�	�!�Q���v�>����A�r?c��tjjd�}|jd�}tj|jd��}d}tj||||d��}tj
d��}t
d	�D]8}t
d
�D](}	tj||dd�|	f|||��|||	f<�*�:t||�gd�}tj||||d��}tj
d
��}t
d	�D];}t
d
�D]+}	tj||dd�|	f|||��|dd�||	f<�-�=t||�ddgddgddgg}tj||||d��}|jd�}t||�tj|jd��}d}tj||||d��}tj
d��}t
d	�D]@}t
d
�D]0}	tj||dd�|	f||||dd�|	f��|||	f<�2�Bt||�y)Nr�)rNr�rXr�rrP)r�r�r�r�rKrNrXr�)rr5r�r]r�rP)rwrNrXrr5r�r]r�)rXrNrNrX)	r7rbr�rar�rArer,ry)
rfr�r�rrrqrV�q_resr�r[s
          r=�#test_quantile_with_weights_and_axisz0TestQuantile.test_quantile_with_weights_and_axis�s7���i�i�#�#�D�)��
�J�J�z�"���F�F�3�:�:�b�>�"�����K�K��5�!�F��C�����v�&���q��	�A��1�X�
�� �k�k��a��A�g�J��f�a���a��d��
�	�
	��5�!�+���K�K��5�!�F��C�����y�)���q��	�A��1�X�
��!#����a��A�g�J��f�a�"��a��A�g��
�	�
	��5�!��S��C��:��Q�x�0���K�K��5�!�F��C���
�
�l�+����5�!�
�F�F�3�:�:�j�)�*�����K�K��5�!�F��C�����v�&���q��	�A��1�X�
�� �k�k��a��A�g�J��f�a��1�a��j���a��d��
�	�
	��5�!r?c���gd�}tjd�}tj|d|d��}tj|d|d��}||dk(sJ�||dk(sJ�y)	N)rrrPrNrXrrwrr�rXrPrNrL)r7r8r�)rfr�rr�y_min�y_maxs      r=�test_quantile_weights_min_maxz*TestQuantile.test_quantile_weights_min_max�s^��
���I�I�a�L�����A�q�!�N�C�����A�q�!�N�C����!��}��}���!��}��}r?c��ddg}ddg}tjtd��5tj|d|d��ddd�y#1swYyxYw)	NrPrNrjzWeights must be non-negativerrr�rX�rrrcr7r�)rfrrs   r=�-test_quantile_weights_raises_negative_weightsz:TestQuantile.test_quantile_weights_raises_negative_weights�sN��
��F��
�1�I��
�]�]�:�-K�
L�	B��K�K��3��.�A�	B�	B�	B�s�A�Ac��ddg}ddg}d}tjt|��5tj|d||��ddd�y#1swYyxYw)NrPrNrz+Only method 'inverted_cdf' supports weightsrrXr�)rfr�rrr s     r=�0test_quantile_weights_raises_unsupported_methodsz=TestQuantile.test_quantile_weights_raises_unsupported_methods�sP��
��F��
�!�H��;��
�]�]�:�S�
1�	:��K�K��3��&�9�	:�	:�	:�s�A	�	Ac	�P�tdd�tdd�g}tj|dgd��}t|tjtdd���tj|tdd�gd��}t|tjtdd���y)NrrPr�r�r�rNr�)rr7r�r'r�)rfr�r�s   r=�test_weibull_fractionz"TestQuantile.test_weibull_fraction�sy����1�~�x��2��/���;�;�s�Q�E�)�<���X�r�x�x���A��7�8��;�;�s�X�a��^�$4�Y�G���X�r�x�x���B��8�9r?c�^�d}d}gd�}tdtj|dd||���tdtj|dd||���tdtj|dd	||���tdtj|dd
||���tdtj|dd||���tdtj|dd||���tdtj|dd
||���td	tj|||���y)Nr�r)
rPrNrXrLrYrwrxrvrIr�rNrrXr�rLrYrwrxrvrI)r'r7r�)rfrSrVr�s    r=�test_closest_observationz%TestQuantile.test_closest_observations���!����-���Q����C��!�H�a��:�;��Q����C��!�H�a��:�;��Q����C��!�H�a��:�;��Q����C��!�H�a��:�;��Q����C��!�H�a��:�;��Q����C��!�H�a��:�;��Q����C��!�H�a��:�;��Q����C��1�5�6r?N))rr�r�rTrurlrzr�r�r"rrDrEr7rnr��quantile_methodsr�r��
hypothesis�givenrr�str��floatsr�r�r�r�r�r�r�r�r�r��sorted�setr�r�r�r�r?r=roro�s��� �;�0�/�E�>:�
"��[�[���W�b�l�l�<�&@�A�"�B�"�
�[�[���X�'7�8�4�9�4��[�[���X�'7�8�2�9�2��Z����R�Z�Z�(�R�[�[�1��E� )��	�	��%�4:�e�!M�N�O�
2�O�
2�
2��[�[���Y���
�6��[�[���X�'7�8��[�[���W�o�6� :�7�9�7� :�D�[�[���Y���
�6��[�[���X�'7�8��[�[���W�o�6�>E�7�9�7�>E�@�[�[���X�'A�B��[�[���W�o�6��7�C��$�[�[���X�'A�B��[�[���W�&;�<�
�=�C�
��[�[���X�'A�B�+"�C�+"�Z�[�[���X�'A�B��C��B��[�[�����3�'�(�3�/I�+J�J�K��:�	�:�:�7r?roc�F�eZdZejejdddd��ejdddd��ejdddd��ejdddd����d��Zejejdddd��ejdddd��ejdddd���	�d
��Zejejdddd��ejdddd��ejdddd���	�d��Z	d�Z
y
)�TestLerpFrrP)r�r�r�r�r�r�)�t0�t1rgr�c��tj|||�}tj|||�}||k(s||k(r||k(sJ�y||k||kk(r||ksJ�y||k\sJ�yr6�r�_lerp)rfr�r�rgr��l0�l1s       r=�+test_linear_interpolation_formula_monotonicz4TestLerp.test_linear_interpolation_formula_monotonicsf���Y�Y�q�!�R�
 ��
�Y�Y�q�!�R�
 ��
��8�q�A�v���8�O�8��2�g�1�q�5�
!���8�O�8���8�O�8r?)�trgr�c��||kr&|tj|||�cxkr|ksJ�J�y|tj|||�cxkr|ksJ�J�yr6r�)rfr�rgr�s    r=�)test_linear_interpolation_formula_boundedz2TestLerp.test_linear_interpolation_formula_bounded#sW��
��6���	�	�!�Q��*�/�a�/�/�/�/�/���	�	�!�Q��*�/�a�/�/�/�/�/r?c��tj||dd|z
z
�}tj||d|z
�}t||�yrT)rr�r,)rfr�rgr�ryr{s      r=�+test_linear_interpolation_formula_symmetricz4TestLerp.test_linear_interpolation_formula_symmetric/s>���y�y��A�q�A��E�{�+���	�	�!�Q��A��&����e�$r?c��tjd�}tjd�}tjd�}tj|||�dk(sJ�y)NrNrYr5g������@)r7r�rr�)rfrgr�r�s    r=�+test_linear_interpolation_formula_0d_inputsz4TestLerp.test_linear_interpolation_formula_0d_inputs;sD���H�H�Q�K���H�H�Q�K���H�H�S�M���y�y��A�q�!�S�(�(�(r?N)rr�r�r�r�r�r�r�r�r�r�r�r?r=r�r�sW���Z�������U�5�-.�!�=�"����U�5�-.�!�=�#�"�)�)�e�E�.4��G�#�"�)�)�e�E�.4��G�
H��H���Z���	��	�	�E�%�,-��<�!��	�	�E�%�,2�e�E�!��	�	�E�%�,2�e�E�	F�0�
F�0��Z���	��	�	�E�%�,-��<�!��	�	�E�%�,2�e�E�!��	�	�E�%�,2�e�E�	F�%�
F�%�)r?r�c���eZdZd�Zd�Zd�Zd�Zd�Zejjdgd�dejd	gejd
f�d��Z
d�Zd
�Zd�Zejj#ed��d��Zd�Zd�Zd�Zd�Zejjdgd���d��Zejjddg�ejjdgd��d���Zy) �
TestMedianc�\�tjd�}tjd�}tjd�jdd�}t	tj
|�d�t
tj
|�d�t
tj
|�d�t
tj
|d��gd	��t	tj
|d��dd
g�t
tj
|d��d�tjgd��}t|d|dzdztj
|��tjgd
��}t	|dtj
|��tjgd��}t	|dtj
|��t	tj
|�jd�tj|d<t	tj
|�jd�y)NrPrNrwrXrrirr��rKrir�rL)��6-¦?��0���?���}r�?g��4�?r�)r�r�r�)r�r�r�r_)
r7r�r8ryr'�medianr,r)r�re)rf�a0�a1r�rgs     r=rlzTestMedian.test_basicDsi��
�X�X�a�[��
�Y�Y�q�\��
�Y�Y�q�\�
!�
!�!�Q�
'���R�Y�Y�r�]�A�&���	�	�"�
�s�+���	�	�"�
�s�+���	�	�"�1�-�/@�A��R�Y�Y�r��*�Q��F�3���	�	�"�4�0�#�6��H�H�@�A���Q�q�T�A�a�D�[�B�.��	�	�!��=��H�H�5�6���Q�q�T�2�9�9�Q�<�(��H�H�5�6���Q�r�U�B�I�I�a�L�)��R�Y�Y�q�\�&�&��*��v�v��!���R�Y�Y�q�\�&�&��*r?c���tjddgddgddgddgg�}|tjjdd	d
��fD]f}|j	�}tj
|d��t
|j�D]}tj
||���t||��httj
|d��ddg�ttj
|jd��ddg�ttj
|�d
�ttj
|d��d
�ttj
|j�d
�y)NrNrXrrPrwrxrLrYrsr	r)r�r�)r7r�rb�randintr�r�rer�r(r,r")rf�a3rg�orig�axs     r=�test_axis_keywordzTestMedian.test_axis_keywordZs��
�X�X��1�v��1�v��1�v��1�v�� ���b�i�i�'�'��3�Y�'�?�@�	(�A��6�6�8�D��I�I�a�d�#��A�F�F�m�
&���	�	�!�"�%�
&��q�$�'�	(�	��	�	�"�1�-��A�w�7���	�	�"�$�$�Q�/�!�a��9���	�	�"�
�s�+���	�	�"�4�0�#�6���	�	�"�$�$���-r?c���tjddgddgddgddgg�}tjd�}tjd�}tjd�jdd�}t	tj
|j
�d	�
�d�t	tj
|j
�d	�
�d�t	tj
|j
�d	�
�d�t	tj
|j
�d	d�
�gd��t	tj
|j
�d	d�
�ddg�t	tj
|j
�d	d�
�d�t	tj
|j
�d	d�
�ddg�t	tj
|jj
�d	d�
�ddg�tjdtj��jd�}tjj|j��t	tj
|d��tj
|j
�dd	���t	tj
|d��tj
|j
�dd	���t	tj
|d��tj
|j
�dd	���t	tj
|d��tj
|j
�dd	���y)NrNrXrrPrwrxrLrYTrrri)rr�r�r4r�rWr�)r�r)r7r�r8ryr,r�r�r"rrbr5r6)rfr�r�r�r��a4s      r=�test_overwrite_keywordz!TestMedian.test_overwrite_keywordlsS��
�X�X��1�v��1�v��1�v��1�v�� ���X�X�a�[��
�Y�Y�q�\��
�Y�Y�q�\�
!�
!�!�Q�
'����	�	�"�'�'�)�T�B�A�F���	�	�"�'�'�)�T�B�C�H���	�	�"�'�'�)�T�B�C�H���	�	�"�'�'�)�T��J�)�	+���I�I�b�g�g�i��A�>��A��	H���I�I�b�g�g�i��D�A�3�	H���I�I�b�g�g�i��A�>��Q��	I���	�	�"�$�$�)�)�+�t�!�L��Q��	!��Y�Y�y��
�
�
3�
;�
;�I�
F��
�	�	���"�(�(�*�%���	�	�"�4�0��	�	�"�'�'�)�$��M�	O���	�	�"�1�-��	�	�"�'�'�)�!�T�J�	L���	�	�"�1�-��	�	�"�'�'�)�!�T�J�	L���	�	�"�1�-��	�	�"�'�'�)�!�T�J�	Lr?c���gd�}ttj|�d�|g}ttj|�d�ttj|d��|�y)Nr�rNrr�)r)r7r�r,)rfr�r]s   r=rczTestMedian.test_array_like�sG�����B�I�I�a�L�!�,��S���B�I�I�b�M�1�-���	�	�"�1�-�q�1r?c��Gd�dtj�}|gd��}ttj|�d�y)Nc��eZdZdd�Zdd�Zy)�,TestMedian.test_subclass.<locals>.MySubClassNc�\�tj|�j|�}||_|Sr6)r7r_r1�info)�cls�input_arrayr��objs    r=�__new__z4TestMedian.test_subclass.<locals>.MySubClass.__new__�s'���j�j��-�2�2�3�7������
r?c��y)N���r�)rfr�r�r�s    r=r�z1TestMedian.test_subclass.<locals>.MySubClass.mean�s��r?r6)NNN)rr�r�r�r�r�r?r=�
MySubClassr��s��
�

r?r�r�r�)r7r0r'r�)rfr�rgs   r=r�zTestMedian.test_subclass�s0��	����	�
�y�!���R�Y�Y�q�\�2�&r?r�r�r�r�r�c��Gd�dtj�}tjtj|�j	|��}t||�sJ�y)z6Check that we return subclasses, even if a NaN scalar.c��eZdZy)�-TestMedian.test_subclass2.<locals>.MySubclassNr-r�r?r=�
MySubclassr��r/r?r�N)r7r0r�r�r1r�)rfr�r�rSs    r=�test_subclass2zTestMedian.test_subclass2�sE��	����	�
�I�I�b�h�h�s�m�(�(��4�5���!�Z�(�(�(r?c�v�tjd�}tjd�}ttj|d|��|�tjd�}ttj|d|��|�tjd�}ttj||��|�y)NrTrrrr�rPr�)r7rArdr'r�rUs   r=rVzTestMedian.test_out�sy���H�H�T�N���G�G�F�O���R�Y�Y�q�!��+�Q�/��H�H�T�N���R�Y�Y�q�!��+�Q�/��H�H�R�L���R�Y�Y�q�a�(�!�,r?c�(�tjd��5tjddt�t	j
d�}t	jd�}tj|d<tt	j|d|�	�|�t	j
d
�}tt	j|d|�	�|�t	j
d�}tt	j||�	�|�ddd�y#1swYyxYw)
NTr�r�r�rTrr�rrr�rPr�)
r�r�rYr�r7rArdrer'r�rUs   r=r[zTestMedian.test_out_nan�s���
�
$�
$�D�
1�		1��#�#�H�b�.�A������A������A��f�f�A�d�G�����1�a�Q�/��3������A�����1�a�Q�/��3������A�����1�!�,�a�0�		1�		1�		1�s�C(D�Dc��tjdt��}tj|d<t	tj
|�tj�t	tj
|d��tj�tjdt��j
ddd�}tj|d<tj|d	<t	tj
|�tj�t	tj
|�jd�tj
tjdt��j
ddd�d�}tj|d
<tj|d<t	tj
|d�|�tj
tjdt��j
ddd�d�}tj|d
<tj|d<t	tj
|d�|�tj
tjdt��j
ddd�d�}tj|d<tj|d<t	tj
|d�|�y)Nr}r�rNrr�rXrLr�r^r�rqrPr1rT)r7r8r�rer'r�ryr�r�s   r=r_zTestMedian.test_nan_behavior�s����I�I�b��&���v�v��!���R�Y�Y�q�\�2�6�6�*��R�Y�Y�q�q�)�2�6�6�2��I�I�b��&�.�.�q�!�Q�7���V�V��'�
��V�V��'�
�	�R�Y�Y�q�\�2�6�6�*��R�Y�Y�q�\�&�&��*�
�I�I�b�i�i��%�0�8�8��A�q�A�1�E���&�&��$���&�&��$���R�Y�Y�q�!�_�a�(�
�I�I�b�i�i��%�0�8�8��A�q�A�1�E���&�&��$���&�&��$���R�Y�Y�q�!�_�a�(�
�I�I�b�i�i��%�0�8�8��A�q�A�6�J���v�v��!���v�v��!���R�Y�Y�q�&�)�1�-r?zfp errors don't work correctlyr�c��tjgt��}tjd��5}tj
ddt�ttj|�tj�t|djtu�tt|�d�ddd�tjgtd�	�}tjd��5}tj
ddt�ttj|�tj�t|djtu�ddd�tjgtd�	�}ttj|d�
�|�ttj|d�
�|�tjtjtd�	�}tjd��5}tj
ddt�ttj|d�
�|�t|djtu�ddd�y#1swY���xYw#1swY��xYw#1swYyxYw)Nr�Tr�r�r�rrNrX)r�r�r�rP)
r7r�r�r�r�rYr�r'r�rer&�categoryrM)rfrgrr�s    r=r�zTestMedian.test_empty�s���
�H�H�R�u�%��
�
$�
$�D�
1�	$�Q��#�#�H�b�.�A�����1��r�v�v�.��A�a�D�M�M�^�3�4���Q���#�		$�
�H�H�R�u�A�.��
�
$�
$�D�
1�	5�Q��#�#�H�b�.�A�����1��r�v�v�.��A�a�D�M�M�^�3�4�	5�
�H�H�R�u�A�.���R�Y�Y�q�q�)�1�-��R�Y�Y�q�q�)�1�-�
�H�H�R�V�V�5��2��
�
$�
$�D�
1�	5�Q��#�#�H�b�.�A�����1�1�-�q�1��A�a�D�M�M�^�3�4�	5�	5�+	$�	$��	5�	5��	5�	5�s&�A<I�(A'I&�5AI3�I#�&I0�3I<c	�P�tjd�}tttj|jt���t�tj|d<tttj|jt���t�y)NrrN)	r7r8r&r2r�rr�r�re)rfr�s  r=�test_objectzTestMedian.test_objects^���I�I�b�M����R�Y�Y�q�x�x��/�0�1�5�9��v�v��!����R�Y�Y�q�x�x��/�0�1�5�9r?c�r�tjjd��}tj|gdz�}t	tj
|d��tj
|��tj|dd�}t	tj
|d��tj
|��|jdd	�j�}t	tj
|d
��tj
|��t	tj
|d��tj
|d���t	tj
|d��tj
|d���t	tj
|d
��tj
|d���tjd�jd�}tjj|j��t	tj
|d��dtj
|dd�dd�dd�dfj���t	tj
|d��d	tj
|dd�dd�d	dd�fj���t	tj
|d��dtj
|dd�dd�ddd�fj���t	tj
|d��dtj
|ddd�dd�dd�fj���t	tj
|d��dtj
|dd	dd�dd�fj���t	tj
|d��dtj
|ddd�dd�d	fj���t	tj
|d��dtj
|ddd�ddd�fj���y)Nr&r)r�r`r�r_rrrrPrprOru)r_r*r+r-r.rNr/r�r�r0r1rS)r7rbr2r3r'r�r4r�r�r8ryr5r6r7r8s    r=r9zTestMedian.test_extended_axiss����I�I���(��+���I�I�q�c�B�h����R�Y�Y�q�v�.��	�	�!��=��K�K��2�q�!���R�Y�Y�q�x�0�"�)�)�A�,�?�
�J�J�q�!��!�!�#���R�Y�Y�q�w�/����1��>��R�Y�Y�q�y�1�2�9�9�Q�T�3J�K��R�Y�Y�q�u�-�r�y�y���/C�D��R�Y�Y�q�v�.��	�	�!�"�0E�F��I�I�n�%�-�-�m�<��
�	�	���!�'�'�)�$��R�Y�Y�q�y�1�!�4��Y�Y�q��1�Q���{�2�2�4�5�	7��R�Y�Y�q�y�1�!�4��Y�Y�q��1�a���{�2�2�4�5�	7��R�Y�Y�q�z�2�1�5��Y�Y�q��1�a���{�2�2�4�5�	7��R�Y�Y�q�y�1�!�4��Y�Y�q��1�Q�q��z�1�1�3�4�	6��R�Y�Y�q�v�.�t�4��Y�Y�q��A�a���{�2�2�4�5�	7��R�Y�Y�q�w�/��5��Y�Y�q��1�Q���{�2�2�4�5�	7��R�Y�Y�q�v�.�t�4��Y�Y�q��1�a���{�2�2�4�5�	7r?c�x�tjd�}tttj|d��tttj|d��tttj|d��tttj|d��tt
tj|d��y)Nr+r�r�r;rLr<rU)r7rdr+r%r�rcrs  r=r=z%TestMedian.test_extended_axis_invalid$sj���G�G�M�"���i����A�B�7��i����A�G�<��i����A�A�6��i����A�F�;��j�"�)�)�Q�V�<r?c�>�tjd�}ttj|dd��jd�ttj|dd��jd�ttj|dd��jd�ttj|d	d��jd
�ttj|dd��jd�ttj|dd��jd
�y)Nr+Tr�r�r`r?r�r@r_rAr�r-rB)r7rdr'r�rCrs  r=rCzTestMedian.test_keepdims,s����G�G�M�"���R�Y�Y�q�t�d�;�A�A�!�	#��R�Y�Y�q�v��=�C�C�"�	$��R�Y�Y�q�v��=�C�C�!�	#��R�Y�Y�q�t�d�;�A�A�"�	$��R�Y�Y�q�|�d�C�I�I�!�	#��R�Y�Y�q�y�4�@�F�F�!�	#r?r�rDrEc�f���tjd��|�d�jz}n>t|�j��t	��fd�t�j�D��}tj|�}tj�|d|��}||usJ�t|j|�y)Nr+r_c3�H�K�|]}|�vrdn�j|���y�wrJrKrLs  ��r=r�z/TestMedian.test_keepdims_out.<locals>.<genexpr>KrNrOTrP)
r7rdr�r4r�rerr�r'rC)rfr�rQr�rrMrhs     @@r=rRzTestMedian.test_keepdims_out;s����
�G�G�M�"���<��q�v�v�
�I�,�T�1�6�6�:�I��L�=B�1�6�6�]�L�L�I��h�h�y�!�����1�4�$�C�@����}��}��V�\�\�9�-r?r�zm8[s]rbrcc�"�tjdd|��}d||<tj|�}|j|k(sJ�tj|�sJ�tj
|ddg�}|j|k(sJ�tj|�j
�sJ�tjdd|��jdd	�}d||d
f<tj|d��}ttj|�gd��yre)	r7r8r�r�rhr�r�ryr(ris     r=�test_nat_behaviorzTestMedian.test_nat_behaviorRs���

�I�I�a��5�)����#���i�i��l���y�y�E�!�!�!��x�x��}��}��m�m�A��B�x�(���y�y�E�!�!�!��x�x��}� � �"�"�"��I�I�a��U�+�3�3�B��:����#�q�&�	��i�i���"���2�8�8�C�=�*>�?r?N)rr�r�rlr�r�rcr�rrDrEr7rer�rVr[r_r�r1r�r�r9r=rCrRrr�r?r=r�r�Bs��+�,.�$L�B2�
'��[�[���U�*�R�����,<�b�f�f�b�I�K�)�K�)�-�
1�.�@�[�[����(H��I�5�J�5�::�7�<=�
#��[�[����
��	�.�	�.��[�[���W�w�i�0��[�[���U�K�0�@�1�1�@r?r�c�Z�eZdZejjdgd��d��Zd�Zy)�TestSortComplexztype_in, type_out))�lr�)�hr�)�Hr�)r�r�)r�r�)r�r�c��tjgd�|��}tj|�}tj|�j	|�}t||�t|j|j�y)N)rYrXrwrNrPr�)r7r��sort_complexrdrr'r�)rf�type_in�type_outrgrr�s      r=�test_sort_realzTestSortComplex.test_sort_realhsV��
�H�H�_�G�4������#���7�7�1�:�$�$�X�.���V�X�&��V�\�\�8�>�>�2r?c���tjgd�d��}tjgd�d��}tj|�}t||�t|j|j�y)N)r���?�r�r�r�r�)r�r
r�r�)r7r�rr'r�)rfrgr�rs    r=�test_sort_complexz!TestSortComplex.test_sort_complexxsN���H�H�5�S�A���8�8�<�C�H������#���V�X�&��V�\�\�8�>�>�2r?N)rr�r�rrDrErrr�r?r=rrfs0���[�[���0�3
��3��3�3r?r)r�)r�r�)~r�r�r�r>�	fractionsrr�rr��hypothesis.extra.numpyr�hypothesis.strategies�
strategiesr��	functoolsr�numpyr7rrrr	r
rrr
rrrrrrrrrrrrrrrrrrr r!r"r#r$�numpy.exceptionsr%�
numpy.testingr&r'r(r)r*r+r,r-r.r/r0r1r2�numpy.lib._function_base_impl�lib�_function_base_implr�numpy.randomr3�numpy._core.numericr4r>rHrJr�r�r�rDrEr�r�r�rGrwr�r�r�r�r�r�r�r�rrCr�r�r�r�r�rr�r�r!rnr;rNr_rerlrsr�r�r�r�rr/rpr�r�r�ror�r�rr�r?r=�<module>rs$����
����
��)�"������������'�����,�+��4���A@�A@�Hd1�d1�N:�:�":�:�$������"K�L�(�M�(� 3� 3�Fy4�y4�v;$�;$�|h0�h0�V	;�	;�	:�	:�E�E�8�8�0E�E�(J�J�8�:I<�I<�Xr>�r>�j}"�}"�@'�'�4Z'�Z'�z$"�$"�R��kC�kC�\)�)�XR8�R8�j5�5�6������S�2�<�<��-�
-����W�0E�
E��������j�)�i;�i;�*��i;�X;1�;1�|#�#�"	D�	D�'�'�"X&�X&�vm7�m7�`1�1�h��&k2�k2�\a0�a0�Hw-�w-�tA�A�DO	@�O	@�d��-�-��i7�i7�X/)�/)�da@�a@�H	3�3r?

Youez - 2016 - github.com/yon3zu
LinuXploit