1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
U
P±dÆ[ã@sBddlZddlmZddlmZmZmZmZm    Z    m
Z
ddl m Z m Z mZmZmZmZddlZdd„Zdd„Zd8d
d „Zd d „Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zd d!„Z d"d#„Z!d$d%„Z"d&d'„Z#Gd(d)„d)ƒZ$d*d+„Z%Gd,d-„d-ej&ƒZ'Gd.d/„d/e'ƒZ(d0d1„Z)d2d3„Z*d4d5„Z+d6d7„Z,dS)9é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_viewcCs@dd„|Dƒ}t|Ž}dd„|Dƒ}|gt|ƒ}t||ƒdS)NcSsg|]}t |¡‘qS©©ÚnpÚzeros©Ú.0ÚsrrúYd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\numpy/lib/tests/test_stride_tricks.pyÚ
<listcomp>sz)assert_shapes_correct.<locals>.<listcomp>cSsg|]
}|j‘qSr)Úshape)rÚarrrrs)r Úlenr)Ú input_shapesÚexpected_shapeÚinarraysZ    outarraysZ    outshapesÚexpectedrrrÚassert_shapes_corrects
r cCs"dd„|Dƒ}tttf|žŽdS)NcSsg|]}t |¡‘qSrrrrrrrsz4assert_incompatible_shapes_raise.<locals>.<listcomp>)rÚ
ValueErrorr )rrrrrÚ assert_incompatible_shapes_raisesr"Fc
Cs‚tj|td}ttj |¡ƒ}t |¡ |¡}|r>|j}|j}|r^|ddd…}|ddd…}||}t||ƒ\}}    t    ||    ƒdS)N©Údtypeéÿÿÿÿ)
rrÚintÚmultiplyÚreduceÚarangeÚreshapeÚTr r)
Zshape0Zshape1Z
transposedZflippedZx0ÚnÚx1ÚyZb0Zb1rrrÚassert_same_as_ufunc!sr/cCs:t d¡}t d¡}t||ƒ\}}t||ƒt||ƒdS)Né
)rr)r r)Úxr.ÚbxÚbyrrrÚ    test_same7s
 
 
 
r4c    Cs<t d¡}t d¡}ttdƒt||ddW5QRXdS)Nr0zgot an unexpected keywordÚfloat64r#)rr)rÚ    TypeErrorr )r1r.rrrÚtest_broadcast_kwargs>s
 
 r7cCsvt dddgg¡}t dgdgdgg¡}t||ƒ\}}t dddgdddgdddgg¡}|j}t||ƒt||ƒdS)Nééé)rÚarrayr r+r)r1r.r2r3Zbx0Zby0rrrÚ test_one_offIs"
