403Webshell
Server IP : 217.160.0.135  /  Your IP : 216.73.217.85
Web Server : Apache
System : Linux www 6.18.52-i1-ampere #1203 SMP Mon Sep 14 18:29:59 CEST 2026 aarch64
User : sws1074145052 ( 1074145052)
PHP Version : 8.3.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /usr/lib/python3/dist-packages/numpy/lib/tests/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python3/dist-packages/numpy/lib/tests/__pycache__/test_function_base.cpython-311.pyc
�

���c_G����ddlZddlZddlZddlZddlmZddlZddlZddlZddl	m
Z
ddlmZ
ddlZddlmZddlmZmZmZmZmZmZmZmZmZmZmZmZmZddlm cm!Z"ddl#m$Z$ddl%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEddlFmGZGd	�ZHd
�ZIGd�d��ZJGd
�d��ZKGd�d��ZLGd�d��ZMGd�d��ZNGd�d��ZOGd�d��ZPGd�d��ZQGd�d��ZRGd�d��ZSGd�d ��ZTGd!�d"��ZUGd#�d$��ZVGd%�d&��ZWGd'�d(��ZXGd)�d*��ZYGd+�d,��ZZGd-�d.��Z[Gd/�d0��Z\Gd1�d2��Z]dqd4�Z^drd6�Z_Gd7�d8��Z`Gd9�d:��ZaGd;�d<��ZbGd=�d>��Zcejd�ed?d@ejfdAzejfdBz��ejd�edCgdD���GdE�dF������ZgGdG�dH��ZhGdI�dJ��ZiGdK�dL��ZjGdM�dN��ZkGdO�dP��ZlGdQ�dR��ZmGdS�dT��ZnGdU�dV��ZoGdW�dX��ZpGdY�dZ��ZqGd[�d\��ZrGd]�d^��ZsGd_�d`��ZtGda�db��ZuGdc�dd��ZvGde�df��ZwGdg�dh��ZxGdi�dj��ZyGdk�dl��ZzGdm�dn��Z{Gdo�dp��Z|dS)s�N��Fraction)�arrays)�ma)
�assert_�assert_equal�assert_array_equal�assert_almost_equal�assert_array_almost_equal�
assert_raises�assert_allclose�IS_PYPY�assert_warns�assert_raises_regex�suppress_warnings�HAS_REFCOUNT�IS_WASM)�rand) �add_newdoc_ufunc�angle�average�bartlett�blackman�corrcoef�cov�delete�diff�digitize�extract�flipud�gradient�hamming�hanning�i0�insert�interp�kaiser�meshgrid�msort�	piecewise�place�rot90�select�setxor1d�sinc�trapz�
trim_zeros�unwrap�unique�	vectorize)�normalize_axis_tuplec�n�tj|��}tj�||��}|S�N)�np�arange�add�outer)�n�datas  �D/usr/lib/python3/dist-packages/numpy/lib/tests/test_function_base.py�get_matr?s)��
�9�Q�<�<�D�
�6�<�<��d�#�#�D��K�c��tjtj||��jtj��}||_||_|S)za
    Like real + 1j * imag, but behaves as expected when imag contains non-finite
    values
    )r8�zeros�	broadcast�shape�complex_�real�imag)rFrG�rets   r>�
_make_complexrI%s9��

�(�2�<��d�+�+�1�2�;�
?�
?�C��C�H��C�H��Jr@c� �eZdZd�Zd�Zd�ZdS)�	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�����dS)N���rOrO�r�rO��axes�rOrO�rrO�rQrQ)���rQ��rM�rOrZrQrrY�rZrMrY�rOrQr����
)�krW����rrQ�rQr�r_rS)r�
ValueErrorr,r8�ones�ranger)�self�a�b1�b2�b3�b4r_s       r>�
test_basiczTestRot90.test_basic1sU���j�%������4�4�4��j�%����)9�)9��H�H�H�H��j�%������e�D�D�D�D��j�%������e�D�D�D�D��j�%����)9�)9��G�G�G�G�
�Y�Y�
�Y�Y�
���!�f��!�f��!�f����i�i��i�i����!�f��!�f��!�f����i�i��i�i����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�0J�0J�K�K�K�K�Kr@c�*�tjd��}tt|��jd��tt|d���t|d�����tt|d���t|d�����dS)N)�2�(rY)rprorYrUrR�rr`�rQrO�rWr`)r8rerr,rD�rgrhs  r>�	test_axeszTestRot90.test_axesQs����G�K� � ���U�1�X�X�^�[�1�1�1��U�1�5�)�)�)�5���+@�+@�+@�A�A�A��U�1�5�)�)�)�5���+A�+A�+A�B�B�B�B�Br@c	��tjd���d��}ddgddggddgd	d
ggg}ddgddggd
dgd	dggg}d	dgddggd
dgddggg}d	d
gddggddgddggg}tt	|d���|��tt	|d
���|��tt	|d���|��tdd
��D]5}tt	||d���t	||dz
d������6dS)N�rNrOrY��rrQrMrZrarRrbrr)rOrrc)r8r9�reshaperr,rf)rgrh�
a_rot90_01�
a_rot90_12�
a_rot90_20�
a_rot90_10r_s       r>�test_rotation_axeszTestRot90.test_rotation_axesWs����I�a�L�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�7�7��U�1�6�*�*�*�J�7�7�7��U�1�6�*�*�*�J�7�7�7��q����	@�	@�A���q�A�F�3�3�3��z�Q�q�S�v�>�>�>�
@�
@�
@�
@�	@�	@r@N)�__name__�
__module__�__qualname__rmrur�r@r>rKrK0sM������L�L�L�@C�C�C�@�@�@�@�@r@rKc�D�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
S)�TestFlipc���ttjtjtjd��d���ttjtjtjd��d���ttjtjtjd��d���ttjtjtjd��d���dS)NrMrQ��axis�rMrMrOr]�rrY)rr8�	AxisError�flipre�rgs r>ruzTestFlip.test_axesvs����b�l�B�G�R�W�Q�Z�Z�a�@�@�@�@��b�l�B�G�R�W�V�_�_�1�E�E�E�E��b�l�B�G�R�W�V�_�_�2�F�F�F�F��b�l�B�G�R�W�V�_�_�6�J�J�J�J�J�Jr@c���td��}|dd�ddd�f}ttj|d��|��gd�gd�g}gd�gd�g}ttj|d��|��dS)NrMr`rQrPrXr\r[�r?rr8r��rgrh�bs   r>�
test_basic_lrzTestFlip.test_basic_lr|s����A�J�J��
�a�a�a���2��g�J���R�W�Q��]�]�A�&�&�&�
�Y�Y�
�Y�Y�
��
�Y�Y�
�Y�Y�
���R�W�Q��]�]�A�&�&�&�&�&r@c���td��}|ddd�dd�f}ttj|d��|��gd�gd�g}gd�gd�g}ttj|d��|��dS)NrMr`rrPrXr�r�s   r>�
test_basic_udzTestFlip.test_basic_ud�s����A�J�J��
�d�d��d�A�A�A�g�J���R�W�Q��]�]�A�&�&�&�
�Y�Y�
�Y�Y�
��
�Y�Y�
�Y�Y�
���R�W�Q��]�]�A�&�&�&�&�&r@c���tjddgddggddgddggg��}tjddgddggddgddggg��}ttj|d��|��dS�	NrrQrOrYrMrZrxry�r8�arrayrr�r�s   r>�test_3d_swap_axis0zTestFlip.test_3d_swap_axis0�����H��1�v��1�v���1�v��1�v�� �
!�
!��

�H��1�v��1�v���1�v��1�v�� �
!�
!��
	�R�W�Q��]�]�A�&�&�&�&�&r@c���tjddgddggddgddggg��}tjddgddggddgddggg��}ttj|d��|��dSr�r�r�s   r>�test_3d_swap_axis1zTestFlip.test_3d_swap_axis1�r�r@c���tjddgddggddgddggg��}tjddgddggddgddggg��}ttj|d��|��dSr�r�r�s   r>�test_3d_swap_axis2zTestFlip.test_3d_swap_axis2�r�r@c
