+
    /iH                       ^ RI t ^ RIt^ RIHtHtHt ^ RIHt	 ^ RI
Ht ^ RIHu Ht ^ RIHtHtHt R/R ltR0R ltR1R ltR	 tR
 tR tR t ! R R4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t  ! R R ]4      t! ! R! R"]4      t" ! R# R$]4      t# ! R% R&]#4      t$ ! R' R(]#4      t% ! R) R*]#4      t& ! R+ R,]#4      t'R- t(R. t)R# )2    N)assert_assert_allcloseassert_equal)raises)linalg)	qr_delete	qr_update	qr_insertc                     Vf:   R\         P                  ! V P                  4      P                  ^,
          ) ,          pVf2   ^
\         P                  ! V P                  4      P                  ,          pV'       d2   \        V P                  ^ ,          V P                  ^,          8H  R4       \         P                  ! V P                  P                  4       V 4      p\        V\         P                  ! V P                  ^,          4      WR7       R # )N      $@zunitary matrices must be squarertolatol)npfinfodtype	precisionepsr   shapedotTconjr   eye)ar   r   
assert_sqraTas   &&&& c/var/www/html/photoedit/myenv/lib/python3.14/site-packages/scipy/linalg/tests/test_decomp_update.pyassert_unitaryr   
   s    |!''*44Q677|"((177#'''
aggaj(*KL
&&Q
CC
+$B    c                    Vf:   R\         P                  ! V P                  4      P                  ^,
          ) ,          pVf2   ^\         P                  ! V P                  4      P                  ,          p\         P
                  ! V P                  ^ ,          V P                  ^,          R\         P                  4      p\        W,          RWR7       R # )Nr   g        r   )	r   r   r   r   r   trir   bool_r   )r   r   r   masks   &&& r   assert_upper_trir%      s    |!''*44Q677|!''"&&&66!''!*aggaj"bhh7DAGSt7r   c                 p    \        WWE4       \        WV4       \        V P                  V4      W#VR 7       R# )r   N)r   r%   r   r   )qrr   r   r   r   s   &&&&&&r   check_qrr)      s*    1D-Qd#AEE!Ha6r   c                 ~   . ROp\        V4      p^ p. pV  EF  pVP                  ^8X  d   WV,          ,          pV^,          p\        P                  ! V^ ,          VP                  ^ ,          ,          V^,          ,           VP
                  4      pWv^,          RV^ ,          1,          pWXR&   MVP                  ^8X  d   WV,          ,          pW^,           V,          ,          p	V^,          p\        P                  ! V^ ,          VP                  ^ ,          ,          V^,          ,           V	^ ,          VP                  ^,          ,          V	^,          ,           3VP
                  4      pWv^,          RV^ ,          1V	^,          RV	^ ,          13,          pWXR&   M\        R4      hVP                  V4       EK  	  V# )   N.z0make_strided only works for ndim = 1 or 2 arrays))r+      )   r-   )r+      )r.   r-   )   r.   )r-   r+   )r-      )r.   r/   )lenndimr   zerosr   r   
ValueErrorappend)
arrsstrideskmaxkretr   sbaseviewts
   &         r   make_stridedr?   "   sa   NGw<D	A
C66Q;D!AFA88AaDOAaD0!'':D!
ad
#DIVVq[D!A1%AFA88QqT!''!*_QqT11Q4
?1Q43GHGG%D!
ad
AaDJ!A$J./DI ) * *

4% & Jr   c                 
   . pV  Fz  p\         P                  ! V4      pVP                  ^8X  d   VRRR1RRR13,          pM)VP                  ^8X  d   VRRR1,          pM\        R4      hW#R&   VP	                  V4       K|  	  V# )r-   Nz2negate_strides only works for ndim = 1 or 2 arrays.r!   )r   
zeros_liker2   r4   r5   )r6   r:   r   bs   &   r   negate_stridesrC   <   s    
CMM!66Q;$B$"*AVVq[$B$A ) * *#

1  Jr   c                     . pV  FZ  pVP                   p\        P                  ! VP                  R V3R.4      pVP	                  V4      pW%R&   VP                  V4       K\  	  V# )r   .)junkS1)r   r   r3   r   getfieldr5   )r6   outr   a_dtyperB   cs   &     r   nonitemsize_stridesrK   K   s^    
C''HHQWWW~~>?JJw#

1  Jr   c                 |    V  Uu. uF+  qP                  VP                  P                  4       4      NK-  	  up# u upi )N)astyper   newbyteorder)r6   r   s   & r   make_nonnativerO   V   s.    6:;dHHQWW))+,d;;;s   19c                   0   a  ] tR t^Zt o R tRR ltRtV tR# )BaseQRdeltasc                    R \         P                  ! V P                  4      P                  ^,
          ) ,          V n        ^
\         P                  ! V P                  4      P
                  ,          V n        R# )r   N)r   r   r   r   r   r   r   selfs   &r   setup_methodBaseQRdeltas.setup_method[   sH    bhhtzz2<<Q>??	$**-111	r   c                   \         P                  P                  R 4      pRR	RR
RRRRRRRR/V,          pVP                  V4      p\         P                  ! V P                  P                  ^4      4      '       d"   VP                  V4      pVRV,          ,           pVP                  V P                  4      p\        P                  ! WRR7      w  rxWWV3# )ir  sqrtallfatMx11xN1x1              ?)mode   ra   )   r,   )r,   rb   )ra   r0   )r0   ra   r0   r0   )	r   randomdefault_rngiscomplexobjr   typerM   r   qr)	rT   rg   r_   rngr   r   rB   r'   r(   s	   &&&      r   generateBaseQRdeltas.generate_   s    ii##E*vuf>>BDJJu??4::??1-..

5!ABF
AHHTZZ yy&Qwr   )r   r   Nfull)__name__
__module____qualname____firstlineno__rU   rj   __static_attributes____classdictcell____classdict__s   @r   rQ   rQ   Z   s     2
 
r   rQ   c                     a  ] tR t^kt o R tR tR tR tR tR t	R t
R tR	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR t R t!R t"R  t#R! t$R" t%R# t&R$ t'R% t(R& t)R' t*R( t+R) t,R* t-R+ t.R, t/R- t0R. t1R/ t2R0 t3RCR1 lt4R2 t5R3 t6R4 t7R5 t8R6 t9R7 t:R8 t;R9 t<R: t=R; t>R< t?R= t@R> tAR? tBR@ tCRAtDV tERB# )DBaseQRdeletec                   V P                  R 4      w  rp\        VP                  ^ ,          4       FK  p\        W#VRR7      w  rV\        P
                  ! W^ 4      p\        WVWpP                  V P                  4       KM  	  R# rX   Foverwrite_qrN	rj   ranger   r   r   deleter)   r   r   rT   r   r'   r(   rowq1r1a1s   &       r   test_sqr_1_rowBaseQRdelete.test_sqr_1_rowl   _    --&a$CqSu=FB11%BRRDII6 %r   c           
     Z   V P                  R 4      w  rp\        ^^4       F  p\        VP                  ^ ,          V,
          4       F\  p\        W#WTRR7      w  rg\        P
                  ! V\        WUV,           4      ^ 4      p\        WgWP                  V P                  4       K^  	  K  	  R# ry   
rj   r}   r   r   r   r~   slicer)   r   r   	rT   r   r'   r(   ndelr   r   r   r   s	   &        r   test_sqr_p_rowBaseQRdelete.test_sqr_p_rows   ~    --&a!QKDQWWQZ_-"1GYYq%X"6:YY		: .  r   c           	        V P                  R 4      w  rp\        VP                  ^,          4       FL  p\        W#VRRR7      w  rV\        P
                  ! W^4      p\        WVWpP                  V P                  4       KN  	  R# rX   colFwhichr{   Nr|   rT   r   r'   r(   r   r   r   r   s   &       r   test_sqr_1_colBaseQRdelete.test_sqr_1_col{   a    --&a$CqSEJFB11%BRRDII6 %r   c                \   V P                  R 4      w  rp\        ^^4       F  p\        VP                  ^,          V,
          4       F]  p\        W#WTRRR7      w  rg\        P
                  ! V\        WUV,           4      ^4      p\        WgWP                  V P                  4       K_  	  K  	  R# r   r   	rT   r   r'   r(   r   r   r   r   r   s	   &        r   test_sqr_p_colBaseQRdelete.test_sqr_p_col       --&a!QKDQWWQZ_-"1%057YYq%X"6:YY		:	 .  r   c                   V P                  R 4      w  rp\        VP                  ^ ,          4       FK  p\        W#VRR7      w  rV\        P
                  ! W^ 4      p\        WVWpP                  V P                  4       KM  	  R# rY   Frz   Nr|   r   s   &       r   test_tall_1_rowBaseQRdelete.test_tall_1_row   s_    --'a$CqSu=FB11%BRRDII6 %r   c           
     Z   V P                  R 4      w  rp\        ^^4       F  p\        VP                  ^ ,          V,
          4       F\  p\        W#WTRR7      w  rg\        P
                  ! V\        WUV,           4      ^ 4      p\        WgWP                  V P                  4       K^  	  K  	  R# r   r   r   s	   &        r   test_tall_p_rowBaseQRdelete.test_tall_p_row   s~    --'a!QKDQWWQZ_-"1GYYq%X"6:YY		: .  r   c           	        V P                  R 4      w  rp\        VP                  ^,          4       FL  p\        W#VRRR7      w  rV\        P
                  ! W^4      p\        WVWpP                  V P                  4       KN  	  R# rY   r   Fr   Nr|   r   s   &       r   test_tall_1_colBaseQRdelete.test_tall_1_col   sa    --'a$CqSEJFB11%BRRDII6 %r   c                \   V P                  R 4      w  rp\        ^^4       F  p\        VP                  ^,          V,
          4       F]  p\        W#WTRRR7      w  rg\        P
                  ! V\        WUV,           4      ^4      p\        WgWP                  V P                  4       K_  	  K  	  R# r   r   r   s	   &        r   test_tall_p_colBaseQRdelete.test_tall_p_col   s    --'a!QKDQWWQZ_-"1%057YYq%X"6:YY		:	 .  r   c                   V P                  R 4      w  rp\        VP                  ^ ,          4       FK  p\        W#VRR7      w  rV\        P
                  ! W^ 4      p\        WVWpP                  V P                  4       KM  	  R# rZ   Frz   Nr|   r   s   &       r   test_fat_1_rowBaseQRdelete.test_fat_1_row   r   r   c           
     Z   V P                  R 4      w  rp\        ^^4       F  p\        VP                  ^ ,          V,
          4       F\  p\        W#WTRR7      w  rg\        P
                  ! V\        WUV,           4      ^ 4      p\        WgWP                  V P                  4       K^  	  K  	  R# r   r   r   s	   &        r   test_fat_p_rowBaseQRdelete.test_fat_p_row   r   r   c           	        V P                  R 4      w  rp\        VP                  ^,          4       FL  p\        W#VRRR7      w  rV\        P
                  ! W^4      p\        WVWpP                  V P                  4       KN  	  R# rZ   r   Fr   Nr|   r   s   &       r   test_fat_1_colBaseQRdelete.test_fat_1_col   r   r   c                \   V P                  R 4      w  rp\        ^^4       F  p\        VP                  ^,          V,
          4       F]  p\        W#WTRRR7      w  rg\        P
                  ! V\        WUV,           4      ^4      p\        WgWP                  V P                  4       K_  	  K  	  R# r   r   r   s	   &        r   test_fat_p_colBaseQRdelete.test_fat_p_col   r   r   c           	        V P                  R R4      w  rp\        VP                  ^ ,          4       FL  p\        W#VRR7      w  rV\        P
                  ! W^ 4      p\        WVWpP                  V P                  R4       KN  	  R# rY   economicFrz   Nr|   r   s   &       r   test_economic_1_row BaseQRdelete.test_economic_1_row   sc    --
