Ë
    âQ(h– ã                   ó   — d dl Z d dlZd dlmZmZmZ d dlmZ	 d dl
mZ d dlmc mZ d dlmZmZmZ d/d„Zd0d„Zd1d„Zd	„ Zd
„ Zd„ Zd„ Z G d„ d«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z  G d„ d e«      Z! G d!„ d"e«      Z" G d#„ d$e«      Z# G d%„ d&e#«      Z$ G d'„ d(e#«      Z% G d)„ d*e#«      Z& G d+„ d,e#«      Z'd-„ Z(d.„ Z)y)2é    N)Úassert_Úassert_allcloseÚassert_equal)Úraises)Úlinalg)Ú	qr_deleteÚ	qr_updateÚ	qr_insertc                 óÔ  — |€0dt        j                  | j                  «      j                  dz
   z  }|€,dt        j                  | j                  «      j                  z  }|r)t        | j                  d   | j                  d   k(  d«       t        j                  | j                  j                  «       | «      }t        |t        j                  | j                  d   «      ||¬«       y )Nç      $@é   é
   r   é   zunitary matrices must be square©ÚrtolÚatol)ÚnpÚfinfoÚdtypeÚ	precisionÚepsr   ÚshapeÚdotÚTÚconjr   Úeye)Úar   r   Ú
assert_sqrÚaTas        úc/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/scipy/linalg/tests/test_decomp_update.pyÚassert_unitaryr!   
   sª   € Ø€|ØœŸ™ !§'¡'Ó*×4Ñ4°QÑ6Ð7Ñ7ˆØ€|Ø”"—(‘(˜1Ÿ7™7Ó#×'Ñ'Ñ'ˆáÜ�—‘˜‘
˜aŸg™g a™jÑ(Ð*KÔLÜ
�&‰&�—‘—‘“˜QÓ
€CÜ�CœŸ™ §¡¨¡
Ó+°$¸TÖBó    c                 óh  — |€0dt        j                  | j                  «      j                  dz
   z  }|€,dt        j                  | j                  «      j                  z  }t        j
                  | j                  d   | j                  d   dt         j                  «      }t        | |   d||¬«       y )Nr   r   r   r   éÿÿÿÿg        r   )	r   r   r   r   r   Útrir   Úbool_r   )r   r   r   Úmasks       r    Úassert_upper_trir(      sˆ   € Ø€|ØœŸ™ !§'¡'Ó*×4Ñ4°QÑ6Ð7Ñ7ˆØ€|Ø”—‘˜!Ÿ'™'Ó"×&Ñ&Ñ&ˆÜ�6‰6�!—'‘'˜!‘*˜aŸg™g a™j¨"¬b¯h©hÓ7€DÜ�A�d‘G˜S t°$Ö7r"   c                 óv   — t        | |||«       t        |||«       t        | j                  |«      |||¬«       y )Nr   )r!   r(   r   r   )ÚqÚrr   r   r   r   s         r    Úcheck_qrr,      s2   € Ü�1�d˜D *Ô-Ü�Q˜˜dÔ#Ü�A—E‘E˜!“H˜a d°Ö6r"   c                 ó|  — g d¢}t        |«      }d}g }| D �]"  }|j                  dk(  rZ|||z     }|dz  }t        j                  |d   |j                  d   z  |d   z   |j
                  «      }||d   d |d   …   }||d<   n¥|j                  dk(  r‹|||z     }||dz   |z     }	|dz  }t        j                  |d   |j                  d   z  |d   z   |	d   |j                  d   z  |	d   z   f|j
                  «      }||d   d |d   …|	d   d |	d   …f   }||d<   nt        d«      ‚|j                  |«       �Œ% |S )N))é   é   )r   r   )r.   é   )r0   r   )é   r0   )r   r.   )r   r   )r0   r1   r   r   .r   z0make_strided only works for ndim = 1 or 2 arrays)ÚlenÚndimr   Úzerosr   r   Ú
ValueErrorÚappend)
ÚarrsÚstridesÚkmaxÚkÚretr   ÚsÚbaseÚviewÚts
             r    Úmake_stridedr@   "   st  € ÚN€GÜˆw‹<€DØ	€AØ
€CØó ˆØ�6‰6�QŠ;Ø˜˜D™Ñ!ˆAØ�‰FˆAÜ—8‘8˜A˜a™D §¡¨¡™O¨A¨a©DÑ0°!·'±'Ó:ˆDØ˜˜!™˜
˜a ™d˜
Ñ#ˆDØˆD�ŠIØ�V‰V�qŠ[Ø˜˜D™Ñ!ˆAØ˜˜1™ ™Ñ%ˆAØ�‰FˆAÜ—8‘8˜Q˜q™T !§'¡'¨!¡*™_¨Q¨q©TÑ1°1°Q±4¸¿¹À¹
±?À1ÀQÁ4Ñ3GÐHØŸG™Gó%ˆDà˜˜!™˜
˜a ™d˜
 A a¡D J¨!¨A©$ JÐ.Ñ/ˆDØˆD�ŠIäð )ó *ð *à�
‰
�4Öð%ð& €Jr"   c                 óî   — g }| D ]m  }t        j                  |«      }|j                  dk(  r|d d d…d d d…f   }n#|j                  dk(  r	|d d d…   }nt        d«      ‚||d<   |j	                  |«       Œo |S )Nr   r$   r   z2negate_strides only works for ndim = 1 or 2 arrays.)r   Ú
zeros_liker3   r5   r6   )r7   r;   r   Úbs       r    Únegate_stridesrD   <   s‰   € Ø
€CØò 
ˆÜ�M‰M˜!ÓˆØ�6‰6�QŠ;Ø‘$�B�$™˜"˜�*‘‰AØ�V‰V�qŠ[Ø‘$�B�$‘‰Aäð )ó *ð *àˆˆ#‰Ø�
‰
�1�ð
ð €Jr"   c                 óÆ   — g }| D ]Y  }|j                   }t        j                  |j                  d|fdg«      }|j	                  |«      }||d<   |j                  |«       Œ[ |S )Nr   )ÚjunkÚS1.)r   r   r4   r   Úgetfieldr6   )r7   Úoutr   Úa_dtyperC   Úcs         r    Únonitemsize_stridesrL   K   se   € Ø
€CØò ˆØ—'‘'ˆÜ�H‰H�Q—W‘W  W˜~¨~Ð>Ó?ˆØ�J‰J�wÓˆØˆˆ#‰Ø�
‰
�1�ðð €Jr"   c                 óz   — | D �cg c]+  }|j                  |j                  j                  «       «      ‘Œ- c}S c c}w )N)Úastyper   Únewbyteorder)r7   r   s     r    Úmake_nonnativerP   V   s,   € Ø6:Ö;°ˆA�H‰H�Q—W‘W×)Ñ)Ó+Õ,Ò;Ð;ùÒ;s   …08c                   ó   — e Zd Zd„ Zdd„Zy)ÚBaseQRdeltasc                 óÐ   — dt        j                  | j                  «      j                  dz
   z  | _        dt        j                  | j                  «      j
                  z  | _        y )Nr   r   r   )r   r   r   r   r   r   r   ©Úselfs    r    Úsetup_methodzBaseQRdeltas.setup_method[   sH   € ØœbŸh™h t§z¡zÓ2×<Ñ<¸QÑ>Ð?Ñ?ˆŒ	ØœŸ™ $§*¡*Ó-×1Ñ1Ñ1ˆ�	r"   c                 ó´  — t         j                  j                  d«       dddddddœ|   }t         j                  j                  |«      }t        j                  | j                  j                  d	«      «      r't         j                  j                  |«      }|d
|z  z   }|j                  | j                  «      }t        j                  ||¬«      \  }}|||fS )NiÆr  ©é   rY   )é   r/   )r/   rZ   )rY   r   )r   rY   ©r   r   )ÚsqrÚtallÚfatÚMx1Ú1xNÚ1x1r   ù              ð?)Úmode)	r   ÚrandomÚseedÚiscomplexobjr   ÚtyperN   r   Úqr)rU   rg   rc   r   r   rC   r*   r+   s           r    ÚgeneratezBaseQRdeltas.generate_   s¯   € Ü
�	‰	�‰�uÔØ¨¸Ø v°fñ>Ø>BñDˆä�I‰I×Ñ˜UÓ#ˆÜ�?‰?˜4Ÿ:™:Ÿ?™?¨1Ó-Ô.Ü—	‘	× Ñ  Ó'ˆAØ�B˜‘F‘
ˆAØ�H‰H�T—Z‘ZÓ ˆÜ�y‰y˜ Ô&‰ˆˆ1Ø�!�Qˆwˆr"   N©Úfull)Ú__name__Ú
__module__Ú__qualname__rV   ri   © r"   r    rR   rR   Z   s   „ ò2ô
r"   rR   c                   óŽ  — e 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„ 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„ 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„ Z2dBd1„Z3d2„ Z4d3„ Z5d4„ Z6d5„ Z7d6„ Z8d7„ Z9d8„ Z:d9„ Z;d:„ Z<d;„ Z=d<„ Z>d=„ Z?d>„ Z@d?„ ZAd@„ ZByA)CÚBaseQRdeletec                 ó   — | j                  d«      \  }}}t        |j                  d   «      D ]N  }t        |||d¬«      \  }}t	        j
                  ||d«      }t        |||| j                  | j                  «       ŒP y )Nr\   r   F©Úoverwrite_qr©	ri   Úranger   r   r   Údeleter,   r   r   ©rU   r   r*   r+   ÚrowÚq1Úr1Úa1s           r    Útest_sqr_1_rowzBaseQRdelete.test_sqr_1_rowl   óp   € Ø—-‘- Ó&‰ˆˆ1ˆaÜ˜Ÿ™ ™Ó$ò 	7ˆCÜ˜q ! S°uÔ=‰FˆB�Ü—‘˜1˜c 1Ó%ˆBÜ�R˜˜R §¡¨D¯I©IÕ6ñ	7r"   c           
      óD  — | j                  d«      \  }}}t        dd«      D ]|  }t        |j                  d   |z
  «      D ]\  }t        ||||d¬«      \  }}t	        j
                  |t        |||z   «      d«      }t        |||| j                  | j                  «       Œ^ Œ~ y )Nr\   r   é   r   Frs   ©
ri   rv   r   r   r   rw   Úslicer,   r   r   ©	rU   r   r*   r+   Úndelry   rz   r{   r|   s	            r    Útest_sqr_p_rowzBaseQRdelete.test_sqr_p_rows   ó–   € Ø—-‘- Ó&‰ˆˆ1ˆaÜ˜!˜Q“Kò 	;ˆDÜ˜QŸW™W Q™Z¨™_Ó-ò ;�Ü" 1 a¨¨dÀÔG‘��BÜ—Y‘Y˜q¤%¨¨S°©XÓ"6¸Ó:�Ü˜˜R  T§Y¡Y°·	±	Õ:ñ;ñ	;r"   c                 ó  — | j                  d«      \  }}}t        |j                  d   «      D ]O  }t        |||dd¬«      \  }}t	        j
                  ||d«      }t        |||| j                  | j                  «       ŒQ y )Nr\   r   ÚcolF©Úwhichrt   ru   ©rU   r   r*   r+   rˆ   rz   r{   r|   s           r    Útest_sqr_1_colzBaseQRdelete.test_sqr_1_col{   ór   € Ø—-‘- Ó&‰ˆˆ1ˆaÜ˜Ÿ™ ™Ó$ò 	7ˆCÜ˜q ! S°ÀEÔJ‰FˆB�Ü—‘˜1˜c 1Ó%ˆBÜ�R˜˜R §¡¨D¯I©IÕ6ñ	7r"   c           
      óF  — | j                  d«      \  }}}t        dd«      D ]}  }t        |j                  d   |z
  «      D ]]  }t        ||||dd¬«      \  }}t	        j
                  |t        |||z   «      d«      }t        |||| j                  | j                  «       Œ_ Œ y )Nr\   r   r€   r   rˆ   Fr‰   r�   ©	rU   r   r*   r+   r„   rˆ   rz   r{   r|   s	            r    Útest_sqr_p_colzBaseQRdelete.test_sqr_p_col‚   ó›   € Ø—-‘- Ó&‰ˆˆ1ˆaÜ˜!˜Q“Kò 	;ˆDÜ˜QŸW™W Q™Z¨™_Ó-ò ;�Ü" 1 a¨¨d¸%Ø05ô7‘��Bä—Y‘Y˜q¤%¨¨S°©XÓ"6¸Ó:�Ü˜˜R  T§Y¡Y°·	±	Õ:ñ	;ñ	;r"   c                 ó   — | j                  d«      \  }}}t        |j                  d   «      D ]N  }t        |||d¬«      \  }}t	        j
                  ||d«      }t        |||| j                  | j                  «       ŒP y )Nr]   r   Frs   ru   rx   s           r    Útest_tall_1_rowzBaseQRdelete.test_tall_1_row‹   sp   € Ø—-‘- Ó'‰ˆˆ1ˆaÜ˜Ÿ™ ™Ó$ò 	7ˆCÜ˜q ! S°uÔ=‰FˆB�Ü—‘˜1˜c 1Ó%ˆBÜ�R˜˜R §¡¨D¯I©IÕ6ñ	7r"   c           
      óD  — | j                  d«      \  }}}t        dd«      D ]|  }t        |j                  d   |z
  «      D ]\  }t        ||||d¬«      \  }}t	        j
                  |t        |||z   «      d«      }t        |||| j                  | j                  «       Œ^ Œ~ y )Nr]   r   r€   r   Frs   r�   rƒ   s	            r    Útest_tall_p_rowzBaseQRdelete.test_tall_p_row’   s–   € Ø—-‘- Ó'‰ˆˆ1ˆaÜ˜!˜Q“Kò 	;ˆDÜ˜QŸW™W Q™Z¨™_Ó-ò ;�Ü" 1 a¨¨dÀÔG‘��BÜ—Y‘Y˜q¤%¨¨S°©XÓ"6¸Ó:�Ü˜˜R  T§Y¡Y°·	±	Õ:ñ;ñ	;r"   c                 ó  — | j                  d«      \  }}}t        |j                  d   «      D ]O  }t        |||dd¬«      \  }}t	        j
                  ||d«      }t        |||| j                  | j                  «       ŒQ y )Nr]   r   rˆ   Fr‰   ru   r‹   s           r    Útest_tall_1_colzBaseQRdelete.test_tall_1_colš   sr   € Ø—-‘- Ó'‰ˆˆ1ˆaÜ˜Ÿ™ ™Ó$ò 	7ˆCÜ˜q ! S°ÀEÔJ‰FˆB�Ü—‘˜1˜c 1Ó%ˆBÜ�R˜˜R §¡¨D¯I©IÕ6ñ	7r"   c           
      óF  — | j                  d«      \  }}}t        dd«      D ]}  }t        |j                  d   |z
  «      D ]]  }t        ||||dd¬«      \  }}t	        j
                  |t        |||z   «      d«      }t        |||| j                  | j                  «       Œ_ Œ y )Nr]   r   r€   r   rˆ   Fr‰   r�   r�   s	            r    Útest_tall_p_colzBaseQRdelete.test_tall_p_col¡   s›   € Ø—-‘- Ó'‰ˆˆ1ˆaÜ˜!˜Q“Kò 	;ˆDÜ˜QŸW™W Q™Z¨™_Ó-ò ;�Ü" 1 a¨¨d¸%Ø05ô7‘��Bä—Y‘Y˜q¤%¨¨S°©XÓ"6¸Ó:�Ü˜˜R  T§Y¡Y°·	±	Õ:ñ	;ñ	;r"   c                 ó   — | j                  d«      \  }}}t        |j                  d   «      D ]N  }t        |||d¬«      \  }}t	        j
                  ||d«      }t        |||| j                  | j                  «       ŒP y )Nr^   r   Frs   ru   rx   s           r    Útest_fat_1_rowzBaseQRdelete.test_fat_1_rowª   r~   r"   c           
      óD  — | j                  d«      \  }}}t        dd«      D ]|  }t        |j                  d   |z
  «      D ]\  }t        ||||d¬«      \  }}t	        j
                  |t        |||z   «      d«      }t        |||| j                  | j                  «       Œ^ Œ~ y )Nr^   r   r€   r   Frs   r�   rƒ   s	            r    Útest_fat_p_rowzBaseQRdelete.test_fat_p_row±   r†   r"   c                 ó  — | j                  d«      \  }}}t        |j                  d   «      D ]O  }t        |||dd¬«      \  }}t	        j
                  ||d«      }t        |||| j                  | j                  «       ŒQ y )Nr^   r   rˆ   Fr‰   ru   r‹   s           r    Útest_fat_1_colzBaseQRdelete.test_fat_1_col¹   r�   r"   c           
      óF  — | j                  d«      \  }}}t        dd«      D ]}  }t        |j                  d   |z
  «      D ]]  }t        ||||dd¬«      \  }}t	        j
                  |t        |||z   «      d«      }t        |||| j                  | j                  «       Œ_ Œ y )Nr^   r   r€   r   rˆ   Fr‰   r�   r�   s	            r    Útest_fat_p_colzBaseQRdelete.test_fat_p_colÀ   r‘   r"   c           	      ó  — | j                  dd«      \  }}}t        |j                  d   «      D ]O  }t        |||d¬«      \  }}t	        j
                  ||d«      }t        |||| j                  | j                  d«       ŒQ y ©Nr]   Úeconomicr   Frs   ru   rx   s           r    Útest_economic_1_rowz BaseQRdelete.test_economic_1_rowÉ   st   € à—-‘- ¨