�B�tjd���dddd��}t|j��D]_}ttj||��tj|�d|�����|d�����`dS)N�xrOrYrMrZr)	r8r9rzrf�ndimrr�r �swapaxes)rgrh�is   r>�test_4dzTestFlip.test_4d�s����I�m�$�$�,�,�Q��1�a�8�8���q�v���	E�	E�A�����A�����1�:�:�a��#3�#3�4�4�=�=�a��C�C�
E�
E�
E�
E�	E�	Er@c��tjgd�gd�g��}tjgd�gd�g��}ttj|��|��dS)N�rQrOrY�rMrZrx)rxrZrM�rYrOrQr�r�s   r>�test_default_axiszTestFlip.test_default_axis�sf���H�i�i�i��i�i�!�
"�
"���H�i�i�i��i�i�!�
"�
"���R�W�Q�Z�Z��#�#�#�#�#r@c��tjddgddggddgddggg��}ttj|d	�
��|��tjddgddggddgddggg��}ttj|d�
��|��tjddgddggddgddggg��}ttj|d�
��|��dS)
NrrQrOrYrMrZrxryr�r�rUrrr��rgrhr��cs    r>�test_multiple_axeszTestFlip.test_multiple_axes�s���H��1�v��1�v���1�v��1�v�� �
!�
!��
	�R�W�Q�R�(�(�(�!�,�,�,��H��1�v��1�v���1�v��1�v�� �
!�
!��
	�R�W�Q�V�,�,�,�a�0�0�0��H��1�v��1�v���1�v��1�v�� �
!�
!��
	�R�W�Q�V�,�,�,�a�0�0�0�0�0r@N)r�r�r�rur�r�r�r�r�r�r�r�r�r@r>r�r�ts�������K�K�K�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�E�E�E�$�$�$�1�1�1�1�1r@r�c��eZdZd�Zd�ZdS)�TestAnyc���gd�}gd�}gd�}ttj|����ttj|����ttj|����dS)N�rrrQr�rrrr)rQrrQr)rr8�any�rg�y1�y2�y3s    r>rmzTestAny.test_basic�sg��
�\�\��
�\�\��
�\�\�����r�
�
�������r�
�
�����B�F�2�J�J������r@c��gd�gd�gd�g}ttj|����ttj|d���gd���ttj|d���gd���dS)N�rrr�rrQr�rQrQrrr�rQ�rrQrQ)rr8r�r	�sometrue�rgr�s  r>�test_ndzTestAny.test_nd�s|���i�i����I�I�I�
.�����r�
�
�����2�;�r��2�2�2�I�I�I�>�>�>��2�;�r��2�2�2�I�I�I�>�>�>�>�>r@N�r�r�r�rmr�r�r@r>r�r��s2������ � � �?�?�?�?�?r@r�c��eZdZd�Zd�ZdS)�TestAllc�P�gd�}gd�}gd�}ttj|����ttj|����ttj|����ttjtj|������dS)N)rrQrQrr��rQrQrQrQ)rr8�allr�r�s    r>rmzTestAll.test_basic�s���
�\�\��
�\�\��
�\�\���B�F�2�J�J��������r�
�
�����B�F�2�J�J�������������}�%�%�&�&�&�&�&r@c��gd�gd�gd�g}ttj|����ttj|d���gd���ttj|d���gd���dS)N�rrrQr��rQrQrQrr�rQ)rr8r�r	�alltruer�s  r>r�zTestAll.test_nd�s~���i�i����I�I�I�
.���B�F�2�J�J������2�:�b�q�1�1�1�9�9�9�=�=�=��2�:�b�q�1�1�1�9�9�9�=�=�=�=�=r@Nr�r�r@r>r�r��s2������'�'�'�>�>�>�>�>r@r�c� �eZdZd�Zd�Zd�ZdS)�TestCopyc���tjddgddgg��}tj|��}t||��d|d<t	|dd��t	|dd��dS)NrQrOrYrM�
)rr)r8r��copyr	r)rgrh�a_copys   r>rmzTestCopy.test_basicsr���H�q�!�f�q�!�f�%�&�&���������1�f�%�%�%���t���Q�t�W�a� � � ��V�D�\�2�&�&�&�&�&r@c�Z�tjddgddgg��}t|jj��t|jj��tjddgddggd���}t|jj��t|jj��tj|��}t|jj��t|jj��tj|��}t|jj��t|jj��dS)NrQrOrYrM�F��order)r8r�r�flags�c_contiguous�f_contiguousr�)rgrh�a_fortr��a_fort_copys     r>�
test_orderzTestCopy.test_orders��
�H�q�!�f�q�!�f�%�&�&�����$�%�%�%��A�G�(�(�)�)�)���A�q�6�A�q�6�*�#�6�6�6���F�L�-�-�.�.�.����)�*�*�*����������)�*�*�*��F�L�-�-�.�.�.��g�f�o�o���K�%�2�2�3�3�3���!�.�/�/�/�/�/r@c�l�tjd��}ttjt	j|d�������ttjt	j|d�������ttjt	j|������dS)NrZF)�subokT)rrer�
isMaskedArrayr8r�)rg�mxs  r>�
test_subokzTestCopy.test_suboks���
�W�Q�Z�Z���B�$�R�W�R�u�%=�%=�%=�>�>�>�?�?�?��� ����4�!8�!8�!8�9�9�:�:�:��B�$�R�W�R�[�[�1�1�1�2�2�2�2�2r@N)r�r�r�rmr�r�r�r@r>r�r��sA������'�'�'�0�0�0�"3�3�3�3�3r@r�c���eZdZd�Zej�dgd�ddggd�dgdgfgd	�gd
�gdgd�gd
dggd�ggd�gfg��d���Zd�Zd�Z	d�Z
d�Zd�Zd�Z
dS)�TestAveragec��tjgd���}tt|d���dk��tjgd���}tt|d���dk��gd�}tt|d���dk��tjd��}d|d	<d
|d<t|�d��t|d����t|�d��t|d����td
d
��}t|�d��t|d����t|�d��t|d����dS)Nr�rr��@���?r��@)�r�r�r�r�rarOrbrQrZ)r8r�rrrer
�meanr)rgr�r�r��y4�y5s      r>rmzTestAverage.test_basic#sK��
�X�i�i�i�
 �
 ������#�#�#�r�)�*�*�*�
�X�l�l�l�
#�
#������#�#�#�r�)�*�*�*�
�\�\������#�#�#�r�)�*�*�*�
�W�V�_�_����4����4���B�G�G�A�J�J���A���7�7�7��B�G�G�A�J�J���A���7�7�7�
�!�Q�Z�Z���B�G�G�A�J�J���A���7�7�7��B�G�G�A�J�J���A���7�7�7�7�7r@z<x, axis, expected_avg, weights, expected_wavg, expected_wsumr�Nr�)rYrMrQ��?� @)rQrOrZ)rQrx�r)r��@r�rQrY)r��@�#@�rMrMrMc��tj||d���}|jtj|��ksJ�t||��tj|||d���}|jtj|��ksJ�t||��tj|||dd���\}}	|jtj|��ksJ�t||��|	jtj|��ksJ�t|	|��dS)NT�r��keepdims)r��weightsr�)r�r��returnedr�)r8rrDr	)
rg�xr��expected_avgr��
expected_wavg�
expected_wsum�avg�wavg�wsums
          r>�test_basic_keepdimszTestAverage.test_basic_keepdims5s���j����5�5�5���y�B�H�\�2�2�2�2�2�2��3��-�-�-��z�!�$��$�G�G�G���z�R�X�m�4�4�4�4�4�4��4��/�/�/��Z���g��)-�/�/�/�
��d��z�R�X�m�4�4�4�4�4�4��4��/�/�/��z�R�X�m�4�4�4�4�4�4��4��/�/�/�/�/r@c���tjd��}tjd��}t||���}tjd��dz���dztjd�����z}t	||��tjgd�gd�g��}ddg}t||d�	��}tjgd
���}t	||��gd�}t||d�	��}tjdd
g��}t	||��gd�gd�g}tjdd
g��}t
t||d�	��|��tt||���d��td���	tj
��}	td���	tj��}
ttj|	|
���j
tj|	|
��k��tjgd����dd��}tjgd����dd��}tj||dd���}tjgd���}t
||��tj||dd���}tjdgdgdgg��}t
||��dS)Nr��r�rOr�r�r�rQr)r�r�)r�r�r�r�r��@)rrrOr�rZ�rOrYrMrYF)r�r�r�)r�r�r�Tr�r�)r8r9r�sumr
r�r	rr�astype�float32�float64r�dtype�result_typerz)rg�y�w�actual�desiredr��w0�w1�w2r��w3r�s            r>�test_weightszTestAverage.test_weightsLs����I�b�M�M���I�b�M�M����A�&�&�&���9�R�=�=�A�%�*�*�,�,�r�1�B�I�b�M�M�4E�4E�4G�4G�G���F�G�,�,�,�
�X�y�y�y�)�)�)�,�
-�
-����V����R�a�0�0�0���(�<�<�<�(�(���F�G�,�,�,�
�Y�Y����R�a�0�0�0���(�B��8�$�$���F�G�,�,�,��i�i����
#���(�B��8�$�$���7�2�r��:�:�:�G�D�D�D��W�R��,�,�,�b�1�1�1�
�!�W�W�^�^�B�J�
'�
'��
�!�W�W�^�^�B�J�
'�
'����
�2�r�*�*�*�0�B�N�2�r�4J�4J�J�K�K�K�
�H�Y�Y�Y���'�'��1�-�-���H�Y�Y�Y���'�'��1�-�-����A�q�q�5�A�A�A���(�<�<�<�(�(���6�7�+�+�+���A�q�q�4�@�@�@���(�R�D�2�$���-�.�.���6�7�+�+�+�+�+r@c���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����dS)Nr�r�T)r�rr)r�r�r�rQr�rO)r�r�r�)r�r�r�r�r�)r8r�rrr	)rgrr��sclrr
rs       r>�
test_returnedzTestAverage.test_returnedxs����H�i�i�i����+�,�,���1�t�,�,�,���S��S�"�����1�a�$�/�/�/���S��3������ 6� 6�7�7�7��1�a�$�/�/�/���S��3���"�b�� 2� 2�3�3�3���V���1�b�q�4�@�@�@���S��3������ 6� 6�7�7�7�
�Y�Y���1�b�q�4�@�@�@���S��3���"�b�� 2� 2�3�3�3��i�i����
#���1�b�q�4�@�@�@���S��3���"�b�� 2� 2�3�3�3�3�3r@c��Gd�dtj��}tjddgddgg���|��}tjddgddgg���|��}t	ttj|����|��t	ttj||�����|��dS)Nc��eZdZdS)�-TestAverage.test_subclasses.<locals>.subclassN�r�r�r�r�r@r>�subclassr���������Dr@rrQrOrYrMr�)r8�ndarrayr��viewr�typer)rgrrhr	s    r>�test_subclasseszTestAverage.test_subclasses�s���	�	�	�	�	�r�z�	�	�	��H�q��e�Q�q�E�]�#�#�(�(��2�2���H�q��e�Q�q�E�]�#�#�(�(��2�2���T�"�*�Q�-�-�(�(�(�3�3�3��T�"�*�Q��2�2�2�3�3�X�>�>�>�>�>r@c��gd�}|D]y\}}}tjddgddgg|���}tjddgddgg|���}ttj||���jtj|�����zdS)N))�i4r�f8)r�f4r )r!rr )r!r!r!)r!r r rQrOrYrM�rr�)r8r�rrr)rg�typs�at�wt�rtrhr	s       r>�test_upcastingzTestAverage.test_upcasting�s���9�9�9���	G�	G�J�B��B���1�Q�%��1���b�1�1�1�A���1�Q�%��1���b�1�1�1�A����A�q�1�1�1�7���"���F�F�F�F�	G�	Gr@c�D�tjd�td��D����}tjd�td��D����}||���z}t	|�d��t
||�����dS)Nc�6�g|]}tj|����Sr���decimal�Decimal)�.0r�s  r>�
<listcomp>z1TestAverage.test_object_dtype.<locals>.<listcomp>��"��<�<�<�Q�g�o�a�(�(�<�<�<r@r�c�6�g|]}tjd����S�rQr*)r-�_s  r>r.z1TestAverage.test_object_dtype.<locals>.<listcomp>�r/r@rr�)r8r�rfrr
r�r)rgrhr	s   r>�test_object_dtypezTestAverage.test_object_dtype�s����H�<�<�%��)�)�<�<�<�=�=���H�<�<�%��)�)�<�<�<�=�=��	�Q�U�U�W�W����A�F�F�1�I�I�w�q�!�'<�'<�'<�=�=�=�=�=r@c���tjtdd��tdd��g��}ttj|��tdd����dS)NrQrZrYrO)r8r�rrrrts  r>� test_average_class_without_dtypez,TestAverage.test_average_class_without_dtype�sL���H�h�q�!�n�n�h�q�!�n�n�5�6�6���R�Z��]�]�H�Q��N�N�3�3�3�3�3r@)r�r�r�rm�pytest�mark�parametrizer�rrrr'r3r5r�r@r>r�r�!s������8�8�8�$�[���F�
�)�)�T�C�5�)�)�)�d�V�c�U�	;��9�9�j�j�j�
!�1����&7��a�&�?�?�?�#�i�i�i�[�
2�	3���0�0�
��0�"*,�*,�*,�X4�4�4�4?�?�?�G�G�G�>�>�>�4�4�4�4�4r@r�c��eZdZejgd���ejgd���ejgd���gZejgd���ejgd���ejgd���gZdd�Zd	�Zd
�Z	d�Z
d�Zd
�Zd�Z
dS)�
TestSelectr�r��ryrw�	)FFF�FTF�FFTrc���g}tt|����D]$�|�fd�t||��D��p|gz
}�%|S)Nc�6��g|]\}}|��
|���Sr�r�)r-�V�C�ms   �r>r.z&TestSelect._select.<locals>.<listcomp>�s*���B�B�B���1�Q�q�T�B�q��t�B�B�Br@)rf�len�zip)rg�cond�values�default�outputrCs     @r>�_selectzTestSelect._select�s^������s�4�y�y�!�!�	P�	P�A��B�B�B�B��F�D�(9�(9�B�B�B�O�w�i�O�F�F��
r@c��|j}|j}tt||d���|�||d�����tt
|��d��tt
|��d��dS)N��rHrY)�choices�
conditionsr	r-rJrrD�rgrNrOs   r>rmzTestSelect.test_basic�s���,���_�
��6�*�g�r�B�B�B��<�<�
�G�R�<�H�H�	J�	J�	J�	�S��\�\�1�%�%�%��S��_�_�a�(�(�(�(�(r@c�^�tjd��tjgd���g}dtjd���dd��g}t	t||��tjd����ttdgdgdg�	��jd
��dS)NTr=rQ�rMrY�rMrYrrMr1)	r8r�r9rzr	r-rerrD�rgrOrNs   r>�test_broadcastingzTestSelect.test_broadcasting�s����h�t�n�n�b�h�/C�/C�/C�&D�&D�E�
��b�i��m�m�+�+�A�q�1�1�2���6�*�g�6�6������H�H�H��V�T�F�Q�C�!��5�5�5�;�T�B�B�B�B�Br@c	���tt|j|jd��jt
j��d�|jD��}tt|j|��jt
j��tjdddt
j	ddg��}tj
|��}tt|g|g��dddt
j	ddg��dS)	N��?c�L�g|]!}|�tj����"Sr�)rr8�int8)r-�choices  r>r.z0TestSelect.test_return_dtype.<locals>.<listcomp>�s&��E�E�E�f�6�=�=���)�)�E�E�Er@rQrOrYrZryr)rr-rOrNrr8rErYr��nan�isnan)rgrN�drCs    r>�test_return_dtypezTestSelect.test_return_dtype�s����V�D�O�T�\�2�>�>�D��[�	"�	"�	"�F�E���E�E�E���V�D�O�W�5�5�;�R�W�E�E�E��H�a��A�r�v�q�!�,�-�-���H�Q�K�K���V�Q�C�!��%�%��1�a����A�'>�?�?�?�?�?r@c�x�tttggd��tttgg��dS)N�@)rrdr-r�s r>�test_deprecated_emptyz TestSelect.test_deprecated_empty�s2���j�&�"�b�"�5�5�5��j�&�"�b�1�1�1�1�1r@c�z�|j}|jdd�}|d�tj��|d<ttt||��|d�tj��|d<ttt||��ttt||��dS�Nr)	rNrOrr8�int_r�	TypeErrorr-�uint8rPs   r>�test_non_bool_deprecationz$TestSelect.test_non_bool_deprecation�s����,���_�Q�Q�Q�'�
�"�1�
�,�,�R�W�5�5�
�1�
��i���W�=�=�=�"�1�
�,�,�R�X�6�6�
�1�
��i���W�=�=�=��i���W�=�=�=�=�=r@c��tjdg��gdz}tjdg��gdz}t||��dS)NF�drQ)r8r�r-rTs   r>�test_many_argumentszTestSelect.test_many_arguments�sG���h��w�'�'�(�3�.�
��8�Q�C�=�=�/�C�'���z�7�#�#�#�#�#r@N�r)r�r�r�r8r�rNrOrJrmrUr^rargrjr�r@r>r:r:�s�������r�x�	�	�	�"�"��r�x�	�	�	�"�"��r�x�	�	�	�"�"�$�G��"�(�0�0�0�1�1��"�(�/�/�/�0�0��"�(�/�/�/�0�0�2�J�����)�)�)�C�C�C�
@�
@�
@�2�2�2�>�>�>�$�$�$�$�$r@r:c��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	e
j�dd	d
g��d���Z
dS)
�
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��|��t
jd���5}t
jddt��tt|tjdgdz��d
��gd���t|djtu��ddd��dS#1swxYwYdS)Nr�rrQ)rQrQrOrYrY)rQrOrYrQr�)rQrQrOrYrOrY)rQr`rYr<)rQr<rOr<rYr<r`)r<rQr<rOr<rY�r`rQrYr;)rQrwrOryrYr<r"�r�r�r�T��record�always�rM)rQr<r<r<r<rOrY)rr%�slicer8r�r�warnings�catch_warnings�filterwarnings�
FutureWarningr�category)rgrhr�r	s    r>rmzTestInsert.test_basic�sV���I�I���V�A�q�!�_�_�l�l�l�3�3�3��V�A�q�!�_�_�l�l�l�3�3�3��V�A�y�y�y�)�)�)�4�4�6H�6H�6H�I�I�I��V�A�q�)�)�)�,�,�.@�.@�.@�A�A�A��V�A�z�z�z�1�-�-�/A�/A�/A�B�B�B��V�A�u�R��r�2�2�A�6�6�8J�8J�8J�K�K�K��V�A�z�z�z�9�9�9�5�5�7I�7I�7I�J�J�J��H�a��V�2�:�.�.�.���V�A�q�!�A�$�'�'����6�6�6��V�A�r�2�&�&��*�*�*��
$�D�
1�
1�
1�	4�Q��#�H�b�-�@�@�@���q�"�(�D�6�A�:�.�.��2�2�4I�4I�4I�
K�
K�
K��A�a�D�M�]�2�3�3�3�		4�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4����	4�	4�	4�	4�	4�	4s�A4H�H	�H	c���gd�g}gd�gd�g}tt|ddg��gd���tt|dgd�d���|��tt|ddd���|��tt|ddd���gd�g��tjddgddgd	d	gg��}tjdd
���d	���d	d	��}tj|dd�dd�ftjdd
���d	���d	d	��j|dd�dd�ffd���}tt|dgdgdgd	ggd���|��tt|dggd�d���|��tt|dgd�d���|��tt|ddgdgd	ggd���|��tjd
���dd��}tt|dd�dd�fd|dd�dfd���|��tt|dd�dd�fd|ddd�fd���|��tjd���d
��}tt|d|dd�dd�d	fd���t|d|dd�dd�d	fd�����tt|d|dd�ddd�fd���t|d|dd�ddd�fd�����ttj
t|d|dd�ddd�fd	���ttj
t|d|dd�ddd�fd���tjd���d
��}tt|d|dd�dd�d	fd���t|d|dd�dd�d	fd�����tt|d|dd�ddd�fd���t|d|dd�ddd�fd�����dS)Nr�rNrrQr�r�rO)rQrQrOrQrYrMr��rr`rW���)rr%r8r�r9�repeatrz�concatenate�Trr�)rgrh�rr�r�s     r>�
test_multidimzTestInsert.test_multidims���
�Y�Y�K��
�Y�Y�
�Y�Y�
���V�A�q�1�#�&�&����5�5�5��V�A�q�)�)�)�!�4�4�4�a�8�8�8��V�A�q�!�!�,�,�,�a�0�0�0��V�A�q�!�!�,�,�,�|�|�|�n�=�=�=��H�q�!�f�q�!�f�q�!�f�-�.�.���I�a��O�O�"�"�1�%�%�-�-�a��3�3���N�
�q�q�q�!�A�#�v�Y��	�!�Q���.�.�q�1�1�9�9�!�Q�?�?�A�
�q�q�q�!�A�#�v�Y�
��
!�
!�
!��	�V�A��s�a�S�1�#��s�O�!�<�<�<�a�@�@�@��V�A��s�I�I�I�A�6�6�6��:�:�:��V�A�q�)�)�)�!�4�4�4�a�8�8�8��V�A�q�A�3���a�S�/��:�:�:�A�>�>�>��I�a�L�L� � ��A�&�&���V�A�a�a�a��!��e�H�a��1�1�1�a�4��q�9�9�9�1�=�=�=��V�A�b�q�b����d�G�Q��!�A�A�A�#��Q�7�7�7��;�;�;�
�I�b�M�M�!�!�)�,�,���V�A�q�!�A�A�A�a�a�a��F�)�"�5�5�5��A�q�!�A�A�A�a�a�a��F�)�!�4�4�4�	6�	6�	6��V�A�q�!�A�A�A�q����F�)�"�5�5�5��A�q�!�A�A�A�q����F�)�!�4�4�4�	6�	6�	6�	�b�l�F�A�q�!�A�A�A�q�!�!�!�G�*�1�E�E�E�E��b�l�F�A�q�!�A�A�A�q�!�!�!�G�*�2�F�F�F�F�
�I�b�M�M�!�!�)�,�,���V�A�q�!�A�A�A�q�q�q�!�G�*�2�6�6�6��A�q�!�A�A�A�q�q�q�!�G�*�1�5�5�5�	7�	7�	7��V�A�q�!�A�A�A�q�!�!�!�G�*�2�6�6�6��A�q�!�A�A�A�q�!�!�!�G�*�1�5�5�5�	7�	7�	7�	7�	7r@c�J�tjd��}tjtj��5t|gdd���ddd��n#1swxYwYtjt��5t|gdd���ddd��dS#1swxYwYdS)NrQrOrr��nonsense)r8r�r6�raisesr�r%rerts  r>�test_0dzTestInsert.test_0d,s���H�Q�K�K��
�]�2�<�
(�
(�	%�	%��1�b�!�!�$�$�$�$�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%����	%�	%�	%�	%�
�]�9�
%�
%�	.�	.��1�b�!�*�-�-�-�-�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.�	.�	.s#�A�A�A�7B�B�Bc�h�Gd�dtj��}tjd���|��}t	ttj|ddg��|����t	ttj|gg��|����t	ttj|ddgddg��|����t	ttj|tdd��ddg��|����t	ttj|tddd��g��|����tjd���|��}t	ttj|ddg��|����dS)	Nc��eZdZdS)�*TestInsert.test_subclass.<locals>.SubClassNrr�r@r>�SubClassr�4rr@r�r�rrQrOrWr`)	r8rr9rr�
isinstancer%rur��rgr�rhs   r>�
test_subclasszTestInsert.test_subclass3sr��	�	�	�	�	�r�z�	�	�	��I�b�M�M���x�(�(���
�2�9�Q��A�3�/�/��:�:�;�;�;��
�2�9�Q��B�/�/��:�:�;�;�;��
�2�9�Q��A���A��7�7��B�B�C�C�C��
�2�9�Q��a����a��V�<�<�h�G�G�H�H�H��
�2�9�Q��a��R�(8�(8�"�=�=�x�H�H�I�I�I��H�Q�K�K���X�&�&���
�2�9�Q��A�3�/�/��:�:�;�;�;�;�;r@c��tjgd���}tjgd�|gd���t|tjgd�����dS)Nr�rPrX)r8r�r%r�rgr�s  r>�test_index_array_copiedz"TestInsert.test_index_array_copied@sU���H�Y�Y�Y����
�	�)�)�)�Q�	�	�	�*�*�*��Q������+�+�,�,�,�,�,r@c�f�tjgd�ddg���}d}tj|d|��}t|dtj||j�����dgdz}tj|ddg|��}t|ddgtj||j�����dS)	N))rQrh)rOr�)rYr�)�foor�)�bar�a1r")rMr]rrOrY)r8r�r%r	r)rgrh�valr�s    r>�test_structured_arrayz TestInsert.test_structured_arrayEs����H�3�3�3�(�-�8�
:�
:�
:�����I�a��C� � ���1�Q�4���#�Q�W�!=�!=�!=�>�>�>��j�1�n���I�a�!�Q���%�%���1�a��V�9�b�h�s�!�'�&B�&B�&B�C�C�C�C�Cr@c��tjt��5tjgd�tjddg��ddg��ddd��n#1swxYwYtjt��5tjgd�tjgt���g��ddd��dS#1swxYwYdS)NrPr�r�r��r")r6r��
IndexErrorr8r%r��floatr�s r>�test_index_floatszTestInsert.test_index_floatsOsQ��
�]�:�
&�
&�	A�	A��I�i�i�i���3��*�!5�!5��B�x�@�@�@�	A�	A�	A�	A�	A�	A�	A�	A�	A�	A�	A����	A�	A�	A�	A�
�]�:�
&�
&�	@�	@��I�i�i�i���"�E�!:�!:�!:�B�?�?�?�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@����	@�	@�	@�	@�	@�	@s#�/A�A�A�92B8�8B<�?B<�idxrMr}c��tjtd���5tjgd�|gddg��ddd��dS#1swxYwYdS)Nz
out of bounds��matchrPrYrM)r6r�r�r8r%)rgr�s  r>�test_index_out_of_boundsz#TestInsert.test_index_out_of_boundsUs���
�]�:�_�
=�
=�
=�	0�	0��I�i�i�i�#���A��/�/�/�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0����	0�	0�	0�	0�	0�	0s�A�A	�A	N)r�r�r�rmr�r�r�r�r�r�r6r7r8r�r�r@r>rmrm�s�������4�4�4�((7�(7�(7�T.�.�.�<�<�<�-�-�-�
D�D�D�@�@�@��[���U�Q��G�,�,�0�0�-�,�0�0�0r@rmc��eZdZd�ZdS)�TestAmaxc��gd�}ttj|��d��gd�gd�gd�g}ttj|d���gd���ttj|d	���gd
���dS)N�rYrMrZr�r]���r�$@�rYr�"@�rMr�r��rwr�r�rr�)r�r�r�rQ)r�r�r�)rr8�amaxr�s   r>rmzTestAmax.test_basic]s���&�&�&���R�W�Q�Z�Z��&�&�&�
�]�]�
�^�^�
�]�]�
��	�R�W�Q�Q�'�'�'�)9�)9�)9�:�:�:��R�W�Q�Q�'�'�'�)9�)9�)9�:�:�:�:�:r@N�r�r�r�rmr�r@r>r�r�[s#������;�;�;�;�;r@r�c��eZdZd�ZdS)�TestAminc��gd�}ttj|��d��gd�gd�gd�g}ttj|d���gd���ttj|d	���gd
���dS)Nr�g�r�r�r�rr�)r�r�r�rQ)r�r�r�)rr8�aminr�s   r>rmzTestAmin.test_basicis���&�&�&���R�W�Q�Z�Z��&�&�&�
�]�]�
�^�^�
�]�]�
��	�R�W�Q�Q�'�'�'����9�9�9��R�W�Q�Q�'�'�'����9�9�9�9�9r@Nr�r�r@r>r�r�gs#������:�:�:�:�:r@r�c��eZdZd�ZdS)�TestPtpc���tjgd���}t|�d���d��tjgd�gd�gd�g��}t|�d���gd���t|�d	���gd
���t|�dd���gd�g��t|�d
d���dgg��dS)Nr�rr��.@r�r�r�)r��@r�r`)rrrTr�rar�)r8r�r�ptpr�s   r>rmzTestPtp.test_basicus����H�/�/�/�0�0���Q�U�U��U�]�]�D�)�)�)��H�m�m�m�$�n�n�#�m�m�%�
&�
&��	�Q�U�U��U�]�]�O�O�O�4�4�4��Q�U�U��U�^�^�_�_�_�5�5�5��Q�U�U��D�U�1�1�O�O�O�3D�E�E�E��Q�U�U���U�5�5���w�?�?�?�?�?r@Nr�r�r@r>r�r�ss(������
@�
@�
@�
@�
@r@r�c��eZdZd�ZdS)�
TestCumsumc
���gd�}gd�gd�gd�g}tjtjtjtjtjtjtjtjtj	tj
f
D]�}tj||��}tj||��}tjgd�|��}ttj
|d���|��tjgd�gd�gd	�g|��}ttj
|d���|��tjgd
�gd�gd�g|��}ttj
|d
���|����dS)N�rQrOr�r�rxrZrM�rQrOrYrM�rZrxryr<�r�rYrMrZ)rQrYr^r|��#�'rr�)rxrwr�r^)�r���)rQrYrxr�)rZr�r��)r�r^��rQ)r8rYrf�int16�uint16�int32�uint32rr�	complex64�
complex128r�r	�cumsum)rg�ba�ba2�ctyperh�a2�tgts       r>rmzTestCumsum.test_basic�sc��
$�
$�
$���|�|�\�\�\�=�=�=�9���g�r�x���2�9�b�h��i���R�Z����m�%�	;�	;�E����U�#�#�A���#�u�%�%�B��(�5�5�5�u�=�=�C��r�y���3�3�3�S�9�9�9��(����~�~�~�/?�/?�/?�@�%�I�I�C��r�y��!�4�4�4�c�:�:�:��(�������1A�1A�1A�B�E�K�K�C��r�y��!�4�4�4�c�:�:�:�:�	;�	;r@Nr�r�r@r>r�r��s#������;�;�;�;�;r@r�c��eZdZd�ZdS)�TestProdc���gd�}gd�gd�gd�g}tjtjtjtjtjtjtjtjfD�]	}tj	||��}tj	||��}|dvrBtttj|��tttj|d���st|�d���d	��t|�d���tj	gd
�|����t|�d���tj	gd�|������dS)
Nr�r�r�r���1r�rQrr�� g�ro�$�T�r`)r|�b�X)r8r�r�r�r�rrr�r�r�r�ArithmeticError�prodrr	�rgr�r�r�rhr�s      r>rmzTestProd.test_basic�sT��
$�
$�
$���|�|�\�\�\�=�=�=�9���h��	�2�8�R�Y��j�"�*�b�l�B�M�K�	E�	E�E����U�#�#�A���#�u�%�%�B��
�"�"��o�r�w��:�:�:��o�r�w��A�>�>�>�>��Q�V�V��V�^�^�U�3�3�3�"�2�7�7��7�?�?�#%�8�,=�,=�,=�u�#E�#E�G�G�G�"�2�7�7��7�#3�#3�#%�8�O�O�O�U�#C�#C�E�E�E�E�	E�	Er@Nr�r�r@r>r�r��s(������E�E�E�E�Er@r�c��eZdZd�ZdS)�TestCumprodc
�t�gd�}gd�gd�gd�g}tjtjtjtjtjtjtjtjfD�]L}tj	||��}tj	||��}|dvrbtttj|��tttj|d��tttj|����ttj|d���tj	gd	�|����ttj|d
���tj	gd�gd�gd�g|����ttj|d���tj	gd
�gd�gd�g|������NdS)Nr�r�r�r�r�rQr`r�)rQrOr���i(i�r�r)rZrR�r�r�)rQrOrxr|)rZr���r�)r�r�r�r�)r8r�r�r�r�rrr�r�r�rr��cumprodr	r�s      r>rmzTestCumprod.test_basic�s���
$�
$�
$���|�|�\�\�\�=�=�=�9���h��	�2�8�R�Y��j�"�*�b�l�B�M�K�	J�	J�E����U�#�#�A���#�u�%�%�B��
�"�"��o�r�z�1�=�=�=��o�r�z�2�q�A�A�A��o�r�z�1�=�=�=�=�"�2�:�a�b�#9�#9�#9�#%�8�-@�-@�-@�AF�$H�$H�I�I�I�#�2�:�b�q�#9�#9�#9�#%�8�\�\�\�-<�_�_�->�->�->�-@�AF�$H�$H�I�I�I�#�2�:�b�r�#:�#:�#:�#%�8�]�]�]�-?�-?�-?�-?�-?�-?�-A�BG�$I�$I�J�J�J�J�!	J�	Jr@Nr�r�r@r>r�r��s(������J�J�J�J�Jr@r�c�>�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	S)
�TestDiffc��gd�}tjgd���}tjgd���}tjddg��}tt|��|��tt|d���|��tt|d���|��gd	�}tjgd
���}t	t|��|��gd�}tjgd���}tjd
d
g��}tt|��|��tt|d���|��dS)N)rQrMrxryrR)rYrOrQrZ)r`r`rMrrZrO�r<rY)皙�����?皙����@r�g������ɿ皙������)r�g�������?g������	�皙�����?)TTFFr=T)r8r�r	rr
)rgr��out�out2�out3s     r>rmzTestDiff.test_basic�s1�������h�|�|�|�$�$���x����$�$���x��A������4��7�7�C�(�(�(��4��Q�<�<�<��.�.�.��4��Q�<�<�<��.�.�.�'�'�'���h�,�,�,�-�-���D��G�G�S�)�)�)�&�&�&���h�+�+�+�,�,���x��t��%�%���4��7�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
���|��ttjt|d���ttjt|d���tjd
tj��}ttt|��dS)N)r�r�r�rQrO)r��r�r`)r�r��r�r)r<r�r�rWrYr}g��q��?)
r8rBrer	rrr�r�rrd)rgr��exps   r>�	test_axiszTestDiff.test_axis�sY���H�\�"�"����!�!�!�Q�T��T�1�1�1�*�
��g�l�#�#����A�A�A�q�t�!�t�Q�Q�Q�J���4��7�7�B�H�\�$:�$:�;�;�;��4���+�+�+�R�X�l�-C�-C�D�D�D��4���?�?�?�B�H�[�,A�,A�B�B�B��4���?�?�?�C�0�0�0��4���+�+�+�S�1�1�1��b�l�D�!�!�4�4�4�4��b�l�D�!�"�5�5�5�5��H�]�B�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�
��|��dS)Nr�r�r�rQr`rOr�rr�)r<r�)rr	r)rgr��out1r�r��out4s      r>r�zTestDiff.test_nd�s_����b�"�b�!�!�!������A�A�A�q�r�r��{�Q�q�q�q�!�!�!�S�b�S�y�\�)���A�A�A�q�q�q�!�"�"�H�~��Q�Q�Q����3�B�3�Y��/������Q�Q�Q�����{�Q�s��s�A�A�A�q�q�q�y�\�)���A�B�B����1�1�1�H�~��S�b�S�!�!�!�Q�Q�Q�Y��/���4��7�7�D�)�)�)��4��Q�<�<�<��.�.�.��4���?�?�?�D�1�1�1��4��Q�Q�/�/�/��6�6�6�6�6r@c
�x��ttd�����ttt�d����fd�tdd��D��}ddgdgggg}tt	�d����u��t
t||��d���D]�\}\}}tt|��tj
u��t||��t|j
tj��tt|��t!dt���|z
������dS)	NrYr`r�c�2��g|]}t�|�����S)r�)r)r-r<r�s  �r>r.z#TestDiff.test_n.<locals>.<listcomp>�s#���4�4�4�1�$�q�A�,�,�,�4�4�4r@rQrZr��start)�listrfrrdrr�	enumeraterErr8rr	rrrdrD�max)rgrI�expectedr<r�r�s     @r>�test_nzTestDiff.test_n�s"�����q���N�N���j�$��R�0�0�0�0�4�4�4�4��a����4�4�4����F�Q�C��R�(����Q�!�����!�"�"�"�"+�C��&�,A�,A��"K�"K�"K�	7�	7��A���#��D��I�I���+�,�,�,��s�H�-�-�-����B�G�,�,�,���S���3�q�#�a�&�&�1�*�#5�#5�6�6�6�6�		7�	7r@c��tjddtj���}tjddgd���tjdgd���g}|�tjgd���gdz��t|d���D]@\}}t
||�	��}t||��t|j	|j	���AdS)
Nz
1066-10-13z
1066-10-16r"rQ�timedelta64[D]rrYr�r�)
r8r9�
datetime64r��extendrrr	rr)rgr�rr<r�r�s      r>�
test_timeszTestDiff.test_timess����I�l�L��
�F�F�F���H�a��V�#3�4�4�4��H�a�S� 0�1�1�1�
��	�����"�,<�=�=�=�>��B�C�C�C����2�2�2�	/�	/�F�A�s��q�A�,�,�,�C��s�C�(�(�(����C�I�.�.�.�.�	/�	/r@c	�>�tjddgddgddgddgd	d
ggddgddgddgddgddgg�
��}t|��}t|jdgdgdgdgdgg��t|jdgdgdgdgdgg��t
t|��t|��u��t|d���}t|jgggggg��t|jgggggg��t
t|��t|��u��dS)NrQrOrYrMrZrxryrwr<r�FT��maskr�)rr�rr	r=rrr)rgr�r�r�s    r>r�zTestDiff.test_subclasssV���H�q�!�f�q�!�f�q�!�f�q�!�f�q�"�g�>�!�5�>�D�%�=�!�4�=�4��,����H�
I�
I�
I���1�g�g���3�8�q�c�A�3���a�S�1�#�%>�?�?�?��3�8�u�g��v�'+�f�t�f�u�g�&?�	@�	@�	@���S�	�	�T�!�W�W�$�%�%�%��A��|�|�|���4�9�r�2�r�2�r�&:�;�;�;��4�9�r�2�r�2�r�&:�;�;�;���T�
�
�d�1�g�g�%�&�&�&�&�&r@c�0�tjd��dz}tt|d���tjd����tt|dg���tjd����ttjtj|d�����|��tt|ddg���tjd����tjd���dd��}tj|dd�	��}ddgddgg}t||��tj|ddgdgg�	��}t||��tj|dd�	��}ddgddgg}t||��tj|dddgg�	��}t||��tttj|tj	d
�����ttj
t|dd���dS)
NrZrQr)�prependr`rxrMrO)r�r�rYrYrY)rr�)r8r9r	rrer�rzrrdrBr��rgr��resultrs    r>�test_prependzTestDiff.test_prepends����I�a�L�L�1����4��1�-�-�-�r�w�q�z�z�:�:�:��4��A�3�/�/�/������<�<�<��2�9�R�W�Q��%:�%:�%:�;�;�Q�?�?�?��4��B��7�3�3�3�R�W�Q�Z�Z�@�@�@��I�a�L�L� � ��A�&�&������A�.�.�.����F�Q��F�#���6�8�,�,�,�����a�S�1�#�J�7�7�7���6�8�,�,�,�����A�.�.�.����F�Q��F�#���6�8�,�,�,�����a��V�H�5�5�5���6�8�,�,�,��j�"�'�1�b�h�u�o�o�F�F�F�F��b�l�D�!�Q�Q�?�?�?�?�?�?r@c�r�tjd��}t|d���}gd�}t||��t|dg���}t||��t|ddg���}|dgz}t||��tjd���dd��}tj|dd���}dd	gdd
gg}t||��tj|ddgdgg���}t||��tj|dd���}ddgdd
gg}t||��tj|dddgg���}t||��tttj|tjd�����ttjt|dd
���dS)NrZr)�append)rQrQrQrQr}rOrMrQ)r�rr`r]rWrrY)rr�)	r8r9rr	rzrrdrBr�rs    r>�test_appendzTestDiff.test_append7s����I�a�L�L���a��"�"�"��#�#�#���6�8�,�,�,��a���$�$�$���6�8�,�,�,��a��A��'�'�'���q�c�>���6�8�,�,�,��I�a�L�L� � ��A�&�&������1�-�-�-����G�a��W�%���6�8�,�,�,�����Q�C�!��:�6�6�6���6�8�,�,�,�����1�-�-�-����F�R��H�%���6�8�,�,�,�����Q��F�8�4�4�4���6�8�,�,�,��j�"�'�1�R�X�e�_�_�E�E�E�E��b�l�D�!�A�A�>�>�>�>�>�>r@N)r�r�r�rmr�r�rr	r�rrr�r@r>r�r��s�������/�/�/�&+�+�+� 	7�	7�	7�
7�
7�
7�
/�
/�
/�
'�
'�
'�@�@�@�0?�?�?�?�?r@r�c��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zej
�d
ejdg��dgg��d���Zd
�ZdS)�
TestDeletec��tjd��|_tjd���d���ddd��|_dS)NrZrOrQ)r8r9rhr~rz�nd_ar�s r>�setup_methodzTestDelete.setup_methodVsD����1������I�a�L�L�'�'��*�*�2�2�1�a��;�;��	�	�	r@c�`�t|j|��}t|j|d���}d|z}tt	||j|f��|j|���t	|ddd�df|jd|df��}t||jddd�df|���dS)NrQr�zDelete failed for obj: %r)�err_msgr)rrhrr	r.)rg�indices�a_del�nd_a_del�msg�xors      r>�_check_inverse_of_slicingz$TestDelete._check_inverse_of_slicingZs����t�v�w�'�'���$�)�W�1�5�5�5��)�G�3���8�E�4�6�'�(�+<�=�=�t�v�#&�	(�	(�	(�	(��x��!�!�!�Q��'���1�g�q�=�)A�B�B���3��	�!�A�A�A�q�&� 1�3�?�?�?�?�?�?r@c��gd�}gd�}|D]2}|D]-}|D](}t|||��}|�|���)�.�3dS)N)���rWrrQrOrMrZ)r]r`rQrY)rur")rg�lims�stepsr��stop�step�ss       r>�test_sliceszTestDelete.test_slicescs��&�&�&�������	6�	6�E��
6�
6��!�6�6�D��e�T�4�0�0�A��2�2�1�5�5�5�5�6�
6�	6�	6r@c��|�tjddgddgg����tjt
��5t
|jdg��ddd��n#1swxYwYtjt
��5t
|jdg��ddd��n#1swxYwY|�gd���|�gd���tjt��5t
|jd��ddd��n#1swxYwYtjt��5t
|jd	��ddd��n#1swxYwYtjt��5t
|jd	gd
z��ddd��dS#1swxYwYdS)NrrQrOrii����)rr`rOrO)TFFTFTFrM)	r"r8r�r6r�r�rrhrdr�s r>�
test_fancyzTestDelete.test_fancyls����&�&�r�x�!�Q��!�Q��0@�'A�'A�B�B�B�
�]�:�
&�
&�	"�	"��4�6�C�5�!�!�!�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"�
�]�:�
&�
&�	#�	#��4�6�D�6�"�"�"�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#����	#�	#�	#�	#�	
�&�&�}�}�}�5�5�5��&�&�'H�'H�'H�I�I�I��]�:�
&�
&�	!�	!��4�6�4� � � �	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!����	!�	!�	!�	!�
�]�:�
&�
&�	"�	"��4�6�5�!�!�!�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"��]�:�
&�
&�	&�	&��4�6�E�7�1�9�%�%�%�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&����	&�	&�	&�	&�	&�	&sZ�A*�*A.�1A.�B1�1B5�8B5�D%�%D)�,D)�	E+�+E/�2E/�F6�6F:�=F:c�Z�|�d��|�d��dS)Nrr})r"r�s r>�test_singlezTestDelete.test_single�s0���&�&�q�)�)�)��&�&�r�*�*�*�*�*r@c�F�tjd��}tjtj��5t|gd���ddd��n#1swxYwYtjt��5t|gd���ddd��dS#1swxYwYdS)NrQrr�r�)r8r�r6r�r�rrerts  r>r�zTestDelete.test_0d�s���H�Q�K�K��
�]�2�<�
(�
(�	"�	"��1�b�q�!�!�!�!�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"�
�]�9�
%�
%�	+�	+��1�b�z�*�*�*�*�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+����	+�	+�	+�	+�	+�	+s#�A�A�A�6B�B�Bc�T�Gd�dtj��}|j�|��}t	tt
|d��|����t	tt
|g��|����t	tt
|ddg��|����t	tt
|tdd����|����t	tt
|tdd����|����dS)Nc��eZdZdS)�*TestDelete.test_subclass.<locals>.SubClassNrr�r@r>r�r2�rr@r�rrQrOrW)r8rrhrrr�rrur�s   r>r�zTestDelete.test_subclass�s��	�	�	�	�	�r�z�	�	�	��F�K�K��!�!���
�6�!�Q�<�<��2�2�3�3�3��
�6�!�R�=�=�(�3�3�4�4�4��
�6�!�a��V�,�,�h�7�7�8�8�8��
�6�!�U�1�a�[�[�1�1�8�<�<�=�=�=��
�6�!�U�1�b�\�\�2�2�H�=�=�>�>�>�>�>r@c�*�tjd���ddd���}t|t	dd��d���}t|jj|jj��t|jj|jj��dS)	Nr�rOrZr�r��<rQr�)	r8r9rzrrurr�r�r�)rgr_rCs   r>�test_array_order_preservez$TestDelete.test_array_order_preserve�s|���I�b�M�M�!�!�!�Q�c�!�2�2���1�e�B��o�o�A�.�.�.��	�Q�W�)�1�7�+?�@�@�@��Q�W�)�1�7�+?�@�@�@�@�@r@c��tjt��5tjgd�tjddg����ddd��n#1swxYwYtjt��5tjgd�tjgt�����ddd��dS#1swxYwYdS)NrPr�r�r")r6r�r�r8rr�r�r�s r>r�zTestDelete.test_index_floats�s$��
�]�:�
&�
&�	7�	7��I�i�i�i���3��*�!5�!5�6�6�6�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7����	7�	7�	7�	7�
�]�:�
&�
&�	<�	<��I�i�i�i���"�E�!:�!:�!:�;�;�;�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<����	<�	<�	<�	<�	<�	<s#�,A�A�A�61B4�4B8�;B8�indexerrQc��t|jd��}t|j|��}t||��t|jdd���}t|jt	jdg��d���}t||��dS)NrQr�)rrhrrr8r�)rgr7�	a_del_intr�nd_a_del_intrs      r>�test_single_item_arrayz!TestDelete.test_single_item_array�s����4�6�1�%�%�	��t�v�w�'�'���Y��&�&�&��d�i���3�3�3���$�)�R�X�q�c�]�]��;�;�;���\�8�,�,�,�,�,r@c��ttjd��tjdg����}t	|tjd����tjd��}tjdgt
���}tjdgt
���}t||d���}t	||��t||d���}t	||dd�dd�f��t
jt��5ttjd	��tjdgt�����ddd��n#1swxYwYt
jt��5ttjd	��tjdgd
�����ddd��dS#1swxYwYdS)NrQF)rYrQr"Tr`r�rrOzm8[ns])
rr8rer�r	�boolr6r�r��object)rg�resr��
false_mask�	true_masks     r>�test_single_item_array_non_intz)TestDelete.test_single_item_array_non_int�s���R�W�Q�Z�Z���5�'�!2�!2�3�3���3����
�
�+�+�+�
�G�F�O�O���X�u�g�T�2�2�2�
��H�d�V�4�0�0�0�	��Q�
��,�,�,���3��"�"�"��Q�	��+�+�+���3��!�!�!�R�a�R�%��)�)�)��]�:�
&�
&�	<�	<��2�7�1�:�:�r�x���6�:�:�:�;�;�;�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<����	<�	<�	<�	<��]�:�
&�
&�	>�	>��2�7�1�:�:�r�x���8�<�<�<�=�=�=�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>����	>�	>�	>�	>�	>�	>s$�
=E�E�E�:8F?�?G�GN)r�r�r�rr"r*r,r.r�r�r5r�r6r7r8r8r�r;rBr�r@r>rrTs�������<�<�<�@�@�@�6�6�6�&�&�&�*+�+�+�+�+�+�?�?�?�A�A�A�<�<�<��[���Y����1�#�����(<�=�=�-�-�>�=�-�>�>�>�>�>r@rc�0�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
ej�dejejejejg��d
���Zej�dejejejejg��d���Zej�dejejejejg��d���Zej�dejejejejg��d���ZdS)�TestGradientc��ddgddgg}tj|��}tjddgddgg��tjddgddgg��g}tt|��|��tt|��|��dS)NrQrYrMr�r�r�r�)r8r�r	r!�rg�vr��dxs    r>rmzTestGradient.test_basic�s�����V�a��V����H�Q�K�K���h��R��2�r�(�+�,�,��h��R��2�r�(�+�,�,�.���8�A�;�;��+�+�+��8�A�;�;��+�+�+�+�+r@c
���tjtjd����}gd�}tjd���dd��}ttjd��d��ttjd��tjd����ttjd��|��t|d��t|tjd����t|||��t||d��t||d���ttd	t
|tj	|gdzd
���d��dS)NrZ)r�r�r�r��&@�r���?rOrQr�z.*scalars or 1dr`)
r8r�rer9rzr!r�rrd�stack)rgrH�	dx_uneven�f_2ds    r>�	test_argszTestGradient.test_args�s9��
�Y�r�w�q�z�z�
"�
"��)�)�)�	��y��}�}�$�$�Q��*�*��	���1���r�"�"�"����1���r�x��|�|�,�,�,����1���r�"�"�"���s������r�x��}�}�%�%�%���y�)�,�,�,�	��r�1����	��r��"�"�"�"�	�J�(9��d�B�H�b�T�!�V�"�5�5�5�q�	:�	:�	:�	:�	:r@c	�H�tjd���dd��}tjtjd����}ttt||tjd����ttt|dtjd����ttt|tjd��tjd����ttt||��ttt||d���ttt||||��ttt|ddd��ttt|||d���ttt|ddd���dS)NrKrZrOrQrar�)	r8r9rzr�rerrdr!re)rgrOr�s   r>�test_badargszTestGradient.test_badargs�s3���y��}�}�$�$�Q��*�*���I�b�g�a�j�j�!�!��	�j�(�D�!�R�W�Q�Z�Z�@�@�@��j�(�D�!�R�W�Q�Z�Z�@�@�@��j�(�D�"�'�!�*�*�b�g�a�j�j�I�I�I��i��4��3�3�3��i��4���?�?�?�?��i��4��A�q�9�9�9��i��4��A�q�9�9�9��i��4��A�A�>�>�>�>��i��4��A�A�>�>�>�>�>�>r@c���tjgd�d���}tjgd�d���}tt|��|��t	|jtjd��k��dS)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�r8r�r	r!rr�rgr�rHs   r>�test_datetime64zTestGradient.test_datetime64�s����H�
7�
7�
7�!�
#�
#�
#���X�)�)�)�"�$�$�$��	�8�A�;�;��+�+�+����B�H�%5�6�6�6�7�7�7�7�7r@c���tj�ddgddggddgddgg���}t|��d}t	t|��t|����t
|j|ju��tj�d��}tjj	|d<tj|d�	��t|jgd
���dS)NrQrYrMFrrrZrO��
edge_order)FFTFF)r8rr�r!rrr�_maskr9�maskedr	r)rgr�r��x2s    r>�test_maskedzTestGradient.test_maskeds����E�K�K�!�Q��!�Q��(�$�e�n�u�e�n�=�
�
?�
?���q�k�k�!�n���T�#�Y�Y��Q���(�(�(�	���s�y�(�)�)�)�
�U�\�\�!�_�_������1��
��B�1�%�%�%�%��2�7�$F�$F�$F�G�G�G�G�Gr@c���tjddd��}|d|dz
}d|dzzd|dzzzd|zz}d|dzzd|zzdz}tjtj||d�	��|zdz
��}t	tj|d
k��dk��tj�d��tjtj�d����}d|dzzd|dzzzd|zz}d|dzzd|zzdz}tjtj||d�	��|zdz
��}t	tj|d
k��dk��dS)NrrQr�rOrYrMrxrwrZg���Q��?T)	r8�linspace�absr!rr��random�seed�sort)rgr�rHr�
analytical�	num_errors      r>�test_second_order_accuratez'TestGradient.test_second_order_accuratesw��

�K��1�b�!�!��
�q�T�A�a�D�[��
��Q��J��Q�!�V��#�a�!�e�+����a��Z�!�a�%�'�!�+�
��F�B�K��2�!�<�<�<�z�I�Q�N�O�O�	����y�4�'�(�(�D�0�1�1�1�	�	���q�����G�B�I�$�$�R�(�(�)�)��
��Q��J��Q�!�V��#�a�!�e�+����a��Z�!�a�%�'�!�+�
��F�B�K��1��;�;�;�j�H�A�M�N�N�	����y�4�'�(�(�D�0�1�1�1�1�1r@c���tjgd���}tj|d��|�dd��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
|j
k��t||	j��t|dd|���}
t||d|���}t|
j
|j
k��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|��dS)N)rr�r�r�r�r�)rxrQr`rQ)r���?r�r�r�r�r)r�rLr�r�rjr�)�@rLr�r�rj��)r�r��333333�?rj��?r�)r�r�rmrjrngпrOr�ra)r�r[rrb)r8r��tilerzr9r!r	r
r�rrD)
rg�f�x_uneven�x_even�
fdx_even_ord1�
fdx_even_ord2�fdx_uneven_ord1�fdx_uneven_ord2r[�exp_res�res1�res2�res3s
             r>�test_spacingzTestGradient.test_spacing+s7���H�,�,�,�-�-���G�A�u����	�	�"�a� 0� 0�0���8�5�5�5�6�6����2������ :� :� :�E�B�B�
��� =� =� =�u�E�E�
��'�">�">�">��F�F���'�"A�"A�"A�5�I�I��&'�
�$6��M�8J�#K�	.�	.��J���A�r��*�E�E�E�D��A�v�v�!&�:�?�?�?�D��A�v�v�!%�*�>�>�>�D��t�T�*�*�*��t�T�*�*�*���Q����3�3�3���Q���1�1�1��A�r��j�A�A�A�D��A�v�A�*�E�E�E�D��D�J�$�*�,�-�-�-���g�i�0�0�0��A�r��j�A�A�A�D��A�v�A�*�E�E�E�D��D�J�$�*�,�-�-�-��t�W�-�-�-�-�&'��$8�1�o�:N�#O�
	/�
	/��J���A�x��!&�:�?�?�?�D��A�x��!%�*�>�>�>�D��t�T�*�*�*���Q����3�3�3���Q���1�1�1��A�x�a�J�G�G�G�D���g�i�0�0�0��A�x�a�J�G�G�G�D���g�.�.�.�.���6�8�%�A�F�F�F����8�V�%�A�F�F�F���4��7�D��G�,�,�,��4��7�D��G�,�,�,��D��G�]�_�5�5�5��D��G�_�5�5�5���6�8�%�A�F�F�F����8�V�%�A�F�F�F���4��7�D��G�,�,�,��4��7�D��G�,�,�,��D��G�]�_�5�5�5��D��G�_�5�5�5�5�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�	��ttjt|d�	��ttjt|d
