zmc
2023-12-22 9fdbf60165db0400c2e8e6be2dc6e88138ac719a
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
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
U
P±d$ã@sòdZddlZddlZddlZddlZddlmZddlm    Z    m
Z
ddl m Z m Z mZmZddlmZmZmZmZmZmZmZmZmZmZmZddlmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>Gdd    „d    ƒZ?Gd
d „d ƒZ@Gd d „d ƒZAGdd„dƒZBGdd„dƒZCGdd„dƒZDGdd„dƒZEGdd„dƒZFGdd„dƒZGGdd„dƒZHGdd„dƒZIGdd„dƒZJGd d!„d!ƒZKGd"d#„d#ƒZLGd$d%„d%ƒZMdS)&zæTests suite for MaskedArray.
Adapted from the original test_ma by Pierre Gerard-Marchant
 
:author: Pierre Gerard-Marchant
:contact: pierregm_at_uga_dot_edu
:version: $Id: test_extras.py 3473 2007-10-29 15:18:13Z jarrod.millman $
 
éN)Únormalize_axis_tuple)Ú assert_warnsÚsuppress_warnings)Úassert_Úassert_array_equalÚ assert_equalÚassert_almost_equal) ÚarrayÚarangeÚmaskedÚ MaskedArrayÚ masked_arrayÚ getmaskarrayÚshapeÚnomaskÚonesÚzerosÚcount)"Ú
atleast_1dÚ
atleast_2dÚ
atleast_3dÚmr_ÚdotÚpolyfitÚcovÚcorrcoefÚmedianÚaverageÚuniqueÚsetxor1dÚ    setdiff1dÚunion1dÚ intersect1dÚin1dÚediff1dÚapply_over_axesÚapply_along_axisÚ compress_ndÚcompress_rowcolsÚ mask_rowcolsÚ clump_maskedÚclump_unmaskedÚflatnotmasked_contiguousÚnotmasked_contiguousÚnotmasked_edgesÚ
masked_allÚmasked_all_likeÚisinÚdiagflatÚ ndenumerateÚstackÚvstackc@sLeZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Zd d„Z    dd„Z
dS)Ú TestGenericcCsJtdtd}tddgddgtd}t||ƒt ddgddgdœ¡}td|d}td    d    gd
d
g|d}t||ƒtd |d}td    d    gd    d    ggd
d
gd
d
gg|d}t||ƒt d dd dgfg¡}td|d}tddgddg|d}t||ƒtd|d}tddgddg|d}t||ƒtd
|d}tdggdgg|d}t||ƒdS)N©é©Údtypeé©Úmaskr:ÚaÚbÚf©ÚnamesÚformats©rr©r;r;©r8r8©r>r@©Úbar@©Zbbr@©r;rE)r/Úfloatr    rÚnpr:)ÚselfÚtestÚcontrolÚdt©rRúQd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\numpy/ma/tests/test_extras.pyÚtest_masked_all&s: 
 
 þ
 ÿ
 ÿ
 zTestGeneric.test_masked_allcCs t ddtfgdffg¡}tj d|¡}tt|dƒtjjjƒtt|ddƒtjjjƒtt    |ddƒdƒt|ddj
dƒt|ddj j
dƒdS)Nr?Úc©r;r;rErR© rMr:ÚobjectÚmar/rÚtypeÚcorer ÚlenrZ _fill_value©rNZmy_dtypeÚ
masked_arrrRrRrSÚ"test_masked_all_with_object_nestedDsz.TestGeneric.test_masked_all_with_object_nestedcCsrt dtdffg¡}tj d|¡}tt|dƒtjjjƒtt    |dƒdƒt|dj
dƒt|dj j
dƒdS)Nr?rVr;rErRrWr]rRrRrSÚtest_masked_all_with_objectPs z'TestGeneric.test_masked_all_with_objectcCsÐtddgtd}t|ƒ}tddgddgtd}t||ƒt ddgddgdœ¡}td    d    gd
d
g|d}t|ƒ}td d gd
d
g|d}t||ƒt d dd dgfg¡}tddgddg|d}t|ƒ}t||ƒdS)Nr;r8r9r<r>r?r@rArDrE)é
rarGrHrJrK)r    rLr0rrMr:)rNÚbaserOrPrQrRrRrSÚtest_masked_all_likeZs 
 