3a$CqSu=FB11%BRRDIIu= %r   c           	     8   V P                  R R4      w  r#p\        VP                  ^ ,          V,
          4       F]  p\        W4WQRR7      w  rg\        P
                  ! V\        WUV,           4      ^ 4      p\        WgWP                  V P                  R4       K_  	  R# r   r   )	rT   r   r   r'   r(   r   r   r   r   s	   &&       r   base_economic_p_row_xxx$BaseQRdelete.base_economic_p_row_xxx   sr    --
3aD)CqSUCFB1eCT2A6BRRDIIu= *r   c                (    V P                  ^4       R# r+   Nr   rS   s   &r   test_economic_p_row_economic)BaseQRdelete.test_economic_p_row_economic       $$Q'r   c                (    V P                  ^4       R# r/   Nr   rS   s   &r   test_economic_p_row_sqr$BaseQRdelete.test_economic_p_row_sqr   r   r   c                (    V P                  ^4       R# r,   Nr   rS   s   &r   test_economic_p_row_fat$BaseQRdelete.test_economic_p_row_fat   r   r   c           	     
   V P                  R R4      w  rp\        VP                  ^,          4       FM  p\        W#VRRR7      w  rV\        P
                  ! W^4      p\        WVWpP                  V P                  R4       KO  	  R# rY   r   r   Fr   Nr|   r   s   &       r   test_economic_1_col BaseQRdelete.test_economic_1_col   se    --
3a$CqSEJFB11%BRRDIIu= %r   c                `   V P                  R R4      w  rp\        ^^4       F  p\        VP                  ^,          V,
          4       F^  p\        W#WTRRR7      w  rg\        P
                  ! V\        WUV,           4      ^4      p\        WgWP                  V P                  R4       K`  	  K  	  R# r   r   r   s	   &        r   test_economic_p_col BaseQRdelete.test_economic_p_col   s    --
3a!QKDQWWQZ_-"1%057YYq%X"6:YY		5A	 .  r   c                   V P                  R 4      w  rp\        VP                  ^ ,          4       FK  p\        W#VRR7      w  rV\        P
                  ! W^ 4      p\        WVWpP                  V P                  4       KM  	  R# r[   Frz   Nr|   r   s   &       r   test_Mx1_1_rowBaseQRdelete.test_Mx1_1_row   r   r   c           
     Z   V P                  R 4      w  rp\        ^^4       F  p\        VP                  ^ ,          V,
          4       F\  p\        W#WTRR7      w  rg\        P
                  ! V\        WUV,           4      ^ 4      p\        WgWP                  V P                  4       K^  	  K  	  R# r   r   r   s	   &        r   test_Mx1_p_rowBaseQRdelete.test_Mx1_p_row   r   r   c           	        V P                  R 4      w  rp\        VP                  ^,          4       FL  p\        W#VRRR7      w  rV\        P
                  ! W^4      p\        WVWpP                  V P                  4       KN  	  R# r\   r   Fr   Nr|   r   s   &       r   test_1xN_1_colBaseQRdelete.test_1xN_1_col  r   r   c                \   V P                  R 4      w  rp\        ^^4       F  p\        VP                  ^,          V,
          4       F]  p\        W#WTRRR7      w  rg\        P
                  ! V\        WUV,           4      ^4      p\        WgWP                  V P                  4       K_  	  K  	  R# r   r   r   s	   &        r   test_1xN_p_colBaseQRdelete.test_1xN_p_col  r   r   c           	        V P                  R R4      w  rp\        VP                  ^ ,          4       FL  p\        W#VRR7      w  rV\        P
                  ! W^ 4      p\        WVWpP                  V P                  R4       KN  	  R# r[   r   Frz   Nr|   r   s   &       r   test_Mx1_economic_1_row$BaseQRdelete.test_Mx1_economic_1_row  sc    --z2a$CqSu=FB11%BRRDIIu= %r   c           
     ^   V P                  R R4      w  rp\        ^^4       F  p\        VP                  ^ ,          V,
          4       F]  p\        W#WTRR7      w  rg\        P
                  ! V\        WUV,           4      ^ 4      p\        WgWP                  V P                  R4       K_  	  K  	  R# r   r   r   s	   &        r   test_Mx1_economic_p_row$BaseQRdelete.test_Mx1_economic_p_row  s    --z2a!QKDQWWQZ_-"1GYYq%X"6:YY		5A .  r   c                $   V P                  R 4      w  rp\        W#^ ^R4      w  rE\        V\        P                  ! RVP
                  R7      4       \        V\        P                  ! ^ VP                  ^,          3VP
                  R7      4       R# )r\   r   r   r   Nr   r   )rj   r   r   r   ndarrayr   r   rT   r   r'   r(   r   r   s   &     r   test_delete_last_1_row#BaseQRdelete.test_delete_last_1_row&  sd    --&a1Au-R&@AR1aggaj/IJr   c                   V P                  R R4      w  rp\        W#^ VP                  ^ ,          R4      w  rE\        V\        P
                  ! RVP                  R7      4       \        V\        P
                  ! ^ VP                  ^,          3VP                  R7      4       V P                  R R4      w  rp\        W#^ VP                  ^ ,          R4      w  rE\        V\        P
                  ! RVP                  R7      4       \        V\        P
                  ! ^ VP                  ^,          3VP                  R7      4       R# )rY   rm   r   r   r   Nr   )rj   r   r   r   r   r   r   r   s   &     r   test_delete_last_p_row#BaseQRdelete.test_delete_last_p_row-  s    --/a1AGGAJ6R&@AR1aggaj/IJ--
3a1AGGAJ6R&@AR1aggaj/IJr   c                   V P                  R R4      w  rp\        W#^ ^R4      w  rE\        V\        P                  ! VP
                  ^ ,          ^ 3VP                  R7      4       \        V\        P                  ! RVP                  R7      4       V P                  R R4      w  rp\        W#^ ^R4      w  rE\        V4       \        VP                  VP                  8H  4       \        VP
                  VP
                  8H  4       \        V\        P                  ! VP
                  ^ ,          ^ 3VP                  R7      4       R# )r[   r   r   r   rm   Nr   )	rj   r   r   r   r   r   r   r   r   r   s   &     r   test_delete_last_1_col#BaseQRdelete.test_delete_last_1_col8  s    --z2a1Au-R1771:q/IJR&@A--v.a1Au-rAGG#$AGG#$R1771:q/IJr   c                   V P                  R R4      w  rp\        W#^ VP                  ^,          R4      w  rE\        V4       \	        VP
                  VP
                  8H  4       \	        VP                  VP                  8H  4       \        V\        P                  ! VP                  ^ ,          ^ 3VP
                  R7      4       V P                  R R4      w  rp\        W#^ VP                  ^,          R4      w  rE\        V\        P                  ! VP                  ^ ,          ^ 3VP
                  R7      4       \        V\        P                  ! RVP
                  R7      4       R# )rY   rm   r   r   r   Nr   )	rj   r   r   r   r   r   r   r   r   r   s   &     r   test_delete_last_p_col#BaseQRdelete.test_delete_last_p_colE  s    --/a1AGGAJ6rAGG#$AGG#$R1771:q/IJ--
3a1AGGAJ6R1771:q/IJR&@Ar   c                   V P                  R 4      w  rp\        W#^ ^R4      w  rE\        V\        P                  ! RVP
                  R7      4       \        V\        P                  ! ^ VP                  ^,          3VP
                  R7      4       V P                  R 4      w  rp\        W#^ ^R4      w  rE\        V4       \        VP
                  VP
                  8H  4       \        VP                  VP                  8H  4       \        V\        P                  ! VP                  ^ ,          ^ 3VP
                  R7      4       R# )r]   r   r   r   Nr   )	rj   r   r   r   r   r   r   r   r   r   s   &     r   test_delete_1x1_row_col$BaseQRdelete.test_delete_1x1_row_colR  s    --&a1Au-R&@AR1aggaj/IJ--&a1Au-rAGG#$AGG#$R1771:q/IJr   c           	        VR 8X  d1   \        VR4      \        VR4      3p\        VR4      \        R4      3pM.\        R4      \        R4      3p\        R4      \        RV) 4      3p\        P                  ! . ROV4       EF  w  rV P                  V4      w  rpV! W34      w  rV^8X  d"   \        P
                  ! YVR 8X  d   ^ M^4      pM~\        WV,           4      pV	^ 8  dE   \        YV,           VR 8X  d   V
P                  ^ ,          MV
P                  ^,          ,           4      p\        P
                  ! T
