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 :  /lib/python3/dist-packages/scipy/linalg/tests/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/scipy/linalg/tests/__pycache__/test_decomp_update.cpython-311.pyc
�

d�c���b�ddlZddlZddlmZmZmZddlmZ	ddl
mZddlmcm
Z
ddlmZmZmZd0d�Zd1d�Zd2d	�Zd
�Zd�Zd�Zd
�ZGd�d��ZGd�de��ZGd�de��ZGd�de��ZGd�de��ZGd�de��ZGd�de��ZGd�de��ZGd�de��Z Gd �d!e��Z!Gd"�d#e��Z"Gd$�d%e��Z#Gd&�d'e#��Z$Gd(�d)e#��Z%Gd*�d+e#��Z&Gd,�d-e#��Z'd.�Z(d/�Z)dS)3�N)�assert_�assert_allclose�assert_equal)�raises)�linalg)�	qr_delete�	qr_update�	qr_insertTc��|�%dtj|j��jdz
z}|�!dtj|j��jz}|r*t|jd|jdkd��tj|j�	��|��}t|tj|jd��||���dS)N�$@��
r�zunitary matrices must be square��rtol�atol)�np�finfo�dtype�	precision�epsr�shape�dot�T�conjr�eye)�arr�
assert_sqr�aTas     �G/usr/lib/python3/dist-packages/scipy/linalg/tests/test_decomp_update.py�assert_unitaryr!
s����|����!�'�*�*�4�Q�6�7�7���|��"�(�1�7�#�#�'�'���M�����
�a�g�a�j�(�*K�L�L�L�
�&�������Q�
�
�C��C������
�+�+�$�T�B�B�B�B�B�B�c�:�|�%dtj|j��jdz
z}|�!dtj|j��jz}tj|jd|jddtj��}t||d||���dS)Nrr
rr���gr)	rrrrr�trir�bool_r)rrr�masks    r �assert_upper_trir(s����|����!�'�*�*�4�Q�6�7�7���|����!�'�"�"�&�&��
�6�!�'�!�*�a�g�a�j�"�b�h�7�7�D��A�d�G�S�t�$�7�7�7�7�7�7r"c��t||||��t|||��t|�|��|||���dS)Nr)r!r(rr)�q�rrrrrs      r �check_qrr,sO���1�d�D�*�-�-�-��Q��d�#�#�#��A�E�E�!�H�H�a�d��6�6�6�6�6�6r"c���gd�}t|��}d}g}|D�]C}|jdkrd|||z}|dz
}tj|d|jdz|dz|j��}||dd|d�}||d<n�|jdkr�|||z}||dz|z}	|dz
}tj|d|jdz|dz|	d|jdz|	dzf|j��}||dd|d�|	dd|	d�f}||d<nt
d���|�|����E|S)N))��)r
r
)r.�)r0r
)�r0)r
r.)r
r)r0r1rr.r
z0make_strided only works for ndim = 1 or 2 arrays)�len�ndimr�zerosrr�
ValueError�append)
�arrs�strides�kmax�k�retr�s�base�view�ts
          r �make_stridedr@"s���N�N�N�G��w�<�<�D�	�A�
�C�
�����6�Q�;�;���D��!�A�
��F�A��8�A�a�D�����O�A�a�D�0�!�'�:�:�D���!��
�a��d�
�#�D��D��I�I�
�V�q�[�[���D��!�A���1����%�A�
��F�A��8�Q�q�T�!�'�!�*�_�Q�q�T�1�1�Q�4����
�?�1�Q�4�3G�H��G�%�%�D���!��
�a��d�
�A�a�D�J�!�A�$�J�.�/�D��D��I�I��)�*�*�
*��
�
�4������Jr"c���g}|D]r}tj|��}|jdkr|ddd�ddd�f}n&|jdkr|ddd�}ntd���||d<|�|���s|S)Nr
r$rz2negate_strides only works for ndim = 1 or 2 arrays.)r�
zeros_liker3r5r6)r7r;r�bs    r �negate_stridesrD<s���
�C�
�
�
���M�!�����6�Q�;�;��$�$�B�$���"��*�
�A�A�
�V�q�[�[��$�$�B�$��A�A��)�*�*�
*���#���
�
�1�
�
�
�
��Jr"c��g}|D]V}|j}tj|jd|fdg��}|�|��}||d<|�|���W|S)Nr)�junk�S1.)rrr4r�getfieldr6)r7�outr�a_dtyperC�cs      r �nonitemsize_stridesrLKsi��
�C�
�����'���H�Q�W��W�~�~�>�?�?��
�J�J�w������#���
�
�1�
�
�
�
��Jr"c��d�|D��S)Nc�f�g|].}|�|j�������/S�)�astyper�newbyteorder)�.0rs  r �
<listcomp>z"make_nonnative.<locals>.<listcomp>Ws2��;�;�;��A�H�H�Q�W�)�)�+�+�,�,�;�;�;r"rO)r7s r �make_nonnativerTVs��;�;�d�;�;�;�;r"c��eZdZd�Zdd�ZdS)�BaseQRdeltasc��dtj|j��jdz
z|_dtj|j��jz|_dS)Nrr
r)rrrrrrr��selfs r �setup_methodzBaseQRdeltas.setup_method[sD���b�h�t�z�2�2�<�Q�>�?�?��	����$�*�-�-�1�1��	�	�	r"�fullc��tj�d��ddddddd�|}tj�|��}tj|j�d	����r'tj�|��}|d
|zz}|�|j��}tj||���\}}|||fS)Ni�r��r^)�r/)r/r_)r^r)rr^�rr)�sqr�tall�fat�Mx1�1xN�1x1r��?)�mode)	r�random�seed�iscomplexobjr�typerPr�qr)rYrlrhrrrCr*r+s        r �generatezBaseQRdeltas.generate_s���
�	���u��������v�f�>�>�>B�D���I���U�#�#��
�?�4�:�?�?�1�-�-�.�.�	��	� � ��'�'�A��B��F�
�A�
�H�H�T�Z� � ���y���&�&�&���1��!�Q�w�r"N�r[)�__name__�
__module__�__qualname__rZrnrOr"r rVrVZs7������2�2�2�
�
�
�
�
�
r"rVc��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d �Z"d!�Z#d"�Z$d#�Z%d$�Z&d%�Z'd&�Z(d'�Z)d(�Z*d)�Z+d*�Z,d+�Z-d,�Z.d-�Z/d.�Z0d/�Z1d0�Z2dCd2�Z3d3�Z4d4�Z5d5�Z6d6�Z7d7�Z8d8�Z9d9�Z:d:�Z;d;�Z<d<�Z=d=�Z>d>�Z?d?�Z@d@�ZAdA�ZBdBS)D�BaseQRdeletec��|�d��\}}}t|jd��D]K}t|||d���\}}t	j||d��}t
||||j|j���LdS)NrarF��overwrite_qr�	rn�rangerrr�deleter,rr�rYrr*r+�row�q1�r1�a1s        r �test_sqr_1_rowzBaseQRdelete.test_sqr_1_rowl����-�-��&�&���1�a������$�$�	7�	7�C��q�!�S�u�=�=�=�F�B����1�c�1�%�%�B��R��R���D�I�6�6�6�6�	7�	7r"c
�T�|�d��\}}}tdd��D]}}t|jd|z
��D]]}t||||d���\}}t	j|t
|||z��d��}t||||j|j	���^�~dS)Nrar
�rFrv�
rnryrrrrz�slicer,rr�	rYrr*r+�ndelr|r}r~rs	         r �test_sqr_p_rowzBaseQRdelete.test_sqr_p_rows����-�-��&�&���1�a��!�Q�K�K�	;�	;�D��Q�W�Q�Z��_�-�-�
;�
;��"�1�a��d��G�G�G���B��Y�q�%��S��X�"6�"6��:�:����R��T�Y��	�:�:�:�:�
;�	;�	;r"c��|�d��\}}}t|jd��D]L}t|||dd���\}}t	j||d��}t
||||j|j���MdS)Nrar�colF��whichrwrx�rYrr*r+r�r}r~rs        r �test_sqr_1_colzBaseQRdelete.test_sqr_1_col{����-�-��&�&���1�a������$�$�	7�	7�C��q�!�S��E�J�J�J�F�B����1�c�1�%�%�B��R��R���D�I�6�6�6�6�	7�	7r"c
�V�|�d��\}}}tdd��D]~}t|jd|z
��D]^}t||||dd���\}}t	j|t
|||z��d��}t||||j|j	���_�dS)Nrar
r�rr�Fr�r��	rYrr*r+r�r�r}r~rs	         r �test_sqr_p_colzBaseQRdelete.test_sqr_p_col������-�-��&�&���1�a��!�Q�K�K�	;�	;�D��Q�W�Q�Z��_�-�-�
;�
;��"�1�a��d�%�05�7�7�7���B��Y�q�%��S��X�"6�"6��:�:����R��T�Y��	�:�:�:�:�	
;�	;�	;r"c��|�d��\}}}t|jd��D]K}t|||d���\}}t	j||d��}t
||||j|j���LdS)NrbrFrvrxr{s        r �test_tall_1_rowzBaseQRdelete.test_tall_1_row�s����-�-��'�'���1�a������$�$�	7�	7�C��q�!�S�u�=�=�=�F�B����1�c�1�%�%�B��R��R���D�I�6�6�6�6�	7�	7r"c
�T�|�d��\}}}tdd��D]}}t|jd|z
��D]]}t||||d���\}}t	j|t
|||z��d��}t||||j|j	���^�~dS)Nrbr
r�rFrvr�r�s	         r �test_tall_p_rowzBaseQRdelete.test_tall_p_row�s����-�-��'�'���1�a��!�Q�K�K�	;�	;�D��Q�W�Q�Z��_�-�-�
;�
;��"�1�a��d��G�G�G���B��Y�q�%��S��X�"6�"6��:�:����R��T�Y��	�:�:�:�:�
;�	;�	;r"c��|�d��\}}}t|jd��D]L}t|||dd���\}}t	j||d��}t
||||j|j���MdS)Nrbrr�Fr�rxr�s        r �test_tall_1_colzBaseQRdelete.test_tall_1_col�s����-�-��'�'���1�a������$�$�	7�	7�C��q�!�S��E�J�J�J�F�B����1�c�1�%�%�B��R��R���D�I�6�6�6�6�	7�	7r"c
�V�|�d��\}}}tdd��D]~}t|jd|z
��D]^}t||||dd���\}}t	j|t
|||z��d��}t||||j|j	���_�dS)Nrbr
r�rr�Fr�r�r�s	         r �test_tall_p_colzBaseQRdelete.test_tall_p_col�s����-�-��'�'���1�a��!�Q�K�K�	;�	;�D��Q�W�Q�Z��_�-�-�
;�
;��"�1�a��d�%�05�7�7�7���B��Y�q�%��S��X�"6�"6��:�:����R��T�Y��	�:�:�:�:�	
;�	;�	;r"c��|�d��\}}}t|jd��D]K}t|||d���\}}t	j||d��}t
||||j|j���LdS)NrcrFrvrxr{s        r �test_fat_1_rowzBaseQRdelete.test_fat_1_row�r�r"c
�T�|�d��\}}}tdd��D]}}t|jd|z
��D]]}t||||d���\}}t	j|t
|||z��d��}t||||j|j	���^�~dS)Nrcr
r�rFrvr�r�s	         r �test_fat_p_rowzBaseQRdelete.test_fat_p_row�r�r"c��|�d��\}}}t|jd��D]L}t|||dd���\}}t	j||d��}t
||||j|j���MdS)Nrcrr�Fr�rxr�s        r �test_fat_1_colzBaseQRdelete.test_fat_1_col�r�r"c
�V�|�d��\}}}tdd��D]~}t|jd|z
��D]^}t||||dd���\}}t	j|t
|||z��d��}t||||j|j	���_�dS)Nrcr
r�rr�Fr�r�r�s	         r �test_fat_p_colzBaseQRdelete.test_fat_p_col�r�r"c	��|�dd��\}}}t|jd��D]L}t|||d���\}}t	j||d��}t
||||j|jd���MdS�Nrb�economicrFrvrxr{s        r �test_economic_1_rowz BaseQRdelete.test_economic_1_row�s����-�-��
�3�3���1�a������$�$�	>�	>�C��q�!�S�u�=�=�=�F�B����1�c�1�%�%�B��R��R���D�I�u�=�=�=�=�	>�	>r"c	�2�|�dd��\}}}t|jd|z
��D]^}t||||d���\}}t	j|t
|||z��d��}t||||j|j	d���_dSr�r�)	rYr�rr*r+r|r}r~rs	         r �base_economic_p_row_xxxz$BaseQRdelete.base_economic_p_row_xxx�s����-�-��
�3�3���1�a������D��)�)�	>�	>�C��q�!�S�$�U�C�C�C�F�B����1�e�C��T��2�2�A�6�6�B��R��R���D�I�u�=�=�=�=�	>�	>r"c�0�|�d��dS�Nr.�r�rXs r �test_economic_p_row_economicz)BaseQRdelete.test_economic_p_row_economic�����$�$�Q�'�'�'�'�'r"c�0�|�d��dS�Nr1r�rXs r �test_economic_p_row_sqrz$BaseQRdelete.test_economic_p_row_sqr�r�r"c�0�|�d��dS�Nr/r�rXs r �test_economic_p_row_fatz$BaseQRdelete.test_economic_p_row_fat�r�r"c	�
�|�dd��\}}}t|jd��D]M}t|||dd���\}}t	j||d��}t
||||j|jd���NdS)Nrbr�rr�Fr�rxr�s        r �test_economic_1_colz BaseQRdelete.test_economic_1_col�s����-�-��
�3�3���1�a������$�$�	>�	>�C��q�!�S��E�J�J�J�F�B����1�c�1�%�%�B��R��R���D�I�u�=�=�=�=�	>�	>r"c
�Z�|�dd��\}}}tdd��D]}t|jd|z
��D]_}t||||dd���\}}t	j|t
|||z��d��}t||||j|j	d���`��dS)	Nrbr�r
r�rr�Fr�r�r�s	         r �test_economic_p_colz BaseQRdelete.test_economic_p_col�s����-�-��
�3�3���1�a��!�Q�K�K�	B�	B�D��Q�W�Q�Z��_�-�-�
B�
B��"�1�a��d�%�05�7�7�7���B��Y�q�%��S��X�"6�"6��:�:����R��T�Y��	�5�A�A�A�A�	
B�	B�	Br"c��|�d��\}}}t|jd��D]K}t|||d���\}}t	j||d��}t
||||j|j���LdS)NrdrFrvrxr{s        r �test_Mx1_1_rowzBaseQRdelete.test_Mx1_1_row�r�r"c
�T�|�d��\}}}tdd��D]}}t|jd|z
��D]]}t||||d���\}}t	j|t
|||z��d��}t||||j|j	���^�~dS)Nrdr
r�rFrvr�r�s	         r �test_Mx1_p_rowzBaseQRdelete.test_Mx1_p_row�r�r"c��|�d��\}}}t|jd��D]L}t|||dd���\}}t	j||d��}t
||||j|j���MdS)Nrerr�Fr�rxr�s        r �test_1xN_1_colzBaseQRdelete.test_1xN_1_colr�r"c
�V�|�d��\}}}tdd��D]~}t|jd|z
��D]^}t||||dd���\}}t	j|t
|||z��d��}t||||j|j	���_�dS)Nrer
r�rr�Fr�r�r�s	         r �test_1xN_p_colzBaseQRdelete.test_1xN_p_colr�r"c	��|�dd��\}}}t|jd��D]L}t|||d���\}}t	j||d��}t
||||j|jd���MdS)Nrdr�rFrvrxr{s        r �test_Mx1_economic_1_rowz$BaseQRdelete.test_Mx1_economic_1_rows����-�-��z�2�2���1�a������$�$�	>�	>�C��q�!�S�u�=�=�=�F�B����1�c�1�%�%�B��R��R���D�I�u�=�=�=�=�	>�	>r"c
�X�|�dd��\}}}tdd��D]~}t|jd|z
��D]^}t||||d���\}}t	j|t
|||z��d��}t||||j|j	d���_�dS)Nrdr�r
r�rFrvr�r�s	         r �test_Mx1_economic_p_rowz$BaseQRdelete.test_Mx1_economic_p_rows����-�-��z�2�2���1�a��!�Q�K�K�	B�	B�D��Q�W�Q�Z��_�-�-�
B�
B��"�1�a��d��G�G�G���B��Y�q�%��S��X�"6�"6��:�:����R��T�Y��	�5�A�A�A�A�
B�	B�	Br"c�"�|�d��\}}}t||ddd��\}}t|tjd|j�����t|tjd|jdf|j�����dS)Nrerrr|�rr�rr)rnrrr�ndarrayrr�rYrr*r+r}r~s      r �test_delete_last_1_rowz#BaseQRdelete.test_delete_last_1_row&s����-�-��&�&���1�a��1�a��A�u�-�-���B��R���&���@�@�@�A�A�A��R���1�a�g�a�j�/���I�I�I�J�J�J�J�Jr"c�n�|�dd��\}}}t||d|jdd��\}}t|t	jd|j�����t|t	jd|jdf|j�����|�dd��\}}}t||d|jdd��\}}t|t	jd|j�����t|t	jd|jdf|j�����dS)	Nrbr[rr|r�r�rr�)rnrrrrr�rr�s      r �test_delete_last_p_rowz#BaseQRdelete.test_delete_last_p_row-s���-�-���/�/���1�a��1�a��A�G�A�J��6�6���B��R���&���@�@�@�A�A�A��R���1�a�g�a�j�/���I�I�I�J�J�J��-�-��
�3�3���1�a��1�a��A�G�A�J��6�6���B��R���&���@�@�@�A�A�A��R���1�a�g�a�j�/���I�I�I�J�J�J�J�Jr"c��|�dd��\}}}t||ddd��\}}t|tj|jddf|j�����t|tjd|j�����|�dd��\}}}t||ddd��\}}t|��t|j|jk��t|j|jk��t|tj|jddf|j�����dS)	Nrdr�rrr�r�r�r[)	rnrrrr�rrr!rr�s      r �test_delete_last_1_colz#BaseQRdelete.test_delete_last_1_col8s���-�-��z�2�2���1�a��1�a��A�u�-�-���B��R���1�7�1�:�q�/���I�I�I�J�J�J��R���&���@�@�@�A�A�A��-�-��v�.�.���1�a��1�a��A�u�-�-���B��r�������A�G�#�$�$�$����A�G�#�$�$�$��R���1�7�1�:�q�/���I�I�I�J�J�J�J�Jr"c��|�dd��\}}}t||d|jdd��\}}t|��t	|j|jk��t	|j|jk��t
|tj|jddf|j�����|�dd��\}}}t||d|jdd��\}}t
|tj|jddf|j�����t
|tjd|j�����dS)	Nrbr[rrr�r�r�r�)	rnrrr!rrrrr�r�s      r �test_delete_last_p_colz#BaseQRdelete.test_delete_last_p_colEs+���-�-���/�/���1�a��1�a��A�G�A�J��6�6���B��r�������A�G�#�$�$�$����A�G�#�$�$�$��R���1�7�1�:�q�/���I�I�I�J�J�J��-�-��
�3�3���1�a��1�a��A�G�A�J��6�6���B��R���1�7�1�:�q�/���I�I�I�J�J�J��R���&���@�@�@�A�A�A�A�Ar"c�~�|�d��\}}}t||ddd��\}}t|tjd|j�����t|tjd|jdf|j�����|�d��\}}}t||ddd��\}}t|��t|j|jk��t|j|jk��t|tj|jddf|j�����dS)Nrfrrr|r�r�r�)	rnrrrr�rrr!rr�s      r �test_delete_1x1_row_colz$BaseQRdelete.test_delete_1x1_row_colRs���-�-��&�&���1�a��1�a��A�u�-�-���B��R���&���@�@�@�A�A�A��R���1�a�g�a�j�/���I�I�I�J�J�J��-�-��&�&���1�a��1�a��A�u�-�-���B��r�������A�G�#�$�$�$����A�G�#�$�$�$��R���1�7�1�:�q�/���I�I�I�J�J�J�J�Jr"c	��|dkr@t|d��t|d��f}t|d��td��f}n>td��td��f}td��td|��f}tjgd�|��D�]]\}}	|�|��\}
}}|||f��\}
}|dkrt	j|
|	|dkrdnd��}nkt|	|	|z��}|	dkr4t|	|	|z|dkr
|
jdn|
jdz��}t	j|
||dkrdnd��}|�d��}|�d��}t|
||	||d��\}}t||||j
|j��t|
||	||d��\}}t||||j
|j��|rFt||
||j
|j���t||||j
|j���|�d��}|�d��}t|||	||d��\}}t||||j
|j��t|||	||d��\}}t||||j
|j��|rFt||||j
|j���t||||j
|j���|�d��}|�d��}|||f��\}
}t|
||	||d��\}}t||||j
|j��t|
||	||d��\}}t||||j
|j��|rFt||
||j
|j���t||||j
|j�����_dS)	Nr|�rarbrcrr�FFTr)
r��	itertools�productrnrrzr�copyrr,rrr)rY�adjust_strides�ks�pr��
overwriteable�qind�rindrlr:r�q0�r0�qs�rsrr<r*r+r}r~�q1o�r1o�q2�r2�q2o�r2o�q3�r3�q3o�r3os                               r �base_non_simple_stridesz$BaseQRdelete.base_non_simple_strideses����E�>�>��!�D�M�M�5��4�=�=�1�D��!�D�M�M�5��;�;�/�D�D��$�K�K��t���-�D��$�K�K��t�Q�B���0�D� �(�)?�)?�)?��D�D�.	O�.	O�G�D�!����t�,�,�J�A�r�2�#�^�R��H�-�-�F�B���A�v�v��Y�q�!�%�5�.�.�Q�Q�a�@�@����!�A�a�C�L�L���q�5�5��a��Q��-2�e�^�^�q�w�q�z�z�����"M�N�N�A��Y�q�!�%�5�.�.�Q�Q�a�@�@��������A�������A��r�1�a��E�5�9�9�F�B���R��R���D�I�6�6�6� ��Q��1�e�T�:�:�H�C���S�#�r�4�9�d�i�8�8�8��
N���R��X�D�I�D�I�N�N�N�N���Q�t�W�4�9�4�9�M�M�M�M�������A�������A��q�"�a��E�5�9�9�F�B���R��R���D�I�6�6�6� ��B��1�e�T�:�:�H�C���S�#�r�4�9�d�i�8�8�8��
O���Q�t�W�4�9�4�9�M�M�M�M���R��X�D�I�D�I�N�N�N�N�������A�������A�#�^�Q��F�+�+�F�B���r�2�q�!�U�E�:�:�F�B���R��R���D�I�6�6�6� ��R��A�u�d�;�;�H�C���S�#�r�4�9�d�i�8�8�8��
O���R��X�D�I�D�I�N�N�N�N���R��X�D�I�D�I�N�N�N�N��].	O�.	Or"c�D�|�tdgddd��dS)Nrrr|T�r�r@rXs r �test_non_unit_strides_1_rowz(BaseQRdelete.test_non_unit_strides_1_row��&���$�$�\�A�3��5�$�G�G�G�G�Gr"c�D�|�tdgddd��dS)Nrr.r|Tr�rXs r �test_non_unit_strides_p_rowz(BaseQRdelete.test_non_unit_strides_p_row�r�r"c�D�|�tdgddd��dS)Nrrr�Tr�rXs r �test_non_unit_strides_1_colz(BaseQRdelete.test_non_unit_strides_1_col�r�r"c�D�|�tdgddd��dS�Nrr.r�Fr�rXs r �test_non_unit_strides_p_colz(BaseQRdelete.test_non_unit_strides_p_col�s&���$�$�\�A�3��5�%�H�H�H�H�Hr"c�D�|�tdgddd��dS�Nrrr|F�r�rDrXs r �test_neg_strides_1_rowz#BaseQRdelete.test_neg_strides_1_row��&���$�$�^�a�S�!�U�E�J�J�J�J�Jr"c�D�|�tdgddd��dS�Nrr.r|Fr�rXs r �test_neg_strides_p_rowz#BaseQRdelete.test_neg_strides_p_row�r�r"c�D�|�tdgddd��dS�Nrrr�Fr�rXs r �test_neg_strides_1_colz#BaseQRdelete.test_neg_strides_1_col�r�r"c�D�|�tdgddd��dSr�r�rXs r �test_neg_strides_p_colz#BaseQRdelete.test_neg_strides_p_col�r�r"c�D�|�tdgddd��dSr��r�rLrXs r �test_non_itemize_strides_1_rowz+BaseQRdelete.test_non_itemize_strides_1_row��'���$�$�%8�1�#�q�%��O�O�O�O�Or"c�D�|�tdgddd��dSrrrXs r �test_non_itemize_strides_p_rowz+BaseQRdelete.test_non_itemize_strides_p_row�r
r"c�D�|�tdgddd��dSrrrXs r �test_non_itemize_strides_1_colz+BaseQRdelete.test_non_itemize_strides_1_col�r
r"c�D�|�tdgddd��dSr�rrXs r �test_non_itemize_strides_p_colz+BaseQRdelete.test_non_itemize_strides_p_col�r
r"c�D�|�tdgddd��dSr��r�rTrXs r � test_non_native_byte_order_1_rowz-BaseQRdelete.test_non_native_byte_order_1_row�r�r"c�D�|�tdgddd��dSrrrXs r � test_non_native_byte_order_p_rowz-BaseQRdelete.test_non_native_byte_order_p_row�r�r"c�D�|�tdgddd��dSrrrXs r � test_non_native_byte_order_1_colz-BaseQRdelete.test_non_native_byte_order_1_col�r�r"c�D�|�tdgddd��dSr�rrXs r � test_non_native_byte_order_p_colz-BaseQRdelete.test_non_native_byte_order_p_col�r�r"c
��|�d��\}}}tjddgddgddg��D]�\}}}t|||||d�	��\}}|dkrDt	j|t
||jd
z||z|jd
z��d
��}	nCt	j|t
||jd
z||z|jdz��d��}	t|||	|j	|j
����dS)Nra���i����rr.r|r�Frvr)rnr�r�rrrzr�rr,rr)
rYrr*r+r:r��wr}r~rs
          r �
test_neg_kzBaseQRdelete.test_neg_k�s���-�-��&�&���1�a� �(�"�b��A�q�6�E�5�>�J�J�	7�	7�G�A�q�!��q�!�Q��1�5�A�A�A�F�B���E�z�z��Y�q�%��!�'�!�*��a��c�!�'�!�*�n�"E�"E�q�I�I����Y�q�%��!�'�!�*��a��c�!�'�!�*�n�"E�"E�q�I�I���R��R���D�I�6�6�6�6�
	7�	7r"r[c��|dkrdnd}|dkr@t|d��t|d��f}t|d��td��f}n>td��td��f}td��td|��f}|�d|��\}	}
}|dkrtj|	d|dkrdnd��}n/tj|	tdd|z��|dkrdnd��}|
�d	��}
|�d	��}t|
|d||d��\}}t
||||j|j|��t
|
||	|j|j|��|r�|
�d	��}
|�d	��}t|
|d||d��\}}t
||||j|j|��t||
||j|j�
��t||||j|j�
��|r�|
�d��}
|�d��}t|
|d||d��\}}t
||||j|j|��t||
||j|j�
��t||||j|j�
��dSdS)Nr[TFr|rarr.rr�r�C)
r�rnrrzr�rr,rrr)rYr�r��test_C�test_Frhrr�r�rr�r�rr*r+r}r~r�r�r�r�s                     r �base_overwrite_qrzBaseQRdelete.base_overwrite_qr�s���!�V�^�^�T�T��
��E�>�>��!�D�M�M�5��4�=�=�1�D��!�D�M�M�5��;�;�/�D�D��$�K�K��t���-�D��$�K�K��t�Q�B���0�D��M�M�%��.�.�	��2�r���6�6���1�a�e�u�n�n���!�<�<�B�B���1�e�A�q��s�m�m�%�5�.�.�Q�Q�a�H�H�B�
�G�G�C�L�L���G�G�C�L�L���1�a��A�u�e�4�4���B���R��T�Y��	�:�>�>�>���A�q�$�)�T�Y�
�;�;�;��	I�������A�������A��q�!�Q��5�$�7�7�F�B���R��R���D�I�z�B�B�B��B��$��d�i�d�i�H�H�H�H��B��$��d�i�d�i�H�H�H�H��	I�������A�������A��q�!�Q��5�$�7�7�F�B���R��R���D�I�z�B�B�B��B��$��d�i�d�i�H�H�H�H��B��$��d�i�d�i�H�H�H�H�H�H�
	I�	Ir"c�6�|�dddd��dS)Nr|rT�r"rXs r �test_overwrite_qr_1_rowz$BaseQRdelete.test_overwrite_qr_1_row��"�����u�a��t�4�4�4�4�4r"c�8�|�ddddd��dS)Nr|rTr�r$rXs r � test_overwrite_economic_qr_1_rowz-BaseQRdelete.test_overwrite_economic_qr_1_row�$�����u�a��t�Z�@�@�@�@�@r"c�6�|�dddd��dS)Nr�rTr$rXs r �test_overwrite_qr_1_colz$BaseQRdelete.test_overwrite_qr_1_cols$��	
���u�a��t�4�4�4�4�4r"c�6�|�dddd��dS)Nr|r.Tr$rXs r �test_overwrite_qr_p_rowz$BaseQRdelete.test_overwrite_qr_p_rowr&r"c�8�|�ddddd��dS)Nr|r.Tr�r$rXs r � test_overwrite_economic_qr_p_rowz-BaseQRdelete.test_overwrite_economic_qr_p_rowr)r"c�6�|�dddd��dS)Nr�r.FTr$rXs r �test_overwrite_qr_p_colz$BaseQRdelete.test_overwrite_qr_p_cols$��	
���u�a���5�5�5�5�5r"c�v�|�d��\}}}ttt||dd���dS)Nrar�foo�r��rn�
assert_raisesr5r�rYrr*r+s    r �test_bad_whichzBaseQRdelete.test_bad_whichs:���-�-��&�&���1�a��j�)�Q��1�E�B�B�B�B�B�Br"c	��|�d��\}}}ttt|||jdd��ttt|||jddz
d��ttt|||jddd��ttt|||jddz
dd��dS)Nrbrrr��rnr6r5rrr7s    r �
test_bad_kzBaseQRdelete.test_bad_ks����-�-��'�'���1�a��j�)�Q��1�7�1�:�q�A�A�A��j�)�Q��A�G�A�J�;�q�=�!�D�D�D��j�)�Q��1�7�1�:�q�%�H�H�H��j�)�Q��A�G�A�J�;�q�=�!�U�K�K�K�K�Kr"c	���|�d��\}}}ttt||dd��ttt||ddd��ttt||dd��ttt||ddd��ttt||d|jddz
��ttt||d|jddz
d��dS)Nrbrr$r�r.r
rr:r7s    r �
test_bad_pzBaseQRdelete.test_bad_p#s����-�-��'�'���1�a��j�)�Q��1�b�9�9�9��j�)�Q��1�b�%�@�@�@�	�j�)�Q��1�a�8�8�8��j�)�Q��1�a��?�?�?�	�j�)�Q��1�a�g�a�j��l�C�C�C��j�)�Q��1�a�g�a�j��l�E�J�J�J�J�Jr"c��|�d��\}}}tttt	jg��|dd��dS�Nrbrr�rnr6r5rr�arrayr7s    r �test_empty_qzBaseQRdelete.test_empty_q1s?���-�-��'�'���1�a��j�)�R�X�b�\�\�1�a��C�C�C�C�Cr"c��|�d��\}}}ttt|t	jg��dd��dSr?r@r7s    r �test_empty_rzBaseQRdelete.test_empty_r6s?���-�-��'�'���1�a��j�)�Q������a��C�C�C�C�Cr"c��|�d��\}}}|dd�}ttt||dd��dS)Nrbrrr5r7s    r �test_mismatched_q_and_rz$BaseQRdelete.test_mismatched_q_and_r;sD���-�-��'�'���1�a�
�a�b�b�E���j�)�Q��1�a�8�8�8�8�8r"c
��gd�}|�d��\}}}|D�]\}|j�|��}tjd���5|j�|��}ddd��n#1swxYwYttt||ddd��ttt||ddd��ttt||ddd	��ttt||ddd	��ttt||ddd��ttt||ddd��ttt||ddd	��ttt||ddd	����^dS)
N��int8�int16�int32�int64�uint8�uint16�uint32�uint64�float16�
longdouble�longcomplex�boolrb�ignore��invalidrrr|r
r�)rn�realrPr�errstater6r5r)rY�dtsrr�r�rr*r+s        r �test_unsupported_dtypesz$BaseQRdelete.test_unsupported_dtypes@s��������M�M�&�)�)�	��2�r��	E�	E�E�����u�%�%�A���X�.�.�.�
*�
*��G�N�N�5�)�)��
*�
*�
*�
*�
*�
*�
*�
*�
*�
*�
*����
*�
*�
*�
*��*�i��B��1�e�D�D�D��*�i��B��1�e�D�D�D��*�i��B��1�e�D�D�D��*�i��B��1�e�D�D�D��*�i��Q��1�e�D�D�D��*�i��Q��1�e�D�D�D��*�i��Q��1�e�D�D�D��*�i��Q��1�e�D�D�D�D�	E�	Es�A9�9A=	�A=	c	��|�d��\}}}|�d��}tj|d<t	t
t||ddd��t	t
t||ddd��t	t
t||ddd��t	t
t||ddd��|�d��}tj|d<t	t
t||ddd��t	t
t||ddd��t	t
t||ddd��t	t
t||ddd��dS)	Nrbr�r`rrr|r.r�)rnr�r�nanr6r5r)rY�a0r�r�r*r+s      r �test_check_finitezBaseQRdelete.test_check_finiteTs#���]�]�6�*�*�
��B���G�G�C�L�L�����#���j�)�Q��A�q�%�@�@�@��j�)�Q��A�q�%�@�@�@��j�)�Q��A�q�%�@�@�@��j�)�Q��A�q�%�@�@�@��G�G�C�L�L�����#���j�)�R��A�q�%�@�@�@��j�)�R��A�q�%�@�@�@��j�)�R��A�q�%�@�@�@��j�)�R��A�q�%�@�@�@�@�@r"c	�`�|�d��\}}}ttt|d|ddd��ttt||dddd��ttt|d|ddd��ttt||dddd��dS)Nrfr�rrr|r�r5r7s    r �test_qr_scalarzBaseQRdelete.test_qr_scalares����-�-��&�&���1�a��j�)�Q�t�W�a��A�u�E�E�E��j�)�Q��$���A�u�E�E�E��j�)�Q�t�W�a��A�u�E�E�E��j�)�Q��$���A�u�E�E�E�E�Er"Nro)Crprqrrr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrr	rrrrrrrrr"r%r(r+r-r/r1r8r;r=rBrDrFr[r_rarOr"r rtrtksG������7�7�7�;�;�;�7�7�7�;�;�;�7�7�7�;�;�;�7�7�7�;�;�;�7�7�7�;�;�;�7�7�7�;�;�;�>�>�>�>�>�>�(�(�(�(�(�(�(�(�(�>�>�>�B�B�B�7�7�7�;�;�;�7�7�7�;�;�;�>�>�>�B�B�B�K�K�K�	K�	K�	K�K�K�K�B�B�B�K�K�K�&7O�7O�7O�rH�H�H�H�H�H�H�H�H�I�I�I�K�K�K�K�K�K�K�K�K�K�K�K�P�P�P�P�P�P�P�P�P�P�P�P�K�K�K�K�K�K�K�K�K�K�K�K�7�7�7�$I�$I�$I�$I�L5�5�5�A�A�A�5�5�5�
5�5�5�A�A�A�6�6�6�
C�C�C�L�L�L�K�K�K�D�D�D�
D�D�D�
9�9�9�
E�E�E�(A�A�A�"F�F�F�F�Fr"rtc�.�eZdZejd��ZdS)�TestQRdelete_f�fN�rprqrrrrrOr"r rcrcl��������B�H�S�M�M�E�E�Er"rcc�.�eZdZejd��ZdS)�TestQRdelete_Fr�NrerOr"r rhrhorfr"rhc�.�eZdZejd��ZdS)�TestQRdelete_d�dNrerOr"r rjrjrrfr"rjc�.�eZdZejd��ZdS)�TestQRdelete_D�DNrerOr"r rmrmurfr"rmc���eZdZdG�fd�	Zd�Zd�Zd�Zd�Zd	�Zd
�Z	d�Z
d�Zd
�Zd�Z
d�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd �Zd!�Z d"�Z!d#�Z"d$�Z#d%�Z$d&�Z%d'�Z&d(�Z'd)�Z(d*�Z)d+�Z*d,�Z+d-�Z,d.�Z-d/�Z.d0�Z/d1�Z0d2�Z1d3�Z2d4�Z3d5�Z4d6�Z5d7�Z6d8�Z7d9�Z8d:�Z9d;�Z:d<�Z;d=�Z<d>�Z=d?�Z>d@�Z?dA�Z@dB�ZAdC�ZBdD�ZCdE�ZDdF�ZE�xZFS)H�BaseQRinsertr[r|rc���t���||��\}}}t|dk��|dkr^|dkr+tj�|jd��}n�tj�||jdf��}ns|dkr^|dkr+tj�|jd��}n<tj�|jd|f��}nt
d��tj|j�	d����r,tj�|j��}	|d|	zz}|�
|j��}||||fS)Nrr|rr�z%which should be either "row" or "col"rg)�superrnrrrirr5rkrrlrP)rYrlrhr�r�rr*r+�urC�	__class__s          �r rnzBaseQRinsert.generateysG����'�'�"�"�4��.�.���1�a���A������E�>�>��A�v�v��I�$�$�Q�W�Q�Z�0�0����I�$�$�a�����_�5�5���
�e�^�^��A�v�v��I�$�$�Q�W�Q�Z�0�0����I�$�$�a�g�a�j�!�_�5�5����>�?�?�?�
�?�4�:�?�?�1�-�-�.�.�	��	� � ���)�)�A��B��F�
�A�
�H�H�T�Z� � ���!�Q��z�r"c��|�dd���\}}}}t|jddz��D]K}t||||��\}}t	j|||d��}t
||||j|j���LdS)Nrar|r4rr�	rnryrr
r�insertr,rr�	rYrr*r+rsr|r}r~rs	         r r�zBaseQRinsert.test_sqr_1_row�����]�]�5��]�6�6�
��1�a�������a��(�(�	7�	7�C��q�!�Q��,�,�F�B����1�c�1�a�(�(�B��R��R���D�I�6�6�6�6�	7�	7r"c	�N�|�ddd���\}}}}t|jddz��D]i}t||||��\}}t	j|t	jd|tj��|d��}t||||j	|j
���jdS)Nrar|r.�r�r�rr�rnryrr
rrwr[�intpr,rrrxs	         r r�zBaseQRinsert.test_sqr_p_row�s����]�]�5���]�;�;�
��1�a�������a��(�(�	7�	7�C��q�!�Q��,�,�F�B����1�b�g�a��b�g�6�6��1�=�=�B��R��R���D�I�6�6�6�6�	7�	7r"c	��|�dd���\}}}}t|jddz��D]N}t||||dd���\}}t	j|||d��}t
||||j|j���OdS)Nrar�r4rF��
overwrite_qrurv�	rYrr*r+rsr�r}r~rs	         r r�zBaseQRinsert.test_sqr_1_col�����]�]�5��]�6�6�
��1�a�������a��(�(�	7�	7�C��q�!�Q��U�%�H�H�H�F�B����1�c�1�a�(�(�B��R��R���D�I�6�6�6�6�	7�	7r"c	�T�|�ddd���\}}}}t|jddz��D]l}t||||dd���\}}t	j|t	jd|tj��|d��}t||||j	|j
���mdS)Nrar�r.r{rFrr|r�s	         r r�zBaseQRinsert.test_sqr_p_col�����]�]�5���]�;�;�
��1�a�������a��(�(�	7�	7�C��q�!�Q��U�%�H�H�H�F�B����1�b�g�a��b�g�6�6��1�=�=�B��R��R���D�I�6�6�6�6�	7�	7r"c��|�dd���\}}}}t|jddz��D]K}t||||��\}}t	j|||d��}t
||||j|j���LdS)Nrbr|r4rrrvrxs	         r r�zBaseQRinsert.test_tall_1_row�s����]�]�6��]�7�7�
��1�a�������a��(�(�	7�	7�C��q�!�Q��,�,�F�B����1�c�1�a�(�(�B��R��R���D�I�6�6�6�6�	7�	7r"c	�N�|�ddd���\}}}}t|jddz��D]i}t||||��\}}t	j|t	jd|tj��|d��}t||||j	|j
���jdS)Nrbr|r.r{rrr|rxs	         r r�zBaseQRinsert.test_tall_p_row�s����]�]�6��!�]�<�<�
��1�a�������a��(�(�	7�	7�C��q�!�Q��,�,�F�B����1�b�g�a��b�g�6�6��1�=�=�B��R��R���D�I�6�6�6�6�	7�	7r"c	��|�dd���\}}}}t|jddz��D]N}t||||dd���\}}t	j|||d��}t
||||j|j���OdS)Nrbr�r4rFrrvr�s	         r r�zBaseQRinsert.test_tall_1_col�s����]�]�6��]�7�7�
��1�a�������a��(�(�	7�	7�C��q�!�Q��U�%�H�H�H�F�B����1�c�1�a�(�(�B��R��R���D�I�6�6�6�6�	7�	7r"c	�T�|�dd|���\}}}}t|jddz��D]l}t||||dd���\}}t	j|t	j||tj��|d��}	t|||	|j	|j
���mdS)Nrbr�r{rFrr|�
rYr�rr*r+rsr�r}r~rs
          r �base_tall_p_col_xxxz BaseQRinsert.base_tall_p_col_xxx�s����]�]�6��!�]�<�<�
��1�a�������a��(�(�	7�	7�C��q�!�Q��U�%�H�H�H�F�B����1�b�g�a��b�g�6�6��1�=�=�B��R��R���D�I�6�6�6�6�	7�	7r"c�0�|�d��dSr��r�rXs r �test_tall_p_col_tallz!BaseQRinsert.test_tall_p_col_tall����� � ��#�#�#�#�#r"c�0�|�d��dSr�r�rXs r �test_tall_p_col_sqrz BaseQRinsert.test_tall_p_col_sqr�r�r"c�0�|�d��dSr�r�rXs r �test_tall_p_col_fatz BaseQRinsert.test_tall_p_col_fat�r�r"c��|�dd���\}}}}t|jddz��D]K}t||||��\}}t	j|||d��}t
||||j|j���LdS)Nrcr|r4rrrvrxs	         r r�zBaseQRinsert.test_fat_1_row�ryr"c	�N�|�dd|���\}}}}t|jddz��D]i}t||||��\}}t	j|t	j||tj��|d��}	t|||	|j	|j
���jdS)Nrcr|r{rrr|)
rYr�rr*r+rsr|r}r~rs
          r �base_fat_p_row_xxxzBaseQRinsert.base_fat_p_row_xxx�����]�]�5���]�;�;�
