
    KhY                     <   S SK rS SKJr  S SKJrJrJrJrJ	r	J
r
  S SKJrJrJrJrJrJr  S SKrS rS rS!S jrS rS	 rS
 rS rS rS rS rS rS rS rS r S r!S r"S r# " S S5      r$S r% " S S\RL                  5      r' " S S\'5      r(S r)S r*S r+S  r,g)"    N)rational)assert_equalassert_array_equalassert_raisesassert_assert_raises_regexassert_warns)
as_stridedbroadcast_arrays_broadcast_shapebroadcast_tobroadcast_shapessliding_window_viewc                     U  Vs/ s H  n[         R                  " U5      PM     nn[        U6 nU Vs/ s H  oUR                  PM     nnU/[	        U5      -  n[        Xg5        g s  snf s  snf N)npzerosr   shapelenr   )input_shapesexpected_shapesinarrays	outarraysa	outshapesexpecteds           T/var/www/html/env/lib/python3.13/site-packages/numpy/lib/tests/test_stride_tricks.pyassert_shapes_correctr      sa     &22\\H2 (+I"+,)Q)I,#h-/H%	 3,s
    A%A*c                     U  Vs/ s H  n[         R                  " U5      PM     nn[        [        [        /UQ76   g s  snf r   )r   r   r   
ValueErrorr   )r   r   r   s      r    assert_incompatible_shapes_raiser"      s5     &22\\H2*.:: 3s    =c                 t   [         R                  " U [        S9n[        [         R                  R	                  U5      5      n[         R
                  " U5      R                  U5      nU(       a  UR                  nUR                  nU(       a  US S S2   nUS S S2   nXF-   n[        XF5      u  p[        Xy5        g )Ndtype)
r   r   intmultiplyreducearangereshapeTr   r   )
shape0shape1
transposedflippedx0nx1yb0b1s
             r   assert_same_as_ufuncr7   !   s     
&	$B 	BKKv&'A	1		f	%BTTTT"X"X 	Ab%FBq    c                      [         R                  " S5      n [         R                  " S5      n[        X5      u  p#[        X5        [        X5        g )N
   )r   r*   r   r   )xr4   bxbys       r   	test_samer>   7   s8    
		"A
		"Aa#FBqqr8   c                      [         R                  " S5      n [         R                  " S5      n[        [        S5         [	        XSS9  S S S 5        g ! , (       d  f       g = f)Nr:   zgot an unexpected keywordfloat64r$   )r   r*   r   	TypeErrorr   )r;   r4   s     r   test_broadcast_kwargsrB   >   s@     			"A
		"A	Y(C	DY/ 
E	D	Ds   A
Ac                  
   [         R                  " / SQ/5      n [         R                  " S/S/S//5      n[        X5      u  p#[         R                  " / SQ/ SQ/ SQ/5      nUR                  n[	        XB5        [	        XS5        g )N         rE   rF   rG   )r   arrayr   r,   r   )r;   r4   r<   r=   bx0by0s         r   test_one_offrK   I   sf    
)A
1#sQC!Aa#FB
((Iy)4
5C
%%Cssr8   c                  t    / SQn U  H.  nU/n[        X!5        X/n[        X15        XU/n[        XA5        M0     g )N)
 rE   rG   r   rE   )r   rG   rE   r   )rG   r   rE   rG   rG   rE   rG   rG   r   )datar   r   input_shapes2input_shapes3s        r   test_same_input_shapesrY   S   sE    D wl2m3u-m3 r8   c                      SS/S/SS/S/SS/S/SS/S/SS/S/SS/S/SS/S/SS/S/S	S/S/SS	/S/SS/S/SS/S/SS	/S	//n U  H"  u  p[        X5        [        US S S
2   U5        M$     g )NrN   rO   rR   rT   rS   rE   rE   rQ   r   r   rP   r&   rU   rV   r   r   s      r   (test_two_compatible_by_ones_input_shapesr^   n   s    
 t
&	6"
&	6"
&	6"
&	6"
&	6"
&	6"
&	6"
&	6"
&	6"
&	6"
&	6"
&	6"D )-$l;l4R40.A )-r8   c                      SS/S/SS/S/SS/S/SS/S/SS/S/SS/S/SS/S/SS/S/SS/S/SS/S/SS/S/SS	/S	/SS
/S	/SS	/S	/SS	/S	/SS/S/SS
/S
/SS/S/SS/S/SS
/S
//n U  H"  u  p[        X5        [        US S S2   U5        M$     g )NrM   rO   rT   rS   rN   r[   rR   r   r\   rP   rQ   r&   rU   r]   s      r   3test_two_compatible_by_prepending_ones_input_shapesra      s%   
 dT
 
 
 
fv
$ 
 
 
fv
fv
dT
 
 
 
fv
$ 
 
 
fv
fv)D, )-$l;l4R40.A )-r8   c                  j    SS/SS// SQSS//n U  H  n[        U5        [        US S S2   5        M!     g )	NrO      rF   rG   rF   rO   rO   rc   rE   rG   rd   rF   rG   rG   r&   )r"   )rV   r   s     r   )test_incompatible_shapes_raise_valueerrorrj      sI     
t		I	D (6(dd);< r8   c            
         / SS/S/PSS/S/PSS/S/PSS/S/PSS/S/PSS/S/PSS/S/PSS/S/PS	S/S/PSS	/S/PSS/S/PSS/S/PSS	/S	/PS
S/S/PSS/S/PSS/S/PSS/S/PS
S/S/PSS/S/PSS/S/PSS/S/PS
S/S/PS
S/S/PS
S/S/PSS/S/PSS	/S/PSS/S/PS
S/S/PSS/S/PSS	/S	/PSS/S/PS
S/S/PS
S	/S	/Pn U  H{  u  p[        US   US   SUS   < SUS   < 35        [        US   US   5        [        US   US   S5        S
U;  d  MS  [        US   US   SS5        [        US   US   SS5        M}     g )NrN   rO   rR   rT   rS   r[   rQ   r\   rP   rM   r`   r   rE   zShapes:  TF)r7   r]   s      r   test_same_as_ufuncrm      s   "
t"
&	6"" &	6"" &	6"	"
 &	6"" &	6"" &	6"" &	6"" &	6"" &	6"" &	6"" &	6"" &	6"" dT"  "   !""  #"$ fv%"& $ '"(  )"*  +", fv-". fv/"0 dT1"2  3"4  5"6  7"8 fv9": $ ;"<  =">  ?"@ fvA"B fvC"DF )-$\!_l1o0<QaQ	S 	\!_l1o>\!_l1otD \! a,q/5$O a,q/4N )-r8   c                     [         R                  " S5      S[         R                  " S5      /[         R                  " S5      S[         R                  " S5      /[         R                  " S5      S[         R                  " S5      /[         R                  " S5      S[         R                  " S5      /[         R                  " S5      S[         R                  " S5      /[         R                  " S5      S	[         R                  " S	5      /[         R                  " S5      S[         R                  " S5      /[         R                  " S5      S
[         R                  " S5      R                  SS5      /[         R                  " S5      S[         R                  " / SQ/ SQ/5      /[         R                  " S5      S[         R                  " S5      /[         R                  " S5      S[         R                  " S5      /[         R                  " S5      S[         R                  " S5      /[         R                  " S5      S[         R                  " S5      /[         R                  " S5      S[         R                  " S5      /[         R                  " S5      S[         R                  " S5      //n U  H  u  pn[        X5      n[        X45        M     g )Nr   r`   rN   rE   rO   rG   rf   rF   rD   rR   r&   re   r   rE   rF   rE   rF   )r   rF   rF   rE   )rF   r   )r   rH   r   onesr*   r+   r   r   )rV   input_arrayr   r   actuals        r   test_broadcast_to_succeedsru      s   	!dBHHQK(	!dBHHQK(	!dBHHQK(	T2771:&	T2771:&	Y	 23	1tRYYq\*	1vryy|33Ar:;	1vrxxI(>?@	Q
#	Q
#	Q
# 
T2771:&	&"''&/2	&"''&/2%D( )-$Hk18, )-r8   c                     ^^ SS/SS/SS/SS/SS/SS/SS/S	S/SS
/SS/SS//n U  H1  u  nm[         R                  " U5      m[        [        UU4S j5        M3     g )Nr`   rM   rN   rO   rf   rc   rp   rq   r[   r&   )r&   )r&   rF   c                     > [        T T5      $ r   )r   )arrtarget_shapes   r   <lambda>*test_broadcast_to_raises.<locals>.<lambda>  s    ,sL*Ir8   )r   r   r   r!   )rV   
orig_shaperx   ry   s     @@r   test_broadcast_to_raisesr}     s    	r
	r
	r
	t	t	t			r
	u	D %) 
Lhhz"j"IJ %)r8   c                    ^  [        [        5       S5        [        [        SS/5      S5        [        [        [        R                  " S5      5      S5        [        [        [        R                  " S5      [        R                  " S5      5      S5        [        [        [        R                  " S5      /S-  6 S5        [        [        [        R                  " S5      /S	-  6 S5        [        [        [        R                  " S5      /S-  S/-   6 S5        [        R                  " S5      /S-  [        R                  " S
5      /S-  -   m [	        [
        U 4S j5        g )NrM   rE   rF   rf   r[   rG   rd   rp       d   rG   c                     > [        T 6 $ r   )r   bad_argss   r   rz   &test_broadcast_shape.<locals>.<lambda>%      &6&Ar8   )r   r   r   rr   r   r!   r   s   @r   test_broadcast_shaper     s     !#R(!1a&)40!"''&/2F;!"''&/2776?CVL!RWWV_$5$:<fE!RWWV_$5$;=vF !RWWQZL2$5$;=tD
|b BGGAJ<"#44H*ABr8   c                     / S/S/S/S/S/SS/S/S/S/SS/S// SQS/S	/S	/S
S/S/SS/S/SS/S/SS/S/SS/S/SS/S/SS/S/SS/S/SS/S/SS/S/SS/S/SS/S/SS/S/SS/S/SS/S/SS/S/SS/S/SS/S/SS/S//n U  H  u  p[        [        U6 U5        M     [        [        S/S-  6 S5        [        [        S/S-  6 S5        [        [        S/S-  6 S5        g )NrM      rp   rf   r[   r   ))   r      r   rE   r   )r   rE   r   )r   r   r   r   rR   rS   rT   rQ   r\   rP   r`   rN   rO   rF   rG   rF   r   r   )r   r   )rV   r   ry   s      r   test_broadcast_shapes_succeedsr   (  s    
R
r


$ 
6
&	6"	-y9
i 
&	6"
&	6"
&	6"
&	6"
&	6"
&	6"
&	6"
dT
 
 
 
fv
$ 
 
 
fv
fv
t
Vf7D: '+"%|4lC '+ !VHrM3V<!VHsN4f= !TFRK148r8   c                     ^^ SS/SS// SQSS// SQS	S//n U  H  m[        [        U4S
 j5        M     S/S-  S/S-  -   m[        [        U4S j5        g )NrO   rc   re   rf   rg   rh   ri   )rp   rS   r   )r:   r   rF   c                     > [        T 6 $ r   r   )r   s   r   rz   .test_broadcast_shapes_raises.<locals>.<lambda>\  s    *:L*Ir8   r   c                     > [        T 6 $ r   r   r   s   r   rz   r   _  r   r8   )r   r!   )rV   r   r   s    @@r   test_broadcast_shapes_raisesr   Q  si     
t		I)	
FD j"IJ  v{dVb[(H*ABr8   c                     [         R                  " S /5      n [        U 5      n[         R                  " S /5      n[        U[         R                  " S /5      5        [         R                  " / SQ5      n [        U SSU R                  -  4S9n[         R                  " SS/5      n[        X5        [         R                  " / SQ5      n [        U SSSU R                  -  4S9n[         R                  " / SQ/ SQ/ SQ/5      n[        X5        [         R
                  " S	S
/5      n[         R                  " SUS9n [         R                  " SS5      U S'   [        U SSU R                  4S9n/ SQ/S-  nS /S-  /S-  n[        UR
                  U5        [        XAS   5        [        XQS   5        [         R                  " SSS9n [        U SSU R                  4S9n[        U R
                  UR
                  5        [         R
                  " S/S/S.5      n[         R                  " SUS9n [        U SSU R                  4S9n[        U R
                  UR
                  5        [        S5       Vs/ s H  n[        U5      PM     nn[         R                  " U[        S9n [        U SSU R                  4S9n[        U R
                  UR
                  5        [        U/S-  U5        g s  snf )NrE   rF   rG   rd   rf   rF   r   stridesrE   rG   r   r   )numi4)objOrc   r$   r   r   rd   r   V4 )namesformats)r   rH   r
   r   itemsizer%   emptyr*   r   ranger   )r   a_viewr   dtexpected_numexpected_objirs           r   test_as_stridedr   b  sN   
$A]FxxHvrxx/0
AAJJ/@AFxxAHv(
A!Q^1DEFxx|\BCHv( 
=,/	0B
R AyyAAeH!QZZAF >A%LF1H:a<Lr"|E]3|E]3 	T"A!QZZAF&,,' 
RDdV4	5B
R A!QZZAF&,,' $Ah'h!hA'
(#A!QZZAF&,,'sQw'	 	(s   -K%c                   D    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
rg)TestSlidingWindowViewi  c                     [         R                  " S5      n[        US5      n[         R                  " SS/SS/SS/SS//5      n[	        X#5        g )Nr   rF   r   rE   rG   rd   )r   r*   r   rH   r   )selfrx   arr_viewr   s       r   test_1dTestSlidingWindowView.test_1d  sS    iil&sA.88aVVVV% & 	8.r8   c                     [         R                  S S2S S24   u  pSU-  U-   nSn[        X45      n[         R                  " SS/SS//SS/SS	//SS/S	S
///SS/SS//SS	/SS//S	S
/SS////5      n[	        XV5        g )NrG   rd   r:   )rF   rF   r   rE      rF                     r   ogridr   rH   r   r   r   jrx   r   r   r   s          r   test_2dTestSlidingWindowView.test_2d  s    xxBQBdQh&s2881vBx0 !1vBx0 !1vBx02 !#Bx"b2 "Bx"b2 "Bx"b245 6 	8.r8   c                     [         R                  S S2S S24   u  pSU-  U-   n[        USS5      n[         R                  " / SQ/ SQ/ SQ/ SQ//5      n[	        XE5        g )	NrG   rd   r:   r   )r   r:   r   )rE   r   r   )rF   r   r   )rG   r   r   r   r   r   r   rx   r   r   s         r   test_2d_with_axis'TestSlidingWindowView.test_2d_with_axis  sf    xxBQBdQh&sAq188k)))+ , - 	8.r8   c                     [         R                  S S2S S24   u  pSU-  U-   n[        USS5      n[         R                  " / SQ/ SQ/// SQ/ S	Q/// S
Q/ SQ///5      n[	        XE5        g )NrG   rd   r:   re   r[   ro   rD   r:   r   r   r   r   r   r   r   r   r   r   r   r   r   s         r   test_2d_repeated_axis+TestSlidingWindowView.test_2d_repeated_axis  s    xxBQBdQh&sFF;88y(* +++- .++- .	/ 0 	8.r8   c                     [         R                  S S2S S24   u  pSU-  U-   nSn[        X45      n[         R                  " / SQ/ SQ// SQ/ SQ/// SQ/ SQ// SQ/ S	Q/// SQ/ S
Q// S	Q/ SQ///5      n[	        XV5        g )Nrd   r:   re   ro   r   rD   r   r   r   )      r   )r   r   !   r   r   s          r   test_2d_without_axis*TestSlidingWindowView.test_2d_without_axis  s    xxBQBdQh&s288y,7(,79+\:+\:<+\:+\:<	= > 	8.r8   c                 @   [         R                  S S2S S24   u  pSU-  U-   n[        R                  " [        SS9   [        US5        S S S 5        [        R                  " [        SS9   [        US5        S S S 5        [        R                  " [        SS9   [        US	S
S9  S S S 5        [        R                  " [        SS9   [        US5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N{= f! , (       d  f       N_= f! , (       d  f       g = f)Nrd   r:   zcannot contain negative valuesmatch)r&   rG   z3must provide window_shape for all dimensions of `x`rN   z2Must provide matching length window_shape and axisrh   rP   )axisz.window shape cannot be larger than input array)r   r   )r   r   pytestraisesr!   r   )r   r   r   rx   s       r   test_errors!TestSlidingWindowView.test_errors  s    xxBQBdQh]]:-MNW- O]]KM  T*M ]]JL  YV<L ]]FH  V,H H ONM ML LH Hs/   C+C-C>D
C*-
C;>
D
Dc                    [         R                  " S5      n[        USSS9n[        UR                  R
                  (       + 5        [        R                  " [        SS9   SUS'   S S S 5        [        USS	S9n[        UR                  R
                  5        SUS
'   [        U[         R                  " / SQ5      5        g ! , (       d  f       N`= f)Nr   rF   F	writeablez#assignment destination is read-onlyr   rG   r\   TrP   )r   rG   rF   rG   rd   )r   r*   r   r   flagsr   r   r   r!   r   rH   )r   rx   views      r   test_writeable$TestSlidingWindowView.test_writeable  s    iil"3U;DJJ((()]];= DJ= #3T:

$$%T
3 9:= =s   B??
Cc           
      J    " S S[         R                  5      n[         R                  " S5      R                  U5      n[	        [        [        USSS9U5      (       + 5        [	        [        [        USSS9U5      5        [	        [        [        US5      U5      (       + 5        g )Nc                       \ rS rSrSrg)1TestSlidingWindowView.test_subok.<locals>.MyArrayi  rM   N)__name__
__module____qualname____firstlineno____static_attributes__rM   r8   r   MyArrayr     s    r8   r   r   rF   FsubokT)r   ndarrayr*   r   r   
isinstancer   )r   r   rx   s      r   
test_subok TestSlidingWindowView.test_subok  s    	bjj 	 iil(J239> @&( ( 	) 	
.sATBGLMJ23:GDDEr8   rM   N)r   r   r   r   r   r   r   r   r   r   r   r   r   rM   r8   r   r   r     s+    ///
//-$;
Fr8   r   c                     [         R                  " S5      n [        U SS9n[        UR                  R
                  (       + 5        [        U SS9n[        UR                  R
                  5        SUS'   [        U [         R                  " U S5      5        SU R                  l        [        U SS9n[        U SS9n[        UR                  R
                  (       + 5        g )Nr:   Fr   TrG   .)r   rr   r
   r   r   r   r   	full_like)rx   r   s     r   as_strided_writeabler     s    
''"+CcU+D

$$$% cT*DDJJ  !DIsBLLa01  CIIcU+DcT*D

$$$%r8   c                       \ rS rSrS rSrg)VerySimpleSubClassi  c                 P    [         R                  " USS0UD6R                  U 5      $ )Nr   T)r   rH   r   )clsargskwargss      r   __new__VerySimpleSubClass.__new__	  s&    xx4T4V499#>>r8   rM   N)r   r   r   r   r   r   rM   r8   r   r   r     s    ?r8   r   c                        \ rS rSrS rS rSrg)SimpleSubClassi  c                 b    [         R                  " USS0UD6R                  U 5      nSUl        U$ )Nr   Tsimple)r   rH   r   info)r   r   r   r   s       r   r   SimpleSubClass.__new__  s1    xx4T4V499#>	r8   c                 .    [        USS5      S-   U l        g )Nr   r   z
 finalized)getattrr   )r   r   s     r   __array_finalize__!SimpleSubClass.__array_finalize__  s    C,|;	r8   )r   N)r   r   r   r   r   r  r   rM   r8   r   r   r     s    
<r8   r   c                  t   [        / SQ5      n [        [        U 5      [         L 5        [        U SSU R                  -  4S9n[        [        U5      [
        R                  L 5        [        U SSU R                  -  4SS9n[        [        U5      [         L 5        [        / SQ5      n [        U SSU R                  -  4SS9n[        [        U5      [        L 5        [        UR                  S:H  5        [
        R                  " [        U 5      5      R                  SS	5      n[        X5      u  p[        [        U5      [
        R                  L 5        [        [        U5      [
        R                  L 5        [        UR                  UR                  :H  5        [        XSS
9u  p[        [        U5      [        L 5        [        UR                  S:H  5        [        [        U5      [
        R                  L 5        [        UR                  UR                  :H  5        Sn[        X5      n[        [        U5      [
        R                  L 5        [        UR                  U:H  5        [        XSS
9n[        [        U5      [        L 5        [        UR                  S:H  5        [        UR                  U:H  5        g )Nr   rf   rF   r   T)r   r   r   zsimple finalizedr&   rE   r   )rF   rd   )r   r   typer
   r   r   r   r   r   r*   r   r+   r   r   r   )r   r   bb_viewr   s        r   test_subclassesr	    s   <(ADG))*AJJ/@AFDLBJJ&'AJJ/@MFDL../|$AAJJ/@MFDLN*+FKK--. 			#a&!!"a(A%a+NFDLBJJ&'DLBJJ&'FLLFLL()%a$7NFDLN*+FKK--.DLBJJ&'FLLFLL() E!#FDLBJJ&'FLLE!"!$/FDLN*+FKK--.FLLE!"r8   c                     [         R                  " / SQ5      n [        U S5      n[        UR                  R
                  S5        [        [        UR                  [        S 5      S5        S[        U 5      4S[        SU 5      4/nU H  u  p4[        X45       H  u  pQU(       aw  [        [        5         [        UR                  R
                  S5        S S S 5        [        [        5         SUS S & S S S 5        [        UR                  R
                  S5        M  [        UR                  R
                  S5        M     M     [        U 5      [        SU 5      4 HB  nU H9  nSUR                  l        [        UR                  R
                  S5        SUS S & M;     MD     SU R                  l        [        SU 5      u  pa[        UR                  R
                  S5        SnS/n[        [         R                  " S5      Xx5      n	[         R                   " S	5      n
[        X5      u  p[#        UR$                  UR$                  :H  5        g ! , (       d  f       GN}= f! , (       d  f       GNr= f)
NrD   re   Fr   FTFTrf   rN   )r   rH   r   r   r   r   r   r!   __setitem__slicer   zipr	   FutureWarningDeprecationWarningr
   r   r   r   )originalresult
test_casesis_broadcastresultsarray_is_broadcast_r   r   tricky_arrayotherfirstseconds                r   r   r   <  s   xx	"H(F+F''/*f00%+qA -h89 "21h"?@BJ!+*-l*D&!!-0 !7!7> 1!"45 !F1I 6 V\\33T: V\\33T: +E ", %X.$Q13F%)FLL"//6F1I 3  %HNN H-IA''/ EcGbhhqk5:LHHTNE$\9MEEKK6<<'(= 1055s   2!I	*I	
I
I*c                  *   [         R                  " / SQ5      n S[        U 5      4S[        SU 5      4/nU HZ  u  p#[        X#5       HF  u  pEU(       a  [	        U5      R
                  (       d   eM*  [	        U5      R
                  (       d  MF   e   M\     g )NrD   r  r  r   )r   rH   r   r  
memoryviewreadonly)r  r  r  r  r  r  s         r   test_writeable_memoryviewr   l  s    
 xx	"H.x9: "21h"?@BJ!+*-l*D&! "&)2222%f-66666 +E ",r8   c                      [         R                  " S[        S9n [         R                  " S/S-  [        S9n[        U S5      n[	        X5        [        U [         R                  " S5      5      u  p#[	        X5        g )Nr   r$   rG   rO   )r   rH   objectr   r   r   rr   )rs   r   rt   r  s       r   test_reference_typesr#    sZ    ((3f-Kxx	0H+t,Fx( bggaj9IFx(r8   )FF)-numpyr   numpy._core._rational_testsr   numpy.testingr   r   r   r   r   r	   numpy.lib._stride_tricks_implr
   r   r   r   r   r   r   r   r"   r7   r>   rB   rK   rY   r^   ra   rj   rm   ru   r}   r   r   r   r   r   r   r   r   r   r	  r   r   r#  rM   r8   r   <module>r(     s     0   &;,0 46B2B@=1Oh-4K&C"&9RC"+(\cF cFL&$? ?
<' <"#J-)`7()r8   