TVR 8X  d   ^ M^4      pVP                  R4      pVP                  R4      p\        VVWVR4      w  pp\        VVWP                  V P                  4       \        VVWVR4      w  pp\        VVWP                  V P                  4       V'       dT   \        VW,          V P                  V P                  R7       \        VVV,          V P                  V P                  R7       VP                  R4      pVP                  R4      p\        VWW4R4      w  pp\        VVWP                  V P                  4       \        VWW4R4      w  pp\        VVWP                  V P                  4       V'       dT   \        VVV,          V P                  V P                  R7       \        VW,          V P                  V P                  R7       VP                  R4      pVP                  R4      pV! VV34      w  r\        WWVR4      w  pp\        VVWP                  V P                  4       \        WWVR4      w  pp\        VVWP                  V P                  4       V'       g   EK2  \        VW,          V P                  V P                  R7       \        VW,          V P                  V P                  R7       EK  	  R# )r   NFFTr   rX   rY   rZ   )r   	itertoolsproductrj   r   r~   r   copyr   r)   r   r   r   )rT   adjust_strideskspr   overwriteableqindrindrg   r9   r   q0r0qsrsr   r;   r'   r(   r   r   q1or1oq2r2q2or2oq3r3q3or3os   &&&&&&                         r   base_non_simple_strides$BaseQRdelete.base_non_simple_stridese  s   E>!DM54=1D!DM5;/D$Kt-D$KtQB0D (()?DGDt,JA2#RH-FBAvYYq%5.Qa@!aCLq5aQ-2e^qwwqz"M NAYYq!%5.Qa@ AAr1aE59FBRRDII6 QeT:HCS#r99dii8RXDIIDIINQtW499499MAAq"59FBRRDII6 B1T:HCS#r99dii8QtW499499MRXDIIDIINAA#QF+FBrqUE:FBRRDII6 ud;HCS#r99dii8}RXDIIDIINRXDIIDIINN] Er   c                :    V P                  \        ^ .^RR4       R# r   r   TNr  r?   rS   s   &r   test_non_unit_strides_1_row(BaseQRdelete.test_non_unit_strides_1_row      $$\A35$Gr   c                :    V P                  \        ^ .^RR4       R# r  r  rS   s   &r   test_non_unit_strides_p_row(BaseQRdelete.test_non_unit_strides_p_row  r  r   c                :    V P                  \        ^ .^RR4       R# )r   r   TNr  rS   s   &r   test_non_unit_strides_1_col(BaseQRdelete.test_non_unit_strides_1_col  r  r   c                :    V P                  \        ^ .^RR4       R# r   r   FNr  rS   s   &r   test_non_unit_strides_p_col(BaseQRdelete.test_non_unit_strides_p_col  s    $$\A35%Hr   c                :    V P                  \        ^ .^RR4       R# r   r   FNr  rC   rS   s   &r   test_neg_strides_1_row#BaseQRdelete.test_neg_strides_1_row      $$^aS!UEJr   c                :    V P                  \        ^ .^RR4       R# r+  r,  rS   s   &r   test_neg_strides_p_row#BaseQRdelete.test_neg_strides_p_row  r/  r   c                :    V P                  \        ^ .^RR4       R# r'  r,  rS   s   &r   test_neg_strides_1_col#BaseQRdelete.test_neg_strides_1_col  r/  r   c                :    V P                  \        ^ .^RR4       R# r'  r,  rS   s   &r   test_neg_strides_p_col#BaseQRdelete.test_neg_strides_p_col  r/  r   c                :    V P                  \        ^ .^RR4       R# r+  r  rK   rS   s   &r   test_non_itemize_strides_1_row+BaseQRdelete.test_non_itemize_strides_1_row      $$%81#q%Or   c                :    V P                  \        ^ .^RR4       R# r+  r:  rS   s   &r   test_non_itemize_strides_p_row+BaseQRdelete.test_non_itemize_strides_p_row  r=  r   c                :    V P                  \        ^ .^RR4       R# r'  r:  rS   s   &r   test_non_itemize_strides_1_col+BaseQRdelete.test_non_itemize_strides_1_col  r=  r   c                :    V P                  \        ^ .^RR4       R# r'  r:  rS   s   &r   test_non_itemize_strides_p_col+BaseQRdelete.test_non_itemize_strides_p_col  r=  r   c                :    V P                  \        ^ .^RR4       R# r+  r  rO   rS   s   &r    test_non_native_byte_order_1_row-BaseQRdelete.test_non_native_byte_order_1_row  r/  r   c                :    V P                  \        ^ .^RR4       R# r+  rH  rS   s   &r    test_non_native_byte_order_p_row-BaseQRdelete.test_non_native_byte_order_p_row  r/  r   c                :    V P                  \        ^ .^RR4       R# r'  rH  rS   s   &r    test_non_native_byte_order_1_col-BaseQRdelete.test_non_native_byte_order_1_col  r/  r   c                :    V P                  \        ^ .^RR4       R# r'  rH  rS   s   &r    test_non_native_byte_order_p_col-BaseQRdelete.test_non_native_byte_order_p_col  r/  r   c           
     N   V P                  R 4      w  rp\        P                  ! RR.^^.RR.4       F  w  rEp\        W#WEVRR7      w  rxVR8X  dY   \        P
                  ! V\        WAP                  ^ ,          ,           WE,           VP                  ^ ,          ,           4      ^ 4      p	MW\        P
                  ! V\        WAP                  ^ ,          ,           WE,           VP                  ^,          ,           4      ^4      p	\        WxWP                  V P                  4       K  	  R# )rX   r   r   Frz   Ni)rj   r  r  r   r   r~   r   r   r)   r   r   )
rT   r   r'   r(   r9   r  wr   r   r   s
   &         r   
test_neg_kBaseQRdelete.test_neg_k  s    --&a (("bAq6E5>JGA!qQ15AFBEzYYq%''!*ac!''!*n"EqIYYq%''!*ac!''!*n"EqIRRDII6 Kr   c                z   VR 8X  d   RMRpVR8X  d1   \        VR4      \        VR4      3p\        VR4      \        R4      3pM.\        R4      \        R4      3p\        R4      \        RV) 4      3pV P                  RV4      w  rpV^8X  d#   \        P                  ! T	^VR8X  d   ^ M^4      pM2\        P                  ! T	\        ^^V,           4      VR8X  d   ^ M^4      pV
P	                  R4      pVP	                  R4      p\        W^W!R4      w  pp\        VVWP                  V P                  V4       \        WWP                  V P                  V4       V'       d   V
P	                  R4      pVP	                  R4      p\        W^W!R4      w  pp\        VVWP                  V P                  V4       \        VW,          V P                  V P                  R7       \        VW,          V P                  V P                  R7       V'       d   V
P	                  R4      pVP	                  R4      p\        W^W!R4      w  pp\        VVWP                  V P                  V4       \        VW,          V P                  V P                  R7       \        VW,          V P                  V P                  R7       R# R# )	rm   TFr   NrX   r   r   C)
r   rj   r   r~   r  r   r)   r   r   r   )rT   r   r  test_Ctest_Fr_   r   r  r	  r   r
  r  r   r'   r(   r   r   r  r  r  r  s   &&&&&&               r   base_overwrite_qrBaseQRdelete.base_overwrite_qr  s   !V^T
E>!DM54=1D!DM5;/D$Kt-D$KtQB0DMM%.	r61aeun!<B1eAqsm%5.QaHB GGCLGGCL1Ae4BRYY		:>q))TYY
;AAqQ$7FBRRDIIzBBdiidiiHBdiidiiHAAqQ$7FBRRDIIzBBdiidiiHBdiidiiH r   c                .    V P                  R ^RR4       R# r   TNr]  rS   s   &r   test_overwrite_qr_1_row$BaseQRdelete.test_overwrite_qr_1_row      uat4r   c                0    V P                  R ^RRR4       R# r   Tr   Nra  rS   s   &r    test_overwrite_economic_qr_1_row-BaseQRdelete.test_overwrite_economic_qr_1_row      uatZ@r   c                .    V P                  R ^RR4       R# )r   TNra  rS   s   &r   test_overwrite_qr_1_col$BaseQRdelete.test_overwrite_qr_1_col  s     	uat4r   c                .    V P                  R ^RR4       R# r`  ra  rS   s   &r   test_overwrite_qr_p_row$BaseQRdelete.test_overwrite_qr_p_row  rd  r   c                0    V P                  R ^RRR4       R# rf  ra  rS   s   &r    test_overwrite_economic_qr_p_row-BaseQRdelete.test_overwrite_economic_qr_p_row  ri  r   c                .    V P                  R ^RR4       R# )r   FTNra  rS   s   &r   test_overwrite_qr_p_col$BaseQRdelete.test_overwrite_qr_p_col  s     	ua5r   c           	     ^    V P                  R 4      w  rp\        \        \        W#^ RR7       R# )rX   foor   Nrj   assert_raisesr4   r   rT   r   r'   r(   s   &   r   test_bad_whichBaseQRdelete.test_bad_which  s$    --&aj)Q1EBr   c           	        V P                  R 4      w  rp\        \        \        W#VP                  ^ ,          ^4       \        \        \        W#VP                  ^ ,          ) ^,
          ^4       \        \        \        W#VP                  ^ ,          ^R4       \        \        \        W#VP                  ^ ,          ) ^,
          ^R4       R# )rY   r   Nrj   rz  r4   r   r   r{  s   &   r   
test_bad_kBaseQRdelete.test_bad_k  s    --'aj)Q1771:qAj)QAGGAJ;q=!Dj)Q1771:q%Hj)QAGGAJ;q=!UKr   c           	        V P                  R 4      w  rp\        \        \        W#^ R4       \        \        \        W#^ RR4       \        \        \        W#^ ^ 4       \        \        \        W#^ ^ R4       \        \        \        W#^VP                  ^ ,          ^,
          4       \        \        \        W#^VP                  ^,          ^,
          R4       R# )rY   r   Nr!   r  r{  s   &   r   
test_bad_pBaseQRdelete.test_bad_p#  s    --'aj)Q1b9j)Q1b%@ 	j)Q1a8j)Q1a? 	j)Q1aggajlCj)Q1aggajlEJr   c                    V P                  R 4      w  rp\        \        \        \        P
                  ! . 4      V^ ^4       R# rY   Nrj   rz  r4   r   r   arrayr{  s   &   r   test_empty_qBaseQRdelete.test_empty_q1  s.    --'aj)RXXb\1aCr   c                    V P                  R 4      w  rp\        \        \        V\        P
                  ! . 4      ^ ^4       R# r  r  r{  s   &   r   test_empty_rBaseQRdelete.test_empty_r6  s.    --'aj)QaCr   c                n    V P                  R 4      w  rpVR,          p\        \        \        W#^ ^4       R# )rY   r0   NNNry  r{  s   &   r   test_mismatched_q_and_r$BaseQRdelete.test_mismatched_q_and_r;  s-    --'abEj)Q1a8r   c           
        . ROpV P                  R4      w  r#pV EF#  pVP                  P                  V4      p\        P                  ! RR7      ;_uu_ 4        VP                  P                  V4      pRRR4       \        \        \        Wd^ ^R4       \        \        \        Wd^ ^R4       \        \        \        Wd^ ^R4       \        \        \        Wd^ ^R4       \        \        \        VX^ ^R4       \        \        \        W7^ ^R4       \        \        \        W7^ ^R4       \        \        \        W7^ ^R4       EK&  	  R#   + '       g   i     L; i)int8rY   ignoreinvalidNr   r   r  int16int32int64uint8uint16uint32uint64float16
longdoubleclongdoublebool)rj   realrM   r   errstaterz  r4   r   )rT   dtsr   r
  r  r   r'   r(   s   &       r   test_unsupported_dtypes$BaseQRdelete.test_unsupported_dtypes@  s     MM&)	rEu%AX..GGNN5) /*i1eD*i1eD*i1eD*i1eD*iQ1eD*i1eD*i1eD*i1eD ..s   EEc           	     >   V P                  R 4      w  rpVP                  R4      p\        P                  VR&   \	        \
        \        WC^ ^R4       \	        \
        \        WC^ ^R4       \	        \
        \        WC^ ^R4       \	        \
        \        WC^ ^R4       VP                  R4      p\        P                  VR&   \	        \
        \        W%^ ^R4       \	        \
        \        W%^ ^R4       \	        \
        \        W%^ ^R4       \	        \
        \        W%^ ^R4       R# )rY   r   r   r   Nrc   )rj   r  r   nanrz  r4   r   )rT   a0r
  r  r'   r(   s   &     r   test_check_finiteBaseQRdelete.test_check_finiteT  s    ]]6*