��1�a�������a��(�(�	7�	7�C��q�!�Q��,�,�F�B����1�b�g�a��b�g�6�6��1�=�=�B��R��R���D�I�6�6�6�6�	7�	7r"c�0�|�d��dSr��r�rXs r �test_fat_p_row_fatzBaseQRinsert.test_fat_p_row_fat��������"�"�"�"�"r"c�0�|�d��dSr�r�rXs r �test_fat_p_row_sqrzBaseQRinsert.test_fat_p_row_sqr�r�r"c�0�|�d��dSr�r�rXs r �test_fat_p_row_tallz BaseQRinsert.test_fat_p_row_tall�r�r"c	��|�dd���\}}}}t|jddz��D]N}t||||dd���\}}t	j|||d��}t
||||j|j���OdS)Nrcr�r4rFrrvr�s	         r r�zBaseQRinsert.test_fat_1_col�r�r"c	�T�|�ddd���\}}}}t|jddz��D]l}t||||dd���\}}t	j|t	jd|tj��|d��}t||||j	|j
���mdS)Nrcr�r.r{rFrr|r�s	         r r�zBaseQRinsert.test_fat_p_colr�r"c	��|�ddd��\}}}}t|jddz��D]N}t||||d���\}}t	j|||d��}t
||||j|jd���OdS)Nrbr�r|rrFrrvrxs	         r r�z BaseQRinsert.test_economic_1_rows����]�]�6�:�u�=�=�
��1�a�������a��(�(�	>�	>�C��q�!�Q��5�A�A�A�F�B����1�c�1�a�(�(�B��R��R���D�I�u�=�=�=�=�	>�	>r"c	�T�|�dddd��\}}}}t|jddz��D]l}t||||d���\}}t	j|t	jd|tj��|d��}t||||j	|j
d���mdS)	Nrbr�r|r.rrFrr|rxs	         r �test_economic_p_rowz BaseQRinsert.test_economic_p_rows����]�]�6�:�u�a�@�@�
��1�a�������a��(�(�	>�	>�C��q�!�Q��5�A�A�A�F�B����1�b�g�a��b�g�6�6��1�=�=�B��R��R���D�I�u�=�=�=�=�	>�	>r"c	�>�|�ddd���\}}}}t|jddz��D]a}t|||���|dd���\}}tj|||d��}t||||j|j	d���bdS)Nrbr�r�r4rFr)
rnryrr
r�rrwr,rrr�s	         r r�z BaseQRinsert.test_economic_1_cols����]�]�6�:�U�]�C�C�
��1�a�������a��(�(�	>�	>�C��q�!�Q�V�V�X�X�s�E��O�O�O�F�B����1�c�1�a�(�(�B��R��R���D�I�u�=�=�=�=�	>�	>r"c	���tjdd|j���}tjd|j���}tjgd�|j��}t	t
jt|||dd��dS)Nr1r.)r)rrrrrrr�)rrrrAr6r�LinAlgErrorr
)rYr*r+rss    r �test_economic_1_col_bad_updatez+BaseQRinsert.test_economic_1_col_bad_update!sl��
�F�1�a�t�z�*�*�*���F�1�D�J�'�'�'���H�_�_�_�d�j�1�1���f�(�)�Q��1�a��G�G�G�G�Gr"c	�X�|�ddd|���\}}}}t|jddz��D]m}t||||dd���\}}t	j|t	j||tj��|d��}	t|||	|j	|j
d���ndS)Nrbr�r�r{rFrr|r�s
          r �base_economic_p_col_xxxz$BaseQRinsert.base_economic_p_col_xxx-s����]�]�6�:�U�a�]�H�H�
