Ë
    0Ò^j ã                   ó  — d dl Z 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        úp/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/scipy/linalg/tests/test_decomp_update.pyÚassert_unitaryr!      sª   € Ø€|ØœŸ™ !§'¡'Ó*×4Ñ4°QÑ6Ð7Ñ7ˆØ€|Ø”"—(‘(˜1Ÿ7™7Ó#×'Ñ'Ñ'ˆáÜ�—‘˜‘
˜aŸg™g a™jÑ(Ð*KÔLÜ
�&‰&�—‘—‘“˜QÓ
€CÜ�CœŸ™ §¡¨¡
Ó+°$¸TÖBó    c                 óh  — |€0dt        j                  | j                  «      j                  dz
   z  }|€,dt        j                  | j                  «      j                  z  }t        j
                  | j                  d   | j                  d   dt         j                  «      }t        | |   d||¬«       y )Nr   r   r   r   éÿÿÿÿg        r   )	r   r   r   r   r   Útrir   Úbool_r   )r   r   r   Úmasks       r    Úassert_upper_trir(      sˆ   € Ø€|ØœŸ™ !§'¡'Ó*×4Ñ4°QÑ6Ð7Ñ7ˆØ€|Ø”—‘˜!Ÿ'™'Ó"×&Ñ&Ñ&ˆÜ�6‰6�!—'‘'˜!‘*˜aŸg™g a™j¨"¬b¯h©hÓ7€DÜ�A�d‘G˜S t°$Ö7r"   c                 óv   — t        | |||«       t        |||«       t        | j                  |«      |||¬«       y )Nr   )r!   r(   r   r   )ÚqÚrr   r   r   r   s         r    Úcheck_qrr,      s2   € Ü�1�d˜D *Ô-Ü�Q˜˜dÔ#Ü�A—E‘E˜!“H˜a d°Ö6r"   c                 ó|  — g d¢}t        |«      }d}g }| D �]"  }|j                  dk(  rZ|||z     }|dz  }t        j                  |d   |j                  d   z  |d   z   |j
                  «      }||d   d |d   …   }||d<   n¥|j                  dk(  r‹|||z     }||dz   |z     }	|dz  }t        j                  |d   |j                  d   z  |d   z   |	d   |j                  d   z  |	d   z   f|j
                  «      }||d   d |d   …|	d   d |	d   …f   }||d<   nt        d«      ‚|j                  |«       �Œ% |S )N))é   é   )r   r   )r.   é   )r0   r   )é   r0   )r   r.   )r   r   )r0   r1   r   r   .r   z0make_strided only works for ndim = 1 or 2 arrays)ÚlenÚndimr   Úzerosr   r   Ú
ValueErrorÚappend)
ÚarrsÚstridesÚkmaxÚkÚretr   ÚsÚbaseÚviewÚts
             r    Úmake_stridedr@   #   st  € ÚN€GÜˆw‹<€DØ	€AØ
€CØó ˆØ�6‰6�QŠ;Ø˜˜D™Ñ!ˆAØ�‰FˆAÜ—8‘8˜A˜a™D §¡¨¡™O¨A¨a©DÑ0°!·'±'Ó:ˆDØ˜˜!™˜
˜a ™d˜
Ñ#ˆDØˆD�ŠIØ�V‰V�qŠ[Ø˜˜D™Ñ!ˆAØ˜˜1™ ™Ñ%ˆAØ�‰FˆAÜ—8‘8˜Q˜q™T !§'¡'¨!¡*™_¨Q¨q©TÑ1°1°Q±4¸¿¹À¹
±?À1ÀQÁ4Ñ3GÐHØŸG™Gó%ˆDà˜˜!™˜
˜a ™d˜
 A a¡D J¨!¨A©$ JÐ.Ñ/ˆDØˆD�ŠIäð )ó *ð *à�
‰
�4Öð%ð& €Jr"   c                 óî   — g }| D ]m  }t        j                  |«      }|j                  dk(  r|d d d…d d d…f   }n#|j                  dk(  r	|d d d…   }nt        d«      ‚||d<   |j	                  |«       Œo |S )Nr   r$   r   z2negate_strides only works for ndim = 1 or 2 arrays.)r   Ú
zeros_liker3   r5   r6   )r7   r;   r   Úbs       r    Únegate_stridesrD   =   s‰   € Ø
€CØò 
ˆÜ�M‰M˜!ÓˆØ�6‰6�QŠ;Ø‘$�B�$™˜"˜�*‘‰AØ�V‰V�qŠ[Ø‘$�B�$‘‰Aäð )ó *ð *àˆˆ#‰Ø�
‰
�1�ð
ð €Jr"   c                 óÆ   — g }| D ]Y  }|j                   }t        j                  |j                  d|fdg«      }|j	                  |«      }||d<   |j                  |«       Œ[ |S )Nr   )ÚjunkÚS1.)r   r   r4   r   Úgetfieldr6   )r7   Úoutr   Úa_dtyperC   Úcs         r    Únonitemsize_stridesrL   L   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   W   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   [   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„ Z2dCd1„Z3d2„ Z4d3„ Z5d4„ Z6d5„ Z7d6„ Z8d7„ Z9d8„ Z:d9„ Z;d:„ Z<d;„ Z=d<„ Z>d=„ Z?e@j‚                  j…                  d>«      d?„ «       ZCd@„ ZDdA„ ZEyB)DÚ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_rowm   ó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_rowt   ó–   € Ø—-‘- Ó&‰ˆˆ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_col9  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_colF  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_colS  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_stridesf  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_q2  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_r7  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"   úignore::DeprecationWarningc           
      óš  — 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_dtypesA  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_finiteV  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_scalarg  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   )Frm   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  ÚpytestÚmarkÚfilterwarningsrZ  r^  r`  rp   r"   r    rr   rr   l   s‡  „ ò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ó >ð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    re  re  n  ó   „ ØˆB�H‰H�S‹M�Er"   re  c                   ó0   — e Zd Z ej                  d«      Zy)ÚTestQRdelete_FrÔ   Nrg  rp   r"   r    rj  rj  q  rh  r"   rj  c                   ó0   — e Zd Z ej                  d«      Zy)ÚTestQRdelete_dÚdNrg  rp   r"   r    rl  rl  t  rh  r"   rl  c                   ó0   — e Zd Z ej                  d«      Zy)ÚTestQRdelete_DÚDNrg  rp   r"   r    ro  ro  w  rh  r"   ro  c                   óè  ‡ — e Zd ZdEˆ 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„ ZCeDjŠ                  j�                  dB«      dC„ «       ZGdD„ ZHˆ xZIS )FÚ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.generate{  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+   rv  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   rz  rl   Úintpr,   r   r   r{  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_qrury  ©	rU   r   r*   r+   rv  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.   r~  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   ry  r{  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.   r~  r   r   r  r{  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‚  ry  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‰   r~  r   Fr‚  r  ©
rU   rÚ   r   r*   r+   rv  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   ry  r{  s	            r    rœ   zBaseQRinsert.test_fat_1_rowà  r|  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   r~  r   r   r  )
rU   rÚ   r   r*   r+   rv  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‚  ry  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.   r~  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‚  ry  r{  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  r{  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   rz  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+   rv  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‰   r~  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_eco6  r­   r"   c                 ó&   — | j                  d«       y r¯   r®  rT   s    r    Útest_economic_p_col_sqrz$BaseQRinsert.test_economic_p_col_sqr:  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   ry  r{  s	            r    r¹   zBaseQRinsert.test_Mx1_1_rowB  r|  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.   r~  r   r   r  r{  s	            r    r»   zBaseQRinsert.test_Mx1_p_rowI  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‚  ry  r„  s	            r    Útest_Mx1_1_colzBaseQRinsert.test_Mx1_1_colP  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.   r~  r   Fr‚  r  r„  s	            r    Útest_Mx1_p_colzBaseQRinsert.test_Mx1_p_colW  ó“   € Ø—]‘] 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   Fry  r{  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  r{  s	            r    rÃ   z$BaseQRinsert.test_Mx1_economic_p_rowe  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‚  ry  r„  s	            r    Útest_Mx1_economic_1_colz$BaseQRinsert.test_Mx1_economic_1_coll  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_cols  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   ry  r{  s	            r    Útest_1xN_1_rowzBaseQRinsert.test_1xN_1_rowz  r|  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.   r~  r   r   r  r{  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‚  ry  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.   r~  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   ry  r{  s	            r    Útest_1x1_1_rowzBaseQRinsert.test_1x1_1_row–  r|  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.   r~  r   r   r  r{  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‚  ry  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.   r~  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+   rv  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Ó   r~  r   rz   r   rÔ   Fr‚  T)
rj   r   rz  rl   r€  r×   r
   r,   r   r   )!rU   rØ   r:   rÚ   r‹   rg   r   rÞ   rß   Úu0rà   rá   ÚusÚair*   r+   rv  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   r~  r  r   Fr‚  Tr   rÔ   )
rj   r×   r
   r   rz  r,   r   r   r   r   )rU   r   rÞ   r+   rv  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.   r~  rÔ   r   r   Fr‚  Tr   )rj   r×   r   rz  r4   r€  r
   r,   r   r   r   )rU   r   rÞ   r+   rv  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_inputsQ  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_shapesZ  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"   rE  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)	NrG  r\   rz   r2  rT  rU  r   r‰   )rj   rW  rN   r   rX  r4  r5   r
   )
rU   rY  r   rÞ   rß   rÔ  r   r*   r+   rv  s
             r    rZ  z$BaseQRinsert.test_unsupported_dtypesc  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.   r~  rÔ   r[   r   r‰   rÅ   )rj   r×   r   r\  r4  r5   r
   )rU   r]  rÞ   rß   rÔ  r*   r+   rv  s           r    r^  zBaseQRinsert.test_check_finitev  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   )Jrm   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  ra  rb  rc  rZ  r^  Ú__classcell__©rw  s   @r    rr  rr  z  s‹  ø„ õò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ó >ðFö$Br"   rr  c                   ó0   — e Zd Z ej                  d«      Zy)ÚTestQRinsert_frf  Nrg  rp   r"   r    r  r  Ž  rh  r"   r  c                   ó0   — e Zd Z ej                  d«      Zy)ÚTestQRinsert_FrÔ   Nrg  rp   r"   r    r
  r
  ‘  rh  r"   r
  c                   ó0   — e Zd Z ej                  d«      Zy)ÚTestQRinsert_drm  Nrg  rp   r"   r    r  r  ”  rh  r"   r  c                   ó0   — e Zd Z ej                  d«      Zy)ÚTestQRinsert_Drp  Nrg  rp   r"   r    r  r  —  rh  r"   r  c                   ód  ‡ — 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*e+jX                  j[                  d)«      d*„ «       Z.d+„ Z/d,„ Z0d-„ Z1d.„ Z2ˆ xZ3S )0Ú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 )Nrt  r   r   rb   )
ru  rj   r   rd   re   r   rf   r   rg   rN   )rU   rg   rc   rÚ   r   r*   r+   ri   rv  ÚvrC   rK   rw  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+   rv  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+   rv  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  r1  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(  r1  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+   rv  r  s         r    Útest_1x1_rank_1_scalarz#BaseQRupdate.test_1x1_rank_1_scalar2  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+   rv  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_strides9  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 rM  rú   rT   s    r    Útest_neg_strides_rank_pz$BaseQRupdate.test_neg_strides_rank_p˜  rU  r"   c                 ó4   — | j                  t        ddd«       y rP  rú   rT   s    r    Ú test_neg_strides_economic_rank_pz-BaseQRupdate.test_neg_strides_economic_rank_p›  rY  r"   c                 ó4   — | j                  t        ddd«       y rS  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 rW  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 rM  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 rP  r  rT   s    r    Ú)test_non_itemsize_strides_economic_rank_pz6BaseQRupdate.test_non_itemsize_strides_economic_rank_p§  rc  r"   c                 ó4   — | j                  t        ddd«       y rS  r  rT   s    r    Ú!test_non_native_byte_order_rank_1z.BaseQRupdate.test_non_native_byte_order_rank_1ª  rU  r"   c                 ó4   — | j                  t        ddd«       y rW  r  rT   s    r    Ú*test_non_native_byte_order_economic_rank_1z7BaseQRupdate.test_non_native_byte_order_economic_rank_1­  rY  r"   c                 ó4   — | j                  t        ddd«       y rM  r  rT   s    r    Ú!test_non_native_byte_order_rank_pz.BaseQRupdate.test_non_native_byte_order_rank_p°  rU  r"   c                 ó4   — | j                  t        ddd«       y rP  r  rT   s    r    Ú*test_non_native_byte_order_economic_rank_pz7BaseQRupdate.test_non_native_byte_order_economic_rank_p³  rY  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Ô  rC  r}   r*   r+   rv  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  rq  rr  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Ô  rC  r}   r*   r+   rv  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"   rE  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)NrG  r]   rT  rU  )rj   rW  rN   r   rX  r4  r5   r	   )rU   rY  r   rÞ   rß   rÔ  rC  r   r*   r+   rv  r  s               r    rZ  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+   rv  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Ô  rC  r*   r+   rv  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_finiteF  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+   rv  r  r{   r|   r}   s           r    Útest_u_exactly_in_span_qz%BaseQRupdate.test_u_exactly_in_span_q]  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   )4rm   rn   ro   rj   r  r   r"  r$  r&  r(  r*  r,  r.  r0  r3  r5  r7  r9  r;  r=  rA  rì   rI  rK  rN  rQ  rT  rX  r[  r]  r_  rb  re  rg  ri  rk  rm  ro  rs  ru  rw  rÿ  r  ra  rb  rc  rZ  r~  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_frf  Nrg  rp   r"   r    r‡  r‡  f  rh  r"   r‡  c                   ó0   — e Zd Z ej                  d«      Zy)ÚTestQRupdate_FrÔ   Nrg  rp   r"   r    r‰  r‰  i  rh  r"   r‰  c                   ó0   — e Zd Z ej                  d«      Zy)ÚTestQRupdate_drm  Nrg  rp   r"   r    r‹  r‹  l  rh  r"   r‹  c                   ó0   — e Zd Z ej                  d«      Zy)ÚTestQRupdate_Drp  Nrg  rp   r"   r    r�  r�  o  rh  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.   )rf  rm  rÔ   rp  r   )rÕ   rÖ   Úcheck_form_qTu)
Úq_orderÚq_shapeÚu_orderÚu_shaper   Úqorà   ÚuorÕ  rm  s
             r    Útest_form_qTur—  r  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*   rv  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Õ   ra  Únumpyr   Únumpy.testingr   r   r   r   r4  Úscipyr   Úscipy.linalg._decomp_updaterž  r   r	   r
   r!   r(   r,   r@   rD   rL   rP   rR   rr   re  rj  rl  ro  rr  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ôD�\ô ô�\ô ô�\ô ô�\ô ôRB�<ô RBôh�\ô ô�\ô ô�\ô ô�\ô ôJ:�<ô J:ôX�\ô ô�\ô ô�\ô ô�\ô ò1ó49r"   