�	��dS)NrQrYrMr�r�r�r�rr�r`rbrOr])r8r�r	r!r
rrer�rFs    r>�test_specific_axeszTestGradient.test_specific_axesks�����V�a��V����H�Q�K�K���h��R��2�r�(�+�,�,��h��R��2�r�(�+�,�,�.���8�A�A�.�.�.��1��6�6�6��8�A�A�.�.�.��1��6�6�6��8�A�B�/�/�/��A��7�7�7��8�A�F�3�3�3�b��e�R��U�^�D�D�D�	�H�Q�T�2�2�2�R��U�B�q�E�N�C�C�C��H�Q�T�2�2�2�H�Q�K�K�@�@�@�	�8�A�q�!�&�9�9�9��q�E�#�I�r�!�u�S�y�1�	3�	3�	3�	�i��1�a���;�;�;�;��b�l�H�a�a�8�8�8�8��b�l�H�a�b�9�9�9�9�9�9r@c���tjgd�d���}tjgd�d���}tt|��|��t	|jtjd��k��dS)N)r�r]r�rRrUiA�,rr")rOryryrK��wi��rVrWs   r>�test_timedelta64zTestGradient.test_timedelta64�s����H�*�*�*�"�
$�
$�
$���X�(�(�(�"�$�$�$��	�8�A�;�;��+�+�+����B�H�%5�6�6�6�7�7�7�7�7r@c���tjtjtjfD]S}tjgd�|���}tt
|��jtj|��j���TdS)Nr�r")	r8�float16rrr�rr!rr)rg�dtr�s   r>�test_inexact_dtypesz TestGradient.test_inexact_dtypes�sg���:�r�z�2�:�6�	>�	>�B������"�-�-�-�A���!���*�B�G�A�J�J�,<�=�=�=�=�	>�	>r@c�h�ttjd��d���ttjd��d���ttttjd��d���ttttjd��d���ttttjd��d���ttttjd��d���ttttjd��d���dS)NrOrQrZrYr)r!r8r9rrdr�s r>�test_valueszTestGradient.test_values�s������1���!�,�,�,�,����1���!�,�,�,�,��j�(�B�I�a�L�L�Q�G�G�G�G��j�(�B�I�a�L�L�Q�G�G�G�G��j�(�B�I�a�L�L�Q�G�G�G�G��j�(�B�I�a�L�L�Q�G�G�G�G��j�(�B�I�a�L�L�Q�G�G�G�G�G�Gr@�f_dtypec��tjgd�|���}t|��}t|dgt	|��z��dS)N)rZrMrYrOrQr"r`�r8r�r!r	rD)rgr�rp�gs    r>�test_f_decreasing_unsigned_intz+TestGradient.test_f_decreasing_unsigned_int�sI��
�H�_�_�_�G�4�4�4���Q�K�K���1�r�d�3�q�6�6�k�*�*�*�*�*r@c���tj|��j}tjddg��}tjd|g|���}t	||��}t||dzdzgdz��dS)NrQrYr`r"rO)r8�iinforr�r!r	)rgr��maxintr�rp�dfdxs      r>�test_f_signed_int_big_jumpz'TestGradient.test_f_signed_int_big_jump�su����'�"�"�&���H�a��V�����H�b�&�\��1�1�1����1�~�~���4�6�A�:�!�"3�!4�Q�!6�7�7�7�7�7r@�x_dtypec���tjgd�|���}tjgd���}t||��}t|dgt	|��z��dS)Nr�r"�rrOrMrWr�)rgr�r�rpr�s     r>�test_x_decreasing_unsignedz'TestGradient.test_x_decreasing_unsigned�s^��
�H�Y�Y�Y�g�.�.�.���H�Y�Y�Y������1�~�~���4�"��c�!�f�f��-�-�-�-�-r@c��tj|��j}tj|��j}tjd|g|���}tj|dzdg��}t||��}t
|ddg��dS)Nr`r"rOrrj)r8r��minrr�r!r	)rgr��minintr�r�rpr�s       r>�test_x_signed_int_big_jumpz'TestGradient.test_x_signed_int_big_jump�s����'�"�"�&����'�"�"�&���H�b�&�\��1�1�1���H�f��k�1�%�&�&����1�~�~���4�#�s��,�,�,�,�,r@N)r�r�r�rmrPrRrXr_rhr{r}r�r�r�r6r7r8r8rfr�r��uint64r�rYr�r��int64r�r�r�r�r@r>rDrD�s�������,�,�,�:�:�:�2?�?�?� 
8�
8�
8�
H�
H�
H�2�2�2�(>6�>6�>6�@:�:�:�4	8�	8�	8�>�>�>�
H�
H�
H��[���Y���2�9�)+��B�I�)?�@�@�+�+�@�@�+�
�[���Y���"�(�)+��2�8�)=�>�>�8�8�>�>�8��[���Y���2�9�)+��B�I�)?�@�@�.�.�@�@�.��[���Y���"�(�)+��2�8�)=�>�>�-�-�>�>�-�-�-r@rDc��eZdZd�Zd�ZdS)�	TestAnglec�P�dtjd��dzdtjd��zdzzdddddd	g}t|��}tjd
��tjd��dtjdztjtjdztjd
��tjtjd
��z
g}t|d
���}tj|��dztjz}t
||d��t
||d��dS)N��?@rOr�rWrQr`����?�y�@r�r�rT)�degr�r�)r8�sqrtr�arctan�pir�r)rgr�r�yo�z�zos      r>rmzTestAngle.test_basic�s���
�R�W�Q�Z�Z�#�%��R�W�Q�Z�Z��!�(;�;�
��B��V�W�
.���!�H�H���I�i� � ��I�c�N�N�A�r�u�q�y�"�%�"�%��#��
�Y�y�
!�
!�!�2�5�2�9�Y�+?�+?�#?�A��
�!������
�X�b�\�\�C�
�"�%�
'��!�!�R��,�,�,�!�!�R��,�,�,�,�,r@c��tj�ddtjd��dzdzg��}tjj|d<tj�tjd��dtjd��g��}tjj|d<t
|��}tt|��t|����t|j	|j	��t||��dS)Nr�rQrO��?�?r�rr�)
r8rr�r�r]r�rrrr)rgr�rr
s    r>r�zTestAngle.test_subclass�s����E�K�K���B�G�A�J�J�q�L�F�$;�<�=�=���u�|��!���5�;�;��	�)� 4� 4�a���3���H�I�I���e�l�����q�����T�&�\�\�4��>�>�2�2�2��V�[�(�-�0�0�0��V�X�&�&�&�&�&r@N)r�r�r�rmr�r�r@r>r�r��s2������-�-�-�'�'�'�'�'r@r�c	��eZdZejgd���Ze�e��Ze�e	��Z
e�e��Zd�Z
d�Zd�Zd�Zd�Zd�Zej�dejgd	���ejgd
���ejgd���g��d���Zd
�Zd�ZdS)�
TestTrimZeros)rrrQrrOrYrMrc�$��d}�fd�|D��S)N)rhr�r�r]c3�8�K�|]}t�|��V��dSr7)�getattr)r-�namergs  �r>�	<genexpr>z'TestTrimZeros.values.<locals>.<genexpr>�s-�����;�;����d�#�#�;�;�;�;�;�;r@r�)rg�
attr_namess` r>rGzTestTrimZeros.values�s"���)�
�;�;�;�;�
�;�;�;�;r@c��tjdd�}|���D]'}t|��}t	|||���(dS)NrOr`�r8�s_rGr1r	�rg�slc�arrr?s    r>rmzTestTrimZeros.test_basic�sT���e�A�b�D�k���;�;�=�=�	.�	.�C��S�/�/�C��s�C��H�-�-�-�-�	.�	.r@c��tjdd�}|���D])}t|d���}t	|||���*dS)Nr`r���trimr�r�s    r>�test_leading_skipzTestTrimZeros.test_leading_skip�s[���e�C�R�C�j���;�;�=�=�	.�	.�C��S�s�+�+�+�C��s�C��H�-�-�-�-�	.�	.r@c��tjdd�}|���D])}t|d���}t	|||���*dS)NrOr�r�r�r�s    r>�test_trailing_skipz TestTrimZeros.test_trailing_skip�s[���e�A�B�B�i���;�;�=�=�	.�	.�C��S�s�+�+�+�C��s�C��H�-�-�-�-�	.�	.r@c��|���D]i}tj||j���}t	|d���}t|��dksJ�t	|d���}t|��dksJ��jdS)Nr"�Br�rrp)rGr8�
zeros_likerr1rD)rg�_arrr�rxrys     r>�
test_all_zerozTestTrimZeros.test_all_zero�s����K�K�M�M�	"�	"�D��-��D�J�7�7�7�C��c��,�,�,�D��t�9�9��>�>�>�>��c��,�,�,�D��t�9�9��>�>�>�>�>�	"�	"r@c�l�tjd��}t|��}t||��dSrc)r8rBr1r	�rgr�r?s   r>�test_size_zerozTestTrimZeros.test_size_zeros0���h�q�k�k����o�o���3��$�$�$�$�$r@r�)rlr)rlr)rlrc�x�tjdd�}t|��}t|||��dS)NrQrO)r8r�r1r	)rgr�r�r?s    r>�
test_overflowzTestTrimZeros.test_overflows8���e�A�a�C�j����o�o���3��C��)�)�)�)�)r@c�p�tjgd���}t|��}t||��dS)N)NrQN)r8r�r1r	r�s   r>�test_no_trimzTestTrimZeros.test_no_trims6���h����'�'����o�o���3��$�$�$�$�$r@c��t|j�����}t|t��sJ�dSr7)r1rh�tolistr�r)rgr?s  r>�test_list_to_listzTestTrimZeros.test_list_to_lists5���������)�)���#�t�$�$�$�$�$�$�$r@N)r�r�r�r8r�rhrr�r��complexr�r>r]rGrmr�r�r�r�r6r7r8r�r�r�r�r@r>r�r��sF���������)�)�)�*�*�A�	������A�	������A�	������A�<�<�<�.�.�.�.�.�.�.�.�.�"�"�"�%�%�%�
�[���
�	���-�-�-�	 �	 �	���-�-�-�	 �	 �	���-�-�-�	 �	 �	"���*�*�
��*�
%�%�%�
%�%�%�%�%r@r�c� �eZdZd�Zd�Zd�ZdS)�
TestExtinsc�~�tjgd���}t|dk|��}t|gd���dS)N)rQrYrOrQrOrYrYrQ)rYrOrOrYrY)r8r�rr	r�s   r>rmzTestExtins.test_basic"sE���H�*�*�*�+�+���A��E�1�����1�o�o�o�.�.�.�.�.r@c�J��tttgd�ddgddg��tjgd����t�gd�gd���t�gd	���t�tjd
��g��t�tjdd����t�gd�dd
g��t�gd���ttd�fd���tjddg���t�ddgd��t�ddg��dS)Nr�TFrrQ)rQrMrYrOrZrwry)rrQrrQrrQr�rOrMrx)rQrOrYrMrZrxryryrw)rQrrQrrQrrQr<)rwrOr<rMrwrxr<z!Cannot insert from an empty arrayc�*��t�gd�g��S)N)rrrrrrQr)r+�rhs�r>�<lambda>z'TestExtins.test_place.<locals>.<lambda>6s���E�!�-B�-B�-B�B�$G�$G�r@�12�34�9)
rrer+r8r�r	rBr9rrdrts @r>�
test_placezTestExtins.test_place'sD���	�i��	�	�	�D�%�=�1�a�&�I�I�I��H�*�*�*�+�+��
�a�&�&�&�	�	�	�2�2�2��1�3�3�3�4�4�4�
�a���!���b�!�!�!��1�b�i��1�o�o�.�.�.�
�a�&�&�&��A��/�/�/��1�3�3�3�4�4�4��J�(K�G�G�G�G�	I�	I�	I�
�H�d�D�\�"�"��
�a�!�Q�������1�t�S�k�*�*�*�*�*r@c���td��}|dk}|���}t||��}t||d��t|||��t	||��dS)Nr�rjr)rr�rr+r	)rgrhr�acr�s     r>�	test_bothzTestExtins.test_both=sl����H�H���3�w��
�V�V�X�X���D�!����
�a��q����
�a��q�����1�b�!�!�!�!�!r@N)r�r�r�rmr�r�r�r@r>r�r� sA������/�/�/�
+�+�+�,"�"�"�"�"r@r�r�c�0�|tj|��zSr7��math�floor�r�rs  r>�_foo1r�Is���T�Z��]�]�?�r@r�c�6�|tj|��z|zSr7r�)r�rr�s   r>�_foo2r�Ms���T�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$S)%�
TestVectorizec�n�d�}t|��}|gd�gd���}t|gd���dS)Nc�"�||kr||z
S||zSr7r��rhr�s  r>�addsubtractz.TestVectorize.test_simple.<locals>.addsubtractT����1�u�u��1�u���1�u�r@�rrYrxr<�rQrYrZry�rQrxrQrO�r4r	�rgr�rpr�s    r>�test_simplezTestVectorize.test_simpleSsS��	�	�	�
�k�"�"��
�A�l�l�l�L�L�L�)�)���1�l�l�l�+�+�+�+�+r@c�j�d�}t|��}|gd�d��}t|gd���dS)Nc�"�||kr||z
S||zSr7r�r�s  r>r�z.TestVectorize.test_scalar.<locals>.addsubtract_r�r@r�rZ)rZrwrQrMr�r�s    r>�test_scalarzTestVectorize.test_scalar^sO��	�	�	�
�k�"�"��
�A�l�l�l�A�����1�l�l�l�+�+�+�+�+r@c��tjddd��}td���}||��}t||��dS)Nr]rOi'c��|Sr7r��r�s r>r�z*TestVectorize.test_large.<locals>.<lambda>k����r@)r8rar4r	)rgr�rprs    r>�
test_largezTestVectorize.test_largeisG���K��A�u�%�%���k�k�"�"��
�A�a�D�D���1�a� � � � � r@c�*�ttj��}tjddtjztjdtjzdtjzg��}||��}tj|��}t
||��dS)NrrjrLrO)r4r��cosr8r�r�r)rgrp�args�r1�r2s     r>�
test_ufunczTestVectorize.test_ufuncoso���d�h�����x��C�"�%�K����b�e��Q���Y�G�H�H��
�Q�t�W�W��
�V�D�\�\��!�"�b�)�)�)�)�)r@c��dd�}t|��}tjgd���}||��}tjgd���}t||��||d��}tjgd���}t||��dS)NrQc��||zSr7r�r�s  r>r�z(TestVectorize.test_keywords.<locals>.foox����q�5�Lr@r�rrOrXr1�r4r8r�r	�rgr�rpr�r�rs      r>�
test_keywordszTestVectorize.test_keywordsvs���	�	�	�	�
�c�N�N���x�	�	�	�"�"��
�Q�t�W�W��
�X�i�i�i�
 �
 ���2�r�"�"�"�
�Q�t�Q�Z�Z��
�X�i�i�i�
 �
 ���2�r�"�"�"�"�"r@c���tttg���}|tjd��d��}|tjd����}t||��dS�N��otypesr�r��r4r�r�r8r9r	�rgrpr�rs    r>� test_keywords_with_otypes_order1z.TestVectorize.test_keywords_with_otypes_order1�s`��
�e�U�G�,�,�,���Q�r�y��~�~�s�
#�
#��
�Q�r�y��~�~�
�
���2�r�"�"�"�"�"r@c���tttg���}|tjd����}|tjd��d��}t||��dSr	rr
s    r>� test_keywords_with_otypes_order2z.TestVectorize.test_keywords_with_otypes_order2�s`��
�e�U�G�,�,�,���Q�r�y��~�~�
�
��
�Q�r�y��~�~�s�
#�
#���2�r�"�"�"�"�"r@c�0�tttg���}|tjd����}|tjd��d���}|tjd����}t||��t||��dS)Nr
r�r��rr�rgrpr�r�r3s     r>� test_keywords_with_otypes_order3z.TestVectorize.test_keywords_with_otypes_order3�s���
�e�U�G�,�,�,���Q�r�y��~�~�
�
��
�Q�r�y��~�~��
%�
%�
%��
�Q�r�y��~�~�
�
���2�r�"�"�"��2�r�"�"�"�"�"r@c�>�tttg���}|dd���}|dd���}|d��}t|tdd�����t|tdd�����t|td����dS)Nr
�������$@ri)r�r`r�r4r�r�rrs     r>�+test_keywords_with_otypes_several_kwd_args1z9TestVectorize.test_keywords_with_otypes_several_kwd_args1�s���
�e�U�G�,�,�,���Q�t�s�^�^�^��
�Q�t�r�]�]�]��
�Q�t�W�W���R��t�s�+�+�+�,�,�,��R��t�r�*�*�*�+�+�+��R��t���%�%�%�%�%r@c���tttg���}|ddd���}|ddd��}t|tddd�����t|tddd����dS)	Nr
rirr`)r�r�rrQrOrYrr
s    r>�+test_keywords_with_otypes_several_kwd_args2z9TestVectorize.test_keywords_with_otypes_several_kwd_args2�s���
�e�U�G�,�,�,���Q����
#�
#�
#��
�Q�q�!�Q�Z�Z���R�����3�3�3�4�4�4��R��q�!�Q���(�(�(�(�(r@c�p�ddl}	t|j��dS#t$rt	���wxYwrc)rcr4�	randrange�	Exception�AssertionError)rgrcs  r>�test_keywords_no_func_codez(TestVectorize.test_keywords_no_func_code�sP��	�
�
�
�	#��f�&�'�'�'�'�'���	#�	#�	#� �"�"�"�	#���s��5c�\�d
d�}t|��}tjgd���}||���}tjgd���}t||��|d|���}t||��||d���}tjgd	���}t||��dS)NrQc��||zSr7r�r�s  r>r�z5TestVectorize.test_keywords2_ticket_2100.<locals>.foo�rr@r�r�r)r�rhrO�r�rXr1rrs      r>�test_keywords2_ticket_2100z(TestVectorize.test_keywords2_ticket_2100�s���	�	�	�	�
�c�N�N���x�	�	�	�"�"��
�Q��Y�Y�Y��
�X�i�i�i�
 �
 ���2�r�"�"�"�
�Q��d�^�^�^���2�r�"�"�"�
�Q�t�q�\�\�\��
�X�i�i�i�
 �
 ���2�r�"�"�"�"�"r@c��d�}tj|ddg���}ddg}t||ddggd��	����t||ddggd��
����t||ddggd�����dS)Nc��t|��}|�d��}|r||z|�d��z}|�|Src)r�pop)r��p�_pr?s    r>�	mypolyvalz;TestVectorize.test_keywords3_ticket_2100.<locals>.mypolyval�sK���a���B��&�&��)�)�C��
*��A�g����q�	�	�)���
*��Jr@r(rQ)�excludedrYrxrr�)r�r()r()r8r4r	)rgr*�vpolyval�anss    r>�test_keywords3_ticket_2100z(TestVectorize.test_keywords3_ticket_2100�s���	�	�	��<�	�S�!�H�=�=�=���!�f���3���A�q�6�Y�Y�Y� ?� ?� ?�@�@�@��3���!�Q��9�9�9� =� =� =�>�>�>��3���!�Q����� ;� ;�<�<�<�<�<r@c�h�td���}t|ddgddg���ddg��dS)Nc�*�d}|D]
}|||z}�|S�Nr�r�)�kwr?�_ks   r>rpz3TestVectorize.test_keywords4_ticket_2100.<locals>.f�s*���C��
�
���r�"�v�
����Jr@rQrOrYrMr�rwr��rgrps  r>�test_keywords4_ticket_2100z(TestVectorize.test_keywords4_ticket_2100�sN��	�	�	�
��	�	�1�1��1�v�!�Q��0�0�0�1�a�&�9�9�9�9�9r@c�f�td���}t|ddgddg��ddg��dS)Nc�*�tj|��Sr7)r8r�)rGs r>rpz3TestVectorize.test_keywords5_ticket_2100.<locals>.f�s���7�1�:�:�r@rQrOrYrMrwr�r4s  r>�test_keywords5_ticket_2100z(TestVectorize.test_keywords5_ticket_2100�sK��	�	�	�
��	�	�1�1�a��V�a��V�,�,�q�!�f�5�5�5�5�5r@c�Z�d�}t|��}t|��d��dS)Nc��dS�NrQr�r�r@r>r�z5TestVectorize.test_coverage1_ticket_2100.<locals>.foo�����1r@rQr��rgr�rps   r>�test_coverage1_ticket_2100z(TestVectorize.test_coverage1_ticket_2100�s:��	�	�	�
�c�N�N���1�1�3�3��"�"�"�"�"r@c��d�}t|��}t|j|j��d}t||���}t|j|��dS)Nc��|S)zOriginal documentationr�r�s r>r�z3TestVectorize.test_assigning_docstring.<locals>.foos���Hr@zProvided documentation)�doc)r4r�__doc__)rgr�rprAs    r>�test_assigning_docstringz&TestVectorize.test_assigning_docstringsa��	�	�	�
�c�N�N���Q�Y���,�,�,�&���c�s�#�#�#���Q�Y��$�$�$�$�$r@c��Gd�d��}tt|��j��tjd����tjd��dz��tt|j��|��tjd����tjd��dz��dS)Nc��eZdZdZd�ZdS)�9TestVectorize.test_UnboundMethod_ticket_1156.<locals>.FoorOc��||jzSr7r#rts  r>r�z=TestVectorize.test_UnboundMethod_ticket_1156.<locals>.Foo.bars���D�F�{�"r@N)r�r�r�r�r�r�r@r>�FoorFs(�������A�
#�
#�
#�
#�
#r@rHr<rO)r	r4r�r8r9)rgrHs  r>�test_UnboundMethod_ticket_1156z,TestVectorize.test_UnboundMethod_ticket_1156
s���	#�	#�	#�	#�	#�	#�	#�	#�	�/�9�S�S�U�U�Y�/�/��	�!���=�=��9�Q�<�<�1�,�	.�	.�	.��-�9�S�W�-�-�c�c�e�e�R�Y�q�\�\�B�B��9�Q�<�<�1�,�	.�	.�	.�	.�	.r@c�r�td���}|tjd����}|tjdd����}td���}|tjdd����}|tjd����}t||��t||��dS)Nc��|Sr7r�r�s r>r�z@TestVectorize.test_execution_order_ticket_1487.<locals>.<lambda>����r@rYr�c��|Sr7r�r�s r>r�z@TestVectorize.test_execution_order_ticket_1487.<locals>.<lambda>rLr@)r4r8r9r)rg�f1�res1a�res1b�f2�res2b�res2as       r>� test_execution_order_ticket_1487z.TestVectorize.test_execution_order_ticket_1487s���
�{�{�
#�
#����2�9�Q�<�<� � ����2�9�S�!�$�$�%�%��
�{�{�
#�
#����2�9�S�!�$�$�%�%����2�9�Q�<�<� � ���U�E�"�"�"��U�E�"�"�"�"�"r@c�f�tjd���}d}t|||����dS)Nc��|Sr7r�r�s r>r�z7TestVectorize.test_string_ticket_1892.<locals>.<lambda>'���1�r@�d0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789)r8r4r)rgrpr)s   r>�test_string_ticket_1892z%TestVectorize.test_string_ticket_1892%s6���L���%�%�����Q���!�������r@c����dg�t�fd���}d|_tjd��}t	||��||z��t�dt
|����dS)Nrc�.���dxxdz
cc<|dzS)NrrQrOr�)r��_callss �r>rpz#TestVectorize.test_cache.<locals>.f/s!����1�I�I�I��N�I�I�I���6�Mr@TrZ)r4�cacher8r9r	rrD)rgrpr�r\s   @r>�
test_cachezTestVectorize.test_cache+s������	�	�	�	�	�
��	�����I�a�L�L���1�1�Q�4�4��Q��'�'�'��V�A�Y��A���'�'�'�'�'r@c��tjd���}d|_tjd��}t	||��|��dS)Nc��|Sr7r�r�s r>r�z+TestVectorize.test_otypes.<locals>.<lambda>:rWr@r�rZ)r8r4rr9r	�rgrpr�s   r>�test_otypeszTestVectorize.test_otypes9sE���L���%�%������I�a�L�L���1�1�Q�4�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��n#1swxYwYtt��5tjd��ddd��n#1swxYwYtt��5tjd��ddd��dS#1swxYwYdS)Nz(x)->()r�r�z	(x,y)->()r�z(x),(y)->()rz(x)->(y)z(x)->(y),()z(),(a,b,c),(d)->(d,e))r�)rhr�r�)r])r]�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rdr�s r>�test_parse_gufunc_signaturez)TestVectorize.test_parse_gufunc_signature?s����S�0��;�;�v�h���=M�N�N�N��S�0��=�=�!�l�R�D�)�	+�	+�	+��S�0��?�?��v�&���-�	/�	/�	/��S�0��<�<��h���)�	+�	+�	+��S�0��?�?��h����-�	/�	/�	/��S�0�1H�I�I�3�3�3�j�\�B�	D�	D�	D�	�S�0��<�<��x�"��>N�O�O�O��S�0�1B�C�C�!�l�R�D�)�	+�	+�	+��S�0��A�A��v�&���-�	/�	/�	/��S�0�1A�B�B��h���)�	+�	+�	+��S�0�1A�B�B��h����-�	/�	/�	/��S�0�A�C�C�3�3�3�j�\�B�	D�	D�	D��:�
&�
&�	6�	6��'��5�5�5�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6����	6�	6�	6�	6�
�:�
&�
&�	5�	5��'��4�4�4�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5����	5�	5�	5�	5�
�:�
&�
&�	6�	6��'��5�5�5�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6����	6�	6�	6�	6�	6�	6s6�#H�H�H�#I�I�I�#J�J	�J	c�r�d�}t|d���}|gd�gd���}t|gd���dS)Nc�"�||kr||z
S||zSr7r�r�s  r>r�z8TestVectorize.test_signature_simple.<locals>.addsubtractbr�r@z	(),()->()��	signaturer�r�r�r�r�s    r>�test_signature_simplez#TestVectorize.test_signature_simpleasX��	�	�	�
�k�[�9�9�9��
�A�l�l�l�L�L�L�)�)���1�l�l�l�+�+�+�+�+r@c�t�d�}t|d���}|ddgddgg��}t|ddg��dS)Nc�*�|���Sr7�r�r�s r>r�z4TestVectorize.test_signature_mean_last.<locals>.meanms���6�6�8�8�Or@z(n)->()rjrQrYrOrMr�)rgr�rpr�s    r>�test_signature_mean_lastz&TestVectorize.test_signature_mean_lastls[��	�	�	�
�d�i�0�0�0��
�A��1�v��1�v������1�q�!�f�%�%�%�%�%r@c�|�d�}t|d���}|ddgddgg��}t|ddgddgg��dS)	Nc�0�||���z
Sr7ror�s r>�centerz3TestVectorize.test_signature_center.<locals>.centerus���q�v�v�x�x�<�r@�(n)->(n)rjrQrYrOrMr`r�)rgrsrpr�s    r>�test_signature_centerz#TestVectorize.test_signature_centertsd��	 �	 �	 �
�f�
�3�3�3��
�A��1�v��1�v������1��A�w��Q��0�1�1�1�1�1r@c��td�d���}|gd���}tt|t��ot	|��dk��t|dgd���t|dgd���dS)Nc�
�||fSr7r�r�s r>r�z:TestVectorize.test_signature_two_outputs.<locals>.<lambda>}�
���A��r@�	()->(),()rjr�rOrrQ)r4rr��tuplerDr	�rgrpr�s   r>�test_signature_two_outputsz(TestVectorize.test_signature_two_outputs|s����&�&�+�>�>�>��
�A�i�i�i�L�L���
�1�e�$�$�4��Q���1��5�5�5��1�Q�4����+�+�+��1�Q�4����+�+�+�+�+r@c��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��dS)	Nz(a),(b)->(a,b)rjrQrOr�r�rr�)r4r8r;r	r{s   r>�test_signature_outerz"TestVectorize.test_signature_outer�sM���b�h�*:�;�;�;��
�A�q�!�f�i�i�i� � ���1�y�y�y�)�)�)�4�5�5�5�
�A��A��x�j�)�)�)�$�$���1����I�I�I� 6�7�8�9�9�9�
�A��1�v��1�v��	�	�	�*�*���1�	�	�	�9�9�9�5� )�	�	�9�9�9�5�7�	8�	8�	8�
�A�q�!�f�y�y�y�)�)�)�,�-�-���1�	�	�	�9�9�9�5� )�	�	�9�9�9�5�7�	8�	8�	8�	8�	8r@c��td�d���}|gd���}t|ddg��|gd�gd�g��}t|ddgddgg��dS)	Nc��|dd�S�Nr`r�r�s r>r�z<TestVectorize.test_signature_computed_size.<locals>.<lambda>�����#�2�#��r@z(n)->(m)rjr�rQrOrrYr�r{s   r>�test_signature_computed_sizez*TestVectorize.test_signature_computed_size�s|���&�&�*�=�=�=��
�A�i�i�i�L�L���1�q�!�f�%�%�%�
�A�y�y�y�)�)�)�$�%�%���1��1�v��1�v�.�/�/�/�/�/r@c��d
d�}t|ddh���}t|gd���gd���t|gd�d�	��gd���dS)NrQc��||zSr7r�r�s  r>r�z2TestVectorize.test_signature_excluded.<locals>.foo�rr@�()->()r�)rkr+r�rrr#r1r�r=s   r>�test_signature_excludedz%TestVectorize.test_signature_excluded�s{��	�	�	�	�
�c�X���>�>�>���1�1�Y�Y�Y�<�<����3�3�3��1�1�Y�Y�Y�!�,�,�,�i�i�i�8�8�8�8�8r@c��td�ddg���}|gd���}t|jtjd����t	|gd���dS)Nc��|Sr7r�r�s r>r�z5TestVectorize.test_signature_otypes.<locals>.<lambda>�r�r@rtr�rkrr�)r4rrr8r	r{s   r>�test_signature_otypesz#TestVectorize.test_signature_otypes�sa���k�k�Z���L�L�L��
�A�i�i�i�L�L���Q�W�b�h�y�1�1�2�2�2��1�i�i�i�(�(�(�(�(r@c�F�ttjd���}ttd��5|ddg��ddd��n#1swxYwYtt
d��5|dd��ddd��n#1swxYwYtt
d��5|ddggd���ddd��n#1swxYwYttjd	���}ttd��5|dd��ddd��dS#1swxYwYdS)
Nz(n),(n)->(n)rjzwrong number of positionalrQrOzdoes not have enough dimensions�$inconsistent size for core dimensionr�r�)r4�operatorr:rrerdr4s  r>�test_signature_invalid_inputsz+TestVectorize.test_signature_invalid_inputs�s*���h�l�n�=�=�=��
 ��,H�
I�
I�	�	�
�A�q�!�f�I�I�I�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
 ��=�?�?�	�	�
�A�a��G�G�G�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�!��B�D�D�	!�	!�
�A�q�!�f�i�i�i� � � �	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!����	!�	!�	!�	!�
�h�l�h�7�7�7��
 ��,H�
I�
I�	�	�
�A�a��G�G�G�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	sG�A�A�A�+
B�B�B�$C�C�C�<
D�D�Dc���td�d���}ttd��5|gd���ddd��n#1swxYwYtd�d���}ttd��5|d	��ddd��n#1swxYwYtd
�d���}ttd��5|d	dg��ddd��dS#1swxYwYdS)
Nc��|dd�Sr�r�r�s r>r�z>TestVectorize.test_signature_invalid_outputs.<locals>.<lambda>�r�r@rtrjr�r�c��|Sr7r�r�s r>r�z>TestVectorize.test_signature_invalid_outputs.<locals>.<lambda>�r�r@ryzwrong number of outputsrQc�
�||fSr7r�r�s r>r�z>TestVectorize.test_signature_invalid_outputs.<locals>.<lambda>�rxr@r�rO)r4rrdr4s  r>�test_signature_invalid_outputsz,TestVectorize.test_signature_invalid_outputs�s����&�&�*�=�=�=��
 ��B�D�D�	�	�
�A�i�i�i�L�L�L�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�k�k�[�9�9�9��
 ��-F�
G�
G�	�	�
�A�a�D�D�D�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�&�&�(�;�;�;��
 ��-F�
G�
G�	�	�
�A�q�!�f�I�I�I�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s5�A�A�	A�4B�B�B�>C�C� Cc��tjd���}tjddgt���}t	t
d��5||��ddd��n#1swxYwYd|_t||��|��tjd�d�	��}t	t
d��5||��ddd��n#1swxYwYtjd
�dd���}t||��|��tjd�d
d���}t||��|��tjd�d
�	��}t||j��|j��tjd�dd���}t	t
d��5||��ddd��dS#1swxYwYdS)Nc��|Sr7r�r�s r>r�z5TestVectorize.test_size_zero_output.<locals>.<lambda>�rWr@rrZr"rr�c��|Sr7r�r�s r>r�z5TestVectorize.test_size_zero_output.<locals>.<lambda>�rWr@r�rjc��|Sr7r�r�s r>r�z5TestVectorize.test_size_zero_output.<locals>.<lambda>�rWr@r�c��|Sr7r�r�s r>r�z5TestVectorize.test_size_zero_output.<locals>.<lambda>�rWr@rtc��|Sr7r�r�s r>r�z5TestVectorize.test_size_zero_output.<locals>.<lambda>�rWr@c��|gSr7r�r�s r>r�z5TestVectorize.test_size_zero_output.<locals>.<lambda>�s��A�3�r@z()->(n)znew output dimensions)	r8r4rB�intrrdrr	r�ras   r>�test_size_zero_outputz#TestVectorize.test_size_zero_output�st���L���%�%���H�a��V�3�'�'�'��
 ��X�
6�
6�	�	�
�A�a�D�D�D�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�����1�1�Q�4�4��#�#�#��L����9�9�9��
 ��X�
6�
6�	�	�
�A�a�D�D�D�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�L�����E�E�E���1�1�Q�4�4��#�#�#��L���
�3�G�G�G���1�1�Q�4�4��#�#�#��L���
�;�;�;���1�1�Q�S�6�6�1�3�'�'�'��L���)�C�H�H�H��
 ��-D�
E�
E�	�	�
�A�a�D�D�D�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s6�A � A$�'A$�7C�C�C�#F<�<G�Gc�\�Gd�dtj��}tjgd�gd�gd�g���|��}tjgd�gd�gd�g���|��}tjtjd	�
��}|||��}t
t|��|��t
|gd�gd�gd
�g��tjd���}|||��}t
t|��|��t
|||z��dS)Nc��eZdZdS)�/TestVectorize.test_subclasses.<locals>.subclassNrr�r@r>rr��rr@r)r�r�r�rp)r�r�r�r�)r�r�r)r�r�r�z(m,m),(m)->(m)rj)r�r�r�)r�rr�)r�r�r�c��||zSr7r�r�s  r>r�z/TestVectorize.test_subclasses.<locals>.<lambda>�s
���1��r@)r8rr�rr4�matmulrr)rgrrCrG�matvecr��mults       r>rzTestVectorize.test_subclasses�sM��	�	�	�	�	�r�z�	�	�	�
�H�l�l�l�"�l�l�"�l�l�$�
%�
%�%)�T�(�^�^�	
�
�H�l�l�l�L�L�L�,�,�,�?�@�@�E�E�h�O�O����b�i�3C�D�D�D���F�1�a�L�L���T�!�W�W�h�'�'�'��Q����|�|�|�\�\�\�B�C�C�C��|�,�,�-�-���D��A�J�J���T�!�W�W�h�'�'�'��Q��A������r@N)&r�r�r�r�r�r�rrrrrrrr r$r.r5r8r>rCrIrTrYr^rbrgrlrprur|r~r�r�r�r�r�r�rr�r@r>r�r�Qs"������	,�	,�	,�	,�	,�	,�!�!�!�*�*�*�#�#�#�#�#�#�	#�	#�	#�
#�
#�
#�&�&�&�	)�	)�	)�#�#�#�#�#�#�"
=�
=�
=�	:�	:�	:�6�6�6�#�#�#�
%�
%�
%�.�.�.�	#�	#�	#����(�(�(�$�$�$� 6� 6� 6�D	,�	,�	,�&�&�&�2�2�2�,�,�,�8�8�8� 0�0�0�9�9�9�)�)�)�
�
�
�
�
�
����6����r@r�c���eZdZGd�d��Zej�ed���ej�ddej	fdg��d�����Z
d	S)
�	TestLeaksc�.�eZdZdZd�Zed���ZdS)�TestLeaks.Ar�c��dSrcr��rgr�s  r>�boundzTestLeaks.A.bound�r<r@c��dSrcr�)r�s r>�unboundzTestLeaks.A.unbound�s���1r@N)r�r�r��itersr��staticmethodr�r�r@r>�Ar��sC��������	�	�	�
�	�	�
��	�	�	r@r��Python lacks refcounts��reasonz
name, incrr�)r�rc���ddl}t|j|��}|���	t	j|��}t
|jj��D]f}|���}tj	t||��dd��|_
|�
tjd����}�gd}tt	j|��||z��t
d��D]}|�
���tt	j|��|��|���dS#|���wxYw)NrrQr�rZ)�gcr�r��disable�sys�getrefcountrfr�r8�
frompyfuncrpr9r�collect�enable)	rgr��incrr��A_func�refcountr�rhr�s	         r>�test_frompyfunc_leakszTestLeaks.test_frompyfunc_leakss%��	�	�	�	�����&�&��
�
�
����
	���v�.�.�H��4�6�<�(�(�
)�
)���F�F�H�H���m�G�A�t�$4�$4�a��;�;����c�c�"�)�B�-�-�(�(����A�����0�0�(�T�/�B�B�B��1�X�X�
�
���
�
���������0�0�(�;�;�;��I�I�K�K�K�K�K��B�I�I�K�K�K�K���s�DE�EN)r�r�r�r�r6r7�skipifrr8r�r�r�r@r>r�r��s����������������[���L�(�1I��J�J��[���\�
�a�g���,�����	��K�J�
��r@r�c��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
ej�d�
��d���ZdS)�TestDigitizec��tjdd��}tjdd��}tt||��tjd����dS)Nr$rZr�r��r8r9r	r�rgr��binss   r>�test_forwardzTestDigitize.test_forward#sL���I�b�!�����y��Q�����8�A�t�,�,�b�i��m�m�<�<�<�<�<r@c��tjddd��}tjddd��}tt||��tjd����dS)NrZr$r`r�r�r�r�s   r>�test_reversezTestDigitize.test_reverse(sP���I�a��R� � ���y��B��#�#���8�A�t�,�,�b�i��m�m�<�<�<�<�<r@c��td��}tj|���|���d��}ttjt||��dk����dS)Nr�r�rr8rar�rrr�r)rgr��bins   r>�test_randomzTestDigitize.test_random-s]����H�H���k�!�%�%�'�'�1�5�5�7�7�B�/�/�����x��3�'�'�1�,�-�-�.�.�.�.�.r@c��gd�}gd�}gd�}tt||��|��gd�}tt||d��|��dS)N)rQrZrMr�rwr�r)rQrZr�)rQrOrQrYrOrYr)rrQrQrOrOrYrT)r	r)rgr�r��default_answer�right_answers     r>�test_right_basiczTestDigitize.test_right_basic2sh��#�#�#���z�z��.�.�.���8�A�t�,�,�n�=�=�=�,�,�,���8�A�t�T�2�2�L�A�A�A�A�Ar@c��tjdd��}tjdd��}tt||d��tjd����dS)Nr$rZrMTr�r�r�s   r>�test_right_openzTestDigitize.test_right_open:sN���I�b�!�����y��Q�����8�A�t�T�2�2�B�I�b�M�M�B�B�B�B�Br@c��tjddd��}tjddd��}tt||d��tjd����dS)NrZr$r`rMTr�r�r�s   r>�test_right_open_reversez$TestDigitize.test_right_open_reverse?sR���I�a��R� � ���y��B��#�#���8�A�t�T�2�2�B�I�b�M�M�B�B�B�B�Br@c	��td��}tj|���|���d��}ttjt||d��dk����dS)Nr�Tr�r�s   r>�test_right_open_randomz#TestDigitize.test_right_open_randomDs_����H�H���{�1�5�5�7�7�A�E�E�G�G�R�0�0�����x��4��.�.�"�4�5�5�6�6�6�6�6r@c�2�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||��dS)N)r`rrQrOr�F)rrOrYrYT)rrrOrYr�)rYrOrr)rYrYrOrr�)rrrMrM)rrrrMr�)rQrQrrQ)r	rrrdr�s   r>�test_monotoniczTestDigitize.test_monotonicIs&���M�M���y�y���8�A�t�U�3�3�\�\�\�B�B�B��8�A�t�T�2�2�L�L�L�A�A�A��y�y���8�A�t�U�3�3�\�\�\�B�B�B��8�A�t�T�2�2�L�L�L�A�A�A��|�|���8�A�t�U�3�3�\�\�\�B�B�B��8�A�t�T�2�2�L�L�L�A�A�A��|�|���j�(�A�t�4�4�4��|�|���j�(�A�t�4�4�4�4�4r@c��gd�}gd�}ttt||��||}}ttt||��dS)N)rQrOy@�?r�)rrerr�s   r>�test_casting_errorzTestDigitize.test_casting_errorYsK���O�O���y�y���i��1�d�3�3�3���4���i��1�d�3�3�3�3�3r@c	��Gd�dtj��}tjd���|��}tjdd���|��}t	tt
||d��|����t	tt
||d��|����dS)Nc��eZdZdS)�(TestDigitize.test_return_type.<locals>.ANrr�r@r>r�r�brr@r�rZrQrYFT)r8rr9rrr�r)rgr�rhr�s    r>�test_return_typezTestDigitize.test_return_type`s���	�	�	�	�	��
�	�	�	��I�a�L�L���a� � ���I�a��O�O� � ��#�#���J�x��1�e�4�4�a�8�8�8�9�9�9��J�x��1�d�3�3�Q�7�7�7�8�8�8�8�8r@c�`�d}ttj||dz
|dzg��d��dS�NlrQ�rr8rr�s  r>�test_large_integers_increasingz+TestDigitize.test_large_integers_increasingis5�����R�[��Q��U�A��E�N�3�3�Q�7�7�7�7�7r@z8gh-11022: np.core.multiarray._monoticity loses precisionr�c�`�d}ttj||dz|dz
g��d��dSr�r�r�s  r>�test_large_integers_decreasingz+TestDigitize.test_large_integers_decreasingns7��
���R�[��Q��U�A��E�N�3�3�Q�7�7�7�7�7r@N)r�r�r�r�r�r�r�r�r�r�r�r�r�r�r6r7�xfailr�r�r@r>r�r�!s�������=�=�=�
=�=�=�
/�/�/�
B�B�B�C�C�C�
C�C�C�
7�7�7�
5�5�5� 4�4�4�9�9�9�8�8�8�
�[���I��K�K�8�8�K�K�8�8�8r@r�c��eZdZd�Zd�ZdS)�
TestUnwrapc��ttdddtjzzg��ddg��t	tjt
ttd��dz����tjk����dS)NrQrOr�ri)r	r2r8r�rr�rrr�s r>r�zTestUnwrap.test_simplexsl���6�1�a�!�b�e�)�m�"4�5�5��1�v�>�>�>����t�F�4��8�8�c�>�2�2�3�3�b�e�;�<�<�=�=�=�=�=r@c��ttddgd���ddg��ttjttt
d��dzd�����dk����tjgd���}tj|d��}tt|d���|��tjgd	���}tj|d
��}t|d
���}t|gd���t|d
d�
��}t|gd	���|j	|j	ksJ�dS)NrQi���periodrOr���)r�K���r)rr�r�r�ri��)rr�r�r�rr��)r��discont)
r	r2rr8r�rrr��modr)rg�
simple_seq�wrap_seq�
uneven_seq�wrap_uneven�
no_discont�
sm_disconts       r>�test_periodzTestUnwrap.test_period~s?���6�1�g�,�s�;�;�;�a��V�D�D�D����t�F�4��8�8�d�?�3�?�?�?�@�@�3�F�G�G�H�H�H��X�4�4�4�5�5�
��6�*�c�*�*���6�(�3�7�7�7��D�D�D��X�9�9�9�:�:�
��f�Z��-�-���K��4�4�4�
��:�'B�'B�'B�C�C�C��K��S�A�A�A�
��:�'B�'B�'B�C�C�C���;�#4�4�4�4�4�4�4r@N)r�r�r�r�r�r�r@r>r�r�vs2������>�>�>�5�5�5�5�5r@r�r�O�
AllInteger�Float�M)rrQr�c�r�eZdZdededdfd�Zdededdfd�Zdededdfd�Zdededdfd�Zdededdfd	�Z	dS)
�TestFilterwindowsrr�returnNc��tj||���d}t|��}|dkr
tj}n$tj|jtj��}|j|ksJ�t
|t|����|dkr$t|tjg����dS|dkr$t|tj	d����dSttj|d���dd��dS)	Nr"r�r�rQrr��@rM)r8r�r#rrrrr r	rer
r�rgrr�scalarr	�	ref_dtypes      r>�test_hanningzTestFilterwindows.test_hanning�s�����!�5�)�)�)�"�-���F�O�O���C�<�<��
�I�I���v�|�R�Z�@�@�I��w�)�#�#�#�#�	�Q��q�	�	�"�"�"��A�:�:��q�"�(�2�,�,�/�/�/�/�/�
�q�[�[��q�"�'�!�*�*�-�-�-�-�-����q�q� 1� 1� 1�5�!�<�<�<�<�<r@c��tj||���d}t|��}|dkr
tj}n$tj|jtj��}|j|ksJ�t
|t|����|dkr$t|tjg����dS|dkr$t|tj	d����dSttj|d���dd��dS)	Nr"r�r�rQrr�g�(\��@rM)r8r�r"rrrrr r	rer
rrs      r>�test_hammingzTestFilterwindows.test_hamming�s�����!�5�)�)�)�"�-���F�O�O���C�<�<��
�I�I���v�|�R�Z�@�@�I��w�)�#�#�#�#�	�Q��q�	�	�"�"�"��A�:�:��q�"�(�2�,�,�/�/�/�/�/�
�q�[�[��q�"�'�!�*�*�-�-�-�-�-����q�q� 1� 1� 1�6�1�=�=�=�=�=r@c��tj||���d}t|��}|dkr
tj}n$tj|jtj��}|j|ksJ�t
|t|����|dkr$t|tjg����dS|dkr$t|tj	d����dSttj|d���dd��dS)	Nr"r�r�rQrr�g�^)��@rM)r8r�rrrrrr r	rer
rrs      r>�
test_bartlettzTestFilterwindows.test_bartlett�������!�5�)�)�)�"�-���V�����C�<�<��
�I�I���v�|�R�Z�@�@�I��w�)�#�#�#�#�	�Q��q�	�	�"�"�"��A�:�:��q�"�(�2�,�,�/�/�/�/�/�
�q�[�[��q�"�'�!�*�*�-�-�-�-�-����q�q� 1� 1� 1�6�1�=�=�=�=�=r@c��tj||���d}t|��}|dkr
tj}n$tj|jtj��}|j|ksJ�t
|t|����|dkr$t|tjg����dS|dkr$t|tj	d����dSttj|d���dd��dS)	Nr"r�r�rQrr�g=
ףp=@rM)r8r�rrrrrr r	rer
rrs      r>�
test_blackmanzTestFilterwindows.test_blackman�rr@c��tj||���d}t|d��}|dkr
tj}n$tj|jtj��}|j|ksJ�t
|t|����|dkr$t|tjg����dS|dkr$t|tj	d����dSttj|d���dd��dS)	Nr"r�rr�rQr�r�rL)r8r�r'rrrrr r	rer
rrs      r>�test_kaiserzTestFilterwindows.test_kaiser�s�����!�5�)�)�)�"�-���6�1�����C�<�<��
�I�I���v�|�R�Z�@�@�I��w�)�#�#�#�#�	�Q��q�	�	�"�"�"��A�:�:��q�"�(�2�,�,�/�/�/�/�/�
�q�[�[��q�"�'�!�*�*�-�-�-�-�-����q�q� 1� 1� 1�2�r�:�:�:�:�:r@)
r�r�r��strr�r	rr
rrr�r@r>rr�s�������=�#�=�#�=�$�=�=�=�=�*>�#�>�#�>�$�>�>�>�>�*>�3�>�3�>�4�>�>�>�>�*>�3�>�3�>�4�>�>�>�>�*;��;��;��;�;�;�;�;�;r@rc� �eZdZd�Zd�Zd�ZdS)�	TestTrapzc���tjddd��}ttjd|dzz��tjdtjz��zd���}t
|dd��dS)	N���r�r�rlrO)rHrQry)r8r9r0r�r�r�r
)rgr�r�s   r>r�zTestTrapz.test_simplesf���I�c�2�r�"�"���"�&��q�A�v��&�&����R�U��);�);�;��D�D�D���A�q�!�$�$�$�$�$r@c�2�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�ddfz�d���}||ddd�dfz�d���}	||dddd�fz�d���}
t	||dd�ddfd�	��}t||��t	||ddd�dfd�	��}t||	��t	||dddd�fd�	��}t||
��t	||d�	��}t||��t	||d�	��}t||	��t	||d�	��}t||
��dS)
NrrQrYrOrwr^r`r�)r�r�)r8ra�	ones_likerr0r
)rgr�rr��wx�wy�wz�q�qx�qy�qzr�s            r>�	test_ndimzTestTrapz.test_ndim	s����K��1�a� � ���K��1�a� � ���K��1�b�!�!��
�\�!�_�_��!��q��t��
,��
�1�����
����
�2����!�����
�\�!�_�_��!��q��t��
,��
�1�����
����
�2����!�����
�\�!�_�_��!��q��t��
,��
�1�����
����
�2����!�����
�a�a�a��t�m��q��a�a�a����.��4��a�a�a�<��@���"�Q�Q�Q��d�]�#�#�
(�
(�a�
(�
0�
0���"�T�1�1�1�d�]�#�#�
(�
(�a�
(�
0�
0���"�T�4����]�#�#�
(�
(�a�
(�
0�
0��
�!�q����D�$��'�a�0�0�0���A�r�"�"�"��!�q��a�a�a����Q�/�/�/���A�r�"�"�"��!�q��t�A�A�A���Q�/�/�/���A�r�"�"�"�
�!�q�q�!�!�!���A�r�"�"�"��!�q�q�!�!�!���A�r�"�"�"��!�q�q�!�!�!���A�r�"�"�"�"�"r@c���tjd��}||z}|dk}tj�||���}d}t	t||��|��tj�||���}t	t||��|��tj�||���}t	t||��|��dS)NrZrOrg*@)r8r9rr�r
r0)rgr�rr�ymr��xms       r>r_zTestTrapz.test_masked.s���
�I�a�L�L��
��E���A�v��
�U�[�[���[�
&�
&�����E�"�a�L�L�!�,�,�,�
�U�[�[���[�
&�
&���E�"�b�M�M�1�-�-�-�
�U�[�[���[�
&�
&���E�!�R�L�L�!�,�,�,�,�,r@N)r�r�r�r�r!r_r�r@r>rrsB������%�%�%�##�##�##�J-�-�-�-�-r@rc��eZdZd�Zd�ZdS)�TestSincc���ttd��dk��ttjddd����}t	|t|��d��dS)NrrQr`riry)rr/r8rarr �rgr	s  r>r�zTestSinc.test_simpleAsS����Q���1��������R��C�(�(�)�)��!�!�V�A�Y�Y��2�2�2�2�2r@c��ddg}ttj|����}tt|����}tt	|����}t||��t||��dS)Nrrj)r/r8r�rrzr	)rgr�r�r�r�s     r>�test_array_likezTestSinc.test_array_likeGsh��
��H��
�"�(�1�+�+�
�
��
�$�q�'�'�]�]��
�%��(�(�^�^���2�r�"�"�"��2�r�"�"�"�"�"r@N)r�r�r�r�r*r�r@r>r&r&?s2������3�3�3�#�#�#�#�#r@r&c��eZdZd�ZdS)�
TestUniquec�,�tjgd���}ttjt	|��gd�k����tt	tjgd�����tjdg��k��gd�}ttjt	|��gd�k����tjgd���}ttjt	|��gd�k����dS)	N)	rMrYrOrQrQrOrYrMr)rrQrOrYrM)rQrQrQrQrQrQ)�widget�hamr�r�r�r/)r�r�r/r.)�@@r���?$@r�r0)r�r1r0r�)r8r�rr�r3r�s  r>r�zTestUnique.test_simpleRs����H�0�0�0�1�1�����v�a�y�y�O�O�O�3�4�4�5�5�5���r�x����0�0�1�1�R�X�q�c�]�]�B�C�C�C�9�9�9�����v�a�y�y�$C�$C�$C�C�D�D�E�E�E��H�:�:�:�;�;�����v�a�y�y�$A�$A�$A�A�B�B�C�C�C�C�Cr@N�r�r�r�r�r�r@r>r,r,Ps(������D�D�D�D�Dr@r,c��eZdZd�Zd�ZdS)�TestCheckFinitec��gd�}ddtjg}ddtjg}tj�|��tttjj|��tttjj|��dS)Nr�rQrO)r8�infr[�lib�asarray_chkfiniterrdr�s    r>r�zTestCheckFinite.test_simple^so���I�I��
��2�6�N��
��2�6�N��
�� � ��#�#�#��j�"�&�":�A�>�>�>��j�"�&�":�A�>�>�>�>�>r@c��gd�}tj�|dtj���}t	|jtjk��dS)Nr�r�)r�r)r8r7r8rrrrts  r>�test_dtype_orderz TestCheckFinite.test_dtype_orderfsF���I�I���F�$�$�Q�c���$�D�D�����2�:�%�&�&�&�&�&r@N)r�r�r�r�r:r�r@r>r4r4\s2������?�?�?�'�'�'�'�'r@r4c	��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�dejejejejg��d���ZdS)�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@��)r=r��p��]�4�?)r>r?r�)r�r=r>�?�'L�?���(��8�?���4V�}�?)r=r�r?���w�{���,H��5�?�jS�,
��?)r>r?r�������)h����?��5#A���?)r@rCrFr���t��o��BC��,�)rArDrGrIr��@��02v�?)rBrErHrJrKr�c�`�ttjgd�gd���ddgddgg��dS)Nr�)rQrrQr���)r
r8rr�s r>�test_non_arrayzTestCorrCoef.test_non_array�sD���B�K�	�	�	�9�9�9�=�=� �#�Y��r�
�3�	5�	5�	5�	5�	5r@c��t|j��}t||j��t	tjtj|��dk����t|j|j��}t||j	��t	tjtj|��dk����dSr1)
rr�r
rxrr8r�rbr�ry)rg�tgt1�tgt2s   r>r�zTestCorrCoef.test_simple�s����������D�$�)�,�,�,����r�v�d�|�|�s�*�+�+�,�,�,������'�'���D�$�)�,�,�,����r�v�d�|�|�s�*�+�+�,�,�,�,�,r@c�T�t��5}tjd��ttt
|jd���|�t��tt|jd���|j	��tt|j|j
d���|j��tt|jd���|j	��tt|j|j
d���|j��ddd��dS#1swxYwYdS)Nrsr`��ddofrY)rrv�simplefilterr�DeprecationWarningrr��filterr
rxr�ry�rg�sups  r>�	test_ddofzTestCorrCoef.test_ddof�sL��
�
 �
 �	M�C��!�(�+�+�+��+�X�t�v�B�G�G�G�G��J�J�)�*�*�*�����b� 9� 9� 9�4�9�E�E�E�������b� A� A� A�4�9�M�M�M�����a� 8� 8� 8�$�)�D�D�D�������a� @� @� @�$�)�L�L�L�	M�	M�	M�	M�	M�	M�	M�	M�	M�	M�	M�	M����	M�	M�	M�	M�	M�	Ms�DD�D!�$D!c	��t��5}tjd��ttt