GGCL#j)QAq%@j)QAq%@j)QAq%@j)QAq%@GGCL#j)RAq%@j)RAq%@j)RAq%@j)RAq%@r   c           	     *   V P                  R 4      w  rp\        \        \        VR,          V^ ^R4       \        \        \        W#R,          ^ ^R4       \        \        \        VR,          V^ ^R4       \        \        \        W#R,          ^ ^R4       R# )r]   r   r   Nr   ry  r{  s   &   r   test_qr_scalarBaseQRdelete.test_qr_scalare  sp    --&aj)QtWaAuEj)Q$AuEj)QtWaAuEj)Q$AuEr    Nrl   )Frn   ro   rp   rq   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-  r1  r4  r7  r;  r?  rB  rE  rI  rL  rO  rR  rW  r]  rb  rg  rk  rn  rq  rt  r|  r  r  r  r  r  r  r  r  rr   rs   rt   s   @r   rw   rw   k   sp    7;7;7;7;7;7;>>(((>B7;7;>BK	KKBK&7OrHHHIKKKKPPPPKKKK7$IL5A5
5A6
CLKD
D
9
E(A"F Fr   rw   c                   :    ] tR tRt]P
                  ! R4      tRtR# )TestQRdelete_fil  fr  Nrn   ro   rp   rq   r   r   rr   r  r   r   r  r  l      HHSMEr   r  c                   :    ] tR tRt]P
                  ! R4      tRtR# )TestQRdelete_Fio  r   r  Nr  r  r   r   r  r  o  r  r   r  c                   :    ] tR tRt]P
                  ! R4      tRtR# )TestQRdelete_dir  dr  Nr  r  r   r   r  r  r  r  r   r  c                   :    ] tR tRt]P
                  ! R4      tRtR# )TestQRdelete_Diu  Dr  Nr  r  r   r   r  r  u  r  r   r  c                     a a ] tR tRt oRFV 3R lltR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR t R t!R  t"R! t#R" t$R# t%R$ t&R% t'R& t(R' t)R( t*R) t+R* t,R+ t-R, t.R- t/R. t0R/ t1R0 t2R1 t3R2 t4R3 t5R4 t6R5 t7R6 t8R7 t9R8 t:R9 t;R: t<R; t=R< t>R= t?R> t@R? tAR@ tBRA tCRB tDRC tERD tFREtGVtHV ;tI# )GBaseQRinsertix  c                  < \         SV `  W4      w  rVp\        V^ 8  4       \        P                  P                  R4      pVR8X  dO   V^8X  d$   VP	                  VP                  ^,          4      p	MVP	                  WEP                  ^,          34      p	MaVR8X  dP   V^8X  d$   VP	                  VP                  ^ ,          4      p	M0VP	                  VP                  ^ ,          V34      p	M\        R4      h\        P                  ! V P                  P                  ^4      4      '       d,   VP	                  V	P                  4      p
V	RV
,          ,           p	V	P                  V P                  4      p	WVWy3# )r     r   r   z%which should be either "row" or "col"r^   )superrj   r   r   rd   re   r   r4   rf   r   rg   rM   )rT   rg   r_   r   r  r   r'   r(   ri   urB   	__class__s   &&&&&      r   rj   BaseQRinsert.generatey  s   '"4.aAii##D)E>AvJJqwwqz*JJ771:/e^AvJJqwwqz*JJ
A/DEE??4::??1-..

177#ABF
AHHTZZ Qzr   c                   V P                  R RR7      w  rr4\        VP                  ^ ,          ^,           4       FJ  p\        W#WE4      w  rg\        P
                  ! WV^ 4      p\        WgWP                  V P                  4       KL  	  R# )rX   r   rx  N	rj   r}   r   r
   r   insertr)   r   r   	rT   r   r'   r(   r  r   r   r   r   s	   &        r   r   BaseQRinsert.test_sqr_1_row  g    ]]5]6
aa(CqQ,FB11a(BRRDII6 )r   c           	     `   V P                  R R^R7      w  rr4\        VP                  ^ ,          ^,           4       Fo  p\        W#WE4      w  rg\        P
                  ! V\        P                  ! ^V\        P                  4      V^ 4      p\        WgWP                  V P                  4       Kq  	  R# )rX   r   r   r  Nrj   r}   r   r
   r   r  rm   intpr)   r   r   r  s	   &        r   r   BaseQRinsert.test_sqr_p_row  s|    ]]5];
aa(CqQ,FB1bggabgg61=BRRDII6 )r   c           
        V P                  R RR7      w  rr4\        VP                  ^,          ^,           4       FM  p\        W#WERRR7      w  rg\        P
                  ! WV^4      p\        WgWP                  V P                  4       KO  	  R# )rX   r   rx  Foverwrite_qruNr  	rT   r   r'   r(   r  r   r   r   r   s	   &        r   r   BaseQRinsert.test_sqr_1_col  k    ]]5]6
aa(CqQU%HFB11a(BRRDII6 )r   c           
     f   V P                  R R^R7      w  rr4\        VP                  ^,          ^,           4       Fr  p\        W#WERRR7      w  rg\        P
                  ! V\        P                  ! ^V\        P                  4      V^4      p\        WgWP                  V P                  4       Kt  	  R# )rX   r   r  Fr  Nr  r  s	   &        r   r   BaseQRinsert.test_sqr_p_col      ]]5];
aa(CqQU%HFB1bggabgg61=BRRDII6 )r   c                   V P                  R RR7      w  rr4\        VP                  ^ ,          ^,           4       FJ  p\        W#WE4      w  rg\        P
                  ! WV^ 4      p\        WgWP                  V P                  4       KL  	  R# )rY   r   rx  Nr  r  s	   &        r   r   BaseQRinsert.test_tall_1_row  sg    ]]6]7
aa(CqQ,FB11a(BRRDII6 )r   c           	     `   V P                  R R^R7      w  rr4\        VP                  ^ ,          ^,           4       Fo  p\        W#WE4      w  rg\        P
                  ! V\        P                  ! ^V\        P                  4      V^ 4      p\        WgWP                  V P                  4       Kq  	  R# )rY   r   r  Nr  r  s	   &        r   r   BaseQRinsert.test_tall_p_row  s|    ]]6!]<
aa(CqQ,FB1bggabgg61=BRRDII6 )r   c           
        V P                  R RR7      w  rr4\        VP                  ^,          ^,           4       FM  p\        W#WERRR7      w  rg\        P
                  ! WV^4      p\        WgWP                  V P                  4       KO  	  R# )rY   r   rx  Fr  Nr  r  s	   &        r   r   BaseQRinsert.test_tall_1_col  sk    ]]6]7
aa(CqQU%HFB11a(BRRDII6 )r   c           
     d   V P                  R RVR7      w  r#rE\        VP                  ^,          ^,           4       Fq  p\        W4WVRRR7      w  rx\        P
                  ! V\        P                  ! W\        P                  4      V^4      p	\        WxWP                  V P                  4       Ks  	  R# )rY   r   r  Fr  Nr  
rT   r  r   r'   r(   r  r   r   r   r   s
   &&        r   base_tall_p_col_xxx BaseQRinsert.base_tall_p_col_xxx  s~    ]]6!]<
aa(CqQU%HFB1bggabgg61=BRRDII6 )r   c                (    V P                  ^4       R# r   r  rS   s   &r   test_tall_p_col_tall!BaseQRinsert.test_tall_p_col_tall        #r   c                (    V P                  ^4       R# r   r  rS   s   &r   test_tall_p_col_sqr BaseQRinsert.test_tall_p_col_sqr  r  r   c                (    V P                  ^4       R# r   r  rS   s   &r   test_tall_p_col_fat BaseQRinsert.test_tall_p_col_fat  r  r   c                   V P                  R RR7      w  rr4\        VP                  ^ ,          ^,           4       FJ  p\        W#WE4      w  rg\        P
                  ! WV^ 4      p\        WgWP                  V P                  4       KL  	  R# )rZ   r   rx  Nr  r  s	   &        r   r   BaseQRinsert.test_fat_1_row  r  r   c           	     ^   V P                  R RVR7      w  r#rE\        VP                  ^ ,          ^,           4       Fn  p\        W4WV4      w  rx\        P
                  ! V\        P                  ! W\        P                  4      V^ 4      p	\        WxWP                  V P                  4       Kp  	  R# )rZ   r   r  Nr  )
rT   r  r   r'   r(   r  r   r   r   r   s
   &&        r   base_fat_p_row_xxxBaseQRinsert.base_fat_p_row_xxx  sz    ]]5];
aa(CqQ,FB1bggabgg61=BRRDII6 )r   c                (    V P                  ^4       R# r   r  rS   s   &r   test_fat_p_row_fatBaseQRinsert.test_fat_p_row_fat      "r   c                (    V P                  ^4       R# r   r  rS   s   &r   test_fat_p_row_sqrBaseQRinsert.test_fat_p_row_sqr  r  r   c                (    V P                  ^4       R# r   r  rS   s   &r   test_fat_p_row_tall BaseQRinsert.test_fat_p_row_tall  r  r   c           
        V P                  R RR7      w  rr4\        VP                  ^,          ^,           4       FM  p\        W#WERRR7      w  rg\        P
                  ! WV^4      p\        WgWP                  V P                  4       KO  	  R# )rZ   r   rx  Fr  Nr  r  s	   &        r   r   BaseQRinsert.test_fat_1_col  r  r   c           
     f   V P                  R R^R7      w  rr4\        VP                  ^,          ^,           4       Fr  p\        W#WERRR7      w  rg\        P
                  ! V\        P                  ! ^V\        P                  4      V^4      p\        WgWP                  V P                  4       Kt  	  R# )rZ   r   r  Fr  Nr  r  s	   &        r   r   BaseQRinsert.test_fat_p_col  r  r   c           	        V P                  R RR4      w  rr4\        VP                  ^ ,          ^,           4       FM  p\        W#WERR7      w  rg\        P
                  ! WV^ 4      p\        WgWP                  V P                  R4       KO  	  R# rY   r   r   Fr  Nr  r  s	   &        r   r    BaseQRinsert.test_economic_1_row  sk    ]]6:u=
aa(CqQ5AFB11a(BRRDIIu= )r   c           	     f   V P                  R RR^4      w  rr4\        VP                  ^ ,          ^,           4       Fr  p\        W#WERR7      w  rg\        P
                  ! V\        P                  ! ^V\        P                  4      V^ 4      p\        WgWP                  V P                  R4       Kt  	  R# r  r  r  s	   &        r   test_economic_p_row BaseQRinsert.test_economic_p_row  s    ]]6:ua@
aa(CqQ5AFB1bggabgg61=BRRDIIu= )r   c           
     <   V P                  R RRR7      w  rr4\        VP                  ^,          ^,           4       F]  p\        W#VP	                  4       VRRR7      w  rg\
        P                  ! WV^4      p\        WgWP                  V P                  R4       K_  	  R# )rY   r   r   rx  Fr  N)
rj   r}   r   r
   r  r   r  r)   r   r   r  s	   &        r   r    BaseQRinsert.test_economic_1_col  sw    ]]6:U]C
aa(CqQVVXsEOFB11a(BRRDIIu= )r   c           	        \         P                  ! ^^V P                  R7      p\         P                  ! ^V P                  R7      p\         P                  ! . ROV P                  4      p\	        \
        P                  \        WV^ R4       R# )r/   )r   r   N)r0   r   r   r   r   )r   r   r   r  rz  r   LinAlgErrorr
   )rT   r'   r(   r  s   &   r   test_economic_1_col_bad_update+BaseQRinsert.test_economic_1_col_bad_update!  sZ     FF1atzz*FF1DJJ'HH_djj1f(()Q1aGr   c           
     h   V P                  R RRVR7      w  r#rE\        VP                  ^,          ^,           4       Fr  p\        W4WVRRR7      w  rx\        P
                  ! V\        P                  ! W\        P                  4      V^4      p	\        WxWP                  V P                  R4       Kt  	  R# )rY   r   r   r  Fr  Nr  r  s
   &&        r   base_economic_p_col_xxx$BaseQRinsert.base_economic_p_col_xxx-  s    ]]6:Ua]H