Ó3‰ˆˆ1ˆaÜ˜Ÿ™ ™Ó$ò 	>ˆCÜ˜q ! S°uÔ=‰FˆB�Ü—‘˜1˜c 1Ó%ˆBÜ�R˜˜R §¡¨D¯I©I°uÕ=ñ	>r"   c           	      ó&  — | j                  dd«      \  }}}t        |j                  d   |z
  «      D ]]  }t        ||||d¬«      \  }}t	        j
                  |t        |||z   «      d«      }t        |||| j                  | j                  d«       Œ_ y r£   r�   )	rU   r„   r   r*   r+   ry   rz   r{   r|   s	            r    Úbase_economic_p_row_xxxz$BaseQRdelete.base_economic_p_row_xxxÕ   s…   € Ø—-‘- ¨
Ó3‰ˆˆ1ˆaÜ˜Ÿ™ ™ D™Ó)ò 	>ˆCÜ˜q ! S¨$¸UÔC‰FˆB�Ü—‘˜1œe C¨¨T©Ó2°AÓ6ˆBÜ�R˜˜R §¡¨D¯I©I°uÕ=ñ	>r"   c                 ó&   — | j                  d«       y ©Nr.   ©r§   rT   s    r    Útest_economic_p_row_economicz)BaseQRdelete.test_economic_p_row_economicÜ   ó   € à×$Ñ$ QÕ'r"   c                 ó&   — | j                  d«       y ©Nr1   rª   rT   s    r    Útest_economic_p_row_sqrz$BaseQRdelete.test_economic_p_row_sqrà   r¬   r"   c                 ó&   — | j                  d«       y ©Nr/   rª   rT   s    r    Útest_economic_p_row_fatz$BaseQRdelete.test_economic_p_row_fatä   r¬   r"   c           	      ó  — | j                  dd«      \  }}}t        |j                  d   «      D ]P  }t        |||dd¬«      \  }}t	        j
                  ||d«      }t        |||| j                  | j                  d«       ŒR y )Nr]   r¤   r   rˆ   Fr‰   ru   r‹   s           r    Útest_economic_1_colz BaseQRdelete.test_economic_1_colè   sv   € Ø—-‘- ¨
Ó3‰ˆˆ1ˆaÜ˜Ÿ™ ™Ó$ò 	>ˆCÜ˜q ! S°ÀEÔJ‰FˆB�Ü—‘˜1˜c 1Ó%ˆBÜ�R˜˜R §¡¨D¯I©I°uÕ=ñ	>r"   c           
      óJ  — | j                  dd«      \  }}}t        dd«      D ]~  }t        |j                  d   |z
  «      D ]^  }t        ||||dd¬«      \  }}t	        j
                  |t        |||z   «      d«      }t        |||| j                  | j                  d«       Œ` Œ€ y )	Nr]   r¤   r   r€   r   rˆ   Fr‰   r�   r�   s	            r    Útest_economic_p_colz BaseQRdelete.test_economic_p_colï   s£   € Ø—-‘- ¨
Ó3‰ˆˆ1ˆaÜ˜!˜Q“Kò 	BˆDÜ˜QŸW™W Q™Z¨™_Ó-ò B�Ü" 1 a¨¨d¸%Ø05ô7‘��Bä—Y‘Y˜q¤%¨¨S°©XÓ"6¸Ó:�Ü˜˜R  T§Y¡Y°·	±	¸5ÕAñ	Bñ	Br"   c                 ó   — | j                  d«      \  }}}t        |j                  d   «      D ]N  }t        |||d¬«      \  }}t	        j
                  ||d«      }t        |||| j                  | j                  «       ŒP y )Nr_   r   Frs   ru   rx   s           r    Útest_Mx1_1_rowzBaseQRdelete.test_Mx1_1_rowø   r~   r"   c           
      óD  — | j                  d«      \  }}}t        dd«      D ]|  }t        |j                  d   |z
  «      D ]\  }t        ||||d¬«      \  }}t	        j
                  |t        |||z   «      d«      }t        |||| j                  | j                  «       Œ^ Œ~ y )Nr_   r   r€   r   Frs   r�   rƒ   s	            r    Útest_Mx1_p_rowzBaseQRdelete.test_Mx1_p_rowÿ   r†   r"   c                 ó  — | j                  d«      \  }}}t        |j                  d   «      D ]O  }t        |||dd¬«      \  }}t	        j
                  ||d«      }t        |||| j                  | j                  «       ŒQ y )Nr`   r   rˆ   Fr‰   ru   r‹   s           r    Útest_1xN_1_colzBaseQRdelete.test_1xN_1_col  r�   r"   c           
      óF  — | j                  d«      \  }}}t        dd«      D ]}  }t        |j                  d   |z
  «      D ]]  }t        ||||dd¬«      \  }}t	        j
                  |t        |||z   «      d«      }t        |||| j                  | j                  «       Œ_ Œ y )Nr`   r   r€   r   rˆ   Fr‰   r�   r�   s	            r    Útest_1xN_p_colzBaseQRdelete.test_1xN_p_col  r‘   r"   c           	      ó  — | j                  dd«      \  }}}t        |j                  d   «      D ]O  }t        |||d¬«      \  }}t	        j
                  ||d«      }t        |||| j                  | j                  d«       ŒQ y )Nr_   r¤   r   Frs   ru   rx   s           r    Útest_Mx1_economic_1_rowz$BaseQRdelete.test_Mx1_economic_1_row  st   € Ø—-‘-  zÓ2‰ˆˆ1ˆaÜ˜Ÿ™ ™Ó$ò 	>ˆCÜ˜q ! S°uÔ=‰FˆB�Ü—‘˜1˜c 1Ó%ˆBÜ�R˜˜R §¡¨D¯I©I°uÕ=ñ	>r"   c           
      óH  — | j                  dd«      \  }}}t        dd«      D ]}  }t        |j                  d   |z
  «      D ]]  }t        ||||d¬«      \  }}t	        j
                  |t        |||z   «      d«      }t        |||| j                  | j                  d«       Œ_ Œ y )Nr_   r¤   r   r€   r   Frs   r�   rƒ   s	            r    Útest_Mx1_economic_p_rowz$BaseQRdelete.test_Mx1_economic_p_row  sž   € Ø—-‘-  zÓ2‰ˆˆ1ˆaÜ˜!˜Q“Kò 	BˆDÜ˜QŸW™W Q™Z¨™_Ó-ò B�Ü" 1 a¨¨dÀÔG‘��BÜ—Y‘Y˜q¤%¨¨S°©XÓ"6¸Ó:�Ü˜˜R  T§Y¡Y°·	±	¸5ÕAñBñ	Br"   c                 ó  — | j                  d«      \  }}}t        ||ddd«      \  }}t        |t        j                  d|j
                  ¬«      «       t        |t        j                  d|j                  d   f|j
                  ¬«      «       y )Nr`   r   r   ry   ©r   r   ©r   r   )ri   r   r   r   Úndarrayr   r   ©rU   r   r*   r+   rz   r{   s         r    Útest_delete_last_1_rowz#BaseQRdelete.test_delete_last_1_row&  sj   € à—-‘- Ó&‰ˆˆ1ˆaÜ˜1˜a  A uÓ-‰ˆˆBÜ�RœŸ™¨&¸¿¹Ô@ÔAÜ�RœŸ™¨1¨a¯g©g°a©j¨/ÀÇÁÔIÕJr"   c                 ól  — | j                  dd«      \  }}}t        ||d|j                  d   d«      \  }}t        |t	        j
                  d|j                  ¬«      «       t        |t	        j
                  d|j                  d   f|j                  ¬«      «       | j                  dd«      \  }}}t        ||d|j                  d   d«      \  }}t        |t	        j
                  d|j                  ¬«      «       t        |t	        j
                  d|j                  d   f|j                  ¬«      «       y )	Nr]   rk   r   ry   rÄ   rÅ   r   r¤   )ri   r   r   r   r   rÆ   r   rÇ   s         r    Útest_delete_last_p_rowz#BaseQRdelete.test_delete_last_p_row-  sæ   € Ø—-‘- ¨Ó/‰ˆˆ1ˆaÜ˜1˜a  A§G¡G¨A¡J°Ó6‰ˆˆBÜ�RœŸ™¨&¸¿¹Ô@ÔAÜ�RœŸ™¨1¨a¯g©g°a©j¨/ÀÇÁÔIÔJà—-‘- ¨
Ó3‰ˆˆ1ˆaÜ˜1˜a  A§G¡G¨A¡J°Ó6‰ˆˆBÜ�RœŸ™¨&¸¿¹Ô@ÔAÜ�RœŸ™¨1¨a¯g©g°a©j¨/ÀÇÁÔIÕJr"   c                 ó€  — | j                  dd«      \  }}}t        ||ddd«      \  }}t        |t        j                  |j
                  d   df|j                  ¬«      «       t        |t        j                  d|j                  ¬«      «       | j                  dd«      \  }}}t        ||ddd«      \  }}t        |«       t        |j                  |j                  k(  «       t        |j
                  |j
                  k(  «       t        |t        j                  |j
                  d   df|j                  ¬«      «       y )	Nr_   r¤   r   r   rˆ   rÅ   rÄ   rk   )	ri   r   r   r   rÆ   r   r   r!   r   rÇ   s         r    Útest_delete_last_1_colz#BaseQRdelete.test_delete_last_1_col8  sï   € Ø—-‘-  zÓ2‰ˆˆ1ˆaÜ˜1˜a  A uÓ-‰ˆˆBÜ�RœŸ™¨1¯7©7°1©:°q¨/ÀÇÁÔIÔJÜ�RœŸ™¨&¸¿¹Ô@ÔAà—-‘-  vÓ.‰ˆˆ1ˆaÜ˜1˜a  A uÓ-‰ˆˆBÜ�rÔÜ�—‘˜AŸG™GÑ#Ô$Ü�—‘˜AŸG™GÑ#Ô$Ü�RœŸ™¨1¯7©7°1©:°q¨/ÀÇÁÔIÕJr"   c                 ó´  — | j                  dd«      \  }}}t        ||d|j                  d   d«      \  }}t        |«       t	        |j
                  |j
                  k(  «       t	        |j                  |j                  k(  «       t        |t        j                  |j                  d   df|j
                  ¬«      «       | j                  dd«      \  }}}t        ||d|j                  d   d«      \  }}t        |t        j                  |j                  d   df|j
                  ¬«      «       t        |t        j                  d|j
                  ¬«      «       y )	Nr]   rk   r   r   rˆ   rÅ   r¤   rÄ   )	ri   r   r   r!   r   r   r   r   rÆ   rÇ   s         r    Útest_delete_last_p_colz#BaseQRdelete.test_delete_last_p_colE  sÿ   € Ø—-‘- ¨Ó/‰ˆˆ1ˆaÜ˜1˜a  A§G¡G¨A¡J°Ó6‰ˆˆBÜ�rÔÜ�—‘˜AŸG™GÑ#Ô$Ü�—‘˜AŸG™GÑ#Ô$Ü�RœŸ™¨1¯7©7°1©:°q¨/ÀÇÁÔIÔJà—-‘- ¨
Ó3‰ˆˆ1ˆaÜ˜1˜a  A§G¡G¨A¡J°Ó6‰ˆˆBÜ�RœŸ™¨1¯7©7°1©:°q¨/ÀÇÁÔIÔJÜ�RœŸ™¨&¸¿¹Ô@ÕAr"   c                 ó|  — | j                  d«      \  }}}t        ||ddd«      \  }}t        |t        j                  d|j
                  ¬«      «       t        |t        j                  d|j                  d   f|j
                  ¬«      «       | j                  d«      \  }}}t        ||ddd«      \  }}t        |«       t        |j
                  |j
                  k(  «       t        |j                  |j                  k(  «       t        |t        j                  |j                  d   df|j
                  ¬«      «       y )Nra   r   r   ry   rÄ   rÅ   rˆ   )	ri   r   r   r   rÆ   r   r   r!   r   rÇ   s         r    Útest_delete_1x1_row_colz$BaseQRdelete.test_delete_1x1_row_colR  së   € Ø—-‘- Ó&‰ˆˆ1ˆaÜ˜1˜a  A uÓ-‰ˆˆBÜ�RœŸ™¨&¸¿¹Ô@ÔAÜ�RœŸ™¨1¨a¯g©g°a©j¨/ÀÇÁÔIÔJà—-‘- Ó&‰ˆˆ1ˆaÜ˜1˜a  A uÓ-‰ˆˆBÜ�rÔÜ�—‘˜AŸG™GÑ#Ô$Ü�—‘˜AŸG™GÑ#Ô$Ü�RœŸ™¨1¯7©7°1©:°q¨/ÀÇÁÔIÕJr"   c           	      óª  — |dk(  r0t        |d «      t        |d «      f}t        |d «      t        d «      f}n.t        d «      t        d «      f}t        d «      t        d | «      f}t        j                  g d¢|«      D �]T  \  }}	| j                  |«      \  }
}} |||f«      \  }}|dk(  rt	        j
                  |
|	|dk(  rdnd«      }net        |	|	|z   «      }|	dk  r3t        |	|	|z   |dk(  r|
j                  d   n|
j                  d   z   «      }t	        j
                  |