|j|jdd��ttt
|jd���|�t��tt|jd���|j
��ddd��dS#1swxYwYdS)NrsrQr)�bias)rrvrUrrVrr�r�rWr
rxrXs  r>�	test_biaszTestCorrCoef.test_bias�s���
�
 �
 �	E�C��!�(�+�+�+��+�X�t�v�t�v�q�!�L�L�L��+�X�t�v�A�F�F�F�F��J�J�)�*�*�*�����a� 8� 8� 8�$�)�D�D�D�
	E�	E�	E�	E�	E�	E�	E�	E�	E�	E�	E�	E����	E�	E�	E�	E�	E�	Es�B"B>�>C�Cc��tjgd�gd�g��}t|��}tjddgddgg��}t||��t	tjtj|��dk����dS�Nr��rWy@r`r�r�rW)r8r�rr
rr�rb)rgr�r?r�s    r>�test_complexzTestCorrCoef.test_complex�s����H�i�i�i����.�/�/���q�k�k���h��T�
�S�"�I�.�/�/����S�!�!�!����r�v�c�{�{�c�)�*�*�+�+�+�+�+r@c���tjgd�g��}tjgd�g��}ttj||��tjddgddgg����dSr_)r8r�r
r�rgr�rs   r>�test_xyzTestCorrCoef.test_xy�se���H�i�i�i�[�!�!���H�l�l�l�^�$�$�����A�q�)�)�2�8�b�$�Z�#�r��4K�+L�+L�M�M�M�M�Mr@c	���tjd���5tjdt��t	tt
jg����tj��t	tt
jg���	dd����t
jg���	dd����t	tt
jg���	dd����t
jtjtjgtjtjgg����ddd��dS#1swxYwYdS�NTrqrsrrO)
rvrwrU�RuntimeWarningr	rr8r�r[rzr�s r>�
test_emptyzTestCorrCoef.test_empty�sm��
�
$�D�
1�
1�
1�	O�	O��!�(�N�;�;�;��x������5�5�r�v�>�>�>��x������(<�(<�Q��(B�(B�C�C�!�x��|�|�3�3�A�q�9�9�
;�
;�
;��x������(<�(<�Q��(B�(B�C�C�!�x�"�&�"�&�)9�B�F�B�F�;K�(L�M�M�
O�
O�
O�	O�	O�	O�	O�	O�	O�	O�	O�	O�	O�	O�	O����	O�	O�	O�	O�	O�	O��EE#�#E'�*E'c�L�ddgddgg}tjd���5t|��}ddd��n#1swxYwYt|tjddgddgg����ttjtj|��dk����dS)Ng0��.�++g}Ô%�I�T�raise)r�r�rM)r8�errstaterrr�rr�rb)rgr�r�s   r>�test_extremezTestCorrCoef.test_extreme�s����e�_�u�f�o�.��
�[�W�
%�
%�
%�	�	�����A�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�!�!�R�X��C�y�3��)�.D�%E�%E�F�F�F����r�v�a�y�y�C�'�(�(�)�)�)�)�)s
�:�>�>�	test_typec�v�|j�|��}t||���}||jksJ�dS�Nr")r�rrr)rgrn�cast_Ar?s    r>�test_corrcoef_dtypez TestCorrCoef.test_corrcoef_dtype�s@������y�)�)���v�Y�/�/�/���C�I�%�%�%�%�%�%r@N)r�r�r�r8r�r�r�rxryrNr�rZr]rardrhrmr6r7r8�half�single�double�
longdoublerrr�r@r>r<r<ms����������	-�	-�	-�	-�	-�	-�	,�	,�	,�	.�	/�	/�A�	���	,�	,�	,�	-�	-�	-�	,�	,�	,�	.�	/�	/�A��2�8�	%�	%�	%�	$�	$�	$�	&�	&�	&�	(�)�)�D��2�8�	I�	I�	I�	I�	I�	I�	K�	K�	K�	M�	M�	M�	J�	J�	J�	J�	J�	J�	L�M�M�D�5�5�5�-�-�-�
M�
M�
M�E�E�E�,�,�,�N�N�N�
O�O�O�*�*�*��[���[�2�7�B�I�r�y�"�-�*X�Y�Y�&�&�Z�Y�&�&�&r@r<c��eZdZejddgddgddgg��jZejddgddgg��Zejgd�d���Zejgd���Z	ejd	gdgdgdgdgd
gg��jZ
ejddgddgg��Zejd
ej
���Zejgd���Zejddgddgg��Zejd
��Zejgd���Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zej�dej ej!ej"ej#g��d���Z$dS) �TestCovrrOrQr�rM)r�r�r�)�ndmin)rQrMrQr�r�皙�����?g������ٿrYr")r�r�r�gUUUUUU�?gUUUUUU�)g&S��:�?g�o_��?g#�~j��?g���ZӼ�?g�Q�|�?c�T�tt|j��|j��dSr7)r
r�x1rxr�s r>rmzTestCov.test_basic�s"����D�G���d�i�0�0�0�0�0r@c�
�tjgd�gd�g��}tjddgddgg��}tt|��|��tt|tjd�����|��dS)Nr�r`r�r�rWrY��aweights)r8r�r
rre)rgr�r?s   r>razTestCov.test_complex�s{���H�i�i�i����.�/�/���h��T�
�S�"�I�.�/�/����A����$�$�$���A����
�
�3�3�3�S�9�9�9�9�9r@c���tjgd�g��}tjgd�g��}tt||��tjddgddgg����dSr_)r8r�r
rrcs   r>rdzTestCov.test_xy�sa���H�i�i�i�[�!�!���H�l�l�l�^�$�$����A�q�	�	�2�8�b�$�Z�#�r��,C�#D�#D�E�E�E�E�Er@c	���tjd���5tjdt��t	tt
jg����tj��t	tt
jg���	dd����t
jg���	dd����t	tt
jg���	dd����t
jtjtjgtjtjgg����ddd��dS#1swxYwYdSrf)
rvrwrUrgr	rr8r�r[rzr�s r>rhzTestCov.test_empty�sm��
�
$�D�
1�
1�
1�	O�	O��!�(�N�;�;�;��s�2�8�B�<�<�0�0�"�&�9�9�9��s�2�8�B�<�<�#7�#7��1�#=�#=�>�>�!�x��|�|�3�3�A�q�9�9�
;�
;�
;��s�2�8�B�<�<�#7�#7��1�#=�#=�>�>�!�x�"�&�"�&�)9�B�F�B�F�;K�(L�M�M�
O�
O�
O�	O�	O�	O�	O�	O�	O�	O�	O�	O�	O�	O�	O����	O�	O�	O�	O�	O�	Oric	�b�tjd���5tjdt��t	t|jd���tjtj	tj	gtj	tj	gg����ddd��dS#1swxYwYdS)NTrqrsrZrS)
rvrwrUrgr	rr|r8r�r6r�s r>�test_wrong_ddofzTestCov.test_wrong_ddof�s���
�
$�D�
1�
1�
1�	>�	>��!�(�N�;�;�;��s�4�7��3�3�3�!�x�"�&�2�6�'�):�+-�6�'�2�6�):�)<� =� =�
>�
>�
>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>����	>�	>�	>�	>�	>�	>s�BB$�$B(�+B(c��tt|j��t|jd�����tjgd���}tt|j|��t|j|d�����dS)NF)�rowvar)g+����?g4��@���?g��&S�?g�o_��?g�J�4�?)r
r�x3r8r��rgrs  r>�test_1D_rowvarzTestCov.test_1D_rowvar�sp����D�G���c�$�'�%�&@�&@�&@�A�A�A��H�=�=�=�>�>����D�G�Q����T�W�a��)F�)F�)F�G�G�G�G�Gr@c��tt|jd���tj|jd�����dS)NrQrS)r
rr�r8�varr�s r>�test_1D_variancezTestCov.test_1D_variance�s8����D�G�!�,�,�,�b�f�T�W�1�.E�.E�.E�F�F�F�F�Fr@c��tt|j|j���t|j����tt|j|j���|j��tt|j|j���|j��|jdz}ttt|j|���tjdtj
���}ttt|j|���tjdtj
���}ttt|j|���dtjdtj
���z}ttt|j|���dS)N)�fweightsrj�rOrYr"rOr`rY)r
rr^�frequencies�
x2_repeatsr|ry�unit_frequenciesrxrrer8rerd�RuntimeErrorrd)rg�nonintrps   r>�
test_fweightszTestCov.test_fweights�sI����D�G�d�.>�?�?�?��D�O�,�,�	.�	.�	.���D�G�d�.>�?�?�?��	�	#�	#�	#���D�G�d�.C�D�D�D��	�	#�	#�	#��!�C�'���i��d�g��?�?�?�?��G�F�"�'�*�*�*���l�C���1�=�=�=�=��G�A�R�W�%�%�%���l�C���1�=�=�=�=�����"�'�*�*�*�*���j�#�t�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|���dS)Nr~r�r�rOrMrY)r
rr|r�rz�unit_weightsrxr8rerr�rdr(s  r>�
test_aweightszTestCov.test_aweights	s����D�G�d�l�;�;�;�T�Y�G�G�G���D�G�c�D�L�.@�A�A�A��D�G�d�l�;�;�;�	=�	=�	=���D�G�d�.?�@�@�@�$�)�L�L�L��G�F�O�O���l�C���1�=�=�=�=��G�A�J�J���l�C���1�=�=�=�=��2�7�1�:�:����j�#�t�w��;�;�;�;�;�;r@c��tt|j|j|j���t|j����tt|j|j|j���|j��tt|j|j|j���|j	��tt|j|j|j
���|j��tt|j|jd|j
z���t|j|j
�����tt|j|j|j���|j	��dS)N)r�rr�r~)r
rr^r�r�r�r|ryr�rxr�rzr�s r>�test_unit_fweights_and_aweightsz'TestCov.test_unit_fweights_and_aweights	sz����D�G�d�.>�%)�%6�8�8�8��D�O�,�,�	.�	.�	.�	��D�G�d�.>�%)�%6�8�8�8��	�	#�	#�	#�	��D�G�d�.C�%)�%6�8�8�8��	�	#�	#�	#�	��D�G�d�.C�%)�\�3�3�3��	�	#�	#�	#�	��D�G�d�.C�%(�4�<�%7�9�9�9��D�G�d�l�;�;�;�	=�	=�	=�	��D�G�d�.C�%)�%6�8�8�8��	�	#�	#�	#�	#�	#r@rnc�v�|j�|��}t||���}||jksJ�dSrp)r|rrr)rgrn�cast_x1r?s    r>�test_cov_dtypezTestCov.test_cov_dtype+	s@���'�.�.��+�+���'��+�+�+���C�I�%�%�%�%�%�%r@N)%r�r�r�r8r�r�r|rxr^r�r�ryrerdr�r�rzr�r�rmrardrhr�r�r�r�r�r�r6r7r8rsrtrurvr�r�r@r>rxrx�s*������	���A�q�6�A�q�6�A�q�6�*�	+�	+�	-�B��2�8�b�#�Y��b�	�*�+�+�D�	���/�/�/��	+�	+�	+�B��"�(�9�9�9�%�%�K����C�5�3�%�#�����u�s�e�D�E�E�G�J��2�8�c�4�[�4��+�.�/�/�D��r�w�q���0�0�0���b�h����'�'�G��2�8�g�x�(�8�W�*=�>�?�?�D��2�7�1�:�:�L�	���:�:�:�	;�	;�B�1�1�1�:�:�:�F�F�F�
O�O�O�>�>�>�H�H�H�
G�G�G�<�<�<� 
<�
<�
<�#�#�#�(�[���[�2�7�B�I�r�y�"�-�*X�Y�Y�&�&�Z�Y�&�&�&r@rxc� �eZdZd�Zd�Zd�ZdS)�Test_I0c��ttd��tjd����tjgd���}tjgd���}tt|��|��tt|��|��tjddgddgd	d
gddgd
dgg��}tt|��tjddgddgddgddgddgg����tjdg��}t	|jd��t
tjdg��tjdg����dS)Nrjg�ǒ#�?)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�r1r�)r
r$r8r�rrDr	)rgr�rr��i0_0s     r>r�zTest_I0.test_simple4	si����s�G�G��H�'�(�(�	*�	*�	*�

�H�I�I�I�J�J���8�[�[�[�\�\���B�q�E�E�8�,�,�,��B��r�F�F�H�-�-�-��H�x��,�!�:�.�!�:�.�!�:�.�!�:�.�	0�
1�
1��
	��q�E�E��H�z�:�.�!�:�.�!�:�.�!�:�.�!�:�.�	0�
1�
1�	2�	2�	2��u�b�T�{�{���T�Z��&�&�&��2�5�"��;�;���"����7�7�7�7�7r@c�&��tjd���G�fd�d��}ttj|����|��sJ�tj���}tj|����}t||��dS)NrMc�$��eZdZ�jZd�ZdS)�*Test_I0.test_non_array.<locals>.array_likec��|Sr7r�)rgr�s  r>�__array_wrap__z9Test_I0.test_non_array.<locals>.array_like.__array_wrap__V	s���r@N)r�r�r��__array_interface__r�r�s�r>�
array_liker�S	s-�������"#�"7��
�
�
�
�
r@r�)r8r9r�rbr$r	)rgr�r�r?rhs    @r>rNzTest_I0.test_non_arrayP	s�����I�a�L�L��	�	�	�	�	�	�	�	�	�	��"�&�����.�.�
�;�;�;�;�;��e�A�h�h���e�J�J�L�L�!�!���3��$�$�$�$�$r@c��tjddg��}tjtd���5t|��}ddd��dS#1swxYwYdS)Nry�?@z#i0 not supported for complex valuesr�)r8r�r6r�rer$)rgrhr?s   r>razTest_I0.test_complex`	s����H�a��[�!�!��
�]�9�,Q�
R�
R�
R�	�	��Q�%�%�C�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�A�A�AN)r�r�r�r�rNrar�r@r>r�r�2	sA������8�8�8�8%�%�%� ����r@r�c��eZdZd�Zd�ZdS)�
TestKaiserc���ttjtdd������t	tdd��tjg����t	tdd��tjddg����t	tdd��tjgd�����t	tdd��tjgd	�����dS)
NrQr�rrO� ��oF�?rZ)r��vT�=�?r�r�r�gg���?)�����?��Y�J�?r�r�r�)rr8�isfiniter'r
r�r�s r>r�zTestKaiser.test_simpleh	s�����F�1�c�N�N�+�+�,�,�,��F�1�c�N�N��H�R�L�L�	*�	*�	*��F�1�c�N�N��H�j�*�%=�>�>�	@�	@�	@��F�1�c�N�N��H�&>�&>�&>�?�?�	@�	@�	@�	�F�1�g�.�.��H�&>�&>�&>�?�?�	@�	@�	@�	@�	@r@c�&�tdd��dS)NrYrM)r'r�s r>�
test_int_betazTestKaiser.test_int_betau	s���q�!�����r@N)r�r�r�r�r�r�r@r>r�r�f	s5������@�@�@�����r@r�c��eZdZd�ZdS)�	TestMsortc
��tjgd�gd�gd�g��}tjtd���5tt
|��tjgd�gd�gd�g����ddd��dS#1swxYwYdS)	N)��\��?�b��CQ�?�ה�s��?)�w�����?��kl��?�*dta��?)���ӯ��?�6H����?�ܘC��?zmsort is deprecatedr�)r�r�r�)r�r�r�)r�r�r�)r8r�r6�warnsrVr
r))rgr�s  r>r�zTestMsort.test_simple{	s���H�:�:�:�:�:�:�:�:�:�<�
=�
=���\�,�4I�
J�
J�
J�	B�	B���a�����>�>�>�>�>�>�>�>�>�@�A�A�
B�
B�
B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B����	B�	B�	B�	B�	B�	Bs�9A?�?B�BNr2r�r@r>r�r�y	s(������	B�	B�	B�	B�	Br@r�c�P�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
dS)
�TestMeshgridc
���tgd�gd���\}}t|tjgd�gd�gd�gd�g����t|tjgd�gd�gd�gd�g����dS)Nr��rMrZrxryr�)rZrZrZ)rxrxrx)ryryry�r(r	r8r��rg�X�Ys   r>r�zTestMeshgrid.test_simple�	s����)�)�)�\�\�\�2�2���A��1�b�h�	�	�	�(1�	�	�(1�	�	�(1�	�	�(3�4�4�	5�	5�	5�	�1�b�h�	�	�	�(1�	�	�(1�	�	�(1�	�	�(3�4�4�	5�	5�	5�	5�	5r@c�t�tgd���\}t|tjgd�����dS)Nr�r�)rgr�s  r>�test_single_inputzTestMeshgrid.test_single_input�	s9���|�|�|�$�$����1�b�h�|�|�|�4�4�5�5�5�5�5r@c�l�g}tgt|���tgt|ddi���dS)Nr�F)r	r(r�s  r>�
test_no_inputzTestMeshgrid.test_no_input�	s>�����2�x���/�/�/��2�x��:�E�:�:�;�;�;�;�;r@c	��gd�}gd�}t||d���\}}t|tjgd�gd�gd�g����t|tjgd�gd�gd�g����dd	g}t	t||��d
jdk��t	t||d���d
jdk��t	t|||��d
jd
k��t	t|||d���d
jdk��t
tt||d���dS)Nr�r��ij��indexingr�)rOrOrOrO)rYrYrYrYrwr<rrS�rYrM)rMrYrO)rYrMrO�notvalid)r(r	r8r�rrDrrd)rgr�rr�r�r�s      r>�
test_indexingzTestMeshgrid.test_indexing�	sn���I�I���L�L���!�Q��.�.�.���A��1�b�h����(4���(4���(6�7�7�	8�	8�	8�	�1�b�h����(4���(4���(6�7�7�	8�	8�	8�
��F�����A���q�!�'�6�1�2�2�2����A��-�-�-�a�0�6�&�@�A�A�A����A�q�!�!�!�$�*�i�7�8�8�8����A�q�4�0�0�0��3�9�Y�F�G�G�G��j�(�A�q�:�F�F�F�F�F�Fr@c	���tgd�gd�d���\}}t|tjgd�g����t|tjdgdgdgdgg����dS)	Nr�r�T��sparserMrZrxryr�r�s   r>�test_sparsezTestMeshgrid.test_sparse�	ss���)�)�)�\�\�\�$�?�?�?���A��1�b�h�	�	�	�{�3�3�4�4�4��1�b�h���a�S�1�#��s�';�<�<�=�=�=�=�=r@c�J�tttgd�gd�d���dS)Nr�r�r�)r)rrer(r�s r>�test_invalid_argumentsz#TestMeshgrid.test_invalid_arguments�	s8��	�i���i�i����t�	=�	=�	=�	=�	=�	=r@c�~�tjddtj���}tjddtj���}tj||��\}}t|j|jk��t|j|jk��tj||d���\}}t|j|jk��t|j|jk��tj||d���\}}t|j|jk��t|j|jk��dS)Nrr�r"r�T)r�r�)r8r9rrr(rr)rgr�rr�r�s     r>r�zTestMeshgrid.test_return_type�	s��
�I�a��2�:�.�.�.���I�b�"�B�J�/�/�/���{�1�Q�����1����1�7�"�#�#�#����1�7�"�#�#�#��{�1�Q�T�*�*�*���1����1�7�"�#�#�#����1�7�"�#�#�#��{�1�Q�t�,�,�,���1����1�7�"�#�#�#����1�7�"�#�#�#�#�#r@c��tjddg��}tjddg��}tj||dd���\}}d|ddd�f<t|ddd�fd��t|d	dd�f|��dS)
Nr�r�gffffff
@g������@FT)r�r�rrQ)r8r�r(r)rgr�r�r�rs     r>�test_writebackzTestMeshgrid.test_writeback�	s����H�c�3�Z� � ���H�c�3�Z� � ���{�1�a��D�9�9�9���1���!�Q�Q�Q�$���Q�q�!�!�!�t�W�a� � � ��Q�q�!�!�!�t�W�a� � � � � r@c�4�tjd�tdd��D���\}}}}}d}t|j|��t|j|��t|j|��t|j|��t|j|��dS)Nc3�"K�|]
}dg|zV��dS)rNr��r-r�s  r>r�z-TestMeshgrid.test_nd_shape.<locals>.<genexpr>�	s(����%C�%C�!�q�c�A�g�%C�%C�%C�%C�%C�%Cr@rQrx)rOrQrYrMrZ)r8r(rfrrD)rgrhr�r�r]rd�expected_shapes       r>�
test_nd_shapezTestMeshgrid.test_nd_shape�	s�����%C�%C�u�Q��{�{�%C�%C�%C�D�
��1�a��A�(���Q�W�n�-�-�-��Q�W�n�-�-�-��Q�W�n�-�-�-��Q�W�n�-�-�-��Q�W�n�-�-�-�-�-r@c���tjdgddggd���\}}}t|gd�ggd�gg��t|gd�ggd�gg��t|gd�ggd�gg��dS)NrrQrOrXr�r�rN�r8r(rr�s    r>�test_nd_valueszTestMeshgrid.test_nd_values�	s����+�q�c�A�q�6�9�9�9�5�5���1�a��Q�)�)�)��y�y�y�k�2�3�3�3��Q�)�)�)��y�y�y�k�2�3�3�3��Q�)�)�)��y�y�y�k�2�3�3�3�3�3r@c���tjdgddggd�d���\}}}t|gd�gd�gg��t|gd�gd	�gg��t|gd�gd�gg��dS)
NrrQrOrXr�r�r�r�rNr�r�s    r>�test_nd_indexingzTestMeshgrid.test_nd_indexing�	s����+�q�c�A�q�6�9�9�9�t�D�D�D���1�a��Q�)�)�)�Y�Y�Y�/�0�1�1�1��Q�)�)�)�Y�Y�Y�/�0�1�1�1��Q�)�)�)�Y�Y�Y�/�0�1�1�1�1�1r@N)r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r@r>r�r��	s�������	5�	5�	5�6�6�6�<�<�<�
G�G�G�(>�>�>�
=�=�=�$�$�$�0!�!�!�.�.�.�4�4�4�2�2�2�2�2r@r�c�D�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
S)�
TestPiecewisec	���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���dS)	NrTFrQc��dSr�r�r�s r>r�z+TestPiecewise.test_simple.<locals>.<lambda>
s���r@r`z1 or 2 functions are expectedr�)r*r	r8r�rrdr�s  r>r�zTestPiecewise.test_simple�	s����q�!�f�t�U�m�a�S�1�1���1�q�!�f�%�%�%�
�q�!�f��e�}�o��s�3�3���1�q�!�f�%�%�%�
�q�!�f�b�h��e�}�5�5��s�;�;���1�q�!�f�%�%�%�
�q�!�f�b�h��1�v�.�.���4�4���1�q�!�f�%�%�%�
�q�!�f�r�x��A��/�/�0�1�#�6�6���1�q�!�f�%�%�%��q�!�f��t�}�o���}�=�=���1�q�"�g�&�&�&��J�(G���1�v���
���	4�	4�	4��J�(G���1�v���
��	�	�	�	;�	;�	;�	;�	;r@c�`�tddgddgddggddg��}t|ddg��dS)NrQrOTFrYrM�r*r	r�s  r>�test_two_conditionsz!TestPiecewise.test_two_conditions
sB���q�!�f��e�}�u�d�m�<�q�!�f�E�E���1�q�!�f�%�%�%�%�%r@c�P�tdgd�gd���}t|d��dS)NrY)TFF)rMrOrrM)r*rr�s  r>�$test_scalar_domains_three_conditionsz2TestPiecewise.test_scalar_domains_three_conditions
s4���a�-�-�-�y�y�y�9�9���Q������r@c��tddgddgdg��}t|ddg��tddgddgddg��}t|ddg��dS)NrQrOTFrrYr�r�s  r>�test_defaultzTestPiecewise.test_default
sj���q�!�f�t�U�m�a�S�1�1���1�q�!�f�%�%�%�
�q�!�f�t�U�m�a��V�4�4���1�q�!�f�%�%�%�%�%r@c��tjd��}t||dkddg��}t|jdk��t|dk��d}t|ddgddg��}t|jdk��t|dk��t|gd�gd	���}t|d��dS)
NrYrMrrZTFrQr>r�)r8r�r*rr�r	rcs   r>r�zTestPiecewise.test_0d%
s����H�Q�K�K���a��Q���A��'�'�����!�������Q�����
���a�$����A��/�/�����!�������Q�����
�a�-�-�-�y�y�y�9�9���1�a� � � � � r@c	��d}t||dk|dkgddg��}t|d��d}t||dk|dk|dkz|dkggd���}t|d��ttdt||dk|dkgdg��ttdt||dk|dkggd	���dS)
NrYrMrrZr�rOz2 or 3 functions are expectedrQr�)r*rr	rrdrcs   r>�test_0d_comparisonz TestPiecewise.test_0d_comparison4
s���
���a�!�q�&�!�a�%��1�a�&�1�1���Q�����
���a�!�q�&�1�q�5�Q�!�V�"4�a�!�e�<�i�i�i�H�H���1�a� � � ��J�(G��q�1��6�1�q�5�/�A�3�	0�	0�	0��J�(G��q�1��6�1�q�5�/�<�<�<�	9�	9�	9�	9�	9r@c��tjd��}tj|dk��}t||gddg��}t|d��dS)NrYrQrO)r8r�r*r)rgr�r�rs    r>�test_0d_0d_conditionz"TestPiecewise.test_0d_0d_conditionC
sM���H�Q�K�K���H�Q��U�O�O���a�!��q�!�f�%�%���Q������r@c���tjgd�gd�g��}t||dk|dkggd���}t|tjgd�gd�g����dS)N)g�g��rl)rjrLrkrrOro)rMrMrM)r�r�r�)r8r�r*r	rcs   r>�test_multidimensional_extrafuncz-TestPiecewise.test_multidimensional_extrafuncI
s����H�(�(�(�%�o�o�'�
(�
(���a�!�a�%��a���*�*�*�5�5���1�b�h����(4���(6�7�7�	8�	8�	8�	8�	8r@c��Gd�dtj��}tjd���|��}t	||dk|dkggd���}tt
|��|��t|gd���dS)Nc��eZdZdS)�/TestPiecewise.test_subclasses.<locals>.subclassNrr�r@r>rr�Q
rr@rr�r�rM)rMr�r�)rMrMr�r�r�)r8rr9rr*rr)rgrr�r�s    r>rzTestPiecewise.test_subclassesP
s���	�	�	�	�	�r�z�	�	�	��I�b�M�M���x�(�(���a�!�B�$��1���}�}�}�5�5���T�!�W�W�h�'�'�'��Q�.�.�.�/�/�/�/�/r@N)r�r�r�r�r�r�r�r�r�r�r�rr�r@r>r�r��	s�������;�;�;�:&�&�&����&�&�&�
!�
!�
!�
9�
9�
9����8�8�8�0�0�0�0�0r@r�c���eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Ze
j�ed���d
���Ze
j�dddggdg��d���ZdS)�TestBincountc��tjtjd����}t|tjd����dS)NrM)r8�bincountr9r	rer�s  r>r�zTestBincount.test_simple[
s7���K��	�!���%�%���1�b�g�a�j�j�)�)�)�)�)r@c��tjtjgd�����}t|tjgd�����dS)N)rQrZrOrMrQ)rrOrQrrQrQ)r8r�r�r	r�s  r>�test_simple2zTestBincount.test_simple2_
sF���K������1�1�2�2���1�b�h�'9�'9�'9�:�:�;�;�;�;�;r@c��tjd��}tjgd���}tj||��}t	||��dS)NrM)皙�����?�333333�?rjr�)r8r9r�r�r	�rgr�r	rs    r>�test_simple_weightzTestBincount.test_simple_weightc
sL���I�a�L�L���H�)�)�)�*�*���K��1�����1�a� � � � � r@c���tjgd���}tjgd���}tj||��}t|tjgd�����dS)N�rQrOrMrZrO�rrrjr�r)rrrjrrjr��r8r�r�r	rs    r>�test_simple_weight2z TestBincount.test_simple_weight2i
sc���H�_�_�_�%�%���H�.�.�.�/�/���K��1�����1�b�h�'A�'A�'A�B�B�C�C�C�C�Cr@c��tjgd���}tj|d���}t|tjgd�����g}tj|d���}t|tjg����dS)N)rrQrrQrQrY��	minlength)rOrYrrr	rcs   r>�test_with_minlengthz TestBincount.test_with_minlengtho
s~���H�_�_�_�%�%���K��Q�'�'�'���1�b�h�y�y�y�1�1�2�2�2����K��Q�'�'�'���1�b�h�r�l�l�+�+�+�+�+r@c��tjgd���}tj|d���}t|tjgd�����tj|d���}t|tjgd�����dS)N)rrQrQrOrOrYrYrOr)rQrOrOrOrr	rcs   r>�)test_with_minlength_smaller_than_maxvaluez6TestBincount.test_with_minlength_smaller_than_maxvaluew
s����H�*�*�*�+�+���K��Q�'�'�'���1�b�h�|�|�|�4�4�5�5�5��K��Q�'�'�'���1�b�h�|�|�|�4�4�5�5�5�5�5r@c���tjgd���}tjgd���}tj||d��}t|tjgd�����dS)Nrrrw)rrrjrrjr�rrr	rs    r>�test_with_minlength_and_weightsz,TestBincount.test_with_minlength_and_weights~
se���H�_�_�_�%�%���H�.�.�.�/�/���K��1�a� � ���1�b�h�'G�'G�'G�H�H�I�I�I�I�Ir@c��tjgt���}tj|��}t	||��dSrp)r8r�r�r�r	rcs   r>rhzTestBincount.test_empty�
s9���H�R�s�#�#�#���K��N�N���1�a� � � � � r@c��tjgt���}tj|d���}t	|tjdt�����dS)Nr"rZr)r8r�r�r�r	rBrcs   r>�test_empty_with_minlengthz&TestBincount.test_empty_with_minlength�
sO���H�R�s�#�#�#���K��Q�'�'�'���1�b�h�q��4�4�4�5�5�5�5�5r@c�.��tjgt����ttd�fd���tt
d�fd���tjd���ttd�fd���tt
d�fd���dS)	Nr"z"'str' object cannot be interpretedc�0��tj�d���S�N�foobarr�r8r�r�s�r>r�z<TestBincount.test_with_incorrect_minlength.<locals>.<lambda>�
����B�K��X�$F�$F�$F�r@zmust not be negativec�0��tj�d���S�Nr`rrr�s�r>r�z<TestBincount.test_with_incorrect_minlength.<locals>.<lambda>�
����B�K��R�$@�$@�$@�r@rZc�0��tj�d���Srrr�s�r>r�z<TestBincount.test_with_incorrect_minlength.<locals>.<lambda>�
rr@c�0��tj�d���Srrr�s�r>r�z<TestBincount.test_with_incorrect_minlength.<locals>.<lambda>�
rr@)r8r�r�rrerdr9r�s @r>�test_with_incorrect_minlengthz*TestBincount.test_with_incorrect_minlength�
s�����H�R�s�#�#�#���I�@�F�F�F�F�	H�	H�	H�	�J�2�@�@�@�@�	B�	B�	B�
�I�a�L�L���I�@�F�F�F�F�	H�	H�	H�	�J�2�@�@�@�@�	B�	B�	B�	B�	Br@r�r�c�\�tjtjtj����}tjtjtj����}t
d��D]}tjgd����ttjtjtj����|��ttjtjtj����|��t
d��D]}tjgd�gd����ttjtjtj����|��ttjtjtj����|��dS)Nr�r�r�)	r�r�r8r�intprurfr�r)rg�
intp_refcount�double_refcount�js    r>�test_dtype_reference_leaksz'TestBincount.test_dtype_reference_leaks�
s6��������(9�(9�:�:�
��/�"�(�2�9�*=�*=�>�>���r���	#�	#�A��K�	�	�	�"�"�"�"��S�_�R�X�b�g�%6�%6�7�7��G�G�G��S�_�R�X�b�i�%8�%8�9�9�?�K�K�K��r���	.�	.�A��K�	�	�	�9�9�9�-�-�-�-��S�_�R�X�b�g�%6�%6�7�7��G�G�G��S�_�R�X�b�i�%8�%8�9�9�?�K�K�K�K�Kr@�valsrOc�0�tj|��}tt��5tj|��ddd��n#1swxYwYtt��5tj|��ddd��dS#1swxYwYdSr7)r8�asarrayrrdr�)rgr(�vals_arrs   r>�test_error_not_1dzTestBincount.test_error_not_1d�
s���:�d�#�#��
�:�
&�
&�	"�	"��K��!�!�!�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"�
�:�
&�
&�	�	��K�����	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s#�A
�
A�A�)B�B�BN)r�r�r�r�rrr
rrrrhrr!r6r7r�rr'r8r,r�r@r>r�r�Y
s$������*�*�*�<�<�<�!�!�!�D�D�D�,�,�,�6�6�6�J�J�J�!�!�!�
6�6�6�
B�B�B�"�[���L�(�1I��J�J�
L�
L�K�J�
L��[���V��1�v�h��]�3�3���4�3���r@r�c��eZdZd�Zd�Zd�Zd�Zd�Zej	d�d�d�d	�ggd
����d���Z
d
�Zd�Zd�Z
d�Zd�Zd�Zd�Zd�Zd�ZdS)�
TestInterpc�H�tttdgg��tttddgddg��tttdddgddgd���tttdggd���tttddgddgd���dS)NrrQrOr��h)rrdr&r�s r>�test_exceptionszTestInterp.test_exceptions�
s����j�&�!�R��4�4�4��j�&�!�a�S�1�a�&�9�9�9��j�&�!�a��V�a��V�A�F�F�F�F��j�&�!�R��C�@�@�@�@��j�&�!�a�S�1�a�&��E�E�E�E�E�Er@c���tjddd��}tjddd��}tjddd��}ttj|||��|��dS)NrrQrZro)r8rar
r&�rgr�r�x0s    r>rmzTestInterp.test_basic�
s_���K��1�a� � ���K��1�a� � ��
�[��A�r�
"�
"���B�I�b�!�Q�/�/��4�4�4�4�4r@c��tdd��D�]+}tj|tj���}tj|tj���}tjdd|dz
|gtj���}|ddd�}t
|||��}t
|||��}tjgd�t���}|ddd�}	t||��t||	��t
|||d���}t
|||d���}tjgd�t���}|ddd�}	t||��t||	��t
|||d	�
��}t
|||d	�
��}tjgd�t���}|ddd�}	t||��t||	��t
|||dd	���}t
|||dd	���}tjgd
�t���}|ddd�}	t||��t||	����-dS)NrQr�r"r`rr���left)rrQrQrQrO��right)rQrQrQrO)r7r9)rrQrQrO)	rfr8r9rurer�r&r�r)
rg�size�xp�yp�incpts�decpts�incres�decres�inctgt�dectgts
          r>�test_right_left_behaviorz#TestInterp.test_right_left_behavior�
sM���!�R�L�L� 	)� 	)�D���4�r�y�1�1�1�B����R�Y�/�/�/�B��X�r�1�d�Q�h��5�R�Y�G�G�G�F��D�D�b�D�\�F��F�B��+�+�F��F�B��+�+�F��X�l�l�l�%�8�8�8�F��D�D�b�D�\�F����(�(�(����(�(�(��F�B���3�3�3�F��F�B���3�3�3�F��X�l�l�l�%�8�8�8�F��D�D�b�D�\�F����(�(�(����(�(�(��F�B��!�4�4�4�F��F�B��!�4�4�4�F��X�l�l�l�%�8�8�8�F��D�D�b�D�\�F����(�(�(����(�(�(��F�B���!�<�<�<�F��F�B���!�<�<�<�F��X�l�l�l�%�8�8�8�F��D�D�b�D�\�F����(�(�(����(�(�(�(�A 	)� 	)r@c�6�tjddd��}tjddd��}d}ttj|||��|��d}ttj|||��|��tjd��}ttj|||��|��tjd��}ttj|||��|��tj}ttj|||��|��dS)NrrQrZr)r8rar
r&rrr[r3s    r>�test_scalar_interpolation_pointz*TestInterp.test_scalar_interpolation_point�
s����K��1�a� � ���K��1�a� � ��
���B�I�b�!�Q�/�/��4�4�4�
���B�I�b�!�Q�/�/��4�4�4�
�Z��^�^���B�I�b�!�Q�/�/��4�4�4�
�Z��^�^���B�I�b�!�Q�/�/��4�4�4�
�V���B�I�b�!�Q�/�/��4�4�4�4�4r@c�J�gd�}gd�}ddtjdg}ttj|||��ddtjtjdg��ddtjdg}ttj|||��ddtjtjdg��dS)N�rQrOrkrYrMr�rQrOrM)r8r6r
r&r[)rgr�r;�fps    r>� test_non_finite_behavior_exact_xz+TestInterp.test_non_finite_behavior_exact_x�
s�������
�\�\����B�F�A�
���B�I�a��R�0�0�1�a������2K�L�L�L���B�F�A�
���B�I�a��R�0�0�1�a������2K�L�L�L�L�Lr@c�*�tj|��Sr7)r8�float_r�s r>r�zTestInterp.<lambda>s��"�)�A�,�,�r@c�"�t|d��Src�rIr�s r>r�zTestInterp.<lambda>���-��1�%�%�r@c�"�td|��SrcrMr�s r>r�zTestInterp.<lambda>rNr@c�H�t|tj|d����S)NrW)rIr8�multiplyr�s r>r�zTestInterp.<lambda>s��-��2�;�q�"�#5�#5�6�6�r@)rFzcomplex-realzcomplex-imagzcomplex-both)�params�idsc��|jS)z( scale function used by the below tests )�param)rg�requests  r>�scz
TestInterp.scs���}�r@c
�v�ttjdtjdg|ddg����|tj����ttjddtjg|ddg����|tj����ttjdddg|tjdg����|tj����ttjdddg|dtjg����|tj����dS)z test that nans are propagated rjrQrr�N)rr8r&r[�rgrWs  r>�test_non_finite_any_nanz"TestInterp.test_non_finite_any_nans���R�Y�s�R�V�!�$4�b�b�q�b�9I�6J�6J�K�K�R�R�PR�PV�Z�Z�X�X�X��R�Y�s�!�R�V�$4�b�b�q�b�9I�6J�6J�K�K�R�R�PR�PV�Z�Z�X�X�X��R�Y�s�!�!�$4�b�b�"�&�b�9I�6J�6J�K�K�R�R�PR�PV�Z�Z�X�X�X��R�Y�s�!�!�$4�b�b�q�"�&�9I�6J�6J�K�K�R�R�PR�PV�Z�Z�X�X�X�X�Xr@c
���ttjdtjtj
g|ddg����|tj����ttjdddg|tjtj
g����|tj����ttjdddg|tj
tjg����|tj����ttjdtjtj
g|ddg����|d����dS)z2 Test that interp between opposite infs gives nan rjrr�rQN�rr8r&r6r[rYs  r>�test_non_finite_infzTestInterp.test_non_finite_infs/���R�Y�s�b�f�W�r�v�g�$6���!�"�;M�8N�8N�O�O�QS�QS�TV�TZ�Q[�Q[�\�\�\��R�Y�s�1�A�$6���R�V�G�b�f�W�;M�8N�8N�O�O�QS�QS�TV�TZ�Q[�Q[�\�\�\��R�Y�s�1�A�$6���R�V�G�b�f�W�;M�8N�8N�O�O�QS�QS�TV�TZ�Q[�Q[�\�\�\�	�R�Y�s�b�f�W�r�v�g�$6����"�;M�8N�8N�O�O�QS�QS�TV�QW�QW�X�X�X�X�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����dS)z@ Test that interp where both axes have a bound at inf gives nan rjrQr�rNr\rYs  r>�test_non_finite_half_inf_xfz&TestInterp.test_non_finite_half_inf_xf#sX���R�Y�s�b�f�W�A�$6���R�V�G�"�;M�8N�8N�O�O�QS�QS�TV�TZ�Q[�Q[�\�\�\��R�Y�s�b�f�W�A�$6���R�V�G�"�;M�8N�8N�O�O�QS�QS�TV�TZ�Q[�Q[�\�\�\��R�Y�s�b�f�W�A�$6���!�b�f�W�;M�8N�8N�O�O�QS�QS�TV�TZ�Q[�Q[�\�\�\��R�Y�s�b�f�W�A�$6���!�b�f�W�;M�8N�8N�O�O�QS�QS�TV�TZ�Q[�Q[�\�\�\��R�Y�s�1�r�v�g�$6���R�V�G�"�;M�8N�8N�O�O�QS�QS�TV�TZ�Q[�Q[�\�\�\��R�Y�s�1�r�v�g�$6���R�V�G�"�;M�8N�8N�O�O�QS�QS�TV�TZ�Q[�Q[�\�\�\��R�Y�s�1�r�v�g�$6���!�b�f�W�;M�8N�8N�O�O�QS�QS�TV�TZ�Q[�Q[�\�\�\��R�Y�s�1�r�v�g�$6���!�b�f�W�;M�8N�8N�O�O�QS�QS�TV�TZ�Q[�Q[�\�\�\�\�\r@c
�Z�ttjdtjtjg|ddg����|d����ttjdtjdg|ddg����|d����ttjddtj
g|ddg����|d����ttjdtj
tj
g|ddg����|d����dS)z1 Test interp where the x axis has a bound at inf rjrr�rQN�rr8r&r6rYs  r>�test_non_finite_half_inf_xz%TestInterp.test_non_finite_half_inf_x.s����R�Y�s�b�f�W�r�v�g�$6���A�r�7���D�D�b�b��f�f�M�M�M��R�Y�s�b�f�W�a�$6���A�r�7���D�D�b�b��f�f�M�M�M��R�Y�s�1�r�v�g�$6���A�r�7���D�D�b�b��e�e�L�L�L��R�Y�s�b�f�W�r�v�g�$6���A�r�7���D�D�b�b��e�e�L�L�L�L�Lr@c
���ttjdddg|dtjg����|tj����ttjdddg|dtj
g����|tj
����ttjdddg|tjdg����|tj����ttjdddg|tj
dg����|tj
����ttjdddg|tjtjg����|tj����ttjdddg|tj
tj
g����|tj
����dS)z1 Test interp where the f axis has a bound at inf rjrrQr�NrarYs  r>�test_non_finite_half_inf_fz%TestInterp.test_non_finite_half_inf_f5s����R�Y�s�Q��F�B�B�a�"�&��/A�,B�,B�C�C�R�R����[�[�Q�Q�Q��R�Y�s�Q��F�B�B�a�"�&��/A�,B�,B�C�C�R�R����[�[�Q�Q�Q��R�Y�s�Q��F�B�B����b�/A�,B�,B�C�C�R�R����[�[�Q�Q�Q��R�Y�s�Q��F�B�B����b�/A�,B�,B�C�C�R�R����[�[�Q�Q�Q��R�Y�s�Q��F�B�B����"�&��/A�,B�,B�C�C�R�R����[�[�Q�Q�Q��R�Y�s�Q��F�B�B����"�&��/A�,B�,B�C�C�R�R����[�[�Q�Q�Q�Q�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���|��dS)NrrQrZrWrr`�@@r6r�r8rGr��@�?rMy�?�iL���iV���iG����rr�rim��iB���i^i����)�@�?y$@@�@@y@@)y@�?rly�!@�?y@�?rmy
@
@y@@y@@r0r�)r8rar
r&r6)	rgr�rr4�y0r7r9r;rHs	         r>�test_complex_interpzTestInterp.test_complex_interp>s����K��1�a� � ���K��1�a� � �A���A�q�!�(<�(<�$<�d�#B�B��
��
�1�R�4��+�
���B�I�b�!�Q�/�/��4�4�4�
�����B�I�b�!�Q�T�:�:�:�D�A�A�A�
�����B�I�b�!�Q�e�<�<�<�e�D�D�D�����
�\�\����r�v�q�
!��
��b�f�T�k�2�6�1�-���B�I�a��R�0�0�!�4�4�4�4�4�4��
#�
#�
#��
(�
(�
(��
#�
#�
#���B�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����dS)NrrQrZrr�)rQr`rQrrMr�rj)	r8rar�r
r&rrr�r)rgr�rr4r;rHr
s       r>�)test_zero_dimensional_interpolation_pointz4TestInterp.test_zero_dimensional_interpolation_pointZs���K��1�a� � ���K��1�a� � ��
�X�b�\�\���B�I�b�!�Q�/�/��4�4�4�
�X�i�i�i�
 �
 ��
�X�j�j�j�
!�
!����2�8�A�;�;��B�/�/���V�Q�����
�6�2�:�.�.�/�/�/���2�8�C�=�=�"�b��;�;�;���V�S�!�!�!��
�6�2�:�.�.�/�/�/�/�/r@c��tjddd��}tj|��}ttjtj||��d��dS)Nrr�g-C��6?r�)r8r9�sinr
r&r�)rgr;rHs   r>�test_if_len_x_is_smallz!TestInterp.test_if_len_x_is_smallksH��
�Y�q�"�f�
%�
%��
�V�B�Z�Z���B�I�b�e�R��4�4�c�:�:�:�:�:r@c�f�gd�}gd�}gd�}gd�}ttj|||d���|��tj|d����d	d
��}tj|d����d	d
��}ttj|||d���|��dS)Nrhrj)rZr�rYrM)g@r���!@g@r�g
@�@g@r0r�r�r�rOr`rB)r
r8r&r�rz)rgr�r;rHrs     r>r�zTestInterp.test_periodps���4�4�4��
#�
#�
#��
�]�]��6�6�6���B�I�a��R��<�<�<�a�@�@�@��H�Q�c�"�"�"�*�*�1�b�1�1���H�Q�c�"�"�"�*�*�1�b�1�1���B�I�a��R��<�<�<�a�@�@�@�@�@r@N)r�r�r�r1rmrCrErIr6�fixturerWrZr]r_rbrdrorqrtr�r�r@r>r.r.�
sa������F�F�F�5�5�5�$)�$)�$)�L5�5�5�M�M�M��V�^���%�%�%�%�6�6�	�
���
�
�
���
�
��Y�Y�Y�Y�Y�Y�	]�	]�	]�M�M�M�R�R�R�A�A�A�80�0�0�";�;�;�
A�A�A�A�Ar@r.c�H�eZdZd�Zd�Zd�Zd�Zej�	de
jd��d���Zd�e
jd	D��e
j
e
j
fe
je
jfe
je
jfe
je
jfe
je
jfe
je
jfe
je
jfe
jd
��e
jfgzZej�	ddge��ej�	d
dggd���d�����Ze
jd	e
jdzd
zZej�	de��d���Zej�	de��d���Zej�	de��d���Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d�Z"d�Z#d�Z$d�Z%d�Z&d �Z'd!�Z(ej�	d"d#d$d#gg��ej�	d%gd&��'��d(�����Z)d)�Z*d*�Z+d+�Z,d,�Z-d-S).�TestPercentilec���tjd��dz}ttj|d��d��ttj|d��d��ttj|d��d��tj|d	<ttj|d��tj��ttj|dd
���tj��dS)Nrwrjrr�rirwror�rQ�nearest��method)r8r9r�
percentiler[r�s  r>rmzTestPercentile.test_basic}s����I�a�L�L�3����R�]�1�a�(�(�"�-�-�-��R�]�1�c�*�*�C�0�0�0��R�]�1�b�)�)�4�0�0�0��v��!���R�]�1�a�(�(�"�&�1�1�1��R�]�1�a�	�:�:�:�B�F�C�C�C�C�Cr@c	�x�d�td��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	|tjtdd��g����t	t|��tj��dS)	Nc�.�g|]}t|d����S�rOrr�s  r>r.z0TestPercentile.test_fraction.<locals>.<listcomp>�� ��.�.�.��X�a��^�^�.�.�.r@rwrriryrOrorM)rfr8rrrrr�r)rgr�r(s   r>�
test_fractionzTestPercentile.test_fraction�sD��.�.�U�1�X�X�.�.�.���M�!�X�a�[�[�)�)���Q�����$�$�$��T�!�W�W�h�'�'�'��M�!�X�c�]�]�+�+���Q���A���'�'�'��T�!�W�W�h�'�'�'��M�!�X�b�\�\�*�*���Q���A���'�'�'��T�!�W�W�h�'�'�'��M�!�h�r�l�l�^�,�,���Q���(�1�a�.�.�!1�2�2�3�3�3��T�!�W�W�b�j�)�)�)�)�)r@c���tjd��}tj|dddd��tj|ddddd��tjd��}tj|dd|dd��dS)NrZF�linearr1)r8rer)rgr]�os   r>�test_apizTestPercentile.test_api�sn���G�A�J�J��
�
�a��D�$��.�.�.�
�
�a��D�$��x�8�8�8��G�D�M�M��
�
�a��D�!�U�H�5�5�5�5�5r@c��tjgd�gd�gd�gd�gd�g��}ttj|dd���gd���dS)Nr�)rMrMrYrorr�)r8r�r	rr�s  r>�test_2DzTestPercentile.test_2D�sg���H�i�i�i��i�i��i�i��i�i��i�i�	!�
"�
"��
	�2�=��B�Q�7�7�7����C�C�C�C�Cr@r�AllFloatc�&�tjdtjdddg|���}tj|dd���}tj�|tj��tj�|j|j��dS)Nr���A@�D@�I@r"r�r})r8r*�NANr�testingrr)rgrr�r?s    r>�test_linear_nan_1Dz!TestPercentile.test_linear_nan_1D�s����j�$����d�D�9��G�G�G���m��������	�
����R�V�,�,�,�
�
����	�3�9�5�5�5�5�5r@c�*�g|]}|tjf��Sr�)r8r)r-�int_types  r>r.zTestPercentile.<listcomp>�s/�����"� ���,���r@r�r��input_dtype�expected_dtyper~r)	)�inverted_cdfr�)�averaged_inverted_cdf��;@)�closest_observationr�)�interpolated_inverted_cdfr�)�hazenr�)�weibull�)r�r�)�median_unbiasedr�)�normal_unbiasedg ;@c�"�tj|��}tj��dkrtj|tj��}tjgd�|���}tj|d|���}tj�||�	|��d��|dvr�|dkrCtj�
tj|��jtj��dStj�
tj|��jtj|����dStj�
tj|��jtj|����dS)	N�legacy)r�g4@r�r�r�r"r�r}r�)r�r�r�)r8r�_get_promotion_state�
promote_typesrr*rr�r
rr)rgr~rr�r�r�r
s       r>�test_linear_interpolationz(TestPercentile.test_linear_interpolation�sc��"��.�1�1��
�"�$�$��0�0��-�n�b�j�I�I�N��j�7�7�7�{�K�K�K����s�D��8�8�8��
�
�&�&��N�'�'��1�1�2�	7�	7�	7��<�<�<��c�!�!��
�'�'��
�6�(:�(:�(@�"�*�M�M�M�M�M��
�'�'��
�6�(:�(:�(@�(*���(=�(=�?�?�?�?�?�
�J�#�#�B�J�v�$6�$6�$<�$&�H�^�$<�$<�
>�
>�
>�
>�
>r@c���ttjtjd|���dd���d��ttjtjd|���dd���d��dS)	Nr�r"ro�lowerr}rM�higherrZ�rr8rr9�rgrs  r>�test_lower_higherz TestPercentile.test_lower_higher�s����R�]�2�9�R�u�#=�#=�#=�r�*1�3�3�3�45�	7�	7�	7��R�]�2�9�R�u�#=�#=�#=�r�*2�4�4�4�56�	8�	8�	8�	8�	8r@c���ttjtjd|���dd���d��ttjtjd|���dzd	d���d
��ttjtjd|���dd���d��ttjtjd|���d	d���d
��dS)
Nr�r"�3�midpointr}rr<rQrorZr��@r�r�s  r>�
test_midpointzTestPercentile.test_midpoint�s	���R�]�2�9�R�u�#=�#=�#=�r�*4�6�6�6�7:�	<�	<�	<��R�]�2�9�Q�e�#<�#<�#<�q�#@�"�*4�6�6�6�78�	:�	:�	:��R�]�2�9�R�u�#=�#=�#=�r�*4�6�6�6�7:�	<�	<�	<��R�]�2�9�R�u�#=�#=�#=�r�*4�6�6�6�78�	:�	:�	:�	:�	:r@c���ttjtjd|���dd���d��ttjtjd|���dd���d��dS)	Nr�r"r�r|r}rZ�1rMr�r�s  r>�test_nearestzTestPercentile.test_nearest�s����R�]�2�9�R�u�#=�#=�#=�r�*3�5�5�5�67�	9�	9�	9��R�]�2�9�R�u�#=�#=�#=�r�*3�5�5�5�67�	9�	9�	9�	9�	9r@c�`�tj�d��}tj|d��}tj�||�����tj|d��}tj�||�����dS)NrZrir)r8rcrrr�rrr�)rgr�r
s   r>�'test_linear_interpolation_extrapolationz6TestPercentile.test_linear_interpolation_extrapolation�s}���i�n�n�Q������s�C�(�(��
�
�������	�	�2�2�2���s�A�&�&��
�
�������	�	�2�2�2�2�2r@c��tjd��dz}ttj|gd���gd���dS)Nrwrj)rriro)rrwr�)r8r9rrr�s  r>�
test_sequencezTestPercentile.test_sequences>���I�a�L�L�3����R�]�1�l�l�l�3�3�^�^�^�D�D�D�D�Dr@c�|�tjd���dd��}ttj|d��gd���gd�gd�gd�g}ttj|dd	�
��|��gd�gd�gd
�g}ttj|dd�
��tj|��j��tjd���dddd��}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��dS)NrRrYrM)rKrori)g@r�rJ)rOrYrMrZr�)rwr<r�r�rr�)��?rLrY)�@r�ry)rvr�r�rQr0rZrx�rKror�)rKror��rY)rOrMrZrx)rOrYrZrxrO)rOrYrMrx)rYrYrZrxr�r}�r�r~)r8r9rzrrr�r�rD)rgr��r0r�s    r>r�zTestPercentile.test_axissa���I�b�M�M�!�!�!�Q�'�'���R�]�1�m�4�4�6G�6G�6G�H�H�H��l�l�L�L�L�.�.�.�
9���R�]�1�m�!�<�<�<�b�A�A�A��n�n�n�n�n�o�o�o�
>���R�]�1�m�!�<�<�<�b�h�r�l�l�n�M�M�M�
�I�m�$�$�,�,�Q��1�a�8�8���R�]�1�h�/�/�5�t�<�<�<��R�]�1�l�3�3�9�4�@�@�@��R�]�1�h�Q�7�7�7�=�|�L�L�L��R�]�1�h�Q�7�7�7�=�|�L�L�L��R�]�1�h�Q�7�7�7�=�|�L�L�L��R�]�1�h�Q�7�7�7�=�|�L�L�L���M�!�\��2�2�2�8�,�	H�	H�	H��R�]�1�h�*2�4�4�4�49�4�	A�	A�	A��R�]�1�l�*2�4�4�4�49�4�	A�	A�	A��R�]�1�h�Q�*2�4�4�4�49�<�	I�	I�	I��R�]�1�h�Q�*2�4�4�4�49�<�	I�	I�	I��R�]�1�h�Q�*2�4�4�4�49�<�	I�	I�	I��R�]�1�h�Q�*2�4�4�4�49�<�	I�	I�	I��R�]�1�l��*2�4�4�4�49�<�	I�	I�	I�	I�	Ir@c��tjd���dd��}ttj|d��d��ttjtj|d������tjgd���}ttj|dd���|��ttj|dd���j|j��tjgd	���}ttj|dd
���|��ttj|dd
���j|j��tj
d
��}ttj|d|���d��t|d��tj
d��}ttj|dd|���|��t||��tj
d��}ttj|dd
|���|��t||��tjd���dd��}ttj|dd
���d��ttjtj|d������tjgd���}tj|dd
d���}t||��t|j|j��tjgd���}tj|dd
d
���}t||��t|j|j��tj
d|j���}tj|dd
|���}t|d��t|d��tj
d|j���}tj|dd
d|���}t||��t||��tj
d|j���}tj|dd
d
|���}t||��t||��dS)NrRrYrMror��r�r�rr�rr��rLr�r�rQ�r��r�r�r�r}r�)r~r�)r�r�r�r�r"�r~r�rZ�r~r�r�)r8r9rzrrr�isscalarr�rDr
�emptyr)rgr�r�r�r��c0�c1r�s        r>�
test_scalar_qzTestPercentile.test_scalar_q/s����I�b�M�M�!�!�!�Q�'�'���R�]�1�b�)�)�3�/�/�/����B�M�!�R�0�0�1�1�2�2�2�
�X�)�)�)�
*�
*���R�]�1�b�q�1�1�1�2�6�6�6��R�]�1�b�q�1�1�1�7���B�B�B�
�X�'�'�'�
(�
(���B�M�!�R�a�8�8�8�"�=�=�=��R�]�1�b�q�1�1�1�7���B�B�B��h�q�k�k���R�]�1�b�c�2�2�2�C�8�8�8��S�#�����h�q�k�k���R�]�1�b�q�c�:�:�:�B�?�?�?��S�"�����h�q�k�k���R�]�1�b�q�c�:�:�:�B�?�?�?��S�"����
�I�b�M�M�!�!�!�Q�'�'���R�]�1�b��9�9�9�2�>�>�>����B�M�!�R�0�0�1�1�2�2�2�
�X�)�)�)�
*�
*��
�]�1�b��q�
9�
9�
9���R������R�X�r�x�(�(�(�
�X�n�n�n�
%�
%��
�]�1�b��q�
9�
9�
9���B��#�#�#��R�X�r�x�(�(�(��h�r���)�)�)���M�!�R��S�9�9�9���Q������S�!�����h�q���(�(�(���M�!�R��a�S�A�A�A���Q������S�"�����h�q���(�(�(���M�!�R��a�S�A�A�A���Q������S�"�����r@c
���tttjddgdd���tttjdgd��tttjdgd��tttjdgt	td����dgz��tttjdgt	td����d	gz��dS)
NrQrO�8rr}�er`ror�)rrdr8rrrfr�s r>�test_exceptionzTestPercentile.test_exception_s����j�"�-�!�Q���%�	'�	'�	'�	'��j�"�-�!��c�:�:�:��j�"�-�!��b�9�9�9��j�"�-�!��d�5��9�9�o�o���6M�N�N�N��j�"�-�!��d�5��9�9�o�o���6N�O�O�O�O�Or@c�P�ttjgd�d��d��dS)Nr�rrQ)rr8rr�s r>�test_percentile_listz#TestPercentile.test_percentile_listgs(���R�]�9�9�9�a�0�0�!�4�4�4�4�4r@c���tjgd���}tjd��}d}tj|||���t	tj||��|��tjgd�gd�g��}tjd��}tj||d|���t	tj||d���|��tjd	��}tj||d
|���t	tj||d
���|��tjd���dd
��}tjgd�gd�g��}tjd��}t	tj|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	||��dS)Nr�r�r�r�rrr�r��rYrOrQrRrYrM)r�r�r�r�r�)rOrMr�)r�r�rvr�r��rrQrOrYr�r"r�r�)rrMrw)rQrZr<)	r8r�rBrrr9rzr�r)rgr�rr(r�r�r�r�s        r>�test_percentile_outz"TestPercentile.test_percentile_outjs����H�Y�Y�Y�����H�T�N�N����
�
�a���"�"�"�"��R�]�1�a�(�(�!�,�,�,��H�i�i�i��i�i�!�
"�
"��
�H�V����
�
�a����*�*�*�*��R�]�1�a�a�0�0�0�!�4�4�4��H�V����
�
�a����*�*�*�*��R�]�1�a�a�0�0�0�!�4�4�4��I�b�M�M�!�!�!�Q�'�'��
�X�)�)�)�+;�+;�+;�<�
=�
=���h�v�����R�]�1�h�Q�C�@�@�@�"�E�E�E��S�"����
�X�+�+�+�->�->�->�?�
@�
@���h�v�����R�]�1�h�Q�C�@�@�@�"�E�E�E��S�"�����X�~�~�~�|�|�|�4�
5�
5���h�v�Q�W�-�-�-���M�!�X�g�A�3�G�G�G���Q������S�"����
�X�{�{�{�K�K�K�0�
1�
1���h�v�Q�W�-�-�-���M�!�X�g�A�3�G�G�G���Q������S�"�����r@c	��tjd���dddd��}ttj|dd���jd��ttj|dd���jd	��ttj|dd���jd
��ttj|dd���jd��ttj|dd
���jd��ttj|dd���jd
��ttj|dd���jd	��ttj|dd���jd��ttj|ddd���jd
��ttj|ddd���jd
��ttjtj|ddgd�����jd��ttjtj|ddgd�����jd��ttjtj|ddgd�����jd��ttjtj|ddgd�����jd��dS)Nr�r�rQrOrorr�)rQrOrQ)r�rOrQ)r�rQrQrY)r�rQrOr`rWr]r}r�r�r�)rOrQrOrQ)rOr�rOrQ)rOr�rQrQ)rOr�rQrO)r8r9rzr	rrDr��rgr]s  r>�test_percentile_empty_dimz(TestPercentile.test_percentile_empty_dim�s����I�f���%�%�b�!�Q��2�2���2�=��B�Q�7�7�7�=�y�I�I�I��2�=��B�Q�7�7�7�=�z�J�J�J��2�=��B�Q�7�7�7�=�z�J�J�J��2�=��B�Q�7�7�7�=�z�J�J�J��2�=��B�R�8�8�8�>�
�K�K�K��2�=��B�R�8�8�8�>�
�K�K�K��2�=��B�R�8�8�8�>�
�K�K�K��2�=��B�R�8�8�8�>�	�J�J�J��2�=��B�Q�0:�<�<�<�<A�%�	'�	'�	'�	�2�=��B�R�0:�<�<�<�<A�%�	'�	'�	'�	�2�8�B�M�!�b�"�X�A�$F�$F�$F�G�G�M�'�	)�	)�	)��2�8�B�M�!�b�"�X�A�$F�$F�$F�G�G�M�(�	*�	*�	*��2�8�B�M�!�b�"�X�A�$F�$F�$F�G�G�M�(�	*�	*�	*��2�8�B�M�!�b�"�X�A�$F�$F�$F�G�G�M�(�	*�	*�	*�	*�	*r@c�J�tjgd���}tj|dgd���t|tjgd�����tjgd���}tj|dg��t|tjgd�����dS)N�rOrYrMrQroF��overwrite_input�r8r�rrrts  r>�test_percentile_no_overwritez+TestPercentile.test_percentile_no_overwrite�s����H�\�\�\�"�"��
�
�a�"��u�5�5�5�5��Q������.�.�/�/�/��H�\�\�\�"�"��
�
�a�"������Q������.�.�/�/�/�/�/r@c���tjddd���}tjtjd��|d���t	|tjddd�����tjddd������}tjtjd��|d���t	|tjddd��������dS)Nr��Y@rZ)�numr�r})r8rarr9r	r�)rgr(s  r>�test_no_p_overwritez"TestPercentile.test_no_p_overwrite�s����K��D�a�(�(�(��
�
�b�i��o�o�q��<�<�<�<��1�b�k�"�d��:�:�:�;�;�;��K��D�a�(�(�(�/�/�1�1��
�
�b�i��o�o�q��<�<�<�<��1�b�k�"�d��:�:�:�A�A�C�C�D�D�D�D�Dr@c�"�tjgd���}tj|dgd���}t|tjdg����tjgd�dgd���}t|tjdg����dS)Nr�roTr�rkr�r�s   r>�test_percentile_overwritez(TestPercentile.test_percentile_overwrite�s����H�\�\�\�"�"���M�!�b�T�4�8�8�8���Q���#����(�(�(��M�,�,�,���d�C�C�C���Q���#����(�(�(�(�(r@c�~	�tj�d���}tj|gdz��}t	tj|dd���tj|d����tj|dd��}t	tj|dd	���tj|d����|�dd
�����}t	tj|dd���tj|d����|�dd
�����}t	tj|dd
gd���tj|dd
gd�����t	tj|dd
gd���tj|dd
gd�����tj	d���
d��}tj�|�����t	tj|dd���dtj|dd�dd�dd�df�
��d����t	tj|ddgd���dd�d
ftj|dd�dd�d
dd�f�
��ddg����t	tj|dd���dtj|dd�dd�ddd�f�
��d����t	tj|dd���dtj|ddd�dd�dd�f�
��d����t	tj|dd���dtj|dd
dd�dd�f�
��d����t	tj|dd���dtj|ddd�dd�d
f�
��d����t	tj|dd���dtj|ddd�ddd�f�
��d����dS)N��G��r:r�r�rar�r`rrsrQrqrKr4rPrk��rYrZryr��Z�rrQrY�rYrQr}rO�rYrQrOr��rOrQ�rQrW�rQrYrT)r8rc�normal�dstackrr�moveaxisr�r�r9rz�shuffle�ravel�flatten�rgr�r�r]s    r>�test_extended_axisz!TestPercentile.test_extended_axis�sb���I���(��+�+���I�q�c�B�h�����R�]�1�b�v�6�6�6��
�a��8L�8L�M�M�M��K��2�q�!�!���R�]�1�b�x�8�8�8�"�-��2�:N�:N�O�O�O�
�J�J�q�!���!�!�#�#���R�]�1�b�w�7�7�7���q�"�9M�9M�N�N�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�7�7�	9�	9�	9�
�I�n�%�%�-�-�m�<�<��
�	���!�'�'�)�)�$�$�$��R�]�1�b�	�:�:�:�1�=��]�1�Q�Q�Q�q�q�q����A�X�;�#6�#6�#8�#8�"�=�=�	?�	?�	?��R�]�1�r�2�h�Y�?�?�?����1��E��]�1�Q�Q�Q�q�q�q�!�A�A�A�X�;�#6�#6�#8�#8�2�r�(�C�C�	E�	E�	E��R�]�1�b�z�:�:�:�1�=��]�1�Q�Q�Q�q�q�q�!�A�A�A�X�;�#6�#6�#8�#8�"�=�=�	?�	?�	?��R�]�1�b�y�9�9�9�!�<��]�1�Q�q�q�q����1�1�1�W�:�#5�#5�#7�#7��<�<�	>�	>�	>��R�]�1�b�v�6�6�6�t�<��]�1�Q��!�!�!�A�A�A�X�;�#6�#6�#8�#8�"�=�=�	?�	?�	?��R�]�1�b�w�7�7�7��=��]�1�Q�q�q�q����A�X�;�#6�#6�#8�#8�"�=�=�	?�	?�	?��R�]�1�b�v�6�6�6�t�<��]�1�Q�q�q�q�!�A�A�A�X�;�#6�#6�#8�#8�"�=�=�	?�	?�	?�	?�	?r@c�@�tjd��}ttjtj|dd���ttjtj|dd���ttjtj|dd���ttjtj|dd���tt
tj|dd���tt
tj|d	d���tt
tj|d
d���dS)Nr�r�rK)r�r�rr�rM�rrMrV)r`r`)rYr`)r8rerr�rrdr�s  r>�test_extended_axis_invalidz)TestPercentile.test_extended_axis_invalid�s����G�M�"�"���b�l�B�M�1�2��D�D�D�D��b�l�B�M�1�7�b�I�I�I�I��b�l�B�M�1�1��C�C�C�C��b�l�B�M�1�6�R�H�H�H�H��j�"�-���2�F�F�F�F��j�"�-���R�H�H�H�H��j�"�-���B�G�G�G�G�G�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��dS)Nr�ryTr�r�ra�rQrQryr�r��rQrZryrQr1�rYrQryr�r�)r�r��rQrQryrQrQ)rOrQrQryrQ)rOrQrZryrQ)r8rerrrDr�s  r>�
test_keepdimszTestPercentile.test_keepdims�s����G�M�"�"���R�]�1�a�d�T�B�B�B�H�!�	#�	#�	#��R�]�1�a�f�t�D�D�D�J�"�	$�	$�	$��R�]�1�a�f�t�D�D�D�J�!�	#�	#�	#��R�]�1�a�d�T�B�B�B�H�"�	$�	$�	$��R�]�1�a���E�E�E�K�!�	#�	#�	#��R�]�1�a�i�$�G�G�G�M�!�	#�	#�	#�	�R�]�1�q�!�f�9�,0�2�2�2�27��	J�	J�	J��R�]�1�q�!�f�6�,0�2�2�2�27��	J�	J�	J�	J�	Jr@rryrQr��NrQr1ra)r]r`��argnames�	argvaluesc����tjd���|�d�jz}nCt|�j���t	��fd�t�j��D����}tj|��|z}tj|��}tj�||d|���}||usJ�t|j|��dS)Nr�r1c3�>�K�|]}|�vrdn�j|V��dS�rQN�rD�r-r��	axis_normr]s  ��r>r�z3TestPercentile.test_keepdims_out.<locals>.<genexpr>
�N�����L�L�89�Q�)�^�^�������L�L�L�L�L�Lr@T�r�r�r�)
r8rer�r5rzrfrDr�rr)rgrr��	shape_outr�rr
r]s      @@r>�test_keepdims_outz TestPercentile.test_keepdims_out
s�����
�G�M�"�"���<��q�v�
�I�I�,�T�1�6�:�:�I��L�L�L�L�L�=B�1�6�]�]�L�L�L�L�L�I��H�Q�K�K�)�+�	��h�y�!�!����q�!�$��3�G�G�G����}�}�}�}��V�\�9�-�-�-�-�-r@c	�p�tjd��}tjd��}ttj|dd|���|��ttj|ddd|���|��tjd��}ttj|dd|���|��ttj|ddd|���|��tjd	��}ttj|d
|���|��ttj|d
d|���|��dS)N�rMr�rr�r|r�r�rQr�rO)r8rBrerr�rgr�r]s   r>�test_outzTestPercentile.test_out!
s���H�T�N�N���G�F�O�O���R�]�1�a���2�2�2�A�6�6�6��R�]�1�a��9�!�D�D�D�a�H�H�H��H�T�N�N���R�]�1�a���2�2�2�A�6�6�6��R�]�1�a��9�!�D�D�D�a�H�H�H��H�R�L�L���R�]�1�a�Q�/�/�/��3�3�3��R�]�1�a�	�q�A�A�A�1�E�E�E�E�Er@c
� �tjd���5tjddt��t	jd��}t	jd��}tj|d<tt	j	|dd|�	��|��tt	j	|ddd
|���|��t	jd��}tt	j	|d
d
|�	��|��tt	j	|d
d
d
|���|��t	jd��}tt	j	|d
|�	��|��tt	j	|d
d
|���|��ddd��dS#1swxYwYdS)NTrqrsrtrr�r�rr�r|r�r�rQr�)
rvrwrxrgr8rBrer[rrrs   r>�test_out_nanzTestPercentile.test_out_nan.
s���
�
$�D�
1�
1�
1�	A�	A��#�H�b�.�A�A�A������A������A��f�A�d�G����q�!�Q�A�6�6�6��:�:�:���
�a��A�i�Q�?�?�?��
D�
D�
D������A����q�!�Q�A�6�6�6��:�:�:���
�a��A�i�Q�?�?�?��
D�
D�
D������A����q�!��3�3�3�Q�7�7�7���
�a��9�!�<�<�<�a�
A�
A�
A�	A�	A�	A�	A�	A�	A�	A�	A�	A�	A�	A�	A����	A�	A�	A�	A�	A�	As�E F�F�
Fc�
�tjdt���}tj|d<t	tj|d��tj��t	tj|dd���tj��t	tj|ddgd���tjtjgdz����tjdt����ddd	��}tj|d
<tj|d<t	tj|d��tj��t	tj|d��jd��tjtjdt����ddd	��dd��}tj|d<tj|d
<t	tj|dd��|��tjtjdt����ddd	��ddgd��}tj|dd�ddf<tj|dd�ddf<t	tj|ddgd��|��tjtjdt����ddd	��dd��}tj|d<tj|d
<t	tj|dd��|��tjtjdt����ddd	��ddgd��}tj|dd�ddf<tj|dd�ddf<t	tj|ddgd��|��tjtjdt����ddd	��dd��}tj|d<tj|d<t	tj|dd��|��tjtjdt����ddd	��ddgd��}tj|dd�df<tj|dd�df<t	tj|ddgd��|��tjtjdt����ddd	��ddgdd���}tj|dd�df<tj|dd�df<t	tj|ddgdd���|��dS)Nr|r"rOrrr�g333333�?rYrMr��rQrQrOr�rrrQr�rUr|r})	r8r9r�r[rrr�rzr�r�s   r>�test_nan_behaviorz TestPercentile.test_nan_behavior@
s����I�b��&�&�&���v��!���R�]�1�c�*�*�B�F�3�3�3��R�]�1�c��2�2�2�B�F�;�;�;��R�]�1�s�C�j�q�9�9�9��X�r�v�h��l�+�+�	-�	-�	-�
�I�b��&�&�&�.�.�q�!�Q�7�7���V��'�
��V��'�
�	�R�]�1�c�*�*�B�F�3�3�3��R�]�1�c�*�*�/��3�3�3�
�M�"�)�B�e�4�4�4�<�<�Q��1�E�E�s�A�N�N���&��$���&��$���R�]�1�c�1�-�-�q�1�1�1�
�M�"�)�B�e�4�4�4�<�<�Q��1�E�E���*�a�
)�
)���V��!�!�!�Q��'�
��V��!�!�!�Q��'�
��R�]�1�s�C�j�!�4�4�a�8�8�8�
�M�"�)�B�e�4�4�4�<�<�Q��1�E�E�s�A�N�N���&��$���&��$���R�]�1�c�1�-�-�q�1�1�1��M��I�b��&�&�&�.�.�q�!�Q�7�7�#�s��Q�
H�
H���V��!�!�!�Q��'�
��V��!�!�!�Q��'�
��R�]�1�s�C�j�!�4�4�a�8�8�8�
�M��I�b��&�&�&�.�.�q�!�Q�7�7��f�
F�
F���v��!���v��!���R�]�1�c�6�2�2�A�6�6�6��M�"�)�B�e�4�4�4�<�<�Q��1�E�E���*�f�
.�
.���&��!�!�!�Q�$���&��!�!�!�Q�$���R�]�1�s�C�j�&�9�9�1�=�=�=��M�"�)�B�e�4�4�4�<�<�Q��1�E�E���*�f�Y�
@�
@�
@���&��!�!�!�Q�$���&��!�!�!�Q�$���R�]�
��S�z�6�)�5�5�5�67�	9�	9�	9�	9�	9r@c�8�tjtd���5tjgd�tj��ddd��n#1swxYwYtjtd���5tjgd�tjg��ddd��n#1swxYwYtjddd��}tj|d<tjtd���5tjgd�|��ddd��dS#1swxYwYdS)NzPercentiles must be inr�)rQrOrYr�r�g�X@r�r)r6r�rdr8rr[ra)rgrs  r>�
test_nan_qzTestPercentile.test_nan_q}
s���
�]�:�-E�
F�
F�
F�	2�	2��M�.�.�.�"�&�1�1�1�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2����	2�	2�	2�	2�
�]�:�-E�
F�
F�
F�	4�	4��M�.�.�.�2�6�(�3�3�3�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4����	4�	4�	4�	4��K��T�2�&�&���v��!��
�]�:�-E�
F�
F�
F�	-�	-��M�.�.�.�!�,�,�,�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-����	-�	-�	-�	-�	-�	-s5�"A
�
A�A�0#B�B#�&B#�*D�D�DN).r�r�r�rmr�r�r�r6r7r8r8�	typecodesr�r�rrrvr�r��clongdoubler�H_F_TYPE_CODESr��
TYPE_CODESr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrrr�r@r>rzrz{s�������D�D�D�*�*�*�&6�6�6�D�D�D��[���W�b�l�:�&>�?�?�6�6�@�?�6���&(�l�<�&@�����J��
�3��J��
�3��J��
�3��M�2�=�9��L�"�,�7��M�2�=�9��N�B�N�;�$�B�H�S�M�M�2�:�6�8�	8�N��[���m�-=�>��O�O��[���h�
�3�	 �	 �	 �
!�
!�>�>�
!�
!�P�O�>�2��l�+�b�l�:�.F�F��L�J��[���W�j�1�1�8�8�2�1�8��[���W�j�1�1�:�:�2�1�:��[���W�j�1�1�9�9�2�1�9�3�3�3�E�E�E�"I�"I�"I�H.�.�.�`P�P�P�5�5�5�'�'�'�R*�*�*�80�0�0�E�E�E�)�)�)�?�?�?�@	H�	H�	H�J�J�J�(�[���S�1�q�!�f�+�.�.��[����
�
�
��	�	�
.�
.�	�	�/�.�
.�F�F�F�A�A�A�$;9�;9�;9�z	-�	-�	-�	-�	-r@rzc��eZdZd�Zd�Zej�d���d���Zd�Z	d�Z
ej�dej
d	��d
���Zej�dgd���d
���Zejeejejdd���ejdddd���������d���Zd�ZdS)�TestQuantilec�|�gd�}tj|d��}tj�|dd���dS)N)r�rrzg�������?g
ףp=
�?rQ)�maxulp)r8�quantiler��assert_array_max_ulp)rgr�rhs   r>�test_max_ulpzTestQuantile.test_max_ulp�
sA���O�O���K��4� � ��	�
�'�'��4��'�:�:�:�:�:r@c��tjd��dz}ttj|d��d��ttj|d��d��ttj|d��d��dS)Nrwrjrr�rQrwr�)r8r9rr%r�s  r>rmzTestQuantile.test_basic�
sn���I�a�L�L�3����R�[��A�&�&��+�+�+��R�[��A�&�&��,�,�,��R�[��C�(�(�$�/�/�/�/�/r@zSee gh-19154r�c�t�tjdg��}tjdd��}t||d��tt	|��|j��tjgd���}tj||��}t
||��t|j|j��dS)NTFr)FTT)r8r�r%rrrr	)rgrh�tf_quant�	quant_ress    r>�test_correct_quantile_valuez(TestQuantile.test_correct_quantile_value�
s����H�d�V�����;�t�U�+�+���X�q��t�$�$�$��T�(�^�^�Q�W�-�-�-��H�(�(�(�)�)���K��1�%�%�	��9�a�(�(�(��Y�_�a�g�.�.�.�.�.r@c	���d�td��D��}tj|d��}t|d��tt	|��t
��tj|d��}t|tdd����tt	|��t
��tj|tdd����}t|tdd����tt	|��t
��tj|tdd��g��}t|tjtdd��g����tt	|��tj��tj|tdd��gg��}t|tjtdd��gg����tt	|��tj��tjd��}ttj|tdd����tdd����dS)Nc�.�g|]}t|d����Sr�rr�s  r>r.z.TestQuantile.test_fraction.<locals>.<listcomp>�
r�r@rwrrQryrOrM)	rfr8r%rrrr�rr9)rgr�rs   r>r�zTestQuantile.test_fraction�
s���.�.�U�1�X�X�.�.�.���K��1�����Q������T�!�W�W�h�'�'�'��K��1�����Q���A���'�'�'��T�!�W�W�h�'�'�'��K��8�A�q�>�>�*�*���Q���A���'�'�'��T�!�W�W�h�'�'�'��K��H�Q��N�N�+�,�,���Q���(�1�a�.�.�!1�2�2�3�3�3��T�!�W�W�b�j�)�)�)��K��X�a��^�^�,�-�.�.���Q���8�A�q�>�>�"2�!3�4�4�5�5�5��T�!�W�W�b�j�)�)�)�
�I�a�L�L���R�[��H�Q��N�N�3�3�X�a��^�^�D�D�D�D�Dr@c��tjgd���}|���}tjtjd��|d���t||��|���}|���}tjtjd��|d���t||��dS)N)rr�rnrjr�r�r�r})r8r�r�r%r9r	r�)rg�p0r(s   r>r�z TestQuantile.test_no_p_overwrite�
s���
�X�/�/�/�
0�
0���G�G�I�I��
��B�I�d�O�O�Q�z�:�:�:�:��1�b�!�!�!�
�Y�Y�[�[��
�H�H�J�J��
��B�I�d�O�O�Q�z�:�:�:�:��1�b�!�!�!�!�!r@rr�c�|�tjtjddg|���dgd���}|j|ksJ�dS)NrQrOr"rjr|r})r8r%r�r)rgrr?s   r>�test_quantile_preserve_int_typez,TestQuantile.test_quantile_preserve_int_type�
sM���k�"�(�A�q�6��7�7�7�#��!*�,�,�,���y�E�!�!�!�!�!�!r@r~)
r�r�r�r�r�r�r�r�r�r|r�r�r�c�H�tjddd��}tjtjgd���dz||���}t	tj|��|��tjgd�||���}t	tj|��|��dS)NrrQr�)rrQrQrOrOrYrYrMrZrZrQrQr<r<r<rwrwryr�r})r�r�r�r�)r8rar%r�rre)rgr~r0r%s    r>�test_quantile_monotonicz$TestQuantile.test_quantile_monotonic�
s����[��A�s�
#�
#���;�r�x�)2�)2�)2� 3� 3�58� 9�:<�V�M�M�M���R�W�X�&�&��1�1�1��;�/�/�/��F�C�C�C���R�W�X�&�&��1�1�1�1�1r@rYr�)�	min_value�	max_valueF�u�<�7��u�<�7~)�allow_infinity�	allow_nanr5r6)rrD�elements)r�c��tjddd��}tj||��}ttj|��|��dS)NrrQg{�G�z�?)r8r9r%rre)rgr�r0r%s    r>�test_quantile_monotonic_hypoz)TestQuantile.test_quantile_monotonic_hypo�
sH���Y�q�!�T�
"�
"���;�s�B�'�'���R�W�X�&�&��1�1�1�1�1r@c��tjgd�gd�g��}tj|dd<tj|d��}tj|��sJ�ttj|d��tj��dS)N)r�r�r�)r�r�r�rrQrj)r8r�r[r%r�r)rgrhr
s   r>�test_quantile_scalar_nanz%TestQuantile.test_quantile_scalar_nan�
sx���H�m�m�m�\�\�\�2�3�3���&��!��Q����Q��$�$���{�6�"�"�"�"�"��R�[��C�(�(�"�&�1�1�1�1�1r@N)r�r�r�r'rmr6r7r�r,r�r�r8r8rr2r4�
hypothesis�givenrr�st�integers�floatsr=r?r�r@r>r"r"�
s�������;�;�;�0�0�0��[���n��-�-�/�/�.�-�/�E�E�E�6
"�
"�
"��[���W�b�l�<�&@�A�A�"�"�B�A�"�
�[���X�8�8�8�9�9�
2�2�9�9�
2��Z����R�Z�(�R�[�1��E�E�E� )��	��%�4:�e�!M�!M�!M�N�N�N�O�O�O�
2�2�O�O�
2�
2�2�2�2�2r@r"c�&�eZdZejejdddd���ejdddd���ejdddd���ejdddd������d���Zejejdddd���ejdddd���ejdddd����	��d
���Zejejdddd���ejdddd���ejdddd����	��d���Z	d�Z
d
S)�TestLerpFrrQ)r:r9r5r6r7r8)�t0�t1rhr�c���tj|||��}tj|||��}||ks||kr
||ksJ�dS||k||kkr
||ksJ�dS||ksJ�dSr7�re�_lerp)rgrGrHrhr��l0�l1s       r>�+test_linear_interpolation_formula_monotonicz4TestLerp.test_linear_interpolation_formula_monotonic�
s����Y�q�!�R�
 �
 ��
�Y�q�!�R�
 �
 ��
��8�8�q�A�v�v���8�8�8�8�8�8��2�g�1�q�5�
!�
!���8�8�8�8�8�8���8�8�8�8�8�8r@)�trhr�c��||kr'|tj|||��cxkr|ksnJ�dS|tj|||��cxkr|ksnJ�dSr7rJ)rgrOrhr�s    r>�)test_linear_interpolation_formula_boundedz2TestLerp.test_linear_interpolation_formula_bounded	s��
��6�6���	�!�Q��*�*�/�/�/�/�a�/�/�/�/�/�/�/�/���	�!�Q��*�*�/�/�/�/�a�/�/�/�/�/�/�/�/r@c��tj||dd|z
z
��}tj||d|z
��}t||��dSr;)rerKr
)rgrOrhr�r7r9s      r>�+test_linear_interpolation_formula_symmetricz4TestLerp.test_linear_interpolation_formula_symmetricsL���y��A�q�A��E�{�+�+���	�!�Q��A��&�&����e�$�$�$�$�$r@c��tjd��}tjd��}tjd��}tj|||��dksJ�dS)NrOrZrg������@)r8r�rerK)rgrhr�rOs    r>�+test_linear_interpolation_formula_0d_inputsz4TestLerp.test_linear_interpolation_formula_0d_inputs!sN���H�Q�K�K���H�Q�K�K���H�S�M�M���y��A�q�!�!�S�(�(�(�(�(�(r@N)r�r�r�r@rArBrDrNrQrSrUr�r@r>rFrF�
s�������Z�����U�5�-.�!�=�=�=�"���U�5�-.�!�=�=�=�#�"�)�e�E�.4��G�G�G�#�"�)�e�E�.4��G�G�G�
H�H�H���H�H���Z��	��	�E�%�,-��<�<�<�!��	�E�%�,2�e�E�E�E�!��	�E�%�,2�e�E�E�E�	F�F�F�0�0�
F�F�0��Z��	��	�E�%�,-��<�<�<�!��	�E�%�,2�e�E�E�E�!��	�E�%�,2�e�E�E�E�	F�F�F�%�%�
F�F�%�)�)�)�)�)r@rFc�\�eZdZd�Zd�Zd�Zd�Zd�Zej	�
dgd�dejd	gejd
f��d���Z
d�Zd
�Zd�Zej	�ed���d���Zd�Zd�Zd�Zd�Zej	�
dgd����d���ZdS)�
TestMedianc��tjd��}tjd��}tjd���dd��}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��dS)NrQrOrxrYrjrkrr��rLrkrwrM)��6-¦?��0���?���}r�?g��4�?r�)r[rZr\)rZr\r[r`)
r8r�r9rzr�medianr
r
r�r[)rg�a0r�r�rhs     r>rmzTestMedian.test_basic*s���
�X�a�[�[��
�Y�q�\�\��
�Y�q�\�\�
!�
!�!�Q�
'�
'���R�Y�r�]�]�A�&�&�&���	�"�
�
�s�+�+�+���	�"�
�
�s�+�+�+���	�"�1�-�-�-�/@�/@�/@�A�A�A��R�Y�r��*�*�*�Q��F�3�3�3���	�"�4�0�0�0�#�6�6�6��H�@�@�@�A�A���Q�q�T�A�a�D�[�B�.��	�!���=�=�=��H�5�5�5�6�6���Q�q�T�2�9�Q�<�<�(�(�(��H�5�5�5�6�6���Q�r�U�B�I�a�L�L�)�)�)��R�Y�q�\�\�&��*�*�*��v��!���R�Y�q�\�\�&��*�*�*�*�*r@c���tjddgddgddgddgg��}|tj�dd	d
���fD]i}|���}tj|d���t
|j��D]}tj||����t||���jttj|d���ddg��ttj|j
d���ddg��ttj|��d
��ttj|d���d
��ttj|j
��d
��dS)NrOrYrrQrxryrMrZrirr�r�rw)r8r�rc�randintr�r]rfr�r	r
r�)rg�a3rh�orig�axs     r>�test_axis_keywordzTestMedian.test_axis_keyword@sc��
�X��1�v��1�v��1�v��1�v�� � ���b�i�'�'��3�Y�'�?�?�@�	(�	(�A��6�6�8�8�D��I�a�d�#�#�#�#��A�F�m�m�
&�
&���	�!�"�%�%�%�%�%��q�$�'�'�'�'���	�"�1�-�-�-��A�w�7�7�7���	�"�$�Q�/�/�/�!�a��9�9�9���	�"�
�
�s�+�+�+���	�"�4�0�0�0�#�6�6�6���	�"�$����-�-�-�-�-r@c��tjddgddgddgddgg��}tjd��}tjd��}tjd���dd��}t	tj|���d	�
��d��t	tj|���d	�
��d��t	tj|���d	�
��d��t	tj|���d	d�
��gd���t	tj|���d	d�
��ddg��t	tj|���d	d�
��d��t	tj|���d	d�
��ddg��t	tj|j���d	d�
��ddg��tjdtj����d��}tj	�
|�����t	tj|d���tj|���dd	�����t	tj|d���tj|���dd	�����t	tj|d���tj|���dd	�����t	tj|d���tj|���dd	�����dS)NrOrYrrQrxryrMrZTr�rjrk)r�r�rYr4r"rXr�)r�r�)r8r�r9rzr
r]r�r�rrcr�r�)rgrar^r�r��a4s      r>�test_overwrite_keywordz!TestMedian.test_overwrite_keywordRsF��
�X��1�v��1�v��1�v��1�v�� � ���X�a�[�[��
�Y�q�\�\��
�Y�q�\�\�
!�
!�!�Q�
'�
'����	�"�'�'�)�)�T�B�B�B�A�F�F�F���	�"�'�'�)�)�T�B�B�B�C�H�H�H���	�"�'�'�)�)�T�B�B�B�C�H�H�H���	�"�'�'�)�)�T��J�J�J�)�)�)�	+�	+�	+���I�b�g�g�i�i��A�>�>�>��A��	H�	H�	H���I�b�g�g�i�i��D�A�A�A�3�	H�	H�	H���I�b�g�g�i�i��A�>�>�>��Q��	I�	I�	I���	�"�$�)�)�+�+�t�!�L�L�L��Q��	!�	!�	!��Y�y��
�
3�
3�
3�
;�
;�I�
F�
F��
�	���"�(�(�*�*�%�%�%���	�"�4�0�0�0��	�"�'�'�)�)�$��M�M�M�	O�	O�	O���	�"�1�-�-�-��	�"�'�'�)�)�!�T�J�J�J�	L�	L�	L���	�"�1�-�-�-��	�"�'�'�)�)�!�T�J�J�J�	L�	L�	L���	�"�1�-�-�-��	�"�'�'�)�)�!�T�J�J�J�	L�	L�	L�	L�	Lr@c���gd�}ttj|��d��|g}ttj|��d��ttj|d���|��dS)Nr�rOrr�)r
r8r]r
)rgr�r^s   r>r*zTestMedian.test_array_likessg���I�I���B�I�a�L�L�!�,�,�,��S���B�I�b�M�M�1�-�-�-���	�"�1�-�-�-�q�1�1�1�1�1r@c��Gd�dtj��}|gd���}ttj|��d��dS)Nc��eZdZdd�Zdd�ZdS)�,TestMedian.test_subclass.<locals>.MySubClassNc�b�tj|���|��}||_|Sr7)r8r*r�info)�cls�input_arrayrm�objs    r>�__new__z4TestMedian.test_subclass.<locals>.MySubClass.__new__~s+���j��-�-�2�2�3�7�7������
r@c��dS)N���r�)rgr�rr�s    r>r�z1TestMedian.test_subclass.<locals>.MySubClass.mean�s���rr@r7)NNN)r�r�r�rqr�r�r@r>�
MySubClassrk|s<������
�
�
�
�

�
�
�
�
�
r@rtr�rs)r8rrr])rgrtrhs   r>r�zTestMedian.test_subclasszsa��	�	�	�	�	���	�	�	�
�J�y�y�y�!�!���R�Y�q�\�\�2�&�&�&�&�&r@r�r�r�r�r�c���Gd�dtj��}tjtj|���|����}t||��sJ�dS)z6Check that we return subclasses, even if a NaN scalar.c��eZdZdS)�-TestMedian.test_subclass2.<locals>.MySubclassNrr�r@r>�
MySubclassrw�rr@rxN)r8rr]r�rr�)rgr�rxrCs    r>�test_subclass2zTestMedian.test_subclass2�sq��	�	�	�	�	���	�	�	�
�I�b�h�s�m�m�(�(��4�4�5�5���!�Z�(�(�(�(�(�(�(r@c��tjd��}tjd��}ttj|d|���|��tjd��}ttj|d|���|��tjd��}ttj||���|��dS)Nrr�rr�r�rQr�)r8rBrerr]rs   r>rzTestMedian.test_out�s����H�T�N�N���G�F�O�O���R�Y�q�!��+�+�+�Q�/�/�/��H�T�N�N���R�Y�q�!��+�+�+�Q�/�/�/��H�R�L�L���R�Y�q�a�(�(�(�!�,�,�,�,�,r@c�2�tjd���5tjddt��t	jd��}t	jd��}tj|d<tt	j	|d|�	��|��t	jd
��}tt	j	|d|�	��|��t	jd��}tt	j	||�	��|��ddd��dS#1swxYwYdS)
NTrqrsrtrr�r�rr�r�rQr�)
rvrwrxrgr8rBrer[rr]rs   r>rzTestMedian.test_out_nan�s/��
�
$�D�
1�
1�
1�		1�		1��#�H�b�.�A�A�A������A������A��f�A�d�G����1�a�Q�/�/�/��3�3�3������A����1�a�Q�/�/�/��3�3�3������A����1�!�,�,�,�a�0�0�0�		1�		1�		1�		1�		1�		1�		1�		1�		1�		1�		1�		1����		1�		1�		1�		1�		1�		1s�C)D�D�Dc�h�tjdt���}tj|d<t	tj|��tj��t	tj|d���tj��tjdt����ddd��}tj|d<tj|d	<t	tj|��tj��t	tj|��jd��tjtjdt����ddd��d��}tj|d
<tj|d<t	tj|d��|��tjtjdt����ddd��d��}tj|d
<tj|d<t	tj|d��|��tjtjdt����ddd��d��}tj|d<tj|d<t	tj|d��|��dS)Nr|r"rOrr�rYrMr�rr�rrrQr�rU)r8r9r�r[rr]rzr�r�s   r>rzTestMedian.test_nan_behavior�s���I�b��&�&�&���v��!���R�Y�q�\�\�2�6�*�*�*��R�Y�q�q�)�)�)�2�6�2�2�2��I�b��&�&�&�.�.�q�!�Q�7�7���V��'�
��V��'�
�	�R�Y�q�\�\�2�6�*�*�*��R�Y�q�\�\�&��*�*�*�
�I�b�i��%�0�0�0�8�8��A�q�A�A�1�E�E���&��$���&��$���R�Y�q�!�_�_�a�(�(�(�
�I�b�i��%�0�0�0�8�8��A�q�A�A�1�E�E���&��$���&��$���R�Y�q�!�_�_�a�(�(�(�
�I�b�i��%�0�0�0�8�8��A�q�A�A�6�J�J���v��!���v��!���R�Y�q�&�)�)�1�-�-�-�-�-r@zfp errors don't work correctlyr�c�2�tjgt���}tjd���5}tjddt��ttj|��tj	��t|djtu��tt|��d��ddd��n#1swxYwYtjgtd�	��}tjd���5}tjddt��ttj|��tj	��t|djtu��ddd��n#1swxYwYtjgtd�	��}ttj|d�
��|��ttj|d�
��|��tjtj	td�	��}tjd���5}tjddt��ttj|d�
��|��t|djtu��ddd��dS#1swxYwYdS)Nr"TrqrsrtrrOrY)rryr�rQ)
r8r�r�rvrwrxrgrr]r[rrzrD)rgrhr	r�s    r>rhzTestMedian.test_empty�s���
�H�R�u�%�%�%��
�
$�D�
1�
1�
1�	$�Q��#�H�b�.�A�A�A����1���r�v�.�.�.��A�a�D�M�^�3�4�4�4���Q����#�#�#�		$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$�
�H�R�u�A�.�.�.��
�
$�D�
1�
1�
1�	5�Q��#�H�b�.�A�A�A����1���r�v�.�.�.��A�a�D�M�^�3�4�4�4�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5����	5�	5�	5�	5�
�H�R�u�A�.�.�.���R�Y�q�q�)�)�)�1�-�-�-��R�Y�q�q�)�)�)�1�-�-�-�
�H�R�V�5��2�2�2��
�
$�D�
1�
1�
1�	5�Q��#�H�b�.�A�A�A����1�1�-�-�-�q�1�1�1��A�a�D�M�^�3�4�4�4�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5����	5�	5�	5�	5�	5�	5s8�BC�C�
C�?A)E4�4E8�;E8�A!J�J�Jc	�|�tjd��}tttj|�t������t��tj|d<tttj|�t������t��dS)Nr�rO)	r8r9rrr]rr>r�r[)rgr�s  r>�test_objectzTestMedian.test_object�s|���I�b�M�M����R�Y�q�x�x��/�/�0�0�1�1�5�9�9�9��v��!����R�Y�q�x�x��/�/�0�0�1�1�5�9�9�9�9�9r@c�N	�tj�d���}tj|gdz��}t	tj|d���tj|����tj|dd��}t	tj|d���tj|����|�dd	�����}t	tj|d
���tj|����t	tj|d���tj|d�����t	tj|d���tj|d�����t	tj|d
���tj|d�����tj	d���
d��}tj�|�����t	tj|d���dtj|dd�dd�dd�df�
������t	tj|d���d	tj|dd�dd�d	dd�f�
������t	tj|d���dtj|dd�dd�ddd�f�
������t	tj|d���dtj|ddd�dd�dd�f�
������t	tj|d���dtj|dd	dd�dd�f�
������t	tj|d���dtj|ddd�dd�d	f�
������t	tj|d���dtj|ddd�ddd�f�
������dS)Nr�r�r�rar�r`rrsrQrqrPrk)r`r�r�r�r�rOr�r�r�r�r�rT)r8rcr�r�rr]r�r�r�r9rzr�r�r�r�s    r>r�zTestMedian.test_extended_axis�s���I���(��+�+���I�q�c�B�h�����R�Y�q�v�.�.�.��	�!���=�=�=��K��2�q�!�!���R�Y�q�x�0�0�0�"�)�A�,�,�?�?�?�
�J�J�q�!���!�!�#�#���R�Y�q�w�/�/�/���1���>�>�>��R�Y�q�y�1�1�1�2�9�Q�T�3J�3J�3J�K�K�K��R�Y�q�u�-�-�-�r�y���/C�/C�/C�D�D�D��R�Y�q�v�.�.�.��	�!�"�0E�0E�0E�F�F�F��I�n�%�%�-�-�m�<�<��
�	���!�'�'�)�)�$�$�$��R�Y�q�y�1�1�1�!�4��Y�q����1�1�1�Q�Q�Q���{�2�2�4�4�5�5�	7�	7�	7��R�Y�q�y�1�1�1�!�4��Y�q����1�1�1�a�����{�2�2�4�4�5�5�	7�	7�	7��R�Y�q�z�2�2�2�1�5��Y�q����1�1�1�a�����{�2�2�4�4�5�5�	7�	7�	7��R�Y�q�y�1�1�1�!�4��Y�q��1�1�1�Q�Q�Q�q�q�q��z�1�1�3�3�4�4�	6�	6�	6��R�Y�q�v�.�.�.�t�4��Y�q��A�a�a�a�����{�2�2�4�4�5�5�	7�	7�	7��R�Y�q�w�/�/�/��5��Y�q��1�1�1�Q�Q�Q���{�2�2�4�4�5�5�	7�	7�	7��R�Y�q�v�.�.�.�t�4��Y�q��1�1�1�a�����{�2�2�4�4�5�5�	7�	7�	7�	7�	7r@c��tjd��}ttjtj|d���ttjtj|d���ttjtj|d���ttjtj|d���tt
tj|d���dS)Nr�r�r�r�rMr�rV)r8rerr�r]rdr�s  r>r�z%TestMedian.test_extended_axis_invalid
s����G�M�"�"���b�l�B�I�q�r�:�:�:�:��b�l�B�I�q�w�?�?�?�?��b�l�B�I�q�q�9�9�9�9��b�l�B�I�q�v�>�>�>�>��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
��dS)Nr�Tr�r�rar�r�rr1rr�r�r)r8rerr]rDr�s  r>rzTestMedian.test_keepdimss���G�M�"�"���R�Y�q�t�d�;�;�;�A�!�	#�	#�	#��R�Y�q�v��=�=�=�C�"�	$�	$�	$��R�Y�q�v��=�=�=�C�!�	#�	#�	#��R�Y�q�t�d�;�;�;�A�"�	$�	$�	$��R�Y�q�|�d�C�C�C�I�!�	#�	#�	#��R�Y�q�y�4�@�@�@�F�!�	#�	#�	#�	#�	#r@r�rrc�`���tjd���|�d�jz}nCt|�j���t	��fd�t�j��D����}tj|��}tj�|d|���}||usJ�t|j	|��dS)Nr�r1c3�>�K�|]}|�vrdn�j|V��dSr
rrs  ��r>r�z/TestMedian.test_keepdims_out.<locals>.<genexpr>1rr@Tr)
r8rer�r5rzrfr�r]rrD)rgr�rr�rr
r]s     @@r>rzTestMedian.test_keepdims_out!s�����
�G�M�"�"���<��q�v�
�I�I�,�T�1�6�:�:�I��L�L�L�L�L�=B�1�6�]�]�L�L�L�L�L�I��h�y�!�!����1�4�$�C�@�@�@����}�}�}�}��V�\�9�-�-�-�-�-r@N)r�r�r�rmrdrgr*r�r6r7r8r8r[ryrrrr�rrhrr�r�rrr�r@r>rWrW(s�������+�+�+�,.�.�.�$L�L�L�B2�2�2�
'�
'�
'��[���U�*�l�l�R����,<�b�f�b�I�K�K�)�)�K�K�)�-�-�-�
1�
1�
1�.�.�.�@�[����(H��I�I�5�5�J�I�5�::�:�:�7�7�7�<=�=�=�
#�
#�
#��[����
�
�
��	�	�.�.�	�	�.�.�.r@rWc��eZdZd�Zd�ZdS)�TestAdd_newdoc_ufuncc��tttdd��ttttjd��dS)NrO�blah)rrerrdr8r:r�s r>�test_ufunc_argz#TestAdd_newdoc_ufunc.test_ufunc_arg;s4���i�!1�1�f�=�=�=��j�"2�B�F�F�C�C�C�C�Cr@c�R�ttttjd��dS)NrY)rrerr8r:r�s r>�test_string_argz$TestAdd_newdoc_ufunc.test_string_arg?s���i�!1�2�6�1�=�=�=�=�=r@N)r�r�r�r�r�r�r@r>r�r�9s5������D�D�D�>�>�>�>�>r@r�c��eZdZej�ejjdkd���ej�	e
d���d�����Zej�ejjdkd���d���ZdS)�TestAdd_newdocrO�Python running -OOr��PyPy does not modify tp_docc�j�d}ttjjjjdt
|���|��tt
tjjj	j��dk��tt
tj
jjj��dk��dS)Nz"Current flat index into the array.r)
rr8�core�flatiter�indexrBrDr�ufunc�identityr7�index_tricks�mgrid)rgr�s  r>�test_add_doczTestAdd_newdoc.test_add_docEs���3���R�W�%�+�3�I�S��X�X�I�>��D�D�D���B�G�M�*�2�3�3�c�9�:�:�:���B�F�'�-�5�6�6��<�=�=�=�=�=r@c��tjjjj}tjddd��|tjjjjksJ�dS)Nz
numpy.corer�)r�z
bad docstring)r8r�r�r�rB�
add_newdoc)rg�prev_docs  r>�test_errors_are_ignoredz&TestAdd_newdoc.test_errors_are_ignoredNsK���7�#�)�1��	�
�l�J�0J�K�K�K��2�7�+�1�9�9�9�9�9�9�9r@N)
r�r�r�r6r7r�r�r��optimizer�rr�r�r�r@r>r�r�Cs��������[����	�*�a�/�8L��M�M��[���w�'D��E�E�>�>�F�E�N�M�>��[����	�*�a�/�8L��M�M�:�:�N�M�:�:�:r@r�c��eZdZej�ejjdkd���ej�e	d���d�����Z
ej�ejjdkd���d���ZdS)�TestAddDocstringrOr�r�r�c��tjtjjtjjj��d�}tj||j��dS)Nc��dS��	docstringNr�r�r@r>�funcz6TestAddDocstring.test_add_same_docstring.<locals>.func`����Fr@)r8�
add_docstringr�flatrB�rgr�s  r>�test_add_same_docstringz(TestAddDocstring.test_add_same_docstringZsN��	�����"�*�/�*A�B�B�B�	�	�	�	���t�|�,�,�,�,�,r@c�0�tt��5tjtjjd��ddd��n#1swxYwYd�}tt��5tj|d��ddd��dS#1swxYwYdS)Nzdifferent docstringc��dSr�r�r�r@r>r�z=TestAddDocstring.test_different_docstring_fails.<locals>.funclr�r@)rr�r8r�rr�r�s  r>�test_different_docstring_failsz/TestAddDocstring.test_different_docstring_failsfs'���<�
(�
(�	E�	E���R�Z�_�.C�D�D�D�	E�	E�	E�	E�	E�	E�	E�	E�	E�	E�	E����	E�	E�	E�	E�	�	�	��<�
(�
(�	:�	:���T�#8�9�9�9�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:����	:�	:�	:�	:�	:�	:s#�%A�A
�
A
�(B�B�BN)r�r�r�r6r7r�r�r�r�rr�r�r�r@r>r�r�Ws��������[����	�*�a�/�8L��M�M��[����(E��F�F�-�-�G�F�N�M�-��[����	�*�a�/�8L��M�M�
:�
:�N�M�
:�
:�
:r@r�c�`�eZdZej�dgd���d���Zd�ZdS)�TestSortComplexztype_in, type_out))�l�D)�hr�)�Hr�)r�r�)r�r�)r��Gc��tjgd�|���}tj|��}tj|���|��}t||��t|j|j��dS)N)rZrYrxrOrQr")r8r��sort_complexrerrr)rg�type_in�type_outrhr
rs      r>�test_sort_realzTestSortComplex.test_sort_realvsp��
�H�_�_�_�G�4�4�4�����#�#���7�1�:�:�$�$�X�.�.���V�X�&�&�&��V�\�8�>�2�2�2�2�2r@c���tjgd�d���}tjgd�d���}tj|��}t||��t|j|j��dS)N)rf��?�r�rgr�r")r�r�rgrf)r8r�r�rr)rgrhrr
s    r>�test_sort_complexz!TestSortComplex.test_sort_complex�sq���H�5�5�5�S�A�A�A���8�<�<�<�C�H�H�H�����#�#���V�X�&�&�&��V�\�8�>�2�2�2�2�2r@N)r�r�r�r6r7r8r�r�r�r@r>r�r�tsc�������[���0�3
�3
�3
���3�3���3�3�3�3�3�3r@r�)r�)r�r�)}r�rvr�r+�	fractionsrr�r6r@�hypothesis.extra.numpyr�hypothesis.strategies�
strategiesrB�numpyr8r�
numpy.testingrrr	r
rrr
rrrrrr�numpy.lib.function_baser7�
function_basere�numpy.randomr�	numpy.librrrrrrrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4�numpy.core.numericr5r?rIrKr�r�r�r�r�r:rmr�r�r�r�r�r�r�rrDr�r�r�r�r�r�r�r�r�r7r8rrrr&r,r4r<rxr�r�r�r�r�r�r.rzr"rFrWr�r�r�r�r�r@r>�<module>r�s�����������
�
�
�
���������������
�
�
�
�����)�)�)�)�)�)�"�"�"�"�"�"�����������������������������������������
&�%�%�%�%�%�%�%�%���������������������������������������������������������������������������4�3�3�3�3�3�������A@�A@�A@�A@�A@�A@�A@�A@�Hd1�d1�d1�d1�d1�d1�d1�d1�N?�?�?�?�?�?�?�?�">�>�>�>�>�>�>�>�$ 3� 3� 3� 3� 3� 3� 3� 3�FK4�K4�K4�K4�K4�K4�K4�K4�Z;$�;$�;$�;$�;$�;$�;$�;$�|l0�l0�l0�l0�l0�l0�l0�l0�^	;�	;�	;�	;�	;�	;�	;�	;�	:�	:�	:�	:�	:�	:�	:�	:�@�@�@�@�@�@�@�@�;�;�;�;�;�;�;�;�.E�E�E�E�E�E�E�E�(J�J�J�J�J�J�J�J�6I?�I?�I?�I?�I?�I?�I?�I?�Xr>�r>�r>�r>�r>�r>�r>�r>�jy-�y-�y-�y-�y-�y-�y-�y-�x'�'�'�'�'�'�'�'�4>%�>%�>%�>%�>%�>%�>%�>%�B$"�$"�$"�$"�$"�$"�$"�$"�R��������d�d�d�d�d�d�d�d�N
&�&�&�&�&�&�&�&�RR8�R8�R8�R8�R8�R8�R8�R8�j5�5�5�5�5�5�5�5�6�����S�2�<��-�
-���W�0E�
E��������j�j�j�)�)�i;�i;�i;�i;�i;�i;�i;�*�)���i;�X;-�;-�;-�;-�;-�;-�;-�;-�|#�#�#�#�#�#�#�#�"	D�	D�	D�	D�	D�	D�	D�	D�'�'�'�'�'�'�'�'�"X&�X&�X&�X&�X&�X&�X&�X&�vg&�g&�g&�g&�g&�g&�g&�g&�T1�1�1�1�1�1�1�1�h��������&B�B�B�B�B�B�B�B�k2�k2�k2�k2�k2�k2�k2�k2�\a0�a0�a0�a0�a0�a0�a0�a0�H]�]�]�]�]�]�]�]�@A�A�A�A�A�A�A�A�DK-�K-�K-�K-�K-�K-�K-�K-�\j2�j2�j2�j2�j2�j2�j2�j2�Z/)�/)�/)�/)�/)�/)�/)�/)�dN.�N.�N.�N.�N.�N.�N.�N.�b>�>�>�>�>�>�>�>�:�:�:�:�:�:�:�:�(:�:�:�:�:�:�:�:�:3�3�3�3�3�3�3�3�3�3r@

Youez - 2016 - github.com/yon3zu
LinuXploit