aa(CqQU%HFB1bggabgg61=BRRDIIu= )r   c                (    V P                  ^4       R# r   r  rS   s   &r   test_economic_p_col_eco$BaseQRinsert.test_economic_p_col_eco4  r   r   c                (    V P                  ^4       R# r   r  rS   s   &r   test_economic_p_col_sqr$BaseQRinsert.test_economic_p_col_sqr8  r   r   c                (    V P                  ^4       R# r   r  rS   s   &r   test_economic_p_col_fat$BaseQRinsert.test_economic_p_col_fat<  r   r   c                   V P                  R RR7      w  rr4\        VP                  ^ ,          ^,           4       FJ  p\        W#WE4      w  rg\        P
                  ! WV^ 4      p\        WgWP                  V P                  4       KL  	  R# )r[   r   rx  Nr  r  s	   &        r   r   BaseQRinsert.test_Mx1_1_row@  r  r   c           	     `   V P                  R R^R7      w  rr4\        VP                  ^ ,          ^,           4       Fo  p\        W#WE4      w  rg\        P
                  ! V\        P                  ! ^V\        P                  4      V^ 4      p\        WgWP                  V P                  4       Kq  	  R# )r[   r   r  Nr  r  s	   &        r   r   BaseQRinsert.test_Mx1_p_rowG  |    ]]5];
aa(CqQ,FB1bggabgg61=BRRDII6 )r   c           
        V P                  R RR7      w  rr4\        VP                  ^,          ^,           4       FM  p\        W#WERRR7      w  rg\        P
                  ! WV^4      p\        WgWP                  V P                  4       KO  	  R# )r[   r   rx  Fr  Nr  r  s	   &        r   test_Mx1_1_colBaseQRinsert.test_Mx1_1_colN  r  r   c           
     f   V P                  R R^R7      w  rr4\        VP                  ^,          ^,           4       Fr  p\        W#WERRR7      w  rg\        P
                  ! V\        P                  ! ^V\        P                  4      V^4      p\        WgWP                  V P                  4       Kt  	  R# )r[   r   r  Fr  Nr  r  s	   &        r   test_Mx1_p_colBaseQRinsert.test_Mx1_p_colU      ]]5];
aa(CqQU%HFB1bggabgg61=BRRDII6 )r   c           	        V P                  R RR4      w  rr4\        VP                  ^ ,          ^,           4       FK  p\        W#WE4      w  rg\        P
                  ! WV^ 4      p\        WgWP                  V P                  R4       KM  	  R# r[   r   r   FNr  r  s	   &        r   r   $BaseQRinsert.test_Mx1_economic_1_row\  si    ]]5*e<
aa(CqQ,FB11a(BRRDIIu= )r   c           	     b   V P                  R RR^4      w  rr4\        VP                  ^ ,          ^,           4       Fp  p\        W#WE4      w  rg\        P
                  ! V\        P                  ! ^V\        P                  4      V^ 4      p\        WgWP                  V P                  R4       Kr  	  R# r)  r  r  s	   &        r   r   $BaseQRinsert.test_Mx1_economic_p_rowc  s~    ]]5*eQ?
aa(CqQ,FB1bggabgg61=BRRDIIu= )r   c           
        V P                  R RR4      w  rr4\        VP                  ^,          ^,           4       FN  p\        W#WERRR7      w  rg\        P
                  ! WV^4      p\        WgWP                  V P                  R4       KP  	  R# r[   r   r   Fr  Nr  r  s	   &        r   test_Mx1_economic_1_col$BaseQRinsert.test_Mx1_economic_1_colj  sm    ]]5*e<
aa(CqQU%HFB11a(BRRDIIu= )r   c           
     h   V P                  R RR^4      w  rr4\        VP                  ^,          ^,           4       Fs  p\        W#WERRR7      w  rg\        P
                  ! V\        P                  ! ^V\        P                  4      V^4      p\        WgWP                  V P                  R4       Ku  	  R# r.  r  r  s	   &        r   test_Mx1_economic_p_col$BaseQRinsert.test_Mx1_economic_p_colq  s    ]]5*eQ?
aa(CqQU%HFB1bggabgg61=BRRDIIu= )r   c                   V P                  R RR7      w  rr4\        VP                  ^ ,          ^,           4       FJ  p\        W#WE4      w  rg\        P
                  ! WV^ 4      p\        WgWP                  V P                  4       KL  	  R# )r\   r   rx  Nr  r  s	   &        r   test_1xN_1_rowBaseQRinsert.test_1xN_1_rowx  r  r   c           	     `   V P                  R R^R7      w  rr4\        VP                  ^ ,          ^,           4       Fo  p\        W#WE4      w  rg\        P
                  ! V\        P                  ! ^V\        P                  4      V^ 4      p\        WgWP                  V P                  4       Kq  	  R# )r\   r   r  Nr  r  s	   &        r   test_1xN_p_rowBaseQRinsert.test_1xN_p_row  r   r   c           
        V P                  R RR7      w  rr4\        VP                  ^,          ^,           4       FM  p\        W#WERRR7      w  rg\        P
                  ! WV^4      p\        WgWP                  V P                  4       KO  	  R# )r\   r   rx  Fr  Nr  r  s	   &        r   r   BaseQRinsert.test_1xN_1_col  r  r   c           
     f   V P                  R R^R7      w  rr4\        VP                  ^,          ^,           4       Fr  p\        W#WERRR7      w  rg\        P
                  ! V\        P                  ! ^V\        P                  4      V^4      p\        WgWP                  V P                  4       Kt  	  R# )r\   r   r  Fr  Nr  r  s	   &        r   r   BaseQRinsert.test_1xN_p_col  r'  r   c                   V P                  R RR7      w  rr4\        VP                  ^ ,          ^,           4       FJ  p\        W#WE4      w  rg\        P
                  ! WV^ 4      p\        WgWP                  V P                  4       KL  	  R# )r]   r   rx  Nr  r  s	   &        r   test_1x1_1_rowBaseQRinsert.test_1x1_1_row  r  r   c           	     `   V P                  R R^R7      w  rr4\        VP                  ^ ,          ^,           4       Fo  p\        W#WE4      w  rg\        P
                  ! V\        P                  ! ^V\        P                  4      V^ 4      p\        WgWP                  V P                  4       Kq  	  R# )r]   r   r  Nr  r  s	   &        r   test_1x1_p_rowBaseQRinsert.test_1x1_p_row  r   r   c           
        V P                  R RR7      w  rr4\        VP                  ^,          ^,           4       FM  p\        W#WERRR7      w  rg\        P
                  ! WV^4      p\        WgWP                  V P                  4       KO  	  R# )r]   r   rx  Fr  Nr  r  s	   &        r   test_1x1_1_colBaseQRinsert.test_1x1_1_col  r  r   c           
     f   V P                  R R^R7      w  rr4\        VP                  ^,          ^,           4       Fr  p\        W#WERRR7      w  rg\        P
                  ! V\        P                  ! ^V\        P                  4      V^4      p\        WgWP                  V P                  4       Kt  	  R# )r]   r   r  Fr  Nr  r  s	   &        r   test_1x1_p_colBaseQRinsert.test_1x1_p_col  r'  r   c           	        V P                  R RR7      w  rr4\        \        \        VR,          W4^ R4       \        \        \        W#R,          V^ R4       \        \        \        W#V^ ,          ^ R4       \        \        \        VR,          W4^ R4       \        \        \        W#R,          V^ R4       \        \        \        W#V^ ,          ^ R4       R# )r]   r   rx  r   Nr   rj   rz  r4   r
   rT   r   r'   r(   r  s   &    r   test_1x1_1_scalarBaseQRinsert.test_1x1_1_scalar  s    ]]5]6
aj)QtWaAuEj)Q$AuEj)Q1Q4EBj)QtWaAuEj)Q$AuEj)Q1Q4EBr   c           
     @   R EF  pV P                  WTVR7      w  rgrV! WxV	34      w  rpV^8X  d"   \        P                  ! YbYR8X  d   ^ M^4      pMN\        P                  ! T\        P                  ! W2\        P                  4      VR8X  d   T	MT	VR8X  d   ^ M^4      pVP                  R4      pVP                  R4      pV	P                  R4      p\        WVW$RR7      w  pp\        VVWP                  V P                  4       \        WVW$RR7      w  pp\        VVWP                  V P                  4       VP                  R4      pVP                  R4      pV	P                  R4      p\        WVW$RR7      w  pp\        VVWP                  V P                  4       \        WVW$RR7      w  pp\        VVWP                  V P                  4       VP                  R4      pVP                  R4      pV	P                  R4      p\        WWVRR7      w  pp\        VVWP                  V P                  4       \        WWVRR7      w  pp\        VVWP                  V P                  4       VP                  R4      pVP                  R4      pV	P                  R4      pV! WV34      w  rp\        WWVRR7      w  pp\        VVWP                  V P                  4       \        WWVRR7      w  pp \        VV WP                  V P                  4       EK  	  R# )	rX   r  r   r   Fr  TNr   )
rj   r   r  rm   r  r  r
   r)   r   r   )!rT   r  r9   r  r   rg   r   r
  r  u0r  r  usair'   r(   r  r   r   r  r  r  r  r  r  r  r  r  r  q5r5q5or5os!   &&&&&                            r   r  $BaseQRinsert.base_non_simple_strides  s   *D MM$qMAMA2'5JBBAvYYqRun!DYYq"''!"8#un""e^4 AAAraGFBRRDII6 14HHCS#r99dii8AAAqaGFBRRDII6 14HHCS#r99dii8AAAqREGFBRRDII6 re4HHCS#r99dii8AAA'q	2JBBrre5IFBRRDII6 TJHCS#r99dii8_ +r   c                6    V P                  \        ^ ^R4       R# r   r   Nr  rS   s   &r   r  (BaseQRinsert.test_non_unit_strides_1_row      $$\1a?r   c                6    V P                  \        ^ ^R4       R# rY  r  rS   s   &r   r!  (BaseQRinsert.test_non_unit_strides_p_row  r[  r   c                6    V P                  \        ^ ^R4       R# r   r   Nr  rS   s   &r   r$  (BaseQRinsert.test_non_unit_strides_1_col  r[  r   c                6    V P                  \        ^ ^R4       R# r_  r  rS   s   &r   r(  (BaseQRinsert.test_non_unit_strides_p_col  r[  r   c                6    V P                  \        ^ ^R4       R# rY  r,  rS   s   &r   r-  #BaseQRinsert.test_neg_strides_1_row      $$^Q5Ar   c                6    V P                  \        ^ ^R4       R# rY  r,  rS   s   &r   r1  #BaseQRinsert.test_neg_strides_p_row  re  r   c                6    V P                  \        ^ ^R4       R# r_  r,  rS   s   &r   r4  #BaseQRinsert.test_neg_strides_1_col  re  r   c                6    V P                  \        ^ ^R4       R# r_  r,  rS   s   &r   r7  #BaseQRinsert.test_neg_strides_p_col  re  r   c                6    V P                  \        ^ ^R4       R# rY  r:  rS   s   &r   test_non_itemsize_strides_1_row,BaseQRinsert.test_non_itemsize_strides_1_row      $$%8!QFr   c                6    V P                  \        ^ ^R4       R# rY  r:  rS   s   &r   test_non_itemsize_strides_p_row,BaseQRinsert.test_non_itemsize_strides_p_row  ro  r   c                6    V P                  \        ^ ^R4       R# r_  r:  rS   s   &r   test_non_itemsize_strides_1_col,BaseQRinsert.test_non_itemsize_strides_1_col
  ro  r   c                6    V P                  \        ^ ^R4       R# r_  r:  rS   s   &r   test_non_itemsize_strides_p_col,BaseQRinsert.test_non_itemsize_strides_p_col  ro  r   c                6    V P                  \        ^ ^R4       R# rY  rH  rS   s   &r   rI  -BaseQRinsert.test_non_native_byte_order_1_row  re  r   c                6    V P                  \        ^ ^R4       R# rY  rH  rS   s   &r   rL  -BaseQRinsert.test_non_native_byte_order_p_row  re  r   c                6    V P                  \        ^ ^R4       R# r_  rH  rS   s   &r   rO  -BaseQRinsert.test_non_native_byte_order_1_col  re  r   c                6    V P                  \        ^ ^R4       R# r_  rH  rS   s   &r   rR  -BaseQRinsert.test_non_native_byte_order_p_col  re  r   c           	        V P                  R R^R7      w  rr4VP                  R4      pVP                  4       p\        WSV^ RRR7      w  rx\        P                  ! V^ V^4      p	\        WxWP                  V P                  4       \        WSWP                  V P                  4       \        WSV^ RRR7      w  r\        WWP                  V P                  4       \        WV P                  V P                  R7       \        WFP                  4       V P                  V P                  4       VP                  R4      pVP                  4       p\        WV^ RRR7      w  r\        WWP                  V P                  4       \        WWP                  V P                  4       \        WV^ RRR7      w  pp\        VVWP                  V P                  4       \        VWP                  V P                  R7       R	# )