||dk(  rdnd«      }|j                  d«      }|j                  d«      }t        |||	||d«      \  }}t        |||| j                  | j                  «       t        |||	||d«      \  }}t        |||| j                  | j                  «       |rLt        |||   | j                  | j                  ¬«       t        |||   | j                  | j                  ¬«       |j                  d«      }|j                  d«      }t        |||	||d«      \  }}t        |||| j                  | j                  «       t        |||	||d«      \  }}t        |||| j                  | j                  «       |rLt        |||   | j                  | j                  ¬«       t        |||   | j                  | j                  ¬«       |j                  d«      }|j                  d«      } |||f«      \  }}t        |||	||d«      \  }}t        |||| j                  | j                  «       t        |||	||d«      \  }}t        |||| j                  | j                  «       |s�Œ	t        |||   | j                  | j                  ¬«       t        |||   | j                  | j                  ¬«       �ŒW y )	Nry   ©r\   r]   r^   r   r   ÚFFTr   )r‚   Ú	itertoolsÚproductri   r   rw   r   Úcopyr   r,   r   r   r   )rU   Úadjust_stridesÚksÚprŠ   ÚoverwriteableÚqindÚrindrg   r:   r   Úq0Úr0ÚqsÚrsr|   r<   r*   r+   rz   r{   Úq1oÚr1oÚq2Úr2Úq2oÚr2oÚq3Úr3Úq3oÚr3os                                  r    Úbase_non_simple_stridesz$BaseQRdelete.base_non_simple_stridese  sQ  € à�EŠ>Ü˜!˜D“M¤5¨¨4£=Ð1ˆDÜ˜!˜D“M¤5¨£;Ð/‰Dä˜$“K¤ t£Ð-ˆDÜ˜$“K¤ t¨Q¨B£Ð0ˆDä ×(Ñ(Ò)?ÀÓDó .	O‰GˆD�!ØŸ™ tÓ,‰JˆAˆr�2Ù# R¨ HÓ-‰FˆB�Ø�AŠvÜ—Y‘Y˜q !¨%°5ª.¡Q¸aÓ@‘ä˜!˜A˜a™C“L�Ø�q’5Ü˜a  Q¡Ø-2°eª^˜qŸw™w qšzÀÇÁÈÁñ"Mó N�Aä—Y‘Y˜q !¨%°5ª.¡Q¸aÓ@�ð —‘˜“ˆAØ—‘˜“ˆAÜ˜r 1 a¨¨E°5Ó9‰FˆB�Ü�R˜˜R §¡¨D¯I©IÔ6Ü   Q¨¨1¨e°TÓ:‰HˆC�Ü�S˜#˜r 4§9¡9¨d¯i©iÔ8ÙÜ  R¨¡X°D·I±IÀDÇIÁIÕNÜ  Q t¡W°4·9±9À4Ç9Á9ÕMà—‘˜“ˆAØ—‘˜“ˆAÜ˜q " a¨¨E°5Ó9‰FˆB�Ü�R˜˜R §¡¨D¯I©IÔ6Ü   B¨¨1¨e°TÓ:‰HˆC�Ü�S˜#˜r 4§9¡9¨d¯i©iÔ8ÙÜ  Q t¡W°4·9±9À4Ç9Á9ÕMÜ  R¨¡X°D·I±IÀDÇIÁIÕNà—‘˜“ˆAØ—‘˜“ˆAá# Q¨ FÓ+‰FˆB�Ü˜r 2 q¨!¨U°EÓ:‰FˆB�Ü�R˜˜R §¡¨D¯I©IÔ6Ü   R¨¨A¨u°dÓ;‰HˆC�Ü�S˜#˜r 4§9¡9¨d¯i©iÔ8ÛÜ  R¨¡X°D·I±IÀDÇIÁIÕNÜ  R¨¡X°D·I±IÀDÇIÁI×Nñ].	Or"   c                 ó8   — | j                  t        dgddd«       y )Nr   r   ry   T©rë   r@   rT   s    r    Útest_non_unit_strides_1_rowz(BaseQRdelete.test_non_unit_strides_1_rowž  ó   € Ø×$Ñ$¤\°A°3¸¸5À$ÕGr"   c                 ó8   — | j                  t        dgddd«       y )Nr   r.   ry   Trí   rT   s    r    Útest_non_unit_strides_p_rowz(BaseQRdelete.test_non_unit_strides_p_row¡  rï   r"   c                 ó8   — | j                  t        dgddd«       y )Nr   r   rˆ   Trí   rT   s    r    Útest_non_unit_strides_1_colz(BaseQRdelete.test_non_unit_strides_1_col¤  rï   r"   c                 ó8   — | j                  t        dgddd«       y ©Nr   r.   rˆ   Frí   rT   s    r    Útest_non_unit_strides_p_colz(BaseQRdelete.test_non_unit_strides_p_col§  s   € Ø×$Ñ$¤\°A°3¸¸5À%ÕHr"   c                 ó8   — | j                  t        dgddd«       y ©Nr   r   ry   F©rë   rD   rT   s    r    Útest_neg_strides_1_rowz#BaseQRdelete.test_neg_strides_1_rowª  ó   € Ø×$Ñ$¤^°a°S¸!¸UÀEÕJr"   c                 ó8   — | j                  t        dgddd«       y ©Nr   r.   ry   Frù   rT   s    r    Útest_neg_strides_p_rowz#BaseQRdelete.test_neg_strides_p_row­  rû   r"   c                 ó8   — | j                  t        dgddd«       y ©Nr   r   rˆ   Frù   rT   s    r    Útest_neg_strides_1_colz#BaseQRdelete.test_neg_strides_1_col°  rû   r"   c                 ó8   — | j                  t        dgddd«       y rõ   rù   rT   s    r    Útest_neg_strides_p_colz#BaseQRdelete.test_neg_strides_p_col³  rû   r"   c                 ó8   — | j                  t        dgddd«       y rø   ©rë   rL   rT   s    r    Útest_non_itemize_strides_1_rowz+BaseQRdelete.test_non_itemize_strides_1_row¶  ó   € Ø×$Ñ$Ô%8¸1¸#¸qÀ%ÈÕOr"   c                 ó8   — | j                  t        dgddd«       y rý   r  rT   s    r    Útest_non_itemize_strides_p_rowz+BaseQRdelete.test_non_itemize_strides_p_row¹  r  r"   c                 ó8   — | j                  t        dgddd«       y r   r  rT   s    r    Útest_non_itemize_strides_1_colz+BaseQRdelete.test_non_itemize_strides_1_col¼  r  r"   c                 ó8   — | j                  t        dgddd«       y rõ   r  rT   s    r    Útest_non_itemize_strides_p_colz+BaseQRdelete.test_non_itemize_strides_p_col¿  r  r"   c                 ó8   — | j                  t        dgddd«       y rø   ©rë   rP   rT   s    r    Ú test_non_native_byte_order_1_rowz-BaseQRdelete.test_non_native_byte_order_1_rowÂ  rû   r"   c                 ó8   — | j                  t        dgddd«       y rý   r  rT   s    r    Ú test_non_native_byte_order_p_rowz-BaseQRdelete.test_non_native_byte_order_p_rowÅ  rû   r"   c                 ó8   — | j                  t        dgddd«       y r   r  rT   s    r    Ú test_non_native_byte_order_1_colz-BaseQRdelete.test_non_native_byte_order_1_colÈ  rû   r"   c                 ó8   — | j                  t        dgddd«       y rõ   r  rT   s    r    Ú test_non_native_byte_order_p_colz-BaseQRdelete.test_non_native_byte_order_p_colË  rû   r"   c           
      ó  — | j                  d«      \  }}}t        j                  ddgddgddg«      D ]Ë  \  }}}t        |||||d¬	«      \  }}|dk(  rEt	        j
                  |t        ||j                  d
   z   ||z   |j                  d
   z   «      d
«      }	nDt	        j
                  |t        ||j                  d
   z   ||z   |j                  d   z   «      d«      }	t        |||	| j                  | j                  «       ŒÍ y )Nr\   éýÿÿÿiùÿÿÿr   r.   ry   rˆ   Frs   r   )ri   rÔ   rÕ   r   r   rw   r‚   r   r,   r   r   )
rU   r   r*   r+   r:   rÙ   Úwrz   r{   r|   s
             r    Ú
test_neg_kzBaseQRdelete.test_neg_kÎ  sç   € Ø—-‘- Ó&‰ˆˆ1ˆaÜ ×(Ñ(¨"¨b¨°A°q°6¸EÀ5¸>ÓJò 	7‰GˆAˆq�!Ü˜q ! Q¨¨1¸5ÔA‰FˆB�Ø�EŠzÜ—Y‘Y˜q¤%¨¨!¯'©'°!©*©°a¸±c¸!¿'¹'À!¹*±nÓ"EÀqÓI‘ä—Y‘Y˜q¤%¨¨!¯'©'°!©*©°a¸±c¸!¿'¹'À!¹*±nÓ"EÀqÓI�Ü�R˜˜R §¡¨D¯I©IÕ6ñ	7r"   c                 ó>  — |dk(  rdnd}|dk(  r0t        |d «      t        |d «      f}t        |d «      t        d «      f}n.t        d «      t        d «      f}t        d «      t        d | «      f}| j                  d|«      \  }	}
}|dk(  rt        j                  |	d|dk(  rdnd«      }n+t        j                  |	t        dd|z   «      |dk(  rdnd«      }|
j	                  d	«      }|j	                  d	«      }t        ||d||d«      \  }}t        |||| j                  | j                  |«       t        |||	| j                  | j                  |«       |r¥|
j	                  d	«      }|j	                  d	«      }t        ||d||d«      \  }}t        |||| j                  | j                  |«       t        |||   | j                  | j                  ¬
«       t        |||   | j                  | j                  ¬
«       |r¦|
j	                  d«      }|j	                  d«      }t        ||d||d«      \  }}t        |||| j                  | j                  |«       t        |||   | j                  | j                  ¬
«       t        |||   | j                  | j                  ¬
«       y y )Nrk   TFry   r\   r   r.   r   rÓ   r   ÚC)
r‚   ri   r   rw   rÖ   r   r,   r   r   r   )rU   rŠ   rÙ   Útest_CÚtest_Frc   r   rÛ   rÜ   r   rÝ   rÞ   r|   r*   r+   rz   r{   rã   rä   rç   rè   s                        r    Úbase_overwrite_qrzBaseQRdelete.base_overwrite_qrØ  s6  € Ø! Vš^‘T°ˆ
Ø�EŠ>Ü˜!˜D“M¤5¨¨4£=Ð1ˆDÜ˜!˜D“M¤5¨£;Ð/‰Dä˜$“K¤ t£Ð-ˆDÜ˜$“K¤ t¨Q¨B£Ð0ˆDØ—M‘M %¨Ó.‰	ˆˆ2ˆrØ�Š6Ü—‘˜1˜a e¨u¢n¡¸!Ó<‰Bä—‘˜1œe A q¨¡s›m°%¸5².©QÀaÓHˆBð �G‰G�C‹LˆØ�G‰G�C‹LˆÜ˜1˜a  A u¨eÓ4‰ˆˆBÜ��R˜˜TŸY™Y¨¯	©	°:Ô>Ü��A�q˜$Ÿ)™) T§Y¡Y°
Ô;áØ—‘˜“ˆAØ—‘˜“ˆAÜ˜q ! Q¨¨5°$Ó7‰FˆB�Ü�R˜˜R §¡¨D¯I©I°zÔBä˜B  $¡¨d¯i©i¸d¿i¹iÕHÜ˜B  $¡¨d¯i©i¸d¿i¹iÕHáØ—‘˜“ˆAØ—‘˜“ˆAÜ˜q ! Q¨¨5°$Ó7‰FˆB�Ü�R˜˜R §¡¨D¯I©I°zÔBÜ˜B  $¡¨d¯i©i¸d¿i¹iÕHÜ˜B  $¡¨d¯i©i¸d¿i¹iÖHð r"   c                 ó,   — | j                  dddd«       y )Nry   r   T©r  rT   s    r    Útest_overwrite_qr_1_rowz$BaseQRdelete.test_overwrite_qr_1_rowþ  ó   € à×Ñ˜u a¨¨tÕ4r"   c                 ó.   — | j                  ddddd«       y )Nry   r   Tr¤   r!  rT   s    r    Ú test_overwrite_economic_qr_1_rowz-BaseQRdelete.test_overwrite_economic_qr_1_row  ó   € à×Ñ˜u a¨¨t°ZÕ@r"   c                 ó,   — | j                  dddd«       y )Nrˆ   r   Tr!  rT   s    r    Útest_overwrite_qr_1_colz$BaseQRdelete.test_overwrite_qr_1_col  s   € ð 	×Ñ˜u a¨¨tÕ4r"   c                 ó,   — | j                  dddd«       y )Nry   r.   Tr!  rT   s    r    Útest_overwrite_qr_p_rowz$BaseQRdelete.test_overwrite_qr_p_row  r#  r"   c                 ó.   — | j                  ddddd«       y )Nry   r.   Tr¤   r!  rT   s    r    Ú test_overwrite_economic_qr_p_rowz-BaseQRdelete.test_overwrite_economic_qr_p_row  r&  r"   c                 ó,   — | j                  dddd«       y )Nrˆ   r.   FTr!  rT   s    r    Útest_overwrite_qr_p_colz$BaseQRdelete.test_overwrite_qr_p_col  s   € ð 	×Ñ˜u a¨°Õ5r"   c                 ó`   — | j                  d«      \  }}}t        t        t        ||dd¬«       y )Nr\   r   Úfoo©rŠ   ©ri   Úassert_raisesr5   r   ©rU   r   r*   r+   s       r    Útest_bad_whichzBaseQRdelete.test_bad_which  s(   € Ø—-‘- Ó&‰ˆˆ1ˆaÜ”j¤)¨Q°°1¸EÖBr"   c           	      ój  — | j                  d«      \  }}}t        t        t        |||j                  d   d«       t        t        t        |||j                  d    dz
  d«       t        t        t        |||j                  d   dd«       t        t        t        |||j                  d    dz
  dd«       y )Nr]   r   r   rˆ   ©ri   r3  r5   r   r   r4  s       r    Ú
test_bad_kzBaseQRdelete.test_bad_k  sŽ   € Ø—-‘- Ó'‰ˆˆ1ˆaÜ”j¤)¨Q°°1·7±7¸1±:¸qÔAÜ”j¤)¨Q°°A·G±G¸A±J°;¸q±=À!ÔDÜ”j¤)¨Q°°1·7±7¸1±:¸qÀ%ÔHÜ”j¤)¨Q°°A·G±G¸A±J°;¸q±=À!ÀUÕKr"   c           	      ó”  — | j                  d«      \  }}}t        t        t        ||dd«       t        t        t        ||ddd«       t        t        t        ||dd«       t        t        t        ||ddd«       t        t        t        ||d|j                  d   dz
  «       t        t        t        ||d|j                  d   dz
  d«       y )Nr]   r   r$   rˆ   r.   r   r   r7  r4  s       r    Ú
test_bad_pzBaseQRdelete.test_bad_p#  s¤   € Ø—-‘- Ó'‰ˆˆ1ˆaä”j¤)¨Q°°1°bÔ9Ü”j¤)¨Q°°1°b¸%Ô@ô 	”j¤)¨Q°°1°aÔ8Ü”j¤)¨Q°°1°a¸Ô?ô 	”j¤)¨Q°°1°a·g±g¸a±jÀ±lÔCÜ”j¤)¨Q°°1°a·g±g¸a±jÀ±lÀEÕJr"   c                 ó„   — | j                  d«      \  }}}t        t        t        t	        j
                  g «      |dd«       y ©Nr]   r   r   ©ri   r3  r5   r   r   Úarrayr4  s       r    Útest_empty_qzBaseQRdelete.test_empty_q1  s0   € Ø—-‘- Ó'‰ˆˆ1ˆaä”j¤)¬R¯X©X°b«\¸1¸aÀÕCr"   c                 ó„   — | j                  d«      \  }}}t        t        t        |t	        j
                  g «      dd«       y r<  r=  r4  s       r    Útest_empty_rzBaseQRdelete.test_empty_r6  s0   € Ø—-‘- Ó'‰ˆˆ1ˆaä”j¤)¨Q´·±¸³¸aÀÕCr"   c                 óh   — | j                  d«      \  }}}|dd  }t        t        t        ||dd«       y )Nr]   r   r   r2  r4  s       r    Útest_mismatched_q_and_rz$BaseQRdelete.test_mismatched_q_and_r;  s3   € Ø—-‘- Ó'‰ˆˆ1ˆaØˆaˆbˆEˆÜ”j¤)¨Q°°1°aÕ8r"   c           
      óš  — g d¢}| j                  d«      \  }}}|D �]   }|j                  j                  |«      }t        j                  d¬«      5  |j                  j                  |«      }d d d «       t        t        t        ||ddd«       t        t        t        ||ddd«       t        t        t        ||ddd	«       t        t        t        ||ddd	«       t        t        t        |ddd«       t        t        t        ||ddd«       t        t        t        ||ddd	«       t        t        t        ||ddd	«       �Œ# y # 1 sw Y   ŒÕxY w)
N©Úint8Úint16Úint32Úint64Úuint8Úuint16Úuint32Úuint64Úfloat16Ú
longdoubleÚclongdoubleÚboolr]   Úignore©Úinvalidr   r   ry   r   rˆ   )ri   ÚrealrN   r   Úerrstater3  r5   r   )rU   Údtsr   rÝ   rÞ   r   r*   r+   s           r    Útest_unsupported_dtypesz$BaseQRdelete.test_unsupported_dtypes@  s  € òˆð —M‘M &Ó)‰	ˆˆ2ˆrØó 	EˆEØ—‘—‘˜uÓ%ˆAÜ—‘ XÔ.ñ *Ø—G‘G—N‘N 5Ó)�÷*äœ*¤i°°B¸¸1¸eÔDÜœ*¤i°°B¸¸1¸eÔDÜœ*¤i°°B¸¸1¸eÔDÜœ*¤i°°B¸¸1¸eÔDäœ*¤i°°Q¸¸1¸eÔDÜœ*¤i°°Q¸¸1¸eÔDÜœ*¤i°°Q¸¸1¸eÔDÜœ*¤i°°Q¸¸1¸eÖDñ	E÷*ð *ús   ÁEÅE
	c           	      óN  — | j                  d«      \  }}}|j                  d«      }t        j                  |d<   t	        t
        t        ||ddd«       t	        t
        t        ||ddd«       t	        t
        t        ||ddd«       t	        t
        t        ||ddd«       |j                  d«      }t        j                  |d<   t	        t
        t        ||ddd«       t	        t
        t        ||ddd«       t	        t
        t        ||ddd«       t	        t
        t        ||ddd«       y )	Nr]   rÓ   r[   r   r   ry   r.   rˆ   )ri   rÖ   r   Únanr3  r5   r   )rU   Úa0rÝ   rÞ   r*   r+   s         r    Útest_check_finitezBaseQRdelete.test_check_finiteT  sê   € Ø—]‘] 6Ó*‰
