Ë
    éì�iH ã                   ó   — 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        úŠ/var/www/ITT-ServiceAPI-Services/ITT-Document-Scan/mrzscanner/mrzenv/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œ|   }|j                  |«      }t        j                  | j                  j                  d	«      «      r|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Údefault_rngÚiscomplexobjr   ÚtyperN   r   Úqr)	rU   rg   rc   Úrngr   r   rC   r*   r+   s	            r    ÚgeneratezBaseQRdeltas.generate_   s§   € Ü�i‰i×#Ñ# EÓ*ˆØ¨¸Ø v°fñ>Ø>BñDˆà�J‰J�uÓˆÜ�?‰?˜4Ÿ:™:Ÿ?™?¨1Ó-Ô.Ø—
‘
˜5Ó!ˆAØ�B˜‘F‘
ˆAØ�H‰H�T—Z‘ZÓ ˆÜ�y‰y˜ Ô&‰ˆˆ1Ø�!�Qˆwˆr"   N©Úfull)Ú__name__Ú
__module__Ú__qualname__rV   rj   © 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©	rj   Ú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   Frt   ©
rj   rw   r   r   r   rx   Úslicer,   r   r   ©	rU   r   r*   r+   Úndelrz   r{   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©Úwhichru   rv   ©rU   r   r*   r+   r‰   r{   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‰   r{   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   Frt   rv   ry   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   Frt   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Š   rv   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   Frt   rv   ry   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   Frt   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Š   rv   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   Frt   rv   ry   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+   rz   r{   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Š   rv   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   Frt   rv   ry   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   Frt   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Š   rv   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   Frt   rv   ry   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   Frt   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   rz   ©r   r   ©r   r   )rj   r   r   r   Úndarrayr   r   ©rU   r   r*   r+   r{   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]   rl   r   rz   rÅ   rÆ   r   r¥   )rj   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Å   rl   )	rj   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]   rl   r   r   r‰   rÆ   r¥   rÅ   )	rj   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   rz   rÅ   rÆ   r‰   )	rj   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 )	Nrz   ©r\   r]   r^   r   r   ÚFFTr   )rƒ   Ú	itertoolsÚproductrj   r   rx   r   Úcopyr   r,   r   r   r   )rU   Úadjust_stridesÚksÚpr‹   ÚoverwriteableÚqindÚrindrg   r:   r   Úq0Úr0ÚqsÚrsr}   r<   r*   r+   r{   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   rz   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.   rz   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   rz   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.   rz   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.   rz   r‰   Frt   r   )rj   rÕ   rÖ   r   r   rx   rƒ   r   r,   r   r   )
rU   r   r*   r+   r:   rÚ   Úwr{   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 )Nrl   TFrz   r\   r   r.   r   rÔ   r   ÚC)
rƒ   rj   r   rx   r×   r   r,   r   r   r   )rU   r‹   rÚ   Útest_CÚtest_Frc   r   rÜ   rÝ   r   rÞ   rß   r}   r*   r+   r{   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 )Nrz   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 )Nrz   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 )Nrz   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 )Nrz   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‹   ©rj   Ú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‰   ©rj   r4  r5   r   r   r5  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   r8  r5  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   ©rj   r4  r5   r   r   Úarrayr5  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>  r5  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   r3  r5  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   rz   r   r‰   )rj   ÚrealrN   r   Úerrstater4  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   rz   r.   r‰   )rj   r×   r   Únanr4  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   rz   r‰   r3  r5  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"   Nrk   )Crm   rn   ro   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/  r6  r9  r;  r@  rB  rD  rY  r]  r_  rp   r"   r    rr   rr   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"   rr   c                   ó0   — e Zd Z ej                  d«      Zy)ÚTestQRdelete_fÚfN©rm   rn   ro   r   r   rp   r"   r    ra  ra  l  ó   „ ØˆB�H‰H�S‹M�Er"   ra  c                   ó0   — e Zd Z ej                  d«      Zy)ÚTestQRdelete_FrÔ   Nrc  rp   r"   r    rf  rf  o  rd  r"   rf  c                   ó0   — e Zd Z ej                  d«      Zy)ÚTestQRdelete_dÚdNrc  rp   r"   r    rh  rh  r  rd  r"   rh  c                   ó0   — e Zd Z ej                  d«      Zy)ÚTestQRdelete_DÚDNrc  rp   r"   r    rk  rk  u  rd  r"   rk  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   éÒ  rz   r   r‰   z%which should be either "row" or "col"rb   )Úsuperrj   r   r   rd   re   r   r5   rf   r   rg   rN   )rU   rg   rc   r‹   rÚ   r   r*   r+   ri   ÚurC   Ú	__class__s              €r    rj   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˜Ó/‘äÐDÓEÐEä�?‰?˜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\   rz   r2  r   r   ©	rj   rw   r   r
   r   Úinsertr,   r   r   ©	rU   r   r*   r+   rr  rz   r{   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\   rz   r.   ©r‹   rÚ   r   r   ©rj   rw   r   r
   r   rv  rl   Ú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‰   r2  r   F©Úoverwrite_qruru  ©	rU   r   r*   r+   rr  r‰   r{   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]   rz   r2  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]   rz   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‰   r2  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‰   r{   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^   rz   r2  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^   rz   rz  r   r   r{  )
rU   rÚ   r   r*   r+   rr  rz   r{   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‰   r2  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¥   rz   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¥   rz   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‰   r2  r   Fr~  )
rj   rw   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?  r4  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_eco4  r­   r"   c                 ó&   — | j                  d«       y r¯   rª  rT   s    r    Útest_economic_p_col_sqrz$BaseQRinsert.test_economic_p_col_sqr8  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_   rz   r2  r   r   ru  rw  s	            r    r¹   zBaseQRinsert.test_Mx1_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 )Nr_   rz   r.   rz  r   r   r{  rw  s	            r    r»   zBaseQRinsert.test_Mx1_p_rowG  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‰   r2  r   Fr~  ru  r€  s	            r    Útest_Mx1_1_colzBaseQRinsert.test_Mx1_1_colN  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_colU  ó“   € Ø—]‘] 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¥   rz   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¥   rz   r.   r   r   Fr{  rw  s	            r    rÃ   z$BaseQRinsert.test_Mx1_economic_p_rowc  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_colj  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_colq  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`   rz   r2  r   r   ru  rw  s	            r    Útest_1xN_1_rowzBaseQRinsert.test_1xN_1_rowx  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`   rz   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‰   r2  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   rz   r2  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   rz   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‰   r2  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   rz   r2  rÅ   r   r‰   ©rj   r4  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   rz   r   rÔ   Fr~  T)
rj   r   rv  rl   r|  r×   r
   r,   r   r   )!rU   rØ   r:   rÚ   r‹   rg   r   rÞ   rß   Úu0rà   rá   ÚusÚair*   r+   rr  r{   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   rz   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.   rz   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Ô   )