rX   r   r  rZ  Fr  Tr   r   N)
rj   r  r
   r   r  r)   r   r   r   r   )rT   r   r
  r(   r  r'   rP  r   r   r   r  r  qFu1r  r  q4r4s   &                 r   test_overwrite_qu_rank_1%BaseQRinsert.test_overwrite_qu_rank_1  st   
 }}U%1}=qGGCLVVX1AuEBYYq!R#YY		2q))TYY/ 1AuDAYY		2DIIDII>779dii; WWS\WWY2"aeDYY		299dii0 2"adCBRYY		2BYYTYY?r   c           	         V P                  R R^R7      w  rr4VP                  R4      p\        P                  ! V\        P                  ! ^\        P
                  4      V^4      p\        WSV^ RRR7      w  rx\        WxW`P                  V P                  4       \        WSWP                  V P                  4       \        WSV^ RRR7      w  r\        WW`P                  V P                  4       \        WV P                  V P                  R7       R# )	rX   r   r  r   Fr  Tr   N)rj   r  r   r  r3   r  r
   r)   r   r   r   )rT   r   r
  r(   r  r'   r   r   r   r  r  s   &          r   test_overwrite_qu_rank_p%BaseQRinsert.test_overwrite_qu_rank_p=  s     }}U%1}=qGGCLYYq"((1bgg.15 1AuEBYY		2q))TYY/ 1AuDAYY		2DIIDII>r   c           	     F   V P                  R RR7      w  rr4\        \        \        \        P
                  ! . 4      W4^ R4       \        \        \        V\        P
                  ! . 4      V^ R4       \        \        \        W#\        P
                  ! . 4      ^ R4       \        \        \        \        P
                  ! . 4      W4^ R4       \        \        \        V\        P
                  ! . 4      V^ R4       \        \        \        W#\        P
                  ! . 4      ^ R4       R# )rX   r   rx  r   N)rj   rz  r4   r
   r   r  rL  s   &    r   test_empty_inputsBaseQRinsert.test_empty_inputsO  s    ]]5]6
aj)RXXb\1EJj)QaEJj)Q288B<EJj)RXXb\1EJj)QaEJj)Q288B<EJr   c           	        V P                  R RR7      w  rr4\        \        \        W#R,          V^ R4       \        \        \        VRR W4^ R4       \        \        \        W#VR,          ^ R4       \        \        \        W#R,          V^ R4       \        \        \        VRR W4^ R4       \        \        \        W#VR,          ^ R4       R# )rY   r   rx  r  Nr   rK  rL  s   &    r   test_mismatched_shapes#BaseQRinsert.test_mismatched_shapesX  s    ]]6]7
aj)Q"q!UCj)QsVQ1eDj)Q1R5!UCj)Q"q!UCj)QsVQ1eDj)Q1R5!UCr   c           
        . ROpV P                  RRR7      w  r#rEV EF  pVP                  P                  V4      p\        P                  ! RR7      ;_uu_ 4        VP                  P                  V4      pRRR4       VP                  P                  V4      p	\        \        \        WtV^ R4       \        \        \        WtV^ R4       \        \        \        VXV^ R4       \        \        \        W8V^ R4       \        \        \        W4V	^ R4       \        \        \        W4V	^ R4       EK  	  R#   + '       g   i     L; i)	r  rX   r   rx  r  r  Nr   r  )rj   r  rM   r   r  rz  r4   r
   )
rT   r  r   r
  r  rP  r   r'   r(   r  s
   &         r   r  $BaseQRinsert.test_unsupported_dtypesa  s     e59rEu%AX..GGNN5) /u%A*iAuE*iAuE*iQAuE*iAuE*iAuE*iAuE ..s   D22Ec           	        V P                  R R^R7      w  rr4VP                  R4      p\        P                  VR&   \	        \
        \        WSVR,          ^ R4       \	        \
        \        WSV^ R4       \	        \
        \        WSVR,          ^ R4       \	        \
        \        WSV^ R4       VP                  R4      p\        P                  VR&   \	        \
        \        W&VR,          ^ R4       \	        \
        \        W&V^ R4       \	        \
        \        W&VR,          ^ R4       \	        \
        \        W&V^ R4       VP                  R4      p\        P                  VR&   \	        \
        \        W#VR,          ^ R4       \	        \
        \        W#V^ R4       \	        \
        \        W#VR,          ^ R4       \	        \
        \        W#V^ R4       R# )	rX   r   r  r   r   Nrc   NNNr   r   )rj   r  r   r  rz  r4   r
   )rT   r  r
  r  rP  r'   r(   r  s   &       r   r  BaseQRinsert.test_check_finites  sX   uEQ?GGCL#j)QBsGQFj)QB5Aj)QBsGQFj)QB5AGGCL#j)RBsGQFj)RB5Aj)RBsGQFj)RB5AGGCL#j)RQsVQFj)RQ5Aj)RQsVQFj)RQ5Ar   r  )rm   r   r0   )Jrn   ro   rp   rq   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/  r2  r5  r8  r   r   r?  rB  rE  rH  rM  r  r  r!  r$  r(  r-  r1  r4  r7  rm  rq  rt  rw  rI  rL  rO  rR  r  r  r  r  r  r  rr   rs   __classcell__r  ru   s   @@r   r  r  x  ss    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9d@@@@BBBBGGGGBBBB@B?$KDF$B Br   r  c                   :    ] tR tRt]P
                  ! R4      tRtR# )TestQRinsert_fi  r  r  Nr  r  r   r   r  r    r  r   r  c                   :    ] tR tRt]P
                  ! R4      tRtR# )TestQRinsert_Fi  r   r  Nr  r  r   r   r  r    r  r   r  c                   :    ] tR tRt]P
                  ! R4      tRtR# )TestQRinsert_di  r  r  Nr  r  r   r   r  r    r  r   r  c                   :    ] tR tRt]P
                  ! R4      tRtR# )TestQRinsert_Di  r  r  Nr  r  r   r   r  r    r  r   r  c                   >  a a ] tR tRt oR0V 3R lltR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR t R t!R  t"R! t#R" t$R# t%R$ t&R% t'R& t(R' t)R( t*R) t+R* t,R+ t-R, t.R- t/R. t0R/t1Vt2V ;t3# )1BaseQRupdatei  c                  < \         SV `  W4      w  rEp\        P                  P	                  R 4      pV^8X  dF   VP                  VP
                  ^ ,          4      pVP                  VP
                  ^,          4      p	MHVP                  VP
                  ^ ,          V34      pVP                  VP
                  ^,          V34      p	\        P                  ! V P                  P                  ^4      4      '       dW   VP                  VP
                  4      p
VRV
,          ,           pVP                  V	P
                  4      pV	RV,          ,           p	VP                  V P                  4      pV	P                  V P                  4      p	WEWhV	3# )r  r^   )
r  rj   r   rd   re   r   rf   r   rg   rM   )rT   rg   r_   r  r   r'   r(   ri   r  vrB   rJ   r  s   &&&&        r   rj   BaseQRupdate.generate  s   '"4.aii##D)6

1771:&A

1771:&A

AGGAJ?+A

AGGAJ?+A??4::??1-..

177#ABF
A

177#ABF
AHHTZZ HHTZZ Q1}r   c                    V P                  R 4      w  rr4p\        W#WER4      w  rgV\        P                  ! WEP	                  4       4      ,           p\        WgWP                  V P                  4       R# )rX   FNrj   r	   r   outerr   r)   r   r   	rT   r   r'   r(   r  r  r   r   r   s	   &        r   test_sqr_rank_1BaseQRupdate.test_sqr_rank_1  S    e,aA1u-!VVX&&YY		2r   c                   R F  pV P                  RVR7      w  r#rEpV^8X  d9   VP                  VP                  ^4      pVP                  VP                  ^4      p\        W4WVR4      w  rxV\        P
                  ! WVP                  P                  4       4      ,           p	\        WxWP                  V P                  4       K  	  R# )r0   rX   r  FNr0   r-   r+   r/   rj   reshapesizer	   r   r   r   r   r)   r   r   