r<c
Cs\ddddddddd    d
g
}|D]:}|g}t||ƒ||g}t||ƒ|||g}t||ƒqdS) Nr©r8©r:©rr8)rr:©r8r)r:r©r8r:©r:r8©r:r:©r )ÚdatarrZ input_shapes2Z input_shapes3rrrÚtest_same_input_shapesSs$ö 
 
 
rFcCs¶ddgdgddgdgddgdgddgdgddgdgddgdgddgdgddgdgd    dgdgdd    gdgddgdgddgdgdd    gd    gg }|D]&\}}t||ƒt|ddd
…|ƒqŠdS) Nr=r>rArCrB©r8r8r@©rrr?r%rD©rErrrrrÚ(test_two_compatible_by_ones_input_shapesns"
 
 
 
 
 
 
 
 
 
 
 
 
ó 
rJcCsüddgdgddgdgddgdgddgdgddgdgddgdgddgdgddgdgddgdgddgdgddgdgdd    gd    gdd
gd    gdd    gd    gdd    gd    gddgd gdd
gd
gdd gd gdd gd gdd
gd
gg}|D]&\}}t||ƒt|ddd …|ƒqÐdS) Nrr>rCrBr=rGrA©rrHr?r@r%rDrIrrrÚ3test_two_compatible_by_prepending_ones_input_shapes‡s0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ì 
rLcCsFddgddgdddgddgg}|D]}t|ƒt|ddd…ƒq"dS)Nr>©é©r9r:©r9©r8r:rN©r9r:r:r%)r")rErrrrÚ)test_incompatible_shapes_raise_valueerror§sürSc"Csâddgdgddgdgddgdgddgdgddgdgddgdgddgdgddgdgd    dgdgdd    gdgddgdgddgdgdd    gd    gd
dgdgddgdgddgdgddgdgd
dgdgddgdgddgdgddgdgd
dgdgd
dgdgd
d gd gd dgdgd d    gdgddgdgd
dgdgdd gdgdd    gd    gddgdgd
dgdgd
d    gd    gg!}|D]Š\}}t|d |d d|d |d fƒt|d |d ƒt|d |d dƒd
|krRt|d |d ddƒt|d |d ddƒqRdS)Nr=r>rArCrBrGr@rHr?rrKrr8z Shapes: %s %sTF)r/rIrrrÚtest_same_as_ufunc¶sV
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ß# ÿ
rTcCsrt d¡dt d¡gt d¡dt d¡gt d¡dt d¡gt d¡dt d¡gt d¡dt d¡gt d¡d    t d    ¡gt d¡dt d¡gt d¡d
t d¡ dd ¡gt d¡d t dddgdddgg¡gt d¡dt d¡gt d¡dt d¡gt d¡dt d¡gt d¡dt d¡gt d ¡dt d¡gt d¡dt d¡gg}|D] \}}}t||ƒ}t||ƒqLdS)NrrKr=r8r>r:rPr9)r8r9r:rAr%rO©r8r9)rr9©r9r8)r9r)rr;rÚonesr)r*r r)rEÚ input_arrayrrÚactualrrrÚtest_broadcast_to_succeedsês&$î
rZc svddgddgddgddgddgddgddgd    dgdd
gdd gdd gg }|D]&\}‰t |¡‰tt‡‡fd d„ƒqJdS)NrKrr=r>rPrMrUrVrGr%)r%)r%r9cs
tˆˆƒS©N)r r©ÚarrÚ target_shaperrÚ<lambda>óz*test_broadcast_to_raises.<locals>.<lambda>)rrrr!)rEZ
orig_shaperr\rÚtest_broadcast_to_raisessõ 
racsØttƒdƒttddgƒdƒttt d¡ƒdƒttt d¡t d¡ƒdƒttt d¡gdŽdƒttt d¡gd    Ždƒttt d¡gddgŽdƒt d¡gdt d
¡gd‰tt‡fd d „ƒdS) Nrr8r9rPrG©r:rNrUé édr:cstˆŽSr[)r r©Úbad_argsrrr_%r`z&test_broadcast_shape.<locals>.<lambda>)rr rrWrr!rrrerÚtest_broadcast_shapes   rgcCshgdgdgdgdgdgddgdgdgdgddgdgdddd    gd
gdgdgd d gd gddgdgddgdgddgdgddgdgddgdgddgdgddgdgddgdgddgdgddgdgddgdgddgdgddgdgddgdgddgdgddgdgddgdgddgdgg}|D]\}}tt|Ž|ƒqttdgdŽdƒttdgdŽdƒttdgdŽdƒdS)Nr)érUrPrGrb)érh)érir8)rjr8rh)rjrirhrArBrCr@rHr?rKr=r>r9©r:r9rcrd)rr)rErr^rrrÚtest_broadcast_shapes_succeeds(sB
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
å rlcstddgddgdddgddgddd    d
gd dgg}|D]‰tt‡fd d „ƒq2dgddgd‰tt‡fdd „ƒdS)Nr>rMrOrPrQrRrUrBrk)r0rjr9cstˆŽSr[©rr)rrrr_\r`z.test_broadcast_shapes_raises.<locals>.<lambda>rccstˆŽSr[rmrrerrr__r`)rr!)rEr)rfrrÚtest_broadcast_shapes_raisesQs
úrncCs"t dg¡}t|ƒ}t dg¡}t|t dg¡ƒt ddddg¡}t|dd|jfd}t ddg¡}t||ƒt ddddg¡}t|ddd|jfd}t ddddgddddgddddgg¡}t||ƒt d    d
g¡}tjd |d }t dd ¡|d<t|dd|jfd}ddddggd}dgdgd}t|j|ƒt||dƒt||dƒtjd dd }t|dd|jfd}t|j|jƒt dgdgdœ¡}tjd |d }t|dd|jfd}t|j|jƒdd„t    dƒDƒ}tj|t
d }t|dd|jfd}t|j|jƒt|gd|ƒdS)Nr8r9r:rNrP©rÚstridesrbr)ÚnumÚi4)ÚobjÚOrMr#rjrqrsZV4Ú)ÚnamesÚformatscSsg|] }t|ƒ‘qSrr)rÚirrrr‰sz#test_as_strided.<locals>.<listcomp>) rr;r
rÚitemsizer$Úemptyr)rÚranger)rÚa_viewrÚdtZ expected_numZ expected_objÚrrrrÚtest_as_stridedbsB  
(
 rc@sLeZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Zd d„Z    dd„Z
dS)ÚTestSlidingWindowViewcCsDt d¡}t|dƒ}t ddgddgddgddgg¡}t||ƒdS)Nrjr9rr8r:rN)rr)rr;r)Úselfr]Úarr_viewrrrrÚtest_1d‘s
 
 
ýzTestSlidingWindowView.test_1dcCs¤tjdd…dd…f\}}d||}d}t||ƒ}t ddgddggddgdd    ggddgd    d
gggddgd d ggdd    gd d ggd    d
gd dgggg¡}t||ƒdS)Nr:rNr0)r9r9rr8é r9é é éééé©rÚogridrr;r©rrxÚjr]rr‚rrrrÚtest_2dšs 
þþýzTestSlidingWindowView.test_2dcCsltjdd…dd…f\}}d||}t|ddƒ}t dddgdddgd    d
d gdd d ggg¡}t||ƒdS)Nr:rNr0rr‡r8r„rˆr9r…r‰r†rŠr‹©rrxrŽr]r‚rrrrÚtest_2d_with_axis§s   ýz'TestSlidingWindowView.test_2d_with_axiscCs†tjdd…dd…f\}}d||}t|ddƒ}t dddgdddgggdd    d
gd    d
d gggd d dgd ddgggg¡}t||ƒdS)Nr:rNr0rOrGrr8r9r„r…r†r‡rˆr‰rŠr‹rrrrÚtest_2d_repeated_axis±s   ÿÿÿüz+TestSlidingWindowView.test_2d_repeated_axisc    Cs¾tjdd…dd…f\}}d||}d}t||ƒ}t dddgdddggddd    gddd
gggdddgd d d ggddd
gd d dgggd d d gdddggd d dgdddgggg¡}t||ƒdS)NrNr0rOrr8r9r„r…r:r†r‡rˆr‰rŠéércé!r‹rrrrÚtest_2d_without_axis½s 
ÿÿÿüz*TestSlidingWindowView.test_2d_without_axisc    Cs¾tjdd…dd…f\}}d||}tjtddt|dƒW5QRXtjtddt|dƒW5QRXtjtddt|d    d
d W5QRXtjtd dt|d ƒW5QRXdS)NrNr0zcannot contain negative values©Úmatch)r%r:z3must provide window_shape for all dimensions of `x`r=z2Must provide matching length window_shape and axisrQr?)Zaxisz.window shape cannot be larger than input array)rjrj)rrŒÚpytestÚraisesr!r)rrxrŽr]rrrÚ test_errorsÊs& þþþz!TestSlidingWindowView.test_errorsc    Csˆt d¡}t|ddd}t|jj ƒtjtddd|d<W5QRXt|dd    d}t|jjƒd|d
<t    |t 
d dddd g¡ƒdS) Nrjr9F©Ú    writeablez#assignment destination is read-onlyr—r:rHTr?rrN) rr)rrÚflagsrr™ršr!rr;)rr]ÚviewrrrÚtest_writeableÜs
þ z$TestSlidingWindowView.test_writeablecCsnGdd„dtjƒ}t d¡ |¡}ttt|ddd|ƒ ƒttt|ddd|ƒƒttt|dƒ|ƒ ƒdS)Nc@s eZdZdS)z1TestSlidingWindowView.test_subok.<locals>.MyArrayN)Ú__name__Ú
__module__Ú __qualname__rrrrÚMyArrayêsr¤rjr9F©ÚsubokT)rÚndarrayr)rŸrÚ
isinstancer)rr¤r]rrrÚ
test_subokés
ÿþz TestSlidingWindowView.test_subokN) r¡r¢r£rƒrr‘r’r–r›r r©rrrrr€s     
   r€cCsˆt d¡}t|dd}t|jj ƒt|dd}t|jjƒd|d<t|t |d¡ƒd|j_t|dd}t|dd}t|jj ƒdS)Nr0FrœTr:.)rrWr
rržrrZ    full_like)r]rŸrrrÚas_strided_writeableös
     rªc@seZdZdd„ZdS)ÚVerySimpleSubClasscOstj|ddi|—Ž |¡S)Nr¦T)rr;rŸ)ÚclsÚargsÚkwargsrrrÚ__new__    szVerySimpleSubClass.__new__N)r¡r¢r£r¯rrrrr«sr«c@seZdZdd„Zdd„ZdS)ÚSimpleSubClasscOs$tj|ddi|—Ž |¡}d|_|S)Nr¦TÚsimple)rr;rŸÚinfo)r¬r­r®rrrrr¯szSimpleSubClass.__new__cCst|ddƒd|_dS)Nr²ruz
 finalized)Úgetattrr²)rrsrrrÚ__array_finalize__sz!SimpleSubClass.__array_finalize__N)r¡r¢r£r¯r´rrrrr° sr°cCsÌtddddgƒ}tt|ƒtkƒt|dd|jfd}tt|ƒtjkƒt|dd|jfdd}tt|ƒtkƒtddddgƒ}t|dd|jfdd}tt|ƒtkƒt|jd    kƒt     t
|ƒ¡  d
d¡}t ||ƒ\}}tt|ƒtjkƒtt|ƒtjkƒt|j |j kƒt ||dd \}}tt|ƒtkƒt|jd    kƒtt|ƒtjkƒt|j |j kƒd }t||ƒ}tt|ƒtjkƒt|j |kƒt||dd }tt|ƒtkƒt|jd    kƒt|j |kƒdS) Nr8r9r:rNrProT)rrpr¦zsimple finalizedr%r¥)r9rN)r«rÚtyper
ryrr§r°r²r)rr*r rr )rr|ÚbZb_viewrrrrÚtest_subclassess8
r·c Cs~t dddg¡}t|dƒ}t|jjdƒtt|jt    dƒdƒdt
|ƒfdt
d|ƒffD]v\}}|D]h}|r¼t t ƒt|jjdƒW5QRXt t ƒd|dd…<W5QRXt|jjdƒqbt|jjdƒqbqVt
|ƒt
d|ƒfD]0}|D]&}d|j_t|jjdƒd|dd…<qèqàd|j_t
d|ƒ\}}t|jjdƒd}dg}tt d¡||ƒ}t d    ¡}t
||ƒ\}    }
t|    j|
jkƒdS)
Nr8r9r:rOFrTrPr=)rr;r rržrrr!Ú __setitem__Úslicer r    Ú FutureWarningÚDeprecationWarningr
rrr) ÚoriginalÚresultÚ is_broadcastÚresultsÚ_rrpZ tricky_arrayÚotherÚfirstÚsecondrrrr <s>
 
 ÿ 
 
ÿ
r cCsdt dddg¡}dt|ƒfdtd|ƒffD]4\}}|D]&}|rNt|ƒjs\t‚q6t|ƒjr6t‚q6q*dS)Nr8r9r:FTr)rr;r Ú
memoryviewÚreadonlyÚAssertionError)r¼r¾r¿r½rrrÚtest_writeable_memoryviewks
 ÿ rÇcCsXtjdtd}tjdgdtd}t|dƒ}t||ƒt|t d¡ƒ\}}t||ƒdS)Nrr#r:r>)rr;Úobjectr rr rW)rXrrYrÀrrrÚtest_reference_types~s 
 
rÉ)FF)-ÚnumpyrZnumpy.core._rational_testsrZ numpy.testingrrrrrr    Znumpy.lib.stride_tricksr
r r r rrr™r r"r/r4r7r<rFrJrLrSrTrZrargrlrnrr€rªr§r«r°r·r rÇrÉrrrrÚ<module>s:    
 
 4).f
%/