rj   r×   r
   r   rv  r,   r   r   r   r   )rU   r   rÞ   r+   rr  r*   rÐ  r{   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   )rj   r×   r   rv  r4   r|  r
   r,   r   r   r   )rU   r   rÞ   r+   rr  r*   r}   r{   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\   rz   r2  r   r‰   )rj   r4  r5   r
   r   r?  rÍ  s        r    Útest_empty_inputszBaseQRinsert.test_empty_inputsO  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]   rz   r2  r   r   éþÿÿÿr‰   rÌ  rÍ  s        r    Útest_mismatched_shapesz#BaseQRinsert.test_mismatched_shapesX  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)	NrF  r\   rz   r2  rS  rT  r   r‰   )rj   rV  rN   r   rW  r4  r5   r
   )
rU   rX  r   rÞ   rß   rÐ  r   r*   r+   rr  s
             r    rY  z$BaseQRinsert.test_unsupported_dtypesa  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\   rz   r.   rz  rÔ   r[   r   r‰   rÅ   )rj   r×   r   r[  r4  r5   r
   )rU   r\  rÞ   rß   rÐ  r*   r+   rr  s           r    r]  zBaseQRinsert.test_check_finites  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"   )rl   rz   r   )Grm   rn   ro   rj   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þ  rY  r]  Ú__classcell__©rs  s   @r    rn  rn  x  sk  ø„ õò4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"   rn  c                   ó0   — e Zd Z ej                  d«      Zy)ÚTestQRinsert_frb  Nrc  rp   r"   r    r  r  ‹  rd  r"   r  c                   ó0   — e Zd Z ej                  d«      Zy)ÚTestQRinsert_FrÔ   Nrc  rp   r"   r    r  r  Ž  rd  r"   r  c                   ó0   — e Zd Z ej                  d«      Zy)ÚTestQRinsert_dri  Nrc  rp   r"   r    r  r  ‘  rd  r"   r  c                   ó0   — e Zd Z ej                  d«      Zy)ÚTestQRinsert_Drl  Nrc  rp   r"   r    r
  r
  ”  rd  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         ‰| �  ||«      \  }}}t        j                  j	                  d«      }|dk(  r=|j                  |j
                  d   «      }|j                  |j
                  d   «      }	n@|j                  |j
                  d   |f«      }|j                  |j
                  d   |f«      }	t        j                  | j                  j                  d«      «      rF|j                  |j
                  «      }
|d|
z  z   }|j                  |	j
                  «      }|	d|z  z   }	|j                  | j                  «      }|	j                  | j                  «      }	|||||	fS )Nrp  r   r   rb   )