rT   r  r   r'   r(   r  r  r   r   r   s
   &         r   test_sqr_rank_pBaseQRupdate.test_sqr_rank_p  s    A MM%1M5MA!AvIIaffa(IIaffa(qQ51FBRVVAssxxz**BRRDII6 r   c                    V P                  R 4      w  rr4p\        W#WER4      w  rgV\        P                  ! WEP	                  4       4      ,           p\        WgWP                  V P                  4       R# )rY   FNr  r  s	   &        r   test_tall_rank_1BaseQRupdate.test_tall_rank_1  sS    f-aA1u-!VVX&&YY		2r   c                   R F  pV P                  RVR7      w  r#rEpV^8X  d9   VP                  VP                  ^4      pVP                  VP                  ^4      p\        W4WVR4      w  rxV\        P
                  ! WVP                  P                  4       4      ,           p	\        WxWP                  V P                  4       K  	  R# )r0   rY   r  FNr  r  r  s
   &         r   test_tall_rank_pBaseQRupdate.test_tall_rank_p  s    A MM&AM6MA!AvIIaffa(IIaffa(qQ51FBRVVAssxxz**BRRDII6 r   c                    V P                  R 4      w  rr4p\        W#WER4      w  rgV\        P                  ! WEP	                  4       4      ,           p\        WgWP                  V P                  4       R# )rZ   FNr  r  s	   &        r   test_fat_rank_1BaseQRupdate.test_fat_rank_1  r  r   c                   R F  pV P                  RVR7      w  r#rEpV^8X  d9   VP                  VP                  ^4      pVP                  VP                  ^4      p\        W4WVR4      w  rxV\        P
                  ! WVP                  P                  4       4      ,           p	\        WxWP                  V P                  4       K  	  R# )r0   rZ   r  FNr  r  r  s
   &         r   test_fat_rank_pBaseQRupdate.test_fat_rank_p  s    A MM%1M5MA!AvIIaffa(IIaffa(qQ51FBRVVAssxxz**BRRDII6 r   c                    V P                  R R4      w  rr4p\        W#WER4      w  rgV\        P                  ! WEP	                  4       4      ,           p\        WgWP                  V P                  R4       R# )rY   r   FNr  r  s	   &        r   test_economic_rank_1!BaseQRupdate.test_economic_rank_1  sW    fj9aA1u-!VVX&&YY		59r   c           	        R F  pV P                  RRV4      w  r#rEpV^8X  d9   VP                  VP                  ^4      pVP                  VP                  ^4      p\        W4WVR4      w  rxV\        P
                  ! WVP                  P                  4       4      ,           p	\        WxWP                  V P                  R4       K  	  R# )r0   rY   r   FNr  r  r  s
   &         r   test_economic_rank_p!BaseQRupdate.test_economic_rank_p  s    A MM&*a@MA!AvIIaffa(IIaffa(qQ51FBRVVAssxxz**BRRDIIu= r   c                    V P                  R 4      w  rr4p\        W#WER4      w  rgV\        P                  ! WEP	                  4       4      ,           p\        WgWP                  V P                  4       R# )r[   FNr  r  s	   &        r   test_Mx1_rank_1BaseQRupdate.test_Mx1_rank_1  r  r   c                n   V P                  R ^R7      w  rr4pVP                  VP                  ^4      pVP                  VP                  ^4      p\        W#WER4      w  rgV\        P
                  ! WEP                  P                  4       4      ,           p\        WgWP                  V P                  4       R# )r[   r  FNr  r  s	   &        r   test_Mx1_rank_pBaseQRupdate.test_Mx1_rank_p       eq1aAIIaffa IIaffa 1u-3388:&&YY		2r   c                    V P                  R R4      w  rr4p\        W#WER4      w  rgV\        P                  ! WEP	                  4       4      ,           p\        WgWP                  V P                  R4       R# )r[   r   FNr  r  s	   &        r   test_Mx1_economic_rank_1%BaseQRupdate.test_Mx1_economic_rank_1  sW    eZ8aA1u-!VVX&&YY		59r   c                r   V P                  R R^R7      w  rr4pVP                  VP                  ^4      pVP                  VP                  ^4      p\        W#WER4      w  rgV\        P
                  ! WEP                  P                  4       4      ,           p\        WgWP                  V P                  R4       R# )r[   r   r  FNr  r  s	   &        r   test_Mx1_economic_rank_p%BaseQRupdate.test_Mx1_economic_rank_p  s     eZ1=aAIIaffa IIaffa 1u-3388:&&YY		59r   c                    V P                  R 4      w  rr4p\        W#WER4      w  rgV\        P                  ! WEP	                  4       4      ,           p\        WgWP                  V P                  4       R# )r\   FNr  r  s	   &        r   test_1xN_rank_1BaseQRupdate.test_1xN_rank_1  r  r   c                n   V P                  R ^R7      w  rr4pVP                  VP                  ^4      pVP                  VP                  ^4      p\        W#WER4      w  rgV\        P
                  ! WEP                  P                  4       4      ,           p\        WgWP                  V P                  4       R# )r\   r  FNr  r  s	   &        r   test_1xN_rank_pBaseQRupdate.test_1xN_rank_p  r  r   c                    V P                  R 4      w  rr4p\        W#WER4      w  rgV\        P                  ! WEP	                  4       4      ,           p\        WgWP                  V P                  4       R# )r]   FNr  r  s	   &        r   test_1x1_rank_1BaseQRupdate.test_1x1_rank_1  r  r   c                n   V P                  R ^R7      w  rr4pVP                  VP                  ^4      pVP                  VP                  ^4      p\        W#WER4      w  rgV\        P
                  ! WEP                  P                  4       4      ,           p\        WgWP                  V P                  4       R# )r]   r  FNr  r  s	   &        r   test_1x1_rank_pBaseQRupdate.test_1x1_rank_p%  r  r   c           	        V P                  R 4      w  rr4p\        \        \        VR,          W4V4       \        \        \        W#R,          WE4       \        \        \        W#V^ ,          V4       \        \        \        W#WE^ ,          4       R# )r]   Nr   rj   rz  r4   r	   rT   r   r'   r(   r  r  s   &     r   test_1x1_rank_1_scalar#BaseQRupdate.test_1x1_rank_1_scalar/  sb    e,aAj)QtWaA>j)Q$>j)Q1Q4;j)Q1d;r   c           	        VR 8X  d   RMRpR EF  pV P                  WbV4      w  rxrpV! WW34      w  rrV^8X  d-   V\        P                  ! WP                  4       4      ,           pM5V\        P                  ! WP
                  P                  4       4      ,           pVP                  R4      pV	P                  R4      pV
P                  R4      pVP                  R4      p\        VVVVR4      w  pp\        VVVV P                  V P                  V4       \        VVVVR4      w  pp\        VVVV P                  V P                  V4       V'       dU   \        VVV P                  V P                  R7       \        VVP                  4       V P                  V P                  R7       VP                  R4      pV	P                  R4      pV
P                  R4      pVP                  R4      p\        VVVVR4      w  pp\        VVVV P                  V P                  V4       \        VVVVR4      w  pp\        VVVV P                  V P                  V4       V'       dT   \        VWP                  V P                  R7       \        VVP                  4       V P                  V P                  R7       VP                  R4      pV	P                  R4      pV
P                  R4      pVP                  R4      p\        VVVVR4      w  pp\        VVVV P                  V P                  V4       \        VVVVR4      w  pp \        VV VV P                  V P                  V4       V'       dU   \        V VV P                  V P                  R7       \        VVP                  4       V P                  V P                  R7       VP                  R4      pV	P                  R4      pV
P                  R4      pVP                  R4      p\        VVVVR4      w  p!p"\        V!V"VV P                  V P                  V4       \        VVVVR4      w  p#p$\        V#V$VV P                  V P                  V4       V'       dT   \        V$VV P                  V P                  R7       \        WP                  4       V P                  V P                  R7       VP                  R4      pV	P                  R4      pV
P                  R4      pVP                  R4      pV! VVVV34      w  rr\        WWR4      w  p%p&\        V%V&VV P                  V P                  V4       \        WWR4      w  p'p(\        V'V(VV P                  V P                  V4       V'       g   EK  \        V(WP                  V P                  R7       \        WP                  4       V P                  V P                  R7       EK  	  R# )r   FTr   rZ  r   Nr   )rj   r   r  r   r   r   r  r	   r)   r   r   r   ))rT   r  r_   r  r  r   rg   r   r
  r  rP  v0r  r  rQ  vsaupr'   r(   r  r  r   r   r  r  r  r  r  r  r  r  r  r  r  r  q4or4orS  rT  rU  rV  s)   &&&&&                                    r   r  $BaseQRupdate.base_non_simple_strides6  s|   "j0Ud
*D $d! <A22+RR,<=NBBAv"((2wwy11"&&TTYY[11 AAAAr1aE2FBRS$))TYY
C Q1d3HCS#sDIItyy*EQTYYTYYG2779499499MAAAAq"aE2FBRS$))TYY
C B1d3HCS#sDIItyy*ERiidiiH2779499499MAAAAq!RE2FBRS$))TYY
C Ar1d3HCS#sDIItyy*EQTYYTYYG2779499499MAAAAq!QE2FBRS$))TYY
C Aq"d3HCS#sDIItyy*EQTYYTYYGGGIDIIDIINAAAA+Q1aL9NBBrru5FBRS$))TYY
C 6HCS#sDIItyy*E}RiidiiHGGIDIIDIINNS +r   c                6    V P                  \        R ^R4       R# )rm   TNr  rS   s   &r   test_non_unit_strides_rank_1)BaseQRupdate.test_non_unit_strides_rank_1  s    $$\61dCr   c                6    V P                  \        R ^R4       R# )r   TNr  rS   s   &r   %test_non_unit_strides_economic_rank_12BaseQRupdate.test_non_unit_strides_economic_rank_1  s    $$\:q$Gr   c                6    V P                  \        R ^R4       R# rm   FNr  rS   s   &r   test_non_unit_strides_rank_p)BaseQRupdate.test_non_unit_strides_rank_p  s    $$\61eDr   c                6    V P                  \        R ^R4       R# r   FNr  rS   s   &r   %test_non_unit_strides_economic_rank_p2BaseQRupdate.test_non_unit_strides_economic_rank_p  s    $$\:q%Hr   c                6    V P                  \        R ^R4       R# r  r,  rS   s   &r   test_neg_strides_rank_1$BaseQRupdate.test_neg_strides_rank_1      $$^VQFr   c                6    V P                  \        R ^R4       R# r  r,  rS   s   &r    test_neg_strides_economic_rank_1-BaseQRupdate.test_neg_strides_economic_rank_1      $$^ZEJr   c                6    V P                  \        R ^R4       R# r  r,  rS   s   &r   test_neg_strides_rank_p$BaseQRupdate.test_neg_strides_rank_p  r  r   c                6    V P                  \        R ^R4       R# r  r,  rS   s   &r    test_neg_strides_economic_rank_p-BaseQRupdate.test_neg_strides_economic_rank_p  r  r   c                6    V P                  \        R ^R4       R# r  r:  rS   s   &r    test_non_itemsize_strides_rank_1-BaseQRupdate.test_non_itemsize_strides_rank_1      $$%8&!UKr   c                6    V P                  \        R ^R4       R# r  r:  rS   s   &r   )test_non_itemsize_strides_economic_rank_16BaseQRupdate.test_non_itemsize_strides_economic_rank_1      $$%8*aOr   c                6    V P                  \        R ^R4       R# r  r:  rS   s   &r    test_non_itemsize_strides_rank_p-BaseQRupdate.test_non_itemsize_strides_rank_p  r  r   c                6    V P                  \        R ^R4       R# r  r:  rS   s   &r   )test_non_itemsize_strides_economic_rank_p6BaseQRupdate.test_non_itemsize_strides_economic_rank_p  r  r   c                6    V P                  \        R ^R4       R# r  rH  rS   s   &r   !test_non_native_byte_order_rank_1.BaseQRupdate.test_non_native_byte_order_rank_1  r  r   c                6    V P                  \        R ^R4       R# r  rH  rS   s   &r   *test_non_native_byte_order_economic_rank_17BaseQRupdate.test_non_native_byte_order_economic_rank_1  r  r   c                6    V P                  \        R ^R4       R# r  rH  rS   s   &r   !test_non_native_byte_order_rank_p.BaseQRupdate.test_non_native_byte_order_rank_p  r  r   c                6    V P                  \        R ^R4       R# r  rH  rS   s   &r   *test_non_native_byte_order_economic_rank_p7BaseQRupdate.test_non_native_byte_order_economic_rank_p  r  r   c                   V P                  R 4      w  rr4pV\        P                  ! WEP                  4       4      ,           pVP	                  R4      pVP	                  R4      pVP	                  R4      p	VP	                  R4      p
\        WxWR4      w  r\        WW`P                  V P                  4       \        WxWP                  V P                  4       \        WxWR4      w  r\        WW`P                  V P                  4       \        WV P                  V P                  R7       \        WV P                  V P                  R7       VP	                  R4      pVP	                  R4      pVP	                  R4      p	VP	                  R4      p
\        WxWR4      w  pp\        VVW`P                  V P                  4       \        WV P                  V P                  R7       \        VWP                  V P                  R7       R# )rX   r   FTr   rZ  N
rj   r   r  r   r  r	   r)   r   r   r   rT   r   r
  r  rP  r  r   r'   r(   r  r  r   r   r  r  r  r  s   &                r   test_overwrite_qruv_rank_1'BaseQRupdate.test_overwrite_qruv_rank_1  sp    !MM%0rr"ggi((GGCLGGCLGGCLGGCL 1u-YY		2q))TYY/1t,YY		2DIIDII>DIIDII>GGCLGGCLGGCLGGCL1t,BRYY		2DIIDII>AIIDII>r   c                   V P                  R R4      w  rr4pV\        P                  ! WEP                  4       4      ,           pVP	                  R4      pVP	                  R4      pVP	                  R4      p	VP	                  R4      p
\        WxWR4      w  r\        WW`P                  V P                  R4       \        WxWP                  V P                  R4       \        WxWR4      w  r\        WW`P                  V P                  R4       \        WV P                  V P                  R7       \        WV P                  V P                  R7       VP	                  R4      pVP	                  R4      pVP	                  R4      p	VP	                  R4      p
\        WxWR4      w  pp\        VVW`P                  V P                  R4       \        WV P                  V P                  R7       \        VWP                  V P                  R7       R# )rY   r   r   FTr   rZ  Nr%  r&  s   &                r   #test_overwrite_qruv_rank_1_economic0BaseQRupdate.test_overwrite_qruv_rank_1_economic  sz    !MM&*=rr"ggi((GGCLGGCLGGCLGGCL 1u-YY		59q))TYY61t,YY		59DIIDII>DIIDII>GGCLGGCLGGCLGGCL1t,BRYY		59DIIDII>AIIDII>r   c                   V P                  R ^R7      w  rr4pV\        P                  ! WEP                  P	                  4       4      ,           pVP                  R4      pVP                  R4      pVP                  R4      p	VP                  R4      p
\        WxWR4      w  r\        WW`P                  V P                  4       \        WxWP                  V P                  4       \        WxWR4      w  r\        WW`P                  V P                  4       \        WV P                  V P                  R7       \        WV P                  V P                  R7       R# )rX   r  r   rZ  FTr   N)rj   r   r   r   r   r  r	   r)   r   r   r   )rT   r   r
  r  rP  r  r   r'   r(   r  r  r   r   r  r  s   &              r   test_overwrite_qruv_rank_p'BaseQRupdate.test_overwrite_qruv_rank_p  s     !MM%1M5rrDDIIK((GGCLGGCLGGCLGGCL 1u-YY		2q))TYY/1t,YY		2DIIDII>DIIDII>r   c           
        V P                  R 4      w  rr4p\        \        \        \        P
                  ! . 4      W4V4       \        \        \        V\        P
                  ! . 4      WE4       \        \        \        W#\        P
                  ! . 4      V4       \        \        \        W#V\        P
                  ! . 4      4       R# r  )rj   rz  r4   r	   r   r  r  s   &     r   r  BaseQRupdate.test_empty_inputs  sv    f-aAj)RXXb\1Cj)QaCj)Q288B<Cj)Q1bhhrlCr   c           	        V P                  R 4      w  rr4p\        \        \        W#R,          WE4       \        \        \        VRR W4V4       \        \        \        W#VR,          V4       \        \        \        W#WER,          4       R# )rY   r  Nr  r  r  s   &     r   r  #BaseQRupdate.test_mismatched_shapes  sd    f-aAj)Q"q<j)QsVQ1=j)Q1R5!<j)Q1e<r   c           	     J   . ROpV P                  R4      w  r#rEpV F  pVP                  P                  V4      p\        P                  ! RR7      ;_uu_ 4        VP                  P                  V4      p	RRR4       VP                  P                  V4      p
VP                  P                  V4      p\        \        \        WWV4       \        \        \        VX	WV4       \        \        \        W4W4       \        \        \        W4W[4       K  	  R#   + '       g   i     L; i)r  rY   r  r  Nr  )rj   r  rM   r   r  rz  r4   r	   )rT   r  r   r
  r  rP  r  r   r'   r(   r  r  s   &           r   r  $BaseQRupdate.test_unsupported_dtypes  s     !MM&1rrEu%AX..GGNN5) /u%Au%A*i?*iQ?*i?*i? ..s   DD"c                    \         P                  ! ^4      P                  ^^4      pVP                  4       pVR,          P                  4       pVR,          P                  4       p\	        \
        \        WW44       R# )   Nr  )r   r  )r   aranger  r  rz  r4   r	   )rT   r'   r(   r  r  s   &    r   test_integer_inputBaseQRupdate.test_integer_input$  sS    IIbM!!!Q'FFHdGLLNdGLLNj)Q18r   c           	     ,   V P                  R ^R7      w  rr4pVP                  R4      p\        P                  VR&   \	        \
        \        WcVR,          VR,          4       \	        \
        \        WcWE4       VP                  R4      p\        P                  VR&   \	        \
        \        W'VR,          VR,          4       \	        \
        \        W'WE4       VP                  R4      p\        P                  VR&   \	        \
        \        W#VR,          VR,          4       \	        \
        \        W#W4       VP                  R4      p	\        P                  V	R&   \	        \
        \        W#VR,          V	R,          4       \	        \
        \        W#W4       R# )rY   r  r   Nrc   r  r   rj   r  r   r  rz  r4   r	   
rT   r  r
  r  rP  r  r'   r(   r  r  s
   &         r   r  BaseQRupdate.test_check_finite+  s   !]]6Q]7GGCL#j)QBsGRWEj)QB;GGCL#j)RBsGRWEj)RB;GGCL#j)RQsVRWEj)RQ;GGCL#j)RQsVQsVDj)RQ:r   c           	     .   V P                  R R^R7      w  rr4pVP                  R4      p\        P                  VR&   \	        \
        \        WcVR,          VR,          4       \	        \
        \        WcWE4       VP                  R4      p\        P                  VR&   \	        \
        \        W'VR,          VR,          4       \	        \
        \        W'WE4       VP                  R4      p\        P                  VR&   \	        \
        \        W#VR,          VR,          4       \	        \
        \        W#W4       VP                  R4      p	\        P                  V	R&   \	        \
        \        W#VR,          V	R,          4       \	        \
        \        W#W4       R# )rY   r   )r_   r  r   Nrc   r  r   r;  r<  s
   &         r   test_economic_check_finite'BaseQRupdate.test_economic_check_finiteB  s   !]]6
a]HGGCL#j)QBsGRWEj)QB;GGCL#j)RBsGRWEj)RB;GGCL#j)RQsVRWEj)RQ;GGCL#j)RQsVQsVDj)RQ:r   c                   \         P                  ! ^ ^ .^ ^ .^^ .^ ^..V P                  4      p\         P                  ! ^^ .^ ^..V P                  4      p\         P                  ! . ROV P                  4      p\         P                  ! ^^.V P                  4      p\        WW44      w  rV\         P                  ! W4      \         P
                  ! W4P                  4       4      ,           p\        WVWpP                  V P                  R4       R# )r   FN)r   r   r   r!   )
r   r  r   r	   r   r  r   r)   r   r   )rT   r'   r(   r  r  r   r   r   s   &       r   test_u_exactly_in_span_q%BaseQRupdate.test_u_exactly_in_span_qY  s    HHq!fq!fq!fq!f5tzzBHHq!fq!f%tzz2HH]DJJ/HHaVTZZ(1&VVA\BHHQ11YY		59r   r  )rm   r0   )4rn   ro   rp   rq   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  r8  r  r?  rB  rr   rs   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                   :    ] tR tRt]P
                  ! R4      tRtR# )TestQRupdate_fib  r  r  Nr  r  r   r   rE  rE  b  r  r   rE  c                   :    ] tR tRt]P
                  ! R4      tRtR# )TestQRupdate_Fie  r   r  Nr  r  r   r   rG  rG  e  r  r   rG  c                   :    ] tR tRt]P
                  ! R4      tRtR# )TestQRupdate_dih  r  r  Nr  r  r   r   rI  rI  h  r  r   rI  c                   :    ] tR tRt]P
                  ! R4      tRtR# )TestQRupdate_Dik  r  r  Nr  r  r   r   rK  rK  k  r  r   rK  c            	          R R.p R.p. ROp^^.p. ROp\         P                  ! WW#V4       F:  w  rVrxp	V^8X  d   \        WVWx^V	4       \        WVWx^V	4       K,  \        WVWx^V	4       K<  	  R# )r   rZ  Nr`   )r   rZ  A)r  r  r   r  )r  r  check_form_qTu)
q_orderq_shapeu_orderu_shaper   qor  uorQ  r  s
             r   test_form_qTurU  n  s}     CjGjGG!fG E g%H 	7221a0221a0221a0 Ir   c                    \         P                  P                  ^/4      pV^8X  d   V^8X  d   V^ ,          3pMV^ ,          V3p\         P                  ! V4      pVP                  R9   d$   VP                  V4      pVP                  V4      pMyVP                  R9   d^   VP                  V4      RVP                  V4      ,          ,           pVP                  V4      RVP                  V4      ,          ,           pM\        R4      h\         P                  ! WuV 4      pVR8w  d   \         P                  ! WV4      pM\        VP                  V4      34      w  pR\         P                  ! V4      P                  ^,
          ) ,          p	^\         P                  ! V4      P                  ,          p
\         P                  ! VP                  P                  4       V4      p\        P                   ! Wx4      p\#        WWR7       R# )	/   fdFDr^   z#form_qTu doesn't support this dtyperM  r   r   N)r   rd   re   r   charr4   requirer?   rM   r   r   r   r   r   r   _decomp_update	_form_qTur   )rO  rP  rQ  rR  u_ndimr   ri   r'   r  r   r   expectedress   &&&&&&       r   rN  rN    su   
))


#C!|!1:-1:w'HHUOEzzTJJwJJw	t	JJw"SZZ%8"88JJw"SZZ%8"88>??


1W%A#~JJq)188E?,-RXXe_..q011DRXXe_   Dvvacchhj!$H

"
"1
(CC8r   )NNT)NN)T)*r  numpyr   numpy.testingr   r   r   pytestr   rz  scipyr   scipy.linalg._decomp_updater\  r   r	   r
   r   r%   r)   r?   rC   rK   rO   rQ   rw   r  r  r  r  r  r  r  r  r  r  rE  rG  rI  rK  rU  rN  r  r   r   <module>rf     s     @ @ *  4 4 G G	C87
4< "F< FB\ \ \ \ QB< QBf\ \ \ \ I:< I:V\ \ \ \ 149r   