��1�a�������a��(�(�	>�	>�C��q�!�Q��U�%�H�H�H�F�B����1�b�g�a��b�g�6�6��1�=�=�B��R��R���D�I�u�=�=�=�=�	>�	>r"c�0�|�d��dSr��r�rXs r �test_economic_p_col_ecoz$BaseQRinsert.test_economic_p_col_eco4r�r"c�0�|�d��dSr�r�rXs r �test_economic_p_col_sqrz$BaseQRinsert.test_economic_p_col_sqr8r�r"c�0�|�d��dSr�r�rXs r �test_economic_p_col_fatz$BaseQRinsert.test_economic_p_col_fat<r�r"c��|�dd���\}}}}t|jddz��D]K}t||||��\}}t	j|||d��}t
||||j|j���LdS)Nrdr|r4rrrvrxs	         r r�zBaseQRinsert.test_Mx1_1_row@ryr"c	�N�|�ddd���\}}}}t|jddz��D]i}t||||��\}}t	j|t	jd|tj��|d��}t||||j	|j
���jdS)Nrdr|r.r{rrr|rxs	         r r�zBaseQRinsert.test_Mx1_p_rowGr�r"c	��|�dd���\}}}}t|jddz��D]N}t||||dd���\}}t	j|||d��}t
||||j|j���OdS)Nrdr�r4rFrrvr�s	         r �test_Mx1_1_colzBaseQRinsert.test_Mx1_1_colNr�r"c	�T�|�ddd���\}}}}t|jddz��D]l}t||||dd���\}}t	j|t	jd|tj��|d��}t||||j	|j
���mdS)Nrdr�r.r{rFrr|r�s	         r �test_Mx1_p_colzBaseQRinsert.test_Mx1_p_colU����]�]�5���]�;�;�
��1�a�������a��(�(�	7�	7�C��q�!�Q��U�%�H�H�H�F�B����1�b�g�a��b�g�6�6��1�=�=�B��R��R���D�I�6�6�6�6�	7�	7r"c	��|�ddd��\}}}}t|jddz��D]L}t||||��\}}t	j|||d��}t
||||j|jd���MdS)Nrdr�r|rrFrvrxs	         r r�z$BaseQRinsert.test_Mx1_economic_1_row\s����]�]�5�*�e�<�<�
��1�a�������a��(�(�	>�	>�C��q�!�Q��,�,�F�B����1�c�1�a�(�(�B��R��R���D�I�u�=�=�=�=�	>�	>r"c	�P�|�dddd��\}}}}t|jddz��D]j}t||||��\}}t	j|t	jd|tj��|d��}t||||j	|j
d���kdS)Nrdr�r|r.rrFr|rxs	         r r�z$BaseQRinsert.test_Mx1_economic_p_rowcs����]�]�5�*�e�Q�?�?�
��1�a�������a��(�(�	>�	>�C��q�!�Q��,�,�F�B����1�b�g�a��b�g�6�6��1�=�=�B��R��R���D�I�u�=�=�=�=�	>�	>r"c	��|�ddd��\}}}}t|jddz��D]O}t||||dd���\}}t	j|||d��}t
||||j|jd���PdS)Nrdr�r�rFrrvr�s	         r �test_Mx1_economic_1_colz$BaseQRinsert.test_Mx1_economic_1_coljs����]�]�5�*�e�<�<�
��1�a�������a��(�(�	>�	>�C��q�!�Q��U�%�H�H�H�F�B����1�c�1�a�(�(�B��R��R���D�I�u�=�=�=�=�	>�	>r"c	�V�|�dddd��\}}}}t|jddz��D]m}t||||dd���\}}t	j|t	jd|tj��|d��}t||||j	|j
d���ndS)Nrdr�r�r.rFrr|r�s	         r �test_Mx1_economic_p_colz$BaseQRinsert.test_Mx1_economic_p_colqs����]�]�5�*�e�Q�?�?�
��1�a�������a��(�(�	>�	>�C��q�!�Q��U�%�H�H�H�F�B����1�b�g�a��b�g�6�6��1�=�=�B��R��R���D�I�u�=�=�=�=�	>�	>r"c��|�dd���\}}}}t|jddz��D]K}t||||��\}}t	j|||d��}t
||||j|j���LdS)Nrer|r4rrrvrxs	         r �test_1xN_1_rowzBaseQRinsert.test_1xN_1_rowxryr"c	�N�|�ddd���\}}}}t|jddz��D]i}t||||��\}}t	j|t	jd|tj��|d��}t||||j	|j
���jdS)Nrer|r.r{rrr|rxs	         r �test_1xN_p_rowzBaseQRinsert.test_1xN_p_rowr�r"c	��|�dd���\}}}}t|jddz��D]N}t||||dd���\}}t	j|||d��}t
||||j|j���OdS)Nrer�r4rFrrvr�s	         r r�zBaseQRinsert.test_1xN_1_col�r�r"c	�T�|�ddd���\}}}}t|jddz��D]l}t||||dd���\}}t	j|t	jd|tj��|d��}t||||j	|j
���mdS)Nrer�r.r{rFrr|r�s	         r r�zBaseQRinsert.test_1xN_p_col�r�r"c��|�dd���\}}}}t|jddz��D]K}t||||��\}}t	j|||d��}t
||||j|j���LdS)Nrfr|r4rrrvrxs	         r �test_1x1_1_rowzBaseQRinsert.test_1x1_1_row�ryr"c	�N�|�ddd���\}}}}t|jddz��D]i}t||||��\}}t	j|t	jd|tj��|d��}t||||j	|j
���jdS)Nrfr|r.r{rrr|rxs	         r �test_1x1_p_rowzBaseQRinsert.test_1x1_p_row�r�r"c	��|�dd���\}}}}t|jddz��D]N}t||||dd���\}}t	j|||d��}t
||||j|j���OdS)Nrfr�r4rFrrvr�s	         r �test_1x1_1_colzBaseQRinsert.test_1x1_1_col�r�r"c	�T�|�ddd���\}}}}t|jddz��D]l}t||||dd���\}}t	j|t	jd|tj��|d��}t||||j	|j
���mdS)Nrfr�r.r{rFrr|r�s	         r �test_1x1_p_colzBaseQRinsert.test_1x1_p_col�r�r"c	��|�dd���\}}}}ttt|d||dd��ttt||d|dd��ttt|||ddd��ttt|d||dd��ttt||d|dd��ttt|||ddd��dS)Nrfr|r4r�rr��rnr6r5r
�rYrr*r+rss     r �test_1x1_1_scalarzBaseQRinsert.test_1x1_1_scalar�s����]�]�5��]�6�6�
��1�a���j�)�Q�t�W�a��A�u�E�E�E��j�)�Q��$���A�u�E�E�E��j�)�Q��1�Q�4��E�B�B�B��j�)�Q�t�W�a��A�u�E�E�E��j�)�Q��$���A�u�E�E�E��j�)�Q��1�Q�4��E�B�B�B�B�Br"c	��dD�]S}|�|||���\}}}}	||||	f��\}
}}|dkr tj|||	|dkrdnd��}
nEtj|tj||tj��|dkr|	n|	|dkrdnd��}
|�d��}|�d��}|	�d��}t
|
||||d���\}}t|||
|j|j	��t
|
||||d	���\}}t|||
|j|j	��|�d��}|�d��}|	�d��}t
|||||d���\}}t|||
|j|j	��t
|||||d	���\}}t|||
|j|j	��|�d��}|�d��}|	�d��}t
|||||d���\}}t|||
|j|j	��t
|||||d	���\}}t|||
|j|j	��|�d��}|�d��}|	�d��}||||f��\}
}}t
|
||||d���\}}t|||
|j|j	��t
|
||||d	���\}} t|| |
|j|j	����UdS)
Nr�r{rr|rr�FrT)
rnrrwr[r}r�r
r,rr)!rYr�r:r�r�rlrr�r��u0r�r��us�air*r+rsr}r~r�r�r�r�r�r�r�r�r�r��q5�r5�q5o�r5os!                                 r r�z$BaseQRinsert.base_non_simple_strides�sY��*�/	9�/	9�D� �M�M�$�e�q�M�A�A�M�A�r�2�r�'���R���5�5�J�B��B��A�v�v��Y�q�!�R�e�u�n�n���!�D�D����Y�q�"�'�!�Q���"8�"8�#�u�n�n���"�"�e�^�^����4�4��������A�������A�������A��r�1�a��E��G�G�G�F�B���R��R���D�I�6�6�6� ��Q��1�e�4�H�H�H�H�C���S�#�r�4�9�d�i�8�8�8�������A�������A�������A��q�"�a��E��G�G�G�F�B���R��R���D�I�6�6�6� ��B��1�e�4�H�H�H�H�C���S�#�r�4�9�d�i�8�8�8�������A�������A�������A��q�!�R��E��G�G�G�F�B���R��R���D�I�6�6�6� ��A�r�1�e�4�H�H�H�H�C���S�#�r�4�9�d�i�8�8�8�������A�������A�������A�'���A�q�	�2�2�J�B��B��r�2�r�1�e�5�I�I�I�F�B���R��R���D�I�6�6�6� ��R��Q��T�J�J�J�H�C���S�#�r�4�9�d�i�8�8�8�8�_/	9�/	9r"c�@�|�tddd��dS�Nrrr|r�rXs r r�z(BaseQRinsert.test_non_unit_strides_1_row��"���$�$�\�1�a��?�?�?�?�?r"c�@�|�tddd��dS�Nrr.r|r�rXs r r�z(BaseQRinsert.test_non_unit_strides_p_row�r�r"c�@�|�tddd��dS�Nrrr�r�rXs r r�z(BaseQRinsert.test_non_unit_strides_1_col�r�r"c�@�|�tddd��dS�Nrr.r�r�rXs r r�z(BaseQRinsert.test_non_unit_strides_p_col�r�r"c�@�|�tddd��dSr�r�rXs r r�z#BaseQRinsert.test_neg_strides_1_row��"���$�$�^�Q��5�A�A�A�A�Ar"c�@�|�tddd��dSr�r�rXs r rz#BaseQRinsert.test_neg_strides_p_row�r�r"c�@�|�tddd��dSr�r�rXs r rz#BaseQRinsert.test_neg_strides_1_col�r�r"c�@�|�tddd��dSr�r�rXs r rz#BaseQRinsert.test_neg_strides_p_colr�r"c�@�|�tddd��dSr�rrXs r �test_non_itemsize_strides_1_rowz,BaseQRinsert.test_non_itemsize_strides_1_row�#���$�$�%8�!�Q��F�F�F�F�Fr"c�@�|�tddd��dSr�rrXs r �test_non_itemsize_strides_p_rowz,BaseQRinsert.test_non_itemsize_strides_p_rowr�r"c�@�|�tddd��dSr�rrXs r �test_non_itemsize_strides_1_colz,BaseQRinsert.test_non_itemsize_strides_1_col
r�r"c�@�|�tddd��dSr�rrXs r �test_non_itemsize_strides_p_colz,BaseQRinsert.test_non_itemsize_strides_p_col
r�r"c�@�|�tddd��dSr�rrXs r rz-BaseQRinsert.test_non_native_byte_order_1_rowr�r"c�@�|�tddd��dSr�rrXs r rz-BaseQRinsert.test_non_native_byte_order_p_rowr�r"c�@�|�tddd��dSr�rrXs r rz-BaseQRinsert.test_non_native_byte_order_1_colr�r"c�@�|�tddd��dSr�rrXs r rz-BaseQRinsert.test_non_native_byte_order_p_colr�r"c��|�ddd���\}}}}|�d��}|���}t|||ddd���\}}tj|d|d��}	t|||	|j|j��t||||j|j��t|||ddd	���\}
}t|
||	|j|j��t|
||j|j�
��t||�	��|j|j��|�d��}|���}
t|||
ddd���\}}t|||	|j|j��t||||j|j��t|||
ddd	���\}}t|||	|j|j��t|||j|j�
��dS)Nrar�rr{rrFrTrr�)
rnr�r
rrwr,rrrr)rYrr�r+rsr*r�r}r~rr�r��qF�u1r�r��q4�r4s                  r �test_overwrite_qu_rank_1z%BaseQRinsert.test_overwrite_qu_rank_1s���
�}�}�U�%�1�}�=�=���2�q�!��G�G�C�L�L��
�V�V�X�X���1�a��A�u�E�B�B�B���B�
�Y�q�!�R��
#�
#����R��T�Y��	�2�2�2���A�q�$�)�T�Y�/�/�/��1�a��A�u�D�A�A�A���B���R��T�Y��	�2�2�2���A�D�I�D�I�>�>�>�>���2�7�7�9�9�d�i���;�;�;��W�W�S�\�\��
�W�W�Y�Y���2�q�"�a��e�D�D�D���B���R��T�Y��	�2�2�2���Q��4�9�d�i�0�0�0��2�q�"�a��d�C�C�C���B���R��T�Y��	�2�2�2���B�T�Y�T�Y�?�?�?�?�?�?r"c��|�ddd���\}}}}|�d��}tj|tjdtj��|d��}t
|||ddd�	��\}}t||||j|j	��t||||j|j	��t
|||ddd
�	��\}	}
t|	|
||j|j	��t|	||j|j	���dS)Nrar�r.r{r�rrFrTr)rnr�rrwr4r}r
r,rrr)rYrr�r+rsr*rr}r~r�r�s           r �test_overwrite_qu_rank_pz%BaseQRinsert.test_overwrite_qu_rank_p=s���}�}�U�%�1�}�=�=���2�q�!��G�G�C�L�L��
�Y�q�"�(�1�b�g�.�.��1�
5�
5���1�a��A�u�E�B�B�B���B���R��T�Y��	�2�2�2���A�q�$�)�T�Y�/�/�/��1�a��A�u�D�A�A�A���B���R��T�Y��	�2�2�2���A�D�I�D�I�>�>�>�>�>�>r"c	��|�dd���\}}}}tttt	jg��||dd��ttt|t	jg��|dd��ttt||t	jg��dd��tttt	jg��||dd��ttt|t	jg��|dd��ttt||t	jg��dd��dS)Nrar|r4rr�)rnr6r5r
rrAr�s     r �test_empty_inputszBaseQRinsert.test_empty_inputsOs����]�]�5��]�6�6�
��1�a���j�)�R�X�b�\�\�1�a��E�J�J�J��j�)�Q������a��E�J�J�J��j�)�Q��2�8�B�<�<��E�J�J�J��j�)�R�X�b�\�\�1�a��E�J�J�J��j�)�Q������a��E�J�J�J��j�)�Q��2�8�B�<�<��E�J�J�J�J�Jr"c	��|�dd���\}}}}ttt||dd�|dd��ttt|dd�||dd��ttt|||dd�dd��ttt||dd�|dd��ttt|dd�||dd��ttt|||dd�dd��dS)Nrbr|r4rr���r�r�r�s     r �test_mismatched_shapesz#BaseQRinsert.test_mismatched_shapesXs����]�]�6��]�7�7�
��1�a���j�)�Q��!�"�"��q�!�U�C�C�C��j�)�Q�s��s�V�Q��1�e�D�D�D��j�)�Q��1�Q�R�R�5�!�U�C�C�C��j�)�Q��!�"�"��q�!�U�C�C�C��j�)�Q�s��s�V�Q��1�e�D�D�D��j�)�Q��1�Q�R�R�5�!�U�C�C�C�C�Cr"c
��gd�}|�dd���\}}}}|D�]8}|j�|��}tjd���5|j�|��}ddd��n#1swxYwY|j�|��}	ttt|||dd��ttt|||dd��ttt|||dd��ttt|||dd��ttt|||	dd��ttt|||	dd����:dS)	NrHrar|r4rUrVrr�)rnrXrPrrYr6r5r
)
rYrZrr�r�r�rr*r+rss
          r r[z$BaseQRinsert.test_unsupported_dtypesas��������
�
�e�5�
�9�9�
��2�r�2��
	F�
	F�E�����u�%�%�A���X�.�.�.�
*�
*��G�N�N�5�)�)��
*�
*�
*�
*�
*�
*�
*�
*�
*�
*�
*����
*�
*�
*�
*�����u�%�%�A��*�i��B��A�u�E�E�E��*�i��B��A�u�E�E�E��*�i��Q��A�u�E�E�E��*�i��Q��A�u�E�E�E��*�i��R��A�u�E�E�E��*�i��R��A�u�E�E�E�E�
	F�
	Fs�A<�<B	�B	c	�x�|�ddd���\}}}}|�d��}tj|d<t	t