rq  rj   r   rd   re   r   rf   r   rg   rN   )rU   rg   rc   rÚ   r   r*   r+   ri   rr  ÚvrC   rK   rs  s               €r    rj   zBaseQRupdate.generate˜  s   ø€ Ü‘'Ñ" 4¨Ó.‰ˆˆ1ˆaä�i‰i×#Ñ# DÓ)ˆØ�Š6Ø—
‘
˜1Ÿ7™7 1™:Ó&ˆAØ—
‘
˜1Ÿ7™7 1™:Ó&‰Aà—
‘
˜AŸG™G A™J¨˜?Ó+ˆAØ—
‘
˜AŸG™G A™J¨˜?Ó+ˆAä�?‰?˜4Ÿ:™:Ÿ?™?¨1Ó-Ô.Ø—
‘
˜1Ÿ7™7Ó#ˆAØ�B˜‘F‘
ˆAà—
‘
˜1Ÿ7™7Ó#ˆ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©rj   r	   r   Úouterr   r,   r   r   ©	rU   r   r*   r+   rr  r  r{   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©rj   ÚreshapeÚsizer	   r   r   r   r   r,   r   r   ©
rU   rÚ   r   r*   r+   rr  r  r{   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   ©rj   r4  r5   r	   ©rU   r   r*   r+   rr  r  s         r    Útest_1x1_rank_1_scalarz#BaseQRupdate.test_1x1_rank_1_scalar/  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   )rj   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  r{   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_strides6  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 )Nrl   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 ©Nrl   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 ©Nrl   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  ©
rj   r   r  r   r×   r	   r,   r   r   r   ©rU   r   rÞ   rß   rÐ  r?  r}   r*   r+   rr  r  r{   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   )rj   r   r   r   r   r×   r	   r,   r   r   r   )rU   r   rÞ   rß   rÐ  r?  r}   r*   r+   rr  r  r{   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]   )rj   r4  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)NrF  r]   rS  rT  )rj   rV  rN   r   rW  r4  r5   r	   )rU   rX  r   rÞ   rß   rÐ  r?  r   r*   r+   rr  r  s               r    rY  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×   r4  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Å   ©rj   r×   r   r[  r4  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_finiteB  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  r{   r|   r}   s           r    Útest_u_exactly_in_span_qz%BaseQRupdate.test_u_exactly_in_span_qY  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"   )rl   r   )1rm   rn   ro   rj   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þ  rY  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_frb  Nrc  rp   r"   r    rƒ  rƒ  b  rd  r"   rƒ  c                   ó0   — e Zd Z ej                  d«      Zy)ÚTestQRupdate_FrÔ   Nrc  rp   r"   r    r…  r…  e  rd  r"   r…  c                   ó0   — e Zd Z ej                  d«      Zy)ÚTestQRupdate_dri  Nrc  rp   r"   r    r‡  r‡  h  rd  r"   r‡  c                   ó0   — e Zd Z ej                  d«      Zy)ÚTestQRupdate_Drl  Nrc  rp   r"   r    r‰  r‰  k  rd  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.   )rb  ri  rÔ   rl  r   )rÕ   rÖ   Úcheck_form_qTu)
Úq_orderÚq_shapeÚu_orderÚu_shaper   Úqorà   ÚuorÑ  ri  s
             r    Útest_form_qTur“  n  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                 ó¢  — t         j                  j                  d«      }|dk(  r|dk(  r|d   f}n|d   |f}t        j                  |«      }|j                  dv r#|j                  |«      }|j                  |«      }nf|j                  dv rM|j                  |«      d|j                  |«      z  z   }|j                  |«      d|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   ri   r*   rr  r   r   ÚexpectedÚress                r    rŒ  rŒ  ˆ  s  € Ü
�)‰)×
Ñ
 Ó
#€CØ�!‚|˜ !šØ˜1‘:�-‰à˜1‘:˜wÐ'ˆÜ�H‰H�U‹O€Eà‡z�z�TÑØ�J‰J�wÓˆØ�J‰J�wÓ‰Ø	�‰�tÑ	Ø�J‰J�wÓ " S§Z¡Z°Ó%8Ñ"8Ñ8ˆØ�J‰J�wÓ " S§Z¡Z°Ó%8Ñ"8Ñ8‰äÐ>Ó?Ð?ä
�
‰
�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   r4  Úscipyr   Úscipy.linalg._decomp_updaterš  r   r	   r
   r!   r(   r,   r@   rD   rL   rP   rR   rr   ra  rf  rh  rk  rn  r  r  r  r
  r  rƒ  r…  r‡  r‰  r“  rŒ  rp   r"   r    ú<module>r¤     s  ðÛ ã ß @Ñ @Ý *Ý ß 4Ð 4ß GÑ Gó	Có8ó7ò
ò4òò<÷ñ ô"F�<ô FôB�\ô ô�\ô ô�\ô ô�\ô ôQB�<ô QBôf�\ô ô�\ô ô�\ô ô�\ô ôI:�<ô I:ôV�\ô ô�\ô ô�\ô ô�\ô ò1ó49r"   