ÿz TestGeneric.test_masked_all_likec    Cs¾tddƒD]®}td|ƒD]œ}tj|td}tj||td}td|ƒ}|d|@dk|_d}||ƒD]}||j| ¡7}qf|t    kršt
|  ¡ ¡|ƒq|j|_t
|  ¡ ¡|ƒqq
dS)Nr;ér8r9r) ÚrangerMr
ÚintÚfullr r=ÚdataÚsumr+rÚ
compressed)    rNr@ÚiÚjÚkÚjar>ÚsÚslrRrRrSÚ check_clumpns  
zTestGeneric.check_clumpcCs^tt d¡ƒ}t|ddddddg<t|ƒ}tddƒtdd    ƒtddƒg}t||ƒ| t¡dS©
Nrarr;r8ééé    érd)r rMr
r r*Úslicerrq©rNr>rOrPrRrRrSÚtest_clump_masked~s 
zTestGeneric.test_clump_maskedcCsVtt d¡ƒ}t|ddddddg<t|ƒ}tddƒtd    dƒg}t||ƒ| t¡dSrr)r rMr
r r+rwrrqrxrRrRrSÚtest_clump_unmasked‰s 
zTestGeneric.test_clump_unmaskedcCs¨tdƒ}t|ƒ}t|td|jƒgƒtjdtd|_t|td|jƒgƒt    ||dk|dkB|dkB<t|ƒ}t|tddƒtddƒgƒt    |dd…<t|ƒ}t|gƒdS)    Nrarr9rvrtérsru)
r
r,rrwÚsizerMrÚboolr=r )rNr>rOrRrRrSÚtest_flatnotmasked_contiguous“s z)TestGeneric.test_flatnotmasked_contiguousN) Ú__name__Ú
__module__Ú __qualname__rTr_r`rcrqryrzr~rRrRrRrSr6$s 
 
r6c @s´eZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Ze    j
  d dddgddgdddgdgdgfdddgdddggddddggddgdddggdddggfg¡dd„ƒZ d d!„Z dS)"Ú TestAveragecCs<tddddgddddgd}tdt|dd    ƒtdt|ddddgd
ƒt|ddddgdd \}}td|ƒt|d kƒt|dd…<tt|dd    jdgƒtddddgddddgd}| d d ¡}t|dd…df<tt|dd    ddgƒtt|dd    jddgƒtddgt|dd    ƒt|ddd\}}t|ddgƒdS)Nççð?ç@ç@TF©r=r©Úaxis©Úweights©r‹Úreturnedç@r8r;©r‰r)r    rrrr r=Úreshape)rNZottÚresultÚwtsrRrRrSÚtest_testAverage1¨s 
   zTestAverage.test_testAverage1c Cs’ddddddg}ddddddgddddddgg}tdtjd}tt|dddƒtt|d|ddƒttdtjddtdƒgƒ}tt|dƒtj t d¡¡d    d
ƒtt|ddt d¡d    dƒtt|ddt|ddt|dddgƒtt|d|d d ƒtt|d|dd ddd    ddgƒtt|ddt|ddt|dddgƒtdƒ}ddddddg}ddddddgddddddgg}t    dƒ}ddddddg}    ttt
||ƒdddƒttt
||ƒdddƒttt
||ƒddj dgƒttt
||    ƒddd ƒtt tt
||ƒddƒdƒt
||ƒ}
tt|
dƒd ƒtt|
ddd dddddgƒtt|
ddddgƒtt|
d|dd dddddgƒdS)Nrr;rsr9rˆç@)r‰r‹r…r†ç(@rŠg«ªªªªª
@rƒr„rŽg$@TgÀX@g@ç@) r
rMZfloat_rrr    ÚaddÚreducerrr r=r) rNÚw1Úw2ÚxÚyÚm1Úm2Zm3Zm4Zm5ÚzrRrRrSÚtest_testAverage2»sF &  ÿÿ ÿ 
ÿzTestAverage.test_testAverage2c Csftdƒ}tdƒd}t||g||ggddd\}}tt|ƒt|ƒƒt|j|jƒttdƒdddgdd\}}tt|ƒt|ƒƒttdƒdd    \}}tt|ƒt|ƒƒttdƒtdƒdd
\}}tt|ƒt|ƒƒtdd gdd ggtƒ}t|d d gdd ggƒ}t|dd}    t|    ddgƒt|dd}
t|
ddgƒt|dd}
t|
dƒt|dd}
t|
ddgƒdS)Nrsrvr;Tr)r8r8rvr©r‰r‹r)rrŒr8éFrˆçà?r†r„g«ªªªªª@çø?rŽ)r
rrrrr    rLr ) rNr>r?Zr1r™Zr2ršZa2dZa2dmZa2daZa2dmarRrRrSÚtest_testAverage3Ýs*    
 zTestAverage.test_testAverage3cCsŒt dddg¡ dd¡}tjj|dgdgdggd}t ddd    g¡ dd¡}t||ddd
}td gd gd ggdgdgdggƒ}t||ƒdS)Nr8rvr¢r;FTr‡r{rs)r‹r‰Úkeepdimsr…r†rŽ)rMr    rrYrr r)rNr›r?ÚwÚactualZdesiredrRrRrSÚtest_testAverage4õs "zTestAverage.test_testAverage4cCsHttddgƒƒ}t|dƒttddddgddddgdƒ}t|dƒdS)    Nr;r8r¤rvr¢FTr‡)rr    r©rNr>rRrRrSÚtest_onintegers_with_maskþs
 z%TestAverage.test_onintegers_with_maskc Cstjdddddgdddddggtd}tdddddgdd    d
d d gg|d }t|ƒ}t | ¡¡}t|j|jƒt|j|jƒt|dd}t|jddt|jddd    }t|j|jƒt|j|jƒt|dd}t|jddt|jddd    }t|j|jƒt|j|jƒt dddddgdddddgg¡}    t||    d}
tj| ¡|    |d}t|
j|jƒt|
j|jƒt||    dd} t|j|    ddt|j|    ddd    }t| j|jƒt| j|jƒt||    dd} t|j|    ddt|j|    ddd    }t| j|jƒt| j|jƒdS)Nrr;r9yð?@y@@y@@y@ @y"@yð?y@@y@@y@@r‡rˆr£r„r…rŠ©r‹r‰)    rMr    r}r rrjrÚrealÚimag) rNr=r>ÚavÚexpectedZav0Z    expected0Zav1Z    expected1r’ZwavZwav0Zwav1rRrRrSÚ test_complexsR ÿÿ ÿþ     ÿ ÿÿzTestAverage.test_complexz<x, axis, expected_avg, weights, expected_wavg, expected_wsumr;r8rvNr…r¢gü?ç @r{rsé rr„rŽr–g#@c
Cs¼tjj||dd}|jt |¡ks&t‚t||ƒtjj|||dd}|jt |¡ksXt‚t||ƒtjj|||ddd\}}    |jt |¡kst‚t||ƒ|    jt |¡ks®t‚t|    |ƒdS)NT)r‰r¦)r‰r‹r¦)r‰r‹rr¦)rMrYrrÚAssertionErrorr)
rNr›r‰Z expected_avgr‹Z expected_wavgZ expected_wsumÚavgZwavgZwsumrRrRrSÚtest_basic_keepdims1s
 
 ÿ
 
zTestAverage.test_basic_keepdimsc    Csštjjt d¡ dd¡dddgdddgdddggd}tdddgd    d}tdddgdddgd}t|d|d    d
}t d d d g¡}t||ƒt|d|d    d
}t d ddg¡}t||ƒtjjddddgd    d    ddgd}t|dddtjgd}t|dƒtjjddddgdd ddgddddggd    ddd    gdd    ddgdd    dd    ggd}tjj|dtjdgdd}tjjdtjtjdgd    ddd    gd}t||ƒt    |j
|j
ƒdS)Nrurvr;rr‡r{ééFr¡ç@gà@gà@g0­N@g0­N@r„r…r†rŽTrŠr¤r–ç@r²g"@r¬ç @) rMrYr    r
rr rrÚnanrr=)    rNr>Zweights_unmaskedZweights_maskedZ avg_unmaskedZexpected_unmaskedZ
avg_maskedZexpected_maskedZ avg_expectedrRrRrSÚtest_masked_weightsHsFÿÿ
 
 
ÿ
 
 
 
ý
 
 
ýü
 
ÿ
zTestAverage.test_masked_weights)rr€rr“r r¥r©r«r±ÚpytestÚmarkÚ parametrizer¶r½rRrRrRrSr‚¦s$"    , 
 
ÿÿþ
r‚c@s$eZdZdd„Zdd„Zdd„ZdS)ÚTestConcatenatorcCsœttdtddddddgƒƒtdƒ}dddddg}t||d    }t|dd|f}tt|tƒƒt|ddddddddddddg ƒt|jt|dd|fƒdS)
N)r;r8rvr¢r{rsr;r8rvr¢r{rsrr‡)    rrr    rr rÚ
isinstancer r=)rNr?ÚmÚdrUrRrRrSÚtest_1dws "zTestConcatenator.test_1dcCs0tj dd¡}tj dd¡}t tj dd¡d¡}t tj dd¡d¡}t||d}t||d}td||f}t|jdkƒt|dd…dd…f|ƒt|dd…dd…f|ƒt|j    tj
d||fƒt||f}t|jdkƒt|dd…dd…f|ƒt|dd…dd…f|ƒt|j    tj
||fƒdS)Nr{rr‡Ú1)r{ra)rar{) rMÚrandomÚrandZround_r rrrrr=Zr_)rNZa_1Za_2Zm_1Zm_2Zb_1Zb_2rÄrRrRrSÚtest_2d‚s    zTestConcatenator.test_2dcCsrttjjdf}t|jddgƒt|jddƒtddgtjjf}t|jdddgƒt|jdd…ddgƒdS)Nr;TFr8)rrMrYr rr=rh)rNr¨rRrRrSÚtest_masked_constant–s z%TestConcatenator.test_masked_constantN)rr€rrÅrÉrÊrRrRrRrSrÁts rÁc@seZdZdd„Zdd„ZdS)Ú TestNotMaskedc Cs¬tt d¡ dd¡dddddgdddddgdddddgdddddgdddddggd}t|dƒ}t|ddgƒt|dƒ}t|dddgƒt|dd    dgƒt|dƒ}t|ddd
gƒt|ddd gƒt|jdƒ}t|ddgƒt|jdƒ}t|dd dgƒt|dd dgƒt|jdƒ}t|ddd gƒt|ddd gƒt|d<t|dƒ}t|dddgƒt|dddgƒt|dƒ}t|dddgƒt|dddgƒdS)Nér{rr;r‡é)rrr;rr)rr;r8rvr¢)rvrvrvr¢r¢)rrr8rrv)r¢r8r¢r¢r¢)rrrrr)r¢r¢r¢r¢r¢éÿÿÿÿéþÿÿÿ)r;r;r8r¢r¢)rr;r8r¢)rrr8rv)r¢r8r¢r¢)r rMr
rr.rrhr ©rNrhrOrRrRrSÚ
test_edges£s>     üÿ
 
 
 
 
zTestNotMasked.test_edgesc CsPtt d¡ dd¡ddddddddgddddddddgddddddddggd}t|dƒ}t|tdddƒtdd    dƒtd
ddƒgƒt|dƒ}t|tdddƒtd ddƒgtdddƒtd ddƒgtdddƒtd ddƒgtdddƒtd ddƒgtd ddƒgtd ddƒggtd ddƒggƒt|dƒ}t|tdddƒggtdd dƒtd ddƒggƒdS)NrÍrvrtrr;r‡r¢ééér8rsrd)r rMr
rr-rrw)rNr>ÚtmprRrRrSÚtest_contiguousÅs:þÿ
 
 
 
ý
   ø
 ýzTestNotMasked.test_contiguousN)rr€rrÑrÖrRrRrRrSrË s"rËc@s~eZdZdd„Zdd„Zdd„Zej ddd    d
g¡ej d d ge    j
j d    fe    j
j d
fg¡d d„ƒƒZ dd„Zdd„Zdd„ZdS)ÚTestCompressFunctionsc Cs>t ttdƒƒ¡ ddd¡}t d¡ t¡}d|d<t||d}t|ƒ}t    |d    d
ddgd d d dgddddggddddgddddgddddgggƒt|d    ƒ}t    |d    dd
ddgdd d!d"d#gd d$d d dgdd%dddggdd&dddgd'd(d)d*d+gdd,dddgdd-dddgggƒt|dƒ}t    |d    dd
ddgd d$d d dgdd%dddggd.d/d0d1d2gd3d4d5d6d7gd8d9d:d;d<ggdd&dddgdd,dddgdd-dddgggƒt|d=ƒ}t|d>ƒ}t|d?ƒ}t    ||ƒt    ||ƒt    ||ƒt|d
ƒ}t    |d    d
ddgdd!d"d#gd d d dgddddggd.d0d1d2gd@dAdBdCgd3d5d6d7gd8d:d;d<ggddddgd'd)d*d+gddddgddddgggƒt|dDƒ}t|dEƒ}t|dFƒ}t    ||ƒt    ||ƒt    ||ƒt|dGƒ}t    |d    dd
ddgd d$d d dgdd%dddggdd&dddgdd,dddgdd-dddgggƒt|dHƒ}t    ||ƒt|dIƒ}t    |d    d
ddgd d d dgddddggd.d0d1d2gd3d5d6d7gd8d:d;d<ggddddgddddgddddgggƒt|dJƒ}t|dKƒ}t|dLƒ}t    ||ƒt    ||ƒt    ||ƒt|dMƒ}t    |d    d
ddgdd!d"d#gd d d dgddddggddddgd'd)d*d+gddddgddddgggƒt|dNƒ}t    ||ƒdS)ONé<rvr¢r{)rvr¢r{T©r;r;r;r‡rr8raé é éééééé(é*é+é,é2é4é5é6é7é9é:é;r;rsrdrtrur³rÒé)é-é.é/é0é1é3é8éérÓrÔrÍér¸é é!é"é#é$é%é&é'rVrÏ)rÏrÌér·ér7rÎ)rΩrr;)rrÏ©r;r8)rÏr8)r;rÎ)rÏrΩrr8)rrÎ)
rMr    ÚlistrerrÚastyper}r'r)rNr›rÃr>Úa2Úa3Za4rRrRrSÚtest_compress_ndèsæ 
 
þ
 
 
þý
   ý    ýü
 
  þ   þ   þú
 
 
 
 
 
 
 
 
 
 
ý
 
 
 
ý
 
 
 
ýø
 
 
 
 
 
 
  þ   þý
 
 
 
 
þ
 
 
þ
 
 
þú
 
 
 
 
 
 
 
 
 
 
ý
 
 
 
ýü    
z&TestCompressFunctions.test_compress_ndcCsÚtt d¡ dd¡dddgdddgdddggd}tt|ƒddgdd    ggƒtt|dƒdddgd
dd    ggƒtt|dƒdd gddgdd    ggƒt|jdddgdddgdddggd}tt|ƒdd gd
d    ggƒtt|dƒddd gd
dd    ggƒtt|dƒdd gddgd
d    ggƒt|jdddgdddgdddggd}tt|ƒd    ggƒtt|dƒd
dd    ggƒtt|dƒd gdgd    ggƒt|jdddgdddgdddggd}tt|ƒjdƒtt|dƒjdƒtt|dƒjdƒdS) Nrurvr;rr‡r¢r{rdrtrsr8)r    rMr
rrr(Ú_datar|©rNr›rRrRrSÚtest_compress_rowcolsXs$ÿ "& "&&z+TestCompressFunctions.test_compress_rowcolscCs–tt d¡ dd¡dddgdddgdddggd}tt|ƒjdddgdddgdddggƒtt|dƒjdddgdddgdddggƒtt|dƒjdddgdddgdddggƒt|jdddgdddgdddggd}tt|ƒjdddgdddgdddggƒtt|dƒjdddgdddgdddggƒtt|dƒjdddgdddgdddggƒt|jdddgdddgdddggd}tt|ƒjdddgdddgdddggƒtt|dƒjdddgdddgdddggƒtt|dƒjdddgdddgdddggƒt|jdddgdddgdddggd}tt|ƒ     ¡t
kƒtt|dƒ     ¡t
kƒtt|dƒ     ¡t
kƒtt|ƒj     ¡ƒtt|dƒj     ¡ƒtt|dƒj     ¡ƒdS)Nrurvr;rr‡) r    rMr
rrr)r=r
rÚallr r rRrRrSÚtest_mask_rowcolslsNÿ
ÿ ÿ ÿ&
ÿ ÿ ÿ&
ÿ ÿ ÿ&z'TestCompressFunctions.test_mask_rowcolsr‰Nrr;ÚfuncÚ rowcols_axisc    Csftt d¡ dd¡dddgdddgdddggd}ttƒ"|||d}t|t||ƒƒW5QRXdS)Nrurvr;rr‡rˆ)r    rMr
rrÚDeprecationWarningrr))rNr‰rrr›ÚresrRrRrSÚ#test_mask_row_cols_axis_deprecationŒs ÿ
 z9TestCompressFunctions.test_mask_row_cols_axis_deprecationcCs t dd¡}ddddddg}t||d dd¡}t||d dd¡}t||dd}t|jddgddggƒt||dd}t|jdddgdddgdddggƒt||d    d}t|t | d¡| d¡¡ƒt||d    d}t|t | d¡| d¡¡ƒddddddg}t||d dd¡}t||d dd¡}t||dd}t|jddgddggƒt||dd}t|jdddgdddgdddggƒt||d    d}t|t | d¡| d¡¡ƒt|t||ƒƒt||d    d}t|t | d¡| d¡¡ƒddddddg}t||d dd¡}t||d dd¡}t||ƒ}t|jtƒt||ƒ}t|jtƒt|ddddddgd dd¡}t|ddddddgd dd¡}t||dd}t|jddgddggƒt||d    d}t|t | d¡| d¡¡ƒt||dd}t|jdddgdddgdddggƒt||d    d}t|t | d¡| d¡¡ƒt|ddddddgd dd¡}t|ddddddgd dd¡}t||dd}t|jddgddggƒt||ƒ}t|t | d¡| d¡¡ƒt||dd}t|jdddgdddgdddggƒt||d    d}t|t | d¡| d¡¡ƒt|ddddddgd dd¡}t|ddddddgd dd¡}t||dd}t|jddgddggƒt||d    d}t|t | d¡| d¡¡ƒt||dd}t|jdddgdddgdddggƒt||d    d}t|t | d¡| d¡¡ƒdS)
Nr;rdrr‡r8rvT)ÚstrictF)    rMr
r rrrr=Úfilledr)rNÚnrÃr>r?rUrRrRrSÚtest_dot˜sz $$
 
   $  
$  $zTestCompressFunctions.test_dotcCsnt d¡}t|ƒ}ttt||ƒƒtkƒttt||ƒƒtkƒttt||ƒƒtkƒttt||ƒƒtkƒdS)Nrv)rMÚeyer    rrZrr ©rNr>r?rRrRrSÚtest_dot_returns_maskedarrayÞs 
z2TestCompressFunctions.test_dot_returns_maskedarraycCsDtt d¡ƒ}tt d¡ƒ}t|||d}t||kƒt||ƒdS)Nrv)rvrv©Úout)r    rMrrrrr)rNr>rrrRrRrSÚ test_dot_outçs
 z"TestCompressFunctions.test_dot_out)rr€rr    r rr¾r¿rÀrMrYZ    mask_rowsZ    mask_colsrrrrrRrRrRrSr׿sp  ÿ     F    r×c@seZdZdd„Zdd„ZdS)ÚTestApplyAlongAxiscCs@tdƒ ddd¡}dd„}t|d|ƒ}t|ddgdd    ggƒdS)
Nr•r8rvcSs|dS©Nr;rR)r?rRrRrSÚmyfuncôsz*TestApplyAlongAxis.test_3d.<locals>.myfuncr;r¢rdra©r
rr&r©rNr>r ZxarRrRrSÚtest_3dñs zTestApplyAlongAxis.test_3dcCsFtdƒ ddd¡}d dd„}t|d|dd}t|dd    gd
d ggƒdS) NrÚr8rvrcSs |d|SrrR)r?ÚoffsetrRrRrSr þsz1TestApplyAlongAxis.test_3d_kwargs.<locals>.myfuncr;)r$r{rtr³)rr!r"rRrRrSÚtest_3d_kwargsûs
z!TestApplyAlongAxis.test_3d_kwargsN)rr€rr#r%rRrRrRrSrïs
rc@seZdZdd„ZdS)ÚTestApplyOverAxescCstdƒ ddd¡}ttj|ddgƒ}t dgdgdggg¡}t||ƒt||d t    ¡<ttj|ddgƒ}t d    gd
gdggg¡}t||ƒdS) NrÍr8rvr¢rrØé\é|r·rä)
r
rr%rMrir    rr rr})rNr>rOZctrlrRrRrSÚ
test_basics
zTestApplyOverAxes.test_basicN)rr€rr)rRrRrRrSr&sr&c@sÞeZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Zd d„Z    dd„Z
dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zejjdddd d!d"gd#d$d%„ƒZd&d'„Zd(d)„Zd*d+„Zd,d-„Zd.d/„Zd0d1„Zd2d3„Zd4d5„ZdS)6Ú
TestMediancCs4tjjtjtjgtjtjggdd}t|tjƒdS)NrÎrˆ)rMrYrÚinfr©rNÚrrRrRrSÚ test_pytypes$zTestMedian.test_pytypecCsìtjjtj tjtjgtjtjgg¡dd}t|tjƒtjjtj tjtjgtjtjgg¡dd}t|tjƒtjjtjjtjtjgtjtjggdddd}t|jdƒtjjtjjtjtjgtjtjggdddd}t|jdƒdS)NrÎrˆTr‡)rMrYrr r+rr=r,rRrRrSÚtest_infs8
ÿÿ 
ÿÿ 
ÿÿþ 
ÿÿþzTestMedian.test_infcCslt d¡}ttj |¡dƒtttj |¡ƒtk    ƒtdƒ}ttj |¡dƒtttj |¡ƒtk    ƒd}ttj |¡dƒtttj |¡ƒtk    ƒt d¡     dd¡}ttjj|dd    tj|dd    ƒttjj|d
d    tj|d
d    ƒttjj|d
d    tk    ƒt d ¡     dd¡}ttjj|dd    tj|dd    ƒttjj|d
d    tj|d
d    ƒttjj|d
d    tk    ƒdS) NrurŽrtr»r{r–éHrrˆr;gR@)
rMr
rrYrrrZr rerr rRrRrSÚtest_non_masked)s"
    zTestMedian.test_non_maskedcCstt d¡dgddgdd}ttj |¡dƒttj |¡jddƒtttj |¡ƒt    k    ƒtt d    ¡ 
d
d ¡dgd dgdd}ttj |¡d ƒttj |¡jddƒtttj |¡ƒt    k    ƒtjj|ddd}t|ddgƒt|jddƒtt|ƒt    kƒdS)z5test the examples given in the docstring of ma.medianrtrr¢r;r‡r¤rRúshape mismatchrar8r{rsr”rÎT©r‰Zoverwrite_inputr…r–r7N) r    rMr
rrYrrrrZr r)rNr›Zma_xrRrRrSÚtest_docstring_examples>s"*z"TestMedian.test_docstring_examplesc Csþd}tdƒD]ì}dD]â}td||d}t t| |ƒddg¡}|D]H\}}ztjj|||dWqBtk
rˆt|||||fƒ‚YqBXqBt |d |gddg¡}|D]J\}}ztjj|||dWntj    k
rÞYqªXt|||||fƒ‚qªqq dS)    Nz5mask = %s, ndim = %s, axis = %s, overwrite_input = %sr{)FTr;)Úndminr=FTr3)
rer    Ú    itertoolsÚproductrMrYrÚ    Exceptionr´Z    AxisError)rNÚmsgr5r=r›Úargsr‰ZoverrRrRrSÚtest_axis_argument_errorsMs"   z$TestMedian.test_axis_argument_errorscCsDtddd}ttj |¡dƒtddd}ttj |¡tjjƒdS)Nr;Fr‡T)r    rrMrYrr r rRrRrSÚtest_masked_0des  zTestMedian.test_masked_0dcCsÞtt d¡dd}ttj |¡tjjƒttj |¡jddƒtt    tj |¡ƒtjj
j kƒtt d¡dd}ttj |¡dƒttj |¡jddƒtt    tj |¡ƒt k    ƒtt d¡dd    dddgd}ttj |¡d
ƒttj |¡jddƒtt    tj |¡ƒt k    ƒtt d¡dd    d    d    d    gd}ttj |¡d ƒttj |¡jddƒtt    tj |¡ƒt k    ƒtt d¡dd    d    ddgd}ttj |¡d ƒttj |¡jddƒtt    tj |¡ƒt k    ƒtt d ¡dd    d    ddgd}ttj |¡d ƒttj |¡jddƒtt    tj |¡ƒt k    ƒtt d¡dd    d    d    d    dgd}ttj |¡d
ƒttj |¡jddƒtt    tj |¡ƒt k    ƒtt d¡dd    d    d    d    dgd}ttj |¡d
ƒttj |¡jddƒtt    tj |¡ƒt k    ƒdS)Nr{Tr‡rRr2Fr…rr;r”rƒr†r–rsr¹) r    rMr
rrYrr rrrZr[ZMaskedConstantr r rRrRrSÚtest_masked_1dls@zTestMedian.test_masked_1dc    CsJttj tdddgdddgd¡jtj tdddgdddgd¡jƒdS)Nr;r8rvrr‡)rrMrYrr    r©rNrRrRrSÚtest_1d_shape_consistency’s" ÿz$TestMedian.test_1d_shape_consistencycCsüd\}}tt dd|¡ƒ}t|dd…<|dd…<ttj||ftdƒ}|dd…|dd…df<t t|ƒ¡}td|ƒD]$}tj     
|¡|||dd…|f<qxt t |dd…dfƒdƒt t |ƒdƒt t |dd    t  |¡ƒt t |jdd    t  |¡ƒdS)
N)éer÷çð¿r„raéöÿÿÿr9rr;rˆ)r rMZlinspacer ÚemptyrLr
r\rerÇÚshufflerrrÚT)rNrÚpr›rŸÚidxrkrRrRrSrɖs zTestMedian.test_2dc Csött d¡ dd¡ƒ}t|dd…<|dd…<tt|ƒdƒtttj     |¡ƒt
k    ƒtt|ddddd    gƒtttj    j|ddƒt
kƒtt|d
dddddd d d dddg
ƒtttj    j|d
dƒt
kƒtt|d
dj d
d
d
ddddd
d
d
g
ƒdS)Nr÷rarvéýÿÿÿç-@rrˆç+@g/@r;rÛrÒrà) r rMr
rr rrrrZrYr r=r rRrRrSÚ test_2d_waxis¦s&zTestMedian.test_2d_waxiscCsÂtj d¡ ddd¡}t||ddk<tt|dƒddgdd    gddgd
d    ggƒd |_tt|dƒd d gdd gddggƒtj d¡ ddd¡}t||ddk<tt|dƒdd gddgddggƒdS)NrÍrvr¢r8rrÚrursrÝrß)r¢rvr8écrar³rÛrÜr{rtrÒrÞ)rMrYr
rr rrrr rRrRrSr#²s("zTestMedian.test_3dcCsLtt d¡ dd¡ƒ}t|dd…<|dd…<tt|ddt|ddƒdS)Nr÷rarvrHrÎrˆr;)r rMr
rr rrr rRrRrSÚ test_neg_axis½szTestMedian.test_neg_axiscCsˆdD]~}tt |¡ƒ}t|dd…<|dd…<tt d¡ƒ}t||d}|dkr\t|dƒn
t|dƒt||kƒtt|ƒt    kƒqdS)    N)r÷ç>@r¸g?@rvrHrRrr÷rIg.@)
r rMr
r rrrrrZr )rNÚvr›rr-rRrRrSÚ test_out_1dÂs  
 zTestMedian.test_out_1dcCsdD]}tt |¡ dd¡ƒ}t|dd…<|dd…<tt d¡ƒ}t|d|d}|dkr td    gddd
d d gd    gdd gddgdd gdd}nBtd    gdddddgd    gdd gddgdd gdd}t||ƒt||kƒtt    |ƒt
kƒqdS)N)rágD@r÷rNrarÎrvrHr;)r‰rr÷rƒrÛrÒràTFr¢r‡rJg€1@g€5@g€9@) r rMr
rr rrrrrZr )rNrOr›rr-ÚerRrRrSÚtest_outÐs
 ÿ ÿ
 zTestMedian.test_outr‰Nr;rVr)rHrÎ)ÚargnamesZ    argvaluescsØtjdtd}tj d¡t |j¡dd…df}| tj¡}tj|t    |ƒ<t
t  |j¡|d‰|dkrtdˆj }n*t |ˆj ƒ‰t    ‡‡fdd„tˆj ƒDƒƒ}t
t |¡ƒ}tˆ|d|d    }||ksÈt‚t|j|ƒdS)
N)rvr{rdr³r9)r¢éÈr‡rVc3s$|]}|ˆkrdnˆj|VqdS)r;N)r)Ú.0rk©Z    axis_normrÄrRrSÚ    <genexpr>ösz/TestMedian.test_keepdims_out.<locals>.<genexpr>T)r‰r¦r)rMrr}rÇr    rrZintpr¼Útupler rÚndimrrerCrr´r)rNr‰r=r§Z    shape_outrr‘rRrVrSÚtest_keepdims_outás $   ÿ zTestMedian.test_keepdims_outcCsFddgddgddgg}tj |d¡}ddg}ttjj|dd|ƒdS)Nr„rƒr†rrˆ)rMrYZ masked_equalrr)rNrhr^r°rRrRrSÚ$test_single_non_masked_value_on_axisýsþÿz/TestMedian.test_single_non_masked_value_on_axiscCsªdtjdtdfD] }tj dtjdgdddgg¡}||_tjj|dd}tt     |¡ƒt
|tjƒtjj|  ¡dd}tt     |¡ƒt
|tjƒtjj|dd}t t |ƒtƒt
|dtjdgƒtjj|dd}t t |ƒtƒt
|tjdgƒtjj|d    d}t t |ƒtƒt
|tjdgƒqtj dtjdgdddgg¡}tjj|dd…df<t
tjj|ddtjƒt
tjj|dddtjdgƒt
tjj|ddtjd
gƒdS) NFrsr9r;rvr8rˆrrÎr¤)rMrr}rYr    r¼r=rrÚisscalarrZravelrrZr r )rNr=Údmr-rRrRrSÚtest_nans.  zTestMedian.test_nancCs¨tj t d¡¡}tj t d¡¡}tj|d<tjj|d<ttjj|d|d|ƒtj t d¡¡}ttjj|d|d|ƒtj t d    ¡¡}ttjj||d|ƒdS)
N)r¢©rvr¢©r8r;rFrr©rvr;rR)    rMrYr rrr¼r rr)rNÚorÄrRrRrSÚ test_out_nan#s
 zTestMedian.test_out_nancCs†tj tjdtd¡}tjj|ddd…<tj|d<ttj |¡tjƒttjj|ddtjƒtj tjdtd     ddd¡¡}t |j
¡ddk|_ |  ¡}tj|d    <tj|d
<ttj |¡tjƒt t tj |¡¡ƒtjj|dd}tj|d <tj|d <ttj |d¡|ƒtjj|dd}tj|d <tj|d <ttj |d¡|ƒtjj|dd}tj|d<tj|d<ttj |d¡|ƒdS)NrÍr9rvr8rrˆr¢r;)r;r8rv)r;r;r8©r8rvr©r;rvr)rMrYr r
rLr r¼rrrr|r=Úcopyrr\r)rNr>Zaorigr?rRrRrSÚtest_nan_behavior.s0
 
 
 
 
 
 
 
 
zTestMedian.test_nan_behaviorcCs’tjdddgdddggtjd}tjj||dkd}ttjj|dddƒttjj|ddjdƒttjj|dd|dƒttj |¡dƒdS)    Nrvéÿr9r‡r;rˆFr)rMr    Zuint8rYr rrr=rªrRrRrSÚtest_ambigous_fillQs  zTestMedian.test_ambigous_fillcCstjtj fD]ì}t |tjgtjtjgg¡}tjj|t |¡d}ttjj|dd|tjgƒttjj|dd|tjgƒttj |¡|ƒt tjtj|gtjtj|gg¡}tjj|t |¡d}t    tjj|dd|ƒt    tjj|ddj
dƒt    tjj|dd|dƒt    tj |¡|ƒt ||g||gg¡}ttj |¡|ƒttjj|dd|ƒttjj|dd|ƒtj|d| dgdtjtjd    gd
tjtj|ggtj d }tjj|t |¡d}|dkrttjj|ddd d | dgƒttj |¡dƒn2ttjj|dddd | dgƒttj |¡dƒttjj|dddd|gƒt ddƒD] }t ddƒD]Ž}t tjg||g|gd¡}tjj|t |¡d}ttj |¡|ƒttjj|dd|ƒttjj|ddtjg||g|ƒqhqZqdS)Nr‡rrˆr;Frdi÷ÿÿÿrBr{r¢r9rŽrºr–g@g$Àg"ÀgÀrArar8) rMr+r    r¼rYr Úisnanrrrr=Úfloat32re)rNr+r>rkrlrRrRrSÚ test_specialZsL"þý
  "ÿzTestMedian.test_specialc    Csttj tjgtd¡}tƒ8}| t¡ttj     |¡tj
ƒt |j dj tkƒW5QRXtj tjgtdd¡}tƒF}| t¡t ddt¡ttj     |¡tj
ƒt |j dj tkƒW5QRXtj tjgtdd¡}ttjj    |dd|ƒttjj    |d    d|ƒtj tjtj
tdd¡}tjd
d <}t ddt¡ttjj    |dd|ƒt |dj tkƒW5QRXdS) Nr9rrv)r:r5ÚalwaysÚr8rˆr;T)Úrecord)rMrYr r    rLrroÚRuntimeWarningrrr¼rÚlogÚcategoryÚwarningsÚfilterwarningsrÚcatch_warnings)rNr>r§r?rRrRrSÚ
test_empty…s&
 
zTestMedian.test_emptycCsXtj t d¡¡}tttj | t¡¡ƒt    ƒtj
|d<tttj | t¡¡ƒt    ƒdS)Nrºr8) rMrYr r
rrZrrrXrLr¼)rNrbrRrRrSÚ test_object¢s
zTestMedian.test_object)rr€rr.r/r1r4r;r<r=r?rÉrKr#rMrPrRr¾r¿rÀrZr[r^rcrgrirlrvrwrRrRrRrSr*s@&  ûþ
 
     #    +r*c@s4eZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd S) ÚTestCovcCsttj d¡ƒ|_dS©NrÚ)r    rMrÇrÈrhr>rRrRrSÚ setup_method«szTestCov.setup_methodcCsZ|j}tt |¡t|ƒƒttj|ddt|ddƒttj|dddt|dddƒdS)NF©ÚrowvarT©r|Úbias)rhrrMrr rRrRrSÚtest_1d_without_missing®s  ÿzTestCov.test_1d_without_missingcCsb|j dd¡}tt |¡t|ƒƒttj|ddt|ddƒttj|dddt|dddƒdS)Nrvr¢Fr{Tr})rhrrrMrr rRrRrSÚtest_2d_without_missing¶s  ÿzTestCov.test_2d_without_missingcCs@|j}t|d<|| ¡8}| ¡}tt |¡t|ƒƒttj|ddt|ddƒttj|dddt|dddƒzt|ddWntk
r–YnX|dd…}tt ||ddd…¡t||ddd…ƒƒttj||ddd…ddt||ddd…ddƒttj||ddd…dddt||ddd…dddƒdS)NrÎFr{Tr}©Z allow_maskedr;)rhr ÚmeanrjrrMrÚ
ValueError)rNr›ÚnxrRrRrSÚtest_1d_with_missing¾s*  ÿ ,ÿÿzTestCov.test_1d_with_missingcCs6|j}t|d<| dd¡}t t|ƒ¡ t¡}t ||j    ¡}|| 
d¡dd…df  d¡}t t |ƒt  |¡|jdd|dƒt t |ddtj |dd|jd|ƒt |j    |¡}|| 
d¡  d¡}t t |d    d
tj |d    d
|jdd|dƒt t |d    dd tj |d    dd |jd|ƒdS) NrÎrvr¢r;rr„T©r~Fr{r})rhr rrMZ logical_notrrrfrrEr‚rrrr)rNr›ZvalidÚfracZxfrRrRrSÚtest_2d_with_missingÖs8  ÿ ÿ   ÿÿÿÿÿÿzTestCov.test_2d_with_missingN)rr€rrzrr€r…rˆrRrRrRrSrx©s
rxc@sDeZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Zd d„Z    dS)Ú TestCorrcoefcCs(ttj d¡ƒ|_ttj d¡ƒ|_dSry)r    rMrÇrÈrhÚdata2r>rRrRrSrzîszTestCorrcoef.setup_methodc    CsÈ|j|j}}t |¡}t ||¡}tƒ”}t d¡ttt|dd|     td¡t
tj|ddt|ddƒt
t|dd|ƒt
t||dd|ƒt
t|dd|ƒt
t||dd|ƒW5QRXdS)NrmrΩZddofúbias and ddof have no effectrrv© rhrŠrMrrrsÚ simplefilterrrÚfilterr)rNr›rœr°Z    expected2ÚsuprRrRrSÚ    test_ddofòs
 
 zTestCorrcoef.test_ddofc    CsŠ|j|j}}t |¡}tƒb}t d¡ttt||ddƒttt||ddƒttt|dd|     td¡t
t|dd|ƒW5QRXdS)NrmTFr†rŒr;r)rNr›rœr°rrRrRrSÚ    test_biass
 
 zTestCorrcoef.test_biasc    Csx|j}tt |¡t|ƒƒttj|ddt|ddƒtƒ2}| td¡ttj|dddt|dddƒW5QRXdS)NFr{rŒTr})rhrrMrrrr©rNr›rrRrRrSrs
ÿ  ÿz$TestCorrcoef.test_1d_without_missingc    Cs€|j dd¡}tt |¡t|ƒƒttj|ddt|ddƒtƒ2}| td¡ttj|dddt|dddƒW5QRXdS)Nrvr¢Fr{rŒTr})rhrrrMrrrrr“rRrRrSr€s
ÿ  ÿz$TestCorrcoef.test_2d_without_missingc    Cs¤|j}t|d<|| ¡8}| ¡}tt |¡t|ƒƒttj|ddt|ddƒtƒ2}| t    d¡ttj|dddt|dddƒW5QRXzt|ddWnt
k
r´YnX|dd…}tt ||ddd…¡t||ddd…ƒƒttj||ddd…ddt||ddd…ddƒtƒr}| t    d¡tt ||ddd…¡t||ddd…dd    ƒtt ||ddd…¡t||ddd…d
d ƒW5QRXdS) NrÎFr{rŒTr}rr;r†r8r‹) rhr r‚rjrrMrrrrrƒ)rNr›r„rrRrRrSr…%s< 
ÿ  ÿ ,ÿ ÿÿz!TestCorrcoef.test_1d_with_missingc    Cs|j}t|d<| dd¡}t|ƒ}t |¡}t|dd…dd…f|dd…dd…fƒtƒ¨}| td¡tt|dddd…dd…f|dd…dd…fƒtt|dddd…dd…f|dd…dd…fƒtt|dddd…dd…f|dd…dd…fƒW5QRXdS)    NrÎrvr¢rŒrÏr‹r;r†)    rhr rrrMrrrr)rNr›rOrPrrRrRrSrˆCs" 
* ÿÿÿz!TestCorrcoef.test_2d_with_missingN)
rr€rrzr‘r’rr€r…rˆrRrRrRrSr‰ìs   r‰c@seZdZdd„Zdd„ZdS)ÚTestPolynomialcCs¸tj d¡}tj d¡ dd¡}tt||dƒt ||d¡ƒ| t¡}t|d<| t¡}t|d<|d<t||dd…dfdd    d
\}}}}}tj|d d…|d d…df     ¡dd    d
\}}    }
} } t
|||||f||    |
| | fƒD]\} }t| |ƒqàt||dd…dfdd    d
\}}}}}tj|d d…|d d…dfdd    d
\}}    }
} } t
|||||f||    |
| | fƒD]\} }t| |ƒqht||dd    d
\}}}}}tj|d d…|d d…dd…fdd    d
\}}    }
} } t
|||||f||    |
| | fƒD]\} }t| |ƒqêtj d¡d }|  ¡}|d d…}|d d…}|d d…}t||dd    |d \}}}}}tj||dd    |d \}}    }
} } t ||ƒt
|||||f||    |
| | fƒD]\} }t| |ƒqždS) NrarõrÎr8rvrrD©rÎrÎT©rgr;)rgr§) rMrÇrÈrrrÚviewr r rjÚziprfr)rNr›rœÚCÚRÚKÚSÚDrUr-rmrorÄr>Úa_r§ZwoÚxsZysÚwsrRrRrSÚ test_polyfitYs> 
 
&"ÿ& &0&4&   
&zTestPolynomial.test_polyfitcCsÜtj d¡}tj d¡ dd¡}tj|d<tj|d<| t¡}| t¡}t|d<t|d<t||ddd    \}}}}}tj|d
d…|d
d…dd…fddd    \}}    }
} } t    |||||f||    |
| | fƒD]\} }t
| |ƒqÄdS) NrarõrÎr8rr•rvTr–r;) rMrÇrÈrr¼r—r r rr˜r)rNr›rœr™ršr›rœrrUr-rmrorÄr>ržrRrRrSÚtest_polyfit_with_masked_NaNs€s 
 
 
 
4&z,TestPolynomial.test_polyfit_with_masked_NaNsN)rr€rr¡r¢rRrRrRrSr”Ws'r”c@sŒeZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Zd d„Z    dd„Z
dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd„Zdd „Zd!S)"ÚTestArraySetOpscCs„ddddddg}t|ddd}tt|dtƒƒt|dtdddgdddgdƒt|ddddgƒt|dddddddgƒdS)    Nr;r8rvT©Z return_indexZreturn_inverserr‡r{)rrrÂr rr rÐrRrRrSÚtest_unique_onlist“s "z"TestArraySetOps.test_unique_onlistcCstddddddgddddddgd}t|ddd}t|dtddddgddddgdƒt|dddd    dgƒt|dddddddgƒd|_tddddddgddddddgdd
}t|ddd}t|dtddddgddddgdƒt|dddd    dgƒt|dddddddgƒdS) Nr;r8rvrr‡Tr¤rÎr{)rhr=Ú
fill_value)r rrr¦rÐrRrRrSÚtest_unique_onmaskedarrayœs$&ÿ&z)TestArraySetOps.test_unique_onmaskedarraycCs¦tdddgdd}t|ddd}t|dtdgdgdƒt|ddgƒt|ddddgƒt}t|ddd}t|dttƒƒt|ddgƒt|ddgƒdS)Nr;Tr‡r¤rr8)r rrr rÐrRrRrSÚtest_unique_allmasked¬sz%TestArraySetOps.test_unique_allmaskedcCsrtt d¡dddddgd}tddddgddddgd}t|ƒ}t||ƒt| d¡| d¡ƒt|j|jƒdS)Nr{r;rr‡r¢)r rMr
r    r$rrr=)rNr›rPrOrRrRrSÚ test_ediff1d»s 
zTestArraySetOps.test_ediff1dc    Csâtt d¡dddddgd}t|td}tdddddgdddddgd}t||ƒt| d¡| d¡ƒt|j|jƒt|dddgd}tdddddddgdddddddgd}t||ƒt| d¡| d¡ƒt|j|jƒdS)    Nr{r;rr‡)Úto_beginr¢r8rv©    r rMr
r$r r    rrr=©rNr›rOrPrRrRrSÚtest_ediff1d_tobeginÄs  
(
z$TestArraySetOps.test_ediff1d_tobeginc    Csâtt d¡dddddgd}t|td}tdddddgdddddgd}t||ƒt| d¡| d¡ƒt|j|jƒt|dddgd}tdddddddgdddddddgd}t||ƒt| d¡| d¡ƒt|j|jƒdS)    Nr{r;rr‡)Úto_endr¢r8rvr«r¬rRrRrSÚtest_ediff1d_toendÓs  
(
z"TestArraySetOps.test_ediff1d_toendc
Csîtt d¡dddddgd}t|ttd}tddddddgddddddgd}t||ƒt| d¡| d¡ƒt|j|jƒt|dddgtd}tddddddddgddddddddgd}t||ƒt| d¡| d¡ƒt|j|jƒdS)    Nr{r;rr‡©r®rªr¢r8rvr«r¬rRrRrSÚtest_ediff1d_tobegin_toendâs$
ÿ
z*TestArraySetOps.test_ediff1d_tobegin_toendcCsÒt d¡}t|ƒ}tddddgddddgd}t||ƒtt|tƒƒt| d¡| d¡ƒt|j    |j    ƒt|t
t
d}tddddddgddddddgd}tt|tƒƒt| d¡| d¡ƒt|j    |j    ƒdS)Nr{r;rr‡r°) rMr
r$r    rrrÂr rr=r r¬rRrRrSÚtest_ediff1d_ndarrayòs
 
$z$TestArraySetOps.test_ediff1d_ndarraycCshtddddgddddgd}tddddgddddgd}t||ƒ}tdddgdddgd}t||ƒdS)Nr;rvrr‡rÎ)r    r"r)rNr›rœrOrPrRrRrSÚtest_intersect1ds
 
z TestArraySetOps.test_intersect1dcCs€tdddddgdddddgd}tdddd    ddgddddddgd}t||ƒ}t|tdd    dgƒƒtdddddgdddddgd}dddd    dg}t||ƒ}t|tdd    ddgddddgdƒtdddgƒ}td
dd    gƒ}t||ƒ}tt|tƒƒt|dddd    dd
gƒtdd ddgddddgd}td
dd    d gddddgd}t||ƒ}tt|tƒƒt|dddd    dd
gƒtgtggƒƒdS) Nr;r8r{rdrÎrr‡rvr¢rsrt)r    rrrrÂr r©rNr>r?rOrRrRrSÚ test_setxor1d
s& $
 
"
 
zTestArraySetOps.test_setxor1dc CsÚt d¡ dddg¡}t dddg¡}d|d<t||d}tdd    d
d ddd d dg    dddddddddg    d}tdtd}d|d<d|d<d|d<t||ƒ}tt|t    ƒƒt
||ƒt |||j ¡|j @}t
||ƒdS)NrÍr8rvr¢r;)r;r8rr‡rrarõr÷r³rÓrù)rhr=©r8rvr¢r9T)rrr)rrr;)rr8rv) rMr
rrr    r}r1rrÂr rr=)rNr>r=r?ZecrUrÄrRrRrSÚ    test_isin$s  ÿ 
 
zTestArraySetOps.test_isincCsÌtdddddgdddddgd}tdddd    ddgddddddgd}t||ƒ}t|d
d
d
d d
gƒtdddddgdddddgd}tdddgdddgd}t||ƒ}t|d
d
d d
d
gƒtgtggƒƒdS) Nr;r8r{rdrÎrr‡rvr¢TF)r    r#rrr´rRrRrSÚ    test_in1d9s $
 
zTestArraySetOps.test_in1dcCsÔtdddddgdddddgd}tdddd    ddgddddddgd}tt t||ƒ¡t||d
d ƒtdddddgdddddgd}tdddgdddgd}tt t||ƒ¡t||d
d ƒtgtggd
d ƒdS) Nr;r8r{rdrÎrr‡rvr¢T)Úinvert)r    rrMr¹r#rrrRrRrSÚtest_in1d_invertGs $   z TestArraySetOps.test_in1d_invertc        Cstddddddgddddddgd}tdddd    ddgddddddgd}t||ƒ}tdddd    dddgdddddddgd}t||ƒtdddgdd    dggdddgdddggd}tddddd    gdddddgd}tddddd    dgddddddgd}t||ƒ}t||ƒtgtggƒƒdS)
Nr;r8r{rdrÎrr‡rvr¢)r    r!rr)    rNr>r?rOrPr›rœZezrŸrRrRrSÚ test_union1dSs$$
(
, $
 
zTestArraySetOps.test_union1dc
Csºtddddddddgddddddddgd}tddd    d    dddgƒ}t||ƒ}t|tddd
gdddgdƒtd ƒ}td ƒ}tt||ƒtd d gƒƒtgtjgd}tt|gƒjtjƒdS)Nrsr{r¢rdr;r8rr‡rvrÎrartru)r    r rr
rMZuint32r:r´rRrRrSÚtest_setdiff1des,
zTestArraySetOps.test_setdiff1dcCs<t dddg¡}t dddg¡}tt||ƒt dg¡ƒdS)Nr>r?rUro)rMr    rr rrRrRrSÚtest_setdiff1d_char_arrayrsz)TestArraySetOps.test_setdiff1d_char_arrayN)rr€rr¥r§r¨r©r­r¯r±r²r³rµr·r¸rºr»r¼r½rRrRrRrSr£‘s           r£c@seZdZdd„Zdd„ZdS)Ú TestShapeBasecCsrtdddgdddgd}t|ƒ}t|jdƒt|jj|jjƒt|jdƒt|jj|jjƒt|jj|jjƒdS)Nrr;r8r‡rera)r rrrr=rhrrRrRrSÚtest_atleast_2d{s  zTestShapeBase.test_atleast_2dcCsˆtdƒ}t|jdƒt|jj|jƒt|jj|jƒtddƒ}|D]0}t|jdƒt|jj|jƒt|jj|jƒqBtdƒ}t|jdƒt|jj|jƒt|jj|jƒtddƒ}|D]0}t|jdƒt|jj|jƒt|jj|jƒq¶tdƒ}t|jdƒt|jj|jƒt|jj|jƒtddƒ}|D]2}t|jdƒt|jj|jƒt|jj|jƒq*tdƒ}t|jdƒt|jj|jjƒdS)Nr„rVr…rErÙ)rrrr=rhrrr2)rNr?r>rRrRrSÚtest_shape_scalar…s< 
 
 
  zTestShapeBase.test_shape_scalarN)rr€rr¿rÀrRrRrRrSr¾ys
r¾c@s$eZdZdd„Zdd„Zdd„ZdS)ÚTestNDEnumeratecCs‚t d¡ d¡}tj|td}t||d}ttt |¡ƒtt|ƒƒƒttt|ƒƒtt|ƒƒƒttt|ƒƒtt|ddƒƒdS)Nr¹)r;rvr8r9r‡F©rj)    rMr
rZ
zeros_liker}r rrr3)rNZordinaryZ
empty_maskZ    with_maskrRrRrSÚtest_ndenumerate_nomasked²s 
ÿ 
ÿ ÿz)TestNDEnumerate.test_ndenumerate_nomaskedcCsªtdƒ}tdƒ}tdƒ}ttt|ƒƒgƒttt|ƒƒgƒttt|ddƒttt d¡dtgƒƒƒttt|ƒƒgƒttt|ddƒttt d¡dtgƒƒƒdS)NrR)édr¶FrÂrÄrÍ)r/rrr3r˜rMZndindexr )rNr>r?rUrRrRrSÚtest_ndenumerate_allmasked½sÿÿz*TestNDEnumerate.test_ndenumerate_allmaskedcCsštt d¡ d¡ddddgddddgddddggd}dddd    d
g}ttt|ƒƒ|ƒtttt|d d ƒƒ|jƒt|d d D]\}}t|||ƒq~dS) NrÚr_r;rr‡)rrs))r8rrt)r`ru)rFra)rdr³FrÂ)    r rMr
rrrr3r\r|)rNr>ÚitemsZ
coordinateÚvaluerRrRrSÚtest_ndenumerate_mixedmaskedÉs 
 
 
þÿÿz,TestNDEnumerate.test_ndenumerate_mixedmaskedN)rr€rrÃrÅrÈrRrRrRrSrÁ°s  rÁc@s$eZdZdd„Zdd„Zdd„ZdS)Ú    TestStackcCsìtdddgdddgd}tdddgdddgd}t||gdd}t|jd    ƒt|j|djƒt|j|djƒt||gƒ}t|j|jƒt|j|jƒt||gdd}t|jd
ƒt|j|dd…dfjƒt|j|dd…dfjƒdS) Nrr;r8r‡rurtrdrˆrd©rvr8©r r4rrrr=r5rh©rNr>r?rUrÄrRrRrSÚ test_stack_1dØs   zTestStack.test_stack_1dcCsàtdddgdd}tdddgd    d}t||gdd
}t|jd ƒt|j|djƒt|j|djƒt||gƒ}t|j|jƒt|j|jƒt||gdd
}t|jd ƒt|j|dd…dfjƒt|j|dd…dfjƒdS) Nrr;r8Tr‡rurtrdFrˆrdrÊrËrÌrRrRrSÚtest_stack_masksês   zTestStack.test_stack_masksc
Csôd}tj dd|¡}tj dd|¡}tj dd|¡ t¡}tj dd|¡ t¡}t||d}t||d}t||gdd}d|}    t|j|    ƒt    |j
|dj
ƒt    |j
|dj
ƒt||gd    d}|d}    t|j|    ƒt    |j
|d
j
ƒt    |j
|d j
ƒd }tj dd|¡}tj dd|¡}tj dd|¡ t¡}tj dd|¡ t¡}t||d}t||d}t||gdd}d|}    t|j|    ƒt    |j
|dj
ƒt    |j
|dj
ƒt||gd    d}|d}    t|j|    ƒt    |j
|d
j
ƒt    |j
|d j
ƒdS) NrÊrrar8r‡rˆr7r;rÎ).r).r;)rvr8r¢r{) rMrÇÚrandintrr}r r4rrrr=)
rNZshpÚd1Zd2rržZa1rrUZc_shprRrRrSÚ test_stack_ndüsD        zTestStack.test_stack_ndN)rr€rrÍrÎrÑrRrRrRrSrÉÖsrÉ)NÚ__doc__rsr6r¾ÚnumpyrMZnumpy.core.numericrZ numpy.testingrrZnumpy.ma.testutilsrrrrZ numpy.ma.corer    r
r r r rrrrrrZnumpy.ma.extrasrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r‚rÁrËr×rr&r*rxr‰r”r£r¾rÁrÉrRrRrRrSÚ<module>s@ 4
O,F  Ck:i7&