ˆˆB�à�G‰G�C‹LˆÜ—‘ˆˆ#‰Ü”j¤)¨Q°°A°q¸%Ô@Ü”j¤)¨Q°°A°q¸%Ô@Ü”j¤)¨Q°°A°q¸%Ô@Ü”j¤)¨Q°°A°q¸%Ô@à�G‰G�C‹LˆÜ—‘ˆˆ#‰Ü”j¤)¨R°°A°q¸%Ô@Ü”j¤)¨R°°A°q¸%Ô@Ü”j¤)¨R°°A°q¸%Ô@Ü”j¤)¨R°°A°q¸%Õ@r"   c           	      ó  — | j                  d«      \  }}}t        t        t        |d   |ddd«       t        t        t        ||d   ddd«       t        t        t        |d   |ddd«       t        t        t        ||d   ddd«       y )Nra   rÄ   r   r   ry   rˆ   r2  r4  s       r    Útest_qr_scalarzBaseQRdelete.test_qr_scalare  sv   € Ø—-‘- Ó&‰ˆˆ1ˆaÜ”j¤)¨Q¨t©W°a¸¸A¸uÔEÜ”j¤)¨Q°°$±¸¸A¸uÔEÜ”j¤)¨Q¨t©W°a¸¸A¸uÔEÜ”j¤)¨Q°°$±¸¸A¸uÕEr"   Nrj   )Crl   rm   rn   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  r  r"  r%  r(  r*  r,  r.  r5  r8  r:  r?  rA  rC  rX  r\  r^  ro   r"   r    rq   rq   k   sg  „ ò7ò;ò7ò;ò7ò;ò7ò;ò7ò;ò7ò;ò>ò>ò(ò(ò(ò>òBò7ò;ò7ò;ò>òBòKò	KòKòBòKò&7OòrHòHòHòIòKòKòKòKòPòPòPòPòKòKòKòKò7ó$IòL5òAò5ò
5òAò6ò
CòLòKòDò
Dò
9ò
Eò(Aó"Fr"   rq   c                   ó0   — e Zd Z ej                  d«      Zy)ÚTestQRdelete_fÚfN©rl   rm   rn   r   r   ro   r"   r    r`  r`  l  ó   „ ØˆB�H‰H�S‹M�Er"   r`  c                   ó0   — e Zd Z ej                  d«      Zy)ÚTestQRdelete_FrÓ   Nrb  ro   r"   r    re  re  o  rc  r"   re  c                   ó0   — e Zd Z ej                  d«      Zy)ÚTestQRdelete_dÚdNrb  ro   r"   r    rg  rg  r  rc  r"   rg  c                   ó0   — e Zd Z ej                  d«      Zy)ÚTestQRdelete_DÚDNrb  ro   r"   r    rj  rj  u  rc  r"   rj  c                   ó¬  ‡ — e Zd ZdDˆ f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„ 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 „ 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„ Z2d1„ Z3d2„ Z4d3„ Z5d4„ Z6d5„ Z7d6„ Z8d7„ Z9d8„ Z:d9„ Z;d:„ Z<d;„ Z=d<„ Z>d=„ Z?d>„ Z@d?„ ZAd@„ ZBdA„ ZCdB„ ZDdC„ ZEˆ xZFS )EÚBaseQRinsertc                 ó¨  •— t         ‰| �  ||«      \  }}}t        |dkD  «       t        j                  j                  d«      }|dk(  rE|dk(  r|j	                  |j                  d   «      }	nv|j	                  ||j                  d   f«      }	nU|dk(  rE|dk(  r|j	                  |j                  d   «      }	n,|j	                  |j                  d   |f«      }	nt        d«       t        j                  | j                  j                  d«      «      r#|j	                  	j                  «      }
|	d|
z  z   }		j                  | j                  «      }	||||	fS )Nr   iÒ  ry   r   rˆ   z%which should be either "row" or "col"rb   )Úsuperri   r   r   rd   ÚRandomStater   r5   rf   r   rg   rN   )rU   rg   rc   rŠ   rÙ   r   r*   r+   ÚrngÚurC   Ú	__class__s              €r    ri   zBaseQRinsert.generatey  s  ø€ Ü‘'Ñ" 4¨Ó.‰ˆˆ1ˆaä��A‘ŒÜ�i‰i×#Ñ# DÓ)ˆð �EŠ>Ø�AŠvØ—J‘J˜qŸw™w q™zÓ*‘à—J‘J  1§7¡7¨1¡:˜Ó/‘Ø�eŠ^Ø�AŠvØ—J‘J˜qŸw™w q™zÓ*‘à—J‘J §¡¨¡
¨A˜Ó/‘äÐ>Ô?ä�?‰?˜4Ÿ:™:Ÿ?™?¨1Ó-Ô.Ø—
‘
˜1Ÿ7™7Ó#ˆAØ�B˜‘F‘
ˆAà�H‰H�T—Z‘ZÓ ˆØ�!�Q˜ˆzÐr"   c                 ó  — | j                  dd¬«      \  }}}}t        |j                  d   dz   «      D ]N  }t        ||||«      \  }}t	        j
                  |||d«      }t        |||| j                  | j                  «       ŒP y )Nr\   ry   r1  r   r   ©	ri   rv   r   r
   r   Úinsertr,   r   r   ©	rU   r   r*   r+   rr  ry   rz   r{   r|   s	            r    r}   zBaseQRinsert.test_sqr_1_row”  ó|   € Ø—]‘] 5°�]Ó6‰
ˆˆ1ˆa�Ü˜Ÿ™ ™ a™Ó(ò 	7ˆCÜ˜q ! Q¨Ó,‰FˆB�Ü—‘˜1˜c 1 aÓ(ˆBÜ�R˜˜R §¡¨D¯I©IÕ6ñ	7r"   c           	      óT  — | j                  ddd¬«      \  }}}}t        |j                  d   dz   «      D ]q  }t        ||||«      \  }}t	        j
                  |t	        j                  d|t        j                  «      |d«      }t        |||| j                  | j                  «       Œs y )Nr\   ry   r.   ©rŠ   rÙ   r   r   ©ri   rv   r   r
   r   rv  rk   Úintpr,   r   r   rw  s	            r    r…   zBaseQRinsert.test_sqr_p_row›  s�   € à—]‘] 5°¸�]Ó;‰
ˆˆ1ˆa�Ü˜Ÿ™ ™ a™Ó(ò 	7ˆCÜ˜q ! Q¨Ó,‰FˆB�Ü—‘˜1œbŸg™g a¨¬b¯g©gÓ6¸¸1Ó=ˆBÜ�R˜˜R §¡¨D¯I©IÕ6ñ	7r"   c           	      ó  — | j                  dd¬«      \  }}}}t        |j                  d   dz   «      D ]Q  }t        ||||dd¬«      \  }}t	        j
                  |||d«      }t        |||| j                  | j                  «       ŒS y )Nr\   rˆ   r1  r   F©Úoverwrite_qruru  ©	rU   r   r*   r+   rr  rˆ   rz   r{   r|   s	            r    rŒ   zBaseQRinsert.test_sqr_1_col£  ó€   € Ø—]‘] 5°�]Ó6‰
ˆˆ1ˆa�Ü˜Ÿ™ ™ a™Ó(ò 	7ˆCÜ˜q ! Q¨¨UÀ%ÔH‰FˆB�Ü—‘˜1˜c 1 aÓ(ˆBÜ�R˜˜R §¡¨D¯I©IÕ6ñ	7r"   c           	      óZ  — | j                  ddd¬«      \  }}}}t        |j                  d   dz   «      D ]t  }t        ||||dd¬«      \  }}t	        j
                  |t	        j                  d|t        j                  «      |d«      }t        |||| j                  | j                  «       Œv y )Nr\   rˆ   r.   rz  r   Fr~  r{  r€  s	            r    r�   zBaseQRinsert.test_sqr_p_colª  ó“   € à—]‘] 5°¸�]Ó;‰
ˆˆ1ˆa�Ü˜Ÿ™ ™ a™Ó(ò 	7ˆCÜ˜q ! Q¨¨UÀ%ÔH‰FˆB�Ü—‘˜1œbŸg™g a¨¬b¯g©gÓ6¸¸1Ó=ˆBÜ�R˜˜R §¡¨D¯I©IÕ6ñ	7r"   c                 ó  — | j                  dd¬«      \  }}}}t        |j                  d   dz   «      D ]N  }t        ||||«      \  }}t	        j
                  |||d«      }t        |||| j                  | j                  «       ŒP y )Nr]   ry   r1  r   r   ru  rw  s	            r    r“   zBaseQRinsert.test_tall_1_row²  s|   € Ø—]‘] 6°�]Ó7‰
ˆˆ1ˆa�Ü˜Ÿ™ ™ a™Ó(ò 	7ˆCÜ˜q ! Q¨Ó,‰FˆB�Ü—‘˜1˜c 1 aÓ(ˆBÜ�R˜˜R §¡¨D¯I©IÕ6ñ	7r"   c           	      óT  — | j                  ddd¬«      \  }}}}t        |j                  d   dz   «      D ]q  }t        ||||«      \  }}t	        j
                  |t	        j                  d|t        j                  «      |d«      }t        |||| j                  | j                  «       Œs y )Nr]   ry   r.   rz  r   r   r{  rw  s	            r    r•   zBaseQRinsert.test_tall_p_row¹  s�   € à—]‘] 6°¸!�]Ó<‰
ˆˆ1ˆa�Ü˜Ÿ™ ™ a™Ó(ò 	7ˆCÜ˜q ! Q¨Ó,‰FˆB�Ü—‘˜1œbŸg™g a¨¬b¯g©gÓ6¸¸1Ó=ˆBÜ�R˜˜R §¡¨D¯I©IÕ6ñ	7r"   c           	      ó  — | j                  dd¬«      \  }}}}t        |j                  d   dz   «      D ]Q  }t        ||||dd¬«      \  }}t	        j
                  |||d«      }t        |||| j                  | j                  «       ŒS y )Nr]   rˆ   r1  r   Fr~  ru  r€  s	            r    r—   zBaseQRinsert.test_tall_1_colÁ  s€   € Ø—]‘] 6°�]Ó7‰
ˆˆ1ˆa�Ü˜Ÿ™ ™ a™Ó(ò 	7ˆCÜ˜q ! Q¨¨UÀ%ÔH‰FˆB�Ü—‘˜1˜c 1 aÓ(ˆBÜ�R˜˜R §¡¨D¯I©IÕ6ñ	7r"   c           	      óZ  — | j                  dd|¬«      \  }}}}t        |j                  d   dz   «      D ]t  }t        ||||dd¬«      \  }}t	        j
                  |t	        j                  ||t        j                  «      |d«      }	t        |||	| j                  | j                  «       Œv y )Nr]   rˆ   rz  r   Fr~  r{  ©
rU   rÙ   r   r*   r+   rr  rˆ   rz   r{   r|   s
             r    Úbase_tall_p_col_xxxz BaseQRinsert.base_tall_p_col_xxxÌ  s“   € Ø—]‘] 6°¸!�]Ó<‰
ˆˆ1ˆa�Ü˜Ÿ™ ™ a™Ó(ò 	7ˆCÜ˜q ! Q¨¨UÀ%ÔH‰FˆB�Ü—‘˜1œbŸg™g a¨¬b¯g©gÓ6¸¸1Ó=ˆBÜ�R˜˜R §¡¨D¯I©IÕ6ñ	7r"   c                 ó&   — | j                  d«       y r©   ©r‰  rT   s    r    Útest_tall_p_col_tallz!BaseQRinsert.test_tall_p_col_tallÓ  ó   € à× Ñ  Õ#r"   c                 ó&   — | j                  d«       y r®   r‹  rT   s    r    Útest_tall_p_col_sqrz BaseQRinsert.test_tall_p_col_sqr×  r�  r"   c                 ó&   — | j                  d«       y r±   r‹  rT   s    r    Útest_tall_p_col_fatz BaseQRinsert.test_tall_p_col_fatÛ  r�  r"   c                 ó  — | j                  dd¬«      \  }}}}t        |j                  d   dz   «      D ]N  }t        ||||«      \  }}t	        j
                  |||d«      }t        |||| j                  | j                  «       ŒP y )Nr^   ry   r1  r   r   ru  rw  s	            r    r›   zBaseQRinsert.test_fat_1_rowß  rx  r"   c           	      óT  — | j                  dd|¬«      \  }}}}t        |j                  d   dz   «      D ]q  }t        ||||«      \  }}t	        j
                  |t	        j                  ||t        j                  «      |d«      }	t        |||	| j                  | j                  «       Œs y )Nr^   ry   rz  r   r   r{  )
rU   rÙ   r   r*   r+   rr  ry   rz   r{   r|   s
             r    Úbase_fat_p_row_xxxzBaseQRinsert.base_fat_p_row_xxxê  ó�   € Ø—]‘] 5°¸�]Ó;‰
ˆˆ1ˆa�Ü˜Ÿ™ ™ a™Ó(ò 	7ˆCÜ˜q ! Q¨Ó,‰FˆB�Ü—‘˜1œbŸg™g a¨¬b¯g©gÓ6¸¸1Ó=ˆBÜ�R˜˜R §¡¨D¯I©IÕ6ñ	7r"   c                 ó&   — | j                  d«       y r©   ©r”  rT   s    r    Útest_fat_p_row_fatzBaseQRinsert.test_fat_p_row_fatñ  ó   € à×Ñ Õ"r"   c                 ó&   — | j                  d«       y r®   r—  rT   s    r    Útest_fat_p_row_sqrzBaseQRinsert.test_fat_p_row_sqrõ  r™  r"   c                 ó&   — | j                  d«       y r±   r—  rT   s    r    Útest_fat_p_row_tallz BaseQRinsert.test_fat_p_row_tallù  r™  r"   c           	      ó  — | j                  dd¬«      \  }}}}t        |j                  d   dz   «      D ]Q  }t        ||||dd¬«      \  }}t	        j
                  |||d«      }t        |||| j                  | j                  «       ŒS y )Nr^   rˆ   r1  r   Fr~  ru  r€  s	            r    rŸ   zBaseQRinsert.test_fat_1_colý  r�  r"   c           	      óZ  — | j                  ddd¬«      \  }}}}t        |j                  d   dz   «      D ]t  }t        ||||dd¬«      \  }}t	        j
                  |t	        j                  d|t        j                  «      |d«      }t        |||| j                  | j                  «       Œv y )Nr^   rˆ   r.   rz  r   Fr~  r{  r€  s	            r    r¡   zBaseQRinsert.test_fat_p_col  rƒ  r"   c           	      ó  — | j                  ddd«      \  }}}}t        |j                  d   dz   «      D ]Q  }t        ||||d¬«      \  }}t	        j
                  |||d«      }t        |||| j                  | j                  d«       ŒS y )Nr]   r¤   ry   r   r   Fr~  ru  rw  s	            r    r¥   z BaseQRinsert.test_economic_1_row  s€   € Ø—]‘] 6¨:°uÓ=‰
ˆˆ1ˆa�Ü˜Ÿ™ ™ a™Ó(ò 	>ˆCÜ˜q ! Q¨¸5ÔA‰FˆB�Ü—‘˜1˜c 1 aÓ(ˆBÜ�R˜˜R §¡¨D¯I©I°uÕ=ñ	>r"   c           	      óZ  — | j                  dddd«      \  }}}}t        |j                  d   dz   «      D ]t  }t        ||||d¬«      \  }}t	        j
                  |t	        j                  d|t        j                  «      |d«      }t        |||| j                  | j                  d«       Œv y )	Nr]   r¤   ry   r.   r   r   Fr~  r{  rw  s	            r    Útest_economic_p_rowz BaseQRinsert.test_economic_p_row  s“   € à—]‘] 6¨:°u¸aÓ@‰
ˆˆ1ˆa�Ü˜Ÿ™ ™ a™Ó(ò 	>ˆCÜ˜q ! Q¨¸5ÔA‰FˆB�Ü—‘˜1œbŸg™g a¨¬b¯g©gÓ6¸¸1Ó=ˆBÜ�R˜˜R §¡¨D¯I©I°uÕ=ñ	>r"   c           	      ó2  — | j                  ddd¬«      \  }}}}t        |j                  d   dz   «      D ]`  }t        |||j	                  «       |dd¬«      \  }}t        j                  |||d«      }t        |||| j                  | j                  d«       Œb y )Nr]   r¤   rˆ   r1  r   Fr~  )
ri   rv   r   r
   rÖ   r   rv  r,   r   r   r€  s	            r    r´   z BaseQRinsert.test_economic_1_col  sŠ   € Ø—]‘] 6¨:¸U�]ÓC‰
ˆˆ1ˆa�Ü˜Ÿ™ ™ a™Ó(ò 	>ˆCÜ˜q ! Q§V¡V£X¨s°EÈÔO‰FˆB�Ü—‘˜1˜c 1 aÓ(ˆBÜ�R˜˜R §¡¨D¯I©I°uÕ=ñ	>r"   c           	      ó  — t        j                  dd| j                  ¬«      }t        j                  d| j                  ¬«      }t        j                  g d¢| j                  «      }t	        t
        j                  t        |||dd«       y )Nr1   r.   )r   )r   r   r   r   r   r   rˆ   )r   r   r   r>  r3  r   ÚLinAlgErrorr
   )rU   r*   r+   rr  s       r    Útest_economic_1_col_bad_updatez+BaseQRinsert.test_economic_1_col_bad_update"  s\   € ô �F‰F�1�a˜tŸz™zÔ*ˆÜ�F‰F�1˜DŸJ™JÔ'ˆÜ�H‰H’_ d§j¡jÓ1ˆÜ”f×(Ñ(¬)°Q¸¸1¸aÀÕGr"   c           	      ó^  — | j                  ddd|¬«      \  }}}}t        |j                  d   dz   «      D ]u  }t        ||||dd¬«      \  }}t	        j
                  |t	        j                  ||t        j                  «      |d«      }	t        |||	| j                  | j                  d«       Œw y )Nr]   r¤   rˆ   rz  r   Fr~  r{  rˆ  s
             r    Úbase_economic_p_col_xxxz$BaseQRinsert.base_economic_p_col_xxx.  s—   € Ø—]‘] 6¨:¸UÀa�]ÓH‰