t|||dd�dfdd��t	t
t|||dd��t	t
t|||dd�dfdd��t	t
t|||dd��|�d��}tj|d<t	t
t|||dd�dfdd��t	t
t|||dd��t	t
t|||dd�dfdd��t	t
t|||dd��|�d��}tj|d	<t	t
t|||dd�dfdd��t	t
t|||dd��t	t
t|||dd�dfdd��t	t
t|||dd��dS)
Nrar|r.r{r�r`rr�r�)rnr�rr]r6r5r
)rYr^r�r�r�r*r+rss        r r_zBaseQRinsert.test_check_finitess������u�E�Q��?�?���B��B��G�G�C�L�L�����#���j�)�Q��B�q�q�q��s�G�Q��F�F�F��j�)�Q��B��5�A�A�A��j�)�Q��B�q�q�q��s�G�Q��F�F�F��j�)�Q��B��5�A�A�A��G�G�C�L�L�����#���j�)�R��B�q�q�q��s�G�Q��F�F�F��j�)�R��B��5�A�A�A��j�)�R��B�q�q�q��s�G�Q��F�F�F��j�)�R��B��5�A�A�A��G�G�C�L�L�����#���j�)�R��Q�q�q�q��s�V�Q��F�F�F��j�)�R��Q��5�A�A�A��j�)�R��Q�q�q�q��s�V�Q��F�F�F��j�)�R��Q��5�A�A�A�A�Ar")r[r|r)Grprqrrrnr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrr�r�r�r�rrrrr�r�r�r�r[r_�
__classcell__�rts@r rprpxsf�������������47�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�$�$�$�$�$�$�$�$�$�7�7�7�7�7�7�#�#�#�#�#�#�#�#�#�7�7�7�7�7�7�>�>�>�>�>�>�>�>�>�H�H�H�>�>�>�(�(�(�(�(�(�(�(�(�7�7�7�7�7�7�7�7�7�7�7�7�>�>�>�>�>�>�>�>�>�>�>�>�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�C�C�C�09�09�09�d@�@�@�@�@�@�@�@�@�@�@�@�B�B�B�B�B�B�B�B�B�B�B�B�G�G�G�G�G�G�G�G�G�G�G�G�B�B�B�B�B�B�B�B�B�B�B�B�@�@�@�B?�?�?�$K�K�K�D�D�D�F�F�F�$B�B�B�B�B�B�Br"rpc�.�eZdZejd��ZdS)�TestQRinsert_frdNrerOr"r rr�rfr"rc�.�eZdZejd��ZdS)�TestQRinsert_Fr�NrerOr"r rr�rfr"rc�.�eZdZejd��ZdS)�TestQRinsert_drkNrerOr"r r	r	�rfr"r	c�.�eZdZejd��ZdS)�TestQRinsert_DrnNrerOr"r rr�rfr"rc�(��eZdZd0�fd�	Zd�Zd�Zd�Zd�Zd�Zd	�Z	d
�Z
d�Zd�Zd
�Z
d�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd �Z d!�Z!d"�Z"d#�Z#d$�Z$d%�Z%d&�Z&d'�Z'd(�Z(d)�Z)d*�Z*d+�Z+d,�Z,d-�Z-d.�Z.d/�Z/�xZ0S)1�BaseQRupdater[rc�4��t���||��\}}}|dkrUtj�|jd��}tj�|jd��}nXtj�|jd|f��}tj�|jd|f��}tj|j�d����rXtj�|j��}	|d|	zz}tj�|j��}
|d|
zz}|�|j��}|�|j��}|||||fS)Nrrrg)	rrrnrrirrkrrlrP)rYrlrhr�rr*r+rs�vrCrKrts           �r rnzBaseQRupdate.generate�sA����'�'�"�"�4��.�.���1�a�
��6�6��	� � �����,�,�A��	� � �����,�,�A�A��	� � �!�'�!�*�a��1�1�A��	� � �!�'�!�*�a��1�1�A�
�?�4�:�?�?�1�-�-�.�.�	��	� � ���)�)�A��B��F�
�A��	� � ���)�)�A��B��F�
�A�
�H�H�T�Z� � ��
�H�H�T�Z� � ���!�Q��1�}�r"c��|�d��\}}}}}t||||d��\}}|tj||�����z}t||||j|j��dS)NraF�rnr	r�outerrr,rr�	rYrr*r+rsrr}r~rs	         r �test_sqr_rank_1zBaseQRupdate.test_sqr_rank_1��t���
�
�e�,�,�
��1�a��A��1�a��A�u�-�-���B�
���!�Q�V�V�X�X�&�&�
&����R��T�Y��	�2�2�2�2�2r"c��dD]�}|�d|���\}}}}}|dkr6|�|jd��}|�|jd��}t||||d��\}}|t	j||j�����z}	t|||	|j	|j
����dS)N�rr
r.r1ra�r�rF�rn�reshape�sizer	rrrrr,rr�
rYr�rr*r+rsrr}r~rs
          r �test_sqr_rank_pzBaseQRupdate.test_sqr_rank_p�s����	7�	7�A� �M�M�%�1�M�5�5�M�A�q�!�Q���A�v�v��I�I�a�f�a�(�(���I�I�a�f�a�(�(���q�!�Q��5�1�1�F�B���R�V�A�q�s�x�x�z�z�*�*�*�B��R��R���D�I�6�6�6�6�	7�	7r"c��|�d��\}}}}}t||||d��\}}|tj||�����z}t||||j|j��dS)NrbFrrs	         r �test_tall_rank_1zBaseQRupdate.test_tall_rank_1�st���
�
�f�-�-�
��1�a��A��1�a��A�u�-�-���B�
���!�Q�V�V�X�X�&�&�
&����R��T�Y��	�2�2�2�2�2r"c��dD]�}|�d|���\}}}}}|dkr6|�|jd��}|�|jd��}t||||d��\}}|t	j||j�����z}	t|||	|j	|j
����dS)NrrbrrFrrs
          r �test_tall_rank_pzBaseQRupdate.test_tall_rank_p�s����	7�	7�A� �M�M�&�A�M�6�6�M�A�q�!�Q���A�v�v��I�I�a�f�a�(�(���I�I�a�f�a�(�(���q�!�Q��5�1�1�F�B���R�V�A�q�s�x�x�z�z�*�*�*�B��R��R���D�I�6�6�6�6�	7�	7r"c��|�d��\}}}}}t||||d��\}}|tj||�����z}t||||j|j��dS)NrcFrrs	         r �test_fat_rank_1zBaseQRupdate.test_fat_rank_1�rr"c��dD]�}|�d|���\}}}}}|dkr6|�|jd��}|�|jd��}t||||d��\}}|t	j||j�����z}	t|||	|j	|j
����dS)NrrcrrFrrs
          r �test_fat_rank_pzBaseQRupdate.test_fat_rank_p�s����	7�	7�A� �M�M�%�1�M�5�5�M�A�q�!�Q���A�v�v��I�I�a�f�a�(�(���I�I�a�f�a�(�(���q�!�Q��5�1�1�F�B���R�V�A�q�s�x�x�z�z�*�*�*�B��R��R���D�I�6�6�6�6�	7�	7r"c��|�dd��\}}}}}t||||d��\}}|tj||�����z}t||||j|jd��dS)Nrbr�Frrs	         r �test_economic_rank_1z!BaseQRupdate.test_economic_rank_1�sx���
�
�f�j�9�9�
��1�a��A��1�a��A�u�-�-���B�
���!�Q�V�V�X�X�&�&�
&����R��T�Y��	�5�9�9�9�9�9r"c	��dD]�}|�dd|��\}}}}}|dkr6|�|jd��}|�|jd��}t||||d��\}}|t	j||j�����z}	t|||	|j	|j
d����dS)Nrrbr�rFrrs
          r �test_economic_rank_pz!BaseQRupdate.test_economic_rank_p�s����	>�	>�A� �M�M�&�*�a�@�@�M�A�q�!�Q���A�v�v��I�I�a�f�a�(�(���I�I�a�f�a�(�(���q�!�Q��5�1�1�F�B���R�V�A�q�s�x�x�z�z�*�*�*�B��R��R���D�I�u�=�=�=�=�	>�	>r"c��|�d��\}}}}}t||||d��\}}|tj||�����z}t||||j|j��dS)NrdFrrs	         r �test_Mx1_rank_1zBaseQRupdate.test_Mx1_rank_1�rr"c�p�|�dd���\}}}}}|�|jd��}|�|jd��}t||||d��\}}|t	j||j�����z}t||||j	|j
��dS)NrdrrFrrs	         r �test_Mx1_rank_pzBaseQRupdate.test_Mx1_rank_p�����
�
�e�q�
�1�1�
��1�a��A�
�I�I�a�f�a� � ��
�I�I�a�f�a� � ���1�a��A�u�-�-���B�
����1�3�8�8�:�:�&�&�
&����R��T�Y��	�2�2�2�2�2r"c��|�dd��\}}}}}t||||d��\}}|tj||�����z}t||||j|jd��dS)Nrdr�Frrs	         r �test_Mx1_economic_rank_1z%BaseQRupdate.test_Mx1_economic_rank_1�sx���
�
�e�Z�8�8�
��1�a��A��1�a��A�u�-�-���B�
���!�Q�V�V�X�X�&�&�
&����R��T�Y��	�5�9�9�9�9�9r"c�t�|�ddd���\}}}}}|�|jd��}|�|jd��}t||||d��\}}|t	j||j�����z}t||||j	|j
d��dS)Nrdr�rrFrrs	         r �test_Mx1_economic_rank_pz%BaseQRupdate.test_Mx1_economic_rank_ps����
�
�e�Z�1�
�=�=�
��1�a��A�
�I�I�a�f�a� � ��
�I�I�a�f�a� � ���1�a��A�u�-�-���B�
����1�3�8�8�:�:�&�&�
&����R��T�Y��	�5�9�9�9�9�9r"c��|�d��\}}}}}t||||d��\}}|tj||�����z}t||||j|j��dS)NreFrrs	         r �test_1xN_rank_1zBaseQRupdate.test_1xN_rank_1rr"c�p�|�dd���\}}}}}|�|jd��}|�|jd��}t||||d��\}}|t	j||j�����z}t||||j	|j
��dS)NrerrFrrs	         r �test_1xN_rank_pzBaseQRupdate.test_1xN_rank_pr.r"c��|�d��\}}}}}t||||d��\}}|tj||�����z}t||||j|j��dS)NrfFrrs	         r �test_1x1_rank_1zBaseQRupdate.test_1x1_rank_1rr"c�p�|�dd���\}}}}}|�|jd��}|�|jd��}t||||d��\}}|t	j||j�����z}t||||j	|j
��dS)NrfrrFrrs	         r �test_1x1_rank_pzBaseQRupdate.test_1x1_rank_p%r.r"c	�\�|�d��\}}}}}ttt|d|||��ttt||d||��ttt|||d|��ttt||||d��dS)Nrfr�r�rnr6r5r	�rYrr*r+rsrs      r �test_1x1_rank_1_scalarz#BaseQRupdate.test_1x1_rank_1_scalar/s����
�
�e�,�,�
��1�a��A��j�)�Q�t�W�a��A�>�>�>��j�)�Q��$���A�>�>�>��j�)�Q��1�Q�4��;�;�;��j�)�Q��1�a��d�;�;�;�;�;r"c	���|dkrdnd}dD�]�}|�|||��\}}}	}
}|||	|
|f��\}}
}}|dkr+|tj|
|�����z}n/|tj|
|j�����z}|�d��}|	�d��}|
�d��}|�d��}t||||d��\}}t||||j	|j
|��t||||d��\}}t||||j	|j
|��|rLt|||j	|j
���t||���|j	|j
���|�d��}|	�d��}|
�d��}|�d��}t||
||d��\}}t||||j	|j
|��t||
||d��\}}t||||j	|j
|��|rLt||
|j	|j
���t||���|j	|j
���|�d��}|	�d��}|
�d��}|�d��}t||||d��\}}t||||j	|j
|��t||||d��\}} t|| ||j	|j
|��|rLt| ||j	|j
���t||���|j	|j
���|�d��}|	�d��}|
�d��}|�d��}t||||d��\}!}"t|!|"||j	|j
|��t||||d��\}#}$t|#|$||j	|j
|��|rLt|$||j	|j
���t||���|j	|j
���|�d��}|	�d��}|
�d��}|�d��}|||||f��\}}
}}t||
||d��\}%}&t|%|&||j	|j
|��t||
||d��\}'}(t|'|(||j	|j
|��|rLt|(|
|j	|j
���t||���|j	|j
������dS)	Nr�FTr�rr�rr)rnrrrrrr�r	r,rrr))rYr�rhr�r�rrlrr�r�r��v0r�r�r��vs�aupr*r+rsrr}r~r�r�r�r�r�r�r�r�r�r�r�r��q4o�r4or�r�r�r�s)                                         r r�z$BaseQRupdate.base_non_simple_strides6s���"�j�0�0�U�U�d�
�*�I	O�I	O�D� $�
�
�d�D�!� <� <��A�r�2�r�2�+�^�R��R��,<�=�=�N�B��B���A�v�v��"�(�2�r�w�w�y�y�1�1�1����"�&��R�T�Y�Y�[�[�1�1�1��������A�������A�������A�������A��r�1�a��E�2�2�F�B���R��S�$�)�T�Y�
�C�C�C� ��Q��1�d�3�3�H�C���S�#�s�D�I�t�y�*�E�E�E��
N���Q�T�Y�T�Y�G�G�G�G���2�7�7�9�9�4�9�4�9�M�M�M�M�������A�������A�������A�������A��q�"�a��E�2�2�F�B���R��S�$�)�T�Y�
�C�C�C� ��B��1�d�3�3�H�C���S�#�s�D�I�t�y�*�E�E�E��
N���R�d�i�d�i�H�H�H�H���2�7�7�9�9�4�9�4�9�M�M�M�M�������A�������A�������A�������A��q�!�R��E�2�2�F�B���R��S�$�)�T�Y�
�C�C�C� ��A�r�1�d�3�3�H�C���S�#�s�D�I�t�y�*�E�E�E��
N���Q�T�Y�T�Y�G�G�G�G���2�7�7�9�9�4�9�4�9�M�M�M�M�������A�������A�������A�������A��q�!�Q��E�2�2�F�B���R��S�$�)�T�Y�
�C�C�C� ��A�q�"�d�3�3�H�C���S�#�s�D�I�t�y�*�E�E�E��
O���Q�T�Y�T�Y�G�G�G�G���B�G�G�I�I�D�I�D�I�N�N�N�N�������A�������A�������A�������A�+�^�Q��1�a�L�9�9�N�B��B���r�2�r�2�u�5�5�F�B���R��S�$�)�T�Y�
�C�C�C� ��R��R��6�6�H�C���S�#�s�D�I�t�y�*�E�E�E��
O���R�d�i�d�i�H�H�H�H���B�G�G�I�I�D�I�D�I�N�N�N�N��SI	O�I	Or"c�@�|�tddd��dS)Nr[rTr�rXs r �test_non_unit_strides_rank_1z)BaseQRupdate.test_non_unit_strides_rank_1�s"���$�$�\�6�1�d�C�C�C�C�Cr"c�@�|�tddd��dS)Nr�rTr�rXs r �%test_non_unit_strides_economic_rank_1z2BaseQRupdate.test_non_unit_strides_economic_rank_1�s"���$�$�\�:�q�$�G�G�G�G�Gr"c�@�|�tddd��dS�Nr[r.Fr�rXs r �test_non_unit_strides_rank_pz)BaseQRupdate.test_non_unit_strides_rank_p�s"���$�$�\�6�1�e�D�D�D�D�Dr"c�@�|�tddd��dS�Nr�r.Fr�rXs r �%test_non_unit_strides_economic_rank_pz2BaseQRupdate.test_non_unit_strides_economic_rank_p�s"���$�$�\�:�q�%�H�H�H�H�Hr"c�@�|�tddd��dS�Nr[rFr�rXs r �test_neg_strides_rank_1z$BaseQRupdate.test_neg_strides_rank_1��"���$�$�^�V�Q��F�F�F�F�Fr"c�@�|�tddd��dS�Nr�rFr�rXs r � test_neg_strides_economic_rank_1z-BaseQRupdate.test_neg_strides_economic_rank_1��"���$�$�^�Z��E�J�J�J�J�Jr"c�@�|�tddd��dSrJr�rXs r �test_neg_strides_rank_pz$BaseQRupdate.test_neg_strides_rank_p�rRr"c�@�|�tddd��dSrMr�rXs r � test_neg_strides_economic_rank_pz-BaseQRupdate.test_neg_strides_economic_rank_p�rVr"c�@�|�tddd��dSrPrrXs r � test_non_itemsize_strides_rank_1z-BaseQRupdate.test_non_itemsize_strides_rank_1��#���$�$�%8�&�!�U�K�K�K�K�Kr"c�@�|�tddd��dSrTrrXs r �)test_non_itemsize_strides_economic_rank_1z6BaseQRupdate.test_non_itemsize_strides_economic_rank_1��#���$�$�%8�*�a��O�O�O�O�Or"c�@�|�tddd��dSrJrrXs r � test_non_itemsize_strides_rank_pz-BaseQRupdate.test_non_itemsize_strides_rank_p�r]r"c�@�|�tddd��dSrMrrXs r �)test_non_itemsize_strides_economic_rank_pz6BaseQRupdate.test_non_itemsize_strides_economic_rank_p�r`r"c�@�|�tddd��dSrPrrXs r �!test_non_native_byte_order_rank_1z.BaseQRupdate.test_non_native_byte_order_rank_1�rRr"c�@�|�tddd��dSrTrrXs r �*test_non_native_byte_order_economic_rank_1z7BaseQRupdate.test_non_native_byte_order_economic_rank_1�rVr"c�@�|�tddd��dSrJrrXs r �!test_non_native_byte_order_rank_pz.BaseQRupdate.test_non_native_byte_order_rank_p�rRr"c�@�|�tddd��dSrMrrXs r �*test_non_native_byte_order_economic_rank_pz7BaseQRupdate.test_non_native_byte_order_economic_rank_p�rVr"c�4�|�d��\}}}}}|tj||�����z}|�d��}|�d��}|�d��}	|�d��}
t|||	|
d��\}}t
||||j|j��t
||||j|j��t|||	|
d��\}
}t
|
|||j|j��t|
||j|j���t|||j|j���|�d��}|�d��}|�d��}	|�d��}
t|||	|
d��\}}t
||||j|j��t|||j|j���t|||j|j���dS)Nrar�FTrr�
rnrrrr�r	r,rrr�rYrr�r�r�r@rr*r+rsrr}r~r�r�r�r�s                 r �test_overwrite_qruv_rank_1z'BaseQRupdate.test_overwrite_qruv_rank_1�s���!�M�M�%�0�0���2�r�2�r�
���"�b�g�g�i�i�(�(�
(���G�G�C�L�L���G�G�C�L�L���G�G�C�L�L���G�G�C�L�L���1�a��A�u�-�-���B���R��T�Y��	�2�2�2���A�q�$�)�T�Y�/�/�/��1�a��A�t�,�,���B���R��T�Y��	�2�2�2���A�D�I�D�I�>�>�>�>���A�D�I�D�I�>�>�>�>��G�G�C�L�L���G�G�C�L�L���G�G�C�L�L���G�G�C�L�L���1�a��A�t�,�,���B���R��T�Y��	�2�2�2���A�D�I�D�I�>�>�>�>���A�D�I�D�I�>�>�>�>�>�>r"c�>�|�dd��\}}}}}|tj||�����z}|�d��}|�d��}|�d��}	|�d��}
t|||	|
d��\}}t
||||j|jd��t
||||j|jd��t|||	|
d��\}
}t
|
|||j|jd��t|
||j|j���t|||j|j���|�d��}|�d��}|�d��}	|�d��}
t|||	|
d��\}}t
||||j|jd��t|||j|j���t|||j|j���dS)Nrbr�r�FTrrrnros                 r �#test_overwrite_qruv_rank_1_economicz0BaseQRupdate.test_overwrite_qruv_rank_1_economic�s���!�M�M�&�*�=�=���2�r�2�r�
���"�b�g�g�i�i�(�(�
(���G�G�C�L�L���G�G�C�L�L���G�G�C�L�L���G�G�C�L�L���1�a��A�u�-�-���B���R��T�Y��	�5�9�9�9���A�q�$�)�T�Y��6�6�6��1�a��A�t�,�,���B���R��T�Y��	�5�9�9�9���A�D�I�D�I�>�>�>�>���A�D�I�D�I�>�>�>�>��G�G�C�L�L���G�G�C�L�L���G�G�C�L�L���G�G�C�L�L���1�a��A�t�,�,���B���R��T�Y��	�5�9�9�9���A�D�I�D�I�>�>�>�>���A�D�I�D�I�>�>�>�>�>�>r"c��|�dd���\}}}}}|tj||j�����z}|�d��}|�d��}|�d��}	|�d��}
t
|||	|
d��\}}t||||j|j	��t||||j|j	��t
|||	|
d��\}
}t|
|||j|j	��t|
||j|j	���t|||j|j	���dS)	Nrar.rr�rFTr)rnrrrrr�r	r,rrr)rYrr�r�r�r@rr*r+rsrr}r~r�r�s               r �test_overwrite_qruv_rank_pz'BaseQRupdate.test_overwrite_qruv_rank_p�s>��!�M�M�%�1�M�5�5���2�r�2�r�
����B�D�I�I�K�K�(�(�
(���G�G�C�L�L���G�G�C�L�L���G�G�C�L�L���G�G�C�L�L���1�a��A�u�-�-���B���R��T�Y��	�2�2�2���A�q�$�)�T�Y�/�/�/��1�a��A�t�,�,���B���R��T�Y��	�2�2�2���A�D�I�D�I�>�>�>�>���A�D�I�D�I�>�>�>�>�>�>r"c
��|�d��\}}}}}tttt	jg��|||��ttt|t	jg��||��ttt||t	jg��|��ttt|||t	jg����dS)Nrb)rnr6r5r	rrAr=s      r r�zBaseQRupdate.test_empty_inputss����
�
�f�-�-�
��1�a��A��j�)�R�X�b�\�\�1�a��C�C�C��j�)�Q������a��C�C�C��j�)�Q��2�8�B�<�<��C�C�C��j�)�Q��1�b�h�r�l�l�C�C�C�C�Cr"c
�l�|�d��\}}}}}ttt||dd�||��ttt|dd�|||��ttt|||dd�|��ttt||||dd���dS)Nrbrr�r<r=s      r r�z#BaseQRupdate.test_mismatched_shapess����
�
�f�-�-�
��1�a��A��j�)�Q��!�"�"��q�!�<�<�<��j�)�Q�s��s�V�Q��1�=�=�=��j�)�Q��1�Q�R�R�5�!�<�<�<��j�)�Q��1�a����e�<�<�<�<�<r"c	�l�gd�}|�d��\}}}}}|D�]}|j�|��}tjd���5|j�|��}	ddd��n#1swxYwY|j�|��}
|j�|��}ttt||||��ttt||	||��ttt|||
|��ttt||||����dS)NrHrbrUrV)rnrXrPrrYr6r5r	)rYrZrr�r�r�r@rr*r+rsrs            r r[z$BaseQRupdate.test_unsupported_dtypesse������!�M�M�&�1�1���2�r�2�r��		@�		@�E�����u�%�%�A���X�.�.�.�
*�
*��G�N�N�5�)�)��
*�
*�
*�
*�
*�
*�
*�
*�
*�
*�
*����
*�
*�
*�
*�����u�%�%�A�����u�%�%�A��*�i��B��B�?�?�?��*�i��Q��B�?�?�?��*�i��R��B�?�?�?��*�i��R��Q�?�?�?�?�		@�		@s�A;�;A?	�A?	c�2�tjd���dd��}|���}|dd�df���}|ddd�f���}t	t
t||||��dS)N�r0r)r�arangerr�r6r5r	)rYr*r+rsrs     r �test_integer_inputzBaseQRupdate.test_integer_input$s|���I�b�M�M�!�!�!�Q�'�'��
�F�F�H�H��
�a�a�a��d�G�L�L�N�N��
�a����d�G�L�L�N�N���j�)�Q��1�a�8�8�8�8�8r"c
���|�dd���\}}}}}|�d��}tj|d<t	t
t|||dd�df|dd�df��t	t
t||||��|�d��}tj|d<t	t
t|||dd�df|dd�df��t	t
t||||��|�d��}tj|d<t	t
t|||dd�df|dd�df��t	t
t||||��|�d��}	tj|	d<t	t
t|||dd�df|	dd�df��t	t
t||||	��dS)Nrbr.rr�r`rr��rnr�rr]r6r5r	�
rYr^r�r�r�r@r*r+rsrs
          r r_zBaseQRupdate.test_check_finite+s���!�]�]�6�Q�]�7�7���B��B���G�G�C�L�L�����#���j�)�Q��B�q�q�q��s�G�R����!��W�E�E�E��j�)�Q��B��;�;�;��G�G�C�L�L�����#���j�)�R��B�q�q�q��s�G�R����!��W�E�E�E��j�)�R��B��;�;�;��G�G�C�L�L�����#���j�)�R��Q�q�q�q��s�V�R����!��W�E�E�E��j�)�R��Q��;�;�;��G�G�C�L�L�����#���j�)�R��Q�q�q�q��s�V�Q�q�q�q��s�V�D�D�D��j�)�R��Q��:�:�:�:�:r"c
���|�ddd���\}}}}}|�d��}tj|d<t	t
t|||dd�df|dd�df��t	t
t||||��|�d��}tj|d<t	t
t|||dd�df|dd�df��t	t
t||||��|�d��}tj|d<t	t
t|||dd�df|dd�df��t	t
t||||��|�d��}	tj|	d<t	t
t|||dd�df|	dd�df��t	t
t||||	��dS)	Nrbr�r.)rhr�r�r`rr�r}r~s
          r �test_economic_check_finitez'BaseQRupdate.test_economic_check_finiteBs���!�]�]�6�
�a�]�H�H���B��B���G�G�C�L�L�����#���j�)�Q��B�q�q�q��s�G�R����!��W�E�E�E��j�)�Q��B��;�;�;��G�G�C�L�L�����#���j�)�R��B�q�q�q��s�G�R����!��W�E�E�E��j�)�R��B��;�;�;��G�G�C�L�L�����#���j�)�R��Q�q�q�q��s�V�R����!��W�E�E�E��j�)�R��Q��;�;�;��G�G�C�L�L�����#���j�)�R��Q�q�q�q��s�V�Q�q�q�q��s�V�D�D�D��j�)�R��Q��:�:�:�:�:r"c���tjddgddgddgddgg|j��}tjddgddgg|j��}tjgd�|j��}tjddg|j��}t||||��\}}tj||��tj||�����z}t||||j|j	d��dS)Nrr)rrrr$r
F)
rrArr	rrrr,rr)rYr*r+rsrr}r~rs        r �test_u_exactly_in_span_qz%BaseQRupdate.test_u_exactly_in_span_qYs����H�q�!�f�q�!�f�q�!�f�q�!�f�5�t�z�B�B���H�q�!�f�q�!�f�%�t�z�2�2���H�]�]�]�D�J�/�/���H�a��V�T�Z�(�(���1�a��A�&�&���B�
�V�A�q�\�\�B�H�Q������1�1�
1����R��T�Y��	�5�9�9�9�9�9r")r[r)1rprqrrrnrrrr!r#r%r'r)r+r-r0r2r4r6r8r:r>r�rFrHrKrNrQrUrXrZr\r_rbrdrfrhrjrlrprrrtr�r�r[r{r_r�r�rrs@r r
r
�s�������������,3�3�3�	7�	7�	7�3�3�3�7�7�7�3�3�3�7�7�7�:�:�:�>�>�>�3�3�3�3�3�3�:�:�:�:�:�:�3�3�3�3�3�3�3�3�3�3�3�3�<�<�<�KO�KO�KO�ZD�D�D�H�H�H�E�E�E�I�I�I�G�G�G�K�K�K�G�G�G�K�K�K�L�L�L�P�P�P�L�L�L�P�P�P�G�G�G�K�K�K�G�G�G�K�K�K�?�?�?�<?�?�?�>?�?�?�*D�D�D�=�=�=�@�@�@�"9�9�9�;�;�;�.;�;�;�.:�:�:�:�:�:�:r"r
c�.�eZdZejd��ZdS)�TestQRupdate_frdNrerOr"r r�r�brfr"r�c�.�eZdZejd��ZdS)�TestQRupdate_Fr�NrerOr"r r�r�erfr"r�c�.�eZdZejd��ZdS)�TestQRupdate_drkNrerOr"r r�r�hrfr"r�c�.�eZdZejd��ZdS)�TestQRupdate_DrnNrerOr"r r�r�krfr"r�c	���ddg}dg}gd�}ddg}gd�}tj|||||��D]K\}}}}}	|dkr)t||||d|	��t||||d|	���7t||||d|	���LdS)	Nr�rr])r�r�Arr.)rdrkr�rnr
)r�r��check_form_qTu)
�q_order�q_shape�u_order�u_shaper�qor��uor�rks
          r �
test_form_qTur�ns����C�j�G��j�G��o�o�G��!�f�G� � � �E�
��g�w���%�H�H�1�1���B��B��
��7�7��2�r�2�r�1�a�0�0�0��2�r�2�r�1�a�0�0�0�0��2�r�2�r�1�a�0�0�0�0�
1�1r"c�F�tj�d��|dkr|dkr
|df}n
|d|f}tj|��}|jdvr?tj�|��}tj�|��}n�|jdvr�tj�|��dtj�|��zz}tj�|��dtj�|��zz}ntd��tj|||��}|dkrtj|||��}n%t|�|��f��\}d	tj	|��j
d
z
z}d
tj	|��jz}	tj|j
���|��}
tj||��}t#||
||	���dS)N�/rr�fd�FDrgz#form_qTu doesn't support this dtyper�rr
r)rrirjr�charr5�requirer@rPrrrrrr�_decomp_update�	_form_qTur)r�r�r�r��u_ndimrr*rsrr�expected�ress            r r�r��s����I�N�N�2�����!�|�|��!����1�:�-����1�:�w�'���H�U�O�O�E��z�T����I���W�%�%���I���W�%�%���	��t�	�	��I���W�%�%��2�9�+;�+;�G�+D�+D�(D�D���I���W�%�%��2�9�+;�+;�G�+D�+D�(D�D����8�9�9�9�
�
�1�e�W�%�%�A��#�~�~��J�q�%��)�)���
�1�8�8�E�?�?�,�
-�
-����R�X�e�_�_�.�q�0�1�1�D��R�X�e�_�_�
 � �D��v�a�c�h�h�j�j�!�$�$�H�
�
"�1�a�
(�
(�C��C���4�8�8�8�8�8�8r")NNT)NN)T)*r��numpyr�
numpy.testingrrr�pytestrr6�scipyr�scipy.linalg._decomp_updater�rr	r
r!r(r,r@rDrLrTrVrtrcrhrjrmrprrr	rr
r�r�r�r�r�r�rOr"r �<module>r�s����������@�@�@�@�@�@�@�@�@�@�*�*�*�*�*�*�������4�4�4�4�4�4�4�4�4�G�G�G�G�G�G�G�G�G�G�	C�	C�	C�	C�8�8�8�8�7�7�7�7�
���4
�
�
����<�<�<���������"F�F�F�F�F�<�F�F�F�B�����\���������\���������\���������\����QB�QB�QB�QB�QB�<�QB�QB�QB�f�����\���������\���������\���������\����I:�I:�I:�I:�I:�<�I:�I:�I:�V�����\���������\���������\���������\����1�1�1�49�9�9�9�9r"

Youez - 2016 - github.com/yon3zu
LinuXploit