ˆˆ1ˆa�Ü˜Ÿ™ ™ a™Ó(ò 	>ˆCÜ˜q ! Q¨¨UÀ%ÔH‰FˆB�Ü—‘˜1œbŸg™g a¨¬b¯g©gÓ6¸¸1Ó=ˆBÜ�R˜˜R §¡¨D¯I©I°uÕ=ñ	>r"   c                 ó&   — | j                  d«       y r©   ©r¨  rT   s    r    Útest_economic_p_col_ecoz$BaseQRinsert.test_economic_p_col_eco5  r¬   r"   c                 ó&   — | j                  d«       y r®   rª  rT   s    r    Útest_economic_p_col_sqrz$BaseQRinsert.test_economic_p_col_sqr9  r¬   r"   c                 ó&   — | j                  d«       y r±   rª  rT   s    r    Útest_economic_p_col_fatz$BaseQRinsert.test_economic_p_col_fat=  r¬   r"   c                 ó  — | j                  dd¬«      \  }}}}t        |j                  d   dz   «      D ]N  }t        ||||«      \  }}t	        j
                  |||d«      }t        |||| j                  | j                  «       ŒP y )Nr_   ry   r1  r   r   ru  rw  s	            r    r¸   zBaseQRinsert.test_Mx1_1_rowA  rx  r"   c           	      óT  — | j                  ddd¬«      \  }}}}t        |j                  d   dz   «      D ]q  }t        ||||«      \  }}t	        j
                  |t	        j                  d|t        j                  «      |d«      }t        |||| j                  | j                  «       Œs y )Nr_   ry   r.   rz  r   r   r{  rw  s	            r    rº   zBaseQRinsert.test_Mx1_p_rowH  r•  r"   c           	      ó  — | j                  dd¬«      \  }}}}t        |j                  d   dz   «      D ]Q  }t        ||||dd¬«      \  }}t	        j
                  |||d«      }t        |||| j                  | j                  «       ŒS y )Nr_   rˆ   r1  r   Fr~  ru  r€  s	            r    Útest_Mx1_1_colzBaseQRinsert.test_Mx1_1_colO  r�  r"   c           	      óZ  — | j                  ddd¬«      \  }}}}t        |j                  d   dz   «      D ]t  }t        ||||dd¬«      \  }}t	        j
                  |t	        j                  d|t        j                  «      |d«      }t        |||| j                  | j                  «       Œv y )Nr_   rˆ   r.   rz  r   Fr~  r{  r€  s	            r    Útest_Mx1_p_colzBaseQRinsert.test_Mx1_p_colV  ó“   € Ø—]‘] 5°¸�]Ó;‰
ˆˆ1ˆa�Ü˜Ÿ™ ™ a™Ó(ò 	7ˆCÜ˜q ! Q¨¨UÀ%ÔH‰FˆB�Ü—‘˜1œbŸg™g a¨¬b¯g©gÓ6¸¸1Ó=ˆBÜ�R˜˜R §¡¨D¯I©IÕ6ñ	7r"   c           	      ó  — | j                  ddd«      \  }}}}t        |j                  d   dz   «      D ]O  }t        ||||«      \  }}t	        j
                  |||d«      }t        |||| j                  | j                  d«       ŒQ y )Nr_   r¤   ry   r   r   Fru  rw  s	            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©I°uÕ=ñ	>r"   c           	      óV  — | j                  dddd«      \  }}}}t        |j                  d   dz   «      D ]r  }t        ||||«      \  }}t	        j
                  |t	        j                  d|t        j                  «      |d«      }t        |||| j                  | j                  d«       Œt y )Nr_   r¤   ry   r.   r   r   Fr{  rw  s	            r    rÂ   z$BaseQRinsert.test_Mx1_economic_p_rowd  s‘   € Ø—]‘] 5¨*°e¸QÓ?‰
ˆˆ1ˆa�Ü˜Ÿ™ ™ a™Ó(ò 	>ˆCÜ˜q ! Q¨Ó,‰FˆB�Ü—‘˜1œbŸg™g a¨¬b¯g©gÓ6¸¸1Ó=ˆBÜ�R˜˜R §¡¨D¯I©I°uÕ=ñ	>r"   c           	      ó  — | j                  ddd«      \  }}}}t        |j                  d   dz   «      D ]R  }t        ||||dd¬«      \  }}t	        j
                  |||d«      }t        |||| j                  | j                  d«       ŒT y )Nr_   r¤   rˆ   r   Fr~  ru  r€  s	            r    Útest_Mx1_economic_1_colz$BaseQRinsert.test_Mx1_economic_1_colk  s‚   € Ø—]‘] 5¨*°eÓ<‰
ˆˆ1ˆa�Ü˜Ÿ™ ™ a™Ó(ò 	>ˆCÜ˜q ! Q¨¨UÀ%ÔH‰FˆB�Ü—‘˜1˜c 1 aÓ(ˆBÜ�R˜˜R §¡¨D¯I©I°uÕ=ñ	>r"   c           	      ó\  — | j                  dddd«      \  }}}}t        |j                  d   dz   «      D ]u  }t        ||||dd¬«      \  }}t	        j
                  |t	        j                  d|t        j                  «      |d«      }t        |||| j                  | j                  d«       Œw y )Nr_   r¤   rˆ   r.   r   Fr~  r{  r€  s	            r    Útest_Mx1_economic_p_colz$BaseQRinsert.test_Mx1_economic_p_colr  s•   € Ø—]‘] 5¨*°e¸QÓ?‰
ˆˆ1ˆa�Ü˜Ÿ™ ™ a™Ó(ò 	>ˆCÜ˜q ! Q¨¨UÀ%ÔH‰FˆB�Ü—‘˜1œbŸg™g a¨¬b¯g©gÓ6¸¸1Ó=ˆBÜ�R˜˜R §¡¨D¯I©I°uÕ=ñ	>r"   c                 ó  — | j                  dd¬«      \  }}}}t        |j                  d   dz   «      D ]N  }t        ||||«      \  }}t	        j
                  |||d«      }t        |||| j                  | j                  «       ŒP y )Nr`   ry   r1  r   r   ru  rw  s	            r    Útest_1xN_1_rowzBaseQRinsert.test_1xN_1_rowy  rx  r"   c           	      óT  — | j                  ddd¬«      \  }}}}t        |j                  d   dz   «      D ]q  }t        ||||«      \  }}t	        j
                  |t	        j                  d|t        j                  «      |d«      }t        |||| j                  | j                  «       Œs y )Nr`   ry   r.   rz  r   r   r{  rw  s	            r    Útest_1xN_p_rowzBaseQRinsert.test_1xN_p_row€  r•  r"   c           	      ó  — | j                  dd¬«      \  }}}}t        |j                  d   dz   «      D ]Q  }t        ||||dd¬«      \  }}t	        j
                  |||d«      }t        |||| j                  | j                  «       ŒS y )Nr`   rˆ   r1  r   Fr~  ru  r€  s	            r    r¼   zBaseQRinsert.test_1xN_1_col‡  r�  r"   c           	      óZ  — | j                  ddd¬«      \  }}}}t        |j                  d   dz   «      D ]t  }t        ||||dd¬«      \  }}t	        j
                  |t	        j                  d|t        j                  «      |d«      }t        |||| j                  | j                  «       Œv y )Nr`   rˆ   r.   rz  r   Fr~  r{  r€  s	            r    r¾   zBaseQRinsert.test_1xN_p_colŽ  r¶  r"   c                 ó  — | j                  dd¬«      \  }}}}t        |j                  d   dz   «      D ]N  }t        ||||«      \  }}t	        j
                  |||d«      }t        |||| j                  | j                  «       ŒP y )Nra   ry   r1  r   r   ru  rw  s	            r    Útest_1x1_1_rowzBaseQRinsert.test_1x1_1_row•  rx  r"   c           	      óT  — | j                  ddd¬«      \  }}}}t        |j                  d   dz   «      D ]q  }t        ||||«      \  }}t	        j
                  |t	        j                  d|t        j                  «      |d«      }t        |||| j                  | j                  «       Œs y )Nra   ry   r.   rz  r   r   r{  rw  s	            r    Útest_1x1_p_rowzBaseQRinsert.test_1x1_p_rowœ  r•  r"   c           	      ó  — | j                  dd¬«      \  }}}}t        |j                  d   dz   «      D ]Q  }t        ||||dd¬«      \  }}t	        j
                  |||d«      }t        |||| j                  | j                  «       ŒS y )Nra   rˆ   r1  r   Fr~  ru  r€  s	            r    Útest_1x1_1_colzBaseQRinsert.test_1x1_1_col£  r�  r"   c           	      óZ  — | j                  ddd¬«      \  }}}}t        |j                  d   dz   «      D ]t  }t        ||||dd¬«      \  }}t	        j
                  |t	        j                  d|t        j                  «      |d«      }t        |||| j                  | j                  «       Œv y )Nra   rˆ   r.   rz  r   Fr~  r{  r€  s	            r    Útest_1x1_p_colzBaseQRinsert.test_1x1_p_colª  r¶  r"   c           	      ó„  — | j                  dd¬«      \  }}}}t        t        t        |d   ||dd«       t        t        t        ||d   |dd«       t        t        t        |||d   dd«       t        t        t        |d   ||dd«       t        t        t        ||d   |dd«       t        t        t        |||d   dd«       y )Nra   ry   r1  rÄ   r   rˆ   ©ri   r3  r5   r
   ©rU   r   r*   r+   rr  s        r    Útest_1x1_1_scalarzBaseQRinsert.test_1x1_1_scalar±  s¬   € Ø—]‘] 5°�]Ó6‰
ˆˆ1ˆa�Ü”j¤)¨Q¨t©W°a¸¸A¸uÔEÜ”j¤)¨Q°°$±¸¸A¸uÔEÜ”j¤)¨Q°°1°Q±4¸¸EÔBä”j¤)¨Q¨t©W°a¸¸A¸uÔEÜ”j¤)¨Q°°$±¸¸A¸uÔEÜ”j¤)¨Q°°1°Q±4¸¸EÕBr"   c           	      óh  — dD �],  }| j                  |||¬«      \  }}}}	 ||||	f«      \  }
}}|dk(  r t        j                  |||	|dk(  rdnd«      }nIt        j                  |t        j                  ||t        j                  «      |dk(  r|	n|	|dk(  rdnd«      }|j                  d«      }|j                  d«      }|	j                  d«      }t        |
||||d¬«      \  }}t        |||| j                  | j                  «       t        |
||||d	¬«      \  }}t        |||| j                  | j                  «       |j                  d«      }|j                  d«      }|	j                  d«      }t        |||||d¬«      \  }}t        |||| j                  | j                  «       t        |||||d	¬«      \  }}t        |||| j                  | j                  «       |j                  d«      }|j                  d«      }|	j                  d«      }t        |||||d¬«      \  }}t        |||| j                  | j                  «       t        |||||d	¬«      \  }}t        |||| j                  | j                  «       |j                  d«      }|j                  d«      }|	j                  d«      } ||||f«      \  }
}}t        |
||||d¬«      \  }}t        |||| j                  | j                  «       t        |
||||d	¬«      \  }} t        || || j                  | j                  «       �Œ/ y )
NrÒ   rz  r   ry   r   rÓ   Fr~  T)
ri   r   rv  rk   r|  rÖ   r
   r,   r   r   )!rU   r×   r:   rÙ   rŠ   rg   r   rÝ   rÞ   Úu0rß   rà   ÚusÚair*   r+   rr  rz   r{   rá   râ   rã   rä   rå   ræ   rç   rè   ré   rê   Úq5Úr5Úq5oÚr5os!                                    r    rë   z$BaseQRinsert.base_non_simple_strides»  sÔ  € Ø*ó /	9ˆDØ ŸM™M¨$°e¸q˜MÓA‰MˆAˆr�2�rÙ'¨¨R°¨Ó5‰JˆB��BØ�AŠvÜ—Y‘Y˜q ! R¨e°uªn©À!ÓD‘ä—Y‘Y˜q¤"§'¡'¨!¨Q´·±Ó"8Ø# ušn™°"Ø" eš^™°ó4�ð —‘˜“ˆAØ—‘˜“ˆAØ—‘˜“ˆAÜ˜r 1 a¨¨EÀÔG‰FˆB�Ü�R˜˜R §¡¨D¯I©IÔ6Ü   Q¨¨1¨eÀ4ÔH‰HˆC�Ü�S˜#˜r 4§9¡9¨d¯i©iÔ8à—‘˜“ˆAØ—‘˜“ˆAØ—‘˜“ˆAÜ˜q " a¨¨EÀÔG‰FˆB�Ü�R˜˜R §¡¨D¯I©IÔ6Ü   B¨¨1¨eÀ4ÔH‰HˆC�Ü�S˜#˜r 4§9¡9¨d¯i©iÔ8à—‘˜“ˆAØ—‘˜“ˆAØ—‘˜“ˆAÜ˜q ! R¨¨EÀÔG‰FˆB�Ü�R˜˜R §¡¨D¯I©IÔ6Ü   A r¨1¨eÀ4ÔH‰HˆC�Ü�S˜#˜r 4§9¡9¨d¯i©iÔ8à—‘˜“ˆAØ—‘˜“ˆAØ—‘˜“ˆAá'¨¨A¨q¨	Ó2‰JˆB��BÜ˜r 2 r¨1¨eÀ5ÔI‰FˆB�Ü�R˜˜R §¡¨D¯I©IÔ6Ü   R¨¨Q°ÀTÔJ‰HˆC�Ü�S˜#˜r 4§9¡9¨d¯i©iÖ8ñ_/	9r"   c                 ó4   — | j                  t        ddd«       y ©Nr   r   ry   rí   rT   s    r    rî   z(BaseQRinsert.test_non_unit_strides_1_rowí  ó   € Ø×$Ñ$¤\°1°a¸Õ?r"   c                 ó4   — | j                  t        ddd«       y ©Nr   r.   ry   rí   rT   s    r    rñ   z(BaseQRinsert.test_non_unit_strides_p_rowð  rÙ  r"   c                 ó4   — | j                  t        ddd«       y ©Nr   r   rˆ   rí   rT   s    r    ró   z(BaseQRinsert.test_non_unit_strides_1_coló  rÙ  r"   c                 ó4   — | j                  t        ddd«       y ©Nr   r.   rˆ   rí   rT   s    r    rö   z(BaseQRinsert.test_non_unit_strides_p_colö  rÙ  r"   c                 ó4   — | j                  t        ddd«       y rØ  rù   rT   s    r    rú   z#BaseQRinsert.test_neg_strides_1_rowù  ó   € Ø×$Ñ$¤^°Q¸¸5ÕAr"   c                 ó4   — | j                  t        ddd«       y rÛ  rù   rT   s    r    rþ   z#BaseQRinsert.test_neg_strides_p_rowü  rá  r"   c                 ó4   — | j                  t        ddd«       y rÝ  rù   rT   s    r    r  z#BaseQRinsert.test_neg_strides_1_colÿ  rá  r"   c                 ó4   — | j                  t        ddd«       y rß  rù   rT   s    r    r  z#BaseQRinsert.test_neg_strides_p_col  rá  r"   c                 ó4   — | j                  t        ddd«       y rØ  r  rT   s    r    Útest_non_itemsize_strides_1_rowz,BaseQRinsert.test_non_itemsize_strides_1_row  ó   € Ø×$Ñ$Ô%8¸!¸QÀÕFr"   c                 ó4   — | j                  t        ddd«       y rÛ  r  rT   s    r    Útest_non_itemsize_strides_p_rowz,BaseQRinsert.test_non_itemsize_strides_p_row  rç  r"   c                 ó4   — | j                  t        ddd«       y rÝ  r  rT   s    r    Útest_non_itemsize_strides_1_colz,BaseQRinsert.test_non_itemsize_strides_1_col  rç  r"   c                 ó4   — | j                  t        ddd«       y rß  r  rT   s    r    Útest_non_itemsize_strides_p_colz,BaseQRinsert.test_non_itemsize_strides_p_col  rç  r"   c                 ó4   — | j                  t        ddd«       y rØ  r  rT   s    r    r  z-BaseQRinsert.test_non_native_byte_order_1_row  rá  r"   c                 ó4   — | j                  t        ddd«       y rÛ  r  rT   s    r    r  z-BaseQRinsert.test_non_native_byte_order_p_row  rá  r"   c                 ó4   — | j                  t        ddd«       y rÝ  r  rT   s    r    r  z-BaseQRinsert.test_non_native_byte_order_1_col  rá  r"   c                 ó4   — | j                  t        ddd«       y rß  r  rT   s    r    r  z-BaseQRinsert.test_non_native_byte_order_p_col  rá  r"   c                 ó  — | j                  ddd¬«      \  }}}}|j                  d«      }|j                  «       }t        |||ddd¬«      \  }}t        j                  |d|d«      }	t        |||	| j                  | j                  «       t        |||| j                  | j                  «       t        |||ddd	¬«      \  }
}t        |
||	| j                  | j                  «       t        |
|| j                  | j                  ¬
«       t        ||j                  «       | j                  | j                  «       |j                  d«      }|j                  «       }t        |||ddd¬«      \  }}t        |||	| j                  | j                  «       t        |||| j                  | j                  «       t        |||ddd	¬«      \  }}t        |||	| j                  | j                  «       t        ||| j                  | j                  ¬
«       y )Nr\   rˆ   r   rz  r  r   Fr~  Tr   rÓ   )
ri   rÖ   r
   r   rv  r,   r   r   r   r   )rU   r   rÝ   r+   rr  r*   rÐ  rz   r{   r|   rã   rä   ÚqFÚu1rç   rè   Úq4Úr4s                     r    Útest_overwrite_qu_rank_1z%BaseQRinsert.test_overwrite_qu_rank_1  s¢  € ð
 —}‘} U°%¸1�}Ó=‰ˆˆ2ˆq�!Ø�G‰G�C‹LˆØ�V‰V‹Xˆä˜1˜a  A u¸EÔB‰ˆˆBÜ�Y‰Y�q˜!˜R Ó#ˆÜ��R˜˜TŸY™Y¨¯	©	Ô2Ü��A�q˜$Ÿ)™) T§Y¡YÔ/ô ˜1˜a  A u¸DÔA‰ˆˆBÜ��R˜˜TŸY™Y¨¯	©	Ô2ä˜˜A D§I¡I°D·I±IÕ>Ü˜˜2Ÿ7™7›9 d§i¡i°·±Ô;ð �W‰W�S‹\ˆØ�W‰W‹YˆÜ˜2˜q " a¨¸eÔD‰ˆˆBÜ��R˜˜TŸY™Y¨¯	©	Ô2Ü��Q˜˜4Ÿ9™9 d§i¡iÔ0ô ˜2˜q " a¨¸dÔC‰ˆˆBÜ��R˜˜TŸY™Y¨¯	©	Ô2Ü˜˜B T§Y¡Y°T·Y±YÖ?r"   c                 ó4  — | j                  ddd¬«      \  }}}}|j                  d«      }t        j                  |t        j                  dt        j
                  «      |d«      }t        |||ddd¬	«      \  }}t        |||| j                  | j                  «       t        |||| j                  | j                  «       t        |||ddd
¬	«      \  }	}
t        |	|
|| j                  | j                  «       t        |	|| j                  | j                  ¬«       y )Nr\   rˆ   r.   rz  rÓ   r   r   Fr~  Tr   )ri   rÖ   r   rv  r4   r|  r
   r,   r   r   r   )rU   r   rÝ   r+   rr  r*   r|   rz   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ˆÜ�Y‰Y�qœ"Ÿ(™( 1¤b§g¡gÓ.°°1Ó5ˆô ˜1˜a  A u¸EÔB‰ˆˆBÜ��R˜˜TŸY™Y¨¯	©	Ô2Ü��A�q˜$Ÿ)™) T§Y¡YÔ/ô ˜1˜a  A u¸DÔA‰ˆˆBÜ��R˜˜TŸY™Y¨¯	©	Ô2Ü˜˜A D§I¡I°D·I±IÖ>r"   c           	      óD  — | j                  dd¬«      \  }}}}t        t        t        t	        j
                  g «      ||dd«       t        t        t        |t	        j
                  g «      |dd«       t        t        t        ||t	        j
                  g «      dd«       t        t        t        t	        j
                  g «      ||dd«       t        t        t        |t	        j
                  g «      |dd«       t        t        t        ||t	        j
                  g «      dd«       y )Nr\   ry   r1  r   rˆ   )ri   r3  r5   r
   r   r>  rÍ  s        r    Útest_empty_inputszBaseQRinsert.test_empty_inputsP  sÄ   € Ø—]‘] 5°�]Ó6‰
ˆˆ1ˆa�Ü”j¤)¬R¯X©X°b«\¸1¸aÀÀEÔJÜ”j¤)¨Q´·±¸³¸aÀÀEÔJÜ”j¤)¨Q°´2·8±8¸B³<ÀÀEÔJÜ”j¤)¬R¯X©X°b«\¸1¸aÀÀEÔJÜ”j¤)¨Q´·±¸³¸aÀÀEÔJÜ”j¤)¨Q°´2·8±8¸B³<ÀÀEÕJr"   c           	      ó„  — | j                  dd¬«      \  }}}}t        t        t        ||dd  |dd«       t        t        t        |d d ||dd«       t        t        t        |||dd  dd«       t        t        t        ||dd  |dd«       t        t        t        |d d ||dd«       t        t        t        |||dd  dd«       y )Nr]   ry   r1  r   r   éþÿÿÿrˆ   rÌ  rÍ  s        r    Útest_mismatched_shapesz#BaseQRinsert.test_mismatched_shapesY  s¸   € Ø—]‘] 6°�]Ó7‰
ˆˆ1ˆa�Ü”j¤)¨Q°°!°"°°q¸!¸UÔCÜ”j¤)¨Q¨s°¨V°Q¸¸1¸eÔDÜ”j¤)¨Q°°1°Q°R°5¸!¸UÔCÜ”j¤)¨Q°°!°"°°q¸!¸UÔCÜ”j¤)¨Q¨s°¨V°Q¸¸1¸eÔDÜ”j¤)¨Q°°1°Q°R°5¸!¸UÕCr"   c           
      ór  — g d¢}| j                  dd¬«      \  }}}}|D �]	  }|j                  j                  |«      }t        j                  d¬«      5  |j                  j                  |«      }d d d «       |j                  j                  |«      }	t        t        t        |||dd«       t        t        t        |||dd«       t        t        t        ||dd«       t        t        t        |||dd«       t        t        t        |||	dd«       t        t        t        |||	dd«       �Œ y # 1 sw Y   Œ¾xY w)	NrE  r\   ry   r1  rR  rS  r   rˆ   )ri   rU  rN   r   rV  r3  r5   r
   )
rU   rW  r   rÝ   rÞ   rÐ  r   r*   r+   rr  s
             r    rX  z$BaseQRinsert.test_unsupported_dtypesb  s  € òˆð Ÿ™ e°5˜Ó9‰ˆˆ2ˆr�2Øó 
	FˆEØ—‘—‘˜uÓ%ˆAÜ—‘ XÔ.ñ *Ø—G‘G—N‘N 5Ó)�÷*à—‘—‘˜uÓ%ˆAÜœ*¤i°°B¸¸A¸uÔEÜœ*¤i°°B¸¸A¸uÔEÜœ*¤i°°Q¸¸A¸uÔEÜœ*¤i°°Q¸¸A¸uÔEÜœ*¤i°°R¸¸A¸uÔEÜœ*¤i°°R¸¸A¸uÖEñ
	F÷*ð *ús   ÁD-Ä-D6	c           	      óº  — | j                  ddd¬«      \  }}}}|j                  d«      }t        j                  |d<   t	        t
        t        |||d d …df   dd«       t	        t
        t        |||dd«       t	        t
        t        |||d d …df   dd«       t	        t
        t        |||dd«       |j                  d«      }t        j                  |d<   t	        t
        t        |||d d …df   dd«       t	        t
        t        |||dd«       t	        t
        t        |||d d …df   dd«       t	        t
        t        |||dd«       |j                  d«      }t        j                  |d	<   t	        t
        t        |||d d …df   dd«       t	        t
        t        |||dd«       t	        t
        t        |||d d …df   dd«       t	        t
        t        |||dd«       y )
Nr\   ry   r.   rz  rÓ   r[   r   rˆ   rÄ   )ri   rÖ   r   rZ  r3  r5   r
   )rU   r[  rÝ   rÞ   rÐ  r*   r+   rr  s           r    r\  zBaseQRinsert.test_check_finitet  sŒ  € ØŸ™ u°E¸Q˜Ó?‰ˆˆB��Bà�G‰G�C‹LˆÜ—‘ˆˆ#‰Ü”j¤)¨Q°°B²q¸°s±G¸QÀÔFÜ”j¤)¨Q°°B¸¸5ÔAÜ”j¤)¨Q°°B²q¸°s±G¸QÀÔFÜ”j¤)¨Q°°B¸¸5ÔAà�G‰G�C‹LˆÜ—‘ˆˆ#‰Ü”j¤)¨R°°B²q¸°s±G¸QÀÔFÜ”j¤)¨R°°B¸¸5ÔAÜ”j¤)¨R°°B²q¸°s±G¸QÀÔFÜ”j¤)¨R°°B¸¸5ÔAà�G‰G�C‹LˆÜ—‘ˆˆ#‰Ü”j¤)¨R°°Q²q¸°s±V¸QÀÔFÜ”j¤)¨R°°Q¸¸5ÔAÜ”j¤)¨R°°Q²q¸°s±V¸QÀÔFÜ”j¤)¨R°°Q¸¸5ÕAr"   )rk   ry   r   )Grl   rm   rn   ri   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ö   rú   rþ   r  r  ræ  ré  rë  rí  r  r  r  r  r÷  rù  rû  rþ  rX  r\  Ú__classcell__©rs  s   @r    rm  rm  x  sk  ø„ õò67ò7ò7ò7ò7ò7ò7ò7ò$ò$ò$ò7ò7ò#ò#ò#ò7ò7ò>ò>ò>òHò>ò(ò(ò(ò7ò7ò7ò7ò>ò>ò>ò>ò7ò7ò7ò7ò7ò7ò7ò7òCò09òd@ò@ò@ò@òBòBòBòBòGòGòGòGòBòBòBòBò@òB?ò$KòDòFö$Br"   rm  c                   ó0   — e Zd Z ej                  d«      Zy)ÚTestQRinsert_fra  Nrb  ro   r"   r    r  r  Œ  rc  r"   r  c                   ó0   — e Zd Z ej                  d«      Zy)ÚTestQRinsert_FrÓ   Nrb  ro   r"   r    r  r  �  rc  r"   r  c                   ó0   — e Zd Z ej                  d«      Zy)ÚTestQRinsert_drh  Nrb  ro   r"   r    r  r  ’  rc  r"   r  c                   ó0   — e Zd Z ej                  d«      Zy)ÚTestQRinsert_Drk  Nrb  ro   r"   r    r
  r
  •  rc  r"   r
  c                   ó(  ‡ — e Zd Zd.ˆ f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„ 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 „ 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/ˆ xZ0S )/ÚBaseQRupdatec                 ó:  •— t         ‰| �  ||«      \  }}}|dk(  rYt        j                  j                  |j                  d   «      }t        j                  j                  |j                  d   «      }n\t        j                  j                  |j                  d   |f«      }t        j                  j                  |j                  d   |f«      }t        j
                  | j                  j                  d«      «      rbt        j                  j                  |j                  «      }	|d|	z  z   }t        j                  j                  |j                  «      }
|d|
z  z   }|j                  | j                  «      }|j                  | j                  «      }|||||fS )Nr   r   rb   )	ro  ri   r   rd   r   rf   r   rg   rN   )rU   rg   rc   rÙ   r   r*   r+   rr  ÚvrC   rK   rs  s              €r    ri   zBaseQRupdate.generate™  s2  ø€ Ü‘'Ñ" 4¨Ó.‰ˆˆ1ˆað �Š6Ü—	‘	× Ñ  §¡¨¡Ó,ˆAÜ—	‘	× Ñ  §¡¨¡Ó,‰Aä—	‘	× Ñ  !§'¡'¨!¡*¨a Ó1ˆAÜ—	‘	× Ñ  !§'¡'¨!¡*¨a Ó1ˆAä�?‰?˜4Ÿ:™:Ÿ?™?¨1Ó-Ô.Ü—	‘	× Ñ  §¡Ó)ˆAØ�B˜‘F‘
ˆAä—	‘	× Ñ  §¡Ó)ˆAØ�B˜‘F‘
ˆAà�H‰H�T—Z‘ZÓ ˆØ�H‰H�T—Z‘ZÓ ˆØ�!�Q˜˜1ˆ}Ðr"   c                 óê   — | j                  d«      \  }}}}}t        ||||d«      \  }}|t        j                  ||j	                  «       «      z   }t        |||| j                  | j                  «       y )Nr\   F©ri   r	   r   Úouterr   r,   r   r   ©	rU   r   r*   r+   rr  r  rz   r{   r|   s	            r    Útest_sqr_rank_1zBaseQRupdate.test_sqr_rank_1¯  óc   € ØŸ™ eÓ,‰ˆˆ1ˆa��AÜ˜1˜a  A uÓ-‰ˆˆBØ”—‘˜!˜QŸV™V›XÓ&Ñ&ˆÜ��R˜˜TŸY™Y¨¯	©	Õ2r"   c                 óŠ  — dD ]¾  }| j                  d|¬«      \  }}}}}|dk(  r8|j                  |j                  d«      }|j                  |j                  d«      }t        ||||d«      \  }}|t	        j
                  ||j                  j                  «       «      z   }	t        |||	| j                  | j                  «       ŒÀ y )N©r   r   r.   r1   r\   ©rÙ   r   F©ri   ÚreshapeÚsizer	   r   r   r   r   r,   r   r   ©
rU   rÙ   r   r*   r+   rr  r  rz   r{   r|   s
             r    Útest_sqr_rank_pzBaseQRupdate.test_sqr_rank_pµ  s©   € àò 	7ˆAØ ŸM™M¨%°1˜MÓ5‰MˆAˆq�!�Q˜Ø�AŠvØ—I‘I˜aŸf™f aÓ(�Ø—I‘I˜aŸf™f aÓ(�Ü˜q ! Q¨¨5Ó1‰FˆB�Ø”R—V‘V˜A˜qŸs™sŸx™x›zÓ*Ñ*ˆBÜ�R˜˜R §¡¨D¯I©IÕ6ñ	7r"   c                 óê   — | j                  d«      \  }}}}}t        ||||d«      \  }}|t        j                  ||j	                  «       «      z   }t        |||| j                  | j                  «       y )Nr]   Fr  r  s	            r    Útest_tall_rank_1zBaseQRupdate.test_tall_rank_1À  sc   € ØŸ™ fÓ-‰ˆˆ1ˆa��AÜ˜1˜a  A uÓ-‰ˆˆBØ”—‘˜!˜QŸV™V›XÓ&Ñ&ˆÜ��R˜˜TŸY™Y¨¯	©	Õ2r"   c                 óŠ  — dD ]¾  }| j                  d|¬«      \  }}}}}|dk(  r8|j                  |j                  d«      }|j                  |j                  d«      }t        ||||d«      \  }}|t	        j
                  ||j                  j                  «       «      z   }	t        |||	| j                  | j                  «       ŒÀ y )Nr  r]   r  r   Fr  r  s
             r    Útest_tall_rank_pzBaseQRupdate.test_tall_rank_pÆ  s©   € Øò 	7ˆAØ ŸM™M¨&°A˜MÓ6‰MˆAˆq�!�Q˜Ø�AŠvØ—I‘I˜aŸf™f aÓ(�Ø—I‘I˜aŸf™f aÓ(�Ü˜q ! Q¨¨5Ó1‰FˆB�Ø”R—V‘V˜A˜qŸs™sŸx™x›zÓ*Ñ*ˆBÜ�R˜˜R §¡¨D¯I©IÕ6ñ	7r"   c                 óê   — | j                  d«      \  }}}}}t        ||||d«      \  }}|t        j                  ||j	                  «       «      z   }t        |||| j                  | j                  «       y )Nr^   Fr  r  s	            r    Útest_fat_rank_1zBaseQRupdate.test_fat_rank_1Ð  r  r"   c                 óŠ  — dD ]¾  }| j                  d|¬«      \  }}}}}|dk(  r8|j                  |j                  d«      }|j                  |j                  d«      }t        ||||d«      \  }}|t	        j
                  ||j                  j                  «       «      z   }	t        |||	| j                  | j                  «       ŒÀ y )Nr  r^   r  r   Fr  r  s
             r    Útest_fat_rank_pzBaseQRupdate.test_fat_rank_pÖ  s©   € Øò 	7ˆAØ ŸM™M¨%°1˜MÓ5‰MˆAˆq�!�Q˜Ø�AŠvØ—I‘I˜aŸf™f aÓ(�Ø—I‘I˜aŸf™f aÓ(�Ü˜q ! Q¨¨5Ó1‰FˆB�Ø”R—V‘V˜A˜qŸs™sŸx™x›zÓ*Ñ*ˆBÜ�R˜˜R §¡¨D¯I©IÕ6ñ	7r"   c                 óî   — | j                  dd«      \  }}}}}t        ||||d«      \  }}|t        j                  ||j	                  «       «      z   }t        |||| j                  | j                  d«       y )Nr]   r¤   Fr  r  s	            r    Útest_economic_rank_1z!BaseQRupdate.test_economic_rank_1à  sg   € ØŸ™ f¨jÓ9‰ˆˆ1ˆa��AÜ˜1˜a  A uÓ-‰ˆˆBØ”—‘˜!˜QŸV™V›XÓ&Ñ&ˆÜ��R˜˜TŸY™Y¨¯	©	°5Õ9r"   c           	      óŒ  — dD ]¿  }| j                  dd|«      \  }}}}}|dk(  r8|j                  |j                  d«      }|j                  |j                  d«      }t        ||||d«      \  }}|t	        j
                  ||j                  j                  «       «      z   }	t        |||	| j                  | j                  d«       ŒÁ y )Nr  r]   r¤   r   Fr  r  s
             r    Útest_economic_rank_pz!BaseQRupdate.test_economic_rank_pæ  s«   € Øò 	>ˆAØ ŸM™M¨&°*¸aÓ@‰MˆAˆq�!�Q˜Ø�AŠvØ—I‘I˜aŸf™f aÓ(�Ø—I‘I˜aŸf™f aÓ(�Ü˜q ! Q¨¨5Ó1‰FˆB�Ø”R—V‘V˜A˜qŸs™sŸx™x›zÓ*Ñ*ˆBÜ�R˜˜R §¡¨D¯I©I°uÕ=ñ	>r"   c                 óê   — | j                  d«      \  }}}}}t        ||||d«      \  }}|t        j                  ||j	                  «       «      z   }t        |||| j                  | j                  «       y )Nr_   Fr  r  s	            r    Útest_Mx1_rank_1zBaseQRupdate.test_Mx1_rank_1ð  r  r"   c                 ór  — | j                  dd¬«      \  }}}}}|j                  |j                  d«      }|j                  |j                  d«      }t        ||||d«      \  }}|t	        j
                  ||j                  j                  «       «      z   }t        |||| j                  | j                  «       y )Nr_   r   r  Fr  r  s	            r    Útest_Mx1_rank_pzBaseQRupdate.test_Mx1_rank_pö  ó•   € ð Ÿ™ e¨q˜Ó1‰ˆˆ1ˆa��AØ�I‰I�a—f‘f˜aÓ ˆØ�I‰I�a—f‘f˜aÓ ˆÜ˜1˜a  A uÓ-‰ˆˆBØ”—‘˜˜1Ÿ3™3Ÿ8™8›:Ó&Ñ&ˆÜ��R˜˜TŸY™Y¨¯	©	Õ2r"   c                 óî   — | j                  dd«      \  }}}}}t        ||||d«      \  }}|t        j                  ||j	                  «       «      z   }t        |||| j                  | j                  d«       y )Nr_   r¤   Fr  r  s	            r    Útest_Mx1_economic_rank_1z%BaseQRupdate.test_Mx1_economic_rank_1   sg   € ØŸ™ e¨ZÓ8‰ˆˆ1ˆa��AÜ˜1˜a  A uÓ-‰ˆˆBØ”—‘˜!˜QŸV™V›XÓ&Ñ&ˆÜ��R˜˜TŸY™Y¨¯	©	°5Õ9r"   c                 óv  — | j                  ddd¬«      \  }}}}}|j                  |j                  d«      }|j                  |j                  d«      }t        ||||d«      \  }}|t	        j
                  ||j                  j                  «       «      z   }t        |||| j                  | j                  d«       y )Nr_   r¤   r   r  Fr  r  s	            r    Útest_Mx1_economic_rank_pz%BaseQRupdate.test_Mx1_economic_rank_p  s™   € ð Ÿ™ e¨Z¸1˜Ó=‰ˆˆ1ˆa��AØ�I‰I�a—f‘f˜aÓ ˆØ�I‰I�a—f‘f˜aÓ ˆÜ˜1˜a  A uÓ-‰ˆˆBØ”—‘˜˜1Ÿ3™3Ÿ8™8›:Ó&Ñ&ˆÜ��R˜˜TŸY™Y¨¯	©	°5Õ9r"   c                 óê   — | j                  d«      \  }}}}}t        ||||d«      \  }}|t        j                  ||j	                  «       «      z   }t        |||| j                  | j                  «       y )Nr`   Fr  r  s	            r    Útest_1xN_rank_1zBaseQRupdate.test_1xN_rank_1  r  r"   c                 ór  — | j                  dd¬«      \  }}}}}|j                  |j                  d«      }|j                  |j                  d«      }t        ||||d«      \  }}|t	        j
                  ||j                  j                  «       «      z   }t        |||| j                  | j                  «       y )Nr`   r   r  Fr  r  s	            r    Útest_1xN_rank_pzBaseQRupdate.test_1xN_rank_p  r-  r"   c                 óê   — | j                  d«      \  }}}}}t        ||||d«      \  }}|t        j                  ||j	                  «       «      z   }t        |||| j                  | j                  «       y )Nra   Fr  r  s	            r    Útest_1x1_rank_1zBaseQRupdate.test_1x1_rank_1   r  r"   c                 ór  — | j                  dd¬«      \  }}}}}|j                  |j                  d«      }|j                  |j                  d«      }t        ||||d«      \  }}|t	        j
                  ||j                  j                  «       «      z   }t        |||| j                  | j                  «       y )Nra   r   r  Fr  r  s	            r    Útest_1x1_rank_pzBaseQRupdate.test_1x1_rank_p&  r-  r"   c           	      ó
  — | j                  d«      \  }}}}}t        t        t        |d   |||«       t        t        t        ||d   ||«       t        t        t        |||d   |«       t        t        t        ||||d   «       y )Nra   rÄ   r   ©ri   r3  r5   r	   ©rU   r   r*   r+   rr  r  s         r    Útest_1x1_rank_1_scalarz#BaseQRupdate.test_1x1_rank_1_scalar0  sr   € ØŸ™ 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           	      óš  — |dk(  rdnd}dD �]¼  }| j                  |||«      \  }}}	}
} |||	|
|f«      \  }}}}|dk(  r(|t        j                  |
|j                  «       «      z   }n1|t        j                  |
|j
                  j                  «       «      z   }|j                  d«      }|	j                  d«      }|
j                  d«      }|j                  d«      }t        ||||d«      \  }}t        |||| j                  | j                  |«       t        ||||d«      \  }}t        |||| j                  | j                  |«       |rTt        ||| j                  | j                  ¬«       t        ||j                  «       | j                  | j                  ¬«       |j                  d«      }|	j                  d«      }|
j                  d«      }|j                  d«      }t        ||||d«      \  }}t        |||| j                  | j                  |«       t        ||||d«      \  }}t        |||| j                  | j                  |«       |rTt        ||| j                  | j                  ¬«       t        ||j                  «       | j                  | j                  ¬«       |j                  d«      }|	j                  d«      }|
j                  d«      }|j                  d«      }t        ||||d«      \  }}t        |||| j                  | j                  |«       t        ||||d«      \  }} t        || || j                  | j                  |«       |rTt        | || j                  | j                  ¬«       t        ||j                  «       | j                  | j                  ¬«       |j                  d«      }|	j                  d«      }|
j                  d«      }|j                  d«      }t        ||||d«      \  }!}"t        |!|"|| j                  | j                  |«       t        ||||d«      \  }#}$t        |#|$|| j                  | j                  |«       |rTt        |$|| j                  | j                  ¬«       t        ||j                  «       | j                  | j                  ¬«       |j                  d«      }|	j                  d«      }|
j                  d«      }|j                  d«      } |||||f«      \  }}}}t        ||||d«      \  }%}&t        |%|&|| j                  | j                  |«       t        ||||d«      \  }'}(t        |'|(|| j                  | j                  |«       |s�Œit        |(|| j                  | j                  ¬«       t        ||j                  «       | j                  | j                  ¬«       �Œ¿ y )	Nr¤   FTrÒ   r   rÓ   r  r   )ri   r   r  r   r   r   rÖ   r	   r,   r   r   r   ))rU   r×   rc   rÙ   rÚ   r   rg   r   rÝ   rÞ   rÐ  Úv0rß   rà   rÑ  ÚvsÚaupr*   r+   rr  r  rz   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_strides7  s¦  € Ø" jÒ0‘U°dˆ
Ø*ó I	OˆDØ $§¡¨d°D¸!Ó <ÑˆAˆr�2�r˜2Ù+¨R°°R¸Ð,<Ó=‰NˆB��B˜Ø�AŠvØœ"Ÿ(™( 2 r§w¡w£yÓ1Ñ1‘àœ"Ÿ&™&  R§T¡T§Y¡Y£[Ó1Ñ1�ð —‘˜“ˆAØ—‘˜“ˆAØ—‘˜“ˆAØ—‘˜“ˆAÜ˜r 1 a¨¨EÓ2‰FˆB�Ü�R˜˜S $§)¡)¨T¯Y©Y¸
ÔCÜ   Q¨¨1¨dÓ3‰HˆC�Ü�S˜#˜s D§I¡I¨t¯y©y¸*ÔEÙÜ  Q¨T¯Y©Y¸T¿Y¹YÕGÜ  2§7¡7£9°4·9±9À4Ç9Á9ÕMà—‘˜“ˆAØ—‘˜“ˆAØ—‘˜“ˆAØ—‘˜“ˆAÜ˜q " a¨¨EÓ2‰FˆB�Ü�R˜˜S $§)¡)¨T¯Y©Y¸
ÔCÜ   B¨¨1¨dÓ3‰HˆC�Ü�S˜#˜s D§I¡I¨t¯y©y¸*ÔEÙÜ  R¨d¯i©i¸d¿i¹iÕHÜ  2§7¡7£9°4·9±9À4Ç9Á9ÕMà—‘˜“ˆAØ—‘˜“ˆAØ—‘˜“ˆAØ—‘˜“ˆAÜ˜q ! R¨¨EÓ2‰FˆB�Ü�R˜˜S $§)¡)¨T¯Y©Y¸
ÔCÜ   A r¨1¨dÓ3‰HˆC�Ü�S˜#˜s D§I¡I¨t¯y©y¸*ÔEÙÜ  Q¨T¯Y©Y¸T¿Y¹YÕGÜ  2§7¡7£9°4·9±9À4Ç9Á9ÕMà—‘˜“ˆAØ—‘˜“ˆAØ—‘˜“ˆAØ—‘˜“ˆAÜ˜q ! Q¨¨EÓ2‰FˆB�Ü�R˜˜S $§)¡)¨T¯Y©Y¸
ÔCÜ   A q¨"¨dÓ3‰HˆC�Ü�S˜#˜s D§I¡I¨t¯y©y¸*ÔEÙÜ  Q¨T¯Y©Y¸T¿Y¹YÕGÜ  B§G¡G£I°D·I±IÀDÇIÁIÕNà—‘˜“ˆAØ—‘˜“ˆAØ—‘˜“ˆAØ—‘˜“ˆAá+¨Q°°1°a¨LÓ9‰NˆB��B˜Ü˜r 2 r¨2¨uÓ5‰FˆB�Ü�R˜˜S $§)¡)¨T¯Y©Y¸
ÔCÜ   R¨¨R°Ó6‰HˆC�Ü�S˜#˜s D§I¡I¨t¯y©y¸*ÔEÛÜ  R¨d¯i©i¸d¿i¹iÕHÜ  B§G¡G£I°D·I±IÀDÇIÁI×NñSI	Or"   c                 ó4   — | j                  t        ddd«       y )Nrk   r   Trí   rT   s    r    Útest_non_unit_strides_rank_1z)BaseQRupdate.test_non_unit_strides_rank_1„  s   € Ø×$Ñ$¤\°6¸1¸dÕCr"   c                 ó4   — | j                  t        ddd«       y )Nr¤   r   Trí   rT   s    r    Ú%test_non_unit_strides_economic_rank_1z2BaseQRupdate.test_non_unit_strides_economic_rank_1‡  s   € Ø×$Ñ$¤\°:¸qÀ$ÕGr"   c                 ó4   — | j                  t        ddd«       y ©Nrk   r.   Frí   rT   s    r    Útest_non_unit_strides_rank_pz)BaseQRupdate.test_non_unit_strides_rank_pŠ  s   € Ø×$Ñ$¤\°6¸1¸eÕDr"   c                 ó4   — | j                  t        ddd«       y ©Nr¤   r.   Frí   rT   s    r    Ú%test_non_unit_strides_economic_rank_pz2BaseQRupdate.test_non_unit_strides_economic_rank_p�  s   € Ø×$Ñ$¤\°:¸qÀ%ÕHr"   c                 ó4   — | j                  t        ddd«       y ©Nrk   r   Frù   rT   s    r    Útest_neg_strides_rank_1z$BaseQRupdate.test_neg_strides_rank_1�  ó   € Ø×$Ñ$¤^°V¸QÀÕFr"   c                 ó4   — | j                  t        ddd«       y ©Nr¤   r   Frù   rT   s    r    Ú test_neg_strides_economic_rank_1z-BaseQRupdate.test_neg_strides_economic_rank_1“  ó   € Ø×$Ñ$¤^°ZÀÀEÕJr"   c                 ó4   — | j                  t        ddd«       y rI  rù   rT   s    r    Útest_neg_strides_rank_pz$BaseQRupdate.test_neg_strides_rank_p–  rQ  r"   c                 ó4   — | j                  t        ddd«       y rL  rù   rT   s    r    Ú test_neg_strides_economic_rank_pz-BaseQRupdate.test_neg_strides_economic_rank_p™  rU  r"   c                 ó4   — | j                  t        ddd«       y rO  r  rT   s    r    Ú test_non_itemsize_strides_rank_1z-BaseQRupdate.test_non_itemsize_strides_rank_1œ  ó   € Ø×$Ñ$Ô%8¸&À!ÀUÕKr"   c                 ó4   — | j                  t        ddd«       y rS  r  rT   s    r    Ú)test_non_itemsize_strides_economic_rank_1z6BaseQRupdate.test_non_itemsize_strides_economic_rank_1Ÿ  ó   € Ø×$Ñ$Ô%8¸*ÀaÈÕOr"   c                 ó4   — | j                  t        ddd«       y rI  r  rT   s    r    Ú test_non_itemsize_strides_rank_pz-BaseQRupdate.test_non_itemsize_strides_rank_p¢  r\  r"   c                 ó4   — | j                  t        ddd«       y rL  r  rT   s    r    Ú)test_non_itemsize_strides_economic_rank_pz6BaseQRupdate.test_non_itemsize_strides_economic_rank_p¥  r_  r"   c                 ó4   — | j                  t        ddd«       y rO  r  rT   s    r    Ú!test_non_native_byte_order_rank_1z.BaseQRupdate.test_non_native_byte_order_rank_1¨  rQ  r"   c                 ó4   — | j                  t        ddd«       y rS  r  rT   s    r    Ú*test_non_native_byte_order_economic_rank_1z7BaseQRupdate.test_non_native_byte_order_economic_rank_1«  rU  r"   c                 ó4   — | j                  t        ddd«       y rI  r  rT   s    r    Ú!test_non_native_byte_order_rank_pz.BaseQRupdate.test_non_native_byte_order_rank_p®  rQ  r"   c                 ó4   — | j                  t        ddd«       y rL  r  rT   s    r    Ú*test_non_native_byte_order_economic_rank_pz7BaseQRupdate.test_non_native_byte_order_economic_rank_p±  rU  r"   c                 ó,  — | j                  d«      \  }}}}}|t        j                  ||j                  «       «      z   }|j	                  d«      }|j	                  d«      }|j	                  d«      }	|j	                  d«      }
t        |||	|
d«      \  }}t        |||| j                  | j                  «       t        |||| j                  | j                  «       t        |||	|
d«      \  }}t        |||| j                  | j                  «       t        ||| j                  | j                  ¬«       t        ||| j                  | j                  ¬«       |j	                  d«      }|j	                  d«      }|j	                  d«      }	|j	                  d«      }
t        |||	|
d«      \  }}t        |||| j                  | j                  «       t        ||| j                  | j                  ¬«       t        ||| j                  | j                  ¬«       y )Nr\   rÓ   FTr   r  ©
ri   r   r  r   rÖ   r	   r,   r   r   r   ©rU   r   rÝ   rÞ   rÐ  r?  r|   r*   r+   rr  r  rz   r{   rã   rä   rç   rè   s                    r    Útest_overwrite_qruv_rank_1z'BaseQRupdate.test_overwrite_qruv_rank_1´  sœ  € ð !ŸM™M¨%Ó0Ñˆˆ2ˆr�2�rØ”—‘˜"˜bŸg™g›iÓ(Ñ(ˆØ�G‰G�C‹LˆØ�G‰G�C‹LˆØ�G‰G�C‹LˆØ�G‰G�C‹Lˆô ˜1˜a  A uÓ-‰ˆˆBÜ��R˜˜TŸY™Y¨¯	©	Ô2Ü��A�q˜$Ÿ)™) T§Y¡YÔ/ä˜1˜a  A tÓ,‰ˆˆBÜ��R˜˜TŸY™Y¨¯	©	Ô2ä˜˜A D§I¡I°D·I±IÕ>Ü˜˜A D§I¡I°D·I±IÕ>à�G‰G�C‹LˆØ�G‰G�C‹LˆØ�G‰G�C‹LˆØ�G‰G�C‹LˆÜ˜1˜a  A tÓ,‰ˆˆBÜ��R˜˜TŸY™Y¨¯	©	Ô2Ü˜˜A D§I¡I°D·I±IÕ>Ü˜˜A D§I¡I°D·I±IÖ>r"   c                 ó6  — | j                  dd«      \  }}}}}|t        j                  ||j                  «       «      z   }|j	                  d«      }|j	                  d«      }|j	                  d«      }	|j	                  d«      }
t        |||	|
d«      \  }}t        |||| j                  | j                  d«       t        |||| j                  | j                  d«       t        |||	|
d«      \  }}t        |||| j                  | j                  d«       t        ||| j                  | j                  ¬«       t        ||| j                  | j                  ¬«       |j	                  d«      }|j	                  d«      }|j	                  d«      }	|j	                  d«      }
t        |||	|
d«      \  }}t        |||| j                  | j                  d«       t        ||| j                  | j                  ¬«       t        ||| j                  | j                  ¬«       y )Nr]   r¤   rÓ   FTr   r  rm  rn  s                    r    Ú#test_overwrite_qruv_rank_1_economicz0BaseQRupdate.test_overwrite_qruv_rank_1_economicÒ  s¦  € ð !ŸM™M¨&°*Ó=Ñˆˆ2ˆr�2�rØ”—‘˜"˜bŸg™g›iÓ(Ñ(ˆØ�G‰G�C‹LˆØ�G‰G�C‹LˆØ�G‰G�C‹LˆØ�G‰G�C‹Lˆô ˜1˜a  A uÓ-‰ˆˆBÜ��R˜˜TŸY™Y¨¯	©	°5Ô9Ü��A�q˜$Ÿ)™) T§Y¡Y°Ô6ä˜1˜a  A tÓ,‰ˆˆBÜ��R˜˜TŸY™Y¨¯	©	°5Ô9ä˜˜A D§I¡I°D·I±IÕ>Ü˜˜A D§I¡I°D·I±IÕ>à�G‰G�C‹LˆØ�G‰G�C‹LˆØ�G‰G�C‹LˆØ�G‰G�C‹LˆÜ˜1˜a  A tÓ,‰ˆˆBÜ��R˜˜TŸY™Y¨¯	©	°5Ô9Ü˜˜A D§I¡I°D·I±IÕ>Ü˜˜A D§I¡I°D·I±IÖ>r"   c                 óÆ  — | j                  dd¬«      \  }}}}}|t        j                  ||j                  j	                  «       «      z   }|j                  d«      }|j                  d«      }|j                  d«      }	|j                  d«      }
t        |||	|
d«      \  }}t        |||| j                  | j                  «       t        |||| j                  | j                  «       t        |||	|
d«      \  }}t        |||| j                  | j                  «       t        ||| j                  | j                  ¬«       t        ||| j                  | j                  ¬«       y )	Nr\   r.   r  rÓ   r  FTr   )ri   r   r   r   r   rÖ   r	   r,   r   r   r   )rU   r   rÝ   rÞ   rÐ  r?  r|   r*   r+   rr  r  rz   r{   rã   rä   s                  r    Útest_overwrite_qruv_rank_pz'BaseQRupdate.test_overwrite_qruv_rank_pñ  s  € ð !ŸM™M¨%°1˜MÓ5Ñˆˆ2ˆr�2�rØ”—‘˜˜BŸD™DŸI™I›KÓ(Ñ(ˆØ�G‰G�C‹LˆØ�G‰G�C‹LˆØ�G‰G�C‹LˆØ�G‰G�C‹Lˆô ˜1˜a  A uÓ-‰ˆˆBÜ��R˜˜TŸY™Y¨¯	©	Ô2Ü��A�q˜$Ÿ)™) T§Y¡YÔ/ä˜1˜a  A tÓ,‰ˆˆBÜ��R˜˜TŸY™Y¨¯	©	Ô2ä˜˜A D§I¡I°D·I±IÕ>Ü˜˜A D§I¡I°D·I±IÖ>r"   c           
      óŠ  — | j                  d«      \  }}}}}t        t        t        t	        j
                  g «      |||«       t        t        t        |t	        j
                  g «      ||«       t        t        t        ||t	        j
                  g «      |«       t        t        t        |||t	        j
                  g «      «       y )Nr]   )ri   r3  r5   r	   r   r>  r<  s         r    rû  zBaseQRupdate.test_empty_inputs  s‚   € ØŸ™ fÓ-‰ˆˆ1ˆa��AÜ”j¤)¬R¯X©X°b«\¸1¸aÀÔCÜ”j¤)¨Q´·±¸³¸aÀÔCÜ”j¤)¨Q°´2·8±8¸B³<ÀÔCÜ”j¤)¨Q°°1´b·h±h¸r³lÕCr"   c           
      ó
  — | j                  d«      \  }}}}}t        t        t        ||dd  ||«       t        t        t        |d d |||«       t        t        t        |||dd  |«       t        t        t        ||||dd  «       y )Nr]   r   rý  r;  r<  s         r    rþ  z#BaseQRupdate.test_mismatched_shapes  sz   € ØŸ™ fÓ-‰ˆˆ1ˆa��AÜ”j¤)¨Q°°!°"°°q¸!Ô<Ü”j¤)¨Q¨s°¨V°Q¸¸1Ô=Ü”j¤)¨Q°°1°Q°R°5¸!Ô<Ü”j¤)¨Q°°1°a¸¸°eÕ<r"   c           	      ó6  — g d¢}| j                  d«      \  }}}}}|D ]í  }|j                  j                  |«      }t        j                  d¬«      5  |j                  j                  |«      }	d d d «       |j                  j                  |«      }
|j                  j                  |«      }t        t        t        ||||«       t        t        t        |	||«       t        t        t        |||
|«       t        t        t        ||||«       Œï y # 1 sw Y   Œ¢xY w)NrE  r]   rR  rS  )ri   rU  rN   r   rV  r3  r5   r	   )rU   rW  r   rÝ   rÞ   rÐ  r?  r   r*   r+   rr  r  s               r    rX  z$BaseQRupdate.test_unsupported_dtypes  sæ   € òˆð !ŸM™M¨&Ó1Ñˆˆ2ˆr�2�rØò 		@ˆEØ—‘—‘˜uÓ%ˆAÜ—‘ XÔ.ñ *Ø—G‘G—N‘N 5Ó)�÷*à—‘—‘˜uÓ%ˆAØ—‘—‘˜uÓ%ˆAÜœ*¤i°°B¸¸BÔ?Üœ*¤i°°Q¸¸BÔ?Üœ*¤i°°R¸¸BÔ?Üœ*¤i°°R¸¸QÕ?ñ		@÷*ð *ús   ÁDÄD	c                 óú   — t        j                  d«      j                  dd«      }|j                  «       }|d d …df   j                  «       }|dd d …f   j                  «       }t	        t
        t        ||||«       y )Né   r0   r   )r   Úaranger  rÖ   r3  r5   r	   )rU   r*   r+   rr  r  s        r    Útest_integer_inputzBaseQRupdate.test_integer_input%  s_   € Ü�I‰I�b‹M×!Ñ! ! QÓ'ˆØ�F‰F‹HˆØŠa�ˆd‰G�L‰L‹NˆØˆa’ˆd‰G�L‰L‹NˆÜ”j¤)¨Q°°1°aÕ8r"   c           
      óF  — | j                  dd¬«      \  }}}}}|j                  d«      }t        j                  |d<   t	        t
        t        |||d d …df   |d d …df   «       t	        t
        t        ||||«       |j                  d«      }t        j                  |d<   t	        t
        t        |||d d …df   |d d …df   «       t	        t
        t        ||||«       |j                  d«      }t        j                  |d<   t	        t
        t        |||d d …df   |d d …df   «       t	        t
        t        ||||«       |j                  d«      }	t        j                  |	d<   t	        t
        t        |||d d …df   |	d d …df   «       t	        t
        t        ||||	«       y )Nr]   r.   r  rÓ   r[   r   rÄ   ©ri   rÖ   r   rZ  r3  r5   r	   ©
rU   r[  rÝ   rÞ   rÐ  r?  r*   r+   rr  r  s
             r    r\  zBaseQRupdate.test_check_finite,  sW  € Ø!Ÿ]™]¨6°Q˜]Ó7ÑˆˆB��B˜à�G‰G�C‹LˆÜ—‘ˆˆ#‰Ü”j¤)¨Q°°B²q¸°s±G¸RÂÀ!À¹WÔEÜ”j¤)¨Q°°B¸Ô;à�G‰G�C‹LˆÜ—‘ˆˆ#‰Ü”j¤)¨R°°B²q¸°s±G¸RÂÀ!À¹WÔEÜ”j¤)¨R°°B¸Ô;à�G‰G�C‹LˆÜ—‘ˆˆ#‰Ü”j¤)¨R°°Q²q¸°s±V¸RÂÀ!À¹WÔEÜ”j¤)¨R°°Q¸Ô;à�G‰G�C‹LˆÜ—‘ˆˆ#‰Ü”j¤)¨R°°Q²q¸°s±V¸QºqÀ¸s¹VÔDÜ”j¤)¨R°°Q¸Õ:r"   c           
      óH  — | j                  ddd¬«      \  }}}}}|j                  d«      }t        j                  |d<   t	        t
        t        |||d d …df   |d d …df   «       t	        t
        t        ||||«       |j                  d«      }t        j                  |d<   t	        t
        t        |||d d …df   |d d …df   «       t	        t
        t        ||||«       |j                  d«      }t        j                  |d<   t	        t
        t        |||d d …df   |d d …df   «       t	        t
        t        ||||«       |j                  d«      }	t        j                  |	d<   t	        t
        t        |||d d …df   |	d d …df   «       t	        t
        t        ||||	«       y )	Nr]   r¤   r.   )rc   rÙ   rÓ   r[   r   rÄ   r|  r}  s
             r    Útest_economic_check_finitez'BaseQRupdate.test_economic_check_finiteC  sY  € Ø!Ÿ]™]¨6¸
Àa˜]ÓHÑˆˆB��B˜à�G‰G�C‹LˆÜ—‘ˆˆ#‰Ü”j¤)¨Q°°B²q¸°s±G¸RÂÀ!À¹WÔEÜ”j¤)¨Q°°B¸Ô;à�G‰G�C‹LˆÜ—‘ˆˆ#‰Ü”j¤)¨R°°B²q¸°s±G¸RÂÀ!À¹WÔEÜ”j¤)¨R°°B¸Ô;à�G‰G�C‹LˆÜ—‘ˆˆ#‰Ü”j¤)¨R°°Q²q¸°s±V¸RÂÀ!À¹WÔEÜ”j¤)¨R°°Q¸Ô;à�G‰G�C‹LˆÜ—‘ˆˆ#‰Ü”j¤)¨R°°Q²q¸°s±V¸QºqÀ¸s¹VÔDÜ”j¤)¨R°°Q¸Õ:r"   c                 ó  — t        j                  ddgddgddgddgg| j                  «      }t        j                  ddgddgg| j                  «      }t        j                  g d¢| j                  «      }t        j                  ddg| j                  «      }t        ||||«      \  }}t        j                  ||«      t        j
                  ||j                  «       «      z   }t        |||| j                  | j                  d«       y )Nr   r   )r   r   r   r$   r   F)
r   r>  r   r	   r   r  r   r,   r   r   )rU   r*   r+   rr  r  rz   r{   r|   s           r    Útest_u_exactly_in_span_qz%BaseQRupdate.test_u_exactly_in_span_qZ  sÏ   € Ü�H‰H�q˜!�f˜q !˜f q¨! f¨q°!¨fÐ5°t·z±zÓBˆÜ�H‰H�q˜!�f˜q !˜fÐ% t§z¡zÓ2ˆÜ�H‰H’] D§J¡JÓ/ˆÜ�H‰H�a˜�V˜TŸZ™ZÓ(ˆÜ˜1˜a  AÓ&‰ˆˆBÜ�V‰V�A�q‹\œBŸH™H Q¨¯©«Ó1Ñ1ˆÜ��R˜˜TŸY™Y¨¯	©	°5Õ9r"   )rk   r   )1rl   rm   rn   ri   r  r  r  r   r"  r$  r&  r(  r*  r,  r/  r1  r3  r5  r7  r9  r=  rë   rE  rG  rJ  rM  rP  rT  rW  rY  r[  r^  ra  rc  re  rg  ri  rk  ro  rq  rs  rû  rþ  rX  rz  r\  r  r�  r  r  s   @r    r  r  ˜  sù   ø„ õò,3ò	7ò3ò7ò3ò7ò:ò>ò3ò3ò:ò:ò3ò3ò3ò3ò<òKOòZDòHòEòIòGòKòGòKòLòPòLòPòGòKòGòKò?ò<?ò>?ò*Dò=ò@ò"9ò;ò.;ö.:r"   r  c                   ó0   — e Zd Z ej                  d«      Zy)ÚTestQRupdate_fra  Nrb  ro   r"   r    rƒ  rƒ  c  rc  r"   rƒ  c                   ó0   — e Zd Z ej                  d«      Zy)ÚTestQRupdate_FrÓ   Nrb  ro   r"   r    r…  r…  f  rc  r"   r…  c                   ó0   — e Zd Z ej                  d«      Zy)ÚTestQRupdate_drh  Nrb  ro   r"   r    r‡  r‡  i  rc  r"   r‡  c                   ó0   — e Zd Z ej                  d«      Zy)ÚTestQRupdate_Drk  Nrb  ro   r"   r    r‰  r‰  l  rc  r"   r‰  c            	      óÞ   — ddg} dg}g d¢}ddg}g d¢}t        j                  | ||||«      D ]>  \  }}}}}	|dk(  r!t        ||||d|	«       t        ||||d|	«       Œ/t        ||||d|	«       Œ@ y )	NrÓ   r  rX   )rÓ   r  ÚAr   r.   )ra  rh  rÓ   rk  r   )rÔ   rÕ   Úcheck_form_qTu)
Úq_orderÚq_shapeÚu_orderÚu_shaper   Úqorß   ÚuorÑ  rh  s
             r    Útest_form_qTur“  o  s“   € ð �Cˆj€GØˆj€GÚ€GØ�!ˆf€GÚ €Eô ×Ñ˜g w°¸À%ÓHò1ÑˆˆB��B˜à�Š7Ü˜2˜r 2 r¨1¨aÔ0Ü˜2˜r 2 r¨1¨aÕ0ä˜2˜r 2 r¨1¨aÕ0ñ1r"   c                 óJ  — t         j                  j                  d«       |dk(  r|dk(  r|d   f}n|d   |f}t        j                  |«      }|j                  dv r?t         j                  j                  |«      }t         j                  j                  |«      }nž|j                  dv r…t         j                  j                  |«      dt         j                  j                  |«      z  z   }t         j                  j                  |«      dt         j                  j                  |«      z  z   }nt        d«       t        j                  || «      }|dk7  rt        j                  ||«      }nt        j                  |«      f«      \  }d	t        j                  |«      j                  d
z
   z  }d
t        j                  |«      j                  z  }	t        j                  |j                  j                  «       |«      }
t        j                   ||«      }t#        ||
||	¬«       y )Né/   r   r   ÚfdÚFDrb   z#form_qTu doesn't support this dtyper‹  r   r   r   )r   rd   re   r   Úcharr5   Úrequirer@   rN   r   r   r   r   r   r   Ú_decomp_updateÚ	_form_qTur   )r�  rŽ  r�  r�  Úu_ndimr   r*   rr  r   r   ÚexpectedÚress               r    rŒ  rŒ  ‰  sœ  € Ü‡I�I‡N�N�2ÔØ�!‚|˜ !šØ˜1‘:�-‰à˜1‘:˜wÐ'ˆÜ�H‰H�U‹O€Eà‡z�z�TÑÜ�I‰I×Ñ˜WÓ%ˆÜ�I‰I×Ñ˜WÓ%‰Ø	�‰�tÑ	Ü�I‰I×Ñ˜WÓ%¨¬2¯9©9×+;Ñ+;¸GÓ+DÑ(DÑDˆÜ�I‰I×Ñ˜WÓ%¨¬2¯9©9×+;Ñ+;¸GÓ+DÑ(DÑD‰äÐ8Ô9ä
�
‰
�1�e˜WÓ%€AØ�#‚~Ü�J‰J�q˜% Ó)‰ä˜1Ÿ8™8 E›?Ð,Ó-‰ˆà”R—X‘X˜e“_×.Ñ.¨qÑ0Ð1Ñ1€DØŒR�X‰X�e‹_× Ñ Ñ €Dä�v‰v�a—c‘c—h‘h“j !Ó$€HÜ
×
"Ñ
" 1 aÓ
(€CÜ�C˜¨°4Ö8r"   )NNT)NN)T)*rÔ   Únumpyr   Únumpy.testingr   r   r   Úpytestr   r3  Úscipyr   Úscipy.linalg._decomp_updaterš  r   r	   r
   r!   r(   r,   r@   rD   rL   rP   rR   rq   r`  re  rg  rj  rm  r  r  r  r
  r  rƒ  r…  r‡  r‰  r“  rŒ  ro   r"   r    ú<module>r¤     s  ðÛ ã ß @Ñ @Ý *Ý ß 4Ð 4ß GÑ Gó	Có8ó7ò
ò4òò<÷ñ ô"F�<ô FôB�\ô ô�\ô ô�\ô ô�\ô ôRB�<ô RBôh�\ô ô�\ô ô�\ô ô�\ô ôI:�<ô I:ôV�\ô ô�\ô ô�\ô ô�\ô ò1ó49r"   